From c5d84d1a3ab85b1f314ff62717a7af3c6b75c7af Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 3 Feb 2019 22:45:55 +0000 Subject: metauml (3feb19) git-svn-id: svn://tug.org/texlive/trunk@49923 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/metapost/metauml/README | 16 +- .../doc/metapost/metauml/manual/fig/activity.mp | 52 + .../metauml/manual/fig/activity_diagrams.mp | 59 + .../doc/metapost/metauml/manual/fig/appetizer.mp | 203 + .../metapost/metauml/manual/fig/boxes_vs_util.mp | 92 + .../doc/metapost/metauml/manual/fig/class.mp | 134 + .../metauml/manual/fig/class_association.mp | 72 + .../metauml/manual/fig/class_customization.mp | 94 + .../metauml/manual/fig/class_customization2.mp | 31 + .../metapost/metauml/manual/fig/class_diagrams.mp | 212 + .../metapost/metauml/manual/fig/class_templates.mp | 29 + .../doc/metapost/metauml/manual/fig/component.mp | 61 + .../doc/metapost/metauml/manual/fig/group.mp | 51 + .../metapost/metauml/manual/fig/how-links-work.mp | 38 + .../doc/metapost/metauml/manual/fig/instance.mp | 9 + .../doc/metapost/metauml/manual/fig/mptextmp.mp | 1 + .../doc/metapost/metauml/manual/fig/note.mp | 74 + .../metapost/metauml/manual/fig/object_stack.mp | 46 + .../doc/metapost/metauml/manual/fig/package.mp | 93 + .../doc/metapost/metauml/manual/fig/paths.mp | 132 + .../doc/metapost/metauml/manual/fig/paths_man.mp | 143 + .../metapost/metauml/manual/fig/picture_info.mp | 86 + .../metapost/metauml/manual/fig/picture_stack.mp | 44 + .../doc/metapost/metauml/manual/fig/positioning.mp | 139 + .../doc/metapost/metauml/manual/fig/properties.mp | 58 + .../doc/metapost/metauml/manual/fig/state.mp | 55 + .../metauml/manual/fig/statemachine_diagrams.mp | 78 + .../metapost/metauml/manual/fig/test_activity.mp | 46 + .../doc/metapost/metauml/manual/fig/test_class.mp | 156 + .../metauml/manual/fig/test_class_feature_types.mp | 53 + .../metauml/manual/fig/test_class_qual_assoc.mp | 53 + .../metauml/manual/fig/test_class_templates.mp | 62 + .../metapost/metauml/manual/fig/test_component.mp | 30 + .../doc/metapost/metauml/manual/fig/test_font.mp | 81 + .../doc/metapost/metauml/manual/fig/test_group.mp | 60 + .../metapost/metauml/manual/fig/test_instance.mp | 35 + .../metauml/manual/fig/test_lars_issues.mp | 94 + .../metapost/metauml/manual/fig/test_lowlevel.mp | 66 + .../doc/metapost/metauml/manual/fig/test_note.mp | 39 + .../metapost/metauml/manual/fig/test_package.mp | 54 + .../doc/metapost/metauml/manual/fig/test_paths.mp | 100 + .../metapost/metauml/manual/fig/test_picture.mp | 273 + .../metauml/manual/fig/test_picture_stack.mp | 130 + .../manual/fig/test_picture_tex_rendering.mp | 43 + .../metauml/manual/fig/test_positioning.mp | 195 + .../doc/metapost/metauml/manual/fig/test_skins.mp | 26 + .../manual/fig/test_skins_global_defaults.mp | 29 + .../doc/metapost/metauml/manual/fig/test_state.mp | 73 + .../metapost/metauml/manual/fig/test_usecase.mp | 185 + .../doc/metapost/metauml/manual/fig/usecase.mp | 43 + .../metauml/manual/fig/usecase_diagrams.mp | 48 + .../doc/metapost/metauml/manual/metauml-manual.bib | 64 + .../doc/metapost/metauml/manual/metauml-manual.tex | 2072 +++++++ .../doc/metapost/metauml/manual/test-suite.tex | 82 + ....6-19d34de3da75cbd9f814f0a9ec03b4e0861b1541.pdf | Bin 0 -> 413691 bytes .../metauml/metauml_manual/fig/activity.mp | 52 - .../metauml_manual/fig/activity_diagrams.mp | 59 - .../metauml/metauml_manual/fig/appetizer.mp | 203 - .../metauml/metauml_manual/fig/boxes_vs_util.mp | 92 - .../metapost/metauml/metauml_manual/fig/class.mp | 119 - .../metauml_manual/fig/class_association.mp | 72 - .../metauml_manual/fig/class_customization.mp | 188 - .../metauml_manual/fig/class_customization2.mp | 31 - .../metauml/metauml_manual/fig/class_diagrams.mp | 212 - .../metauml/metauml_manual/fig/class_templates.mp | 45 - .../metauml/metauml_manual/fig/cliparts.mp | 73 - .../metauml/metauml_manual/fig/component.mp | 61 - .../metapost/metauml/metauml_manual/fig/group.mp | 51 - .../metauml/metauml_manual/fig/how-links-work.mp | 38 - .../metauml/metauml_manual/fig/instance.mp | 9 - .../metauml/metauml_manual/fig/mptextmp.mp | 1 - .../metauml/metauml_manual/fig/mptrace.tmp | 37 - .../metapost/metauml/metauml_manual/fig/note.mp | 74 - .../metauml/metauml_manual/fig/object_stack.mp | 46 - .../metapost/metauml/metauml_manual/fig/package.mp | 93 - .../metapost/metauml/metauml_manual/fig/paths.mp | 132 - .../metauml/metauml_manual/fig/paths_man.mp | 143 - .../metauml/metauml_manual/fig/picture_info.mp | 86 - .../metauml/metauml_manual/fig/picture_stack.mp | 44 - .../metauml/metauml_manual/fig/positioning.mp | 139 - .../metauml/metauml_manual/fig/properties.mp | 58 - .../metapost/metauml/metauml_manual/fig/state.mp | 55 - .../metauml_manual/fig/statemachine_diagrams.mp | 78 - .../metauml/metauml_manual/fig/test_activity.mp | 46 - .../metauml/metauml_manual/fig/test_class.mp | 145 - .../metauml_manual/fig/test_class_qual_assoc.mp | 53 - .../metauml_manual/fig/test_class_templates.mp | 62 - .../metauml/metauml_manual/fig/test_component.mp | 45 - .../metauml/metauml_manual/fig/test_font.mp | 91 - .../metauml/metauml_manual/fig/test_group.mp | 60 - .../metauml/metauml_manual/fig/test_instance.mp | 35 - .../metauml/metauml_manual/fig/test_lars_issues.mp | 94 - .../metauml/metauml_manual/fig/test_lowlevel.mp | 66 - .../metauml/metauml_manual/fig/test_note.mp | 39 - .../metauml/metauml_manual/fig/test_package.mp | 54 - .../metauml/metauml_manual/fig/test_paths.mp | 100 - .../metauml/metauml_manual/fig/test_picture.mp | 270 - .../metauml_manual/fig/test_picture_stack.mp | 70 - .../fig/test_picture_tex_rendering.mp | 43 - .../metauml/metauml_manual/fig/test_positioning.mp | 195 - .../metauml/metauml_manual/fig/test_skins.mp | 26 - .../fig/test_skins_global_defaults.mp | 29 - .../metauml/metauml_manual/fig/test_state.mp | 73 - .../metauml/metauml_manual/fig/test_usecase.mp | 197 - .../metapost/metauml/metauml_manual/fig/usecase.mp | 43 - .../metauml/metauml_manual/fig/usecase_diagrams.mp | 48 - .../metapost/metauml/metauml_manual/gnu-fdl.tex | 485 -- .../doc/metapost/metauml/metauml_manual/macro.tex | 11 - .../metauml/metauml_manual/metauml_manual.tex | 2084 ------- .../doc/metapost/metauml/metauml_manual/my-bib.bib | 13 - .../doc/metapost/metauml/metauml_manual/test.mp | 9 - .../metapost/metauml/metauml_manual/test_suite.tex | 86 - .../doc/metapost/metauml/metauml_manual_0.2.5.pdf | 5884 -------------------- Master/texmf-dist/metapost/metauml/metauml.mp | 19 +- .../metapost/metauml/metauml_activity.mp | 22 +- Master/texmf-dist/metapost/metauml/metauml_base.mp | 18 +- .../metapost/metauml/metauml_behavioral_common.mp | 22 +- .../texmf-dist/metapost/metauml/metauml_class.mp | 412 +- .../metapost/metauml/metauml_class_assoc.mp | 18 +- .../metapost/metauml/metauml_class_clipart.mp | 163 - .../metapost/metauml/metauml_class_relations.mp | 18 +- .../metapost/metauml/metauml_component.mp | 22 +- .../metauml/metauml_component_relations.mp | 18 +- .../metapost/metauml/metauml_defaults.mp | 18 +- .../metapost/metauml/metauml_instance.mp | 22 +- .../texmf-dist/metapost/metauml/metauml_links.mp | 18 +- Master/texmf-dist/metapost/metauml/metauml_note.mp | 22 +- .../texmf-dist/metapost/metauml/metauml_package.mp | 22 +- .../metapost/metauml/metauml_package_relations.mp | 18 +- .../texmf-dist/metapost/metauml/metauml_paths.mp | 18 +- .../metapost/metauml/metauml_skin_simple.mp | 18 +- .../texmf-dist/metapost/metauml/metauml_state.mp | 22 +- .../metapost/metauml/metauml_stereotype.mp | 18 +- .../metapost/metauml/metauml_templates.mp | 22 +- .../texmf-dist/metapost/metauml/metauml_usecase.mp | 26 +- .../metapost/metauml/metauml_usecase_clipart.mp | 22 +- Master/texmf-dist/metapost/metauml/util_commons.mp | 22 +- Master/texmf-dist/metapost/metauml/util_group.mp | 82 +- .../metapost/metauml/util_infrastructure.mp | 18 +- Master/texmf-dist/metapost/metauml/util_log.mp | 20 +- Master/texmf-dist/metapost/metauml/util_margins.mp | 18 +- Master/texmf-dist/metapost/metauml/util_object.mp | 62 +- Master/texmf-dist/metapost/metauml/util_picture.mp | 53 +- .../metapost/metauml/util_picture_stack.mp | 62 +- .../metapost/metauml/util_positioning.mp | 20 +- Master/texmf-dist/metapost/metauml/util_shade.mp | 18 +- 146 files changed, 6754 insertions(+), 13660 deletions(-) create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/activity.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/activity_diagrams.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/appetizer.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/boxes_vs_util.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/class.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/class_association.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/class_customization.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/class_customization2.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/class_diagrams.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/class_templates.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/component.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/group.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/how-links-work.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/instance.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/mptextmp.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/note.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/object_stack.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/package.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/paths.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/paths_man.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/picture_info.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/picture_stack.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/positioning.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/properties.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/state.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/statemachine_diagrams.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_activity.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_feature_types.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_qual_assoc.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_templates.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_component.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_font.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_group.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_instance.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_lars_issues.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_lowlevel.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_note.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_package.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_paths.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture_stack.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture_tex_rendering.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_positioning.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_skins.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_skins_global_defaults.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_state.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/test_usecase.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/usecase.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/fig/usecase_diagrams.mp create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/metauml-manual.bib create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/metauml-manual.tex create mode 100644 Master/texmf-dist/doc/metapost/metauml/manual/test-suite.tex create mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml-manual-v0.2.6-19d34de3da75cbd9f814f0a9ec03b4e0861b1541.pdf delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/activity.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/activity_diagrams.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/appetizer.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/boxes_vs_util.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_association.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_customization.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_customization2.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_diagrams.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_templates.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/cliparts.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/component.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/group.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/how-links-work.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/instance.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/mptextmp.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/mptrace.tmp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/note.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/object_stack.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/package.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/paths.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/paths_man.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/picture_info.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/picture_stack.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/positioning.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/properties.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/state.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/statemachine_diagrams.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_activity.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class_qual_assoc.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class_templates.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_component.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_font.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_group.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_instance.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_lars_issues.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_lowlevel.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_note.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_package.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_paths.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture_stack.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture_tex_rendering.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_positioning.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_skins.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_skins_global_defaults.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_state.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_usecase.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/usecase.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/usecase_diagrams.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/gnu-fdl.tex delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/macro.tex delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/metauml_manual.tex delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/my-bib.bib delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/test.mp delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual/test_suite.tex delete mode 100644 Master/texmf-dist/doc/metapost/metauml/metauml_manual_0.2.5.pdf delete mode 100644 Master/texmf-dist/metapost/metauml/metauml_class_clipart.mp (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/metapost/metauml/README b/Master/texmf-dist/doc/metapost/metauml/README index 100643b3dd4..f6465043372 100644 --- a/Master/texmf-dist/doc/metapost/metauml/README +++ b/Master/texmf-dist/doc/metapost/metauml/README @@ -1,12 +1,11 @@ -MetaUML, human-friendly UML textual notation for LaTeX/MetaPost -http://metauml.sourceforge.net +MetaUML https://github.com/ogheorghies/MetaUML -Version: 0.2.5 +Version: 0.2.6 Author : Ovidiu Gheorghies -Date : July 30, 2010 +Date : February 02, 2019 -MetaUML is a GNU GPL MetaPost library for typesetting UML diagrams. -It offers (partial) support for: +MetaUML is a MetaPost library for creating UML diagrams using a textual notation. +It offers partial support for: - class diagrams - package diagrams - activity diagrams @@ -16,6 +15,5 @@ It offers (partial) support for: This release contains the following directories: doc : PDF documentation -examples : source code for the documentation (GNU FDL) -inputs : the macros needed to typeset in MetaUML (GNU GPL) - +examples : source code for the documentation +inputs : the macros needed to use MetaUML \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/activity.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/activity.mp new file mode 100644 index 00000000000..676d1996eb1 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/activity.mp @@ -0,0 +1,52 @@ +% Sample MetaUML figures. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + + +input metauml; + +beginfig(1); + Begin.b; + End.e; + FlowFinal.f; + + leftToRight(20)(b, e, f); + + drawObjects(b, e, f); +endfig; + +beginfig(2); + Activity.A("Learn MetaUML -", + "the MetaPost UML library"); + drawObject(A); +endfig; + +beginfig(3); + Fork.forkA("h", 50); + Fork.forkB("v", 20); + + leftToRight(10)(forkA, forkB); + + drawObjects(forkA, forkB); +endfig; + +beginfig(4); + Branch.testA; + + drawObject(testA); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/activity_diagrams.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/activity_diagrams.mp new file mode 100644 index 00000000000..0807619acd9 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/activity_diagrams.mp @@ -0,0 +1,59 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +% for f in `find . | grep '.*\.[1-9]'`; do echo $f; done + +input metauml; + +beginfig(1); + Begin.b; + Activity.eat("Eat something good", "from the kitchen"); + Branch.enough; + Fork.fork("h", 50); + Activity.read("Read a book"); + Activity.listen("Listen to music", "(and ignore it)"); + Fork.join("h", 50); + End.e; + + eat.n = b.s + (0,-20); + enough.n = eat.s + (0,-20); + fork.n = enough.s + (0, -20); + + read.top = listen.top = fork.bottom - 30; + listen.left - read.right = 10; + b.midx = .5[listen.left, read.right]; + + join.n = (b.midx, listen.bottom - 20); + e.n = join.s + (0, -20); + + drawObjects(b, eat, enough, fork, read, listen, join, e); + + clink(transition)(b, eat); + clink(transition)(eat, enough); + link(transition)(pathStepX(enough.w, eat.w, -80)); + clink(transition)(enough, fork); + clink(transition)(fork, read); + clink(transition)(fork, listen); + clink(transition)(read, join); + clink(transition)(listen, join); + clink(transition)(join, e); + + item(iGuard)("still hungry")(obj.se = enough.w + (-20, 0)); + item(iGuard)("had enough")(obj.nw = enough.s + (0, -4)); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/appetizer.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/appetizer.mp new file mode 100644 index 00000000000..ed90dc77dc1 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/appetizer.mp @@ -0,0 +1,203 @@ +% Sample MetaUML figures. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + Class.Client("Client")()(); + + Class._Component("Component")()(); + %("+Operation()", "+Add(Component)", "+Remove(Component)", "+GetChild(int)"); + classStereotype._Component("<>"); + + Class.Leaf("Leaf")()("+Operation()"); + + Class.Composite("Composite")()(); + %("+Operation()", "+Add(Component)", "+Remove(Component)", "+GetChild(int)"); + + leftToRight.top(30)(Client, _Component); + leftToRight.top(20)(Leaf, Composite); + .5[Leaf.ne, Composite.nw] = below(_Component.s, 45); + + drawObjects(Client, _Component, Leaf, Composite); + + link(associationUni)(pathHorizontal(Client.e, _Component.left)); + link(inheritance)(pathStepY(Leaf.n, _Component.s, 20)); + link(inheritance)(pathStepY(Composite.n, _Component.s, 20)); + + link(aggregationUni)(pathStepX(_Component.e, Composite.e, 55)); +endfig; + +beginfig(2); + Begin.b; + Activity.eat("Eat something good", "from the kitchen"); + Branch.enough; + Fork.fork("h", 50); + Activity.read("Read a book"); + Activity.listen("Listen to music", "(and ignore it)"); + Fork.join("h", 50); + End.e; + + leftToRight.top(10)(read, listen); + Group.readListen(read, listen); + + leftToRight(30)(b, eat); + topToBottom(20)(eat, enough, fork, readListen, join, e); + + drawObjects(b, eat, enough, fork, readListen, join, e); + + clink(transition)(b, eat); + clink(transition)(eat, enough); + link(transition)(pathStepX(enough.e, eat.e, 80)); + clink(transition)(enough, fork); + clink(transition)(fork, read); + clink(transition)(fork, listen); + clink(transition)(read, join); + clink(transition)(listen, join); + clink(transition)(join, e); + + item(iGuard)("still hungry")(obj.sw = enough.e + (20, 0)); + item(iGuard)("had enough")(obj.nw = enough.s + (0, -4)); +endfig; + +beginfig(3); + Actor.user("User"); + Actor.db("Database"); + + Usecase.dbquery("Query database"); + Usecase.auth("Authenticate user"); + Usecase.authA("Authenticate by", "username, password"); + Usecase.authB("Authenticate by", "smartcard"); + + leftToRight(30)(user.human, auth, dbquery, db.human); + leftToRight.top(30)(authA, authB); + .5[authA.ne, authB.nw] = below(auth.s, 20); + + drawObjects(user, auth, dbquery, db, authA, authB); + + clink(inheritance)(authA, auth); + clink(inheritance)(authB, auth); + clink(association)(auth, dbquery); + clink(association)(user.human, auth); + clink(association)(dbquery, db.human); +endfig; + +beginfig(4); + save b, e, reading, processing, composite, exit, error, result, theEnd; + + Begin.b; + State.reading("Reading commands")(); + State.processing("Processing commands")(); + End.e; + + State.composite("Working")(b, reading, processing, e); + composite.info.left := composite.info.right := 10; + composite.info.drawNameLine := 1; + + topToBottom(20)(b, reading, processing, e); + drawObject(composite); + + clink(transition)(b, reading); + clink(transition)(reading, processing); + clink(transition)(processing, e); + + ExitPoint.exit; + exit.c=(composite.right, reading.midy); + drawObject(exit); + item(iAssoc)("error")(obj.nw = exit.s); + + clink(transition)(reading, exit); + + State.error("Preparing error report")(); + State.result("Writing result")(); + End.theEnd; + + topToBottom(20)(error, result, theEnd); + leftToRight(30)(exit, error); + + drawObjects(error, result, theEnd); + + clink(transition)(exit, error); + clink(transition)(error, result); + clink(transition)(result, theEnd); + + link(transition)(rpathHorizontal(result.w, composite.right)); +endfig; + + +beginfig(5); + save A, B; + + Note.A("An important", "UML note"); + Note.B("Another note"); + + leftToRight(20)(A, B); + drawObjects(A, B); + + clink(dashedLink)(A, B); +endfig; + +beginfig(6); + Class.A("A")()(); + Class.B("B")()(); + + Package.pA("net.foo")(); + Package.pB("net.foo.bar")(A, B); + + leftToRight(20)(A, B); + leftToRight(50)(pA, pB); + + drawObjects(A, B, pA, pB); + + clink(nest)(pB, pA); +endfig; + +beginfig(7); + save A; + + Class.A("MyClass") + ("attr1: int", "attr2: int") + ("method1(): void", + "method2(): void"); + + A.nw = (0, 0); % optional, implied + drawObject(A); +endfig; + +beginfig(8); + save A, B; + Class.A("A")()(); + Class.B("B")()(); + + A.nw = (0,0); + B.w = A.e + (20, 0); + + drawObjects(A, B); +endfig; + +beginfig(9); + save A, B; + + Class.A("A")()(); + Class.B("B")()(); + B.w = A.e + (20, 0); + drawObjects(A, B); + link(inheritance)(B.w -- A.e); +endfig; +end + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/boxes_vs_util.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/boxes_vs_util.mp new file mode 100644 index 00000000000..985c9bb158b --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/boxes_vs_util.mp @@ -0,0 +1,92 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input boxes; +input util_commons; +input util_object; +input util_picture; + +beginfig(1); + boxit.a ("yummy"); + boxit.b ("cool"); + + a.nw = (0,0); + b.sw = a.se + (10,0); + + drawboxed (a, b); + draw a.sw -- b.se dashed evenly withpen pencircle scaled 1.1; + + boxit.c ("yummy"); + boxit.d ("cool"); + + c.nw = (0,-20); + d.sw = c.se + (10,0); + + drawunboxed (c, d); + draw c.sw -- d.se dashed evenly withpen pencircle scaled 1.1; +endfig; + +beginfig(2); + save a, b, c, d; + + Picture.a("yummy"); + Picture.b("cool"); + a.info.boxed := b.info.boxed := 1; + + a.nw = (0,0); + b.sw = a.se + (10,0); + + drawObjects(a, b); + draw a.sw -- b.se dashed evenly withpen pencircle scaled 1.1; + + Picture.c("yummy"); + Picture.d("cool"); + + c.nw = (0,-20); + d.sw = c.se + (10,0); + + drawObjects(c, d); + draw c.sw -- d.se dashed evenly withpen pencircle scaled 1.1; +endfig; + +beginfig(3); + save a, b, c, d; + + iPict.ignoreNegativeBase := 1; + + Picture.a("yummy"); + Picture.b("cool"); + a.info.boxed := b.info.boxed := 1; + + a.nw = (0,0); + b.sw = a.se + (10,0); + + drawObjects(a, b); + draw a.sw -- b.se dashed evenly withpen pencircle scaled 1.1; + + Picture.c("yummy"); + Picture.d("cool"); + + c.nw = (0,-20); + d.sw = c.se + (10,0); + + drawObjects(c, d); + draw c.sw -- d.se dashed evenly withpen pencircle scaled 1.1; +endfig; + + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/class.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class.mp new file mode 100644 index 00000000000..e5d03d3d43d --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class.mp @@ -0,0 +1,134 @@ +% Sample MetaUML figures. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + + +input metauml; + +beginfig(1); + Class.A("Point") + ("#x:int", + "#y:int") + ("+set(x:int, y:int)", + "+getX():int", + "+getY():int", + "-debug():void", + "test():void"); + drawObject(A); +endfig; + +beginfig(2); + save A, T; + + Class.A("User")()(); + Class_stereotypes.A("<>", "<>"); + + drawObject(A); +endfig; + +beginfig(3); + save A, T; + + Class.A("Vector")()(); + ClassTemplate.T("T", "size: int")(A); + + drawObjects(A, T); +endfig; + +beginfig(4); + link(association)( (0,0) -- (50,0) ); +endfig; + +beginfig(5); + link(associationUni)( (0,0) -- (50,0) ); +endfig; + +beginfig(6); + link(inheritance)( (0,0) -- (50,0) ); +endfig; + +beginfig(7); + link(aggregation)( (0,0) -- (50,0) ); +endfig; + +beginfig(8); + link(aggregationUni)( (0,0) -- (50,0) ); +endfig; + +beginfig(9); + link(composition)( (0,0) -- (50,0) ); +endfig; + +beginfig(10); + link(compositionUni)( (0,0) -- (50,0) ); +endfig; + +beginfig(11); + save A; + Interface.A("Observer") + ("+update(src:Object)"); + + drawObject(A); +endfig; + +beginfig(12); + save A; + EClass.A(iAbstractClass)("Observable") + ("observers: Observer[0..*]") + ("+addObserver(o: Observer)", + "+notify()"); + + drawObject(A); +endfig; + +beginfig(13) + save A; + + Class.A("MyModel")()(); + A.info.iName.top := 10; + A.info.iName.bottom := 10; + A.info.iAttributeStack.top := 0; + A.info.iAttributeStack.bottom := 0; + A.info.iMethodStack.top := 0; + A.info.iMethodStack.bottom := 0; + + drawObject(A); +endfig; + +beginfig(14) + save A, B; + + EClass.A(iClassNameOnly)("MyModel")()(); + ClassName.B("AnotherModel"); + classStereotypes.B("<>"); + + topToBottom(20)(A, B); + + drawObjects(A, B); +endfig; + +beginfig(15); + save A; + + Class.A("Point") + ("#x:int", "#y:int") + ("+toString():String"); + Class_noVisibilityMarkers.A; + + drawObject(A); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_association.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_association.mp new file mode 100644 index 00000000000..2ff5037a8c8 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_association.mp @@ -0,0 +1,72 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + save P,B; + + Class.P("Person")()(); + Class.B("Bank")()(); + + P.nw = (0,0); + B.w = P.e + (50,0); + + drawObjects(P, B); + + drawRelation(association)(P.e -- B.w); + + item.assocName(iAssoc)("works for")(assocName.s = .5[P.e,B.w]); + + draw assocName.n -- (assocName.n + (20,20)); + label.urt("association name" infont "tyxtt", assocName.n + (20,20)); +endfig; + +beginfig(2); + save P,C; + + Class.P("Person")()(); + Class.C("Company")()(); + + C.n = P.s + (0, -70); + drawObjects(P, C); + + link(association)(P.s -- C.n); + + item(iAssoc)("employee")(obj.nw = P.s); + item(iAssoc)("1..*")(obj.ne = P.s); + + item(iAssoc)("employer")(obj.sw = C.n); + item(iAssoc)("0..*")(obj.se = C.n); + + item(iAssoc)("works for")(obj.w = .5[P.s,C.n]); +endfig; + +beginfig(3); + save F, O; + + Class.F("Factory")()(); + Class.O("Object")()(); + + O.n = F.s - (0, 50); + drawObjects(F, O); + + clink(dependency)(F, O); + item(iStereo)("<>")(obj.w = .5[F.s,O.n]) +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_customization.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_customization.mp new file mode 100644 index 00000000000..980915ea00e --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_customization.mp @@ -0,0 +1,94 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + iClass.foreColor := (.9, .9, 0); + + Class.A("A")()(); + Class.B("B")()(); + Class.C("C")()(); + + B.w = A.e + (20,0); + C.n = .5[A.se, B.sw] + (0, -10); + + drawObjects(A, B, C); +endfig; + +beginfig(2); + save A, B, C; + iClass.foreColor := (.9, .9, 0); + + Class.A("A")()(); + Class.B("B")()(); + Class.C("C")()(); + C.info.foreColor := (.7, .7, .9); + C.info.borderColor := blue; + C.info.iName.iFont.scale := 2; + + B.w = A.e + (20,0); + C.n = .5[A.se, B.sw] + (0, -10); + + drawObjects(A, B, C); +endfig; + +beginfig(3); + ClassInfoCopy.iHome(iClass); + iHome.foreColor := (0, .9, .9); + + ClassInfo.iRemote; + iRemote.foreColor := (.9, .9, 0); + iRemote.borderColor := (0, 0, .9); + + save A, B, C, D; + + EClass.A(iHome)("UserHome")()(); + EClass.B(iRemote)("UserRemote")()(); + EClass.C(iHome)("CartHome")()(); + EClass.D(iRemote)("CartRemote")()(); + + + B.nw = A.ne + (20,0); + D.nw = C.ne + (20,0); + A.bottom - C.top = 10; + A.left = C.left; + + drawObjects(A, B, C, D); +endfig; + +beginfig(4); + iClass.foreColor := .9white; + save A; + + Class.A("Foo") + ("a: int", "b: int") + ("foo()", "bar()", "gar()"); + A.info.iName.iFont.name := metauml_defaultFontBold; + A.info.iName.iFont.scale := 1.2; + + A.info.iAttributeStack.iPict.iFont.scale := 0.8; + A.info.iAttributeStack.top := 10; + A.info.iAttributeStack.spacing := 11; + + A.info.iMethodStack.iPict.iFont.scale := 2; + A.info.iMethodStack.spacing := 17; + A.info.iMethodStack.bottom := 10; + drawObject(A); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_customization2.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_customization2.mp new file mode 100644 index 00000000000..be45e95240b --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_customization2.mp @@ -0,0 +1,31 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + save Test; + Class.Test("TestClass")("attribute1: int","attribute2: double") + ("oneLongMethod(): void", + "anotherLongMethod(): void"); + + Test.nw = (0,0); + Class_draw.Test; +endfig; + + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_diagrams.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_diagrams.mp new file mode 100644 index 00000000000..614cdbeca60 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_diagrams.mp @@ -0,0 +1,212 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + Class.Count("Count") + ("#n: int") + ("+increase(): void", + "+get(): int"); + + %Count.nw = (0,0); + drawObject(Count); + %Class_draw.Count; +endfig; + +beginfig(2); + Class.A("Point") + ("+x: int", + "+y: int") (); + + Class.B("Circle") + ("radius: int") + ("+getRadius(): int", + "+setRadius(r: int):void"); + + A.nw = (0,0); + B.n = A.s - (0,45); + Class_draw.A; + Class_draw.B; + + drawRelation(aggregationUni)(A.s -- B.n); +endfig; + +beginfig(3); + Class.Test("Test")("a1","a2","a3")("aLongMethod():void"); + + Test.nw = (0,0); + Class_draw.Test; + + dotlabel.ulft(btex nw etex, Test.nw); + dotlabel.top(btex n etex, Test.n); + dotlabel.urt(btex ne etex, Test.ne); + dotlabel.rt(btex e etex, Test.e); + dotlabel.lrt(btex se etex, Test.se); + dotlabel.bot(btex s etex, Test.s); + dotlabel.llft(btex sw etex, Test.sw); + dotlabel.lft(btex w etex, Test.w); + + dotlabel.lft(btex c etex, Test.c); + + draw Test.nw - (50,0) -- Test.ne + (10,0); + label.urt(btex top etex, Test.nw - (50,0)); + + draw Test.sw - (50,0) -- Test.se + (10,0); + label.lrt(btex bottom etex, Test.sw - (50,0)); + + draw Test.nw + (0,10) -- Test.sw - (0, 50); + label.bot(btex left etex, Test.sw - (0,50)); + + draw Test.ne + (0,10) -- Test.se - (0, 50); + label.bot(btex right etex, Test.se - (0,50)); + + drawarrow Test.nw - (25,0) -- Test.sw - (25,0); + label.lft(btex height etex, .5[Test.nw, Test.sw] - (25,0)); + + drawarrow Test.sw - (0,25) -- Test.se - (0,25); + label.bot(btex width etex, .5[Test.sw, Test.se] - (0,25)); +endfig; + +%newAssociationDescription.association; +%newAssociationUniDescription.associationUni; +%newInheritanceDescription.inheritance; +%newAggregationDescription.aggregation; +%newAggregationUniDescription.aggregationUni; +%newCompositionDescription.composition; +%newCompositionUniDescription.compositionUni; +%newDashedLinkDescription.dashedLink; +%newDependencyDescription.dependency; + +beginfig(4); + save X, Y; + Class.X("X")()(); + Class.Y("Y")()(); + + X.nw = (0,0); + Y.w = X.e + (50,0); + Class_draw.X; + Class_draw.Y; + + drawRelation(association)(X.e -- Y.w); +endfig; + +beginfig(5); + save X, Y; + Class.X("X")()(); + Class.Y("Y")()(); + + X.nw = (0,0); + Y.w = X.e + (50,0); + Class_draw.X; + Class_draw.Y; + + drawRelation(associationUni)(X.e -- Y.w); +endfig; + +beginfig(6); + save X, Y; + Class.X("X")()(); + Class.Y("Y")()(); + + X.nw = (0,0); + Y.w = X.e + (50,0); + Class_draw.X; + Class_draw.Y; + + drawRelation(inheritance)(X.e -- Y.w); +endfig; + +beginfig(7); + save X, Y; + Class.X("X")()(); + Class.Y("Y")()(); + + X.nw = (0,0); + Y.w = X.e + (50,0); + Class_draw.X; + Class_draw.Y; + + drawRelation(aggregation)(X.e -- Y.w); +endfig; + +beginfig(8); + save X, Y; + Class.X("X")()(); + Class.Y("Y")()(); + + X.nw = (0,0); + Y.w = X.e + (50,0); + Class_draw.X; + Class_draw.Y; + + drawRelation(aggregationUni)(X.e -- Y.w); +endfig; + +beginfig(9); + save X, Y; + Class.X("X")()(); + Class.Y("Y")()(); + + X.nw = (0,0); + Y.w = X.e + (50,0); + Class_draw.X; + Class_draw.Y; + + drawRelation(composition)(X.e -- Y.w); +endfig; + +beginfig(10); + save X, Y; + Class.X("X")()(); + Class.Y("Y")()(); + + X.nw = (0,0); + Y.w = X.e + (50,0); + Class_draw.X; + Class_draw.Y; + + drawRelation(compositionUni)(X.e -- Y.w); +endfig; + +beginfig(11); + save X, Y; + Class.X("X")()(); + Class.Y("Y")()(); + + X.nw = (0,0); + Y.w = X.e + (50,0); + Class_draw.X; + Class_draw.Y; + + drawRelation(dependency)(X.e -- Y.w); +endfig; + +beginfig(12); + save X, Y; + Class.X("X")()(); + Class.Y("Y")()(); + + X.nw = (0,0); + Y.w = X.e + (50,0); + Class_draw.X; + Class_draw.Y; + + drawRelation(realization)(X.e -- Y.w); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_templates.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_templates.mp new file mode 100644 index 00000000000..bf89f9d3cda --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/class_templates.mp @@ -0,0 +1,29 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + Class.V("Vector")("elements: T(n)")(); + Template.T("T", "n: int"); + Template_attachToClass.T(V); + + drawObjects(V); + drawObjects(T); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/component.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/component.mp new file mode 100644 index 00000000000..da46c9d3465 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/component.mp @@ -0,0 +1,61 @@ +input metauml; + +beginfig(1); + Component.C("Business Logic")(); + drawObject(C); +endfig; + +beginfig(2); + save A, B, C, BigC; + + Class.A("A")()(); + Package.B("B")(); + Component.C("C")(); + + Component.BigC("Big Component")(A, B, C); + + leftToRight(10)(A, B); + topToBottom(10)(A, C); + + drawObject(BigC); +endfig; + +beginfig(3); + save A, B; + Component.A("A")(); + Component.B("B")(); + + leftToRight(80)(A, B); + + drawObjects(A, B); + + link(providedInterface)( A.e -- .5[A.e, B.w] ); +endfig; + +beginfig(4); + save A, B; + Component.A("A")(); + Component.B("B")(); + + leftToRight(80)(A, B); + + drawObjects(A, B); + + link(requiredInterface)( B.w -- .5[A.e, B.w]); +endfig; + +beginfig(5); + save A, B; + Component.A("A")(); + Component.B("B")(); + + leftToRight(80)(A, B); + + drawObjects(A, B); + + link(providedInterface)( A.e -- .5[A.e, B.w] ); + link(requiredInterface)( B.w -- .5[A.e, B.w] ); +endfig; + + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/group.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/group.mp new file mode 100644 index 00000000000..0e25e58ea66 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/group.mp @@ -0,0 +1,51 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input boxes; +input util_commons; +input util_object; +input util_picture; +input util_margins; +input util_group; + +beginfig(1); + iGroup.left:=20; + iGroup.right:=15; + iGroup.boxed:=1; + iPict.boxed:=1; + + Picture.a("yummy"); + Picture.b("cool"); + Picture.c("fool"); + + a.nw = (0,0); + b.nw = (20,20); + c.nw = (15, 40); + + Group.g(a, b, c); + + drawObjects(g); +endfig; + +beginfig(2); +endfig; + +beginfig(3); +endfig; + + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/how-links-work.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/how-links-work.mp new file mode 100644 index 00000000000..c8d8500358d --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/how-links-work.mp @@ -0,0 +1,38 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + drawRelation(aggregationUni) + ((0,0)--(40,0)); +endfig; + + +beginfig(2); + path myPath; + myPath := (0,0) -- (100,0); + LinkStructure.ls(myPath, + aggregationUni.widthA, + aggregationUni.widthB); + + describeLinkStructure(ls); + drawLinkStructure(ls)(aggregationUni); +endfig; + +end + diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/instance.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/instance.mp new file mode 100644 index 00000000000..9417224306a --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/instance.mp @@ -0,0 +1,9 @@ +input metauml; + +beginfig(1); + Instance.order("o: Order") + ("name='book'", "{placed}", "{payed}"); + drawObject(order); +endfig; + +end \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/mptextmp.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/mptextmp.mp new file mode 100644 index 00000000000..3e16f83e564 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/mptextmp.mp @@ -0,0 +1 @@ +btex But this is insane: $\sum_1^3 f(x) \over x$! etex diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/note.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/note.mp new file mode 100644 index 00000000000..f04a5b5e4fe --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/note.mp @@ -0,0 +1,74 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; +input TEX; + +beginfig(1); + Note.A("This note", "has two lines."); + drawObject(A); +endfig; + +beginfig(2); + save A, C; + Note.A("This is a class"); + Class.C("Object")()(); + + A.sw = C.ne + (20, 20); + + drawObjects(A, C); + + clink(dashedLink)(A, C); +endfig; + +beginfig(3); + save C; + Note.nA("This is the class name"); + Note.nB("This is a key attribute"); + Note.nC("This is a nice method"); + + Class.C("Object")("+id:int") + ("+clone()", "+serialize()"); + + topToBottom.left(10)(nA, nB, nC); + leftToRight(10)(C, nB); + + drawObjects(C, nA, nB, nC); + + clink(dashedLink)(C.namePict, nA); + clink(dashedLink)(C.attributeStack.pict[0], nB); + clink(dashedLink)(C.methodStack.pict[1], nC); +endfig; + +beginfig(4); + save A; + Note.A("This class implements the formula:", + TEX("$\sum_1^n f(x)\cdot dx$")); + drawObjects(A); +endfig; + +beginfig(5); + save A; + Note.A("Can you do it?", + TEX("$\sum_1^n f(x) \cdot dx " & + "\over \sum_1^m g(y) \cdot dy$")); + A.stack.info.spacing := 30; + A.stack.pict[1].info.ignoreNegativeBase := 0; + drawObjects(A); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/object_stack.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/object_stack.mp new file mode 100644 index 00000000000..b9cd4d32b34 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/object_stack.mp @@ -0,0 +1,46 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input boxes; +input util_commons; +input util_object; +input util_picture; + + +beginfig(1); + iPict.ignoreNegativeBase := 1; + iPict.boxed := 1; + Picture.a0("yummy"); + Picture.a1("cool"); + Picture.a2("fool"); + + a0.nw = (0,0); + setObjectJoin(pa.sw = pb.nw); + + joinObjects(scantokens listArray(a)(3)); + drawObjects(scantokens listArray(a)(3)); + +endfig; + +beginfig(2); +endfig; + +beginfig(3); +endfig; + + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/package.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/package.mp new file mode 100644 index 00000000000..88653b5fee0 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/package.mp @@ -0,0 +1,93 @@ +input metauml; +input metauml_package; +input metauml_package_relations; + +beginfig(1); + Package.P("java.lang")(); + drawObject(P); +endfig; + +beginfig(2); + save P; + Package.P("An important", "package")(); + drawObject(P); +endfig; + +beginfig(3); + save P; + Package.P("java.lang")(); + P.info.forceEmptyContent := 1; + drawObject(P); +endfig; + +beginfig(4); + save P, A, B; + Class.A("A")()(); + Class.B("B")()(); + Package.P("net.metauml")(A, B); + + leftToRight(10)(A, B); + + drawObject(P); +endfig; + +beginfig(5); + Package.X("X")(); + Package.Y("Y")(); + + leftToRight(50)(X, Y); + drawObjects(X, Y); + + link(nest)(X.e -- Y.w); +endfig; + +beginfig(8); + Package.emptyPackage("")(); + + Package.nameOnlyPackage("java.sun.com")(); + + Class.oneClass("A class")()(); + Package.oneClassPackage("One class package")(oneClass); + + Instance.oneInstance("An instance")(); + State.oneState("A state")(); + Activity.oneActivity("An activity"); + Package.multiPackage("Multipackage")(oneInstance, oneState, oneActivity); + + Package.allPackage("This package contains them all")(emptyPackage, nameOnlyPackage, + oneClassPackage, multiPackage); + + nameOnlyPackage.nw = emptyPackage.ne + (30, 0); + oneClassPackage.ne = emptyPackage.s - (0, 50); + + multiPackage.top = oneClassPackage.top; + multiPackage.left = oneClassPackage.right + 20; + + centered_align_top(oneState, oneActivity)(10, below(oneInstance.s, 20)); + + drawObjects(allPackage); +endfig; + +beginfig(8); + Package.nameOnlyOnTopPackage("Name on top")(); + nameOnlyOnTopPackage.info.forceEmptyContent := 1; + Package.nameOnlyInMiddlePackage("By default name", "is in the middle")(); + + Class.cl("A class")("Attribute")("Method"); + Package.notEmptyPackage("Contains class")(cl); + + nameOnlyInMiddlePackage.n = nameOnlyOnTopPackage.s - (0, 40); + notEmptyPackage.w = nameOnlyInMiddlePackage.e + (80, 0); + drawObjects(nameOnlyOnTopPackage, nameOnlyInMiddlePackage, notEmptyPackage); + + %link(import)(pathStepX(notEmptyPackage.w, nameOnlyOnTopPackage.e, -30)); + %link(import)(pathVertical(nameOnlyInMiddlePackage.ne - (10, 0), nameOnlyOnTopPackage.bottom)); + %link(import)(notEmptyPackage.sw -- nameOnlyInMiddlePackage.ne); +endfig; + +beginfig(8); + link(nest)((10,10)--(30,30)); +endfig; + + +end \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/paths.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/paths.mp new file mode 100644 index 00000000000..06ca5761209 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/paths.mp @@ -0,0 +1,132 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + pair za, zb; + za = (10,10); + zb = (10,-5); + path cool; + cool := za .. za+(20,10) .. + zb+(20,-20) .. + zb+(-10,-30) -- zb; + link(aggregationUni)(cool); +endfig; + +beginfig(2); + save A, B; + Class.A("A")()(); + Class.B("B")()(); + + B.sw = A.ne + (10,10); + + drawObjects(A, B); + + link(aggregationUni) + (rpathManhattanX(A.e, B.s)); + link(inheritance) + (pathManhattanY(A.n, B.w)); +endfig; + +beginfig(3); + save A, B; + Class.A("A")()(); + Class.B("B")()(); + + B.sw = A.ne + (10,10); + + drawObjects(A, B); + + stepX:=60; + link(aggregationUni) + (pathStepX(A.e, B.e, stepX)); + + stepY:=20; + link(inheritance) + (pathStepY(B.n, A.n, stepY)); + + pair X,Y; + X := A.se + (0,-30); + Y := X + (stepX, 0); + draw A.se -- X dashed evenly; + draw (xpart Y, ypart A.e) -- Y dashed evenly; + drawdblarrow X + (0,15) -- Y + (0,15); + label.top(btex stepX etex, .5[X,Y]); + + pair X,Y; + X := B.n + (-70,-0); + Y := X + (0, stepY); + + draw B.n -- X dashed evenly; + draw B.n + (0,stepY) -- Y dashed evenly; + drawdblarrow X + (15,0) -- Y + (15,0); + label.lft(btex stepY etex, .5[X,Y]); +endfig; + +% horizontal, vertical +beginfig(4); + save A, B; + Class.A("A")()(); + Class.B("B")("b")(); + Class.C("C")("foo: int")(); + + B.sw = A.se + (30,5); + C.sw = A.nw + (0, 30); + + drawObjects(A, B, C); + + untilX := B.left; + drawRelation(association) + (pathHorizontal(A.e, untilX)); + + draw B.nw -- B.sw + (0,-10) dashed evenly; + label.bot(btex untilX etex, B.sw + (0,-10)); + + untilY:= C.bottom; + drawRelation(association)(pathVertical(A.n, untilY)); + + draw C.sw -- C.sw + (-20,0) dashed evenly; + label.lft(btex untilY etex, C.sw + (-20,-0)); + +endfig; + +beginfig(5); + save A,B; + Activity.A("A"); + Activity.B("B"); + + B.nw = A.ne + (40,30); + drawObjects(A,B); + + z = A.se + (30, -10); + link(transition)(pathCut(A, B) + (A.c -- z -- B.c)); +endfig; + +beginfig(6); + save A,B; + Class.A("A")()(); + Class.B("B")()(); + + B.nw = A.ne + (20,30); + drawObjects(A,B); + + clink(inheritance)(A, B); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/paths_man.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/paths_man.mp new file mode 100644 index 00000000000..a6c502f147b --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/paths_man.mp @@ -0,0 +1,143 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + save A, B; + Class.A("A")("foo:int")("bar()"); + Class.B("B")()(); + + A.nw = (0,0); + B.s = A.ne + (30,30); + + Class_draw.A; + Class_draw.B; + + drawRelation(aggregationUni) + (A.n ..(30,30)..B.w); + path cool; + cool := A.e .. A.e+(20,10) .. + B.s+(20,-40) .. B.s+(-10,-30) + -- B.s; + drawRelation(inheritance)(cool); +endfig; + +beginfig(2); + save A, B; + Class.A("A")()(); + Class.B("B")()(); + + A.nw = (0,0); + B.sw = A.ne + (10,10); + + Class_draw.A; + Class_draw.B; + + drawRelation(aggregationUni) + (pathManhattanX(A.e, B.s)); + drawRelation(inheritance) + (pathManhattanY(A.n, B.w)); +endfig; + +beginfig(3); + save A, B; + Class.A("A")()(); + Class.B("B")()(); + + A.nw = (0,0); + B.sw = A.ne + (10,10); + + Class_draw.A; + Class_draw.B; + + stepX:=60; + drawRelation(aggregationUni) + (pathStepX(A.e, B.e, stepX)); + + stepY:=20; + drawRelation(inheritance) + (pathStepY(B.n, A.n, stepY)); + + pair X,Y; + X := A.se + (0,-30); + Y := X + (stepX, 0); + draw A.se -- X dashed evenly; + draw (xpart Y, ypart A.e) -- Y dashed evenly; + drawdblarrow X + (0,15) -- Y + (0,15); + label.top(btex stepX etex, .5[X,Y]); + + pair X,Y; + X := B.n + (-70,-0); + Y := X + (0, stepY); + + draw B.n -- X dashed evenly; + draw B.n + (0,stepY) -- Y dashed evenly; + drawdblarrow X + (15,0) -- Y + (15,0); + label.lft(btex stepY etex, .5[X,Y]); +endfig; + +beginfig(4); + save A, B; + Class.A("A")()(); + Class.B("B")("a")(); + + A.nw = (0,0); + B.sw = A.se + (30,5); + + Class_draw.A; + Class_draw.B; + + untilX := B.left; + drawRelation(association) + (pathHorizontal(A.e, untilX)); + + draw B.nw -- B.sw + (0,-10) dashed evenly; + label.bot(btex untilX etex, B.sw + (0,-10)); +endfig; + +beginfig(5); + save A, B; + Class.A("A")()(); + Class.B("B")("a")("foo()"); + + A.nw = (0,0); + B.sw = A.ne + (-20,20); + + Class_draw.A; + Class_draw.B; + + untilY:= B.bottom; + drawRelation(association) + (pathVertical(A.n, untilY)); + + draw B.sw -- B.sw + (-20,0) dashed evenly; + label.lft(btex untilY etex, B.sw + (-20,-0)); +endfig; + +beginfig(6); + save A,B; + Class.A("A")()(); + Class.B("B")()(); + + B.nw = A.ne + (40,30); + drawObjects(A,B); + + link(inheritance)(pathCut(A,B)(A.c -- B.c)); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/picture_info.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/picture_info.mp new file mode 100644 index 00000000000..df3b10145f2 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/picture_info.mp @@ -0,0 +1,86 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input boxes; +input util_commons; +input util_object; +input util_picture; +input util_positioning; + +PictureInfoCopy.iBig(iPict); +iBig.left := iBig.right := 20; +iBig.top := 10; +iBig.bottom := 1; +iBig.boxed := 1; +iBig.ignoreNegativeBase := 1; +iBig.iFont.name := defaultfont; +iBig.iFont.scale := 3; + +PictureInfoCopy.iSmall(iPict); +iSmall.boxed := 1; +iSmall.borderColor := green; + +beginfig(1); + EPicture.a(iBig)("yummy"); + EPicture.b(iSmall)("cool"); +% you can still modify a.info +% and b.info if you wish. + + a.nw = (0,0); + b.nw = a.sw + (0,-10); + + drawObjects(a, b) +endfig; + +beginfig(2); + save a, b, c, myFixed; + PictureInfoCopy.myFixed(iPict); + myFixed.ignoreNegativeBase := 1; + myFixed.fixedWidth := 15; + myFixed.fixedHeight := 20; + myFixed.boxed := 1; + + EPicture.a(myFixed)("a"); + EPicture.b(myFixed)(".-."); + EPicture.c(myFixed)("toolong"); + + leftToRight.bottom(10)(a, b, c); + + drawObjects(a, b, c); +endfig; + +beginfig(3); + save a, b, c, myFixed; + PictureInfoCopy.myFixed(iPict); + myFixed.ignoreNegativeBase := 1; + myFixed.bottom := 4.5; + myFixed.valign := "bottom"; + myFixed.halign := "center"; + myFixed.fixedWidth := 25; + myFixed.fixedHeight := 15; + myFixed.boxed := 1; + + EPicture.a(myFixed)("a"); + EPicture.b(myFixed)("yum"); + EPicture.c(myFixed)("b"); + + leftToRight.bottom(10)(a, b, c); + + drawObjects(a, b, c); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/picture_stack.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/picture_stack.mp new file mode 100644 index 00000000000..ee6e09104b7 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/picture_stack.mp @@ -0,0 +1,44 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input boxes; +input util_commons; +input util_object; +input util_picture; +input util_group; +input util_picture_stack; + +beginfig(1); + iStack.boxed := 1; + iStack.iPict.boxed := 1; + PictureStack.myStack("foo", + "bar: int" infont "tyxtt", + "cool-man-centered" infont defaultfont, + "nice")("vcenter"); + + myStack.nw = (0,0); + drawObject(myStack); +endfig; + +beginfig(2); +endfig; + +beginfig(3); +endfig; + + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/positioning.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/positioning.mp new file mode 100644 index 00000000000..f98de47182f --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/positioning.mp @@ -0,0 +1,139 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + Class.A("A")()(); + Class.B("B")()(); + Class.C("C")()(); + Class.Base("Base")()(); + + + A.ne = B.nw - (20,0); + B.ne = C.nw - (20,0); + Base.s = B.n + (0,20); + + drawObjects(Base, A, B, C); +endfig; + +beginfig(2); + save A, B, C, Base; + + Class.A("A")()(); + Class.B("B")()(); + Class.C("C")()(); + Class.Base("Base")()(); + + leftToRight(20)(A, B, C); + topToBottom(20)(Base, B); + + drawObjects(Base, A, B, C); +endfig; + +iPict.boxed := 1; +spacing := 5; +string strA, strB, strC; +strA := "a"; +strB := "..."; +strC := "Cyan"; + +beginfig(3); + save A, B, C, X, Y, Z; + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + leftToRight.top(spacing)(X, Y, Z); + + drawObjects(X, Y, Z); + + draw (X.left, X.top) -- (Z.right, X.top) dashed evenly withpen pencircle withcolor red; +endfig; + +beginfig(4); + save A, B, C, X, Y, Z; + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + leftToRight.midy(spacing)(X, Y, Z); + + drawObjects(X, Y, Z); + + draw (X.left, X.midy) -- (Z.right, X.midy) dashed evenly withpen pencircle withcolor red;; +endfig; + +beginfig(5); + save A, B, C, X, Y, Z; + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + leftToRight.bottom(spacing)(X, Y, Z); + + drawObjects(X, Y, Z); + + draw (X.left, X.bottom) -- (Z.right, X.bottom) dashed evenly withpen pencircle withcolor red;; +endfig; + +beginfig(6); + save A, B, C, X, Y, Z; + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + topToBottom.left(spacing)(X, Y, Z); + + drawObjects(X, Y, Z); + + draw (X.left, X.top) -- (X.left, Z.bottom) dashed evenly withpen pencircle withcolor red;; +endfig; + +beginfig(7); + save A, B, C, X, Y, Z; + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + topToBottom.midx(spacing)(X, Y, Z); + + drawObjects(X, Y, Z); + + draw (X.midx, X.top) -- (X.midx, Z.bottom) dashed evenly withpen pencircle withcolor red;; +endfig; + +beginfig(8); + save A, B, C, X, Y, Z; + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + topToBottom.right(spacing)(X, Y, Z); + + drawObjects(X, Y, Z); + + draw (X.right, X.top) -- (X.right, Z.bottom) dashed evenly withpen pencircle withcolor red;; +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/properties.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/properties.mp new file mode 100644 index 00000000000..94f71d772ea --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/properties.mp @@ -0,0 +1,58 @@ +% Sample MetaUML figures. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + + +input metauml; + +beginfig(1); + Class.Test("Test")("a1","a2","a3")("aLongMethod():void"); + + Test.nw = (0,0); + Class_draw.Test; + + dotlabel.ulft(btex nw etex, Test.nw); + dotlabel.top(btex n etex, Test.n); + dotlabel.urt(btex ne etex, Test.ne); + dotlabel.rt(btex e etex, Test.e); + dotlabel.lrt(btex se etex, Test.se); + dotlabel.bot(btex s etex, Test.s); + dotlabel.llft(btex sw etex, Test.sw); + dotlabel.lft(btex w etex, Test.w); + + dotlabel.lft(btex c etex, Test.c); + + draw Test.nw - (50,0) -- Test.ne + (10,0); + label.urt(btex top etex, Test.nw - (50,0)); + + draw Test.sw - (50,0) -- Test.se + (10,0); + label.lrt(btex bottom etex, Test.sw - (50,0)); + + draw Test.nw + (0,10) -- Test.sw - (0, 50); + label.bot(btex left etex, Test.sw - (0,50)); + + draw Test.ne + (0,10) -- Test.se - (0, 50); + label.bot(btex right etex, Test.se - (0,50)); + + drawarrow Test.nw - (25,0) -- Test.sw - (25,0); + label.lft(btex height etex, .5[Test.nw, Test.sw] - (25,0)); + + drawarrow Test.sw - (0,25) -- Test.se - (0,25); + label.bot(btex width etex, .5[Test.sw, Test.se] - (0,25)); +endfig; + + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/state.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/state.mp new file mode 100644 index 00000000000..77c7691a9a2 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/state.mp @@ -0,0 +1,55 @@ +% Sample MetaUML figures. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + + +input metauml; + +beginfig(1); + State.s("Take order")(); + drawObject(s); +endfig; + +beginfig(2); + Begin.b; + End.e; + State.c("Component")(); + State.composite("Composite")(b, e, c); + + b.midx = e.midx = c.midx; + c.top = b.bottom - 20; + e.top = c.bottom - 20; + + composite.info.drawNameLine := 1; + drawObject(composite); + + link(transition)(b.s -- c.n); + link(transition)(c.s -- e.n); +endfig; + +beginfig(3); + save s; + State.s("An interesting state", + "which is worth mentioning")(); + stateTransitions.s( + "OnEntry / Open eyes", + "OnExit / Sleep well"); + s.info.drawNameLine := 1; + + drawObject(s); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/statemachine_diagrams.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/statemachine_diagrams.mp new file mode 100644 index 00000000000..ff93a74dd5d --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/statemachine_diagrams.mp @@ -0,0 +1,78 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +% for f in `find . | grep '.*\.[1-9]'`; do echo $f; done + +input metauml; + +beginfig(1); + Begin.b; + State.on("On")(); + State.off("Off")(); + End.e; + + setObjectJoin(pb.w = pa.e + (20,0)); + joinObjects(b, on, off, e); + drawObjects(b, on, off, e); + + clink(transition)(b, on); + clink(transition)(on, off); + clink(transition)(off, e); +endfig; + +beginfig(2); + save b, reading, processing, e, exit; + + Begin.b; + State.reading("Commands read")(); + State.processing("Processing commands")(); + End.e; + setObjectJoin(pb.n = pa.s + (0, -20)); + joinObjects(b, reading, processing, e); + + State.composite("Work")(b, reading, processing, e); + drawObject(composite); + + clink(transition)(b, reading); + clink(transition)(reading, processing); + clink(transition)(processing, e); + + ExitPoint.exit; + exit.c=(composite.right, reading.midy); + drawObject(exit); + item(iAssoc)("error")(obj.nw = exit.s); + + clink(transition)(reading, exit); + + State.error("Prepare error report")(); + State.result("Display result")(); + End.theEnd; + + error.midx = result.midx = theEnd.midx = composite.right + 90; + error.midy = exit.midy; + result.midy = processing.midy; + theEnd.midy = e.midy; + drawObjects(error, result, theEnd); + + clink(transition)(exit, error); + clink(transition)(error, result); + clink(transition)(result, theEnd); + + link(transition)(rpathHorizontal(result.w, composite.right)); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_activity.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_activity.mp new file mode 100644 index 00000000000..841bdb8a312 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_activity.mp @@ -0,0 +1,46 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + Begin.b; + End.e; + + e.n = (30,30); + drawObject(b); + show "Object b drawn"; + drawObject(e); + + link(associationUni)(pathCut(b,e)(b.c--e.c)); +endfig; + +beginfig(2); + EActivity.act(iActivity)("go to school", "while singing"); + drawObject(act); + + Branch.br; + br.nw = (50,50); + drawObject(br); + + Fork.fork("h",30); + fork.nw = (30,70); + drawObject(fork); +endfig; + +end + diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class.mp new file mode 100644 index 00000000000..94e1fdc130a --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class.mp @@ -0,0 +1,156 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(0); + show "Copying class info..."; + ClassInfoCopy.foo(iClass); +endfig; + +beginfig(1); + Class.A("A")()(); + Class_setDebugMode.A; + + A.nw=(0,0); + Class_draw.A; +endfig; + +beginfig(2); + save B; + Class.B("B")("+ a:int")(); + Class_setDebugMode.B; + + B.nw=(0,0); + Class_draw.B; +endfig; + +beginfig(3); + save C; + Class.C("C")("+ a-#~+:int", "- b-#~+:int", "- g-#~+:int", "~ c-#~+:int", "# g-#~+:double")(); + Class_setDebugMode.C; + + C.nw=(0,0); + Class_draw.C; +endfig; + +beginfig(4); + save D; + Class.D("D") + ("+ a-#~+:int", "- b-#~+:int", "- g-#~+:int", "~ c-#~+:int", "# g-#~+:double") + ("+ a()-#~+:int", "- b()-#~+:int", "- g()-#~+:int", "~ c()-#~+:int", "# g()-#~+:double"); + Class_setDebugMode.D; + + D.nw=(0,0); + Class_draw.D; +endfig; + +beginfig(5); + save P, Q; + + Class.P("AAA")()(); + Class_stereotypes.P("ooo", "home", "interface"); + Class_setDebugMode.P; + P.nw=(0,0); + Class_draw.P; + + Class.Q("AAA")()(); + Class_stereotypes.Q("ooo", "home", "interface"); + Q.nw=P.ne + (20,0); + Class_draw.Q; +endfig; + +beginfig(6); + save A; + + Class.A("User6")()(); + Class_stereotypes.A("<>","<>"); + A.nw=(0,0); + drawObject(A); +endfig; + +beginfig(7) + save A; + Class.A("User7")()(); + A.info.iMethodStack.left := A.info.iMethodStack.right := 50; + A.info.iMethodStack.top := A.info.iMethodStack.bottom := 20; + + drawObject(A); +endfig; + +beginfig(8) + save inter; + EClass.inter(iInterface)("Observer")()("+update(src: Object)"); + drawObjects(inter); +endfig; + +beginfig(9) + save inter; + EInterface.inter(iInterface)("Observer")("+update(src: Object)"); + drawObjects(inter); +endfig; + +beginfig(10) + save inter; + Interface.inter("Observer")("+update(src: Object)"); + drawObjects(inter); +endfig; + +beginfig(11) + save A; + EClass.A(iAbstractClass)("AbstractClass")("[]{}")("+update(src: Object)"); + drawObjects(A); +endfig; + +beginfig(12) + save A; + AbstractClass.A("AbstractClass")("[]{}")("+update(src: Object)"); + drawObjects(A); +endfig; + +beginfig(13) + save A; + EClass.A(iClassNameOnly)("AClassWithNoCompartments")()(); + drawObjects(A); +endfig; + +beginfig(14) + save A; + ClassName.A("AnotherClass"); + drawObjects(A); +endfig; + +beginfig(15) + save A; + ClassName.A("AnotherClass"); + classStereotypes.A("<>","<>"); + + drawObjects(A); +endfig; + +beginfig(16); + save A, B, C; + + Class.A("Foo") + ("+a: int", "-b: int", "#c: int", "d: int") + ("+x()", "-y()", "#z()", "t()"); + Class_noVisibilityMarkers.A; + + drawObjects(A); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_feature_types.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_feature_types.mp new file mode 100644 index 00000000000..f35c0b7b685 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_feature_types.mp @@ -0,0 +1,53 @@ +% Copyright 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. + +input metauml; + +beginfig(1); + if not metauml_private_isAbstract(abstract "foo"): + 1 = 2; + fi; + + if metauml_private_isAbstract("@abstracp"): + 1 = 2; + fi; +endfig; + +beginfig(2); + if not metauml_private_isStatic(static "bar"): + 1 = 2; + fi; + + if metauml_private_isStatic("@statique"): + 1 = 2; + fi; +endfig; + +beginfig(3); + Class.A("A") + ("+a:int+", static "+b:int") + ("+f+():int", static "+g+():int", abstract "+h():int"); + Class_setDebugMode.A; + drawObjects(A); +endfig; + +beginfig(4); + save A; + Class.A("A") + (static "-instanceCount:int") + (static "+getInstanceCount():int", abstract "+work()"); + drawObjects(A); +endfig; + +beginfig(5); + save A, B; + Class.A("A")()(); + Class.B(abstract "B")()(); + Class.C("C")()(abstract "foo()"); + + leftToRight(5)(A, B, C); + + drawObjects(A, B, C); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_qual_assoc.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_qual_assoc.mp new file mode 100644 index 00000000000..735bba19e0d --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_qual_assoc.mp @@ -0,0 +1,53 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + save P,qa; + + Class.P("Person")()(); + QualifiedAssociation.qa("accountNumber:int", "foo: id"); + + P.nw = (0,0); + qa.n = P.s; + + + P.info.iName.left := 35; + P.info.iName.right := 35; + drawObjects(P); + + drawObject(qa); +endfig; + +beginfig(2); + save P,qa; + + Class.P("Person")()(); + QualifiedAssociation.qa("accountNumber:int", "foo: id", "foolang"); + + P.nw = (0,0); + qa.w = P.e; + + P.info.shade := 0; + P.info.iMethodStack.top := 20; + drawObjects(P); + + drawObject(qa); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_templates.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_templates.mp new file mode 100644 index 00000000000..c3fc50209c8 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_class_templates.mp @@ -0,0 +1,62 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + save P,template; + + Class.P("Person")()(); + Template.template("foo", "bar"); + + drawObjectAt(P)(P.nw=(0,0)); + + Template_attachToClass.template(P); + drawObject(template); +endfig; + +beginfig(2); + save P,template; + + Class.P("Person")()(); + Template.template("foo: int"); + Template_attachToClass.template(P); + + drawObjectAt(P)(P.nw=(0,0)); + drawObject(template); +endfig; + +beginfig(3); + save CA, TA, CB, TB, CC, TC; + Class.CA("VeryVeryLongClassName")()(); + ClassTemplate.TA("int foo")(CA); + + Class.CB("Shortie")("abracadabra: long long int")(); + ClassTemplate.TB("T")(CB); + + Class.CC("Shortie")("abracadabra: long long int")(); + ClassTemplate.TC("TrulyAmazingLongTypename")(CC); + + CA.s = CB.n + (0,14); + CB.s = CC.n + (0,14); + + drawObjects(CA, TA, CB, TB, CC, TC); +endfig; + + + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_component.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_component.mp new file mode 100644 index 00000000000..94d866c7532 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_component.mp @@ -0,0 +1,30 @@ +input metauml; +input metauml_component; +input metauml_component_relations; + +beginfig(1); + Class.classA("Class A")()(); + Class.classB("Class B")()(); + + Component.compA("Component A")(); + Component.compB("Component B")(); + Component.compC("Component C")(compA, compB, classA, classB); + + compB.w = compA.e + (40, 0); + classA.w = compB.e + (20, 0); + classB.w = classA.e + (20, 0); + + drawObjects(compC); + + path open; + open := compA.e .. compA.e + (20, 0); + path close; + + close := compB.w .. compA.e + (20, 0); + + link(requiredInterface)(open); + + link(providedInterface)(close); +endfig; + +end \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_font.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_font.mp new file mode 100644 index 00000000000..21e748a4f74 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_font.mp @@ -0,0 +1,81 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +string theFont; + +beginfig(1); + theFont := "pcrr"; + + boxjoin(a.sw=b.nw); + + boxit.ff(("Font name: ( ) " & theFont) infont theFont); + boxit.s0("<> text with guillemets. ><>><<" infont theFont ); + boxit.s1("<>, <>, <>" infont theFont); + boxit.s2("[g uard] text with square brackets []]." infont theFont); + boxit.s3("{c onstraint} text with curly brackets {}}." infont theFont); + + drawboxed(ff, s0, s1, s2, s3); +endfig; + +beginfig(2); + save ff,s,g,c; + theFont := "tyxbtt"; + + boxjoin(a.sw=b.nw); + + boxit.ff(("Font name: ( ) " & theFont) infont theFont); + boxit.s0("<> text with guillemets. ><>><<" infont theFont ); + boxit.s1("<>, <>, <>" infont theFont); + boxit.s2("[g uard] text with square brackets []]." infont theFont); + boxit.s3("{c onstraint} text with curly brackets {}}." infont theFont); + + drawboxed(ff, s0, s1, s2, s3);endfig; + +beginfig(3); + picture pA, pB, pC; + string sA, sB, sC; + sA := "assembleElementLocalMatrix(k: KeyType, mat: LocalMatrixType, a: AssembleAction)"; + sB := "assembleElementLocalMatri(k: KeyType, mat: LocalMatrixType, a: AssembleAction)"; + sC := "assembleElntLocalMatri(k: KeyType, mat: LocalMatrixType, a: AssembleAction)"; + + pA := sA infont "tyxbtt"; + pB := sB infont "tyxbtt"; + pC := sC infont "tyxbtt"; + + draw pA; + draw pB shifted (0,-20); + draw pC shifted (0,-40); +endfig; + +beginfig(4); + save ff,s,g,c; + theFont := "ptmr8r"; + + boxjoin(a.sw=b.nw); + boxit.ff(("Font name: ( ) " & theFont) infont theFont); + + boxit.s0("<> text with guillemets. ><>><<" infont theFont ); + boxit.s1("<>, <>, <>" infont theFont); + boxit.s2("[g uard] text with square brackets []]." infont theFont); + boxit.s3("{c onstraint} text with curly brackets {}}." infont theFont); + + drawboxed(ff, s0, s1, s2, s3); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_group.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_group.mp new file mode 100644 index 00000000000..17265c458b2 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_group.mp @@ -0,0 +1,60 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + save p,q,r,t,g; + + EPicture.p(iPictBoxed)("p0"); + EPicture.q(iPictBoxed)("p1"); + p.se = q.nw; + + string f; + f= enumToString(p,q)(""); + show "f=" & f; + + EGroup.g(iGroup)(p,q); + g.nw = (0,0); + + drawObject(g); +endfig; + +beginfig(2); + save g,h,p,gg; + + Group.g(); + g.info.boxed := 1; + g.nw = (30,30); + drawObject(g); + + Picture.p("Test picture in group"); + p.info.boxed := 1; + Group.h(p); + h.info.boxed := 1; + h.nw = (0,0); + drawObject(h); + + Picture.v0("s"); v0.info.boxed := 1; + Picture.v1("s"); v1.info.boxed := 1; + v1.nw = v0.se + (10,10); + Group.gg(v0, v1); gg.info.boxed := 1; + gg.nw = (70,70); + drawObject(gg); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_instance.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_instance.mp new file mode 100644 index 00000000000..d01ff8452e2 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_instance.mp @@ -0,0 +1,35 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Radu-George Radulescu +% +% 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. + +input metauml; + +beginfig(1); + Instance.A(":Foo")("int: val1", "bool: val2"); + Instance.B(":Bar")("very long text for testing purposes"); + Instance.C("s: Student")("line1", "line2", "line3", "line4", "line5"); + Instance.D("Example")("small"); + Instance.E("g: Yummy")("{placed}", "{color=red}"); + + B.w = A.e + (20, 0); + C.n = A.s - (0, 20); + D.w = C.e + (20, 0); + E.w = D.e + (20, 0); + + drawObjects(A, B, C, D, E); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_lars_issues.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_lars_issues.mp new file mode 100644 index 00000000000..428d7b41445 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_lars_issues.mp @@ -0,0 +1,94 @@ +input metauml; + +numeric u; +u = 1.3cm; + +beginfig(1); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Class.ElLocSysAcc("ElementLocalSystemAcceptor") +() +("+startElementAssebly()", + "+assembleElementLocalMatrix(k: KeyType, mat: LocalMatrixType, a: AssembleAction)", + "+assembleElementLocalRHS(k: KeyType, rhs: LocalRHSType, a: AssembleAction)", + "+endElementAssembly()"); + +classStereotypes.ElLocSysAcc("<>"); +ClassTemplate.TEl("KeyType: typename")(ElLocSysAcc); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Class.FaceLocSysAcc("FaceLocalSystemAcceptor") + () + ("+startFaceAssebly()", + "+assembleFaceLocalMatrix(k1: KeyType, k2: KeyType, mat: LocalMatrixType, a: AssembleAction)", + "+assembleFaceLocalRHS(k: KeyType, rhs: LocalRHSType, a: AssembleAction)", + "+endFaceAssembly()"); + + classStereotypes.FaceLocSysAcc("<>"); + ClassTemplate.TFa("KeyType: typename")(FaceLocSysAcc); + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Class.SolProvider("SolutionProvider") + () + ("+startSortBack()", + "+getLocalSolution(k: KeyType, sol: LocalSolutionType)", + "+endSortBack()"); + + classStereotypes.SolProvider("<>"); + ClassTemplate.TSol("KeyType: typename")(SolProvider); + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % now inherit from these for LapackMatrixSorter + Class.LapackMS("LapackMatrixSorter") + ("-indMan: IndexManager", + "-A: LaGenMatDouble&", + "-x: LaVectorDouble&", + "-b: LaVectorDouble&" + ) + ("+startElementAssembly()"); + + ClassTemplate.TLap("KeyType: typename", "IndexManager: class")(LapackMS); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% where to draw these: +FaceLocSysAcc.nw = ElLocSysAcc.ne + (1.5u, 0); +SolProvider.nw = FaceLocSysAcc.ne + (1.5u, 0); +LapackMS.n = FaceLocSysAcc.s + (0, -3u); + +drawObjects(ElLocSysAcc, TEl, FaceLocSysAcc, TFa, + SolProvider, TSol, LapackMS, TLap); + +% 50: how much should the path raise upwards before making a horizontal turn. +link(inheritance)(pathStepY(LapackMS.n, FaceLocSysAcc.s, 50)); +link(inheritance)(pathStepY(LapackMS.n, SolProvider.s, 50)); +link(inheritance)(pathStepY(LapackMS.n, ElLocSysAcc.s, 50)); + +endfig; + +beginfig(2); + Begin.b; + Activity.A("Activity A", "on line two"); + Activity.B("Activity B"); + End.e; + + % or other positioning code... + setObjectJoin(pa.s = pb.n + (0,20)); + joinObjects(b, A, B, e); + + % important: first draw the activities + drawObjects(b, A, B, e); + + % you can now draw the transitions + clink(transition)(b, A); + clink(transition)(A, B); + link(transition)(pathStepX(B.e, e.e, 30)); + + item(iGuard)("guard")(obj.sw = .5[b.s, A.n]); +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_lowlevel.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_lowlevel.mp new file mode 100644 index 00000000000..952da34f482 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_lowlevel.mp @@ -0,0 +1,66 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; +input util_infrastructure; + +beginfig(1); + show "Lowlevel test"; + %string foo; + %foo := var_instruction(numeric) x, y; + %show foo; + %foo := foo & ";"; + %show foo; + attributes(foo); + _n_ := "foo"; + %scantokens foo; + %string x; + %x := str(numeric); + var(numeric) x; + + label.top("nothing shown (intentionally)", (0,0)); +endfig; + +vardef _foo@#= + attributes(@#); + var(string) @#a[]; + @#a[0] := "fpp"; + @#a[1] := "gqq"; +enddef; + +% _foo.b; % not working + +vardef _bar@#(text s)= + attributes(@#); + var(string) elements; + @#elements := enumToString(s)(""); +enddef; + +beginfig(2); + for f = scantokens "a, b, c": + show f; + endfor; + _bar.xx(a, b, c, d); + show xx.elements; + for f = scantokens xx.elements: + show f; + endfor; + label.top("nothing shown (intentionally)", (0,0)); +endfig; + +end + diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_note.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_note.mp new file mode 100644 index 00000000000..bf8c1aeb2fa --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_note.mp @@ -0,0 +1,39 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml_note; +input metauml_base; +input metauml_paths; +input metauml_links; +input metauml_class_relations; + +beginfig(1); + Note.foo("This is the first line", "and this the second one."); + drawObject(foo); +endfig; + +beginfig(2); + save foo; + Note.foo("Please disregard this note."); + Note.bar("Please take the other note", "very seriously."); + + bar.s = foo.n + (10,20); + drawObjects(foo, bar); + clink(dashedLink)(foo, bar); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_package.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_package.mp new file mode 100644 index 00000000000..6d4f97ea9f8 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_package.mp @@ -0,0 +1,54 @@ +input metauml; +input metauml_package; +input metauml_package_relations; + +beginfig(1); + Package.emptyPackage("")(); + + Package.nameOnlyPackage("java.sun.com")(); + + Class.oneClass("A class")()(); + Package.oneClassPackage("One class package")(oneClass); + + Instance.oneInstance("An instance")(); + State.oneState("A state")(); + Activity.oneActivity("An activity"); + Package.multiPackage("Multipackage")(oneInstance, oneState, oneActivity); + + Package.allPackage("This package contains them all")(emptyPackage, nameOnlyPackage, + oneClassPackage, multiPackage); + + nameOnlyPackage.nw = emptyPackage.ne + (30, 0); + oneClassPackage.ne = emptyPackage.s - (0, 50); + + multiPackage.top = oneClassPackage.top; + multiPackage.left = oneClassPackage.right + 20; + + centered_align_top(oneState, oneActivity)(10, below(oneInstance.s, 20)); + + drawObjects(allPackage); +endfig; + +beginfig(2); + Package.nameOnlyOnTopPackage("Name on top")(); + nameOnlyOnTopPackage.info.forceEmptyContent := 1; + Package.nameOnlyInMiddlePackage("By default, the name", "is in the middle")(); + + Class.cl("A class")("Attribute")("Method"); + Package.notEmptyPackage("Contains class")(cl); + + nameOnlyInMiddlePackage.n = nameOnlyOnTopPackage.s - (0, 40); + notEmptyPackage.w = nameOnlyInMiddlePackage.e + (80, 0); + drawObjects(nameOnlyOnTopPackage, nameOnlyInMiddlePackage, notEmptyPackage); + + %link(import)(pathStepX(notEmptyPackage.w, nameOnlyOnTopPackage.e, -30)); + %link(import)(pathVertical(nameOnlyInMiddlePackage.ne - (10, 0), nameOnlyOnTopPackage.bottom)); + %link(import)(notEmptyPackage.sw -- nameOnlyInMiddlePackage.ne); +endfig; + +beginfig(3); + link(nest)((10,10)--(30,30)); +endfig; + + +end \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_paths.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_paths.mp new file mode 100644 index 00000000000..eedd11a9b08 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_paths.mp @@ -0,0 +1,100 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +iPict.boxed := 1; + +beginfig(1); + iClass.shade := 3; + Class.F("Foo")("a: int","b: int")(); + Class.B("Bar")()(); + + B.nw = F.ne + (20,-20); + + drawObjects(B, F); + + link(association)(B.nw -- F.ne); + + draw objectBorder(B) withcolor red; + draw objectBorder(F) withcolor blue; + + link(association)(pathCut(B,F)(B.c--F.c)); +endfig; + +beginfig(2); + save A, B; + + Picture.A("A"); + Picture.B("Blue"); + + B.sw = A.ne + (20,20); + + drawObjects(A, B); + + link(associationUni)(pathManhattanX(A.e, B)); +endfig; + +beginfig(3); + save A, B, C, D, O; + + Picture.A("Alpha"); + Picture.B("Beta"); + Picture.C("Gamma"); + Picture.D("Delta"); + Picture.O("Omega"); + + A.c = O.c + (-50,50); + B.c = O.c + (50,50); + C.c = O.c + (-50,-50); + D.c = O.c + (50,-50); + + drawObjects(O, A, B, C, D); + + link(associationUni)(pathManhattanX(O, A)); + link(associationUni)(pathManhattanX(O, B)); + link(associationUni)(pathManhattanX(O, C)); + link(associationUni)(pathManhattanX(O, D)); +endfig; + +beginfig(3); + show ""; + show ""; + show " FIGURE 3"; + + save A, B, C, D, O; + + Picture.A("Alpha"); + Picture.B("Beta"); + Picture.C("Gamma"); + Picture.D("Delta"); + Picture.O("Omega"); + + A.c = O.c + (-50,50); + B.c = O.c + (50,50); + C.c = O.c + (-50,-50); + D.c = O.c + (50,-50); + + drawObjects(O, A, B, C, D); + + link(associationUni)(pathManhattanX(O, A)); + link(associationUni)(pathManhattanX(O, B)); + link(associationUni)(pathManhattanX(O, C)); + link(associationUni)(pathManhattanX(O, D)); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture.mp new file mode 100644 index 00000000000..7a56236e825 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture.mp @@ -0,0 +1,273 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +string theFont; +theFont := "tyxbtt"; + +beginfig(1); + draw "xxx" infont defaultfont scaled defaultscale shifted (0,0); + draw "yyy" infont (iFont.name) scaled (iFont.scale) shifted (25, 0); + + Picture.p("foo, bar, baz"); + p.nw = (0,0); + drawObject(p); + + Picture.q("qux, norf"); + drawObjectAt(q)( q.nw = (30,30) ); + + FontInfo.foo("tyxbtt", 1); + PictureInfo.iNice(3,6,5,10)(foo); + iNice.boxed := 1; + + EPicture.myPic(iNice)("Custom iPicture"); + drawObjectAt(myPic)( myPic.nw = (70,0)); +endfig; + +beginfig(2); + save p, q, r, t; + + Picture.p("foo"); + Picture.q("bar"); + p.nw = (10, 10); + q.nw = (20, 20); + + drawObject(p); + drawObject(q); + + drawObjects(p, q); + + Picture.a0("root" infont defaultfont); + Picture.a1("toof"); + + a[0].nw = (30, 30); + a[1].nw = (50, 50); + + drawObjects(scantokens listArray(a)(2)); +endfig; + +beginfig(3); + save p, q, r, t, u, pp; + + bboxmargin := 0; + + picture pp; + pp = "a" infont theFont; + Picture.p(pp); + Picture.q("foo" infont theFont); + Picture.r("bar" infont theFont); + Picture.t("baz"); + Picture.u("norf" infont theFont); + + p.nw = (0,0); + setObjectJoin(pa.left=pb.left; pa.bottom = pb.top + 1); + joinDrawObjects(p, q, r, t, u); + + defaultdy:=0; + boxjoin(a.sw=b.nw; a.se=b.ne); + boxit.A0("foo1"); + boxit.A1("bar1"); + boxit.A2("baz2"); + boxit.A3("norf2"); + boxit.A4(".."); + A0.nw=(50,0); + drawboxed(A0,A1,A2,A3,A4); + + myy := 10; + + bboxmargin := 0; + + pair p; + p := (30,myy); + dotlabel.lrt(".", p); + picture x; + x := "f: int" infont theFont; + draw bbox(x) shifted p; + draw x shifted p; + + pair q; + q := (70,myy); + dotlabel.lrt(".", q); + picture y; + y := "goofy: int" infont theFont; + draw bbox(y) shifted q; + draw y shifted q; + + pair qq; + qq := (135,myy); + dotlabel.lrt(".", qq); + picture y; + y := "goot" infont theFont; + draw bbox(y) shifted qq; + draw y shifted qq; + + draw (0,myy)--(150, myy) dashed evenly; + + myyb := 30; + Picture.aa(btex goof etex); + aa.sw = (30, myyb); + Picture_draw.aa; + + draw (0,myyb)--(100, myyb) dashed evenly; +endfig; + +beginfig(4); + save a, b; + FontInfo.myFont(theFont, 1); + PictureInfo.myWay(0,0,0,0)(myFont); + myWay.boxed := 1; + + EPicture.a0(myWay)("goof"); + EPicture.a1(myWay)("Aoorian"); + EPicture.a2(myWay)("fpp"); + EPicture.a3(myWay)("f: int"); + EPicture.a4(myWay)("aa()"); + + a0.nw = (0,0); + setObjectJoin(pa.bottom = pb.bottom; pa.right = pb.left - 10); + joinDrawObjects(scantokens listArray(a)(5)); + + draw a0.sw -- a4.se withcolor black dashed evenly; + + myWay.ignoreNegativeBase := 1; + EPicture.b0(myWay)("foo"); + EPicture.b1(myWay)("Bar baz"); + EPicture.b2(myWay)("qux"); + EPicture.b3(myWay)("f: int"); + EPicture.b4(myWay)("aa()"); + + b0.nw = (0,-20); + setObjectJoin(pa.bottom = pb.bottom; pa.right = pb.left - 10); + joinDrawObjects(scantokens listArray(b)(5)); + + draw b0.sw -- b4.se withcolor black dashed evenly; +endfig; + +beginfig(5); + truecorners := 1; + bboxmargin := 0; + save p; + picture basepict; + basepict := "<>" infont "tyxtt"; + + draw basepict; + draw bbox basepict; +endfig; + +beginfig(6); + item.foo(iPictBoxed)("foo bar baz")(foo.nw = (0,0)); + item.bar(iPict)("x: int")(bar.nw = (20,20)); + + aitem(iPictBoxed)("an anounymous item")(obj.nw = (40,10)); +endfig; + +beginfig(7); + save a, b, c, d, e, myFixed; + PictureInfoCopy.myFixed(iPict); + myFixed.ignoreNegativeBase := 1; + myFixed.fixedWidth := 20; + myFixed.boxed := 1; + + EPicture.a(myFixed)("a"); + EPicture.b(myFixed)("bar"); + EPicture.c(myFixed)(".-."); + EPicture.d(myFixed)("baz"); + EPicture.e(myFixed)("qux norf"); + + leftToRight.bottom(20)(a, b, c, d, e); + + drawObjects(a, b, c, d, e); +endfig; + +beginfig(8); + save a, b, c, d, e, myFixed; + PictureInfoCopy.myFixed(iPict); + myFixed.halign := "center"; + myFixed.ignoreNegativeBase := 1; + myFixed.fixedWidth := 20; + myFixed.boxed := 1; + + EPicture.a(myFixed)("a"); + EPicture.b(myFixed)("bar"); + EPicture.c(myFixed)(".-."); + EPicture.d(myFixed)("baz"); + EPicture.e(myFixed)("qux norf"); + + leftToRight.bottom(20)(a, b, c, d, e); + + drawObjects(a, b, c, d, e); +endfig; + +beginfig(9); + save a, b, c, d, e, myFixed; + PictureInfoCopy.myFixed(iPict); + myFixed.halign := "center"; + myFixed.ignoreNegativeBase := 1; + myFixed.fixedWidth := 20; + myFixed.fixedHeight := 30; + myFixed.boxed := 1; + + EPicture.a(myFixed)("a"); + EPicture.b(myFixed)("bar"); + EPicture.c(myFixed)(".-."); + EPicture.d(myFixed)("baz"); + EPicture.e(myFixed)("qux norf"); + + leftToRight.bottom(20)(a, b, c, d, e); + + drawObjects(a, b, c, d, e); +endfig; + +beginfig(10); + save a, b, c, d, e, myFixed; + PictureInfoCopy.myFixed(iPict); + myFixed.halign := "center"; + myFixed.valign := "center"; + myFixed.ignoreNegativeBase := 1; + myFixed.fixedWidth := 20; + myFixed.fixedHeight := 30; + myFixed.boxed := 1; + + EPicture.a(myFixed)("a"); + EPicture.b(myFixed)("bar"); + EPicture.c(myFixed)(".-."); + EPicture.d(myFixed)("baz"); + EPicture.e(myFixed)("qux norf"); + + leftToRight.bottom(20)(a, b, c, d, e); + + drawObjects(a, b, c, d, e); +endfig; + +beginfig(11); + save a, b, c; + Picture.a("goo"); + a.info.textDecoration := "underline"; + + Picture.b("foo()"); + b.info.textDecoration := "underline"; + + Picture.c("x"); + c.info.textDecoration := "underline"; + + topToBottom(5)(a, b, c); + + drawObjects(a, b, c); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture_stack.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture_stack.mp new file mode 100644 index 00000000000..8ad4776fa44 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture_stack.mp @@ -0,0 +1,130 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +string theFont; +theFont := "tyxtt"; + +util_log_thresholdlevel := 100; + +beginfig(1); + PictureStackInfoCopy.stackWay(iStack); + + EPictureStack.emptyStack(stackWay)()("vcenter"); + emptyStack.nw=(10,10); + drawObject(emptyStack); +endfig; + +beginfig(2); + PictureStack.myStack("foo")("vcenter"); + myStack.nw = (0,0); + PictureStack_draw.myStack; +endfig; + +beginfig(3); + PictureStack.myStackB("foo", "bar")("vcenter"); + myStackB.nw = (0,0); + PictureStack_draw.myStackB; +endfig; + +beginfig(4); + % 1 + PictureStack.stack("item A", "item B long", "C")("vcenter"); + stack.info.boxed := 1; + stack.info.iPict.boxed := 1; % this does nothing, it's too late + + stack.nw = (0,0); + drawObject(stack); + + % 2 + PictureStack.stackb("item A", "item B long", "C")("vcenter"); + stackb.info.boxed := 1; + stackb.pict[0].info.boxed := 1; + stackb.pict[2].info.boxed := 1; + + stackb.nw = (100,0); + drawObject(stackb); + + % 3 + PictureStackInfoCopy.myInfo(iStack); + myInfo.boxed := 1; + myInfo.iPict.boxed := 1; + EPictureStack.stackc(myInfo)("item A", "item B long", "C")("vcenter"); + + stackc.nw = (200,0); + drawObject(stackc); +endfig; + +beginfig(5); + vardef joinCallback= enddef; + PictureStack.custom("A.A", "B__________B", "C-----C") + ("joinCallback"); + + drawObject(custom); +endfig; + +beginfig(6); + save custom; + + pickup pencircle scaled 4pt; + drawdot origin; + + vardef joinCallbackA= + setObjectJoin(pa.bottom = pb.top + index*10; pa.left = pb.left); + setObjectJoinFirst(pa.nw = (30,0)); + enddef; + + PictureStack.customA("go", "further", "and further", "and further still") + ("joinCallbackA"); + + vardef joinCallbackB= + setObjectJoin(pb.bottom = customA.pict[index].bottom; pb.midx = pa.midx); + setObjectJoinFirst(pa.bottom = customA.pict[index].bottom); + enddef; + + PictureStack.customB(".", "..", "...", "....") + ("joinCallbackB"); + + drawObjects(customA, customB); +endfig; + +beginfig(7); + save stackX; + save stylePA, stylePB; + save stylePictureStack; + + PictureInfoCopy.stylePA(iPict); + stylePA.borderColor := green; + stylePA.boxed := 1; + + PictureInfoCopy.stylePB(iPict); + stylePB.borderColor := red; + stylePB.boxed := 1; + + PictureStackInfoCopy.stylePictureStack(iStack); + + def styleSupplier(expr i)= if i mod 2 = 0: stylePA else: stylePB fi enddef; + + stylePictureStack.childStyleSupplier := "styleSupplier"; + + EPictureStack.stackX(stylePictureStack)("a","b","c","d","e")("vcenter"); + + drawObjects(stackX); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture_tex_rendering.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture_tex_rendering.mp new file mode 100644 index 00000000000..3c041298699 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_picture_tex_rendering.mp @@ -0,0 +1,43 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +input TEX; + +beginfig(1); + PictureInfoCopy.myP(iPict); + myP.boxed := 1; + myP.ignoreNegativeBase := 1; + + EPicture.p(myP)( TEX("Hello, world $x=7$") ); + + PictureStackInfoCopy.myPS(iStack); + myPS.boxed := 1; + myPS.iPict.boxed := 1; + myPS.iPict.ignoreNegativeBase := 1; + + EPictureStack.ps(myPS)("Hello, world!", + TEX("This is cool: $x=y$."), + TEX("But this is insane: $\sum_1^3 f(x) \over x$!") ) ("vleft"); + + leftToRight(20)(p, ps); + + drawObjects(p, ps); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_positioning.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_positioning.mp new file mode 100644 index 00000000000..66034767716 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_positioning.mp @@ -0,0 +1,195 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +iPict.boxed := 1; +spacing := 5; +string strA, strB, strC; +strA := "a"; +strB := "..."; +strC := "XYZ"; + +beginfig(1); + save A, B, C, X, Y, Z; + + Picture.A(strA); + Picture.B(strB); + Picture.C(strC); + + align(top, left, right)(spacing)("+")(A, B, C); + + drawObjects(A, B, C); + + draw (A.left, A.top) -- (C.right, A.top); + + %%%% + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + leftToRight.top(spacing)(X, Y, Z); + + X.top = A.bottom - 10; + + drawObjects(X, Y, Z); + + draw (X.left, X.top) -- (Z.right, X.top); +endfig; + +beginfig(2); + save A, B, C, X, Y, Z; + + Picture.A(strA); + Picture.B(strB); + Picture.C(strC); + + align(midy, left, right)(spacing)("+")(A, B, C); + + drawObjects(A, B, C); + + draw (A.left, A.midy) -- (C.right, A.midy); + + %%%% + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + leftToRight.midy(spacing)(X, Y, Z); + + X.top = A.bottom - 10; + + drawObjects(X, Y, Z); + + draw (X.left, X.midy) -- (Z.right, X.midy); +endfig; + +beginfig(3); + save A, B, C, X, Y, Z; + + Picture.A(strA); + Picture.B(strB); + Picture.C(strC); + + align(bottom, left, right)(spacing)("+")(A, B, C); + + drawObjects(A, B, C); + + draw (A.left, A.bottom) -- (C.right, A.bottom); + + %%%% + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + leftToRight.bottom(spacing)(X, Y, Z); + + X.top = A.bottom - 10; + + drawObjects(X, Y, Z); + + draw (X.left, X.bottom) -- (Z.right, X.bottom); +endfig; + +beginfig(4); + save A, B, C, X, Y, Z; + + Picture.A(strA); + Picture.B(strB); + Picture.C(strC); + + align(left, top, bottom)(spacing)("-")(A, B, C); + + drawObjects(A, B, C); + + draw (A.left, A.top) -- (A.left, C.bottom); + + %%%% + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + topToBottom.left(spacing)(X, Y, Z); + + X.top = C.bottom - 10; + + drawObjects(X, Y, Z); + + draw (X.left, X.top) -- (X.left, Z.bottom); +endfig; + +beginfig(5); + save A, B, C, X, Y, Z; + + Picture.A(strA); + Picture.B(strB); + Picture.C(strC); + + align(midx, top, bottom)(spacing)("-")(A, B, C); + + drawObjects(A, B, C); + + draw (A.midx, A.top) -- (A.midx, C.bottom); + + %%%% + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + topToBottom.midx(spacing)(X, Y, Z); + + X.top = C.bottom - 10; + + drawObjects(X, Y, Z); + + draw (X.midx, X.top) -- (X.midx, Z.bottom); +endfig; + +beginfig(6); + save A, B, C, X, Y, Z; + + Picture.A(strA); + Picture.B(strB); + Picture.C(strC); + + align(right, top, bottom)(spacing)("-")(A, B, C); + + drawObjects(A, B, C); + + draw (A.right, A.top) -- (A.right, C.bottom); + + %%%% + + Picture.X(strA); + Picture.Y(strB); + Picture.Z(strC); + + topToBottom.right(spacing)(X, Y, Z); + + X.top = C.bottom - 10; + + drawObjects(X, Y, Z); + + draw (X.right, X.top) -- (X.right, Z.bottom); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_skins.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_skins.mp new file mode 100644 index 00000000000..750cee4e975 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_skins.mp @@ -0,0 +1,26 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; +input metauml_skin_simple; + +beginfig(1); + Class.HelloSkin("HelloSkin")("nice: int")("done(): void"); + drawObject(HelloSkin); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_skins_global_defaults.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_skins_global_defaults.mp new file mode 100644 index 00000000000..aaeffd043b7 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_skins_global_defaults.mp @@ -0,0 +1,29 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +string metauml_defaultFont, metauml_defaultFontLight; +metauml_defaultFont := "cmr12"; +metauml_defaultFontLight := "cmr10"; + +input metauml; + +beginfig(1); + Class.HelloSkinB("HelloSkinGlobal")("foo: int")("bar(): void"); + drawObject(HelloSkinB); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_state.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_state.mp new file mode 100644 index 00000000000..54207507492 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_state.mp @@ -0,0 +1,73 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +beginfig(1); + EntryPoint.entry; + ExitPoint.exit; + + entry.nw = (0,0); + exit.nw = (50,50); + + drawObjects(entry, exit); + clink(transition)(entry, exit); +endfig; + +beginfig(2); + EState.myState(iState)("The light is", "visibly on")(); + drawObject(myState); + + State.anotherState("Another nice state")(); + anotherState.info.drawNameLine := 1; + drawObjectAt(anotherState)(anotherState.nw = (0,50)); +endfig; + +beginfig(3); + State.interesting("Interesting state")(); + State_internalTransitions.interesting("OnEntry / doVeryHappy", "OnExit / doSomewhatSad"); + interesting.info.drawNameLine := 1; + + drawObject(interesting); +endfig; + +beginfig(4); + Begin.b; + End.e; + State.sa("A state")(); + State.sb("Another state")(); + setObjectJoin(pb.w = pa.e + (40, 0)); + joinObjects(b, sa, sb, e); + + State.composite("Composite state")(b, e, sa, sb); + drawObject(composite); + + clink(transition)(b, sa); + clink(transition)(sa, sb); + clink(transition)(sb, e); +endfig; + +beginfig(5); +endfig; + +beginfig(6); +endfig; + +beginfig(7); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_usecase.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_usecase.mp new file mode 100644 index 00000000000..32688814cfd --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/test_usecase.mp @@ -0,0 +1,185 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +input metauml; + +HumanInfoCopy.iDwarf(iHuman); +iDwarf.width := 60; +iDwarf.height := 20; +iDwarf.foreColor := blue; +iDwarf.shadeColor := .8blue; + +beginfig(1); + Human.h; + drawObject(h); + draw objectBox(h); + + Human.h1; + h1.n = (35, 0); + h1.info.foreColor := red; + drawObject(h1); + + Human.h2; + h2.info.height := 90; + h2.nw = (50,0); + drawObject(h2); + draw objectBox(h2); + + EHuman.d(iDwarf); + drawObjectAt(d)(d.s = (10,-50)); + + EHuman.d2(iDwarf); + d2.info.shadeColor := red; + drawObjectAt(d2)(d2.s = (10,-80)); +endfig; + +beginfig(2); + save a,b; + + Actor.a("foo"); + drawObject(a); + + Actor.b("Actor line one", "and line two"); + Actor_setDebugMode.b; + b.n = (70,0); + drawObject(b); +endfig; + +beginfig(3); + Usecase.u("foo"); + drawObject(u); + + draw objectBox(u) withpen pencircle scaled .1; + + draw u.n withpen pencircle scaled 2 withcolor red; + draw u.s withpen pencircle scaled 2 withcolor red; + draw u.e withpen pencircle scaled 2 withcolor red; + draw u.w withpen pencircle scaled 2 withcolor red; + + draw u.ulft withpen pencircle scaled 2 withcolor blue; + draw u.urt withpen pencircle scaled 2 withcolor blue; + draw u.llft withpen pencircle scaled 2 withcolor blue; + draw u.lrt withpen pencircle scaled 2 withcolor blue; + + Usecase.login("Log in for an eagerly", "awaiting user", "which spans well into a very long 3rd line."); + login.s = (0, 5); + drawObject(login); + + Usecase.t("Line 1 goo bar", "Line 2"); + t.s = login.n + (0,10); + drawObject(t); + + Usecase.q("Line 1 abcdefg hij", "abcde", "Line 3 abc def ghe jkl", "Line 4 x"); + q.s = t.n + (0,10); + drawObject(q); + +endfig; + +beginfig(4); + Actor.userA("User A2", "line 2", "line 3 long long long"); + % Any Actor object is made of two sub-objects: nameStack and human. + % Each individual picture in the nameStack can be configured individually. + % + % However, it is not possible to configure all the lines in the nameStack at + % once now, saying something like: + % + % userA.nameStack.info.iPict.iFont.scale := 3; + % + % This happens because the information above is copied into the Picture objects + % in the Actor constructor (and it is useless to modify it afterwards). + % + % If you do want to make such global modifications of the settings, see the + % next two examples. + + userA.nameStack.pict[0].info.iFont.scale := 1.2; + userA.nameStack.pict[1].info.iFont.scale := .7; + userA.nameStack.info.borderColor := blue; + userA.nameStack.info.boxed := 1; + userA.nameStack.group.info.left := 30; + userA.nameStack.group.info.right := 5; + userA.human.info.foreColor := red; + + drawObject(userA); + %draw objectBox(userA.nameStack); + %draw objectBox(userA.human); +endfig; + +beginfig(5); + save userA; + % If you want to have preset a info for specific objects + + ActorInfoCopy.iBig(iActor); + + % ActorInfo contains info-s for two objects + % iNameStack: for the stack representing the actor's name + % iHuman: for the little human + + iBig.iNameStack.iPict.iFont.scale := 3; + iBig.iNameStack.spacing := 25; + iBig.iHuman.height := 25; + + EActor.userA(iBig)("User A", "Specifically configured"); + drawObject(userA); +endfig; + +beginfig(6); + save userA; + + iActor.iNameStack.iPict.iFont.scale := 2; + iActor.iNameStack.spacing := 18; + + Actor.userA("User A", "Globally configured"); + drawObject(userA); +endfig; + +beginfig(7); + save usecaseA; + Usecase.usecaseA("A highly customizable", "usecase. Foo bar!"); + usecaseA.info.iNameStack.iPict.iFont.scale := .5; + drawObject(usecaseA); +endfig; + +beginfig(8); + save usecaseA; + Usecase.usecaseA("A highly customizable", "usecase. Foo bar 2!"); + usecaseA.info.iNameStack.iPict.iFont.scale := 1.1; + usecaseA.info.foreColor := red; + usecaseA.info.borderColor := blue; + usecaseA.info.iShade.background := green; + usecaseA.info.iShade.shift := 4; + drawObject(usecaseA); +endfig; + +beginfig(9); + save usecaseA; + UsecaseInfoCopy.iMyUsecase(iUsecase); + iMyUsecase.iNameStack.iPict.iFont.scale := .6; + iMyUsecase.iNameStack.spacing := 5; + iMyUsecase.foreColor := green; + iMyUsecase.iShade.background := red; + + EUsecase.usecaseA(iMyUsecase)("A highly ", " customizable usecase."); + EUsecase.usecaseB(iMyUsecase)("Another very ", " customizable usecase."); + + usecaseB.info.iShade.background := green; + + leftToRight(20)(usecaseA, usecaseB); + drawObjects(usecaseA, usecaseB); +endfig; + +end + diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/usecase.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/usecase.mp new file mode 100644 index 00000000000..ca8040f57b2 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/usecase.mp @@ -0,0 +1,43 @@ +% Sample MetaUML figures. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + + +input metauml; + +beginfig(1); + Usecase.U("Authenticate user", + "by name, password"); + drawObject(U); +endfig; + +beginfig(2); + Actor.A("User"); + drawObject(A); +endfig; + +beginfig(3); + save A; + + Actor.A("Administrator"); + drawObject(A); + draw A.nw -- A.ne -- A.se -- A.sw -- cycle; + draw A.human.nw -- A.human.ne -- A.human.se -- A.human.sw -- cycle; + +endfig; + + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/fig/usecase_diagrams.mp b/Master/texmf-dist/doc/metapost/metauml/manual/fig/usecase_diagrams.mp new file mode 100644 index 00000000000..110ca35c072 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/fig/usecase_diagrams.mp @@ -0,0 +1,48 @@ +% Part of the MetaUML manual. +% Copyright (C) 2005 Ovidiu Gheorghies +% +% 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. + +% for f in `find . | grep '.*\.[1-9]'`; do echo $f; done + +input metauml; + +beginfig(1); + Actor.user("User"); + Actor.db("Database"); + + Usecase.dbquery("Query database"); + Usecase.auth("Authentification"); + Usecase.authA("Authentification by", "username, password"); + Usecase.authB("Authentification by", "smartcard"); + + auth.w = user.human.e + (30,0); + dbquery.s = auth.n + (0,30); + db.human.w = dbquery.e + (30,0); + + authB.left - authA.right = 30; + authB.midy = authA.midy; + .5[authB.w, authA.e] = (auth.midx, auth.bottom - 50); + + drawObjects(user, auth, dbquery, db, authA, authB); + + clink(inheritance)(authA, auth); + clink(inheritance)(authB, auth); + clink(association)(auth, dbquery); + clink(association)(user.human, auth); + clink(association)(dbquery, db.human); +endfig; + +end diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/metauml-manual.bib b/Master/texmf-dist/doc/metapost/metauml/manual/metauml-manual.bib new file mode 100644 index 00000000000..845db1968fa --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/metauml-manual.bib @@ -0,0 +1,64 @@ +@misc{metaobj, + author = "Denis Roegel", + title = "The {METAOBJ} tutorial and reference manual", + year = "2002", + url = "http://texdoc.net/texmf-dist/doc/metapost/metaobj/momanual.pdf" +} +@book{texbook, + author = "Donald E. Knuth", + title = "The {\TeX{}}book", + year = "1986", + publisher = "Addison-Wesley Publishing Company" +} +@book{latexbook, + author = "Leslie Lamport", + title = "{\LaTeX} a {D}ocument {P}reparation {S}ystem", + year = "1994", + publisher = "Addison-Wesley Publishing Company" +} +@misc{metapost, + author = "John D. Hobby", + title = "{METAPOST} {A} {U}ser's {M}anual", + year = "2018", + url = "http://www.tug.org/tutorials/mp/mpman.pdf" +} +@misc{umlsty, + author = "Ellef Fange Gjelstad", + title = "uml.sty, a package for writing {UML} diagrams in {LATEX}", + year = "2010", + url = "http://mirror.hmc.edu/ctan/graphics/pstricks/contrib/uml/uml.pdf" +} + +@misc{pstumlsty, + author = "Maurice Diamantini", + title = "Interface utilisateur du package pst-uml", + year = "2006", + url = "http://mirrors.nxthost.com/ctan/graphics/pstricks/contrib/pst-uml/pst-uml-doc.pdf" +} + +@misc{umldoc, + author = "Doug Palmer", + title = "The umldoc {UML} {D}ocumentation {P}ackage", + year = "1999", + url = "https://www.charvolant.org/elements/umldoc.pdf" +} + +@misc{tikzuml, + author = "Nicolas Kielbasiewicz", + title = "The {T}ik{Z}-{UML} package", + year = "2016", + url = "http://perso.ensta-paristech.fr/~kielbasi/tikzuml/var/files/doc/tikzumlmanual.pdf" +} + +@misc{svglatex, + author = "Johan B. C. Engelen", + title = "How to include an SVG image in LATEX", + url = "http://tug.ctan.org/info/svg-inkscape/InkscapePDFLaTeX.pdf" +} + +@misc{umlomg, + publisher = "Object Management Group", + title = "{OMG}® {U}nified {M}odeling {L}anguage® ({OMG} {UML}®)", + year = "2017", + url = "https://www.omg.org/spec/UML/2.5.1/" +} diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/metauml-manual.tex b/Master/texmf-dist/doc/metapost/metauml/manual/metauml-manual.tex new file mode 100644 index 00000000000..933130a33d3 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/metauml-manual.tex @@ -0,0 +1,2072 @@ +% MetaUML: Tutorial, Reference and Test Suite +% +% Copyright (c) 2005-2019 Ovidiu Gheorghies +% Permission is granted to copy, distribute and/or modify this document +% under the terms of the GNU Free Documentation License, Version 1.2 +% or any later version published by the Free Software Foundation; +% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +% A copy of the license is included in the section entitled "GNU +% Free Documentation License". + +\documentclass{article} + +\usepackage[utf8]{inputenc} +\usepackage[pdftex,colorlinks=true]{hyperref} +\usepackage{multicol} +\usepackage{multido} +\usepackage[style=ieee]{biblatex} +\addbibresource{metauml-manual.bib} + +\ifx\pdftexversion\undefined + \usepackage[dvips]{graphicx} +\else + \usepackage[pdftex]{graphicx} + \DeclareGraphicsRule{*}{mps}{*}{} +\fi + +\newcommand{\code}{\ttfamily} + +\setcounter{page}{1} + +\begin{document} + +MetaUML: A Manual and Test Suite + +\begin{quote} + Copyright \copyright 2005-2019 Ovidiu Gheorghie\c{s}. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +\end{quote} + +\pagebreak +This page is intentionally left blank. + +\pagebreak +\title{MetaUML: A Manual and Test Suite} + +\author{Ovidiu Gheorghie\c{s}} + +\maketitle + +\begin{abstract} +MetaUML is a MetaPost \cite {metapost} library for creating UML \cite{umlomg} diagrams by means of a textual notation. +While presenting the inner workings of MetaUML, this manual doubles as a step-by-step tutorial. +More importantly, its source code contains many useful examples of diagrams, ranging from the very basic to the +more advanced and customized. +\end{abstract} + +\section{Introduction} + +Here is a quick MetaUML showcase: + +\begin{multicols}{2} +\paragraph{A} Class Diagram\\ +\includegraphics[scale=.55]{fig/appetizer.1} +\paragraph{B} Activity Diagram\\ +\includegraphics[scale=.55]{fig/appetizer.2} +\paragraph{C} Notes\\ +\includegraphics[scale=.55]{fig/appetizer.5} +\columnbreak +\paragraph{D} Use Case Diagram\\ +\includegraphics[scale=.55]{fig/appetizer.3} +\paragraph{E} State Machine Diagram\\ +\includegraphics[scale=.55]{fig/appetizer.4} +\paragraph{F} Package Diagram\\ +\includegraphics[scale=.55]{fig/appetizer.6} +\end{multicols} + +\pagebreak + +The code that generates these diagrams is quite straightforward, combining a natural object-oriented parlance +with the power of MetaPost equation solving. + +For example, a UML class is drawn as follows: + +\begin{multicols}{2} +\begin{verbatim} +Class.A("MyClass") + ("attr1: int", "attr2: int") + ("method1(): void", + "method2(): void"); + +A.nw = (0, 0); % optional, implied +drawObject(A); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/appetizer.7} +\end{multicols} + +This code creates a visual object, referenced by its name {\code A}, of the MetaUML-defined type {\code Class}. +Object {\code A} has the following content properties: a name +({\code MyClass}), a list of attributes ({\code attr1}, {\code attr2}) +and a list of methods ({\code method1}, {\code method2}). To set the object's location, we assign a value to the +so-called ``north-west'' point of the encompassing rectangle, {\code A.nw} --- a point which in actual fact references +the upper-left corner. + +Every MetaUML visual object has the layout properties shown in figure \ref{fig:properties}. +These properties may be used to set the location of any given object, either by assigning to them absolute values, +or by linking them relatively to other objects via equations. + +\begin{figure} +\centering +\includegraphics{fig/properties.1} +\caption{Layout properties of MetaUML objects. Here, a {\code Class} object is depicted.} +\label{fig:properties} +\end{figure} + +The following example demonstrates, respectively, the use of absolute and relative positioning for two classes, {\code A} and {\code B}. + +\begin{multicols}{2} +\begin{verbatim} +A.nw = (0,0); +B.w = A.e + (20, 0); +\end{verbatim} +\columnbreak +\includegraphics{fig/appetizer.8} +\end{multicols} + +After the objects have been drawn, it becomes possible to attach links to them. In a class diagram, inheritance +or association relations are meaningful links between classes, while in a state machine diagram, transitions between +states can be used. Here is the general pattern used by MetaUML for drawing links: + +\begin{verbatim} +link()(); +\end{verbatim} + +The ``how-to-draw-information'' is an object which defines the style of the line (e.g. solid, dashed) and the appearance +of the heads (e.g. nothing, arrow, diamond). One such object, appropriately called {\code inheritance}, defines a solid +line style and a white triangle head. The other parameter, the ``path-to-draw'', is simply a MetaPost path. + +For example, the following call draws an inheritance relation from class {\code B} to class {\code A}. + +\begin{verbatim} +link(inheritance)(B.e -- A.w); +\end{verbatim} + +The direction of the path is important, as MetaUML uses it to determine the +type of adornment to attach to the link ends (if applicable). In our example, a white triangle, +denoting inheritance, points towards the end of the path, that is towards class {\code A}. + +Let us sum up with a diagram typical for MetaUML use. Firstly, we define the objects that we want to include +in our diagram. Secondly, we position these objects relative to each other. Thirdly, we draw the objects. Finally, we +draw the links, by referencing the layout properties of the previously drawn objects. Note that in our example the +positioning of {\code A} need not be set explicitly because ``floating'' objects are automatically positioned at +{\code (0,0)} by their draw method. + +\begin{multicols}{2} + +\begin{verbatim} +input metauml; + +beginfig(1); + Class.A("A")()(); % 1. Define the objects + Class.B("B")()(); + B.w = A.e + (20, 0); % 2. Position the objects + drawObjects(A, B); % 3. Draw the objects + link(inheritance)(B.w -- A.e); % 4. Draw links between objects +endfig; +end +\end{verbatim} +\columnbreak +\includegraphics{fig/appetizer.9} +\end{multicols} + +As far as a user is concerned, this is all there is to MetaUML. With a reference describing how the +UML elements are created, arbitrarily complex diagrams can be crafted. + +\section{Class Diagrams} + +A class is created as follows: + +\begin{verbatim} +Class.() + () + (); +\end{verbatim} + +The suffix {\code } specifies an identifier for the newly created {\code Class} object +(which, of course, represents a UML class). +The name of the UML class is a string given by {\code }; +the attributes and methods are given as list of strings, {\code } and {\code } +respectively. The list of attributes and the list of methods may be void. + +An attribute or a method string may begin with a visibility marker: ``$+$'' for +public, ``\#'' for protected, ``$-$'' for private, and ``\textasciitilde'' for package private. +The default visibility is package private. + +\begin{multicols}{2} +\begin{verbatim} +Class.A("Point") + ("#x:int", "#y:int") + ("+set(x:int, y:int)", + "+getX():int", + "+getY():int", + "-debug():void", + "test():void"); +drawObject(A); +\end{verbatim} +\columnbreak +\includegraphics{fig/class.1} +\end{multicols} + +To disable showing the visibility markers, use {\code Class\_noVisibilityMarkers}, as shown below: + +\begin{multicols}{2} +\begin{verbatim} + Class.A("Point") + ("#x:int", "#y:int") + ("+toString():String"); + Class_noVisibilityMarkers.A; + + drawObject(A); +\end{verbatim} +\columnbreak +\includegraphics{fig/class.15} +\end{multicols} + +\subsection{Stereotypes} + +After a class is created, but before it is drawn, its stereotypes may be specified by using {\code Class\_stereotypes}: + +\begin{verbatim} +Class_stereotypes.(); +\end{verbatim} + +Here, {\code } is the object name of a previously created class and {\code } +is a comma-separated list of strings. Here is an example: + +\begin{multicols}{2} +\begin{verbatim} +Class.A("User")()(); +Class_stereotypes.A("<>","<>"); + +drawObject(A); +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/class.2} +\end{multicols} + +\subsection{Interfaces and Abstract Classes} + +At times it is preferred to write the name of an interface in an oblique font, rather than using the ``interface'' +stereotype. This can be easily achieved by using the macro {\code Interface}: + +\begin{verbatim} +Interface.name(class-name) + (list-of-methods); +\end{verbatim} + +Here is an example: + +\begin{multicols}{2} +\begin{verbatim} +Interface.A("Observer") + ("+update(src:Object)"); + +drawObject(A); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/class.11} +\end{multicols} + +Since internally {\code Interface} treated as a special kind of {\code Class}, the code above is equivalent to: +\begin{verbatim} +EClass.A(iInterface)("Observer")() + ("+update(src:Object)"); +\end{verbatim} + +Abstract classes can be drawn similarly using the {\code iAbstractClass} style: +\begin{samepage} +\begin{multicols}{2} +\begin{verbatim} +EClass.A(iAbstractClass)("Observable") + ("observers: Observer[0..*]") + ("+addObserver(o: Observer)", + "+notify()"); + +drawObject(A); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/class.12} +\end{multicols} +\end{samepage} + +If you prefer, you can use equivalent construct: + +\begin{verbatim} +AbstractClass.A("Observable") + ("observers: Observer[0..*]") + ("+addObserver(o: Observer)", + "+notify()"); +\end{verbatim} + +\subsection{Displaying Class Name Only} + +If you want the empty methods and attributes compartments in a class not being displayed, one way is to set the spacing +at their top and the bottom to {\code 0}: +\begin{samepage} +\begin{multicols}{2} +\begin{verbatim} +Class.A("MyModel")()(); +A.info.iName.top := 10; +A.info.iName.bottom := 10; +A.info.iAttributeStack.top := 0; +A.info.iAttributeStack.bottom := 0; +A.info.iMethodStack.top := 0; +A.info.iMethodStack.bottom := 0; + +drawObject(A); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/class.13} +\end{multicols} +\end{samepage} + +The same effect can be achieved by using the formatting information object {\code iClassNameOnly} or the {\code ClassName} macro: + +\begin{multicols}{2} +\begin{verbatim} +EClass.A(iClassNameOnly)("MyModel")()(); +ClassName.B("AnotherModel"); +Class_stereotypes.B("<>"); + +topToBottom(20)(A, B); + +drawObjects(A, B); +\end{verbatim} +\columnbreak +\hspace{2cm}\includegraphics{fig/class.14} +\end{multicols} + +To customize the space around the class name globally, you can set the values of {\code iClassNameOnly.iName.top} and {\code iClassNameOnly.iName.bottom}. Individually, for a given object, say {\code B}, the attributes {\code B.info.iName.top} and {\code B.info.iName.bottom} can be used. + +\subsection{Objects (or Class Instances)} + +A UML object (or class instance) is created as follows: + +\begin{verbatim} +Instance.name(object-name) + (list-of-attributes); +\end{verbatim} + +The suffix {\code name} gives a name to the {\code Instance} object. The name of the object (given by {\code object-name}) is typeset underlined. The attributes are given as a comma-separated list of strings, {\code list-of-attributes}. + +\begin{multicols}{2} +\begin{verbatim} +Instance.order("o: Order") + ("name='book'", "{placed}", "{payed}"); +drawObject(order); +\end{verbatim} +\columnbreak +\hspace{2cm}\includegraphics{fig/instance.1} +\end{multicols} + + +\subsection{Parametrized Classes (Templates)} + +The most convenient way of typesetting a class template in MetaUML is to use the macro {\code ClassTemplate}. +This macro creates a visual object which is appropriately positioned near the class object it adorns. + +\begin{verbatim} +ClassTemplate.name(list-of-templates) + (class-object); +\end{verbatim} + +The {\code name} is the name of the template object, {\code list-of-templates} is a comma-separated list of strings and the {\code class-object} is the name of a class object. + +Here is an example: + +\begin{multicols}{2} +\begin{verbatim} +Class.A("Vector")()(); +ClassTemplate.T("T", "size: int")(A); + +drawObjects(A, T); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/class.3} +\end{multicols} + +The macro {\code Template} can also be used to create a template object, but this time the resulting +object can be positioned freely. + +\begin{verbatim} +Template.name(list-of-templates); +\end{verbatim} + +Of course, it is possible to specify both stereotypes and template parameters for a given class. + +\subsection{Types of Links} + +In this section we enumerate the relations that can be drawn between classes by means +of MetaUML macros. Suppose that we have the declared two points, {\code A} (on the left) +and {\code B} (on the right): + +\begin{verbatim} +pair A, B; +A = (0,0); +B = (50,0); +\end{verbatim} + +\begin{tabular}{||l|c||} +\hline +{\code link(association)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.4} \\ +\hline +{\code link(associationUni)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.5} \\ +\hline +{\code link(inheritance)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.6} \\ +\hline +{\code link(realization)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.12} \\ +\hline +{\code link(aggregation)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.7} \\ +\hline +{\code link(aggregationUni)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.8} \\ +\hline +{\code link(composition)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.9} \\ +\hline +{\code link(compositionUni)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.10} \\ +\hline +{\code link(dependency)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.11} \\ +\hline +\end{tabular} + +\subsection{Associations} +In UML an association typically has two of association ends and may have a name specified for it. +In turn, each association end may specify a multiplicity, a role, a visibility, an ordering. +These entities are treated in MetaUML as pictures having specific drawing information +(spacings, font). + +The first method of creating association ``items'' is by giving them explicit names. +Having a name for an association item comes in handy when referring to its properties +is later needed (see the non UML-compliant diagram below). The last parameter of the macro {\code item} is an equation which may use the item's name to perform positioning. + +\begin{multicols}{2} +\begin{verbatim} +Class.P("Person")()(); +Class.C("Company")()(); +% drawing code ommited + +item.aName(iAssoc)("works for") + (aName.s = .5[P.w, C.w]); +draw aName.n -- (aName.n + (20,20)); +label.urt("association name" infont "tyxtt", + aName.n + (20,20)); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics[scale=.8]{fig/class_association.1} +\end{multicols} + +However, giving names to every association item may become an annoying burden +(especially when there are many of them). Because of this, MetaUML also allows for +``anonymous items''. In this case, the positioning is set by an equation +which refers to the anonymous item as {\code obj}. + +\begin{multicols}{2} +\begin{verbatim} +% P and C defined as in the previous example + +item(iAssoc)("employee")(obj.nw = P.s); +item(iAssoc)("1..*")(obj.ne = P.s); + +% other items are drawn similarly +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/class_association.2} +\end{multicols} + +\subsection{Dependencies and Stereotypes} + +Stereotypes are frequently used with dependencies. Below is an example. +\pagebreak + +\begin{multicols}{2} +\begin{verbatim} +Class.F("Factory")()(); +Class.O("Object")()(); + +O.n = F.s - (0, 50); +drawObjects(F, O); + +clink(dependency)(F, O); +item(iStereo)("<>")(obj.w = .5[F.s,O.n]) +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/class_association.3} +\end{multicols} + +\section{Notes} + +A note is created as follows: + +\begin{verbatim} +Note.name(list-of-lines); +\end{verbatim} + +The suffix {\code name} is the name of the {\code Note} object. The contents of the note is given by a comma-separated +list of strings, {\code list-of-lines}, gives the text contents of the note object, each string being drawn on its own +line. + +Here is an example: + +\begin{multicols}{2} +\begin{verbatim} +Note.A("This note", "has two lines."); +drawObject(A); +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/note.1} +\end{multicols} + +\subsection{Attaching notes to diagram elements} + +Notes can be attached to diagram elements by using a link of type {\code dashedLink}. + +\begin{multicols}{2} +\begin{verbatim} +Note.A("This is a class"); +Class.C("Object")()(); + +A.sw = C.ne + (20, 20); + +drawObject(A, C); + +clink(dashedLink)(A, C); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/note.2} +\end{multicols} + +Now let us see a more complex example, which demontrates the ability of accessing sub-elements in a MetaUML diagram. +\pagebreak + +\begin{multicols}{2} +\begin{verbatim} +Note.nA("This is the class name"); +Note.nB("This is a key attribute"); +Note.nC("This is a nice method"); + +Class.C("Object")("+id:int") + ("+clone()", "+serialize()"); + +topToBottom.left(10)(nA, nB, nC); +leftToRight(10)(C, nB); + +drawObjects(C, nA, nB, nC); + +clink(dashedLink)(C.namePict, nA); +clink(dashedLink)(C.attributeStack.pict[0], nB); +clink(dashedLink)(C.methodStack.pict[1], nC); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/note.3} +\end{multicols} + +Macros like {\code leftToRight} and {\code topToBottom} are presented in section \ref{section:positioning}. + +\subsection{Using mathematical formulae} + +MetaUML notes can contain mathematical formulae written in TeX \cite{texbook}. Regretably, LaTeX \cite{latexbook} support for formulae is {\bf not} available. +Limited as it may be, this feature is considered experimental, as it is not always straightforward to use. In the example below, note that the MetaPost package {\code TEX} is imported. + +\begin{multicols}{2} +\begin{verbatim} +input metauml; +input TEX; + +beginfig(1); + Note.A("This class implements the formula:", + TEX("$\sum_1^n f(x) \cdot dx$")); + drawObjects(A); +endfig; + +end +\end{verbatim} +\columnbreak +\hspace{0.5cm}\includegraphics{fig/note.4} +\end{multicols} + +For taller formulae, you must be prepared to do some advanced stunts. Remark: {\code "aaa" \& "bbb"} is MetaPost's way to concatenate the strings into {\code "aaabbb"}; +the string containing the formula was split in two for layout reasons. + +\begin{multicols}{2} +\begin{verbatim} +Note.A("Can you do it?", + TEX("$\sum_1^n f(x) \cdot dx " & + "\over \sum_1^m g(y) \cdot dy$")); +A.stack.info.spacing := 30; +A.stack.pict[1].info.ignoreNegativeBase := 0; + +drawObject(A); +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/note.5} +\end{multicols} + +Alas, this trick does not entirely solve the problem: a third line in the note would be badly aligned. Therefore, +until MetaUML's {\code Note} class is upgraded to better support this scenario, you may want to limit yourself +to two lines per note --- at least when tall formulae are involved. + +\section{Packages} + +MetaUML allows for the creation of packages in various forms. Firstly, we have the option of writing the package +name in the middle of the main box. Secondly, we can write the name on the tiny box above the main box, leaving +the main box empty. Lastly, we can write the package name as in the second case, but the main box can have an arbitrary +contents: classes, other packages, or even other UML items. + +The macro that creates a package has the following synopsis: + +\begin{verbatim} +Package.name(package-name)(subitems-list); +\end{verbatim} + +The parameter {\code package-name} is a string or a list of comma-separated strings representing the package's name. +The {\code subitems-list} parameter is used to specify the subitems (tipically classes or packages) of this package; +its form is as a comma-separated list of objects, which can be void. + +\begin{multicols}{2} +\begin{verbatim} +Package.P("java.lang")(); +drawObject(P); +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/package.1} +\end{multicols} + +Below is another example: + +\begin{multicols}{2} +\begin{verbatim} +Package.P("An important", "package")(); +drawObject(P); +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/package.2} +\end{multicols} + +If you wish to leave the main box empty, you can use the following code: + +\begin{multicols}{2} +\begin{verbatim} +Package.P("java.lang")(); +P.info.forceEmptyContent := 1; +drawObject(P); +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/package.3} +\end{multicols} + +The same effect as above can be achieved globally by doing: + +\begin{verbatim} +iPackage.forceEmptyContent := 1; +\end{verbatim} + +More information on MetaUML's way of managing global and per-object configuration data can be found in +section \ref{section:infrastructure} and section \ref{section:customization}. + +Here is an example involving items contained in a package. + +\begin{multicols}{2} +\begin{verbatim} +Class.A("A")()(); +Class.B("B")()(); +Package.P("net.metauml")(A, B); + +leftToRight(10)(A, B); + +drawObject(P); +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/package.4} +\end{multicols} + +\subsection{Types of Links} + +The nesting relation between packages is created by using the {\code nest} link information. + +\begin{tabular}{||l|c||} +\hline +{\code link(nest)(X.e -- Y.w)} & \includegraphics{fig/package.5} \\ +\hline +\end{tabular} + +\section{Component Diagrams} + +A component is created by the macro {\code Component}: + +\begin{verbatim} +Component.name(component-name) + (subitems-list) +\end{verbatim} + +The parameter {\code component-name} is a string representing the component's name. The {\code subitems-list} parameter +is used to specify the subitems of this component (possibly classes, packages or other components); its form is as a +comma-separated list of objects, which can be void. + +\begin{multicols}{2} +\begin{verbatim} +Component.C("Business Logic")(); +drawObject(C); +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/component.1} +\end{multicols} + +Here is an example involving subitems in a component: + +\begin{multicols}{2} +\begin{verbatim} +Class.A("A")()(); +Package.B("B")(); +Component.C("C")(); + +Component.BigC("Big Component")(A, B, C); + +leftToRight(10)(A, B); +topToBottom(10)(A, C); + +drawObject(BigC); +\end{verbatim} +\columnbreak +\hspace{3cm}\includegraphics{fig/component.2} +\end{multicols} + +\subsection{Types of Links} + +\begin{tabular}{||l|c||} +\hline +{\code link(requiredInterface)( A.e -- .5[A.e, B.w] );} & \includegraphics{fig/component.3} \\ +\hline +{\code link(providedInterface)( .5[A.e, B.w] -- B.w );} & \includegraphics{fig/component.4} \\ +\hline +\end{tabular} + +\vspace{0.5cm} + +The {\code requiredInterface} and {\code providedInterface} visual constructs can be easily combined, as shown in the following example: + +\begin{multicols}{2} +\begin{verbatim} +Component.A("A")(); +Component.B("B")(); + +leftToRight(80)(A, B); + +drawObjects(A, B); + +link(providedInterface)( A.e -- .5[A.e, B.w] ); +link(requiredInterface)( B.w -- .5[A.e, B.w] ); +\end{verbatim} +\columnbreak +\hspace{-1cm}\includegraphics{fig/component.5} +\end{multicols} + + +\section{Use Case Diagrams} + +\subsection{Use Cases} +An use case is created by the macro {\code Usecase}: + +\begin{verbatim} +Usecase.name(list-of-lines); +\end{verbatim} + +The {\code list-of-lines} is a comma-separated list of strings. These strings are placed +on top of each other, centered and surrounded by the appropriate visual UML notation. + +Here is an use case example: + +\begin{multicols}{2} +\begin{verbatim} +Usecase.U("Authenticate user", + "by name, password"); +drawObject(U); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/usecase.1} +\end{multicols} + +\subsection{Actors} + +An actor is created by the macro {\code Actor}: + +\begin{verbatim} +Actor.name(list-of-lines); +\end{verbatim} + +Here, {\code list-of-lines} represents the actor's name. For convenience, the name may be +given as a list of strings which are placed on top of each other, to provide support for +the situations when the role is quite long. Otherwise, giving a single string +as an argument to the Actor constructor is perfectly fine. + +Here is an actor example: + +\begin{multicols}{2} +\begin{verbatim} +Actor.A("User"); +drawObject(A); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/usecase.2} +\end{multicols} + +Sometimes it may be preferable to draw diagram relations positioned relatively to +the visual representation of an actor (the ``human'') rather than relatively to the whole +actor object (which also includes the text). Because of that, MetaUML provides access +to the ``human'' of every actor object {\code actor} by means of the sub-object {\code actor.human}. + +\begin{multicols}{2} +\begin{verbatim} +Actor.A("Administrator"); +drawObject(A); +draw objectBox(A); +draw objectBox(A.human); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/usecase.3} +\end{multicols} + +In MetaUML, {\code objectBox(X)} is equivalent to {\code X.nw -- X.ne -- X.se -- X.sw -- cycle} for every object {\code X}. {\code A.human} is considered a MetaUML object, so you can use expressions like {\code A.human.n} or {\code A.human.midx}. + +\subsection{Types of Links} + +Some of the types of links defined for class diagrams (such as inheritance, association etc.) can be used with similar semantics within use case diagrams. + +\section{Activity Diagrams} + +\subsection{Begin, End and Flow End} + +The begin and the end of an activity diagram can be marked by using the macros {\code Begin} +and {\code End} or {\code FlowFinal}, respectively. The constructors of these visual objects take no parameters: + +\begin{verbatim} +Begin.beginName; +End.endName; +\end{verbatim} + +Below is an example: + +\begin{multicols}{2} +\begin{verbatim} +Begin.b; +End.e; +FlowFinal.f; + +leftToRight(20)(b, e, f); + +drawObjects(b, e, f); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/activity.1} +\end{multicols} + +\subsection{Activity} + +An activity is constructed as follows: +\begin{verbatim} +Activity.name(list-of-strings); +\end{verbatim} + +The parameter {\code list-of-strings} is a comma-separated list of strings. These strings are +centered on top of each other to allow for the accommodation of a longer activity description +within a reasonable space. + +An example is given below: + +\begin{multicols}{2} +\begin{verbatim} +Activity.A("Learn MetaUML -", + "the MetaPost UML library"); +drawObject(A); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/activity.2} +\end{multicols} + +\subsection{Fork and Join} + +A fork or join is created by the macro: + +\begin{verbatim} +Fork.name(type, length); +\end{verbatim} + +The parameter {\code type} is a string and can be either of {\code "h"}, {\code "horiz"}, {\code "horizontal"} +for horizontal bars, and either of {\code "v"}, {\code "vert"}, {\code "vertical"} for vertical bars. +The {\code length} gives the bar's length. + +\begin{multicols}{2} +\begin{verbatim} +Fork.forkA("h", 100); +Fork.forkB("v", 20); + +leftToRight(10)(forkA, forkB); + +drawObject(forkA, forkB); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/activity.3} +\end{multicols} + +\subsection{Branch} + +A branch is created by the macro: + +\begin{verbatim} +Branch.name; +\end{verbatim} + +Here is an example: + +\begin{multicols}{2} +\begin{verbatim} +Branch.testA; + +drawObject(testA); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/activity.4} +\end{multicols} + + +\subsection{Types of Links} + +In activity diagrams, transitions between activities are needed. They are typeset +as in the example below. In section \ref{composite-states} such a transition +is showed. This type of link is also used for state machine diagrams. + +\begin{verbatim} +link(transition)( pointA -- pointB ); +\end{verbatim} + +\section{State Diagrams} + +The constructor of a state allows for aggregated sub-states: + +\begin{verbatim} +State.name(state-name)(substates-list); +\end{verbatim} + +The parameter {\code state-name} is a string or a list of comma-separated strings representing +the state's name or description. The {\code substates-list} parameter is used to specify +the substates of this state as a comma-separated list of objects; this list may be void. + +An example of a simple state: + +\begin{multicols}{2} +\begin{verbatim} +State.s("Take order")(); +drawObject(s); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/state.1} +\end{multicols} + + +\subsection{Composite States} +\label{composite-states} + +A composite state is defined by enumerating at the end of its constructor the inner +states. Interestingly enough, the composite state takes care of drawing the sub-states it +contains. The transitions must be drawn after the composite state, as seen in the +next example: + +\begin{multicols}{2} +\begin{verbatim} +Begin.b; +End.e; +State.c("Component")(); +State.composite("Composite")(b, e, c); + +b.midx = e.midx = c.midx; +c.top = b.bottom - 20; +e.top = c.bottom - 20; + +composite.info.drawNameLine := 1; +drawObject(composite); + +link(transition)(b.s -- c.n); +link(transition)(c.s -- e.n); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/state.2} +\end{multicols} + +\subsection{Internal Transitions} + +Internal transitions can be specified by using the macro: +\begin{verbatim} +stateTransitions.name(list-transitions); +\end{verbatim} + +Identifier {\code name} gives the state object whose internal transitions are being set, +and parameter {\code list-transitions} is a comma-separated string list. + + +An example is given below: + +\begin{multicols}{2} +\begin{verbatim} +State.s("An interesting state", + "which is worth mentioning")(); +stateTransitions.s( + "OnEntry / Open eyes", + "OnExit / Sleep well"); +s.info.drawNameLine := 1; + +drawObject(s); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/state.3} +\end{multicols} + +\subsection{Special States} + +Similarly to the usage of {\code Begin} and {\code End} macros, one can define history states, +exit/entry point states and terminate pseudo-states, by using the following constructors. + +\begin{verbatim} +History.nameA; +ExitPoint.nameB; +EntryPoint.nameC; +Terminate.nameD; +\end{verbatim} + +\section{Drawing Paths} + +The {\code link} macro is powerful enough to draw relations following arbitrary paths: + +\begin{multicols}{2} +\begin{verbatim} +path cool; +cool := A.e .. A.e+(20,10) .. + B.s+(20,-40) .. B.s+(-10,-30) + -- B.s; +link(inheritance)(cool); + +link(aggregationUni) + (A.n ..(30,30)..B.w); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/paths.1} +\end{multicols} + +Amusing as it may be, this feature gets old soon. When typesetting UML diagrams in good style, rectangular paths are usually preferred. +It is for this kind of paths that MetaUML offers extensive support, by means of ``syntactic sugar'' constructs which +are not only self-documenting, but reduce the amount of typing and thinking required. + +\subsection{Manhattan Paths} + +The ``Manhattan'' path macros generate a path between two points consisting of one +horizontal and one vertical segment. The macro {\code pathManhattanX} generates first a +horizontal segment, while the macro {\code pathManhattanY} generates first a +vertical segment. In MetaUML it also matters the direction of a path, so you +can choose to reverse it by using {\code rpathManhattanX} and {\code rpathManhattanY} +(note the prefix ``{\code r}''): + +\begin{verbatim} +pathManhattanX(A, B) +pathManhattanY(A, B) + +rpathManhattanX(A, B) +rpathManhattanY(A, B) +\end{verbatim} + +\pagebreak +Here is an example: + +\begin{multicols}{2} +\begin{verbatim} +Class.A("A")()(); +Class.B("B")()(); + +B.sw = A.ne + (10,10); +drawObjects(A, B); + +link(aggregationUni) + (rpathManhattanX(A.e, B.s)); +link(inheritance) + (pathManhattanY(A.n, B.w)); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/paths.2} +\end{multicols} + +\subsection{Stair Step Paths} + +These path macros generate stair-like paths between two points. +The ``stair'' can ``rise'' first in the direction of $Ox$ axis ({\code pathStepX}) +or in the direction of $Oy$ axis ({\code pathStepY}). How much should a step +rise is given by an additional parameter, {\code delta}. Again, the macros +prefixed with ``{\code r}'' reverse the direction of the path given by their +unprefixed counterparts. + +\begin{verbatim} +pathStepX(A, B, delta) +pathStepY(A, B, delta) + +rpathStepX(A, B, delta) +rpathStepY(A, B, delta) +\end{verbatim} + +Here is an example: + +\begin{multicols}{2} +\begin{verbatim} +stepX:=60; +link(aggregationUni) + (pathStepX(A.e, B.e, stepX)); + +stepY:=20; +link(inheritance) + (pathStepY(B.n, A.n, stepY)); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/paths.3} +\end{multicols} + +\subsection{Horizontal and Vertical Paths} + +There are times when drawing horizontal or vertical links is required, +even when the objects are not properly aligned. To this aim, the following macros +are useful: + +\begin{verbatim} +pathHorizontal(pA, untilX) +pathVertical(pA, untilY) + +rpathHorizontal(pA, untilX) +rpathVertical(pA, untilY) +\end{verbatim} + +A path created by {\code pathHorizonal} starts from the point {\code pA} +and continues horizontally until coordinate {\code untilX} is reached. The macro +{\code pathVertical} constructs the path dually, working vertically. +The prefix ``{\code r}'' reverses the direction of the path. + +Usage example: + +\begin{multicols}{2} +\begin{verbatim} +untilX := B.left; +link(association) + (pathHorizontal(A.e, untilX)); + +untilY:= C.bottom; +link(association) + (pathVertical(A.n, untilY)); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/paths.4} +\end{multicols} + +\subsection{Direct Paths} + +A direct path can be created with {\code directPath}. The call {\code directPath(A, B)} +is equivalent to {\code A -{}- B}. + +\subsection{Paths between Objects} + +Using the constructs presented above, links between diagram objects are drawn easily like this: + +\begin{verbatim} +link(transition)(directPath(objA.nw, objB.se)); +\end{verbatim} + +There are times however when this direct approach may yield unsatisfactory visual results, +especially when the object's corners is round. To tackle these situations, MetaUML provides the macro +{\code pathCut}, whose aim is to limit a given path exactly to the region outside the actual +borders of the objects it connects. The macro's synopsis is: + +\begin{verbatim} +pathCut(thePath)(objectA, objectB) +\end{verbatim} + +Here, {\code thePath} is a given MetaPost path and {\code objectA} and {\code objectB} +are two MetaUML objects. By contract, each MetaUML object of type, say, {\code X} +defines a macro {\code X\_border} which returns the path that surrounds it. Because +of that, {\code pathCut} can make the appropriate modifications to {\code thePath}. + +The following code demonstrates the benefits of the {\code pathCut} macro: + +\begin{multicols}{2} +\begin{verbatim} +z = A.se + (30, -10); +link(transition) + (pathCut(A, B)(A.c--z--B.c)); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/paths.5} +\end{multicols} + +\subsubsection{Direct Paths between Centers} + +At times is quicker to just draw direct paths between the center of two objects, +minding of course the object margins. The macro which does this is {\code clink}: + +\begin{verbatim} +clink(how-to-draw-information)(objA, objB); +\end{verbatim} + +The parameter {\code how-to-draw-information} is the same as for the macro {\code link}; +{\code objA} and {\code objB} are two MetaUML objects. + +Below is an example which involves the inheritance relation: + +\begin{multicols}{2} +\begin{verbatim} +clink(inheritance)(A, B); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/paths.6} +\end{multicols} + +\section{Arranging Diagram Items} +\label{section:positioning} + +Using equations involving cardinal points, such as {\code A.nw = B.ne + (10,0)}, is +good enough for achieving the desired results. However, programs are best to +be written for human audience, rather than for compilers. It does become a bit +tiresome to think all the time of cardinal points and figure out the +direction of positive or negative offsets. Because of that, MetaUML offers +syntactic sugar which allows for an easier understanding of the intent behind +the positioning code. + +Suppose that we have three classes, {\code A}, {\code B}, {\code C} and their base class +{\code Base}. We want the base class to be at the top, and the derived classes to be +on a line below. This code will do: + +\begin{verbatim} +A.ne = B.nw + (20,0); +B.ne = C.nw + (20,0); +Base.s = B.n + (0,-20); +\end{verbatim} + +Unfortunately, writing code such as this makes it hard for fellow programmers to visualize +its intent upon reading it. And ``fellow programmers`` include the author, five minutes later. + +Perhaps the next version of the code will drive home the point. The outcome is +the same as before, but the layout is stated in a more human-friendly way. You might even +infer by yourself that the numeric argument represents the distance between the objects. + +\begin{multicols}{2} +\begin{verbatim} +leftToRight(20)(A, B, C); +topToBottom(20)(Base, B); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/positioning.2} +\end{multicols} + +Below there are examples which show how these macros can be used. Suppose that we have the +following definitions for objects {\code X}, {\code Y}, and {\code Z}; also, let's assume +that {\code spacing} is a numeric variable set to {\code 5}. + +\begin{verbatim} +Picture.X("a"); +Picture.Y("..."); +Picture.Z("Cyan"); +\end{verbatim} + +\begin{tabular}{||l|c||} +\hline +{\code leftToRight.top(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.3} \\ +\hline +{\code leftToRight.midy(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.4} \\ +\hline +{\code leftToRight.bottom(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.5} \\ +\hline +{\code topToBottom.left(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.6} \\ +\hline +{\code topToBottom.midx(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.7} \\ +\hline +{\code topToBottom.right(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.8} \\ +\hline +\end{tabular} \\ + +To make things even easier, the following equivalent contructs are also allowed: + +\begin{verbatim} +leftToRight.midy(spacing)(X, Y, Z); +leftToRight(spacing)(X, Y, Z); +\end{verbatim} + +\begin{verbatim} +topToBottom.midx(spacing)(X, Y, Z); +topToBottom(spacing)(X, Y, Z); +\end{verbatim} + +If you want to specify that some objects have a given property equal, while the distance between them is given elsewhere, you can use the macro {\code same}. +This macro accepts a variable number of parameters, but at least two. The following table gives the interpretation of the macro for a simple example. + +\begin{tabular}{||l|l||} +\hline +{\code same.top(X, Y, Z);} & {\code X.top = Y.top = Z.top;} \\ +\hline +{\code same.midy(X, Y, Z);} & {\code X.midy = Y.midy = Z.midy;} \\ +\hline +{\code same.bottom(X, Y, Z);} & {\code X.bottom = Y.bottom = Z.bottom;} \\ +\hline +{\code same.left(X, Y, Z);} & {\code X.left = Y.left = Z.left;} \\ +\hline +{\code same.midx(X, Y, Z);} & {\code X.midx = Y.midx = Z.midx;} \\ +\hline +{\code same.right(X, Y, Z);} & {\code X.right = Y.right = Z.right;} \\ +\hline +\end{tabular} \\ + +Relative positions of two points can be declared more easily using the macros {\code below}, {\code above}, {\code atright}, {\code atleft}. +Let us assume that {\code A} and {\code B} are two points (objects of type {\code pair} in MetaPost). The following constructs are equivalent: + +\begin{tabular}{||l|l||} +\hline +{\code B = A + (5,0);} & {\code B = atright(A, 5);} \\ +{\code B = A - (5,0);} & {\code B = atleft(A, 5);} \\ +{\code B = A + (0,5);} & {\code B = above(A, 5);} \\ +{\code B = A - (0,5);} & {\code B = below(A, 5);} \\ +\hline +\end{tabular} + + +\section{The MetaUML Infrastructure} +\label{section:infrastructure} + +MetaPost is a macro language based on equation solving. Using it may seem quite +tricky at first for a programmer accustomed to modern object-oriented languages. +However, the great power of MetaPost consists in its versatility. Indeed, it is possible to write +a system which mimics quite well object-oriented behavior. Along this line, METAOBJ +\cite{metaobj} is a library worth mentioning: it provides a high-level objects +infrastructure along with a battery of predefined objects. + +Surprisingly enough, MetaUML does not use METAOBJ. Instead, it uses a custom written, +lightweight object-oriented infrastructure, provisionally called ``{\code util}''. +METAOBJ's facilities, although impressive, were perceived by me as being a bit too much +for what was initially intented as a quick way of getting some UML diagrams layed out. +Inspired by METAOBJ, ``{\code util}'' was designed to fulfill with minimal effort +the specific tasks needed to confortably position, allign or group visual objects +which include text. + +Another library having some object-oriented traits is the {\code boxes} +library, which comes with the standard MetaPost distribution. Early versions of +MetaUML did use {\code boxes} as an infrastructure, but this approach had to be abandoned eventually. +The main reason was that it was difficult to achieve good visual results when stacking texts +(more on that further on). For all it's worth, it did not fit well with the way in which MetaUML's +layout mechanism was shaping up at the time. + +\subsection{Motivation} + +Suppose that we want to typeset two texts with their bottom lines aligned, using {\code boxit}: + +\begin{multicols}{2} +\begin{verbatim} +boxit.a ("yummy"); +boxit.b ("cool"); + +a.nw = (0,0); b.sw = a.se + (10,0); + +drawboxed (a, b); % or drawunboxed(a,b) +draw a.sw -- b.se dashed evenly + withpen pencircle scaled 1.1; +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/boxes_vs_util.1} +\end{multicols} + +Note that, despite supposedly having their bottom lines alligned, +``yummy'' {\it looks} slightly higher than ``cool''. This would be unacceptable +in a UML class diagram, when roles are placed at the ends of a horizontal association. +Regardless of the default spacing being smaller in the {\code util} library, +the very same unfortunate misalignment effect rears its ugly head: + +\begin{multicols}{2} +\begin{verbatim} +Picture.a("yummy"); +Picture.b("cool"); +% comment next line for unboxed +a.info.boxed := b.info.boxed := 1; + +b.sw = a.se + (10,0); + +drawObjects(a, b); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/boxes_vs_util.2} +\end{multicols} + +However, the strong point of {\code util} is that we have a recourse to this problem: + +\begin{multicols}{2} +\begin{verbatim} +iPict.ignoreNegativeBase := 1; + +Picture.a("yummy"); +Picture.b("cool"); +% the rest the same as above +drawObjects(a, b); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/boxes_vs_util.3} +\end{multicols} + +\subsection{The Picture Macro} + +We have seen previously the line {\code iPict.ignoreNegativeBase := 1}. +Who is {\code iPict} and what is it doing in our program? MetaUML +aims at separating the ``business logic'' (what to draw) from the +``interface'' (how to draw). In order to achieve this, it records the ``how to draw'' +information within the so-called {\code Info} structures. The object {\code iPict} +is an instance of {\code PictureInfo} structure, which has the following properties +(or attributes): +\begin{verbatim} +left, right, top, bottom +ignoreNegativeBase +boxed, borderColor +\end{verbatim} + +The first four attributes specify how much space should be left around the +actual item to be drawn. The marvelous effect of {\code ignoreNegativeBase} +has just been shown (off), while the last two attributes control whether the border +should be drawn (when {\code boxed=1}) and if drawn, in which color. + +There's one more thing: the font to typeset the text in. This is specified +in a {\code FontInfo} structure which has two attributes: the font name +and the font scale. This information is kept within the {\code PictureInfo} structure +as a contained attribute {\code iFont}. Both {\code FontInfo} and {\code PictureInfo} +have ``copy constructors'' which can be used to make copies. We have already +the effect of these copy constructors at work, when we used: + +\begin{verbatim} +Picture.a("yummy"); +a.info.boxed := 1; +\end{verbatim} + +A copy of the default info for a picture, {\code iPict}, has been made within +the object {\code a} and can be accessed as {\code a.info}. Having a copy of the +info in each object may seem like an overkill, but it allows for a fine grained +control of the drawing mode of each individual object. This feature comes in very +handy when working with a large number of settings, as it is the case for MetaUML. + +Let us imagine for a moment that we have two types of text to write: one with a small font +and a small margin and one with a big font and a big margin. We could in theory +configure each individual object or set back and forth global parameters, but +this is far for convenient. It is preferable to have two sets of settings and specify +them explicitly when they are needed. The following code could be placed somewhere +in a configuration file and loaded before any {\code beginfig} macro: +\begin{verbatim} +PictureInfoCopy.iBig(iPict); +iBig.left := iBig.right := 20; +iBig.top := 10; +iBig.bottom := 1; +iBig.boxed := 1; +iBig.ignoreNegativeBase := 1; +iBig.iFont.name := defaultfont; +iBig.iFont.scale := 3; + +PictureInfoCopy.iSmall(iPict); +iSmall.boxed := 1; +iSmall.borderColor := green; +\end{verbatim} + +Below is an usage example of these definitions. Note the name of the macro: {\code EPicture}. +The prefix comes form ``explicit'' and it's used to acknowledge that the +``how to draw'' information is given explicitly --- as a parameter, +rather than defaulted to what's recorded in {\code iPict}, as with the {\code Picture} macro. +Having predefined configurations yields short, convenient code. + +\begin{multicols}{2} +\begin{verbatim} +EPicture.a(iBig)("yummy"); +EPicture.b(iSmall)("cool"); +% you can still modify a.info, b.info + +b.sw = a.se + (10,0); + +drawObjects(a, b); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/picture_info.1} +\end{multicols} + +\subsubsection{Fixed Sizes} + +By default, the size of a {\code Picture} object is set by its contents. However, +it is possible to specify fixed dimensions both the width and the height, independently. +This can be done by setting the {\code info}'s attributes {\code fixedWidth} and {\code fixedHeight} to values +greater than 0. If any of these attributes is left to its default value, {\code -1}, then for the corresponding +axis the dimension is set according to the dimension of the content. Nevertheless, the fixed dimensions are enforced, even though the contained object would have needed additional space. + +\begin{multicols}{2} +\begin{verbatim} +PictureInfoCopy.myFixed(iPict); +myFixed.ignoreNegativeBase := 1; +myFixed.fixedWidth := 15; +myFixed.fixedHeight := 20; +myFixed.boxed := 1; + +EPicture.a(myFixed)("a"); +EPicture.b(myFixed)(".-."); +EPicture.c(myFixed)("toolong"); + +leftToRight.bottom(10)(a, b, c); + +drawObjects(a, b, c); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/picture_info.2} +\end{multicols} + +\subsubsection{Content alignment} + +When fixed dimensions are used, one most likely would prefer a centered alignement of the contents in the +{\code Picture} box. This option can be expressed independently for each of the axes, +by setting the {\code info}'s attributes {\code valign} and {\code halign} to descriptive string values. +For horizontal alignement, {\code halign} can be set to {\code "left"} or {\code "center"}, and for +vertical alignement, {\code valign} can be set to {\code "bottom} or {\code "center"}. The default +values for these attributes are {\code "left"} and {\code "bottom"}, respectively. + +The next example uses horizontal centered alignement and a bottom alignement with a {\code 4.5} base offset, for +vertical alignement. This vertical alignement gives a better visual result than the centered one, at +least for the situations in which there are texts to be placed horizontally. + +\begin{multicols}{2} +\begin{verbatim} +PictureInfoCopy.myFixed(iPict); +myFixed.ignoreNegativeBase := 1; +myFixed.bottom := 4.5; +myFixed.valign := "bottom"; +myFixed.halign := "center"; +myFixed.fixedWidth := 25; +myFixed.fixedHeight := 15; +myFixed.boxed := 1; + +EPicture.a(myFixed)("a"); +EPicture.b(myFixed)("yum"); +EPicture.c(myFixed)("b"); + +leftToRight.bottom(10)(a, b, c); + +drawObjects(a, b, c); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/picture_info.3} +\end{multicols} + +\subsection{Stacking Objects} + +It is possible to stack objects, much in the style of {\code setboxjoin} +from {\code boxes} library. + +\begin{multicols}{2} +\begin{verbatim} +Picture.a0("yummy"); +Picture.a1("cool"); +Picture.a2("fool"); + +setObjectJoin(pa.sw = pb.nw); +joinObjects(scantokens listArray(a)(3)); + +drawObjects(scantokens listArray(a)(3)); +% or drawObjects (a0, a1, a2); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/object_stack.1} +\end{multicols} + +The {\code listArray} macro provides here a shortcut for writing +{\code a0, a1, a2}. This macro is particularly useful for generic +code which does not know beforehand the number of elements to be drawn. +Having to write the {\code scantokens} keyword is admittedly a nuisance, but +this is required. + + +\subsection{The Group Macro} + +It is possible to group objects in MetaUML. This feature is the cornerstone +of MetaUML, allowing for the easy development of complex objects, such as +composite stats in state machine diagrams. + +Similarly to the macro {\code Picture}, the structure {\code GroupInfo} +is used for specifying group properties; its default instantiation is +{\code iGroup}. Furthermore, the macro {\code EGroup} explicitely sets the +layout information. + +Here is an example: + +\begin{multicols}{2} +\begin{verbatim} +iGroup.left:=20; +iGroup.right:=15; +iGroup.boxed:=1; +iPicture.boxed:=1; + +Picture.a("yummy"); +Picture.b("cool"); +Picture.c("fool"); + +b.nw = a.nw + (20,20); % A +c.nw = a.nw + (15, 40); % B + +Group.g(a, b, c); +g.nw = (10,10); % C + +drawObject(g); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/group.1} +\end{multicols} + +After some objects are grouped, they can only be drawn +by invoking the {\code drawObject} macro on the group that aggregates them, and not individually. +Conveniently, once the relative positioning of objects within a group is set (line A and B), the whole +group can be ``moved'' do the desired position (line C), and all the contained objects will move along. + +\subsection{The PictureStack Macro} + +The {\code PictureStack} macro is a syntactic sugar for a set of pictures, +stacked according to predefined equations and grouped together. + +\begin{multicols}{2} +\begin{verbatim} +iStack.boxed := 1; +iStack.iPict.boxed := 1; +PictureStack.myStack("foo", + "bar: int" infont "tyxtt", + "nicely-centered" infont defaultfont, + "nice")("vcenter"); + +drawObject(myStack); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/picture_stack.1} +\end{multicols} + +Note the last parameter of the macro {\code PictureStack}, here {\code vcenter}. +It is used to generate appropriate equations based on a descriptive name. +The spacing between individual picture objects is set by the field +{\code iStack.spacing}. Currently, the following alignment names are +defined: {\code vleft}, {\code vright}, {\code vcenter}, +{\code vleftbase}, {\code vrightbase}, {\code vcenterbase}. All these +names refer to vertical alignment (the prefix ``{\code v}''); alignment can +be at left, right or centered. The variants having the suffix ``{\code base}'' align +the pictures so that {\code iStack.spacing} refer to the distance between the +bottom lines of the pictures. The unsuffixed variants use {\code iStack.spacing} as +the distance between one's bottom line and the next's top line. + +The ``{\code base}'' alignment is particularly useful for stacking text, since it +offers better visual appearance when {\code iPict.ignoreNegativeBase} is set to {\code 1}. + +\section{Components Design} + +Each MetaUML component (e.g. {\code Picture}, {\code PictureStack}, {\code Class}) is +designed according to an established pattern. This section gives more insight +on this. + +In order to draw a component, MetaUML categorizes the required information as follows: +\begin{itemize} +\item what to draw, or what are the elements of a component. +\item how to draw, or how are the elements positioned in relation to each other within the component +\item where to draw +\end{itemize} + +For example, in order to draw a picture object we must know, respectively: +\begin{itemize} +\item what is the text or the native picture that needs to be drawn +\item what are the margins that should be left around the contents +\item where is the picture to be drawn +\end{itemize} + +Why do we bother with these questions? Why don't we just simply draw the picture +component as soon as it was created and get it over with? +That is, why doesn't the following code just work? + +\begin{verbatim} +Picture.pict("foo"); +\end{verbatim} + +Well, although we have the answer to question 1 (what to draw), +we still need to have question 3 answered. The code below becomes thus a +necessity (actually, you are not forced to specify the positioning of an object, +because its draw method positions it to {\code (0,0)} by default): + +\begin{verbatim} +% question 1: what to draw +Picture.pict("foo"); + +% question 3: where to draw +pict.nw = (10,10); + +% now we can draw +drawObject(pict); +\end{verbatim} + +How about question 2, how to draw? By default, this problem is addressed behind the +scenes by the component. This means, for the Picture object, that a native picture is created +from the given string, and around that picture certain margins are placed, by means of MetaPost equations. +(The margins also come in handy when stacking Picture objects, so that the result doesn't look too cluttered.) +If these equations were defined within the Picture constructor, then an +usability problem would have appeared, because it wouldn't have been possible to modify the margins, +as in the code below: + +\begin{verbatim} +% question 1: what to draw +Picture.pict("foo"); + +% question 2: how to draw +pict.info.left := 10; +pict.info.boxed := 1; + +% question 3: where to draw +pict.nw = (0,0); + +% now we can draw +drawObject(pict); +\end{verbatim} + +To allow for this type of code, the equations that define the layout of the {\code Picture} object (here, what the margins are) +must be defined somewhere after the constructor. This is done by a macro called {\code Picture\_layout}. +This macro defines all the equations which link the ``what to draw'' information to the ``how to draw'' +information (which in our case is taken from the {\code info} member, a copy of {\code iPict}). +Nevertheless, notice that {\code Picture\_layouts} is not explicitly invoked. To the user's +great relief, this is taken care of automatically within the {\code Picture\_draw} macro. + +There are times however, when explicitly invoking a macro like {\code Picture\_layout} +becomes a necessity. This is because, by contract, it is only after the {\code layout} +macro is invoked that the final dimensions (width, height) of an object are +definitely and permanently known. Imagine that we have a component whose job is to +surround in a red-filled rectangle some other objects. This component +needs to know what the dimensions of the contained objects are, in order to be able to set +its own dimensions. At drawing time, the contained objects must not have been drawn already, +because the red rectangle of the container would overwrite them. +Therefore, the whole pseudo-code would be: +\begin{verbatim} +Create objects o1, o2, ... ok; +Create container c(o1, o2, ..., ok); +Optional: modify info-s for o1, o2, ... ok; +Optional: modify info for c; + +layout c, requiring layout of o1, o2, ... ok; +establish where to draw c; +draw red rectangle defined by c; +draw components o1, o2, ...ok within c +\end{verbatim} + +A natural conclusion is that an object must not be laid out more than once, because otherwise +inconsistent or superfluous equations would arise. To enforce this, by contract, +any object must keep record of whether its layout method has already been invoked, +and if the answer is affirmative, subsequent invocations of the layout macro would +do nothing. It is very important to mention that after the {\code layout} macro is +invoked over an object, modifying the {\code info} member of that object has +no subsequent effect, since the layout equations are declared and interpreted only once. + +\subsection{Notes on the Implementation of Links} + +MetaUML considers edges in diagram graphs as links. A link is composed of a path and the +heads (possible none, one or two). For example, since an association has no heads, it suffices +to draw along the path with a solid pen; however, an unidirectional aggregation has, in addition +to a solid path, two heads: one is an arrow and the other is a diamond. + +The general algorithm for drawing a link is: + +\begin{verbatim} +0. Reserve space for heads +1. Draw the path (except for the heads) +2. Draw head 1 +3. Draw head 2 +\end{verbatim} + +Each of the UML link types define how the drawing should be done, in each of the +cases (1, 2 and 3). Consider the link type of unidirectional composition. +Its ``class'' is declared as: + +\begin{verbatim} +vardef CompositionUniInfo@# = + LinkInfo@#; + + @#widthA = defaultRelationHeadWidth; + @#heightA = defaultRelationHeadHeight; + @#drawMethodA = "drawArrow"; + + @#widthB = defaultRelationHeadWidth; + @#heightB = defaultRelationHeadHeight; + @#drawMethodB = "drawDiamondBlack"; + + @#drawMethod = "drawLine"; +enddef; +\end{verbatim} + +Using this definition, the actual description is created like this: + +\begin{verbatim} +CompositionUniInfo.compositionUni; +\end{verbatim} + +As shown previously, is is the macro {\code link} which +performs the actual drawing, using the link description information +which is given as parameter (generally called {\code iLink}). +For example, we can use: + +\begin{verbatim} +link(aggregationUni)((0,0)--(40,0)); +\end{verbatim} + +%\begin{figure} +%\centering +%\includegraphics{fig/how-links-work.1} +%\caption{An example of a picture stack.} +%\label{fig:hlw} +%\end{figure} + +Let us see now the inner workings of macro {\code link}. Its definition is: + +\begin{verbatim} +vardef link(text iLink)(expr myPath)= + LinkStructure.ls(myPath, + iLink.widthA, iLink.widthB); + drawLinkStructure(ls)(iLink); +enddef; +\end{verbatim} + +\begin{figure} +\centering +\begin{tabular}{l|l} +$AB$ & the path specified by the user \\ +$|AA'|$ & {\code iLink.widthA}\\ +$|BB'|$ & {\code iLink.widthB} +\end{tabular} +\includegraphics{fig/how-links-work.2} +\caption{Details on how a link is drawn by MetaUML.} +\label{fig:hlw2} +\end{figure} + +First, space is reserved for heads, by ``shortening'' the given path {\code myPath} +by {\code iLink.widthA} at the beginning and by {\code iLink.widthB} at the end. +After that, the shortened path is drawn with the ``method'' +given by {\code iLink.drawMethod} and the heads with the ``methods'' +{\code iLink.drawMethodA} and {\code iLink.drawMethodB}, +respectively (figure \ref{fig:hlw2}). + +\subsection{Object Definitions: Easier {\code generic\_declare}} + +In MetaPost, if somebody wants to define something resembling a class in an object-oriented language, +named, say, {\code Person}, he would do something like this: + +\begin{verbatim} +vardef Person@#(expr _name, _age)= + % @# prefix can be seen as `this` pointer + string @#name; + numeric @#age; + + @#name := _name; + @#age := _age; +enddef; +\end{verbatim} + +This allows for the creation of instances (or objects) of class {\code Person} by using +declarations like: + +\begin{verbatim} +Person.personA; +Person.personB; +\end{verbatim} + + However, if one also wants to able able to create indexed arrays of persons, such as +{\code Person.student0}, {\code Person.student1} etc., the definition of class +{\code Person} must read: + +\begin{verbatim} +vardef Person@#(expr _name, _age)= + _n_ := str @#; + generic_declare(string) _n.name; + generic_declare(numeric) _n.age; + + @#name := _name; + @#age := _age; +enddef; +\end{verbatim} + +This construction is rather inelegant. MetaUML offers alternative macros to achieve +the same effect, uncluttering the code by removing the need for the unaesthetic {\code \_n\_} and +{\code \_n}. + +\begin{verbatim} +vardef Person@#(expr _name, _age)= + attributes(@#); + var(string) name; + var(numeric) age; + + @#name := _name; + @#age := _age; +enddef; +\end{verbatim} + +\section{Customization in MetaUML: Examples} +\label{section:customization} + +We have seen that in MetaUML the ``how to draw'' information is memorized into the so-called +``{\code Info}'' structures. For example, the default way in which a {\code Picture} object is +to be drawn is recorded into an instance of {\code PictureInfo}, named {\code iPict}. In this section we +present a case study involving the customization of {\code Class} objects. The customization of +any other MetaUML objects works similarly. Here we cannot possibly present all the customization +options for all kinds of MetaUML objects: this would take too long. Nevertheless, an interested reader can refer +to the top of the appropriate MetaUML library file, where {\code Info} structures are defined. +For example, class diagram related definitions are in {\code metauml\_class.mp}, activity diagram +definitions are in {\code metauml\_activity.mp} etc. + +\subsection{Global settings} + +Let us assume that we do not particularly like the default foreground color of all classes, and wish +to change it so something yellowish. In this scenario, one would most likely want to change +the appropriate field in {\code iClass}: + +\begin{verbatim} +iClass.foreColor := (.9, .9, 0); +\end{verbatim} + +After this, we can obtain the following result: + +\begin{multicols}{2} +\begin{verbatim} +Class.A("A")()(); +Class.B("B")()(); +Class.C("C")()(); + +B.w = A.e + (20,0); +C.n = .5[A.se, B.sw] + (0, -10); + +drawObjects(A, B, C); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/class_customization.1} +\end{multicols} + +\subsection{Individual settings} + +To modify the settings of one particular {\code Class} objects, another strategy is more appropriate. How about having class +{\code C} stand out with a light blue foreground color, a bigger font size for the class name and a blue border? + +\begin{multicols}{2} +\begin{verbatim} +iPict.foreColor := (.9, .9, 0); + +Class.A("A")()(); +Class.B("B")()(); +Class.C("C")()(); +C.info.foreColor := (.9, .7, .7); +C.info.borderColor := green; +C.info.iName.iFont.scale := 2; + +% positioning code ommited +drawObjects(A, B, C); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/class_customization.2} +\end{multicols} + +As an aside, each {\code Class} object has an {\code info} member which is created as +a copy of {\code iClass}; the actual drawing is performed using this copied +information. Because of that, the {\code info} member can be safely modified after the object +has been created, obtaining the expected results and not influencing other objects. + +Another thing worth mentioning is that the {\code ClassInfo} structure contains +the {\code iName} member, which is an instance of {\code PictureInfo}. In our example we +do not want to modify the spacings around the {\code Picture} object, +but the characteristics of the font its contents is typeset into. To do that, +we modify the {\code iName.iFont} member, which by default is a copy of {\code iFont} +(an instance of {\code FontInfo}, defined in {\code util\_picture.mp}). +If, for example, we want to change the font the class name is rendered into, we would set +the attribute {\code iName.iFont.name} to a string representing a font name +on our system (as used with the MetaPost {\code infont} operator). + +\subsection{Predefined settings} + +This usage scenario is perhaps more interesting. Suppose that we have two +types of classes which we want to draw differently. Making the setting adjustments +for each individual class object would soon become a nuisance. MetaUML's solution consists in the +ability of using predefined ``how to draw'' {\code Info} objects. Let us create such objects: + +\begin{verbatim} +ClassInfoCopy.iHome(iClass); +iHome.foreColor := (0, .9, .9); + +ClassInfo.iRemote; +iRemote.foreColor := (.9, .9, 0); +iRemote.borderColor := green; +\end{verbatim} + +Object {\code iHome} is a copy of {\code iClass} (as it might have been set at +the time of the macro call). Object {\code iRemote} is created just as {\code iClass} +is originally created. We can now use these {\code Info} objects to easily set the +``how to draw'' information for classes. The result is depicted below, +please note the ``{\code E}'' prefix in {\code EClass}: + +\begin{multicols}{2} +\begin{verbatim} +EClass.A(iHome)("UserHome")()(); +EClass.B(iRemote)("UserRemote")()(); +EClass.C(iHome)("CartHome")()(); +EClass.D(iRemote)("CartRemote")()(); +\end{verbatim} +\columnbreak +\hspace{1cm}\includegraphics{fig/class_customization.3} +\end{multicols} + +\subsection{Extreme customization} + +When another font (or font size) is used, it may become necessary to change the space between the +baselines of attributes and methods. Figure below is the result of the (unlikely) code: + +\begin{multicols}{2} +\begin{verbatim} +Class.A("Foo") + ("a: int", "b: int") + ("foo()", "bar()", "gar()"); + +A.info.iName.iFont.name := metauml_defaultFontBold; +A.info.iName.iFont.scale := 1.2; + +A.info.iAttributeStack.iPict.iFont.scale := 0.8; +A.info.iAttributeStack.top := 10; +A.info.iAttributeStack.spacing := 11; + +A.info.iMethodStack.iPict.iFont.scale := 2; +A.info.iMethodStack.spacing := 17; +A.info.iMethodStack.bottom := 10; + +drawObject(A); +\end{verbatim} +\columnbreak +\hspace{4cm}\includegraphics{fig/class_customization.4} +\end{multicols} + +\begin{verbatim} +\end{verbatim} + +Both {\code iAttributeStack} and {\code iMethodStack} are instances of +{\code PictureStackInfo}, which is used to control the display of {\code PictureStack} objects. +%We can also customize the size and colors of the ``locks'' by setting {\code A.info.iLock}. + +As font names, you can choose from the globally defined {\code metauml\_defaultFont}, {\code metauml\_defaultFontOblique}, {\code metauml\_defaultFontBold}, {\code metauml\_defaultFontBoldOblique}, or any other name of a font that is available on your system. + +\section{Alternatives to MetaUML} + +No software package is perfect, and for this MetaUML is a prime example. Here is a list of packages that may also be used to create UML diagrams for LaTeX work: + +\begin{itemize} +\item uml.sty \cite{umlsty} +\item pst-uml \cite{pstumlsty} +\item umldoc \cite{umldoc} +\item TiKZ-UML \cite{tikzuml} +\end{itemize} + +Do not ignore the possibility of creating your diagrams using a GUI program, and then exporting them into a LaTex-friendly open format such as SVG \cite{svglatex}. + +\pagebreak +\input{test-suite} + +\pagebreak +\section{References} +\printbibliography[heading=none] + +\end{document} diff --git a/Master/texmf-dist/doc/metapost/metauml/manual/test-suite.tex b/Master/texmf-dist/doc/metapost/metauml/manual/test-suite.tex new file mode 100644 index 00000000000..b0aa9a66856 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/metauml/manual/test-suite.tex @@ -0,0 +1,82 @@ +% Part of the MetaUML manual +% Copyright (c) 2005 Ovidiu Gheorghies +% +% Permission is granted to copy, distribute and/or modify this document +% under the terms of the GNU Free Documentation License, Version 1.2 +% or any later version published by the Free Software Foundation; +% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +% A copy of the license is included in the section entitled "GNU +% Free Documentation License". + +\newcommand{\metaumltest}[2]{Test #2 --- \\ \includegraphics{fig/test_#1.#2} \\ } +\newcommand{\metaumltests}[2]{\multido{\iA=1+1}{#2}{\metaumltest{#1}{\iA}}} + +\section{Test Suite} + +\subsection{Low-level} + \metaumltests{lowlevel}{2} + +\subsection{Fonts} + \metaumltests{font}{3} + +\subsection{Util library} + \subsubsection{Picture tests} + \metaumltests{picture}{10} + + \subsubsection{Picture tests - TeX rendering} + \metaumltests{picture_tex_rendering}{1} + + \subsubsection{Group tests} + \metaumltests{group}{2} + + \subsubsection{PictureStack tests} + \metaumltests{picture_stack}{7} + + \subsubsection{Positioning tests} + \metaumltests{positioning}{6} + +\subsection{Class diagram} + \subsubsection{Class tests} + \metaumltests{class}{16} + \subsubsection{Class feature types tests} + \metaumltests{class_feature_types}{5} + \subsubsection{Class template tests} + \metaumltests{class_templates}{3} + + \subsubsection{Qualified Association tests} + \metaumltests{class_qual_assoc}{2} + +\subsection{Package diagram} +\subsubsection{Package tests} + \metaumltests{package}{2} + +\subsection{Component diagram} +\subsubsection{Component tests} + \metaumltests{component}{1} + +\subsection{Paths} + \metaumltests{paths}{3} + +\subsection{Behavioral diagrams} + \subsubsection{Activity tests} + \metaumltests{activity}{2} + + \subsubsection{State Machine tests} + \metaumltests{state}{5} + + \subsubsection{Usecase tests} + \metaumltests{usecase}{9} + +\subsection{Miscelaneous} + \subsubsection{Notes} + \metaumltests{note}{2} + \subsubsection{Objects (Class Instances)} + \metaumltests{instance}{1} + +\subsection{User requests} + Test 1 --- \\ \includegraphics[scale=.2]{fig/test_lars_issues.1} \\ + \metaumltest{lars_issues}{2} + +\subsection{Skins} + \metaumltests{skins}{1} + \metaumltests{skins_global_defaults}{1} diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml-manual-v0.2.6-19d34de3da75cbd9f814f0a9ec03b4e0861b1541.pdf b/Master/texmf-dist/doc/metapost/metauml/metauml-manual-v0.2.6-19d34de3da75cbd9f814f0a9ec03b4e0861b1541.pdf new file mode 100644 index 00000000000..30c8ae4f5f3 Binary files /dev/null and b/Master/texmf-dist/doc/metapost/metauml/metauml-manual-v0.2.6-19d34de3da75cbd9f814f0a9ec03b4e0861b1541.pdf differ diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/activity.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/activity.mp deleted file mode 100644 index 676d1996eb1..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/activity.mp +++ /dev/null @@ -1,52 +0,0 @@ -% Sample MetaUML figures. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - - -input metauml; - -beginfig(1); - Begin.b; - End.e; - FlowFinal.f; - - leftToRight(20)(b, e, f); - - drawObjects(b, e, f); -endfig; - -beginfig(2); - Activity.A("Learn MetaUML -", - "the MetaPost UML library"); - drawObject(A); -endfig; - -beginfig(3); - Fork.forkA("h", 50); - Fork.forkB("v", 20); - - leftToRight(10)(forkA, forkB); - - drawObjects(forkA, forkB); -endfig; - -beginfig(4); - Branch.testA; - - drawObject(testA); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/activity_diagrams.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/activity_diagrams.mp deleted file mode 100644 index 0807619acd9..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/activity_diagrams.mp +++ /dev/null @@ -1,59 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -% for f in `find . | grep '.*\.[1-9]'`; do echo $f; done - -input metauml; - -beginfig(1); - Begin.b; - Activity.eat("Eat something good", "from the kitchen"); - Branch.enough; - Fork.fork("h", 50); - Activity.read("Read a book"); - Activity.listen("Listen to music", "(and ignore it)"); - Fork.join("h", 50); - End.e; - - eat.n = b.s + (0,-20); - enough.n = eat.s + (0,-20); - fork.n = enough.s + (0, -20); - - read.top = listen.top = fork.bottom - 30; - listen.left - read.right = 10; - b.midx = .5[listen.left, read.right]; - - join.n = (b.midx, listen.bottom - 20); - e.n = join.s + (0, -20); - - drawObjects(b, eat, enough, fork, read, listen, join, e); - - clink(transition)(b, eat); - clink(transition)(eat, enough); - link(transition)(pathStepX(enough.w, eat.w, -80)); - clink(transition)(enough, fork); - clink(transition)(fork, read); - clink(transition)(fork, listen); - clink(transition)(read, join); - clink(transition)(listen, join); - clink(transition)(join, e); - - item(iGuard)("still hungry")(obj.se = enough.w + (-20, 0)); - item(iGuard)("had enough")(obj.nw = enough.s + (0, -4)); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/appetizer.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/appetizer.mp deleted file mode 100644 index 9842b23d9df..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/appetizer.mp +++ /dev/null @@ -1,203 +0,0 @@ -% Sample MetaUML figures. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - Class.Client("Client")()(); - - Class._Component("Component")()(); - %("+Operation()", "+Add(Component)", "+Remove(Component)", "+GetChild(int)"); - classStereotype._Component("<>"); - - Class.Leaf("Leaf")()("+Operation()"); - - Class.Composite("Composite")()(); - %("+Operation()", "+Add(Component)", "+Remove(Component)", "+GetChild(int)"); - - leftToRight.top(30)(Client, _Component); - leftToRight.top(20)(Leaf, Composite); - .5[Leaf.ne, Composite.nw] = below(_Component.s, 45); - - drawObjects(Client, _Component, Leaf, Composite); - - link(associationUni)(pathHorizontal(Client.e, _Component.left)); - link(inheritance)(pathStepY(Leaf.n, _Component.s, 20)); - link(inheritance)(pathStepY(Composite.n, _Component.s, 20)); - - link(aggregationUni)(pathStepX(_Component.e, Composite.e, 55)); -endfig; - -beginfig(2); - Begin.b; - Activity.eat("Eat something good", "from the kitchen"); - Branch.enough; - Fork.fork("h", 50); - Activity.read("Read a book"); - Activity.listen("Listen to music", "(and ignore it)"); - Fork.join("h", 50); - End.e; - - leftToRight.top(10)(read, listen); - Group.readListen(read, listen); - - leftToRight(30)(b, eat); - topToBottom(20)(eat, enough, fork, readListen, join, e); - - drawObjects(b, eat, enough, fork, readListen, join, e); - - clink(transition)(b, eat); - clink(transition)(eat, enough); - link(transition)(pathStepX(enough.e, eat.e, 80)); - clink(transition)(enough, fork); - clink(transition)(fork, read); - clink(transition)(fork, listen); - clink(transition)(read, join); - clink(transition)(listen, join); - clink(transition)(join, e); - - item(iGuard)("still hungry")(obj.sw = enough.e + (20, 0)); - item(iGuard)("had enough")(obj.nw = enough.s + (0, -4)); -endfig; - -beginfig(3); - Actor.user("User"); - Actor.db("Database"); - - Usecase.dbquery("Query database"); - Usecase.auth("Authenticate user"); - Usecase.authA("Authenticate by", "username, password"); - Usecase.authB("Authenticate by", "smartcard"); - - leftToRight(30)(user.human, auth, dbquery, db.human); - leftToRight.top(30)(authA, authB); - .5[authA.ne, authB.nw] = below(auth.s, 20); - - drawObjects(user, auth, dbquery, db, authA, authB); - - clink(inheritance)(authA, auth); - clink(inheritance)(authB, auth); - clink(association)(auth, dbquery); - clink(association)(user.human, auth); - clink(association)(dbquery, db.human); -endfig; - -beginfig(4); - save b, e, reading, processing, composite, exit, error, result, theEnd; - - Begin.b; - State.reading("Reading commands")(); - State.processing("Processing commands")(); - End.e; - - State.composite("Working")(b, reading, processing, e); - composite.info.left := composite.info.right := 10; - composite.info.drawNameLine := 1; - - topToBottom(20)(b, reading, processing, e); - drawObject(composite); - - clink(transition)(b, reading); - clink(transition)(reading, processing); - clink(transition)(processing, e); - - ExitPoint.exit; - exit.c=(composite.right, reading.midy); - drawObject(exit); - item(iAssoc)("error")(obj.nw = exit.s); - - clink(transition)(reading, exit); - - State.error("Preparing error report")(); - State.result("Writing result")(); - End.theEnd; - - topToBottom(20)(error, result, theEnd); - leftToRight(30)(exit, error); - - drawObjects(error, result, theEnd); - - clink(transition)(exit, error); - clink(transition)(error, result); - clink(transition)(result, theEnd); - - link(transition)(rpathHorizontal(result.w, composite.right)); -endfig; - - -beginfig(5); - save A, B; - - Note.A("An important", "UML note"); - Note.B("Another note"); - - leftToRight(20)(A, B); - drawObjects(A, B); - - clink(dashedLink)(A, B); -endfig; - -beginfig(6); - Class.A("A")()(); - Class.B("B")()(); - - Package.pA("net.foo")(); - Package.pB("net.foo.bar")(A, B); - - leftToRight(20)(A, B); - leftToRight(50)(pA, pB); - - drawObjects(A, B, pA, pB); - - clink(nest)(pB, pA); -endfig; - -beginfig(7); - save A; - - Class.A("MyClass") - ("attr1: int", "attr2: int") - ("method1(): void", - "method2(): void"); - - A.nw = (0, 0); % optional, implied - drawObject(A); -endfig; - -beginfig(8); - save A, B; - Class.A("A")()(); - Class.B("B")()(); - - A.nw = (0,0); - B.e = A.w + (-20, 0); - - drawObjects(A, B); -endfig; - -beginfig(9); - save A, B; - - Class.A("A")()(); - Class.B("B")()(); - B.e = A.w + (-20, 0); - drawObjects(A, B); - link(inheritance)(B.e -- A.w); -endfig; -end - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/boxes_vs_util.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/boxes_vs_util.mp deleted file mode 100644 index 985c9bb158b..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/boxes_vs_util.mp +++ /dev/null @@ -1,92 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input boxes; -input util_commons; -input util_object; -input util_picture; - -beginfig(1); - boxit.a ("yummy"); - boxit.b ("cool"); - - a.nw = (0,0); - b.sw = a.se + (10,0); - - drawboxed (a, b); - draw a.sw -- b.se dashed evenly withpen pencircle scaled 1.1; - - boxit.c ("yummy"); - boxit.d ("cool"); - - c.nw = (0,-20); - d.sw = c.se + (10,0); - - drawunboxed (c, d); - draw c.sw -- d.se dashed evenly withpen pencircle scaled 1.1; -endfig; - -beginfig(2); - save a, b, c, d; - - Picture.a("yummy"); - Picture.b("cool"); - a.info.boxed := b.info.boxed := 1; - - a.nw = (0,0); - b.sw = a.se + (10,0); - - drawObjects(a, b); - draw a.sw -- b.se dashed evenly withpen pencircle scaled 1.1; - - Picture.c("yummy"); - Picture.d("cool"); - - c.nw = (0,-20); - d.sw = c.se + (10,0); - - drawObjects(c, d); - draw c.sw -- d.se dashed evenly withpen pencircle scaled 1.1; -endfig; - -beginfig(3); - save a, b, c, d; - - iPict.ignoreNegativeBase := 1; - - Picture.a("yummy"); - Picture.b("cool"); - a.info.boxed := b.info.boxed := 1; - - a.nw = (0,0); - b.sw = a.se + (10,0); - - drawObjects(a, b); - draw a.sw -- b.se dashed evenly withpen pencircle scaled 1.1; - - Picture.c("yummy"); - Picture.d("cool"); - - c.nw = (0,-20); - d.sw = c.se + (10,0); - - drawObjects(c, d); - draw c.sw -- d.se dashed evenly withpen pencircle scaled 1.1; -endfig; - - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class.mp deleted file mode 100644 index 7b910f31fc8..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class.mp +++ /dev/null @@ -1,119 +0,0 @@ -% Sample MetaUML figures. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - - -input metauml; - -beginfig(1); - Class.A("Point") - ("#x:int", "#y:int") - ("+set(x:int, y:int)", - "+getX():int", - "+getY():int", - "-debug():void"); - drawObject(A); -endfig; - -beginfig(2); - save A, T; - - Class.A("User")()(); - classStereotypes.A("<>", "<>"); - - drawObject(A); -endfig; - -beginfig(3); - save A, T; - - Class.A("Vector")()(); - ClassTemplate.T("T", "size: int")(A); - - drawObjects(A, T); -endfig; - -beginfig(4); - link(association)( (0,0) -- (50,0) ); -endfig; - -beginfig(5); - link(associationUni)( (0,0) -- (50,0) ); -endfig; - -beginfig(6); - link(inheritance)( (0,0) -- (50,0) ); -endfig; - -beginfig(7); - link(aggregation)( (0,0) -- (50,0) ); -endfig; - -beginfig(8); - link(aggregationUni)( (0,0) -- (50,0) ); -endfig; - -beginfig(9); - link(composition)( (0,0) -- (50,0) ); -endfig; - -beginfig(10); - link(compositionUni)( (0,0) -- (50,0) ); -endfig; - -beginfig(11); - save A; - Interface.A("Observer") - ("+update(src:Object)"); - - drawObject(A); -endfig; - -beginfig(12); - save A; - EClass.A(iAbstractClass)("Observable") - ("observers: Observer[0..*]") - ("+addObserver(o: Observer)", - "+notify()"); - - drawObject(A); -endfig; - -beginfig(13) - save A; - - Class.A("MyModel")()(); - A.info.iAttributeStack.top := 0; - A.info.iAttributeStack.bottom := 0; - A.info.iMethodStack.top := 0; - A.info.iMethodStack.bottom := 0; - - drawObject(A); -endfig; - -beginfig(14) - save A, B; - - EClass.A(iClassNameOnly)("MyModel")()(); - ClassName.B("AnotherModel"); - classStereotypes.B("<>"); - - topToBottom(20)(A, B); - - drawObjects(A, B); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_association.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_association.mp deleted file mode 100644 index 2ff5037a8c8..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_association.mp +++ /dev/null @@ -1,72 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - save P,B; - - Class.P("Person")()(); - Class.B("Bank")()(); - - P.nw = (0,0); - B.w = P.e + (50,0); - - drawObjects(P, B); - - drawRelation(association)(P.e -- B.w); - - item.assocName(iAssoc)("works for")(assocName.s = .5[P.e,B.w]); - - draw assocName.n -- (assocName.n + (20,20)); - label.urt("association name" infont "tyxtt", assocName.n + (20,20)); -endfig; - -beginfig(2); - save P,C; - - Class.P("Person")()(); - Class.C("Company")()(); - - C.n = P.s + (0, -70); - drawObjects(P, C); - - link(association)(P.s -- C.n); - - item(iAssoc)("employee")(obj.nw = P.s); - item(iAssoc)("1..*")(obj.ne = P.s); - - item(iAssoc)("employer")(obj.sw = C.n); - item(iAssoc)("0..*")(obj.se = C.n); - - item(iAssoc)("works for")(obj.w = .5[P.s,C.n]); -endfig; - -beginfig(3); - save F, O; - - Class.F("Factory")()(); - Class.O("Object")()(); - - O.n = F.s - (0, 50); - drawObjects(F, O); - - clink(dependency)(F, O); - item(iStereo)("<>")(obj.w = .5[F.s,O.n]) -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_customization.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_customization.mp deleted file mode 100644 index c6e849683c2..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_customization.mp +++ /dev/null @@ -1,188 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - iClass.foreColor := (.9, .9, 0); - - Class.A("A")()(); - Class.B("B")()(); - Class.C("C")()(); - - B.w = A.e + (20,0); - C.n = .5[A.se, B.sw] + (0, -10); - - drawObjects(A, B, C); -endfig; - -beginfig(2); - save A, B, C; - iClass.foreColor := (.9, .9, 0); - - Class.A("A")()(); - Class.B("B")()(); - Class.C("C")()(); - C.info.foreColor := (.7, .7, .9); - C.info.borderColor := blue; - C.info.iName.iFont.scale := 2; - - B.w = A.e + (20,0); - C.n = .5[A.se, B.sw] + (0, -10); - - drawObjects(A, B, C); -endfig; - -beginfig(3); - ClassInfoCopy.iHome(iClass); - iHome.foreColor := (0, .9, .9); - - ClassInfo.iRemote; - iRemote.foreColor := (.9, .9, 0); - iRemote.borderColor := (0, 0, .9); - - save A, B, C, D; - - EClass.A(iHome)("UserHome")()(); - EClass.B(iRemote)("UserRemote")()(); - EClass.C(iHome)("CartHome")()(); - EClass.D(iRemote)("CartRemote")()(); - - - B.nw = A.ne + (20,0); - D.nw = C.ne + (20,0); - A.bottom - C.top = 10; - A.left = C.left; - - drawObjects(A, B, C, D); -endfig; - -beginfig(4); - iClass.foreColor := .9white; - save A; - - Class.A("Foo") - ("a: int", "b: int") - ("foo()", "bar()", "gar()"); - A.info.iName.iFont.name := metauml_defaultFontBold; - A.info.iName.iFont.scale := 1.2; - - A.info.iAttributeStack.iPict.iFont.scale := 0.8; - A.info.iAttributeStack.top := 10; - A.info.iAttributeStack.spacing := 11; - - A.info.iMethodStack.iPict.iFont.scale := 2; - A.info.iMethodStack.spacing := 17; - A.info.iMethodStack.bottom := 10; - drawObject(A); -endfig; - -%beginfig(1); -% save Test; -% Class.Test("Test")("n:int","a2", "a3")("aLongMethod():void"); -% %, "anotherLongMethod():void", "yetAnotherLongMethod()"); - -% Test.sw = (0,0); -% Class_draw.Test; - -% dotlabel.ulft(btex nw etex, Test.nw); -% dotlabel.top(btex n etex, Test.n); -% dotlabel.urt(btex ne etex, Test.ne); -% dotlabel.urt(btex e etex, Test.e); -% dotlabel.lrt(btex se etex, Test.se); -% dotlabel.llft(btex s etex, Test.s); -% dotlabel.llft(btex sw etex, Test.sw); -% dotlabel.lft(btex w etex, Test.w); - -% dotlabel.ulft(btex c etex, Test.c); - -% draw Test.nw - (50,0) -- Test.ne + (30,0) dashed evenly; -% label.urt(btex top etex, Test.nw - (50,0)); - -% draw Test.sw - (50,0) -- Test.se + (30,0) dashed evenly; -% label.lrt(btex bottom etex, Test.sw - (50,0)); - -% draw Test.nw + (0,25) -- Test.sw - (0, 50) dashed evenly; -% label.bot(btex left etex, Test.sw - (0,50)); - -% draw Test.ne + (0,25) -- Test.se - (0, 50) dashed evenly; -% label.bot(btex right etex, Test.se - (0,50)); - -% drawdblarrow Test.nw - (40,0) -- Test.sw - (40,0); -% label.lft(btex height etex, .5[Test.nw, Test.sw] - (40,0)); - -% drawdblarrow Test.sw - (0,40) -- Test.se - (0,40); -% label.bot(btex width etex, .5[Test.sw, Test.se] - (0,40)); - -% draw Test.n -- Test.s + (0, -20) dashed evenly; -% label.bot(btex midx etex, Test.s + (0,-20)); - -% draw Test.w -- Test.e + (20,0) dashed evenly; -% label.rt(btex midy etex, Test.e + (20,0)); - -% draw Test.sw + (classLeftMargin,0) -- Test.nw + (classLeftMargin, 25) dashed evenly; -% draw Test.se + (-classRightMargin,0) -- Test.ne + (-classRightMargin, 25) dashed evenly; - -% drawdblarrow Test.nw + (0,20) -- Test.nw + (classLeftMargin, 20); -% label.top(btex classLeftMargin etex, Test.nw + (classLeftMargin/2, 25)); - -% drawdblarrow Test.ne + (0,20) -- Test.ne + (-classRightMargin, 20); -% label.top(btex classRightMargin etex, Test.ne + (-classLeftMargin/2, 25)); - -% pair A,B; -% A := ((xpart Test.ne) + 30, ypart Test.ne); -% B := ((xpart Test.ne) + 30, ypart Test.namePict.nw); -% draw Test.namePict.nw -- B dashed evenly; -% drawdblarrow A-(10,0) -- B-(10,0); -% label.rt(btex classNameBefore etex, .5[A,B]); - -% A := (xpart A, ypart Test.namePict.se); -% B := (xpart A, Test.nameEndsAtY - classNameAfter); -% draw Test.namePict.se -- A dashed evenly; -% draw (xpart Test.namePict se, ypart B) -- B dashed evenly; -% drawdblarrow A-(10,0) -- B-(10,0); -% label.rt(btex classNameAfter etex, .5[A,B]); - -% A := B; -% B := (xpart A, ypart Test.attributePict[0].ne); -% draw Test.attributePict[0].ne -- B dashed evenly; -% drawdblarrow A-(10,0) -- B-(10,0); -% label.rt(btex classAttributesBefore etex, .5[A,B]); - -% A := (xpart A, ypart Test.attributePict[2].se); -% B := A + (0, -classAttributesAfter); -% draw Test.attributePict[2].se -- A dashed evenly; -% draw (Test.attributePict[2].se + (0, -classAttributesAfter)) -- B dashed evenly; -% drawdblarrow A-(10,0) -- B-(10,0); -% label.rt(btex classAttributesAfter etex, .5[A,B]); - -% A := B; -% B := (xpart A, ypart Test.methodPict[0].ne); -% draw Test.methodPict[0].ne -- B dashed evenly; -% drawdblarrow A-(10,0) -- B-(10,0); -% label.rt(btex classMethodsBefore etex, .5[A,B]); - -% A := (xpart A, ypart Test.methodPict[0].se); -% B := A + (0, -classMethodsAfter); -% draw Test.methodPict[0].se -- A dashed evenly; -% draw (Test.methodPict[0].se + (0, -classMethodsAfter)) -- B dashed evenly; -% drawdblarrow A-(10,0) -- B-(10,0); -% label.rt(btex classMethodsAfter etex, .5[A,B]); -% endfig; - - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_customization2.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_customization2.mp deleted file mode 100644 index be45e95240b..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_customization2.mp +++ /dev/null @@ -1,31 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - save Test; - Class.Test("TestClass")("attribute1: int","attribute2: double") - ("oneLongMethod(): void", - "anotherLongMethod(): void"); - - Test.nw = (0,0); - Class_draw.Test; -endfig; - - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_diagrams.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_diagrams.mp deleted file mode 100644 index 614cdbeca60..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_diagrams.mp +++ /dev/null @@ -1,212 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - Class.Count("Count") - ("#n: int") - ("+increase(): void", - "+get(): int"); - - %Count.nw = (0,0); - drawObject(Count); - %Class_draw.Count; -endfig; - -beginfig(2); - Class.A("Point") - ("+x: int", - "+y: int") (); - - Class.B("Circle") - ("radius: int") - ("+getRadius(): int", - "+setRadius(r: int):void"); - - A.nw = (0,0); - B.n = A.s - (0,45); - Class_draw.A; - Class_draw.B; - - drawRelation(aggregationUni)(A.s -- B.n); -endfig; - -beginfig(3); - Class.Test("Test")("a1","a2","a3")("aLongMethod():void"); - - Test.nw = (0,0); - Class_draw.Test; - - dotlabel.ulft(btex nw etex, Test.nw); - dotlabel.top(btex n etex, Test.n); - dotlabel.urt(btex ne etex, Test.ne); - dotlabel.rt(btex e etex, Test.e); - dotlabel.lrt(btex se etex, Test.se); - dotlabel.bot(btex s etex, Test.s); - dotlabel.llft(btex sw etex, Test.sw); - dotlabel.lft(btex w etex, Test.w); - - dotlabel.lft(btex c etex, Test.c); - - draw Test.nw - (50,0) -- Test.ne + (10,0); - label.urt(btex top etex, Test.nw - (50,0)); - - draw Test.sw - (50,0) -- Test.se + (10,0); - label.lrt(btex bottom etex, Test.sw - (50,0)); - - draw Test.nw + (0,10) -- Test.sw - (0, 50); - label.bot(btex left etex, Test.sw - (0,50)); - - draw Test.ne + (0,10) -- Test.se - (0, 50); - label.bot(btex right etex, Test.se - (0,50)); - - drawarrow Test.nw - (25,0) -- Test.sw - (25,0); - label.lft(btex height etex, .5[Test.nw, Test.sw] - (25,0)); - - drawarrow Test.sw - (0,25) -- Test.se - (0,25); - label.bot(btex width etex, .5[Test.sw, Test.se] - (0,25)); -endfig; - -%newAssociationDescription.association; -%newAssociationUniDescription.associationUni; -%newInheritanceDescription.inheritance; -%newAggregationDescription.aggregation; -%newAggregationUniDescription.aggregationUni; -%newCompositionDescription.composition; -%newCompositionUniDescription.compositionUni; -%newDashedLinkDescription.dashedLink; -%newDependencyDescription.dependency; - -beginfig(4); - save X, Y; - Class.X("X")()(); - Class.Y("Y")()(); - - X.nw = (0,0); - Y.w = X.e + (50,0); - Class_draw.X; - Class_draw.Y; - - drawRelation(association)(X.e -- Y.w); -endfig; - -beginfig(5); - save X, Y; - Class.X("X")()(); - Class.Y("Y")()(); - - X.nw = (0,0); - Y.w = X.e + (50,0); - Class_draw.X; - Class_draw.Y; - - drawRelation(associationUni)(X.e -- Y.w); -endfig; - -beginfig(6); - save X, Y; - Class.X("X")()(); - Class.Y("Y")()(); - - X.nw = (0,0); - Y.w = X.e + (50,0); - Class_draw.X; - Class_draw.Y; - - drawRelation(inheritance)(X.e -- Y.w); -endfig; - -beginfig(7); - save X, Y; - Class.X("X")()(); - Class.Y("Y")()(); - - X.nw = (0,0); - Y.w = X.e + (50,0); - Class_draw.X; - Class_draw.Y; - - drawRelation(aggregation)(X.e -- Y.w); -endfig; - -beginfig(8); - save X, Y; - Class.X("X")()(); - Class.Y("Y")()(); - - X.nw = (0,0); - Y.w = X.e + (50,0); - Class_draw.X; - Class_draw.Y; - - drawRelation(aggregationUni)(X.e -- Y.w); -endfig; - -beginfig(9); - save X, Y; - Class.X("X")()(); - Class.Y("Y")()(); - - X.nw = (0,0); - Y.w = X.e + (50,0); - Class_draw.X; - Class_draw.Y; - - drawRelation(composition)(X.e -- Y.w); -endfig; - -beginfig(10); - save X, Y; - Class.X("X")()(); - Class.Y("Y")()(); - - X.nw = (0,0); - Y.w = X.e + (50,0); - Class_draw.X; - Class_draw.Y; - - drawRelation(compositionUni)(X.e -- Y.w); -endfig; - -beginfig(11); - save X, Y; - Class.X("X")()(); - Class.Y("Y")()(); - - X.nw = (0,0); - Y.w = X.e + (50,0); - Class_draw.X; - Class_draw.Y; - - drawRelation(dependency)(X.e -- Y.w); -endfig; - -beginfig(12); - save X, Y; - Class.X("X")()(); - Class.Y("Y")()(); - - X.nw = (0,0); - Y.w = X.e + (50,0); - Class_draw.X; - Class_draw.Y; - - drawRelation(realization)(X.e -- Y.w); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_templates.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_templates.mp deleted file mode 100644 index 8ef9b4be126..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/class_templates.mp +++ /dev/null @@ -1,45 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - Class.V("Vector")("elements: T(n)")(); - Template.T("T", "n: int"); - Template_attachToClass.T(V); - - drawObjects(V); - show "-----------------------------"; - drawObjects(T); -endfig; - -beginfig(2); -% save P,C; - -% newClass.P("Person")()(); -% newClass.C("Company")()(); - -% drawClassAt.P ( P.nw = (0,0) ); -% d rawClassAt.C ( C.w = P.e + (150,0) ); - -% drawRelation(association)(P.e -- C.w); - -% assocItem("employee", item.sw = P.e); -% assocItem("works for", item.n = .5[P.e,C.w]); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/cliparts.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/cliparts.mp deleted file mode 100644 index e84cca863f8..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/cliparts.mp +++ /dev/null @@ -1,73 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -%vardef Foo(text southeast)(text width)(text height)= -% e eroare daca e 'se' pentru ca inlocuieste in -% qqq.se - -vardef Foo(expr _se, _width, _height)= - - Picture.ppp("foo"); - drawObjectAt(ppp)(ppp.nw = (0,0)); - - save qqq; - Lock.qqq("base"); - qqq.se = (0,0); - drawObject (qqq); -enddef; - - -beginfig(1); -% drawLockLocked((0,10), (6,0)); -% drawLockUnlocked((50,10), (56,0)); -% drawLockBase((25,10), (31,0)); -% show w; - - numeric a, b; - path x; - a= 10; - b = 20; - x = (a,a)--(b,b); - draw x; - - Lock.lock("opened"); - drawObjectAt(lock)(lock.nw =(0,0)); - - Lock.lockB("closed"); - drawObjectAt(lockB)(lockB.nw=(20,0)); - - Lock.lockC("base"); - drawObjectAt(lockC)(lockC.nw=(40,0)); - - ELock.otherLock(iLock)("closed"); - drawObjectAt(otherLock)(otherLock.nw = (60,0)); - - LockInfo.iLockMy(30, 30, .55, .15, .55, .4white, .6white, .7white, .3white); - save foo; - ELock.foo(iLockMy)("opened"); - foo.se = (100,0); - drawObject(foo); - - pair q; - q := (30,30); - %Foo( q ) (20)( 20); - Foo( (0,0),1,3); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/component.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/component.mp deleted file mode 100644 index 2601d54c263..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/component.mp +++ /dev/null @@ -1,61 +0,0 @@ -input metauml; - -beginfig(1); - Component.C("Business Logic")(); - drawObject(C); -endfig; - -beginfig(2); - save A, B, C, BigC; - - Class.A("A")()(); - Package.B("B")(); - Component.C("C")(); - - Component.BigC("Big Component")(A, B, C); - - leftToRight(10)(A, B); - topToBottom(10)(A, C); - - drawObject(BigC); -endfig; - -beginfig(3); - save A, B; - Component.A("A")(); - Component.B("B")(); - - leftToRight(80)(A, B); - - drawObjects(A, B); - - link(providedInterface)( A.e -- .5[A.e, B.w] ); -endfig; - -beginfig(4); - save A, B; - Component.A("A")(); - Component.B("B")(); - - leftToRight(80)(A, B); - - drawObjects(A, B); - - link(requiredInterface)( B.w -- .5[A.e, B.w]); -endfig; - -beginfig(5); - save A, B; - Component.A("A")(); - Component.B("B")(); - - leftToRight(80)(A, B); - - drawObjects(A, B); - - link(providedInterface)( A.e -- .5[A.e, B.w] ); - link(requiredInterface)( B.w -- .5[A.e, B.w] ); -endfig; - - -end \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/group.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/group.mp deleted file mode 100644 index 0e25e58ea66..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/group.mp +++ /dev/null @@ -1,51 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input boxes; -input util_commons; -input util_object; -input util_picture; -input util_margins; -input util_group; - -beginfig(1); - iGroup.left:=20; - iGroup.right:=15; - iGroup.boxed:=1; - iPict.boxed:=1; - - Picture.a("yummy"); - Picture.b("cool"); - Picture.c("fool"); - - a.nw = (0,0); - b.nw = (20,20); - c.nw = (15, 40); - - Group.g(a, b, c); - - drawObjects(g); -endfig; - -beginfig(2); -endfig; - -beginfig(3); -endfig; - - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/how-links-work.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/how-links-work.mp deleted file mode 100644 index c8d8500358d..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/how-links-work.mp +++ /dev/null @@ -1,38 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - drawRelation(aggregationUni) - ((0,0)--(40,0)); -endfig; - - -beginfig(2); - path myPath; - myPath := (0,0) -- (100,0); - LinkStructure.ls(myPath, - aggregationUni.widthA, - aggregationUni.widthB); - - describeLinkStructure(ls); - drawLinkStructure(ls)(aggregationUni); -endfig; - -end - diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/instance.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/instance.mp deleted file mode 100644 index 9417224306a..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/instance.mp +++ /dev/null @@ -1,9 +0,0 @@ -input metauml; - -beginfig(1); - Instance.order("o: Order") - ("name='book'", "{placed}", "{payed}"); - drawObject(order); -endfig; - -end \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/mptextmp.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/mptextmp.mp deleted file mode 100644 index c4752be8c71..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/mptextmp.mp +++ /dev/null @@ -1 +0,0 @@ -btex $\sum_1^n f(x) \cdot dx \over \sum_1^m g(y) \cdot dy$ etex diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/mptrace.tmp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/mptrace.tmp deleted file mode 100644 index 041bb2d0e52..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/mptrace.tmp +++ /dev/null @@ -1,37 +0,0 @@ - -input metauml; - -iPict.boxed := 1; - -beginfig(1); - iClass.shade := 3; - Class.F("Foo")("a: int","b: int")(); - Class.B("Bar")()(); - B.nw = F.ne + (20,-20); - - drawObjects(B, F); - - link(association)(B.nw -- F.ne); - - draw objectBorder(B) withcolor red; - draw objectBorder(F) withcolor blue; - - link(association)(pathCut(B,F)(B.c--F.c)); -endfig; - -beginfig(2); - save A, B; - - Picture.A("A"); - Picture.B("Blue"); - - B.sw = A.ne + (20,20); - - drawObjects(A, B); - - link(associationUni)(pathManhattanX(A.e, B)); -endfig; - -end - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/note.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/note.mp deleted file mode 100644 index f04a5b5e4fe..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/note.mp +++ /dev/null @@ -1,74 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; -input TEX; - -beginfig(1); - Note.A("This note", "has two lines."); - drawObject(A); -endfig; - -beginfig(2); - save A, C; - Note.A("This is a class"); - Class.C("Object")()(); - - A.sw = C.ne + (20, 20); - - drawObjects(A, C); - - clink(dashedLink)(A, C); -endfig; - -beginfig(3); - save C; - Note.nA("This is the class name"); - Note.nB("This is a key attribute"); - Note.nC("This is a nice method"); - - Class.C("Object")("+id:int") - ("+clone()", "+serialize()"); - - topToBottom.left(10)(nA, nB, nC); - leftToRight(10)(C, nB); - - drawObjects(C, nA, nB, nC); - - clink(dashedLink)(C.namePict, nA); - clink(dashedLink)(C.attributeStack.pict[0], nB); - clink(dashedLink)(C.methodStack.pict[1], nC); -endfig; - -beginfig(4); - save A; - Note.A("This class implements the formula:", - TEX("$\sum_1^n f(x)\cdot dx$")); - drawObjects(A); -endfig; - -beginfig(5); - save A; - Note.A("Can you do it?", - TEX("$\sum_1^n f(x) \cdot dx " & - "\over \sum_1^m g(y) \cdot dy$")); - A.stack.info.spacing := 30; - A.stack.pict[1].info.ignoreNegativeBase := 0; - drawObjects(A); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/object_stack.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/object_stack.mp deleted file mode 100644 index b9cd4d32b34..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/object_stack.mp +++ /dev/null @@ -1,46 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input boxes; -input util_commons; -input util_object; -input util_picture; - - -beginfig(1); - iPict.ignoreNegativeBase := 1; - iPict.boxed := 1; - Picture.a0("yummy"); - Picture.a1("cool"); - Picture.a2("fool"); - - a0.nw = (0,0); - setObjectJoin(pa.sw = pb.nw); - - joinObjects(scantokens listArray(a)(3)); - drawObjects(scantokens listArray(a)(3)); - -endfig; - -beginfig(2); -endfig; - -beginfig(3); -endfig; - - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/package.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/package.mp deleted file mode 100644 index 88653b5fee0..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/package.mp +++ /dev/null @@ -1,93 +0,0 @@ -input metauml; -input metauml_package; -input metauml_package_relations; - -beginfig(1); - Package.P("java.lang")(); - drawObject(P); -endfig; - -beginfig(2); - save P; - Package.P("An important", "package")(); - drawObject(P); -endfig; - -beginfig(3); - save P; - Package.P("java.lang")(); - P.info.forceEmptyContent := 1; - drawObject(P); -endfig; - -beginfig(4); - save P, A, B; - Class.A("A")()(); - Class.B("B")()(); - Package.P("net.metauml")(A, B); - - leftToRight(10)(A, B); - - drawObject(P); -endfig; - -beginfig(5); - Package.X("X")(); - Package.Y("Y")(); - - leftToRight(50)(X, Y); - drawObjects(X, Y); - - link(nest)(X.e -- Y.w); -endfig; - -beginfig(8); - Package.emptyPackage("")(); - - Package.nameOnlyPackage("java.sun.com")(); - - Class.oneClass("A class")()(); - Package.oneClassPackage("One class package")(oneClass); - - Instance.oneInstance("An instance")(); - State.oneState("A state")(); - Activity.oneActivity("An activity"); - Package.multiPackage("Multipackage")(oneInstance, oneState, oneActivity); - - Package.allPackage("This package contains them all")(emptyPackage, nameOnlyPackage, - oneClassPackage, multiPackage); - - nameOnlyPackage.nw = emptyPackage.ne + (30, 0); - oneClassPackage.ne = emptyPackage.s - (0, 50); - - multiPackage.top = oneClassPackage.top; - multiPackage.left = oneClassPackage.right + 20; - - centered_align_top(oneState, oneActivity)(10, below(oneInstance.s, 20)); - - drawObjects(allPackage); -endfig; - -beginfig(8); - Package.nameOnlyOnTopPackage("Name on top")(); - nameOnlyOnTopPackage.info.forceEmptyContent := 1; - Package.nameOnlyInMiddlePackage("By default name", "is in the middle")(); - - Class.cl("A class")("Attribute")("Method"); - Package.notEmptyPackage("Contains class")(cl); - - nameOnlyInMiddlePackage.n = nameOnlyOnTopPackage.s - (0, 40); - notEmptyPackage.w = nameOnlyInMiddlePackage.e + (80, 0); - drawObjects(nameOnlyOnTopPackage, nameOnlyInMiddlePackage, notEmptyPackage); - - %link(import)(pathStepX(notEmptyPackage.w, nameOnlyOnTopPackage.e, -30)); - %link(import)(pathVertical(nameOnlyInMiddlePackage.ne - (10, 0), nameOnlyOnTopPackage.bottom)); - %link(import)(notEmptyPackage.sw -- nameOnlyInMiddlePackage.ne); -endfig; - -beginfig(8); - link(nest)((10,10)--(30,30)); -endfig; - - -end \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/paths.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/paths.mp deleted file mode 100644 index 06ca5761209..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/paths.mp +++ /dev/null @@ -1,132 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - pair za, zb; - za = (10,10); - zb = (10,-5); - path cool; - cool := za .. za+(20,10) .. - zb+(20,-20) .. - zb+(-10,-30) -- zb; - link(aggregationUni)(cool); -endfig; - -beginfig(2); - save A, B; - Class.A("A")()(); - Class.B("B")()(); - - B.sw = A.ne + (10,10); - - drawObjects(A, B); - - link(aggregationUni) - (rpathManhattanX(A.e, B.s)); - link(inheritance) - (pathManhattanY(A.n, B.w)); -endfig; - -beginfig(3); - save A, B; - Class.A("A")()(); - Class.B("B")()(); - - B.sw = A.ne + (10,10); - - drawObjects(A, B); - - stepX:=60; - link(aggregationUni) - (pathStepX(A.e, B.e, stepX)); - - stepY:=20; - link(inheritance) - (pathStepY(B.n, A.n, stepY)); - - pair X,Y; - X := A.se + (0,-30); - Y := X + (stepX, 0); - draw A.se -- X dashed evenly; - draw (xpart Y, ypart A.e) -- Y dashed evenly; - drawdblarrow X + (0,15) -- Y + (0,15); - label.top(btex stepX etex, .5[X,Y]); - - pair X,Y; - X := B.n + (-70,-0); - Y := X + (0, stepY); - - draw B.n -- X dashed evenly; - draw B.n + (0,stepY) -- Y dashed evenly; - drawdblarrow X + (15,0) -- Y + (15,0); - label.lft(btex stepY etex, .5[X,Y]); -endfig; - -% horizontal, vertical -beginfig(4); - save A, B; - Class.A("A")()(); - Class.B("B")("b")(); - Class.C("C")("foo: int")(); - - B.sw = A.se + (30,5); - C.sw = A.nw + (0, 30); - - drawObjects(A, B, C); - - untilX := B.left; - drawRelation(association) - (pathHorizontal(A.e, untilX)); - - draw B.nw -- B.sw + (0,-10) dashed evenly; - label.bot(btex untilX etex, B.sw + (0,-10)); - - untilY:= C.bottom; - drawRelation(association)(pathVertical(A.n, untilY)); - - draw C.sw -- C.sw + (-20,0) dashed evenly; - label.lft(btex untilY etex, C.sw + (-20,-0)); - -endfig; - -beginfig(5); - save A,B; - Activity.A("A"); - Activity.B("B"); - - B.nw = A.ne + (40,30); - drawObjects(A,B); - - z = A.se + (30, -10); - link(transition)(pathCut(A, B) - (A.c -- z -- B.c)); -endfig; - -beginfig(6); - save A,B; - Class.A("A")()(); - Class.B("B")()(); - - B.nw = A.ne + (20,30); - drawObjects(A,B); - - clink(inheritance)(A, B); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/paths_man.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/paths_man.mp deleted file mode 100644 index a6c502f147b..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/paths_man.mp +++ /dev/null @@ -1,143 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - save A, B; - Class.A("A")("foo:int")("bar()"); - Class.B("B")()(); - - A.nw = (0,0); - B.s = A.ne + (30,30); - - Class_draw.A; - Class_draw.B; - - drawRelation(aggregationUni) - (A.n ..(30,30)..B.w); - path cool; - cool := A.e .. A.e+(20,10) .. - B.s+(20,-40) .. B.s+(-10,-30) - -- B.s; - drawRelation(inheritance)(cool); -endfig; - -beginfig(2); - save A, B; - Class.A("A")()(); - Class.B("B")()(); - - A.nw = (0,0); - B.sw = A.ne + (10,10); - - Class_draw.A; - Class_draw.B; - - drawRelation(aggregationUni) - (pathManhattanX(A.e, B.s)); - drawRelation(inheritance) - (pathManhattanY(A.n, B.w)); -endfig; - -beginfig(3); - save A, B; - Class.A("A")()(); - Class.B("B")()(); - - A.nw = (0,0); - B.sw = A.ne + (10,10); - - Class_draw.A; - Class_draw.B; - - stepX:=60; - drawRelation(aggregationUni) - (pathStepX(A.e, B.e, stepX)); - - stepY:=20; - drawRelation(inheritance) - (pathStepY(B.n, A.n, stepY)); - - pair X,Y; - X := A.se + (0,-30); - Y := X + (stepX, 0); - draw A.se -- X dashed evenly; - draw (xpart Y, ypart A.e) -- Y dashed evenly; - drawdblarrow X + (0,15) -- Y + (0,15); - label.top(btex stepX etex, .5[X,Y]); - - pair X,Y; - X := B.n + (-70,-0); - Y := X + (0, stepY); - - draw B.n -- X dashed evenly; - draw B.n + (0,stepY) -- Y dashed evenly; - drawdblarrow X + (15,0) -- Y + (15,0); - label.lft(btex stepY etex, .5[X,Y]); -endfig; - -beginfig(4); - save A, B; - Class.A("A")()(); - Class.B("B")("a")(); - - A.nw = (0,0); - B.sw = A.se + (30,5); - - Class_draw.A; - Class_draw.B; - - untilX := B.left; - drawRelation(association) - (pathHorizontal(A.e, untilX)); - - draw B.nw -- B.sw + (0,-10) dashed evenly; - label.bot(btex untilX etex, B.sw + (0,-10)); -endfig; - -beginfig(5); - save A, B; - Class.A("A")()(); - Class.B("B")("a")("foo()"); - - A.nw = (0,0); - B.sw = A.ne + (-20,20); - - Class_draw.A; - Class_draw.B; - - untilY:= B.bottom; - drawRelation(association) - (pathVertical(A.n, untilY)); - - draw B.sw -- B.sw + (-20,0) dashed evenly; - label.lft(btex untilY etex, B.sw + (-20,-0)); -endfig; - -beginfig(6); - save A,B; - Class.A("A")()(); - Class.B("B")()(); - - B.nw = A.ne + (40,30); - drawObjects(A,B); - - link(inheritance)(pathCut(A,B)(A.c -- B.c)); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/picture_info.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/picture_info.mp deleted file mode 100644 index df3b10145f2..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/picture_info.mp +++ /dev/null @@ -1,86 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input boxes; -input util_commons; -input util_object; -input util_picture; -input util_positioning; - -PictureInfoCopy.iBig(iPict); -iBig.left := iBig.right := 20; -iBig.top := 10; -iBig.bottom := 1; -iBig.boxed := 1; -iBig.ignoreNegativeBase := 1; -iBig.iFont.name := defaultfont; -iBig.iFont.scale := 3; - -PictureInfoCopy.iSmall(iPict); -iSmall.boxed := 1; -iSmall.borderColor := green; - -beginfig(1); - EPicture.a(iBig)("yummy"); - EPicture.b(iSmall)("cool"); -% you can still modify a.info -% and b.info if you wish. - - a.nw = (0,0); - b.nw = a.sw + (0,-10); - - drawObjects(a, b) -endfig; - -beginfig(2); - save a, b, c, myFixed; - PictureInfoCopy.myFixed(iPict); - myFixed.ignoreNegativeBase := 1; - myFixed.fixedWidth := 15; - myFixed.fixedHeight := 20; - myFixed.boxed := 1; - - EPicture.a(myFixed)("a"); - EPicture.b(myFixed)(".-."); - EPicture.c(myFixed)("toolong"); - - leftToRight.bottom(10)(a, b, c); - - drawObjects(a, b, c); -endfig; - -beginfig(3); - save a, b, c, myFixed; - PictureInfoCopy.myFixed(iPict); - myFixed.ignoreNegativeBase := 1; - myFixed.bottom := 4.5; - myFixed.valign := "bottom"; - myFixed.halign := "center"; - myFixed.fixedWidth := 25; - myFixed.fixedHeight := 15; - myFixed.boxed := 1; - - EPicture.a(myFixed)("a"); - EPicture.b(myFixed)("yum"); - EPicture.c(myFixed)("b"); - - leftToRight.bottom(10)(a, b, c); - - drawObjects(a, b, c); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/picture_stack.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/picture_stack.mp deleted file mode 100644 index ee6e09104b7..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/picture_stack.mp +++ /dev/null @@ -1,44 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input boxes; -input util_commons; -input util_object; -input util_picture; -input util_group; -input util_picture_stack; - -beginfig(1); - iStack.boxed := 1; - iStack.iPict.boxed := 1; - PictureStack.myStack("foo", - "bar: int" infont "tyxtt", - "cool-man-centered" infont defaultfont, - "nice")("vcenter"); - - myStack.nw = (0,0); - drawObject(myStack); -endfig; - -beginfig(2); -endfig; - -beginfig(3); -endfig; - - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/positioning.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/positioning.mp deleted file mode 100644 index f98de47182f..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/positioning.mp +++ /dev/null @@ -1,139 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - Class.A("A")()(); - Class.B("B")()(); - Class.C("C")()(); - Class.Base("Base")()(); - - - A.ne = B.nw - (20,0); - B.ne = C.nw - (20,0); - Base.s = B.n + (0,20); - - drawObjects(Base, A, B, C); -endfig; - -beginfig(2); - save A, B, C, Base; - - Class.A("A")()(); - Class.B("B")()(); - Class.C("C")()(); - Class.Base("Base")()(); - - leftToRight(20)(A, B, C); - topToBottom(20)(Base, B); - - drawObjects(Base, A, B, C); -endfig; - -iPict.boxed := 1; -spacing := 5; -string strA, strB, strC; -strA := "a"; -strB := "..."; -strC := "Cyan"; - -beginfig(3); - save A, B, C, X, Y, Z; - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - leftToRight.top(spacing)(X, Y, Z); - - drawObjects(X, Y, Z); - - draw (X.left, X.top) -- (Z.right, X.top) dashed evenly withpen pencircle withcolor red; -endfig; - -beginfig(4); - save A, B, C, X, Y, Z; - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - leftToRight.midy(spacing)(X, Y, Z); - - drawObjects(X, Y, Z); - - draw (X.left, X.midy) -- (Z.right, X.midy) dashed evenly withpen pencircle withcolor red;; -endfig; - -beginfig(5); - save A, B, C, X, Y, Z; - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - leftToRight.bottom(spacing)(X, Y, Z); - - drawObjects(X, Y, Z); - - draw (X.left, X.bottom) -- (Z.right, X.bottom) dashed evenly withpen pencircle withcolor red;; -endfig; - -beginfig(6); - save A, B, C, X, Y, Z; - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - topToBottom.left(spacing)(X, Y, Z); - - drawObjects(X, Y, Z); - - draw (X.left, X.top) -- (X.left, Z.bottom) dashed evenly withpen pencircle withcolor red;; -endfig; - -beginfig(7); - save A, B, C, X, Y, Z; - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - topToBottom.midx(spacing)(X, Y, Z); - - drawObjects(X, Y, Z); - - draw (X.midx, X.top) -- (X.midx, Z.bottom) dashed evenly withpen pencircle withcolor red;; -endfig; - -beginfig(8); - save A, B, C, X, Y, Z; - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - topToBottom.right(spacing)(X, Y, Z); - - drawObjects(X, Y, Z); - - draw (X.right, X.top) -- (X.right, Z.bottom) dashed evenly withpen pencircle withcolor red;; -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/properties.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/properties.mp deleted file mode 100644 index 94f71d772ea..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/properties.mp +++ /dev/null @@ -1,58 +0,0 @@ -% Sample MetaUML figures. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - - -input metauml; - -beginfig(1); - Class.Test("Test")("a1","a2","a3")("aLongMethod():void"); - - Test.nw = (0,0); - Class_draw.Test; - - dotlabel.ulft(btex nw etex, Test.nw); - dotlabel.top(btex n etex, Test.n); - dotlabel.urt(btex ne etex, Test.ne); - dotlabel.rt(btex e etex, Test.e); - dotlabel.lrt(btex se etex, Test.se); - dotlabel.bot(btex s etex, Test.s); - dotlabel.llft(btex sw etex, Test.sw); - dotlabel.lft(btex w etex, Test.w); - - dotlabel.lft(btex c etex, Test.c); - - draw Test.nw - (50,0) -- Test.ne + (10,0); - label.urt(btex top etex, Test.nw - (50,0)); - - draw Test.sw - (50,0) -- Test.se + (10,0); - label.lrt(btex bottom etex, Test.sw - (50,0)); - - draw Test.nw + (0,10) -- Test.sw - (0, 50); - label.bot(btex left etex, Test.sw - (0,50)); - - draw Test.ne + (0,10) -- Test.se - (0, 50); - label.bot(btex right etex, Test.se - (0,50)); - - drawarrow Test.nw - (25,0) -- Test.sw - (25,0); - label.lft(btex height etex, .5[Test.nw, Test.sw] - (25,0)); - - drawarrow Test.sw - (0,25) -- Test.se - (0,25); - label.bot(btex width etex, .5[Test.sw, Test.se] - (0,25)); -endfig; - - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/state.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/state.mp deleted file mode 100644 index 77c7691a9a2..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/state.mp +++ /dev/null @@ -1,55 +0,0 @@ -% Sample MetaUML figures. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - - -input metauml; - -beginfig(1); - State.s("Take order")(); - drawObject(s); -endfig; - -beginfig(2); - Begin.b; - End.e; - State.c("Component")(); - State.composite("Composite")(b, e, c); - - b.midx = e.midx = c.midx; - c.top = b.bottom - 20; - e.top = c.bottom - 20; - - composite.info.drawNameLine := 1; - drawObject(composite); - - link(transition)(b.s -- c.n); - link(transition)(c.s -- e.n); -endfig; - -beginfig(3); - save s; - State.s("An interesting state", - "which is worth mentioning")(); - stateTransitions.s( - "OnEntry / Open eyes", - "OnExit / Sleep well"); - s.info.drawNameLine := 1; - - drawObject(s); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/statemachine_diagrams.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/statemachine_diagrams.mp deleted file mode 100644 index ff93a74dd5d..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/statemachine_diagrams.mp +++ /dev/null @@ -1,78 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -% for f in `find . | grep '.*\.[1-9]'`; do echo $f; done - -input metauml; - -beginfig(1); - Begin.b; - State.on("On")(); - State.off("Off")(); - End.e; - - setObjectJoin(pb.w = pa.e + (20,0)); - joinObjects(b, on, off, e); - drawObjects(b, on, off, e); - - clink(transition)(b, on); - clink(transition)(on, off); - clink(transition)(off, e); -endfig; - -beginfig(2); - save b, reading, processing, e, exit; - - Begin.b; - State.reading("Commands read")(); - State.processing("Processing commands")(); - End.e; - setObjectJoin(pb.n = pa.s + (0, -20)); - joinObjects(b, reading, processing, e); - - State.composite("Work")(b, reading, processing, e); - drawObject(composite); - - clink(transition)(b, reading); - clink(transition)(reading, processing); - clink(transition)(processing, e); - - ExitPoint.exit; - exit.c=(composite.right, reading.midy); - drawObject(exit); - item(iAssoc)("error")(obj.nw = exit.s); - - clink(transition)(reading, exit); - - State.error("Prepare error report")(); - State.result("Display result")(); - End.theEnd; - - error.midx = result.midx = theEnd.midx = composite.right + 90; - error.midy = exit.midy; - result.midy = processing.midy; - theEnd.midy = e.midy; - drawObjects(error, result, theEnd); - - clink(transition)(exit, error); - clink(transition)(error, result); - clink(transition)(result, theEnd); - - link(transition)(rpathHorizontal(result.w, composite.right)); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_activity.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_activity.mp deleted file mode 100644 index 841bdb8a312..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_activity.mp +++ /dev/null @@ -1,46 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - Begin.b; - End.e; - - e.n = (30,30); - drawObject(b); - show "Object b drawn"; - drawObject(e); - - link(associationUni)(pathCut(b,e)(b.c--e.c)); -endfig; - -beginfig(2); - EActivity.act(iActivity)("go to school", "while singing"); - drawObject(act); - - Branch.br; - br.nw = (50,50); - drawObject(br); - - Fork.fork("h",30); - fork.nw = (30,70); - drawObject(fork); -endfig; - -end - diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class.mp deleted file mode 100644 index 79dbb37133b..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class.mp +++ /dev/null @@ -1,145 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(0); - show "Copying class info..."; - ClassInfoCopy.foo(iClass); -endfig; - -beginfig(1); - Class.P("AAA")("- noo:int", "+bar:double","c:Integer","f: int")("foo()", "bar()"); - Class_setDebugMode.P; - - P.nw=(0,0); - Class_draw.P; - - Class.Q("AAA")("-noo:int", "+bar:double","c:Integer","f: int")("-noo()", "bar()"); - Q.nw=P.ne + (20,0); - Class_draw.Q; -endfig; - -beginfig(2); - save P, Q; - - Class.P("AAA")("+ foo:int", "+bar:double","c:Integer","f: int")(); - Class_setDebugMode.P; - P.nw=(0,0); - Class_draw.P; - - Class.Q("AAA")("+ foo:int", "+bar:double","c:Integer","f: int")(); - Q.nw=P.ne + (20,0); - Class_draw.Q; -endfig; - -beginfig(3); - save P, Q; - - Class.P("AAA")()(); - Class_setDebugMode.P; - P.nw=(0,0); - Class_draw.P; - - Class.Q("AAA")()(); - Q.nw=P.ne + (20,0); - Class_draw.Q; -endfig; - -beginfig(4); - save P, Q; - - Class.P("AAA")()(); - classStereotypes.P("<>","<>", "<>"); - Class_setDebugMode.P; - P.nw=(0,0); - Class_draw.P; - - - Class.Q("AAA")()(); - classStereotypes.Q("<>","<>", "<>"); - Q.nw=P.ne + (20,0); - Class_draw.Q; -endfig; - -beginfig(5) - Class.A("User")()(); - classStereotypes.A("<>","<>"); - A.nw=(0,0); - drawObject(A); -endfig; - -beginfig(6) - save A; - Class.A("User")()(); - A.info.iMethodStack.left := A.info.iMethodStack.right := 50; - A.info.iMethodStack.top := A.info.iMethodStack.bottom := 20; - - drawObject(A); -endfig; - -beginfig(7) - save inter; - EClass.inter(iInterface)("Observer")()("+update(src: Object)"); - drawObjects(inter); -endfig; - -beginfig(8) - save inter; - EInterface.inter(iInterface)("Observer")("+update(src: Object)"); - drawObjects(inter); -endfig; - -beginfig(9) - save inter; - Interface.inter("Observer")("+update(src: Object)"); - drawObjects(inter); -endfig; - -beginfig(10) - save A; - EClass.A(iAbstractClass)("AbstractClass")("[]{}")("+update(src: Object)"); - drawObjects(A); -endfig; - -beginfig(11) - save A; - AbstractClass.A("AbstractClass")("[]{}")("+update(src: Object)"); - drawObjects(A); -endfig; - -beginfig(12) - save A; - EClass.A(iClassNameOnly)("AClassWithNoCompartments")()(); - drawObjects(A); -endfig; - -beginfig(13) - save A; - ClassName.A("AnotherClass"); - drawObjects(A); -endfig; - -beginfig(14) - save A; - ClassName.A("AnotherClass"); - classStereotypes.A("<>","<>"); - - drawObjects(A); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class_qual_assoc.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class_qual_assoc.mp deleted file mode 100644 index 735bba19e0d..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class_qual_assoc.mp +++ /dev/null @@ -1,53 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - save P,qa; - - Class.P("Person")()(); - QualifiedAssociation.qa("accountNumber:int", "foo: id"); - - P.nw = (0,0); - qa.n = P.s; - - - P.info.iName.left := 35; - P.info.iName.right := 35; - drawObjects(P); - - drawObject(qa); -endfig; - -beginfig(2); - save P,qa; - - Class.P("Person")()(); - QualifiedAssociation.qa("accountNumber:int", "foo: id", "foolang"); - - P.nw = (0,0); - qa.w = P.e; - - P.info.shade := 0; - P.info.iMethodStack.top := 20; - drawObjects(P); - - drawObject(qa); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class_templates.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class_templates.mp deleted file mode 100644 index c3fc50209c8..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_class_templates.mp +++ /dev/null @@ -1,62 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - save P,template; - - Class.P("Person")()(); - Template.template("foo", "bar"); - - drawObjectAt(P)(P.nw=(0,0)); - - Template_attachToClass.template(P); - drawObject(template); -endfig; - -beginfig(2); - save P,template; - - Class.P("Person")()(); - Template.template("foo: int"); - Template_attachToClass.template(P); - - drawObjectAt(P)(P.nw=(0,0)); - drawObject(template); -endfig; - -beginfig(3); - save CA, TA, CB, TB, CC, TC; - Class.CA("VeryVeryLongClassName")()(); - ClassTemplate.TA("int foo")(CA); - - Class.CB("Shortie")("abracadabra: long long int")(); - ClassTemplate.TB("T")(CB); - - Class.CC("Shortie")("abracadabra: long long int")(); - ClassTemplate.TC("TrulyAmazingLongTypename")(CC); - - CA.s = CB.n + (0,14); - CB.s = CC.n + (0,14); - - drawObjects(CA, TA, CB, TB, CC, TC); -endfig; - - - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_component.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_component.mp deleted file mode 100644 index 3668a548f21..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_component.mp +++ /dev/null @@ -1,45 +0,0 @@ -input metauml; -input metauml_component; -input metauml_component_relations; - -beginfig(1); - Class.classA("Class A")()(); - - Class.classB("Class B")()(); - - Component.compA("Component A")(); - - Component.compB("Component B")(); - - Component.compC("Component C")(compA, compB, classA, classB); - - - - compB.w = compA.e + (40, 0); - - classA.w = compB.e + (20, 0); - - classB.w = classA.e + (20, 0); - - - - drawObjects(compC); - - - - path open; - - open := compA.e .. compA.e + (20, 0); - - - - path close; - - close := compA.e + (20, 0) .. compB.w; - - link(requiredInterface)(open); - - link(providedInterface)(close); -endfig; - -end \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_font.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_font.mp deleted file mode 100644 index d5fc1a7702f..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_font.mp +++ /dev/null @@ -1,91 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -string theFont; - -beginfig(1); - theFont := "pcrr"; - - boxjoin(a.sw=b.nw); - boxit.ff(("Font name: ( ) " & theFont) infont theFont); - boxit.s0("<>" infont theFont ); - boxit.s1("<>, <>, <>" infont theFont); - boxit.g0("[guard] " infont theFont); - boxit.g1("[stillhungry] closing paranthesis SHOWN after hungry !" infont theFont); - boxit.g2("[still hungry] closing paranthesis NOT shown after hungry !" infont theFont); - boxit.g3("[][][][]hm]" infont theFont); - boxit.c0("{constraint}" infont theFont); - boxit.c1("{a constraint} closing paranthesis NOT shown !" infont theFont); - - drawboxed(ff, s0, s1, g0, g1, g2, g3, c0, c1); -endfig; - -beginfig(2); - save ff,s,g,c; - theFont := "tyxbtt"; - - boxjoin(a.sw=b.nw); - boxit.ff(("Font name: ( ) " & theFont) infont theFont); - boxit.s0("<>" infont theFont ); - boxit.s1("<>, <>, <>" infont theFont); - boxit.g0("[guard] " infont theFont); - boxit.g1("[stillhungry] closing paranthesis SHOWN after hungry !" infont theFont); - boxit.g2("[still hungry] closing paranthesis NOT shown after hungry !" infont theFont); - boxit.g3("[][][][]hm]" infont theFont); - boxit.c0("{constraint}" infont theFont); - boxit.c1("{a constraint} closing paranthesis NOT shown !" infont theFont); - - drawboxed(ff, s0, s1, g0, g1, g2, g3, c0, c1); -endfig; - -beginfig(3); - picture pA, pB, pC; - string sA, sB, sC; - sA := "assembleElementLocalMatrix(k: KeyType, mat: LocalMatrixType, a: AssembleAction)"; - sB := "assembleElementLocalMatri(k: KeyType, mat: LocalMatrixType, a: AssembleAction)"; - sC := "assembleElntLocalMatri(k: KeyType, mat: LocalMatrixType, a: AssembleAction)"; - - pA := sA infont "tyxbtt"; - pB := sB infont "tyxbtt"; - pC := sC infont "tyxbtt"; - - draw pA; - draw pB shifted (0,-20); - draw pC shifted (0,-40); -endfig; - -beginfig(4); - save ff,s,g,c; - theFont := "ptmr8r"; - - boxjoin(a.sw=b.nw); - boxit.ff(("Font name: ( ) " & theFont) infont theFont); - boxit.s0("<>" infont theFont ); - boxit.s1("<>, <>, <>" infont theFont); - boxit.g0("[guard] " infont theFont); - boxit.g1("[stillhungry] closing paranthesis SHOWN after hungry !" infont theFont); - boxit.g2("[still hungry] closing paranthesis NOT shown after hungry !" infont theFont); - boxit.g3("[][][][]hm]" infont theFont); - boxit.c0("{constraint}" infont theFont); - boxit.c1("{a constraint} closing paranthesis NOT shown !" infont theFont); - - drawboxed(ff, s0, s1, g0, g1, g2, g3, c0, c1); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_group.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_group.mp deleted file mode 100644 index 17265c458b2..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_group.mp +++ /dev/null @@ -1,60 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - save p,q,r,t,g; - - EPicture.p(iPictBoxed)("p0"); - EPicture.q(iPictBoxed)("p1"); - p.se = q.nw; - - string f; - f= enumToString(p,q)(""); - show "f=" & f; - - EGroup.g(iGroup)(p,q); - g.nw = (0,0); - - drawObject(g); -endfig; - -beginfig(2); - save g,h,p,gg; - - Group.g(); - g.info.boxed := 1; - g.nw = (30,30); - drawObject(g); - - Picture.p("Test picture in group"); - p.info.boxed := 1; - Group.h(p); - h.info.boxed := 1; - h.nw = (0,0); - drawObject(h); - - Picture.v0("s"); v0.info.boxed := 1; - Picture.v1("s"); v1.info.boxed := 1; - v1.nw = v0.se + (10,10); - Group.gg(v0, v1); gg.info.boxed := 1; - gg.nw = (70,70); - drawObject(gg); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_instance.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_instance.mp deleted file mode 100644 index d01ff8452e2..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_instance.mp +++ /dev/null @@ -1,35 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Radu-George Radulescu -% -% 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. - -input metauml; - -beginfig(1); - Instance.A(":Foo")("int: val1", "bool: val2"); - Instance.B(":Bar")("very long text for testing purposes"); - Instance.C("s: Student")("line1", "line2", "line3", "line4", "line5"); - Instance.D("Example")("small"); - Instance.E("g: Yummy")("{placed}", "{color=red}"); - - B.w = A.e + (20, 0); - C.n = A.s - (0, 20); - D.w = C.e + (20, 0); - E.w = D.e + (20, 0); - - drawObjects(A, B, C, D, E); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_lars_issues.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_lars_issues.mp deleted file mode 100644 index 607ef54c909..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_lars_issues.mp +++ /dev/null @@ -1,94 +0,0 @@ -input metauml; - -numeric u; -u = 1.3cm; - -beginfig(1); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -Class.ElLocSysAcc("ElementLocalSystemAcceptor") -() -("+startElementAssebly()", - "+assembleElementLocalMatrix(k: KeyType, mat: LocalMatrixType, a: AssembleAction)", - "+assembleElementLocalRHS(k: KeyType, rhs: LocalRHSType, a: AssembleAction)", - "+endElementAssembly()"); - -classStereotypes.ElLocSysAcc("<>"); -ClassTemplate.TEl("KeyType: typename")(ElLocSysAcc); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - Class.FaceLocSysAcc("FaceLocalSystemAcceptor") - () - ("+startFaceAssebly()", - "+assembleFaceLocalMatrix(k1: KeyType, k2: KeyType, mat: LocalMatrixType, a: AssembleAction)", - "+assembleFaceLocalRHS(k: KeyType, rhs: LocalRHSType, a: AssembleAction)", - "+endFaceAssembly()"); - - classStereotypes.FaceLocSysAcc("<>"); - ClassTemplate.TFa("KeyType: typename")(FaceLocSysAcc); - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - Class.SolProvider("SolutionProvider") - () - ("+startSortBack()", - "+getLocalSolution(k: KeyType, sol: LocalSolutionType)", - "+endSortBack()"); - - classStereotypes.SolProvider("<>"); - ClassTemplate.TSol("KeyType: typename")(SolProvider); - -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - % now inherit from these for LapackMatrixSorter - Class.LapackMS("LapackMatrixSorter") - ("-indMan: IndexManager", - "-A: LaGenMatDouble&", - "-x: LaVectorDouble&", - "-b: LaVectorDouble&" - ) - ("+startElementAssembly()"); - - ClassTemplate.TLap("KeyType: typename", "IndexManager: class")(LapackMS); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% where to draw these: -FaceLocSysAcc.nw = ElLocSysAcc.ne + (1.5u, 0); -SolProvider.nw = FaceLocSysAcc.ne + (1.5u, 0); -LapackMS.n = FaceLocSysAcc.s + (0, -3u); - -drawObjects(ElLocSysAcc, TEl, FaceLocSysAcc, TFa, - SolProvider, TSol, LapackMS, TLap); - -% 50: how much should the path raise upwards before making a horizontal turn. -link(inheritance)(pathStepY(LapackMS.n, FaceLocSysAcc.s, 50)); -link(inheritance)(pathStepY(LapackMS.n, SolProvider.s, 50)); -link(inheritance)(pathStepY(LapackMS.n, ElLocSysAcc.s, 50)); - -endfig; - -beginfig(2); - Begin.b; - Activity.A("Eat something good", "from the kitchen"); - Activity.B("Read a book"); - End.e; - - % or other positioning code... - setObjectJoin(pa.s = pb.n + (0,20)); - joinObjects(b, A, B, e); - - % important: first draw the activities - drawObjects(b, A, B, e); - - % you can now draw the transitions - clink(transition)(b, A); - clink(transition)(A, B); - link(transition)(pathStepX(B.e, e.e, 30)); - - item(iGuard)("foo")(obj.sw = .5[b.s, A.n]); -endfig; - -end; diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_lowlevel.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_lowlevel.mp deleted file mode 100644 index 952da34f482..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_lowlevel.mp +++ /dev/null @@ -1,66 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; -input util_infrastructure; - -beginfig(1); - show "Lowlevel test"; - %string foo; - %foo := var_instruction(numeric) x, y; - %show foo; - %foo := foo & ";"; - %show foo; - attributes(foo); - _n_ := "foo"; - %scantokens foo; - %string x; - %x := str(numeric); - var(numeric) x; - - label.top("nothing shown (intentionally)", (0,0)); -endfig; - -vardef _foo@#= - attributes(@#); - var(string) @#a[]; - @#a[0] := "fpp"; - @#a[1] := "gqq"; -enddef; - -% _foo.b; % not working - -vardef _bar@#(text s)= - attributes(@#); - var(string) elements; - @#elements := enumToString(s)(""); -enddef; - -beginfig(2); - for f = scantokens "a, b, c": - show f; - endfor; - _bar.xx(a, b, c, d); - show xx.elements; - for f = scantokens xx.elements: - show f; - endfor; - label.top("nothing shown (intentionally)", (0,0)); -endfig; - -end - diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_note.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_note.mp deleted file mode 100644 index 9ea6b1a2931..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_note.mp +++ /dev/null @@ -1,39 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml_note; -input metauml_base; -input metauml_paths; -input metauml_links; -input metauml_class_relations; - -beginfig(1); - Note.foo("Antananarivo", "Machupichu"); - drawObject(foo); -endfig; - -beginfig(2); - save foo; - Note.foo("Please disregard this note"); - Note.bar("Please take the other note", "very seriously"); - - bar.s = foo.n + (10,20); - drawObjects(foo, bar); - clink(dashedLink)(foo, bar); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_package.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_package.mp deleted file mode 100644 index 8b6cad579a3..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_package.mp +++ /dev/null @@ -1,54 +0,0 @@ -input metauml; -input metauml_package; -input metauml_package_relations; - -beginfig(1); - Package.emptyPackage("")(); - - Package.nameOnlyPackage("java.sun.com")(); - - Class.oneClass("A class")()(); - Package.oneClassPackage("One class package")(oneClass); - - Instance.oneInstance("An instance")(); - State.oneState("A state")(); - Activity.oneActivity("An activity"); - Package.multiPackage("Multipackage")(oneInstance, oneState, oneActivity); - - Package.allPackage("This package contains them all")(emptyPackage, nameOnlyPackage, - oneClassPackage, multiPackage); - - nameOnlyPackage.nw = emptyPackage.ne + (30, 0); - oneClassPackage.ne = emptyPackage.s - (0, 50); - - multiPackage.top = oneClassPackage.top; - multiPackage.left = oneClassPackage.right + 20; - - centered_align_top(oneState, oneActivity)(10, below(oneInstance.s, 20)); - - drawObjects(allPackage); -endfig; - -beginfig(2); - Package.nameOnlyOnTopPackage("Name on top")(); - nameOnlyOnTopPackage.info.forceEmptyContent := 1; - Package.nameOnlyInMiddlePackage("By default name", "is in the middle")(); - - Class.cl("A class")("Attribute")("Method"); - Package.notEmptyPackage("Contains class")(cl); - - nameOnlyInMiddlePackage.n = nameOnlyOnTopPackage.s - (0, 40); - notEmptyPackage.w = nameOnlyInMiddlePackage.e + (80, 0); - drawObjects(nameOnlyOnTopPackage, nameOnlyInMiddlePackage, notEmptyPackage); - - %link(import)(pathStepX(notEmptyPackage.w, nameOnlyOnTopPackage.e, -30)); - %link(import)(pathVertical(nameOnlyInMiddlePackage.ne - (10, 0), nameOnlyOnTopPackage.bottom)); - %link(import)(notEmptyPackage.sw -- nameOnlyInMiddlePackage.ne); -endfig; - -beginfig(3); - link(nest)((10,10)--(30,30)); -endfig; - - -end \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_paths.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_paths.mp deleted file mode 100644 index 9de403b86af..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_paths.mp +++ /dev/null @@ -1,100 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -iPict.boxed := 1; - -beginfig(1); - iClass.shade := 3; - Class.F("Foo")("a: int","b: int")(); - Class.B("Bar")()(); - - B.nw = F.ne + (20,-20); - - drawObjects(B, F); - - link(association)(B.nw -- F.ne); - - draw objectBorder(B) withcolor red; - draw objectBorder(F) withcolor blue; - - link(association)(pathCut(B,F)(B.c--F.c)); -endfig; - -beginfig(2); - save A, B; - - Picture.A("A"); - Picture.B("Blue"); - - B.sw = A.ne + (20,20); - - drawObjects(A, B); - - link(associationUni)(pathManhattanX(A.e, B)); -endfig; - -beginfig(3); - save A, B, C, D, O; - - Picture.A("Alpha"); - Picture.B("Beta"); - Picture.C("Gamma"); - Picture.D("Detla"); - Picture.O("Omega"); - - A.c = O.c + (-50,50); - B.c = O.c + (50,50); - C.c = O.c + (-50,-50); - D.c = O.c + (50,-50); - - drawObjects(O, A, B, C, D); - - link(associationUni)(pathManhattanX(O, A)); - link(associationUni)(pathManhattanX(O, B)); - link(associationUni)(pathManhattanX(O, C)); - link(associationUni)(pathManhattanX(O, D)); -endfig; - -beginfig(3); - show ""; - show ""; - show " FIGURE 3"; - - save A, B, C, D, O; - - Picture.A("Alpha"); - Picture.B("Beta"); - Picture.C("Gamma"); - Picture.D("Detla"); - Picture.O("Omega"); - - A.c = O.c + (-50,50); - B.c = O.c + (50,50); - C.c = O.c + (-50,-50); - D.c = O.c + (50,-50); - - drawObjects(O, A, B, C, D); - - link(associationUni)(pathManhattanX(O, A)); - link(associationUni)(pathManhattanX(O, B)); - link(associationUni)(pathManhattanX(O, C)); - link(associationUni)(pathManhattanX(O, D)); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture.mp deleted file mode 100644 index 5207a7c07e3..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture.mp +++ /dev/null @@ -1,270 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -string theFont; -theFont := "tyxbtt"; - -beginfig(1); - draw "xxx" infont defaultfont scaled defaultscale shifted (0,0); - draw "yyy" infont (iFont.name) scaled (iFont.scale) shifted (5, 5); - - Picture.p("foo, bar, foo"); - p.nw = (0,0); - drawObject(p); - - Picture.q("nice, ugly"); - drawObjectAt(q)( q.nw = (30,30) ); - - FontInfo.foo("tyxbtt", 1); - PictureInfo.nice(3,6,5,10)(foo); - nice.boxed := 1; - - EPicture.myPic(nice)("what a nice feature"); - drawObjectAt(myPic)( myPic.nw = (0,0)); -endfig; - -beginfig(2); - save p, q, r, t; - - Picture.p("foo"); - Picture.q("bar"); - p.nw = (10, 10); - q.nw = (20, 20); - - drawObject(p); - drawObject(q); - - drawObjects(p, q); - - Picture.a0("root" infont defaultfont); - Picture.a1("toof"); - - a[0].nw = (30, 30); - a[1].nw = (50, 50); - - drawObjects(scantokens listArray(a)(2)); - %drawObjectArray(a)(2); -endfig; - -beginfig(3); - save p, q, r, t, u, pp; - - bboxmargin := 0; - - picture pp; - pp = "a" infont theFont; - Picture.p(pp); - Picture.q("cool" infont theFont); - Picture.r("good" infont theFont); - Picture.t("tust"); - Picture.u("fook" infont theFont); - - p.nw = (0,50); - setObjectJoin(pa.left=pb.left; pa.bottom = pb.top + 1); - joinDrawObjects(p, q, r, t, u); - - defaultdy:=0; - boxjoin(a.sw=b.nw; a.se=b.ne); - boxit.A0("aaa"); - boxit.A1("dddd"); - boxit.A2("asf"); - boxit.A3("good"); - boxit.A4(".."); - A0.nw=(0,0); - drawboxed(A0,A1,A2,A3,A4); - - show A[1].nw; - - Picture.B0(btex adsaas etex); - Picture.X[2](btex asdasad etex); - - myy := 40; - - bboxmargin := 0; - - pair p; - p := (30,myy); - dotlabel.lrt(".", p); - picture x; - x := "f: int" infont theFont; - draw bbox(x) shifted p; - draw x shifted p; - - show "LLCORNER P"; - show llcorner x; - - pair q; - q := (70,myy); - dotlabel.lrt(".", q); - picture y; - y := "goofy: int" infont theFont; - draw bbox(y) shifted q; - draw y shifted q; - - pair qq; - qq := (135,myy); - dotlabel.lrt(".", qq); - picture y; - y := "goot" infont theFont; - draw bbox(y) shifted qq; - draw y shifted qq; - - show "LLCORNER q"; - show llcorner y; - - draw (0,myy)--(150, myy) dashed evenly; - - myyb := 70; - Picture.aa(btex goof etex); - aa.sw = (30, myyb); - Picture_draw.aa; - - draw (0,myyb)--(100, myyb) dashed evenly; -endfig; - -beginfig(4); - save a, b; - FontInfo.myFont(theFont, 1); - PictureInfo.myWay(0,0,0,0)(myFont); - myWay.boxed := 1; - - EPicture.a0(myWay)("goof"); - EPicture.a1(myWay)("Aoorian"); - EPicture.a2(myWay)("fpp"); - EPicture.a3(myWay)("f: int"); - EPicture.a4(myWay)("aa()"); - - a0.nw = (0,0); - setObjectJoin(pa.bottom = pb.bottom; pa.right = pb.left - 10); - joinDrawObjects(scantokens listArray(a)(5)); - - draw a0.sw -- a4.se withcolor black dashed evenly; - - myWay.ignoreNegativeBase := 1; - EPicture.b0(myWay)("goof"); - EPicture.b1(myWay)("Aoorian"); - EPicture.b2(myWay)("fpp"); - EPicture.b3(myWay)("f: int"); - EPicture.b4(myWay)("aa()"); - - b0.nw = (0,-20); - setObjectJoin(pa.bottom = pb.bottom; pa.right = pb.left - 10); - joinDrawObjects(scantokens listArray(b)(5)); - - draw b0.sw -- b4.se withcolor black dashed evenly; -endfig; - - -beginfig(5); - truecorners := 1; - bboxmargin := 0; - save p; - picture basepict; - basepict := "<>" infont "tyxtt"; - - draw basepict; - draw bbox basepict; -endfig; - -beginfig(6); - item.foo(iPictBoxed)("foo bar cool")(foo.nw = (0,0)); - item.bar(iPict)("x: int")(bar.nw = (20,20)); - - aitem(iPictBoxed)("an anounymous item")(obj.nw = (40,10)); -endfig; - -beginfig(7); - save a, b, c, d, e, myFixed; - PictureInfoCopy.myFixed(iPict); - myFixed.ignoreNegativeBase := 1; - myFixed.fixedWidth := 20; - myFixed.boxed := 1; - - EPicture.a(myFixed)("a"); - EPicture.b(myFixed)("yummy"); - EPicture.c(myFixed)(".-."); - EPicture.d(myFixed)("job"); - EPicture.e(myFixed)("football"); - - leftToRight.bottom(20)(a, b, c, d, e); - - drawObjects(a, b, c, d, e); -endfig; - -beginfig(8); - save a, b, c, d, e, myFixed; - PictureInfoCopy.myFixed(iPict); - myFixed.halign := "center"; - myFixed.ignoreNegativeBase := 1; - myFixed.fixedWidth := 20; - myFixed.boxed := 1; - - EPicture.a(myFixed)("a"); - EPicture.b(myFixed)("yummy"); - EPicture.c(myFixed)(".-."); - EPicture.d(myFixed)("job"); - EPicture.e(myFixed)("football"); - - leftToRight.bottom(20)(a, b, c, d, e); - - drawObjects(a, b, c, d, e); -endfig; - -beginfig(9); - save a, b, c, d, e, myFixed; - PictureInfoCopy.myFixed(iPict); - myFixed.halign := "center"; - myFixed.ignoreNegativeBase := 1; - myFixed.fixedWidth := 20; - myFixed.fixedHeight := 30; - myFixed.boxed := 1; - - EPicture.a(myFixed)("a"); - EPicture.b(myFixed)("yummy"); - EPicture.c(myFixed)(".-."); - EPicture.d(myFixed)("job"); - EPicture.e(myFixed)("football"); - - leftToRight.bottom(20)(a, b, c, d, e); - - drawObjects(a, b, c, d, e); -endfig; - -beginfig(10); - save a, b, c, d, e, myFixed; - PictureInfoCopy.myFixed(iPict); - myFixed.halign := "center"; - myFixed.valign := "center"; - myFixed.ignoreNegativeBase := 1; - myFixed.fixedWidth := 20; - myFixed.fixedHeight := 30; - myFixed.boxed := 1; - - EPicture.a(myFixed)("a"); - EPicture.b(myFixed)("yummy"); - EPicture.c(myFixed)(".-."); - EPicture.d(myFixed)("job"); - EPicture.e(myFixed)("football"); - - leftToRight.bottom(20)(a, b, c, d, e); - - drawObjects(a, b, c, d, e); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture_stack.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture_stack.mp deleted file mode 100644 index d13803f71ff..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture_stack.mp +++ /dev/null @@ -1,70 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -string theFont; -theFont := "tyxtt"; - -beginfig(1); - PictureStackInfoCopy.stackWay(iStack); - - EPictureStack.emptyStack(stackWay)()("vcenter"); - emptyStack.nw=(10,10); - drawObject(emptyStack); -endfig; - -beginfig(2); - PictureStack.myStack("foo", "bar: int" infont theFont, "cool man" infont defaultfont, "nice")("vcenter"); - myStack.nw = (0,0); - PictureStack_draw.myStack; -endfig; - -beginfig(3); - % 1 - PictureStack.stack("fooornika", "gar nichts", "nicelina")("vcenter"); - stack.info.boxed := 1; - stack.info.iPict.boxed := 1; % this does nothing, it's too late - - stack.nw = (0,0); - drawObject(stack); - - % 2 - PictureStack.stackb("fooornika", "gar nichts", "nicelina")("vcenter"); - stackb.info.boxed := 1; - stackb.pict[0].info.boxed := 1; - stackb.pict[2].info.boxed := 1; - - stackb.nw = (50,0); - drawObject(stackb); - - % 3 - PictureStackInfoCopy.myInfo(iStack); - myInfo.boxed := 1; - myInfo.iPict.boxed := 1; - EPictureStack.stackc(myInfo)("fooornika", "gar nichts", "nicelina")("vcenter"); - - stackc.nw = (100,0); - drawObject(stackc); -endfig; - -beginfig(4); - % - -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture_tex_rendering.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture_tex_rendering.mp deleted file mode 100644 index 3c041298699..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_picture_tex_rendering.mp +++ /dev/null @@ -1,43 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -input TEX; - -beginfig(1); - PictureInfoCopy.myP(iPict); - myP.boxed := 1; - myP.ignoreNegativeBase := 1; - - EPicture.p(myP)( TEX("Hello, world $x=7$") ); - - PictureStackInfoCopy.myPS(iStack); - myPS.boxed := 1; - myPS.iPict.boxed := 1; - myPS.iPict.ignoreNegativeBase := 1; - - EPictureStack.ps(myPS)("Hello, world!", - TEX("This is cool: $x=y$."), - TEX("But this is insane: $\sum_1^3 f(x) \over x$!") ) ("vleft"); - - leftToRight(20)(p, ps); - - drawObjects(p, ps); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_positioning.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_positioning.mp deleted file mode 100644 index 66034767716..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_positioning.mp +++ /dev/null @@ -1,195 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -iPict.boxed := 1; -spacing := 5; -string strA, strB, strC; -strA := "a"; -strB := "..."; -strC := "XYZ"; - -beginfig(1); - save A, B, C, X, Y, Z; - - Picture.A(strA); - Picture.B(strB); - Picture.C(strC); - - align(top, left, right)(spacing)("+")(A, B, C); - - drawObjects(A, B, C); - - draw (A.left, A.top) -- (C.right, A.top); - - %%%% - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - leftToRight.top(spacing)(X, Y, Z); - - X.top = A.bottom - 10; - - drawObjects(X, Y, Z); - - draw (X.left, X.top) -- (Z.right, X.top); -endfig; - -beginfig(2); - save A, B, C, X, Y, Z; - - Picture.A(strA); - Picture.B(strB); - Picture.C(strC); - - align(midy, left, right)(spacing)("+")(A, B, C); - - drawObjects(A, B, C); - - draw (A.left, A.midy) -- (C.right, A.midy); - - %%%% - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - leftToRight.midy(spacing)(X, Y, Z); - - X.top = A.bottom - 10; - - drawObjects(X, Y, Z); - - draw (X.left, X.midy) -- (Z.right, X.midy); -endfig; - -beginfig(3); - save A, B, C, X, Y, Z; - - Picture.A(strA); - Picture.B(strB); - Picture.C(strC); - - align(bottom, left, right)(spacing)("+")(A, B, C); - - drawObjects(A, B, C); - - draw (A.left, A.bottom) -- (C.right, A.bottom); - - %%%% - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - leftToRight.bottom(spacing)(X, Y, Z); - - X.top = A.bottom - 10; - - drawObjects(X, Y, Z); - - draw (X.left, X.bottom) -- (Z.right, X.bottom); -endfig; - -beginfig(4); - save A, B, C, X, Y, Z; - - Picture.A(strA); - Picture.B(strB); - Picture.C(strC); - - align(left, top, bottom)(spacing)("-")(A, B, C); - - drawObjects(A, B, C); - - draw (A.left, A.top) -- (A.left, C.bottom); - - %%%% - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - topToBottom.left(spacing)(X, Y, Z); - - X.top = C.bottom - 10; - - drawObjects(X, Y, Z); - - draw (X.left, X.top) -- (X.left, Z.bottom); -endfig; - -beginfig(5); - save A, B, C, X, Y, Z; - - Picture.A(strA); - Picture.B(strB); - Picture.C(strC); - - align(midx, top, bottom)(spacing)("-")(A, B, C); - - drawObjects(A, B, C); - - draw (A.midx, A.top) -- (A.midx, C.bottom); - - %%%% - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - topToBottom.midx(spacing)(X, Y, Z); - - X.top = C.bottom - 10; - - drawObjects(X, Y, Z); - - draw (X.midx, X.top) -- (X.midx, Z.bottom); -endfig; - -beginfig(6); - save A, B, C, X, Y, Z; - - Picture.A(strA); - Picture.B(strB); - Picture.C(strC); - - align(right, top, bottom)(spacing)("-")(A, B, C); - - drawObjects(A, B, C); - - draw (A.right, A.top) -- (A.right, C.bottom); - - %%%% - - Picture.X(strA); - Picture.Y(strB); - Picture.Z(strC); - - topToBottom.right(spacing)(X, Y, Z); - - X.top = C.bottom - 10; - - drawObjects(X, Y, Z); - - draw (X.right, X.top) -- (X.right, Z.bottom); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_skins.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_skins.mp deleted file mode 100644 index 750cee4e975..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_skins.mp +++ /dev/null @@ -1,26 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; -input metauml_skin_simple; - -beginfig(1); - Class.HelloSkin("HelloSkin")("nice: int")("done(): void"); - drawObject(HelloSkin); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_skins_global_defaults.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_skins_global_defaults.mp deleted file mode 100644 index aaeffd043b7..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_skins_global_defaults.mp +++ /dev/null @@ -1,29 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -string metauml_defaultFont, metauml_defaultFontLight; -metauml_defaultFont := "cmr12"; -metauml_defaultFontLight := "cmr10"; - -input metauml; - -beginfig(1); - Class.HelloSkinB("HelloSkinGlobal")("foo: int")("bar(): void"); - drawObject(HelloSkinB); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_state.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_state.mp deleted file mode 100644 index f9a53741c01..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_state.mp +++ /dev/null @@ -1,73 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -beginfig(1); - EntryPoint.entry; - ExitPoint.exit; - - entry.nw = (0,0); - exit.nw = (50,50); - - drawObjects(entry, exit); - clink(transition)(entry, exit); -endfig; - -beginfig(2); - EState.myState(iState)("the light is", "visibly on")(); - drawObject(myState); - - State.anotherState("Another nice state")(); - anotherState.info.drawNameLine := 1; - drawObjectAt(anotherState)(anotherState.nw = (0,50)); -endfig; - -beginfig(3); - State.interesting("Interesting state")(); - State_internalTransitions.interesting("OnEntry / doVeryHappy", "OnExit / doSomewhatSad"); - interesting.info.drawNameLine := 1; - - drawObject(interesting); -endfig; - -beginfig(4); - Begin.b; - End.e; - State.sa("A state")(); - State.sb("Another state")(); - setObjectJoin(pb.w = pa.e + (40, 0)); - joinObjects(b, sa, sb, e); - - State.composite("Composite state")(b, e, sa, sb); - drawObject(composite); - - clink(transition)(b, sa); - clink(transition)(sa, sb); - clink(transition)(sb, e); -endfig; - -beginfig(5); -endfig; - -beginfig(6); -endfig; - -beginfig(7); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_usecase.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_usecase.mp deleted file mode 100644 index dd75ac68be5..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/test_usecase.mp +++ /dev/null @@ -1,197 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -input metauml; - -HumanInfoCopy.iDwarf(iHuman); -iDwarf.width := 60; -iDwarf.height := 20; -iDwarf.foreColor := blue; -iDwarf.shadeColor := .8blue; - -beginfig(1); - Human.h; - drawObject(h); - draw objectBox(h); - - Human.h1; - h1.n = (35, 0); - h1.info.foreColor := red; - drawObject(h1); - - Human.h2; - h2.info.height := 90; - h2.nw = (50,0); - drawObject(h2); - draw objectBox(h2); - - EHuman.d(iDwarf); - drawObjectAt(d)(d.s = (10,-50)); - - EHuman.d2(iDwarf); - d2.info.shadeColor := red; - drawObjectAt(d2)(d2.s = (10,-80)); -endfig; - -beginfig(2); - save a,b,c,d; - - show "***"; - show "Figure 2"; - show ""; - - Actor.a("foo"); - drawObject(a); - - Actor.b("Bar in debug mode", "fooling around"); - Actor_setDebugMode.b; - b.n = (70,0); - drawObject(b); - - Actor.c("Student"); - c.sw = b.n; - drawObject(c); - - Actor.d("."); - d.e = (30, -50); - drawObject(d); - label.rt("X", d.e); -endfig; - -beginfig(3); - Usecase.u("foo"); - drawObject(u); - - draw objectBox(u) withpen pencircle scaled .1; - - draw u.n withpen pencircle scaled 2 withcolor red; - draw u.s withpen pencircle scaled 2 withcolor red; - draw u.e withpen pencircle scaled 2 withcolor red; - draw u.w withpen pencircle scaled 2 withcolor red; - - draw u.ulft withpen pencircle scaled 2 withcolor blue; - draw u.urt withpen pencircle scaled 2 withcolor blue; - draw u.llft withpen pencircle scaled 2 withcolor blue; - draw u.lrt withpen pencircle scaled 2 withcolor blue; - - Usecase.login("Log in for an eagerly", "awaiting user", "which spans the 3rd line"); - login.s = (0, 5); - drawObject(login); - - Usecase.t("foo xasdf asdf as", "asdfa"); - t.s = login.n + (0,10); - drawObject(t); - - Usecase.q("foo xasdf asdf as", "asdfa", "cru asdf asdf ygh", "Sdfg s"); - q.s = t.n + (0,10); - drawObject(q); - -endfig; - -beginfig(4); - Actor.userA("User A2", "doesn't looks all too nice", "by today's standards"); - % Any Actor object is made of two sub-objects: nameStack and human. - % Each individual picture in the nameStack can be configured individually. - % - % However, it is not possible to configure all the lines in the nameStack at - % once now, saying something like: - % - % userA.nameStack.info.iPict.iFont.scale := 3; - % - % This happens because the information above is copied into the Picture objects - % in the Actor constructor (and it is useless to modify it afterwards). - % - % If you do want to make such global modifications of the settings, see the - % next two examples. - - userA.nameStack.pict[0].info.iFont.scale := 1.2; - userA.nameStack.pict[1].info.iFont.scale := .7; - userA.nameStack.info.borderColor := blue; - userA.nameStack.info.boxed := 1; - userA.nameStack.group.info.left := 30; - userA.nameStack.group.info.right := 5; - userA.human.info.foreColor := red; - - drawObject(userA); - %draw objectBox(userA.nameStack); - %draw objectBox(userA.human); -endfig; - -beginfig(5); - save userA; - % If you want to have preset a info for specific objects - - ActorInfoCopy.iBig(iActor); - - % ActorInfo contains info-s for two objects - % iNameStack: for the stack representing the actor's name - % iHuman: for the little human - - iBig.iNameStack.iPict.iFont.scale := 3; - iBig.iNameStack.spacing := 25; - iBig.iHuman.height := 25; - - EActor.userA(iBig)("User A", "on two lines"); - drawObject(userA); -endfig; - -beginfig(6); - save userA; - % If you want to have GLOBAL settings - - iActor.iNameStack.iPict.iFont.scale := 2; - iActor.iNameStack.spacing := 18; - - Actor.userA("User A", "reloaded"); - drawObject(userA); -endfig; - -beginfig(7); - save usecaseA; - Usecase.usecaseA("A highly customizable", "usecase. Foo bar!"); - usecaseA.info.iNameStack.iPict.iFont.scale := .5; - drawObject(usecaseA); -endfig; - -beginfig(8); - save usecaseA; - Usecase.usecaseA("A highly customizable", "usecase. Foo bar!"); - usecaseA.info.iNameStack.iPict.iFont.scale := 1.1; - usecaseA.info.foreColor := red; - usecaseA.info.borderColor := blue; - usecaseA.info.iShade.background := green; - usecaseA.info.iShade.shift := 4; - drawObject(usecaseA); -endfig; - -beginfig(9); - save usecaseA; - UsecaseInfoCopy.iMyUsecase(iUsecase); - iMyUsecase.iNameStack.iPict.iFont.scale := .6; - iMyUsecase.iNameStack.spacing := 5; - iMyUsecase.foreColor := green; - iMyUsecase.iShade.background := red; - - EUsecase.usecaseA(iMyUsecase)("A highly ", " customizable usecase."); - EUsecase.usecaseB(iMyUsecase)("Another very ", " customizable usecase."); - - leftToRight(20)(usecaseA, usecaseB); - drawObjects(usecaseA, usecaseB); -endfig; - -end - diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/usecase.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/usecase.mp deleted file mode 100644 index ca8040f57b2..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/usecase.mp +++ /dev/null @@ -1,43 +0,0 @@ -% Sample MetaUML figures. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - - -input metauml; - -beginfig(1); - Usecase.U("Authenticate user", - "by name, password"); - drawObject(U); -endfig; - -beginfig(2); - Actor.A("User"); - drawObject(A); -endfig; - -beginfig(3); - save A; - - Actor.A("Administrator"); - drawObject(A); - draw A.nw -- A.ne -- A.se -- A.sw -- cycle; - draw A.human.nw -- A.human.ne -- A.human.se -- A.human.sw -- cycle; - -endfig; - - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/usecase_diagrams.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/usecase_diagrams.mp deleted file mode 100644 index 110ca35c072..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/fig/usecase_diagrams.mp +++ /dev/null @@ -1,48 +0,0 @@ -% Part of the MetaUML manual. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -% for f in `find . | grep '.*\.[1-9]'`; do echo $f; done - -input metauml; - -beginfig(1); - Actor.user("User"); - Actor.db("Database"); - - Usecase.dbquery("Query database"); - Usecase.auth("Authentification"); - Usecase.authA("Authentification by", "username, password"); - Usecase.authB("Authentification by", "smartcard"); - - auth.w = user.human.e + (30,0); - dbquery.s = auth.n + (0,30); - db.human.w = dbquery.e + (30,0); - - authB.left - authA.right = 30; - authB.midy = authA.midy; - .5[authB.w, authA.e] = (auth.midx, auth.bottom - 50); - - drawObjects(user, auth, dbquery, db, authA, authB); - - clink(inheritance)(authA, auth); - clink(inheritance)(authB, auth); - clink(association)(auth, dbquery); - clink(association)(user.human, auth); - clink(association)(dbquery, db.human); -endfig; - -end diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/gnu-fdl.tex b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/gnu-fdl.tex deleted file mode 100644 index 6602c824dab..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/gnu-fdl.tex +++ /dev/null @@ -1,485 +0,0 @@ - \begin{center} - - Version 1.2, November 2002 - - - Copyright \copyright 2000,2001,2002 Free Software Foundation, Inc. - - \bigskip - - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - \bigskip - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. -\end{center} - - -\begin{center} -{\bf\large Preamble} -\end{center} - -The purpose of this License is to make a manual, textbook, or other -functional and useful document "free" in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. - -This License is a kind of "copyleft", which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - - -\begin{center} -{\bf 1. APPLICABILITY AND DEFINITIONS} -%\addcontentsline{toc}{section}{1. APPLICABILITY AND DEFINITIONS} -\end{center} - -This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The \textbf{"Document"}, below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as \textbf{"you"}. You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. - -A \textbf{"Modified Version"} of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A \textbf{"Secondary Section"} is a named appendix or a front-matter section of -the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall subject -(or to related matters) and contains nothing that could fall directly -within that overall subject. (Thus, if the Document is in part a -textbook of mathematics, a Secondary Section may not explain any -mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The \textbf{"Invariant Sections"} are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. - -The \textbf{"Cover Texts"} are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. - -A \textbf{"Transparent"} copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not "Transparent" is called \textbf{"Opaque"}. - -Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input format, SGML -or XML using a publicly available DTD, and standard-conforming simple -HTML, PostScript or PDF designed for human modification. Examples of -transparent image formats include PNG, XCF and JPG. Opaque formats -include proprietary formats that can be read and edited only by -proprietary word processors, SGML or XML for which the DTD and/or -processing tools are not generally available, and the -machine-generated HTML, PostScript or PDF produced by some word -processors for output purposes only. - -The \textbf{"Title Page"} means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, "Title Page" means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. - -A section \textbf{"Entitled XYZ"} means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as \textbf{"Acknowledgements"}, -\textbf{"Dedications"}, \textbf{"Endorsements"}, or \textbf{"History"}.) -To \textbf{"Preserve the Title"} -of such a section when you modify the Document means that it remains a -section "Entitled XYZ" according to this definition. - -The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. - - -\begin{center} -{\bf 2. VERBATIM COPYING} -%\addcontentsline{toc}{section}{2. VERBATIM COPYING} -\end{center} - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - - -\begin{center} -{\bf 3. COPYING IN QUANTITY} -%\addcontentsline{toc}{section}{3. COPYING IN QUANTITY} -\end{center} - - -If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document's license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. - - -\begin{center} -{\bf 4. MODIFICATIONS} -%\addcontentsline{toc}{section}{4. MODIFICATIONS} -\end{center} - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -\begin{itemize} -\item[A.] - Use in the Title Page (and on the covers, if any) a title distinct - from that of the Document, and from those of previous versions - (which should, if there were any, be listed in the History section - of the Document). You may use the same title as a previous version - if the original publisher of that version gives permission. - -\item[B.] - List on the Title Page, as authors, one or more persons or entities - responsible for authorship of the modifications in the Modified - Version, together with at least five of the principal authors of the - Document (all of its principal authors, if it has fewer than five), - unless they release you from this requirement. - -\item[C.] - State on the Title page the name of the publisher of the - Modified Version, as the publisher. - -\item[D.] - Preserve all the copyright notices of the Document. - -\item[E.] - Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - -\item[F.] - Include, immediately after the copyright notices, a license notice - giving the public permission to use the Modified Version under the - terms of this License, in the form shown in the Addendum below. - -\item[G.] - Preserve in that license notice the full lists of Invariant Sections - and required Cover Texts given in the Document's license notice. - -\item[H.] - Include an unaltered copy of this License. - -\item[I.] - Preserve the section Entitled "History", Preserve its Title, and add - to it an item stating at least the title, year, new authors, and - publisher of the Modified Version as given on the Title Page. If - there is no section Entitled "History" in the Document, create one - stating the title, year, authors, and publisher of the Document as - given on its Title Page, then add an item describing the Modified - Version as stated in the previous sentence. - -\item[J.] - Preserve the network location, if any, given in the Document for - public access to a Transparent copy of the Document, and likewise - the network locations given in the Document for previous versions - it was based on. These may be placed in the "History" section. - You may omit a network location for a work that was published at - least four years before the Document itself, or if the original - publisher of the version it refers to gives permission. - -\item[K.] - For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the section all - the substance and tone of each of the contributor acknowledgements - and/or dedications given therein. - -\item[L.] - Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section titles. - -\item[M.] - Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - -\item[N.] - Do not retitle any existing section to be Entitled "Endorsements" - or to conflict in title with any Invariant Section. - -\item[O.] - Preserve any Warranty Disclaimers. -\end{itemize} - -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section Entitled "Endorsements", provided it contains -nothing but endorsements of your Modified Version by various -parties--for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. - - -\begin{center} -{\bf 5. COMBINING DOCUMENTS} -%\addcontentsline{toc}{section}{5. COMBINING DOCUMENTS} -\end{center} - - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections Entitled "History" -in the various original documents, forming one section Entitled -"History"; likewise combine any sections Entitled "Acknowledgements", -and any sections Entitled "Dedications". You must delete all sections -Entitled "Endorsements". - -\begin{center} -{\bf 6. COLLECTIONS OF DOCUMENTS} -%\addcontentsline{toc}{section}{6. COLLECTIONS OF DOCUMENTS} -\end{center} - -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. - - -\begin{center} -{\bf 7. AGGREGATION WITH INDEPENDENT WORKS} -%\addcontentsline{toc}{section}{7. AGGREGATION WITH INDEPENDENT WORKS} -\end{center} - - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an "aggregate" if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation's users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document's Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. - - -\begin{center} -{\bf 8. TRANSLATION} -%\addcontentsline{toc}{section}{8. TRANSLATION} -\end{center} - - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. - -If a section in the Document is Entitled "Acknowledgements", -"Dedications", or "History", the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. - - -\begin{center} -{\bf 9. TERMINATION} -%\addcontentsline{toc}{section}{9. TERMINATION} -\end{center} - - -You may not copy, modify, sublicense, or distribute the Document except -as expressly provided for under this License. Any other attempt to -copy, modify, sublicense or distribute the Document is void, and will -automatically terminate your rights under this License. However, -parties who have received copies, or rights, from you under this -License will not have their licenses terminated so long as such -parties remain in full compliance. - - -\begin{center} -{\bf 10. FUTURE REVISIONS OF THIS LICENSE} -%\addcontentsline{toc}{section}{10. FUTURE REVISIONS OF THIS LICENSE} -\end{center} - - -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -http://www.gnu.org/copyleft/. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License "or any later version" applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. - - -\begin{center} -{\bf ADDENDUM: How to use this License for your documents} -%\addcontentsline{toc}{section}{ADDENDUM: How to use this License for your documents} -\end{center} - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - -\bigskip -\begin{quote} - Copyright \copyright YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.2 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. - A copy of the license is included in the section entitled "GNU - Free Documentation License". -\end{quote} -\bigskip - -If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the "with...Texts." line with this: - -\bigskip -\begin{quote} - with the Invariant Sections being LIST THEIR TITLES, with the - Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. -\end{quote} -\bigskip - -If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/macro.tex b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/macro.tex deleted file mode 100644 index dc6bee1a4d5..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/macro.tex +++ /dev/null @@ -1,11 +0,0 @@ -% $Id$ -% This file defines some useful macros - -\def\newop#1 {\expandafter\def\csname #1\endcsname{\mathop{\rm #1}\nolimits}} - -\newop{Operator} % use with \Operator - -\def\fn(#1:#2->#3){#1:#2 \rightarrow #3} -\def\set(#1,#2...#3){\{#1,#2,\ldots,#3\}} -\def\enum(#1,#2...#3){#1,#2,\ldots,#3} -\def\ssets{\cal{P}} \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/metauml_manual.tex b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/metauml_manual.tex deleted file mode 100644 index 498960cf761..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/metauml_manual.tex +++ /dev/null @@ -1,2084 +0,0 @@ -% MetaUML: Tutorial, Reference and Test Suite -% -% Copyright (c) 2005-2006 Ovidiu Gheorghies -% Permission is granted to copy, distribute and/or modify this document -% under the terms of the GNU Free Documentation License, Version 1.2 -% or any later version published by the Free Software Foundation; -% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -% A copy of the license is included in the section entitled "GNU -% Free Documentation License". - -\documentclass{article} - -\usepackage[pdftex,colorlinks=true]{hyperref} -\usepackage{multicol} -\usepackage{multido} - -\ifx\pdftexversion\undefined - \usepackage[dvips]{graphicx} -\else - \usepackage[pdftex]{graphicx} - \DeclareGraphicsRule{*}{mps}{*}{} -\fi - -\newcommand{\code}{\ttfamily} -\newcommand{\metauml}{MetaUML} - -\setcounter{page}{1} - -\begin{document} - -\metauml: Tutorial, Reference and Test Suite - -\begin{quote} - Copyright \copyright 2005-2006 Ovidiu Gheorghie\c{s}. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.2 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. - A copy of the license is included in the section entitled "GNU - Free Documentation License". -\end{quote} - -\pagebreak -This page is intentionally left blank. - -\pagebreak -\title{\metauml: Tutorial, Reference and Test Suite} - -\author{Ovidiu Gheorghie\c{s}} - -\maketitle - -\begin{abstract} -\metauml\ is a GNU GPL MetaPost library for typesetting UML diagrams, using a human-friendly textual notation. MetaUML offers a highly customizable, object-oriented API, designed with the ease of use in mind. Apart from being a reference, this manual is also a tutorial but, more importantly, a living example. You can look at its source code, getting direct accounts on ``how things are done''. -\end{abstract} - -%\begin{keywords} -%MetaPost, TeX, LaTeX, UML, class diagram, state machine diagram, -%use case diagram, activity diagram -%\end{keywords} - -\section{Introduction} - -Here are a few diagrams created with MetaUML, just to give you a glimpse of its features: - -\begin{multicols}{2} -\paragraph{A} Class Diagram\\ -\includegraphics[scale=.55]{fig/appetizer.1} -\paragraph{B} Activity Diagram\\ -\includegraphics[scale=.55]{fig/appetizer.2} -\paragraph{C} Notes\\ -\includegraphics[scale=.55]{fig/appetizer.5} -\columnbreak -\paragraph{D} Use Case Diagram\\ -\includegraphics[scale=.55]{fig/appetizer.3} -\paragraph{E} State Machine Diagram\\ -\includegraphics[scale=.55]{fig/appetizer.4} -\paragraph{F} Package Diagram\\ -\includegraphics[scale=.55]{fig/appetizer.6} -\end{multicols} - -\pagebreak - -The code which generates these diagrams is quite straightforward, combining a natural object-oriented parlance with the power of MetaPost equation solving; for more information on MetaPost see \cite {metapost}. - -An UML class, for example, can be drawn as follows: - -\begin{multicols}{2} -\begin{verbatim} -Class.A("MyClass") - ("attr1: int", "attr2: int") - ("method1(): void", - "method2(): void"); - -A.nw = (0, 0); % optional, implied -drawObject(A); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/appetizer.7} -\end{multicols} - -This piece of code creates an instance of {\code Class}, which will be afterward -identified as {\code A}. This object has the following content properties: a name -({\code MyClass}), a list of attributes ({\code attr1}, {\code attr2}) -and a list of methods ({\code method1}, {\code method2}). The one thing remaining -before actually drawing {\code A} is to set its location. - -\begin{figure} -\centering -\includegraphics{fig/properties.1} -\caption{Positioning properties of any MetaUML object (here a class object is depicted).} -\label{fig:properties} -\end{figure} - -In {\code A.nw} we refer to the ``north-west'' of the class rectangle, that is -to its upper-left corner. In general, every MetaUML object has the positioning -properties given in figure \ref{fig:properties}. These properties are used to set -where to draw a given object, whether by assigning them absolute values, or by setting -them relatively to other objects. Suppose that we have defined two classes -{\code A} and {\code B}. Then the following code would give a conceivable positioning: - -\begin{multicols}{2} -\begin{verbatim} -A.nw = (0,0); -B.e = A.w + (-20, 0); -\end{verbatim} -\columnbreak -\includegraphics{fig/appetizer.8} -\end{multicols} - -After the objects are drawn, one may draw links between them, such as inheritance -or association relations between classes in class diagrams, or transitions between states -in state machine diagrams. Whichever the purpose is, MetaUML provides a generic -way of drawing an edge in a diagram's graph: - -\begin{verbatim} -link(how-to-draw-information)(path-to-draw); -\end{verbatim} - -The ``how to draw information'' is actually an object which defines the style -of the line (e.g. solid, dashed) and the appearance of the heads (e.g. nothing, arrow, diamond). -One such object, called {\code inheritance}, defines a solid path ending in -a white triangle. The {\code path-to-draw} parameter is simply a MetaPost path. -For example, the following code can be used used to represent that class {\code B} is derived from {\code A}: - -\begin{verbatim} -link(inheritance)(B.e -- A.w); -\end{verbatim} - -Note that the direction of the path is important, and MetaUML uses it to determine the -type of adornment to attach at the link ends (if applicable). In our example, a white triangle, -denoting inheritance, points towards the end of the path, that is towards class {\code A}. - -To sum up, we present a short code and the resulting diagram, typical for just about -everything else in MetaUML. The positioning of {\code A} does not need to be -explicitly set because ``floating'' objects are automatically positioned at {\code (0,0)} by their -draw method. - -\begin{multicols}{2} - -\begin{verbatim} -input metauml; -beginfig(1); - Class.A("A")()(); - Class.B("B")()(); - B.e = A.w + (-20, 0); - drawObjects(A, B); - link(inheritance)(B.e -- A.w); -endfig; -end -\end{verbatim} -\columnbreak -\includegraphics{fig/appetizer.9} -\end{multicols} - -From a user's perspective, this is all there is to MetaUML. With a reference describing how other -UML elements are created, one can set out to typeset arbitrary complex diagrams. - -\section{Class Diagrams} - -A class is created as follows: - -\begin{verbatim} -Class.name(class-name) - (list-of-attributes) - (list-of-methods); -\end{verbatim} - -The suffix {\code name} gives a name to the {\code Class} object (which, of course, represents an UML class). -The name of the UML class is a string given by {\code class-name}; -the attributes are given as a comma separated list of strings, {\code list-of-attributes}; -the methods are given as a comma separated list of strings, {\code list-of-attributes}. -The list of attributes and the list of methods may be void. - -Each of the strings representing an attribute or a method may begin with a visibility marker: ``$+$'' for -public, ``\#'' for protected and ``$-$'' for private. MetaUML interprets this marker and renders a -graphic stereotype in form of a lock which may be opened, semi-closed and closed, respectively. - -Here is an example: - -\begin{multicols}{2} -\begin{verbatim} -Class.A("Point") - ("#x:int", "#y:int") - ("+set(x:int, y:int)", - "+getX():int", - "+getY():int", - "-debug():void"); -drawObject(A); -\end{verbatim} -\columnbreak -\includegraphics{fig/class.1} -\end{multicols} - -\subsection{Stereotypes} - -After a class is created, its stereotypes may be specified by using the macro {\code classStereotypes}: - -\begin{verbatim} -classStereotypes.name(list-of-stereotypes); -\end{verbatim} - -Here, {\code name} is the object name of a previously created class and {\code list-of-stereotypes} -is a comma separated list of strings. Here is an example: - -\begin{multicols}{2} -\begin{verbatim} -Class.A("User")()(); -classStereotypes.A("<>", - "<>"); - -drawObject(A); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/class.2} -\end{multicols} - -\subsection{Interfaces and Abstract Classes} - -At times it is prefered to typeset the name of an interface in an oblique font, rather than using the ``interface'' stereotype. This can be easily achieved by using the macro: - -\begin{verbatim} -Interface.name(class-name) - (list-of-methods); -\end{verbatim} - -Here is an example: - -\begin{multicols}{2} -\begin{verbatim} -Interface.A("Observer") - ("+update(src:Object)"); - -drawObject(A); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/class.11} -\end{multicols} - -Note that {\code Interface} is a special kind of {\code Class}, the declaration code above being equivalent to: -\begin{verbatim} -EClass.A(iInterface)("Observer")() - ("+update(src:Object)"); -\end{verbatim} - -Along the same line, here's how abstract classes can be drawn: - -\begin{multicols}{2} -\begin{verbatim} -EClass.A(iAbstractClass)("Observable") - ("observers: Observer[0..*]") - ("+addObserver(o: Observer)", - "+notify()"); - -drawObject(A); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/class.12} -\end{multicols} - -If you prefer, you can use the syntactic sugar: - -\begin{verbatim} -AbstractClass.A("Observable") - ("observers: Observer[0..*]") - ("+addObserver(o: Observer)", - "+notify()"); -\end{verbatim} - -\subsection{Displaying Class Name Only} - -If you want the empty methods and attributes compartments in a class not being displayed, one way is to set the spacing at their top and the bottom to {\code 0}: - -\begin{multicols}{2} -\begin{verbatim} -Class.A("MyModel")()(); -A.info.iAttributeStack.top := 0; -A.info.iAttributeStack.bottom := 0; -A.info.iMethodStack.top := 0; -A.info.iMethodStack.bottom := 0; - -drawObject(A); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/class.13} -\end{multicols} - -There are also specific formating macros defined for this usage scenarios, the formatting information object {\code iClassNameOnly} and the syntactic sugar macro {\code ClassName}: - -\begin{multicols}{2} -\begin{verbatim} -EClass.A(iClassNameOnly)("MyModel")()(); -ClassName.B("AnotherModel"); -classStereotypes.B("<>"); - -topToBottom(20)(A, B); - -drawObjects(A, B); -\end{verbatim} -\columnbreak -\hspace{2cm}\includegraphics{fig/class.14} -\end{multicols} - -To customize the space around the class name globally, you can set the values of {\code iClassNameOnly.iName.top} and {\code iClassNameOnly.iName.bottom}. Individually, for a given object, say {\code B}, the attributes {\code B.info.iName.top} and {\code B.info.iName.bottom} can be used. - -\subsection{Objects (or Class Instances)} - -An UML object (or class instance) is created as follows: - -\begin{verbatim} -Instance.name(object-name) - (list-of-attributes); -\end{verbatim} - -The suffix {\code name} gives a name to the {\code Instance} object. The name of the object (given by {\code object-name}) is typeset underlined. The attributes are given as a comma separated list of strings, {\code list-of-attributes}. - -\begin{multicols}{2} -\begin{verbatim} -Instance.order("o: Order") - ("name='book'", "{placed}", "{payed}"); -drawObject(order); -\end{verbatim} -\columnbreak -\hspace{2cm}\includegraphics{fig/instance.1} -\end{multicols} - - -\subsection{Parametrized Classes (Templates)} - -The most convenient way of typesetting a class template in \metauml\ is to use the macro {\code ClassTemplate}. -This macro creates a visual object which is appropriately positioned near the class object it adorns. - -\begin{verbatim} -ClassTemplate.name(list-of-templates) - (class-object); -\end{verbatim} - -The {\code name} is the name of the template object, {\code list-of-templates} is a comma separated list of strings and the {\code class-object} is the name of a class object. - -Here is an example: - -\begin{multicols}{2} -\begin{verbatim} -Class.A("Vector")()(); -ClassTemplate.T("T", "size: int")(A); - -drawObjects(A, T); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/class.3} -\end{multicols} - -The macro {\code Template} can also be used to create a template object, but this time the resulting -object can be positioned freely. - -\begin{verbatim} -Template.name(list-of-templates); -\end{verbatim} - -Of course, one can specify both stereotypes and template parameters for a given class. - -\subsection{Types of Links} - -In this section we enumerate the relations that can be drawn between classes by means -of \metauml\ macros. Suppose that we have the declared two points, {\code A} (on the left) -and {\code B} (on the right): - -\begin{verbatim} -pair A, B; -A = (0,0); -B = (50,0); -\end{verbatim} - -\begin{tabular}{||l|c||} -\hline -{\code link(association)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.4} \\ -\hline -{\code link(associationUni)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.5} \\ -\hline -{\code link(inheritance)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.6} \\ -\hline -{\code link(realization)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.12} \\ -\hline -{\code link(aggregation)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.7} \\ -\hline -{\code link(aggregationUni)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.8} \\ -\hline -{\code link(composition)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.9} \\ -\hline -{\code link(compositionUni)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.10} \\ -\hline -{\code link(dependency)(X.e -- Y.w)} & \includegraphics{fig/class_diagrams.11} \\ -\hline -\end{tabular} - -\subsection{Associations} -In UML an association typically has two of association ends and may have a name specified for it. -In turn, each association end may specify a multiplicity, a role, a visibility, an ordering. -These entities are treated in \metauml\ as pictures having specific drawing information -(spacings, font). - -The first method of creating association ``items'' is by giving them explicit names. -Having a name for an association item comes in handy when referring to its properties -is later needed (see the non UML-compliant diagram below). Note that the last parameter of the macro {\code item} is an equation which uses the item name to perform positioning. - -\begin{multicols}{2} -\begin{verbatim} -Class.P("Person")()(); -Class.C("Company")()(); -% drawing code ommited - -item.aName(iAssoc)("works for") - (aName.s = .5[P.w, C.w]); -draw aName.n -- (aName.n + (20,20)); -label.urt("association name" infont "tyxtt", - aName.n + (20,20)); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics[scale=.8]{fig/class_association.1} -\end{multicols} - -However, giving names to every association item may become an annoying burden -(especially when there are many of them). Because of this, \metauml\ also allows for -``anonymous items''. In this case, the positioning is set by an equation -which refers to the anonymous item as {\code obj}. - -\begin{multicols}{2} -\begin{verbatim} -% P and C defined as in the previous example - -item(iAssoc)("employee")(obj.nw = P.s); -item(iAssoc)("1..*")(obj.ne = P.s); - -% other items are drawn similarly -\end{verbatim} -\columnbreak -\hspace{3cm}\includegraphics{fig/class_association.2} -\end{multicols} - -\subsection{Dependencies and Stereotypes} - -Stereotypes are frequently used with dependencies. Below is an example. -\pagebreak - -\begin{multicols}{2} -\begin{verbatim} -Class.F("Factory")()(); -Class.O("Object")()(); - -O.n = F.s - (0, 50); -drawObjects(F, O); - -clink(dependency)(F, O); -item(iStereo)("<>")(obj.w = .5[F.s,O.n]) -\end{verbatim} -\columnbreak -\hspace{3cm}\includegraphics{fig/class_association.3} -\end{multicols} - -\section{Notes} - -A note is created as follows: - -\begin{verbatim} -Note.name(list-of-lines); -\end{verbatim} - -The suffix {\code name} is the name of the {\code Note} object. The comma separated list of strings, {\code list-of-lines}, gives the text contents of the note object, each string being drawn on its own line. -Here is an example: - -\begin{multicols}{2} -\begin{verbatim} -Note.A("This note", "has two lines."); -drawObject(A); -\end{verbatim} -\columnbreak -\hspace{3cm}\includegraphics{fig/note.1} -\end{multicols} - -\subsection{Attaching notes to diagram elements} - -Notes can be attached to diagram elements by using a link of type {\code dashedLink}. - -\begin{multicols}{2} -\begin{verbatim} -Note.A("This is a class"); -Class.C("Object")()(); - -A.sw = C.ne + (20, 20); - -drawObject(A, C); - -clink(dashedLink)(A, C); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/note.2} -\end{multicols} - -Now let us see a more complex example, which demontrates the ability of accessing sub-elements in a \metauml\ diagram. -\pagebreak - -\begin{multicols}{2} -\begin{verbatim} -Note.nA("This is the class name"); -Note.nB("This is a key attribute"); -Note.nC("This is a nice method"); - -Class.C("Object")("+id:int") - ("+clone()", "+serialize()"); - -topToBottom.left(10)(nA, nB, nC); -leftToRight(10)(C, nB); - -drawObjects(C, nA, nB, nC); - -clink(dashedLink)(C.namePict, nA); -clink(dashedLink)(C.attributeStack.pict[0], nB); -clink(dashedLink)(C.methodStack.pict[1], nC); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/note.3} -\end{multicols} - -Macros like {\code leftToRight} and {\code topToBottom} are presented in section \ref{section:positioning}. - -\subsection{Using mathematical formulae} - -MetaUML notes can contain mathematical formulae typeset in TeX (and {\bf not} LaTeX). This feature is considered experimental, as it is not always straightforward to use it. Below is a full-code example, note the import of MetaPost package {\code TEX}. - -\begin{multicols}{2} -\begin{verbatim} -input metauml; -input TEX; - -beginfig(1); - Note.A("This class implements the formula:", - TEX("$\sum_1^n f(x) \cdot dx$")); - drawObjects(A); -endfig; - -end -\end{verbatim} -\columnbreak -\hspace{0.5cm}\includegraphics{fig/note.4} -\end{multicols} - -If you have a taller formula, you must be prepared to do some advanced stunts. Remark: {\code "aaa" \& "bbb"} is MetaPost's way to concatenate the strings into {\code "aaabbb"}. The formula's string was split in two for space reasons. - -\begin{multicols}{2} -\begin{verbatim} -Note.A("Can you do it?", - TEX("$\sum_1^n f(x) \cdot dx " & - "\over \sum_1^m g(y) \cdot dy$")); -A.stack.info.spacing := 30; -A.stack.pict[1].info.ignoreNegativeBase := 0; - -drawObject(A); -\end{verbatim} -\columnbreak -\hspace{3cm}\includegraphics{fig/note.5} -\end{multicols} - -Alas, this trick does not entirely solve the problem: a third line in the note would be badly aligned. Therefore, until MetaUML's {\code Note} class is upgraded to better support this scenario, you may want to limit yourself to two lines per note --- at least when tall formulae are involved. - -\section{Packages} - -MetaUML allows for the creation of packages in various forms. Firstly, we have the option of writing the package name in the middle of the main box. Secondly, we can write the name on the tiny box above the main box, leaving the main box empty. Lastly, we can write the package name as in the second case, but the main box can have an arbitrary contents: classes, other packages, or even other UML items. - -The macro that creates a package has the following synopsis: - -\begin{verbatim} -Package.name(package-name)(subitems-list); -\end{verbatim} - -The parameter {\code package-name} is a string or a list of comma separated strings representing the package's name. The {\code subitems-list} parameter is used to specify the subitems (tipically classes or packages) of this package; its form is as a comma separated list of objects, which can be void. - -\begin{multicols}{2} -\begin{verbatim} -Package.P("java.lang")(); -drawObject(P); -\end{verbatim} -\columnbreak -\hspace{3cm}\includegraphics{fig/package.1} -\end{multicols} - -Below is another example: - -\begin{multicols}{2} -\begin{verbatim} -Package.P("An important", "package")(); -drawObject(P); -\end{verbatim} -\columnbreak -\hspace{3cm}\includegraphics{fig/package.2} -\end{multicols} - -If you wish to leave the main box empty, you can use the following code: - -\begin{multicols}{2} -\begin{verbatim} -Package.P("java.lang")(); -P.info.forceEmptyContent := 1; -drawObject(P); -\end{verbatim} -\columnbreak -\hspace{3cm}\includegraphics{fig/package.3} -\end{multicols} - -The same effect as above can be achieved globally by doing: - -\begin{verbatim} -iPackage.forceEmptyContent := 1; -\end{verbatim} - -More information on MetaUML's way of managing global and per-object configuration data can be found in section \ref{section:infrastructure} and section \ref{section:customization}. - -Here is an example involving items contained in a package. - -\begin{multicols}{2} -\begin{verbatim} -Class.A("A")()(); -Class.B("B")()(); -Package.P("net.metauml")(A, B); - -leftToRight(10)(A, B); - -drawObject(P); -\end{verbatim} -\columnbreak -\hspace{3cm}\includegraphics{fig/package.4} -\end{multicols} - -\subsection{Types of Links} - -The nesting relation between packages is created by using the {\code nest} link information. - -\begin{tabular}{||l|c||} -\hline -{\code link(nest)(X.e -- Y.w)} & \includegraphics{fig/package.5} \\ -\hline -\end{tabular} - -\section{Component Diagrams} - -A component is created by the macro {\code Component}: - -\begin{verbatim} -Component.name(component-name) - (subitems-list) -\end{verbatim} - -The parameter {\code component-name} is a string representing the component's name. The {\code subitems-list} parameter is used to specify the subitems of this component (possibly classes, packages or other components); its form is as a comma separated list of objects, which can be void. - -\begin{multicols}{2} -\begin{verbatim} -Component.C("Business Logic")(); -drawObject(C); -\end{verbatim} -\columnbreak -\hspace{3cm}\includegraphics{fig/component.1} -\end{multicols} - -Here is an example involving subitems in a component: - -\begin{multicols}{2} -\begin{verbatim} -Class.A("A")()(); -Package.B("B")(); -Component.C("C")(); - -Component.BigC("Big Component")(A, B, C); - -leftToRight(10)(A, B); -topToBottom(10)(A, C); - -drawObject(BigC); -\end{verbatim} -\columnbreak -\hspace{3cm}\includegraphics{fig/component.2} -\end{multicols} - -\subsection{Types of Links} - -\begin{tabular}{||l|c||} -\hline -{\code link(requiredInterface)( A.e -- .5[A.e, B.w] );} & \includegraphics{fig/component.3} \\ -\hline -{\code link(providedInterface)( .5[A.e, B.w] -- B.w );} & \includegraphics{fig/component.4} \\ -\hline -\end{tabular} - -\vspace{0.5cm} - -The {\code requiredInterface} and {\code providedInterface} visual constructs can be easily combined, as shown in the following example: - -\begin{multicols}{2} -\begin{verbatim} -Component.A("A")(); -Component.B("B")(); - -leftToRight(80)(A, B); - -drawObjects(A, B); - -link(providedInterface)( A.e -- .5[A.e, B.w] ); -link(requiredInterface)( B.w -- .5[A.e, B.w] ); -\end{verbatim} -\columnbreak -\hspace{-1cm}\includegraphics{fig/component.5} -\end{multicols} - - -\section{Use Case Diagrams} - -\subsection{Use Cases} -An use case is created by the macro {\code Usecase}: - -\begin{verbatim} -Usecase.name(list-of-lines); -\end{verbatim} - -The {\code list-of-lines} is a comma separated list of strings. These strings are placed -on top of each other, centered and surrounded by the appropriate visual UML notation. - -Here is an use case example: - -\begin{multicols}{2} -\begin{verbatim} -Usecase.U("Authenticate user", - "by name, password"); -drawObject(U); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/usecase.1} -\end{multicols} - -\subsection{Actors} - -An actor is created by the macro {\code Actor}: - -\begin{verbatim} -Actor.name(list-of-lines); -\end{verbatim} - -Here, {\code list-of-lines} represents the actor's name. For convenience, the name may be -given as a list of strings which are placed on top of each other, to provide support for -the situations when the role is quite long. Otherwise, giving a single string -as an argument to the Actor constructor is perfectly fine. - -Here is an actor example: - -\begin{multicols}{2} -\begin{verbatim} -Actor.A("User"); -drawObject(A); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/usecase.2} -\end{multicols} - -Note that one may prefer to draw diagram relations positioned relatively to -the visual representation of an actor (the ``human'') rather than relatively to the whole -actor object (which also includes the text). Because of that, MetaUML provides access -to the ``human'' of every actor object {\code actor} by means of the sub-object {\code actor.human}. - -\begin{multicols}{2} -\begin{verbatim} -Actor.A("Administrator"); -drawObject(A); -draw objectBox(A); -draw objectBox(A.human); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/usecase.3} -\end{multicols} - -Note that in \metauml\ {\code objectBox(X)} is equivalent to {\code X.nw -- X.ne -- X.se -- X.sw -- cycle} for every object {\code X}. {\code A.human} is considered a \metauml\ object, so you can use expressions like {\code A.human.n} or {\code A.human.midx}. - -\subsection{Types of Links} - -Some of the types of links defined for class diagrams (such as inheritance, association etc.) can be used with similar semantics within use case diagrams. - -\section{Activity Diagrams} - -\subsection{Begin, End and Flow End} - -The begin and the end of an activity diagram can be marked by using the macros {\code Begin} -and {\code End} or {\code FlowFinal}, respectively. The constructors of these visual objects take no parameters: - -\begin{verbatim} -Begin.beginName; -End.endName; -\end{verbatim} - -Below is an example: - -\begin{multicols}{2} -\begin{verbatim} -Begin.b; -End.e; -FlowFinal.f; - -leftToRight(20)(b, e, f); - -drawObjects(b, e, f); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/activity.1} -\end{multicols} - -\subsection{Activity} - -An activity is constructed as follows: -\begin{verbatim} -Activity.name(list-of-strings); -\end{verbatim} - -The parameter {\code list-of-strings} is a comma separated list of strings. These strings are -centered on top of each other to allow for the accommodation of a longer activity description -within a reasonable space. - -An example is given below: - -\begin{multicols}{2} -\begin{verbatim} -Activity.A("Learn MetaUML -", - "the MetaPost UML library"); -drawObject(A); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/activity.2} -\end{multicols} - -\subsection{Fork and Join} - -A fork or join is created by the macro: - -\begin{verbatim} -Fork.name(type, length); -\end{verbatim} - -The parameter {\code type} is a string and can be either of {\code "h"}, {\code "horiz"}, {\code "horizontal"} for horizontal bars, and either of {\code "v"}, {\code "vert"}, {\code "vertical"} for vertical bars. The {\code length} gives the bar's length. - -\begin{multicols}{2} -\begin{verbatim} -Fork.forkA("h", 100); -Fork.forkB("v", 20); - -leftToRight(10)(forkA, forkB); - -drawObject(forkA, forkB); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/activity.3} -\end{multicols} - -\subsection{Branch} - -A branch is created by the macro: - -\begin{verbatim} -Branch.name; -\end{verbatim} - -Here is an example: - -\begin{multicols}{2} -\begin{verbatim} -Branch.testA; - -drawObject(testA); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/activity.4} -\end{multicols} - - -\subsection{Types of Links} - -In activity diagrams, transitions between activities are needed. They are typeset -as in the example below. In section \ref{composite-states} such a transition -is showed. This type of link is also used for state machine diagrams. - -\begin{verbatim} -link(transition)( pointA -- pointB ); -\end{verbatim} - -\section{State Diagrams} - -The constructor of a state allows for aggregated sub-states: - -\begin{verbatim} -State.name(state-name)(substates-list); -\end{verbatim} - -The parameter {\code state-name} is a string or a list of comma separated strings representing -the state's name or description. The {\code substates-list} parameter is used to specify -the substates of this state as a comma separated list of objects; this list may be void. - -An example of a simple state: - -\begin{multicols}{2} -\begin{verbatim} -State.s("Take order")(); -drawObject(s); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/state.1} -\end{multicols} - - -\subsection{Composite States} -\label{composite-states} - -A composite state is defined by enumerating at the end of its constructor the inner -states. Interestingly enough, the composite state takes care of drawing the sub-states it -contains. The transitions must be drawn after the composite state, as seen in the -next example: - -\begin{multicols}{2} -\begin{verbatim} -Begin.b; -End.e; -State.c("Component")(); -State.composite("Composite")(b, e, c); - -b.midx = e.midx = c.midx; -c.top = b.bottom - 20; -e.top = c.bottom - 20; - -composite.info.drawNameLine := 1; -drawObject(composite); - -link(transition)(b.s -- c.n); -link(transition)(c.s -- e.n); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/state.2} -\end{multicols} - -\subsection{Internal Transitions} - -Internal transitions can be specified by using the macro: -\begin{verbatim} -stateTransitions.name(list-transitions); -\end{verbatim} - -Identifier {\code name} gives the state object whose internal transitions are being set, -and parameter {\code list-transitions} is a comma separated string list. - - -An example is given below: - -\begin{multicols}{2} -\begin{verbatim} -State.s("An interesting state", - "which is worth mentioning")(); -stateTransitions.s( - "OnEntry / Open eyes", - "OnExit / Sleep well"); -s.info.drawNameLine := 1; - -drawObject(s); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/state.3} -\end{multicols} - -\subsection{Special States} - -Similarly to the usage of {\code Begin} and {\code End} macros, one can define history states, -exit/entry point states and terminate pseudo-states, by using the following constructors. - -\begin{verbatim} -History.nameA; -ExitPoint.nameB; -EntryPoint.nameC; -Terminate.nameD; -\end{verbatim} - -\section{Drawing Paths} - -The {\code link} macro is powerful enough to draw relations following arbitrary paths: - -\begin{multicols}{2} -\begin{verbatim} -path cool; -cool := A.e .. A.e+(20,10) .. - B.s+(20,-40) .. B.s+(-10,-30) - -- B.s; -link(inheritance)(cool); - -link(aggregationUni) - (A.n ..(30,30)..B.w); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/paths.1} -\end{multicols} - -Regardless of how amusing this feature might be, it does become a bit of a nuisance to -use it in its bare form. When typesetting UML diagrams in good style, one generally -uses rectangular paths. It is for this kind of style that \metauml\ offers extensive -support, providing a ``syntactic sugar'' for constructs which can otherwise be -done by hand, but with some extra effort. - -\subsection{Manhattan Paths} - -The ``Manhattan'' path macros generate a path between two points consisting of one -horizontal and one vertical segment. The macro {\code pathManhattanX} generates first a -horizontal segment, while the macro {\code pathManhattanY} generates first a -vertical segment. In \metauml\ it also matters the direction of a path, so you -can choose to reverse it by using {\code rpathManhattanX} and {\code rpathManhattanY} -(note the prefix ``{\code r}''): - -\begin{verbatim} -pathManhattanX(A, B) -pathManhattanY(A, B) - -rpathManhattanX(A, B) -rpathManhattanY(A, B) -\end{verbatim} - -\pagebreak -Here is an example: - -\begin{multicols}{2} -\begin{verbatim} -Class.A("A")()(); -Class.B("B")()(); - -B.sw = A.ne + (10,10); -drawObjects(A, B); - -link(aggregationUni) - (rpathManhattanX(A.e, B.s)); -link(inheritance) - (pathManhattanY(A.n, B.w)); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/paths.2} -\end{multicols} - -\subsection{Stair Step Paths} - -These path macros generate stair-like paths between two points. -The ``stair'' can ``rise'' first in the direction of $Ox$ axis ({\code pathStepX}) -or in the direction of $Oy$ axis ({\code pathStepY}). How much should a step -rise is given by an additional parameter, {\code delta}. Again, the macros -prefixed with ``{\code r}'' reverse the direction of the path given by their -unprefixed counterparts. - -\begin{verbatim} -pathStepX(A, B, delta) -pathStepY(A, B, delta) - -rpathStepX(A, B, delta) -rpathStepY(A, B, delta) -\end{verbatim} - -Here is an example: - -\begin{multicols}{2} -\begin{verbatim} -stepX:=60; -link(aggregationUni) - (pathStepX(A.e, B.e, stepX)); - -stepY:=20; -link(inheritance) - (pathStepY(B.n, A.n, stepY)); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/paths.3} -\end{multicols} - -\subsection{Horizontal and Vertical Paths} - -There are times when drawing horizontal or vertical links is required, -even when the objects are not properly aligned. To this aim, the following macros -are useful: - -\begin{verbatim} -pathHorizontal(pA, untilX) -pathVertical(pA, untilY) - -rpathHorizontal(pA, untilX) -rpathVertical(pA, untilY) -\end{verbatim} - -A path created by {\code pathHorizonal} starts from the point {\code pA} -and continues horizontally until coordinate {\code untilX} is reached. The macro -{\code pathVertical} constructs the path dually, working vertically. -The prefix ``{\code r}'' reverses the direction of the path. - -Usage example: - -\begin{multicols}{2} -\begin{verbatim} -untilX := B.left; -link(association) - (pathHorizontal(A.e, untilX)); - -untilY:= C.bottom; -link(association) - (pathVertical(A.n, untilY)); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/paths.4} -\end{multicols} - -\subsection{Direct Paths} - -A direct path can be created with {\code directPath}. The call {\code directPath(A, B)} -is equivalent to {\code A -{}- B}. - -\subsection{Paths between Objects} - -Using the constructs presented above, it is clear that one can draw links between diagram -objects, using a code like: - -\begin{verbatim} -link(transition)(directPath(objA.nw, objB.se)); -\end{verbatim} - -There are times however this may yield unsatisfactory visual results, -especially when the appearance of the object's corners is round. MetaUML provides the macro -{\code pathCut} whose aim is to limit a given path exactly to the region outside the actual -borders of the objects it connects. The macro's synopsis is: - -\begin{verbatim} -pathCut(thePath)(objectA, objectB) -\end{verbatim} - -Here, {\code thePath} is a given MetaPost path and {\code objectA} and {\code objectB} -are two \metauml\ objects. By contract, each \metauml\ object of type, say, {\code X} -defines a macro {\code X\_border} which returns the path that surrounds it. Because -of that, {\code pathCut} can make the appropriate modifications to {\code thePath}. - -The following code demonstrates the benefits of the {\code pathCut} macro: - -\begin{multicols}{2} -\begin{verbatim} -z = A.se + (30, -10); -link(transition) - (pathCut(A, B)(A.c--z--B.c)); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/paths.5} -\end{multicols} - -\subsubsection{Direct Paths between Centers} - -At times is quicker to just draw direct paths between the center of two objects, -minding of course the object margins. The macro which does this is {\code clink}: - -\begin{verbatim} -clink(how-to-draw-information)(objA, objB); -\end{verbatim} - -The parameter {\code how-to-draw-information} is the same as for the macro {\code link}; -{\code objA} and {\code objB} are two \metauml\ objects. - -Below is an example which involves the inheritance relation: - -\begin{multicols}{2} -\begin{verbatim} -clink(inheritance)(A, B); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/paths.6} -\end{multicols} - -\section{Arranging Diagram Items} -\label{section:positioning} - -Using equations involving cardinal points, such as {\code A.nw = B.ne + (10,0)}, is -good enough for achieving the desired results. However, programs are best to -be written for human audience, rather than for compilers. It does become a bit -tiresome to think all the time of cardinal points and figure out the -direction of positive or negative offsets. Because of that, \metauml\ offers -syntactic sugar which allows for an easier understanding of the intent behind -the positioning code. - -Suppose that we have three classes, {\code A}, {\code B}, {\code C} and their base class -{\code Base}. We want the base class to be at the top, and the derived classes to be -on a line below. A code like the following will do: - -\begin{verbatim} -A.ne = B.nw + (20,0); -B.ne = C.nw + (20,0); -Base.s = B.n + (0,-20); -\end{verbatim} - -Now, look at the code again. What strikes you is that you cannot visualize what it is all about, unless you really try --- decoding the intent line by line. What this code lacks is a feature called self-documenting: the code is good only if you can read it as a story and understand its meaning. - -Perhaps the following version of the code will make the point. All you need to know is that the numeric argument represents a distance. - -\begin{multicols}{2} -\begin{verbatim} -leftToRight(20)(A, B, C); -topToBottom(20)(Base, B); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/positioning.2} -\end{multicols} - -Below there are examples which show how these macros can be used. Suppose that we have the following definitions for objects {\code X}, {\code Y}, and {\code Z}; also, let's assume that {\code spacing} is a numeric variable set to {\code 5}. - -\begin{verbatim} -Picture.X("a"); -Picture.Y("..."); -Picture.Z("Cyan"); -\end{verbatim} - -\begin{tabular}{||l|c||} -\hline -{\code leftToRight.top(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.3} \\ -\hline -{\code leftToRight.midy(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.4} \\ -\hline -{\code leftToRight.bottom(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.5} \\ -\hline -{\code topToBottom.left(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.6} \\ -\hline -{\code topToBottom.midx(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.7} \\ -\hline -{\code topToBottom.right(spacing)(X, Y, Z);} & \includegraphics{fig/positioning.8} \\ -\hline -\end{tabular} \\ - -To make typesetting even quicker in frequent usage scenarios, the following equivalent contructs are also allowed: - -\begin{verbatim} -leftToRight.midy(spacing)(X, Y, Z); -leftToRight(spacing)(X, Y, Z); -\end{verbatim} - -\begin{verbatim} -topToBottom.midx(spacing)(X, Y, Z); -topToBottom(spacing)(X, Y, Z); -\end{verbatim} - -If you want to specify that some objects have a given property equal, while the distance between them is given elsewhere, you can use the macro {\code same}. -This macro accepts a variable number of parameters, but at least two. The following table gives the interpretation of the macro for a simple example. - -\begin{tabular}{||l|l||} -\hline -{\code same.top(X, Y, Z);} & {\code X.top = Y.top = Z.top;} \\ -\hline -{\code same.midy(X, Y, Z);} & {\code X.midy = Y.midy = Z.midy;} \\ -\hline -{\code same.bottom(X, Y, Z);} & {\code X.bottom = Y.bottom = Z.bottom;} \\ -\hline -{\code same.left(X, Y, Z);} & {\code X.left = Y.left = Z.left;} \\ -\hline -{\code same.midx(X, Y, Z);} & {\code X.midx = Y.midx = Z.midx;} \\ -\hline -{\code same.right(X, Y, Z);} & {\code X.right = Y.right = Z.right;} \\ -\hline -\end{tabular} \\ - - -To specify the relative position of two points more easily, one can use the macros {\code below}, {\code above}, {\code atright}, {\code atleft}. Let us assume that {\code A} and {\code B} are two points (objects of type {\code pair} in MetaPost). The following constructs are equivalent: - -\begin{tabular}{||l|l||} -\hline -{\code B = A + (5,0);} & {\code B = atright(A, 5);} \\ -{\code B = A - (5,0);} & {\code B = atleft(A, 5);} \\ -{\code B = A + (0,5);} & {\code B = above(A, 5);} \\ -{\code B = A - (0,5);} & {\code B = below(A, 5);} \\ -\hline -\end{tabular} - - -\section{The MetaUML Infrastructure} -\label{section:infrastructure} - -MetaPost is a macro language based on equation solving. Using it may seem quite -tricky at first for a programmer accustomed to modern object-oriented languages. -However, the great power of MetaPost consists in its versatility. Indeed, it is possible to write -a system which mimics quite well object-oriented behavior. Along this line, METAOBJ -(\cite{metaobj}) is a library worth mentioning: it provides a high-level objects -infrastructure along with a battery of predefined objects. - -Surprisingly enough, \metauml\ does not use METAOBJ. Instead, it uses a custom written, -lightweight object-oriented infrastructure, provisionally called ``{\code util}''. -METAOBJ's facilities, although impressive, were perceived by me as being a bit too much -for what was initially intented as a quick way of getting some UML diagrams layed out. -Inspired by METAOBJ, ``{\code util}'' was designed to fulfill with minimal effort -the specific tasks needed to confortably position, allign or group visual objects -which include text. - -Another library having some object-oriented traits is the {\code boxes} -library, which comes with the standard MetaPost distribution. Early versions of -MetaUML did use {\code boxes} as an infrastructure, but this approach had to be abandoned eventually. -The main reason was that it was difficult to achieve good visual results when stacking texts -(more on that further on). Also, it had a degree of flexibility which became apparent to be -insufficient. - -\subsection{Motivation} - -Suppose that we want to typeset two texts with their bottom lines aligned, using {\code boxit}: - -\begin{multicols}{2} -\begin{verbatim} -boxit.a ("yummy"); -boxit.b ("cool"); - -a.nw = (0,0); b.sw = a.se + (10,0); - -drawboxed (a, b); % or drawunboxed(a,b) -draw a.sw -- b.se dashed evenly - withpen pencircle scaled 1.1; -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/boxes_vs_util.1} -\end{multicols} - -Note that, despite supposedly having their bottoms alligned, -``yummy'' {\it looks} slightly higher than ``cool''. This would be unacceptable -in an UML class diagram, when roles are placed at the ends of a horizontal association. -Regardless of default spacing being smaller in the {\code util} library, -the very same unfortunate misalignment effect rears its ugly head: - -\pagebreak - -\begin{multicols}{2} -\begin{verbatim} -Picture.a("yummy"); -Picture.b("cool"); -% comment next line for unboxed -a.info.boxed := b.info.boxed := 1; - -b.sw = a.se + (10,0); - -drawObjects(a, b); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/boxes_vs_util.2} -\end{multicols} - -However, the strong point of {\code util} is that we have a recourse to this problem: - -\begin{multicols}{2} -\begin{verbatim} -iPict.ignoreNegativeBase := 1; - -Picture.a("yummy"); -Picture.b("cool"); -% the rest the same as above -drawObjects(a, b); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/boxes_vs_util.3} -\end{multicols} - -\subsection{The Picture Macro} - -We have seen previously the line {\code iPict.ignoreNegativeBase := 1}. -Who is {\code iPict} and what is it doing in our program? \metauml\ -aims at separating the ``business logic'' (what to draw) from the -``interface'' (how to draw). In order to achieve this, it records the ``how to draw'' -information within the so-called {\code Info} structures. The object {\code iPict} -is an instance of {\code PictureInfo} structure, which has the following properties -(or attributes): -\begin{verbatim} -left, right, top, bottom -ignoreNegativeBase -boxed, borderColor -\end{verbatim} - -The first four attributes specify how much space should be left around the -actual item to be drawn. The marvelous effect of {\code ignoreNegativeBase} -has just been shown (off), while the last two attributes control whether the border -should be drawn (when {\code boxed=1}) and if drawn, in which color. - -There's one more thing: the font to typeset the text in. This is specified -in a {\code FontInfo} structure which has two attributes: the font name -and the font scale. This information is kept within the {\code PictureInfo} structure -as a contained attribute {\code iFont}. Both {\code FontInfo} and {\code PictureInfo} -have ``copy constructors'' which can be used to make copies. We have already -the effect of these copy constructors at work, when we used: - -\begin{verbatim} -Picture.a("yummy"); -a.info.boxed := 1; -\end{verbatim} - -A copy of the default info for a picture, {\code iPict}, has been made within -the object {\code a} and can be accessed as {\code a.info}. Having a copy of the -info in each object may seem like an overkill, but it allows for a fine grained -control of the drawing mode of each individual object. This feature comes in very -handy when working with a large number of settings, as it is the case for \metauml. - -Let us imagine for a moment that we have two types of text to write: one with a small font -and a small margin and one with a big font and a big margin. We could in theory -configure each individual object or set back and forth global parameters, but -this is far for convenient. It is preferable to have two sets of settings and specify -them explicitly when they are needed. The following code could be placed somewhere -in a configuration file and loaded before any {\code beginfig} macro: -\begin{verbatim} -PictureInfoCopy.iBig(iPict); -iBig.left := iBig.right := 20; -iBig.top := 10; -iBig.bottom := 1; -iBig.boxed := 1; -iBig.ignoreNegativeBase := 1; -iBig.iFont.name := defaultfont; -iBig.iFont.scale := 3; - -PictureInfoCopy.iSmall(iPict); -iSmall.boxed := 1; -iSmall.borderColor := green; -\end{verbatim} - -Below is an usage example of these definitions. Note the name of the macro: {\code EPicture}. -The prefix comes form ``explicit'' and it's used to acknowledge that the -``how to draw'' information is given explicitly --- as a parameter, -rather than defaulted to what's recorded in {\code iPict}, as with the {\code Picture} macro. -Having predefined configurations yields short, convenient code. - -\begin{multicols}{2} -\begin{verbatim} -EPicture.a(iBig)("yummy"); -EPicture.b(iSmall)("cool"); -% you can still modify a.info, b.info - -b.sw = a.se + (10,0); - -drawObjects(a, b); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/picture_info.1} -\end{multicols} - -\subsubsection{Fixed Sizes} - -By default, the size of a {\code Picture} object is set by its contents. However, -it is possible to specify fixed dimensions both the width and the height, independently. -This can be done by setting the {\code info}'s attributes {\code fixedWidth} and {\code fixedHeight} to values -greater than 0. If any of these attributes is left to its default value, {\code -1}, then for the corresponding -axis the dimension is set according to the dimension of the content. Nevertheless, the fixed dimensions are enforced, even though the contained object would have needed additional space. - -\begin{multicols}{2} -\begin{verbatim} -PictureInfoCopy.myFixed(iPict); -myFixed.ignoreNegativeBase := 1; -myFixed.fixedWidth := 15; -myFixed.fixedHeight := 20; -myFixed.boxed := 1; - -EPicture.a(myFixed)("a"); -EPicture.b(myFixed)(".-."); -EPicture.c(myFixed)("toolong"); - -leftToRight.bottom(10)(a, b, c); - -drawObjects(a, b, c); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/picture_info.2} -\end{multicols} - -\subsubsection{Content alignment} - -When fixed dimensions are used, one most likely would prefer a centered alignement of the contents in the -{\code Picture} box. This option can be expressed independently for each of the axes, -by setting the {\code info}'s attributes {\code valign} and {\code halign} to descriptive string values. -For horizontal alignement, {\code halign} can be set to {\code "left"} or {\code "center"}, and for -vertical alignement, {\code valign} can be set to {\code "bottom} or {\code "center"}. The default -values for these attributes are {\code "left"} and {\code "bottom"}, respectively. - -The next example uses horizontal centered alignement and a bottom alignement with a {\code 4.5} base offset, for -vertical alignement. This vertical alignement gives a better visual result than the centered one, at -least for the situations in which there are texts to be placed horizontally. - -\begin{multicols}{2} -\begin{verbatim} -PictureInfoCopy.myFixed(iPict); -myFixed.ignoreNegativeBase := 1; -myFixed.bottom := 4.5; -myFixed.valign := "bottom"; -myFixed.halign := "center"; -myFixed.fixedWidth := 25; -myFixed.fixedHeight := 15; -myFixed.boxed := 1; - -EPicture.a(myFixed)("a"); -EPicture.b(myFixed)("yum"); -EPicture.c(myFixed)("b"); - -leftToRight.bottom(10)(a, b, c); - -drawObjects(a, b, c); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/picture_info.3} -\end{multicols} - -\subsection{Stacking Objects} - -It is possible to stack objects, much in the style of {\code setboxjoin} -from {\code boxes} library. - -\pagebreak - -\begin{multicols}{2} -\begin{verbatim} -Picture.a0("yummy"); -Picture.a1("cool"); -Picture.a2("fool"); - -setObjectJoin(pa.sw = pb.nw); -joinObjects(scantokens listArray(a)(3)); - -drawObjects(scantokens listArray(a)(3)); -% or drawObjects (a0, a1, a2); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/object_stack.1} -\end{multicols} - -The {\code listArray} macro provides here a shortcut for writing -{\code a0, a1, a2}. This macro is particularly useful for generic -code which does not know beforehand the number of elements to be drawn. -Having to write the {\code scantokens} keyword is admittedly a nuisance, but -this is required. - - -\subsection{The Group Macro} - -It is possible to group objects in \metauml. This feature is the cornerstone -of \metauml, allowing for the easy development of complex objects, such as -composite stats in state machine diagrams. - -Similarly to the macro {\code Picture}, the structure {\code GroupInfo} -is used for specifying group properties; its default instantiation is -{\code iGroup}. Furthermore, the macro {\code EGroup} explicitely sets the -layout information. - -Here is an example: - -\begin{multicols}{2} -\begin{verbatim} -iGroup.left:=20; -iGroup.right:=15; -iGroup.boxed:=1; -iPicture.boxed:=1; - -Picture.a("yummy"); -Picture.b("cool"); -Picture.c("fool"); - -b.nw = a.nw + (20,20); % A -c.nw = a.nw + (15, 40); % B - -Group.g(a, b, c); -g.nw = (10,10); % C - -drawObject(g); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/group.1} -\end{multicols} - -Note that after some objects are grouped, they can all be drawn -by invoking the {\code drawObject} macro solely on the group that aggregates them. -Another important remark is that it is necessary only to set the relative -positioning of objects within a group (line A and B); afterward, one can -simply ``move'' the group to a given position (line C), and all the contained -objects will move along. - -\subsection{The PictureStack Macro} - -The {\code PictureStack} macro is a syntactic sugar for a set of pictures, -stacked according to predefined equations and grouped together. - -\begin{multicols}{2} -\begin{verbatim} -iStack.boxed := 1; -iStack.iPict.boxed := 1; -PictureStack.myStack("foo", - "bar: int" infont "tyxtt", - "nicely-centered" infont defaultfont, - "nice")("vcenter"); - -drawObject(myStack); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/picture_stack.1} -\end{multicols} - -Note the last parameter of the macro {\code PictureStack}, here {\code vcenter}. -It is used to generate appropriate equations based on a descriptive name. -The spacing between individual picture objects is set by the field -{\code iStack.spacing}. Currently, the following alignment names are -defined: {\code vleft}, {\code vright}, {\code vcenter}, -{\code vleftbase}, {\code vrightbase}, {\code vcenterbase}. All these -names refer to vertical alignment (the prefix ``{\code v}''); alignment can -be at left, right or centered. The variants having the suffix ``{\code base}'' align -the pictures so that {\code iStack.spacing} refer to the distance between the -bottom lines of the pictures. The unsuffixed variants use {\code iStack.spacing} as -the distance between one's bottom line and the next's top line. - -The ``{\code base}'' alignment is particularly useful for stacking text, since it -offers better visual appearance when {\code iPict.ignoreNegativeBase} is set to {\code 1}. - -\section{Components Design} - -Each MetaUML component (e.g. {\code Picture}, {\code PictureStack}, {\code Class}) is -designed according to an established pattern. This section gives more insight -on this. - -In order to draw a component, one must know the following information: -\begin{itemize} -\item what to draw, or what are the elements of a component. -\item how to draw, or how are the elements positioned in relation to each other within the component -\item where to draw -\end{itemize} - -For example, in order to draw a picture object we must know, respectively: -\begin{itemize} -\item what is the text or the native picture that needs to be drawn -\item what are the margins that should be left around the contents -\item where is the picture to be drawn -\end{itemize} - -Why do we bother with these questions? Why don't we just simply draw the picture -component as soon as it was created and get it over with? -That is, why doesn't the following code just work? - -\begin{verbatim} -Picture.pict("foo"); -\end{verbatim} - -Well, although we have the answer to question 1 (what to draw), -we still need to have question 3 answered. The code below becomes thus a -necessity (actually, you are not forced to specify the positioning of an object, -because its draw method positions it to {\code (0,0)} by default): - -\begin{verbatim} -% question 1: what to draw -Picture.pict("foo"); - -% question 3: where to draw -pict.nw = (10,10); - -% now we can draw -drawObject(pict); -\end{verbatim} - -How about question 2, how to draw? By default, this problem is addressed behind the -scenes by the component. This means, for the Picture object, that a native picture is created -from the given string, and around that picture certain margins are placed, by means of MetaPost equations. -(The margins come in handy when one wants to quickly place Picture objects near others, -so that the result doesn't look too cluttered.) -If these equations were defined within the Picture constructor, then an -usability problem would have appeared, because it wouldn't have been possible to modify the margins, -as in the code below: - -\begin{verbatim} -% question 1: what to draw -Picture.pict("foo"); - -% question 2: how to draw -pict.info.left := 10; -pict.info.boxed := 1; - -% question 3: where to draw -pict.nw = (0,0); - -% now we can draw -drawObject(pict); -\end{verbatim} - -To allow for this type of code, the equations that define the layout of the {\code Picture} object (here, what the margins are) -must be defined somewhere after the constructor. This is done by a macro called {\code Picture\_layout}. -This macro defines all the equations which link the ``what to draw'' information to the ``how to draw'' -information (which in our case is taken from the {\code info} member, a copy of {\code iPict}). -Nevertheless, notice that {\code Picture\_layouts} is not explicitly invoked. To the user's -great relief, this is taken care of automatically within the {\code Picture\_draw} macro. - -There are times however, when explicitly invoking a macro like {\code Picture\_layout} -becomes a necessity. This is because, by contract, it is only after the {\code layout} -macro is invoked that the final dimensions (width, height) of an object are -definitely and permanently known. Imagine that we have a component whose job is to -surround in a red-filled rectangle some other objects. This component -needs to know what the dimensions of the contained objects are, in order to be able to set -its own dimensions. At drawing time, the contained objects must not have been drawn already, -because the red rectangle of the container would overwrite them. -Therefore, the whole pseudo-code would be: -\begin{verbatim} -Create objects o1, o2, ... ok; -Create container c(o1, o2, ..., ok); -Optional: modify info-s for o1, o2, ... ok; -Optional: modify info for c; - -layout c, requiring layout of o1, o2, ... ok; -establish where to draw c; -draw red rectangle defined by c; -draw components o1, o2, ...ok within c -\end{verbatim} - -Note that an object mustn't be laid out more than once, because otherwise -inconsistent or superfluous equations would arise. To enforce this, by contract, -any object must keep record of whether its layout method has already been invoked, -and if the answer is affirmative, subsequent invocations of the layout macro would -do nothing. It is very important to mention that after the {\code layout} macro is -invoked over an object, modifying the {\code info} member of that object has -no subsequent effect, since the layout equations are declared and interpreted only once. - -\subsection{Notes on the Implementation of Links} - -\metauml\ considers edges in diagram graphs as links. A link is composed of a path and the -heads (possible none, one or two). For example, an association has no heads, and one must simply -draw along the path with a solid pen. An unidirectional aggregation has a solid path and two -heads: one is an arrow and the other is a diamond. So the template algorithm for drawing a link -is: - -\begin{verbatim} -0. Reserve space for heads -1. Draw the path (except for the heads) -2. Draw head 1 -3. Draw head 2 -\end{verbatim} - -Each of the UML link types define how the drawing should be done, in each of the -cases (1, 2 and 3). Consider the link type of unidirectional composition. -Its ``class'' is declared as: - -\begin{verbatim} -vardef CompositionUniInfo@# = - LinkInfo@#; - - @#widthA = defaultRelationHeadWidth; - @#heightA = defaultRelationHeadHeight; - @#drawMethodA = "drawArrow"; - - @#widthB = defaultRelationHeadWidth; - @#heightB = defaultRelationHeadHeight; - @#drawMethodB = "drawDiamondBlack"; - - @#drawMethod = "drawLine"; -enddef; -\end{verbatim} - -Using this definition, the actual description is created like this: - -\begin{verbatim} -CompositionUniInfo.compositionUni; -\end{verbatim} - -As shown previously, is is the macro {\code link} which -performs the actual drawing, using the link description information -which is given as parameter (generally called {\code iLink}). -For example, we can use: - -\begin{verbatim} -link(aggregationUni)((0,0)--(40,0)); -\end{verbatim} - -%\begin{figure} -%\centering -%\includegraphics{fig/how-links-work.1} -%\caption{An example of a picture stack.} -%\label{fig:hlw} -%\end{figure} - -Let us see now the inner workings of macro {\code link}. Its definition is: - -\begin{verbatim} -vardef link(text iLink)(expr myPath)= - LinkStructure.ls(myPath, - iLink.widthA, iLink.widthB); - drawLinkStructure(ls)(iLink); -enddef; -\end{verbatim} - -\begin{figure} -\centering -\begin{tabular}{l|l} -$AB$ & the path specified by the user \\ -$|AA'|$ & {\code iLink.widthA}\\ -$|BB'|$ & {\code iLink.widthB} -\end{tabular} -\includegraphics{fig/how-links-work.2} -\caption{Details on how a link is drawn by \metauml.} -\label{fig:hlw2} -\end{figure} - -First, space is reserved for heads, by ``shortening'' the given path {\code myPath} -by {\code iLink.widthA} at the beginning and by {\code iLink.widthB} at the end. -After that, the shortened path is drawn with the ``method'' -given by {\code iLink.drawMethod} and the heads with the ``methods'' -{\code iLink.drawMethodA} and {\code iLink.drawMethodB}, -respectively (figure \ref{fig:hlw2}). - -\subsection{Object Definitions: Easier {\code generic\_declare}} - -In MetaPost, if somebody wants to define something resembling a class in an object-oriented language, -named, say, {\code Person}, he would do something like this: - -\begin{verbatim} -vardef Person@#(expr _name, _age)= - % @# prefix can be seen as `this` pointer - string @#name; - numeric @#age; - - @#name := _name; - @#age := _age; -enddef; -\end{verbatim} - -This allows for the creation of instances (or objects) of class {\code Person} by using -declarations like: - -\begin{verbatim} -Person.personA; -Person.personB; -\end{verbatim} - - However, if one also wants to able able to create indexed arrays of persons, such as -{\code Person.student0}, {\code Person.student1} etc., the definition of class -{\code Person} must read: - -\begin{verbatim} -vardef Person@#(expr _name, _age)= - _n_ := str @#; - generic_declare(string) _n.name; - generic_declare(numeric) _n.age; - - @#name := _name; - @#age := _age; -enddef; -\end{verbatim} - -This construction is rather inelegant. MetaUML offers alternative macros to achieve -the same effect, uncluttering the code by removing the need for the unaesthetic {\code \_n\_} and -{\code \_n}. - -\begin{verbatim} -vardef Person@#(expr _name, _age)= - attributes(@#); - var(string) name; - var(numeric) age; - - @#name := _name; - @#age := _age; -enddef; -\end{verbatim} - -\section{Customization in MetaUML: Examples} -\label{section:customization} - -We have seen that in MetaUML the ``how to draw'' information is memorized into the so-called -``{\code Info}'' structures. For example, the default way in which a {\code Picture} object is -to be drawn is recorded into an instance of {\code PictureInfo}, named {\code iPict}. In this section we -present a case study involving the customization of {\code Class} objects. The customization of -any other \metauml\ objects works similarly. Here we cannot possibly present all the customization -options for all kinds of \metauml\ objects: this would take too long. Nevertheless, an interested reader can refer -to the top of the appropriate \metauml\ library file, where {\code Info} structures are defined. -For example, class diagram related definitions are in {\code metauml\_class.mp}, activity diagram -definitions are in {\code metauml\_activity.mp} etc. - -\subsection{Global settings} - -Let us assume that we do not particularly like the default foreground color of all classes, and wish -to change it so something yellowish. In this scenario, one would most likely want to change -the appropriate field in {\code iClass}: - -\begin{verbatim} -iClass.foreColor := (.9, .9, 0); -\end{verbatim} - -After this, we can obtain the following result: - -\begin{multicols}{2} -\begin{verbatim} -Class.A("A")()(); -Class.B("B")()(); -Class.C("C")()(); - -B.w = A.e + (20,0); -C.n = .5[A.se, B.sw] + (0, -10); - -drawObjects(A, B, C); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/class_customization.1} -\end{multicols} - -\subsection{Individual settings} - -When one wants to make modifications to the settings of one particular -{\code Class} objects, another strategy is more appropriate. How about having class -{\code C} stand out with a light blue foreground color, a bigger font size for the class name and a blue border? - -\pagebreak -\begin{multicols}{2} -\begin{verbatim} -iPict.foreColor := (.9, .9, 0); - -Class.A("A")()(); -Class.B("B")()(); -Class.C("C")()(); -C.info.foreColor := (.9, .7, .7); -C.info.borderColor := green; -C.info.iName.iFont.scale := 2; - -% positioning code ommited -drawObjects(A, B, C); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/class_customization.2} -\end{multicols} - -As an aside, note that for each {\code Class} object its {\code info} member is created as -a copy of {\code iClass}: the actual drawing is performed using this copied -information. Because of that, one can modify the {\code info} member after the object -has been created and still get the desired results. - -Another thing worth mentioning is that the {\code ClassInfo} structure contains -the {\code iName} member, which is an instance of {\code PictureInfo}. In our example we -do not want to modify the spacings around the {\code Picture} object, -but the characteristics of the font its contents is typeset into. To do that, -we modify the {\code iName.iFont} member, which by default is a copy of {\code iFont} -(an instance of {\code FontInfo}, defined in {\code util\_picture.mp}). -If, for example, we want to change the font the class name is rendered into, we would set -the attribute {\code iName.iFont.name} to a string representing a font name -on our system (as used with the MetaPost {\code infont} operator). - - -\subsection{Predefined settings} - -This usage scenario is perhaps more interesting. Suppose that we have two -types of classes which we want to draw differently. Making the setting adjustments -for each individual class object would soon become a nuisance. \metauml's solution consists in the -ability of using predefined ``how to draw'' {\code Info} objects. Let us create such objects: - -\begin{verbatim} -ClassInfoCopy.iHome(iClass); -iHome.foreColor := (0, .9, .9); - -ClassInfo.iRemote; -iRemote.foreColor := (.9, .9, 0); -iRemote.borderColor := green; -\end{verbatim} - -Object {\code iHome} is a copy of {\code iClass} (as it might have been set at -the time of the macro call). Object {\code iRemote} is created just as {\code iClass} -is originally created. We can now use these {\code Info} objects to easily set the -``how to draw'' information for classes. The result is depicted below, -please note the ``{\code E}'' prefix in {\code EClass}: - -\begin{multicols}{2} -\begin{verbatim} -EClass.A(iHome)("UserHome")()(); -EClass.B(iRemote)("UserRemote")()(); -EClass.C(iHome)("CartHome")()(); -EClass.D(iRemote)("CartRemote")()(); -\end{verbatim} -\columnbreak -\hspace{1cm}\includegraphics{fig/class_customization.3} -\end{multicols} - -\subsection{Extreme customization} - -When another font (or font size) is used, one may also want to modify the spacings between the -attributes' and methods' baselines. Figure below is the result of the -(unlikely) code: - -\begin{multicols}{2} -\begin{verbatim} -Class.A("Foo") - ("a: int", "b: int") - ("foo()", "bar()", "gar()"); - -A.info.iName.iFont.name := metauml_defaultFontBold; -A.info.iName.iFont.scale := 1.2; - -A.info.iAttributeStack.iPict.iFont.scale := 0.8; -A.info.iAttributeStack.top := 10; -A.info.iAttributeStack.spacing := 11; - -A.info.iMethodStack.iPict.iFont.scale := 2; -A.info.iMethodStack.spacing := 17; -A.info.iMethodStack.bottom := 10; - -drawObject(A); -\end{verbatim} -\columnbreak -\hspace{4cm}\includegraphics{fig/class_customization.4} -\end{multicols} - -\begin{verbatim} -\end{verbatim} - -Both {\code iAttributeStack} and {\code iMethodStack} are instances of -{\code PictureStackInfo}, which is used to control the display of {\code PictureStack} objects. -%We can also customize the size and colors of the ``locks'' by setting {\code A.info.iLock}. - -As font names, you can choose from the globally defined {\code metauml\_defaultFont}, {\code metauml\_defaultFontOblique}, {\code metauml\_defaultFontBold}, {\code metauml\_defaultFontBoldOblique}, or any other name of a font that is available on your system. - -%\theendnotes - -\bibliographystyle{apalike} - -\begin{thebibliography}{1} -\bibitem[Roegel, 2002]{metaobj} -Roegel, D. (2002). -\newblock {The METAOBJ tutorial and reference manual}. -\newblock Available from {\code www.loria.fr/~roegel/TeX/momanual.pdf}. - -\bibitem[Knuth, 1986]{knuth} -Knuth, D.~E. (1986). -\newblock {\em The {\TeX{}}book}. -\newblock Addison-Wesley Publishing Company. - -\bibitem[Lamport, 1994]{lamport} -Lamport, L. (1994). -\newblock {\em {\LaTeX} a Document Preparation System}. -\newblock Addison-Wesley Publishing Company, 2nd edition. - -%\bibitem[Gheorghies, 2005]{metaumlman} -%Gheorghies, O. (2005). -%\newblock {MetaUML: Tutorial, Reference and Test Suite}. -%\newblock Available from {\code http://metauml.sourceforge.net}. - -\bibitem[Hobby, 1992]{metapost} -Hobby, J. (1992) -\newblock {A User's Manual for MetaPost}. -\newblock Available from {\code http://www.tug.org/tutorials/mp/}. - -\bibitem[Gjelstad, 2001]{umlsty} -Gjelstad, E. (2001). -\newblock {uml.sty 0.09.09}. -\newblock Available from {\code http://heim.ifi.uio.no/\~{ }ellefg/uml.sty/}. - -\bibitem[Diamantini, 1998]{pstumlsty} -Diamantini, M. (1998). -\newblock {Interface utilisateur du package pst-uml}. -\newblock Available from {\code http://perce.de/LaTeX/pst-uml/}. - -\bibitem[Palmer, 1999]{umldoc} -Palmer, D. (1999). -\newblock {The umldoc UML Documentation Package}. -\newblock Available from {\code http://www.charvolant.org/\~{ }elements/}. - -\bibitem[OMG, 2003]{XMI} -Object Management Group (2003). -\newblock {XML Metadata Interchange (XMI) Specification}. -\newblock Available from {\code http://www.omg.org/}. -\end{thebibliography} - -\pagebreak -\pagebreak -\pagebreak -\input{test_suite} - -\pagebreak -\section{GNU Free Documentation License} -\input{gnu-fdl} - -\end{document} diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/my-bib.bib b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/my-bib.bib deleted file mode 100644 index 3dea8fd262a..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/my-bib.bib +++ /dev/null @@ -1,13 +0,0 @@ -@inproceedings{ template, - author = "Nicholas Freitag McPhee and Riccardo Poli", - title = "A schema theory analysis of the evolution of size in genetic programming with linear representations", - booktitle = "Genetic Programming, Proceedings of EuroGP'2001", - volume = "2038", - month = "18-20", - publisher = "Springer-Verlag", - address = "Lake Como, Italy", - editor = "Julian F. Miller and Marco Tomassini and Pier Luca Lanzi and Conor Ryan and Andrea G. B. Tettamanzi and William B. Langdon", - isbn = "3-540-41899-7", - pages = "108--125", - year = "2001", - url = "citeseer.nj.nec.com/mcphee01schema.html" } \ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/test.mp b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/test.mp deleted file mode 100644 index b7f60eadca0..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/test.mp +++ /dev/null @@ -1,9 +0,0 @@ -input metauml; - -beginfig(1); - Class.X("X")()(); - drawObjects(X); -endfig; - -end - diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/test_suite.tex b/Master/texmf-dist/doc/metapost/metauml/metauml_manual/test_suite.tex deleted file mode 100644 index 05f19ad2459..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual/test_suite.tex +++ /dev/null @@ -1,86 +0,0 @@ -% Part of the MetaUML manual -% Copyright (c) 2005 Ovidiu Gheorghies -% -% Permission is granted to copy, distribute and/or modify this document -% under the terms of the GNU Free Documentation License, Version 1.2 -% or any later version published by the Free Software Foundation; -% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -% A copy of the license is included in the section entitled "GNU -% Free Documentation License". - -\newcommand{\metaumltest}[2]{Test #2 --- \\ \includegraphics{fig/test_#1.#2} \\ } -\newcommand{\metaumltests}[2]{\multido{\iA=1+1}{#2}{\metaumltest{#1}{\iA}}} - -\section{Test suite} - -\subsection{Low-level} - \metaumltests{lowlevel}{2} - -\subsection{Fonts} - \metaumltests{font}{3} - -\subsection{Cliparts} - %\metaumltests{cliparts}{1} - Locks ---\\ - \includegraphics{fig/cliparts.1} - -\subsection{Util library} - \subsubsection{Picture tests} - \metaumltests{picture}{10} - - \subsubsection{Picture tests - TeX rendering} - \metaumltests{picture_tex_rendering}{1} - - \subsubsection{Group tests} - \metaumltests{group}{2} - - \subsubsection{PictureStack tests} - \metaumltests{picture_stack}{3} - - \subsubsection{Positioning tests} - \metaumltests{positioning}{6} - -\subsection{Class diagram} - \subsubsection{Class tests} - \metaumltests{class}{14} - - \subsubsection{Class template tests} - \metaumltests{class_templates}{3} - - \subsubsection{Qualified Association tests} - \metaumltests{class_qual_assoc}{2} - -\subsection{Package diagram} -\subsubsection{Package tests} - \metaumltests{package}{2} - -\subsection{Component diagram} -\subsubsection{Component tests} - \metaumltests{component}{1} - -\subsection{Paths} - \metaumltests{paths}{3} - -\subsection{Behavioral diagrams} - \subsubsection{Activity tests} - \metaumltests{activity}{2} - - \subsubsection{State Machine tests} - \metaumltests{state}{5} - - \subsubsection{Usecase tests} - \metaumltests{usecase}{9} - -\subsection{Miscelaneous} - \subsubsection{Notes} - \metaumltests{note}{2} - \subsubsection{Objects (Class Instances)} - \metaumltests{instance}{1} - -\subsection{User requests} - Test 1 --- \\ \includegraphics[scale=.2]{fig/test_lars_issues.1} \\ - \metaumltest{lars_issues}{2} - -\subsection{Skins} - \metaumltests{skins}{1} - \metaumltests{skins_global_defaults}{1} diff --git a/Master/texmf-dist/doc/metapost/metauml/metauml_manual_0.2.5.pdf b/Master/texmf-dist/doc/metapost/metauml/metauml_manual_0.2.5.pdf deleted file mode 100644 index cd7e13348b6..00000000000 --- a/Master/texmf-dist/doc/metapost/metauml/metauml_manual_0.2.5.pdf +++ /dev/null @@ -1,5884 +0,0 @@ -%PDF-1.4 -%ÐÔÅØ -5 0 obj -<< /S /GoTo /D (section.1) >> -endobj -8 0 obj -(Introduction) -endobj -9 0 obj -<< /S /GoTo /D (section.2) >> -endobj -12 0 obj -(Class Diagrams) -endobj -13 0 obj -<< /S /GoTo /D (subsection.2.1) >> -endobj -16 0 obj -(Stereotypes) -endobj -17 0 obj -<< /S /GoTo /D (subsection.2.2) >> -endobj -20 0 obj -(Interfaces and Abstract Classes) -endobj -21 0 obj -<< /S /GoTo /D (subsection.2.3) >> -endobj -24 0 obj -(Displaying Class Name Only) -endobj -25 0 obj -<< /S /GoTo /D (subsection.2.4) >> -endobj -28 0 obj -(Objects \(or Class Instances\)) -endobj -29 0 obj -<< /S /GoTo /D (subsection.2.5) >> -endobj -32 0 obj -(Parametrized Classes \(Templates\)) -endobj -33 0 obj -<< /S /GoTo /D (subsection.2.6) >> -endobj -36 0 obj -(Types of Links) -endobj -37 0 obj -<< /S /GoTo /D (subsection.2.7) >> -endobj -40 0 obj -(Associations) -endobj -41 0 obj -<< /S /GoTo /D (subsection.2.8) >> -endobj -44 0 obj -(Dependencies and Stereotypes) -endobj -45 0 obj -<< /S /GoTo /D (section.3) >> -endobj -48 0 obj -(Notes) -endobj -49 0 obj -<< /S /GoTo /D (subsection.3.1) >> -endobj -52 0 obj -(Attaching notes to diagram elements) -endobj -53 0 obj -<< /S /GoTo /D (subsection.3.2) >> -endobj -56 0 obj -(Using mathematical formulae) -endobj -57 0 obj -<< /S /GoTo /D (section.4) >> -endobj -60 0 obj -(Packages) -endobj -61 0 obj -<< /S /GoTo /D (subsection.4.1) >> -endobj -64 0 obj -(Types of Links) -endobj -65 0 obj -<< /S /GoTo /D (section.5) >> -endobj -68 0 obj -(Component Diagrams) -endobj -69 0 obj -<< /S /GoTo /D (subsection.5.1) >> -endobj -72 0 obj -(Types of Links) -endobj -73 0 obj -<< /S /GoTo /D (section.6) >> -endobj -76 0 obj -(Use Case Diagrams) -endobj -77 0 obj -<< /S /GoTo /D (subsection.6.1) >> -endobj -80 0 obj -(Use Cases) -endobj -81 0 obj -<< /S /GoTo /D (subsection.6.2) >> -endobj -84 0 obj -(Actors) -endobj -85 0 obj -<< /S /GoTo /D (subsection.6.3) >> -endobj -88 0 obj -(Types of Links) -endobj -89 0 obj -<< /S /GoTo /D (section.7) >> -endobj -92 0 obj -(Activity Diagrams) -endobj -93 0 obj -<< /S /GoTo /D (subsection.7.1) >> -endobj -96 0 obj -(Begin, End and Flow End) -endobj -97 0 obj -<< /S /GoTo /D (subsection.7.2) >> -endobj -100 0 obj -(Activity) -endobj -101 0 obj -<< /S /GoTo /D (subsection.7.3) >> -endobj -104 0 obj -(Fork and Join) -endobj -105 0 obj -<< /S /GoTo /D (subsection.7.4) >> -endobj -108 0 obj -(Branch) -endobj -109 0 obj -<< /S /GoTo /D (subsection.7.5) >> -endobj -112 0 obj -(Types of Links) -endobj -113 0 obj -<< /S /GoTo /D (section.8) >> -endobj -116 0 obj -(State Diagrams) -endobj -117 0 obj -<< /S /GoTo /D (subsection.8.1) >> -endobj -120 0 obj -(Composite States) -endobj -121 0 obj -<< /S /GoTo /D (subsection.8.2) >> -endobj -124 0 obj -(Internal Transitions) -endobj -125 0 obj -<< /S /GoTo /D (subsection.8.3) >> -endobj -128 0 obj -(Special States) -endobj -129 0 obj -<< /S /GoTo /D (section.9) >> -endobj -132 0 obj -(Drawing Paths) -endobj -133 0 obj -<< /S /GoTo /D (subsection.9.1) >> -endobj -136 0 obj -(Manhattan Paths) -endobj -137 0 obj -<< /S /GoTo /D (subsection.9.2) >> -endobj -140 0 obj -(Stair Step Paths) -endobj -141 0 obj -<< /S /GoTo /D (subsection.9.3) >> -endobj -144 0 obj -(Horizontal and Vertical Paths) -endobj -145 0 obj -<< /S /GoTo /D (subsection.9.4) >> -endobj -148 0 obj -(Direct Paths) -endobj -149 0 obj -<< /S /GoTo /D (subsection.9.5) >> -endobj -152 0 obj -(Paths between Objects) -endobj -153 0 obj -<< /S /GoTo /D (subsubsection.9.5.1) >> -endobj -156 0 obj -(Direct Paths between Centers) -endobj -157 0 obj -<< /S /GoTo /D (section.10) >> -endobj -160 0 obj -(Arranging Diagram Items) -endobj -161 0 obj -<< /S /GoTo /D (section.11) >> -endobj -164 0 obj -(The MetaUML Infrastructure) -endobj -165 0 obj -<< /S /GoTo /D (subsection.11.1) >> -endobj -168 0 obj -(Motivation) -endobj -169 0 obj -<< /S /GoTo /D (subsection.11.2) >> -endobj -172 0 obj -(The Picture Macro) -endobj -173 0 obj -<< /S /GoTo /D (subsubsection.11.2.1) >> -endobj -176 0 obj -(Fixed Sizes) -endobj -177 0 obj -<< /S /GoTo /D (subsubsection.11.2.2) >> -endobj -180 0 obj -(Content alignment) -endobj -181 0 obj -<< /S /GoTo /D (subsection.11.3) >> -endobj -184 0 obj -(Stacking Objects) -endobj -185 0 obj -<< /S /GoTo /D (subsection.11.4) >> -endobj -188 0 obj -(The Group Macro) -endobj -189 0 obj -<< /S /GoTo /D (subsection.11.5) >> -endobj -192 0 obj -(The PictureStack Macro) -endobj -193 0 obj -<< /S /GoTo /D (section.12) >> -endobj -196 0 obj -(Components Design) -endobj -197 0 obj -<< /S /GoTo /D (subsection.12.1) >> -endobj -200 0 obj -(Notes on the Implementation of Links) -endobj -201 0 obj -<< /S /GoTo /D (subsection.12.2) >> -endobj -204 0 obj -(Object Definitions: Easier generic\137declare) -endobj -205 0 obj -<< /S /GoTo /D (section.13) >> -endobj -208 0 obj -(Customization in MetaUML: Examples) -endobj -209 0 obj -<< /S /GoTo /D (subsection.13.1) >> -endobj -212 0 obj -(Global settings) -endobj -213 0 obj -<< /S /GoTo /D (subsection.13.2) >> -endobj -216 0 obj -(Individual settings) -endobj -217 0 obj -<< /S /GoTo /D (subsection.13.3) >> -endobj -220 0 obj -(Predefined settings) -endobj -221 0 obj -<< /S /GoTo /D (subsection.13.4) >> -endobj -224 0 obj -(Extreme customization) -endobj -225 0 obj -<< /S /GoTo /D (section.14) >> -endobj -228 0 obj -(Test suite) -endobj -229 0 obj -<< /S /GoTo /D (subsection.14.1) >> -endobj -232 0 obj -(Low-level) -endobj -233 0 obj -<< /S /GoTo /D (subsection.14.2) >> -endobj -236 0 obj -(Fonts) -endobj -237 0 obj -<< /S /GoTo /D (subsection.14.3) >> -endobj -240 0 obj -(Cliparts) -endobj -241 0 obj -<< /S /GoTo /D (subsection.14.4) >> -endobj -244 0 obj -(Util library) -endobj -245 0 obj -<< /S /GoTo /D (subsubsection.14.4.1) >> -endobj -248 0 obj -(Picture tests) -endobj -249 0 obj -<< /S /GoTo /D (subsubsection.14.4.2) >> -endobj -252 0 obj -(Picture tests - TeX rendering) -endobj -253 0 obj -<< /S /GoTo /D (subsubsection.14.4.3) >> -endobj -256 0 obj -(Group tests) -endobj -257 0 obj -<< /S /GoTo /D (subsubsection.14.4.4) >> -endobj -260 0 obj -(PictureStack tests) -endobj -261 0 obj -<< /S /GoTo /D (subsubsection.14.4.5) >> -endobj -264 0 obj -(Positioning tests) -endobj -265 0 obj -<< /S /GoTo /D (subsection.14.5) >> -endobj -268 0 obj -(Class diagram) -endobj -269 0 obj -<< /S /GoTo /D (subsubsection.14.5.1) >> -endobj -272 0 obj -(Class tests) -endobj -273 0 obj -<< /S /GoTo /D (subsubsection.14.5.2) >> -endobj -276 0 obj -(Class template tests) -endobj -277 0 obj -<< /S /GoTo /D (subsubsection.14.5.3) >> -endobj -280 0 obj -(Qualified Association tests) -endobj -281 0 obj -<< /S /GoTo /D (subsection.14.6) >> -endobj -284 0 obj -(Package diagram) -endobj -285 0 obj -<< /S /GoTo /D (subsubsection.14.6.1) >> -endobj -288 0 obj -(Package tests) -endobj -289 0 obj -<< /S /GoTo /D (subsection.14.7) >> -endobj -292 0 obj -(Component diagram) -endobj -293 0 obj -<< /S /GoTo /D (subsubsection.14.7.1) >> -endobj -296 0 obj -(Component tests) -endobj -297 0 obj -<< /S /GoTo /D (subsection.14.8) >> -endobj -300 0 obj -(Paths) -endobj -301 0 obj -<< /S /GoTo /D (subsection.14.9) >> -endobj -304 0 obj -(Behavioral diagrams) -endobj -305 0 obj -<< /S /GoTo /D (subsubsection.14.9.1) >> -endobj -308 0 obj -(Activity tests) -endobj -309 0 obj -<< /S /GoTo /D (subsubsection.14.9.2) >> -endobj -312 0 obj -(State Machine tests) -endobj -313 0 obj -<< /S /GoTo /D (subsubsection.14.9.3) >> -endobj -316 0 obj -(Usecase tests) -endobj -317 0 obj -<< /S /GoTo /D (subsection.14.10) >> -endobj -320 0 obj -(Miscelaneous) -endobj -321 0 obj -<< /S /GoTo /D (subsubsection.14.10.1) >> -endobj -324 0 obj -(Notes) -endobj -325 0 obj -<< /S /GoTo /D (subsubsection.14.10.2) >> -endobj -328 0 obj -(Objects \(Class Instances\)) -endobj -329 0 obj -<< /S /GoTo /D (subsection.14.11) >> -endobj -332 0 obj -(User requests) -endobj -333 0 obj -<< /S /GoTo /D (subsection.14.12) >> -endobj -336 0 obj -(Skins) -endobj -337 0 obj -<< /S /GoTo /D (section.15) >> -endobj -340 0 obj -(GNU Free Documentation License) -endobj -341 0 obj -<< /S /GoTo /D [342 0 R /Fit ] >> -endobj -344 0 obj << -/Length 757 -/Filter /FlateDecode ->> -stream -xÚuUKoÓ@¾çWX=­%ìîÓ8ÑB+DS.ÀÁµ7EbWñ¦mþ=3;×4©"%³3ß|ó܈8|D$”J󬈲R¦‚›¨^Ïxt¦Ë™¥"ðtĘè;½(¢2-3Í‘Ð0È(3y*•‰æÍ/ve]usõåmœ(¥Ø<.ÛÆ‚¹~ÓÂOµzC†6N[€Ê ›½ÐP£` WuÍ„Éhr¤¹è¶uÞóÏüóìã|Ì~¬^™T‰âXªÙ+Å £Ò¬ÔPü3ÁAñ¦H³ÜŒ1°øóþ>–Ûa9íÝe‡¹E†VE> endobj -345 0 obj << -/D [342 0 R /XYZ 133.768 692.105 null] ->> endobj -346 0 obj << -/D [342 0 R /XYZ 133.768 667.198 null] ->> endobj -343 0 obj << -/Font << /F8 349 0 R /F14 352 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -356 0 obj << -/Length 196 -/Filter /FlateDecode ->> -stream -xÚmP»Â0 ÜûÓ!¡ŽÓç‚ñA@"嬴Â,‡í9É dj‘`/!ÃlÑRç”qä—Ã4&“¹‡ ‚%ˆ@ãÙAƒÍÒ”CÜ­DpãÞ56uÑ0:©t—É,¾_:$õA‘ýTùÑŒ£PFŠeƒK›D7 _ò»é (O× -endstream -endobj -355 0 obj << -/Type /Page -/Contents 356 0 R -/Resources 354 0 R -/MediaBox [0 0 612 792] -/Parent 353 0 R ->> endobj -357 0 obj << -/D [355 0 R /XYZ 133.768 692.105 null] ->> endobj -354 0 obj << -/Font << /F8 349 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -360 0 obj << -/Length 8937 -/Filter /FlateDecode ->> -stream -xÚí][sd·q~篘ÊYežà~ñ›|‰—”H¡T®”•‡9Ë¥5ÃQ†C+›_Ÿn\ºsW$Wªrb–ËZÎwpú†Ð@8z¥àz¥­bH«Í¤•_]ïÎÔêýáL·"ÖA¿^Z&åòê2(ee™YYíôäìê2h?Ùl°ìo¾>ûÇÒq¥ãd´_}ýn¥]˜°ë…¾¾ùóù›ãÅ¥>__èóoð/>ÿõÅ¥Uúü님ÏûÃ>Ûþ -Qsþï,ôòÇas½Á'¶P¸¿©¥Ê»¥Àñ"Wwð¼°Ú\üç×ÉÒJë)û*üéÈoÒ”².’ýÛ_á»›»G `âùÞoö‡[€Þßm.Œ;ÿVYuÚœ? ½U˜Œ;;Y0¾ÿÙãícao¹‰ðâ¯*!*ÿ øâÙï¿&+š¤& ÷&NÖ˜¼—½…‹ÅMZ¥)‡€j™†¶D¯HõÝÃñ°F;\Oùk'Ú{°FTaÉ)tž² O8Œð>Ôø¥ PeŠ,“Žfr9“æëo¾ø¼Úêî¡þ»®ÿüá_¿i€É¾DÁ[9|éË “Î÷ÝÊ[¬ãïëÇjéwûC}p¼0ùü¾ûÃXî|óPáxľ¿­…H€›»õe©ÓKm§dÀ+´GÉEÔÛÃzw•~Y*Ô “–ÈI™àQtÜù{dû¸[ß_¾;àãÍýÍöC-qìüßÇÇõ¶¿ß#º>bÑýýtqé¬.íÀ"¾¸ÿVi‹//^ àí{ ’«AækðÃ=J}÷?ëï¶ø2º¢vç{´×Å¥OçÙ\#ŸË}ízÜ”æÎ?ûò_Jó‹ç7›‡»ÛûŽÿØõ>¾¯Àñý¦–Û¬Ú_ûwõQ5R‹­êŸE¬û›iAìÏ~X fçï ù Ä£nºµhüç°y·)ýÈ꘸˜ä¡>„J(•¶F2w _o{eîëƒFìøˆæÀΧ½ðÝã±Ðuç»ýa³ íjòC‘Íz8®«±óúpòàë è5ïÝ_‹óáÏÍ—^°ÐØn îC0çÿq‘ÂùþK˜óktƒûú7¾¼'VßWp}¬¤îŽMmÀöì }ñý›Mäü¿™q®ÍÍÝ=âÒ: |¼÷¤6PgÁGë¿ßjëÞïѼ?V Zþþ¶•[6õ›ýýæ¦ÚýZè1ô`¥O¸4nÊ -:k¦ì|‘@ƒA´ñçÿraÍùñ°G—=¿y¼ní£’I+è‚E" €ÑÐ^kïýÏ›Ê5ûÚÖÊßøO:·ù±þ¾ÁZXßb °ýeS-±qpémt][à?ÞWwÚ%>émóWõñ_/Ú´µ’ðÏ[ù¯h¾&LJÒo=Ö·šP·¥ûÚÕ^ª9å¦>‚FÔ«‡¬ÚiÞQXkA›õñ‘„}øu3°Mc§6®}6³œNS0Jáãßn×…°;ÿ›æt¤h± ­Sr%¶Xý×jò¾<ïÿÚ_€ÿ«ý¾Fð¿VOÀŸ§ë3~áR¼¡¦ˆƒ ü‡›K½ÚÙ4Y_{çÕVü2fŠÞù ~½?{tr¡“˪Ll/*¤‰Š¦÷Ôð«PéƒòäW?žýyõŸjuÌþr¦Õê‹WÓ½DTw™·P AT5/ÔA,@ºËL¤îÅ8ÝjïRT_§­Ná r ÉvRÍu~»½ÛÜŸá ²¾‚¨(¨_ˆE’·àÃ¥ÞÄO d21ʯð´þ[ɆFGª¨*¦Jv ¬ÏŸ‹â•x`º’"£Û±°ŸòBáŽbaû¼ƒJ†¨|Š&éTm˜rt%,ÄžÂÍì' áÖì·ÆÛ»ûã桵‚ó­‰ö!Bj•›HÑ—ºšQ: á*ÈjôüÛýî.^ìm0’ˆ7l™µtRÂPØ–1î~¶âm‰žzô¥‡g±óðÌ#È<,óˆ#懿 ý+ñ”76Z'鶊Âì1ž% ‹Â¤Î€GBg³NõŽ øµ—„,¨‚|¾Y¿{FåÃ$•ÔµMÝWð0Êæ7¨È¿ý°9@4¾¿ÿVyÿ×ÏrEWÜÄa5z– [­ÎXУù¤B”èv@-W¥ŸëÖÝ‘]~é]àcø]3Vù -Š:˜ƒoŸ¨2 …I8a"”™“ƒ~+¤ê%-b®¶¸“V -Ý`p“I&ʶ+ÐÌ^ËxÚv±Mœ´#äb‰‹\ÍQp¡VG.}:ü q¸Dû4†,¨p – eÖ0Ó •òëÛ°q0E;4âÒ?Ü7ÏiÉǨ)Åh2á0* ^€wb ʆÓõÏ/ªeYïa°J& õÌ çjν&–0gÊèÞê|HƒÍŸîÎê2Þø•ñGiƒ>—øÕbÉEòW ’ü$QQò ¢ÚB„’]8iKŒ¾ùç0r§·Ùÿ†áÃbL©“¦8½£[‰¦ž®`¨*'B¯’ôIÊÙ -ÊW‹øNÒ0ê%¥õPºUù’¤Ø+æÉÛÚ+jÖJt¬BW.›¸ìÐÿÿb<®–§Ó_=1i^}õœ\,ôBúO®Åá¿YZ-€á¢­|v}¼ûëÝ—3>ÔÕˆßá*ƺ,“>ÑåëSÓ˜ŸµhCšÊ~iÑ B N øa:…±H™‚æ))eʘU[›&;ÀâÉ ½q}ÆP‘ ôGD¾×g C‚À@žxÓLžK×òÇéij¤f1š|¦é@€'&õ÷éÐùÎT“¦KÔ!Å” ¯ˆwûG­HÔ¦ÁâRÉÿU}®ß°§PƒhMaœPû!eôCƒV ½®‰ÊCÌ3Yå(æ\+u©!b‚¸KBì!¢˜† -(·bb— -:§ìŠ™bWé]€VÀ¶=zBù(ÞuääÄÂÍ›‚(Õä%R]§™1®g!8Lk‘$ì•šèIØK7ÙËvÙ‹ vÆ`èöÒd/OöJT.“½©˜É^–ìÕßuä€ÄÂÍÝ”¡./‘ê:ÍŒ1¶ø7[ý”­ '¯tUŠå©‹v–ò‚¡É€š5Súûõñ[åÔÃ~·9¾¿»¿Å·ûýÍ3†5Ÿ'`:T2ˆ¯ ×]ÁðÞ’D˜C)Žï7øÏ÷wÇë÷›ûgÈ#'ò/º”J(ÃQ• ¢Å†A{Nµ"¹œËK åÐ[)¢†žÇBÛí†9ׄË9rœ´Pn¨vÚWƒ]éÈ.ZÏÀ­£é`XÀN––›¤GB'àV‚@Éõ6[>ñ“‡Æ‚ñ¥ï"NÈ6ÆŽmqÙeŸê’Cp6ÙU2½˜VzÒAi7`nÊб¹I4M!E#/Ôëea^ÁŒ5®5+­"v6$"£¸´>9gÊʽE/I|$ÆI´ËÎIŹuæãÈÔËPGY<'f²`èÔlÕ-(0Ëhlš1A܇Ò,Ø‚–-èØ‚–-¨Ù‚ýýÌfélÄò° ÎäH¿¹iÆaêÍt/4ÝÕ™Q’M•ç£„‡†dà -GœX—Üþ}³¾Ááaÿùn¿ÿþYw$yÖi@W„ÉÙ=‰Ž—:Ûžp©×¥ (L~[Al¥0?Ï~¡doº+¹¬0na¢¢ -›SX îÚp² ŒBÿ©ÍÚŠ÷³‘½Qå#0!Rz½*=$-ç&š÷&yæþu ›Ñ±-™1‘[Ì’˜„Ïîf´lÆÔÌÈܵ1lFn.„‚-›±½ŸµlWÍŒZdÆ¡ý63AÒrn¢±Wy3á+MxUÖúDgùÚîÅXˆ‹m’ÝËçwÇÍ} C÷øßÝãÃÝõ3ºlP>—¥u˜u¾^ ÜW^‘@˜[ß—.ïîö~(±ñÝñc »'BcâpÊšˆ"Þcx;‘ఈ.‡‚HÎ -.3x;‘ఈž†„è/­î¨hœÐetÆÕsFÁŸ’ ¥Æ¾ÖâO‰Á •)~)P\cÖ&¯EZ•¼y¥î,«Iù‚DnÍe²D%Ƽ%JR2EÖfAïë'&*¸g•,ãÙ2Í‘ôŶ_y2ñ8YF ¡[†)ÆÔ-ü Ý2[¦£0)%};E‰1o’”‚"k³ ÷õÓ¬7ËÔ®T>Él‡»Úµ‘(è$ZQ.áŸÄ„E -s™¢Y Š1,X$ÈV¤ƒ©¾:škß)JLX$ÉVÔ¤dŠ¬Í‚Þ½ý±­Àª@+8»3è\“0u3/3pWWz¢×C¹(éA{~V¹ÄåꂳС̰{®-$àqçãv¨f‚w³E‰ÓÃâáãÔ¹,øábÙÙjà K$Kj½My0î ÜÍKÁº/ ó~¼ }ºꢌƒqCQßêS<”-ÌrEÐCYOQç²\cÙ2¶hÇË.»³€KÉOUªíá›Ã»3Ÿ¦ Íôà¬æ[ç(PÅä_ÔeW†‰Îû§KB؈nöÐÉûÊ>cP*uI]]_2e3¨ -ºm«»¼ Y9OÕÐKÏq, Ó4ï"6:\cQ>Z,Ü«XrŸÖ¤¾"[Uó1–:Öä¸Ð MÅdßR¸Kø«ÈkEMÎõª›á»2ä\V¢-ÄiБ„•¶¸Š«b=ݤ}”:CÁ¾FanhC°¦‰©Å—ð]¯/K µ‘õ8à:k0¶IU•ú®åÒ¸æsrUI››ÛÍ:Ä8ªœ†Ö¥=Np V?i,ŒïB„åÆÈOek|’ƒ(Ííq,3úÞ˜.¬óîWoÊzm0­V³ÜÇ»íç ïïož1oÀUÖeàTÄ…øQL¬¢(œÕ]‡ïëêÍæ~ÿxûþÉ]Sì 4fÙÎ~/fÿgÂ,dÿÑkp‡^Ù¾µ”ýÇÜLÍþÿëþ¸yxÒXx#?+Íoü¤ÔR–ª¨î_“ü\~á`táNå2mÇGþ5þ$Òõœ€û‰sA·q7xÔDtüi창߾øØÀ'³©§Aó”Lù !UMÌ}䜀¨Êù -$¸K©nˆu;»óYY¸Ûý°ÇcPÇgxHÍ+~² ¸Ã©ÉðÍŸ£÷û§÷ -’ô™|ÄOe…bçè*€ûsÐ3w)µÚ`Bœ­Ru¸ÆMwR®Ñ&@Ï‘Ìܸ^óÈ­Oí~aNW§ú)W8êô‘0L…mJô]M¨h™Þ Ö»ò O„@¬©E¨gð„„ÃhxÜ”ó#ø˶þs|»–´¾•$‡¯Ôª9m3Īl%oÆ4U~BB³ ®ßw,M¹Ó’1M1f¥ß~aö.5Mµ¦­–ê4`Fui˜Jg0šr`ºk¿ nl91%Ú®˜±üQLˆFZz§œ7kÆ^Z¶Â¦bñrjl -ÙAÿ„+D*…²g &,0É̸>T檹.l*ë9ÄÞ1ç€]§% Â ÞcÄ–m:ø"Ó²}Ã<ó$èúŒE#°°ë„H£yvͳç•?»²¾ST]YÛ+¡¬é*RÖf¤,C±)Kˆµ¤,ѹ›²Ä“ P–D#%'B¤ÑÉ–Ïÿߊ^á~tÇ-^ÜŇz`ËÀÜ>ëÔnÞ€Qÿþxw½>–dÐãË»|ܘ-=}'˜úEŸ¡“In[Vºy1?âê2UƒÁ(Q'°FH¸E¼Ób¤y<PÉÍÓ¡ö"ø‰†%ã’,?<ÕraOL}c'Kvй®ùW¹”°ƒkò+²ƒéJ’:Ò|DÑd‡N‡ ÅqË-%â¡2-r\&Éo΂H|¡mõ¡Z}Ó›^†jÃôÚТ6ØÁF‡"¹Vš,`¸6,Ն鵡ª•™A‚+ƒ$ ¶’ŠÖĉ; .…šÁQïRêÁóÏZ ý¹õOã·"QPµä6¡Õ÷y<Ù”]Ùg³ö¶œ×«ýŠÅÀÁë  keaVTÞìXÌ=è b Ëë3³‡ÆŸÁôDŒfŸÌ“'¤g,]~"5Óq>vâå¥H`34ȧnKfè³udîÅQûj†ŽOv3tb K0ƒW3tb9u3O‚0 -$3t°ËO¤f:ŽCçß­ pœÃöa¶¦}^³~áAQÿup‹Áíwž1j]â‘Ĥð¼”{½4 - „Á~ Iƒ¡õýz·ùŠòÃúááG¼?d¸yi¼­æMx'QˆN¬Ëë 31Ê.A;9¯²d+¢`<\™UÙ{@%ÛÊ,)2&Z³@q?‘ϱÆË"õ ‚·ìBXJ.ÉÚ0EµÔuÍ/-˜»õN¢A“u"Y‡¢=ܵ֬#âBп[‡J⥂Í:D‘1ááÅ^³Q¤Ö"xËfÅRrIÖ†)ª¥æ<^¶ðf™±ßÁyzòúžÇ•xË|zÏ£qéÛ& ž>¡ëq8N;3t=»õáx½~VWãqýÝâ¥8eË~•€¡L= oBßÀÐvÎÖ­©‹ÃSæ)j\üÇ“.AëºÚ¡Àî±f•³åD° óÓ@Ï$~µTr‰øÕ’O],»L¶ÜÏÑ(nÏô8Æâ~Žã’Áã¶÷ à87³_x^÷£DSŽÅ¹ˆÑ®é·¶ØÛz‘µð^9­È`úÒ•yŠ==eÿWO•^brµ(ÑGH/—~‚t]X3éd)!Z+çAè­ª,Ðö•?Ê.•©K‚’ ÑY”ZJÅ|µœo‘ûžn“ 9'“ðj zAÜïç9§8QÊéªÞoÚ2M_¬¯ñÚ€÷w÷œ}zòÆÁÎ ‡e“ã³.À­¡)/^a¼SÞŸ^Ào Á Ta2ØÖü„Ã^¸n0À}pÐW¦²èM€Ž»ìÅ º®Á»à\(S -bgÌãÁ -/DF¨QÅ‘û$õ—:ß²US•a KÁ®Ü2ímrRÜê"ÞÊSÏüv™ñZmq@a¥È8Ro¶ØY?·g]xvýnŠQ’f2!ò “Իܔên ²W¿3$.ly–¥fyWA\± Ã-<[ô.–Í_e/©YNQm[²±¨m×+ÃPm»nKKµMo/uk‡,j›á¨©¶׶éµÍ’àTÛ†kÛQmkªm×k›´ L»äÏí™åÚî áÚ&ú\Û,‰âÚn"+©“’z—;|ÝßÒYÒûdSâB–'Yzazyåù2ŠnÄy«ýÿϵ_®‹¸ðûĦ'ûÄH³uò“µ°{ò®î!üÓE™ï÷wõB埼äø‚VÒVéa EÞ¹RŒâŽzÍ<Î' ˜Z@žÎŽ ÂGïÒŠ‰Y 8ÏŠ™oâÚ§,`üw¸ £Sb€ù1Fb5:,ú\ű-âƼV ± <Ù ƒ¸ÛtÓCŽmÀ`l6 bVuS‚@›ÜlСºẕ.V§Ã¢ÏU¬6øûÕ}\7Æc’ÉᢲïþW#ihfI¢¸ -ÏY‡‚]fĸ;•¨ÙCã£+Ýjù C*½,¸ôºOÀè -BÈ d ¡õàÒ| >L ô+ÁO£;w°0¸lÉƳԸ¶dTDΤ^­V¸°ÂLå4N`¬wmz„f ì¬ä5å<î…aYpN9.Ð%6¦Ó'ÅXÉT[ 6‹vúdtBÔ KÕÈ*Qm³êž{ªY̦c¯BžƒûÅ›ï(òE¾£Èw4ùŽ¾cÈw ùŽéll÷B¼ðâwò#ù±ˆ‰|‡„‰™}‡¤ÆJ¬¾ÃÚÖ}§› kt“î;Š}Ç“ïtê¨ûNçõتe™«ït‰Aàî(]1y–ƒ@2ÕV‚Í¢>…µÃÂR5²JTÛ¬ºW£ïÐ:›߼ùÍsýæ -o/yJ¹Îõ’DÉŒâõ#éŽÊ’mLhÇ%O‰óS)ø2uY–E—egÔë(kü(Q¹¹Z‡xJŸðݬíëå -¥‡Rú'ésa,<¦ž9KToB(ÞñæBñö˜ö–™)^ˆŒ5)1bÚ@Å¡U—PD1âį¼ ». 1¼ŒN”³b¡€;„™žÀg’Œk² ó8N½Y%-\Ýõf•$®í‚7úà«;ÜÅ»«[9t4õFg³ê÷1.K3±t mñNò_ØÒíÎã4«r›q¨ûg6‡ÃþðŒ8¶- :'L†mÁ<¾ a„Ö]Gs|× ìͬôi÷»ÄžW:ŠÒÃéü8µOxäA¤{ðp,°2Ê5)Cš ᇺñôâOHxÅ›ÆCûœxÈŠØôä„€8ß#P‘ð‘(%F˜ çOX ‘e!Á9ÃúqΆ-!2>x'}kz"壡¬yÈùèdw´Q&–ÞrS.Ø(ËG28Q/4&œÐ˜XÆcTd~$Ú“i 'ÜX™šc©9‰ÇÚq²íð‘üOùvd«S%¼É“7ÑÒ.CóÃ:>ÖS÷&±RŒUÚ¼‰–”S&6}ÙY@¼’/P±”/QZòf6¼2Ήõsœ—ÙY?^gKˆµ|´l÷&%¼É‘7Ñ‚ ÔV÷&J$ÝkPäTfHA$-8U!0±PèXÓ—hO“t&œJaYdÒ…¥æô kÇi¶Ã¡7Ozó¤Oñ$3uŠŸ$òÊàæl™$úò°ùa}hË^%VÀ?ÜŽ/\ý2Ðà÷O²E0=žT([9€­×C¶¿ÒiR"â-¦ÊÙ"‰WOt  Ø_ `‘-àžY‘ÌJâE -%ò3RJåM9å#Œ"³Ex­”Æ-ñcÒ¦¢ú8$œrÆsÙiÌ%Ü!­ÍIÚ¨~ÂYÊáÍŸ§$(²H–É$ SNI0I%J¦ûX~®k¡({…0ÊG²KZz5+ágŠüŒº›¨ÙÏh•ww?3ÂÏ,û™%?³ÌË‘ŸYé|ìg ‹LÁGò3fVÝ¥Pbm^*@ËøBSZî—F‘™ü‚I÷3N`•ŸqÆ ‘ŸQÆê™üL¤ ê·(JõלÂ¥ºŸ Pd, ¦|‚`Ä !ÔQ ù9+$e¯Fy"õæco>öËø~¦…;ÔOHbA…MxüJ$±þt¸;¶¡ü°yxܾx·Ï„å<&° ~°~»†5ÑMådå‡3I¦œӤ̔ä.RXx,)BLDzxê¦j”4”ü%L² -ª¬Õ’þã:¡±Ž‹ha¢ÔMD­Oiuk82‘£0Ôpaš”–‘ÜEþÆ@["QYl4ÝDDS€’¿„IVA•µZÒÿ¤ï|3Ѳ‰®FÓXaœ<Õˆ`ÔM4±’P0!›„{ŽJ¥\Ö`5´±¬êP!ÊjÖ˜©êEëH˜„e¢B« ´&V†q¾(×ýð;0Û´§kŠ ø®MҜէ¥ð‘ö°ù“¥ÇÈr -+&2[• ¥x(»”ÜZ|ŒoÅÉ}”ÃXÚ,•žs. Y¥Å»yû×OØI$®„OóÅÍrq™1Õa2Æ•Îx‰uÐõ’ÕŽÖŠžã»!J‹/=©Cö’âI_:fúÕ‡IÏÖÎÂ……³µØr²EÀ:Õ|ögϨøákÖ½N ¶/Ÿ‘À%¬²Q¢[ n‚QåËSŽ+¯C³¯>7}U§‹ù:$£:Ýà&ÖN—Í?Ðí_GþÙh^¬» -LM³V¢˜ú´\‡J9˜§är;P'÷âÚÄ!ñ³¨íRçß¼°61Wð›«zE]ù.¥ÂöªËü[:"¿%ÑÙýV _-eíØh™F;í hG¢ï)ÿyé^ÜÉ%iIںǫ -­q~ÔßãõVŸNíê ?ŠÒõQK÷Ÿ?Ë[ŒÎS¹çg©­íßoŽÓ»ýþ…>ÄS]ûèKr ì¥é×%õ÷[~A‚§Þ‚Æ«T1|ºì•U>|B¿ðT)QDÕ/vá?ÅÑCðr„RȈ;ËÈ!Y¿‘½U~ }ÔÏB¼Äöçá5}‰‚ùº¡-‚K[^è!Ã÷«ê·Aúmþ¤±¹…Ÿœ -t­î¥ÃÝ -?-†¯KÔÕ¬…Çò=•ÏnùBW:O~ÓK×gÄ/nè²ÊÔ—0~yEš³ä%fZV6—ãWUóWþ6ô¾Zœ }µ<Ù¾¾„»hl½wÛ['¿ö1ÿÄ ¦õ_¸”dŽŸÿµ«VÍž:^´ìÀ ™Jçô¿8ÛOE -endstream -endobj -359 0 obj << -/Type /Page -/Contents 360 0 R -/Resources 358 0 R -/MediaBox [0 0 612 792] -/Parent 353 0 R ->> endobj -361 0 obj << -/D [359 0 R /XYZ 133.768 692.105 null] ->> endobj -6 0 obj << -/D [359 0 R /XYZ 133.768 440.155 null] ->> endobj -377 0 obj << -/D [359 0 R /XYZ 133.768 377.556 null] ->> endobj -384 0 obj << -/D [359 0 R /XYZ 133.768 286.075 null] ->> endobj -385 0 obj << -/D [359 0 R /XYZ 133.768 149.808 null] ->> endobj -386 0 obj << -/D [359 0 R /XYZ 310.605 376.362 null] ->> endobj -387 0 obj << -/D [359 0 R /XYZ 310.605 293.596 null] ->> endobj -388 0 obj << -/D [359 0 R /XYZ 310.605 167.098 null] ->> endobj -358 0 obj << -/Font << /F17 364 0 R /F18 367 0 R /F28 370 0 R /F27 373 0 R /F30 376 0 R /F8 349 0 R /F31 380 0 R /F32 383 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -391 0 obj << -/Length 4176 -/Filter /FlateDecode ->> -stream -xÚ­[Ý“Û¶¿¿Bã™Î見O‚H¦v§i›‰§Mí<ÅyàI¼SäH<_óß÷·ø ’ºèîO,b¹X,v‹ý ù‚á_p) SV‹ÒŠ‚3½Xß_±Å^ý튩€Âi4órß®„*,3s8•)*].V\–ôzñë"¾ažè0äRÚZXZ•’Õ‚c ©™ùœU2‰†Çß´üŠ/€Èx¡Ë’‹]:,e¡¬2‚ Ùh{u JÖQ² D+!f2G‡õtD?“e#G'Ø‹Ç«Ÿ?³ÅËý‹÷¯ üD¾#(´ÒÚdtè˜ÀR¦°–q•cõPÂR¼0LKµXÙžâ~P´¼(ÞjÉ n+÷»WúVŠ…-l)oR”Â.4 hóÓòãµaËæÔ]ÿüñ»«¿~ì)F‚ =ÌÀ:=§Ï^†à(²ª¬r«×üÂu%éÿuë*k °®¸p]œŸ×îWá„õû•®««`M¯X×ìWùu¿?ìïÞ7Ýö°ùÄ4Ãÿüë/ׂ-íæŽX¡ÜqS8*l°B@(ÌÁD5Ã"l—ÀDoÀ"ù#<8ƒéŒû+‹/¬ò41ⶊ ™­0¬êi–Žf™Ñ¸Í©È‚)kË &fhJGS:7a¬a®‚áxËB­¸)4Ç¡Â -ª`VH(—EUÑúPFeá "„’f¡álÜHÑN×Wea.FYUÕª´œ(W+98 B3áx5%­µ&בëE#½ô°DjýarûMFgõ’?ÈPÂ} zàh¬—dÕ³zI¸Í©ôzI`b†æ —^òkB˜BæšeaMÐh¬ ‚åšeküˆsš€·žœ–È©w/n‡Éè¬&‡©)‘žŦ'$Yõ¬&ns*½&˜˜¡9£ YMÏ„4ã3Hr&h4ÖÁrMH;>àîì™ÐV£ŒI5ÑÃ9õ×í0ÕDâ¢!5 n”2¥×‚"£Tų†UÏj"á6§Òk"‰š3šÐ˜Ë­±©&´À™P%4¡þ»ðR«’;™‚›pDÂú»tÁÅ…`IXÍ_³2b53%+?^°²Ä%ác@Š!éïÝâÅqî®mù^J[pI¼(‡r©4No%a_ÄJ2ðq&Š§~¹$bO®žæ’P'‰­G‘vàMÆh¤¥…6^Â.8¸£°)âîyÌ­Ê Cš‡Ž¹*+x:%ÄËE©OH®³§grÛ§"óÐ`ˆèWtŒaU̾РÉ{À“*2ûƒLYzN‘BÒ-Ã|…\Ã~Fr½ä ³ŒI6꯱PÁ!?‘[è…¼%–É&‰ð©¢P¯â­T…29oëgé8aqè9õ 8EÕ+Ònž¦Ý3¥ÃŒ1º³˜4ünŠI¸Ä5%½ t‡Ï—Ü#:7ƒ¹4ïO™\G/]ôB6•¶¸½Äo.aêf8¯\ÜjI?tÝáþ¢4Ñ+‘û+oÅy&\á,¬8²<î^tPJ”f¡pšMàn×ÜvÏòœª1›Ç±~Ÿ©bÆç±½æË»íE¬BT•”åëx@Êb°¿”‡KµÚ@úÍ­Ûë—’#-ah.6¶²z{%¤ E‚EA껫U¬’S2HÍ^°7^"ACLNIù­m›ö"á’ç©Œ’¯Z¾Â•©Óջ˼ueænæêì¯{ä@°dìçpLMŒ™*˜Ò,aK˜ø{áAÃñWZ. )Ïc»é`Âg…\–Ú=Èýp¦¼øᙂpÍÈû¸òÛöî\›khÒ.ù××ȉÍò_×¢ZNm×öxÝîïüûÏ„ ¿Aß -º¶9á5Õ¿n=Z èžHüæÇï›®þñý÷~p¸¹Ff³ü8ŽÄºóp*¥m#02TûŸ5ÁvxYŸèé”SjÜë@†ü‚‹šœ°8rA5mšÏôÊ£6T¸ãcñGÁ,ŠJªÙ>@ÄY%HY#"4œ‚9… Î«üã»J-×üVËß-A·íš¶¥¡\Þ9!è›cÝ‘x ©Û6§€¿ië;’}}Þµá÷WRgÛ´Sw¬ƒ£ñî‡ãã5´G*:n¾Z ¡àBìÆ©šð¡o’ åšV©LŽ5M‘Ë}MÖûp¬w4^¥×ª—ñêplg·ŸDæSwõ>*¢ñðǶÛz2ݶ‰¨$¡M¤¿‚µùµn=™U°ÔÎCš_êŽ6³u€Óa÷¥¥åî¾™±‰Û(J)—÷‡£×…”åÞËé¾væï΢Ýc¾*M85a/ôú§±EI¦ 2(Åi•Þ èÝñ.é§-&¼J°'7QNöñ÷©îÆŸ¸J.¿ò¬pk'•y W$éÎOÙ÷¹Γ\Œè?Þjâ¹RëLÔoƒô~|N¿÷r[ïê“;Ï_/vÿìDúßúžLf×$Hë:Pº‰^ˆHmÜaðÖ²êUEÞÂ>ìÈyÈÈO_OÎ<ÝíÅHm Oe2=ûw• û¦š:ÚˆCø m¶xK^îÍûßÜèsB$2ŒêG^`^˜±îº#ùd-4̲{ó•tpáàÊÁ{B¹};÷®QÁûN…'ñåÐn@ŽæPøžM SÄÜœìÐÒÕ# ë÷ø¶Ø?zÜ?û¢ÀÓÌOuÏð?‡ÏtÂÈíR{ÿy×6›9ÿ}¬ÿy_ßÑ·=“£†KPR…]=¥GÊàpò[¿×©… g\æZ¤^zQ’š¥‘£&í€?Ó£­Õc|‡¶ô”b6Žæû³÷ó(™‹Ï/ÆY,]Ú›}.Õ´/k´ÒUBc€…®,â(£-/SœF80#DhÚõd#µ$Î’²*|ai/Øl·N–0P–Ši6N8l[ ôr®%+¡XÏæ³×ÜSJ†V¡;ÀŸ˜b8¦²@Îãµ,À°¥Ñ= â™, xNͯ`Qfà8{ âå\¿ô C”õ¼’!a9d’0$^Êд«µ£þ­¥ÍÕhX¾-:ŒÎ·oS´®™+˜#éû®â…uoÚO5o§9´wabJñ’Öm¬}­[Spe™ÎZ·ÊB¬}ëKb—yëV#³YëV¢ÄÐsLÒZs­[Ä$#DPÞ¸5ƒF’ÑS[3hDÒQ#ìŒ52¬y¾mÛsšÓè5’ÀÄ”â|ÓVŒu LQæ:€‹²ƒðžu@°\ \å:súœ(»4:mÚFXÚR®Æ7C‡Ñù¦íàœ¬û®GpO“FŠJuU¦çdÕóMÛÛœÊд`b†æŒ&ìƒz­‰"âZÂ/õŠ@ø¬¬ÁNÊU) A0%”¡¼H-[ ]a¥¹ŽmY°±zXÞ±5ƒ’ÑS[3¨Aú*ªAkŠ€r5$«žïØÜæT†Ží34ç;¶b¤-Ÿdj ;bPÞ³±–«„«L àMG5ÌE?̉içì6SZ ÞZØPZp­–ŸÛfM9´Ö>OÈ¥Ú—.m«õ± u (£"<—(»„¬ËSt¼-\Œ£4ÇÐœ÷ ŽGÊ°xP¨Ü`;uð³õÔÛÝÎ?õYcŒ2®/4ùÂ=mÛ†ø\Å´"UyÚÙµŸW±ª„i’¹´p²„¢ôM¨çóíd”#ñð¶ * -"§rÉɦ¥(·¡`EÏ®°AÈE)ß9ô¹j¨·¸—ëC(˜ø|¢èÆ—T°¾NÔ}}–¡ØfºKCËEÜHç¹=²"˜&‹9$÷y"Œ“¾Wƒd%—»ÖÕB*å -%·HgK…‰‡.*àä‘晫*W¸dCàºíµ?Q¾ˆ÷ä¶8Ž©qÉ ÏË\\¶³¾þ¾ÞŠ³zs¥H*œ¸únxv»òµ^)—Ǩ´ûº/ -æ…*6az½îjgÜ¿yÄX”18ß®7c™ªÎž» -hܶ;kĦ—ýPyëürmT;¯œu*ØOT¦þ±ŸÑ™$Ÿ¹¢ªÆÄŽ4…#V(•ƒØnûZ6½`Ëî@¿Ávÿü‰Kµ?]#`åÜ[ŒŽ/ßx2<7p´i9œ Çf ¿}·kàfœ‘[¨îüË6 E.H¡¯“»/*‘UŸÈé¤.g僈yu¸NhŸûæg¨” !ºww `5Us$Mýâs${åò}”uBàÙ†à½û¥¸{‚{¶nëm¨öû -ï¿\Í‘šchVÀDîÚ/}a9Ô ÛðKwFì‹LÚ3º0¦\ª]„£{u¼ µ¡´œ±W ú¤94¢H|N?ä¦ï5u•.;)MFœ'Ñ ÷™R¥¿Ï¼—úsë$b«ãq8õw*DÖõ'2Å·MÄŒïÈUc‘ÖÑÊ5±÷æh)7ÉÔ6¾]]1ù<-Òm“s&*FepK'z磽ë»X¦Ü´›Óa÷b Qñå—k].kò ëQuZKín²[¢éºh‚~…&>6ýYíÂ6᧖édTâ0`ê1<æ»>AOZ©åºQãñ¤.I¹4Ãq§AôHô¼u"ÿ’@6q_!8ÚSƒ†–ìB¿Å,;cOnñ©/ý·jçýxUõó~3ãq-’éxÿ½ûÝø«${möëmÜ»EÇŨÇs.Þ¢fB;»u­‡ÝuoÚƒ£èmVR¤¶vÂh½­Ü„>…;7©ƒr±Z좞m=pSLˆËZ òÙÖCÄy¢,φZ~n‹ïŠ&C[„馯Ĩ®¦ÏaÌTOmL–l#þ“ª§*ñT#f*¯ÄK[Ðç"Ö›óZü0c¦/¨U.})>>‹¡nͳÑ|%^07Jæá‘þ¡EœÃ²Ñ¥uøçÑüàjpy>Nám‰1JJIÙï|ù"'æêuúÒó¥Vî³(®•;¯½/È,#PJ¥ª¡oÝK—Å!ÿUîcnûÑΠ–R0F_j÷ø l¬*úÊÝá°ž¦`ýhçGîŠH3à'°Tyÿz8¼J|ØKŠéfXqì±dÁ•«CØžØs(ŒqHR ,õàŒgX᢮줲1¹¬²qný™ÊÇŽy飓··]Hk;Ð%›ùìàä_ÔÇi‚Ž½]äûðî¾W¹CL¸4pÿŸ@3$>Ã%ÙÄà1e QEXäô¿é ÷õéì7.tÀ½ßæuiJß7z:åþ®r­ûá„c³‹ÉÎÉO½qñÁ»„ß7ß›€Þ&/b®0É„>6©ï)’ÕÀRw¬÷«sßÏTÖГŸÏ 8Óo¤«~ ’‘¯¤ÈVYé±<ʼ -endstream -endobj -390 0 obj << -/Type /Page -/Contents 391 0 R -/Resources 389 0 R -/MediaBox [0 0 612 792] -/Parent 353 0 R -/Annots [ 394 0 R 398 0 R ] ->> endobj -394 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [304.683 438.103 360.364 448.951] -/Subtype /Link -/A << /S /GoTo /D (cite.metapost) >> ->> endobj -398 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [224.78 234.865 231.754 245.713] -/Subtype /Link -/A << /S /GoTo /D (figure.1) >> ->> endobj -392 0 obj << -/D [390 0 R /XYZ 133.768 692.105 null] ->> endobj -393 0 obj << -/D [390 0 R /XYZ 177.17 521.235 null] ->> endobj -389 0 obj << -/Font << /F32 383 0 R /F8 349 0 R /F34 397 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -402 0 obj << -/Length 2375 -/Filter /FlateDecode ->> -stream -xÚ­YKsܸ¾ëW°| §"2IðWÖ&NeËÊfËJía½jHÍÐË!'$Dzÿ}úóZiS)U‰@£Ñh _0ÚSð§=Ça–æ^ZD¡VÆ[ïn”·¡¿ßha‰`ÑØ»0$Y&Yá w7zŸ{EX¤±÷ð4/b²0Š÷PýìÍÔôÝJûã*H"ã?®‚(óëiÿŸWQî×õ*Ð~‡£12iîr"2MJüæâ0ŠÛ•k²mp ¡UÐlÊÍPÂwGRÂUéÔÿi‹#k\zËìÚÿB: ,ÚÖ¼àþãÞtíiUhÆÛÕ/ßÙZ‡…áMÞ×Sùïû« ŽcS{û¥©ì2#Ž%~É,›º«P„:ϨO‰üߘÐ?ñ'4ðŒ"èv*;þÖÕ¦fÉ4*ƒLqÇ°ûÃ(Ëå7þgÜÂÍßœuu”‡Yžyi‡q-àÌ,o°`&Gˆ“ ž ò·\O‡²zûMKìÁ‘ñ?[¯'Þ¢%ÄLj³ª?)tKO¾I<ÛâÖè-QÑûGò³”öHž‘¦´]h·Öõã4óñôêpþn’ˆåö(²©n!c§(‰î"IxÊ,®ì*lŽ¢ Cc(@œ”CÙÑöY2uÚÎj8ÙeÅ‘ou³t§"Jë'ßÍ¥Ð*‡ÁÙö$¹_á —Ùd² -µÇ”ÿC'I€öxX˜‰ÖhõÚ&Yøë²mëŠÝìÈ Ð$ÉA'ԥ鶶SÙ­ë3„”gâX­¢g–O¢ÃÓ)(Æa -º=›>JŠ0ÉõÑAÔ]å2€æ”kvMn7Éùk°Ý@±ßmZwà°DœCXÿ:×"TVûeøí35a^DŽsp¦¨'Ì¢¤ÚÈß±¡½Xmï­Z”Ëÿ…žßKðþø~í´B¯Ç˜Ô¿Ê!qÁªÉ×r·w[EO‡­:„ösÛ_È¥;sO©¾þ5ç×ÌV+¦Ø—AjÅ£‡Qz)ç`¬"TjžÑáÒO›¶¥´Öm9ŽçÖ8Ž€»3ä¡1Öäö -<“kYÅ„'Š›Ý¹ô4“ÔÈôwçŽ ¥[¯Ö £‹03úuubÁ|µNXžeXD›- w!¬P ü&þ»ð5"'¹ÿì4Ä™f× dJò\Æy°æÔ€õ€8(çx0S¬µ‘ ÄfÇi²Ç£ÅÉæ”x É«À?û>@h๳sYaV¿þB9`Ϩ0ævMGYwQR0{S5Ù;÷'jÈé×íxE9& -èù[NSé*ΰã[Y‰kίÜÄd“¼¡$ßØ…öúͺ|lkÉÑåÝ…<ß0˜M!Á\ßJñÁ¢ôVsó<· kUs1i(°A8e¡9äJ·\ŒÚ5¼ýQD÷•–ƒÛ”uhÔdD gy¾…9ã$ì’‹bñ± ×IrB?T®€x%#è²(^´¡¸KdB“›#øð@IÝ*÷ÇÃŽ‡½è™ÈÙa/f/à/eþ¶ˆ²H ¹_ÙÉ­Ãç3X¶Dgo'.ú÷èÊXývpÝ<ìÚ·G9ˆCü±ÞÀ•¦ÙàihW=­ æãÉï0Ó„ïñÍ»7¶Â.¿o/ä8žuG³î^=ËÕí¿ðÊ67þÈœ  ï–{WÅ ýáÐû4âŒwÂwÿe$‘’0GH„,Ï+µøÎõÒ2XN<"V¢8ÇKBS˜ßòHe€ô!tS• Ÿ÷Ï)~‹™»p›Vüô23rÏa…(•˜üxB0ÏPa†+Ã\;ÐÞîÀ‘.bl·®íä´Èµèmož@FA2 -Ú‡BŠ¦)” D‚vsÔQ$ØS÷|ó³÷‹ò*XèóVÞýÿ$ó#P¾Gª¶º: 3©%¶@gatÊbIÈ’‚VAáÄtsØÆà)$”¢&sØFsØÆ ŸÆ@"6s~?r ‘´´4 ¿0M°n‡l hèÂõZîYÒH© û–A;5äæQNf¤\¯åê,Sø´¥ñþ?ò>ÎtmuIzÞË’ N÷ˆËö™+ubT„´Â~¯#|䄸Gš¬˜¯_/ÕQažeQA&‹Ð“ÔpxïdÌqǬŽ¦Ú óøy ½BèÇëLzÉÅÕKÂÔ‹‚.¥­/ç&ïÇWêèvETG`/àÍ9ÐÞ¯òÄaÄŠQªZ^ÙzÒ~F6ƒ_ý ÌXᨎ(42ß~ºp{:ºhЫ^á.†8ÞóWÞ‰CìeþO½¶ …3ÈOõPËÓ•KßHz(ÿÑbè.%ËGOH`ø®FÛ0došØ®[Òt'¨~d*!5l¬‡Zß+y+à -ÜÙQ|Aá|ªS{BwÜƽҗa–{:´.=ñ=ÒõŒìAf|©ØÑ ’´ù:?Šó«ö -$TxÛ“T0aÁ™qÍŽ`"\„üïP -Jérmü¿‚|ô|…†:ÅŒœÂòHKŸµ¢+š{t··…õé÷ y†)eœ®/­> endobj -403 0 obj << -/D [401 0 R /XYZ 133.768 692.105 null] ->> endobj -10 0 obj << -/D [401 0 R /XYZ 133.768 229.824 null] ->> endobj -400 0 obj << -/Font << /F8 349 0 R /F34 397 0 R /F32 383 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -406 0 obj << -/Length 2914 -/Filter /FlateDecode ->> -stream -xÚ¥ko$5ò{~E+|éÚøíö‚ö Cwhƒt'‡ɤ“ Ì#ÌLvÉ¿¿z¸Ýîé™e–U¤´åz»\.ª$ü©J#‚o+µPÒUóÕ…¬`êŸ* -{G&‚°!VMáןÛVQDoªëûJÙ0èÊ» ´qÕõÝ/õõcwÕXíëÝU£êç+UßHå±ýçÕ¯×?|þ­±X¸r=[u RÐN(ÄÃâí•nën‡B=cBk 1[!…Dy¿IßÇnJ2`µ'ùõr¶ÛMh)LlÈæöªq®þ­›ïëtòR{º‹92ôøLÙXoîd¾yÞÂ$i KsÛî©AJU£•V…ªQJDÇZÛv ¼Ft{h;#ëÙ¾:Ö?ÿø/˜» ªÔ)  -e#©ZÈ -~÷È%)Àí1*^0«Øœñän¿ÅÁõwIí±À³t‹|¾Lµ+GR‘æ¨]FöføFGöjœlëÙ¸ž÷¨'c=Û&9 Ý»Á:AïÒ—gç›9ÃŒGwÄöúÈv¶ïîxt¹èí³çÒ‚÷¢ï>›J×$®K—‹Ý¾ÙÜ7Ì31|(k´BY?Èê¥O²*W³ã’™ÀmA¬;GùAbh—ÚYÂ]‘¬R—=é‰ÖƒÄØ»ã™%zl–@jrÉÄa)*wÖÁQ†ñB…~g~¨Àsl”,­çï¡@>€ìÞba)úm¿¾ö÷hu›wà1­’¤ -7·6ITOÌ€âÉËUcŒÏn ÓaÇÖ¤õ :Ä õÊŠhÇðÍŒc¬h™}üo¦-Šûɪì’ãmÏúf0ÜûˆÔ€pýnàÉÍ6Mòg*l1>ãJY6 CL1ºw؆嬠©„gƒ®ßæ=CÜ,hí“êlP‰ -ø;y+v±÷ -­ëeì§Ð½dt÷(.{B ߶9ûìDOàŸL`·›}¯Àyömœa¯€®cçS…·êà…*¹ß”râ A@OUºå6Ù ö¡ó¸«DŠå­Úú±ÛÏ(bíê[¶Û²µyë‘œÔñ'´GXH6ll;h©A³ ÏŒ1<ÐŽJç ñfﶨ ýà){7|kÆŠÚ%ëá -r`±Çó%»ùûï¼]Þ=.²ûCwìr‡Ûió48ທúŒy3¬ ™w¹Ùõ6F'%T1‘VÚaWí -ó} -›Ë—«ÖÖ'wðwÝ61H¶´ûàÛqÞÒçhÄe÷ -ñ\|ss%¥! jCå$TÁ”éÔ$­êa›˜Òª2´öÉ[“Sñ³Ëÿlëý%%$’Ö«‘HöÉŸ¯÷Xùò“—W£erºâÓ]·Ç-Lëh.º¤C r"‡O^yùéC·ÿ/.C¨DrJ€Àþ÷0Æ—Í]wûüáÞnwÄó)>9ÚÇ%æ»íìÝ¿o1CÃU¯3pi##a¶•5AHPÖ{lÒB2SJz«?ª~Fr®Fì-‹^ƵDÈ¢÷xqx"á‰$ˆD4>-”ˆÅg,&¯“£aéU!\õîâ—êWYݱß.”¬~üÛxߊpÞà¬kK,Ãà \T~”Hᢑ§ÄŒo=l-ûÀÃE¥A㇭¥‹¬Å´BAri˜Y“ÿÐvš8LÂV Ë5®‰Ë& k #„ ¸]iÚhg’Ơ𱤥1‘~ùÒpOÓdÖ¿OÚ´¤æX6Š27ÒÊcÎäǵÉÍ>‚ŸÐ‚*˜ŸÃøu&>~¼V|›µrÏä"Ä×Üß{]@ô½Ò².#0ö! -ŸÁD,Ä ›≋w4k‰7§~hY õ[jIk†Ç·!NNW¬. Fh-´$”U¢€K Dàå1šŒÑF?˜9ã0BÚýhLO1Âh(‚†¤‚(*!öá §la9¨¨µdà1†Æ”¨@áÛh­òÂFˆPpÆ:êIr~áÁ<Î3„ϬZ8s+Œ‘Jãˆv’™“iÍ1°Ž-b”é‡ -…åHC½“)bFmíÙ"pá’‡hž´ÈÀéG¶H1¦§‹d@æ¥m§€Û@ƒ®À¼<´Žm˜Û± €9wÊ0ÆmK#ä±BI9è’€E金0±‚'´bœØ³ÒÉvdç‚êI;ÜŽ±dCcúΑìÎCöu {+8Ëžp½“²Gð - ²;J»Æ²TOÊ^p;Æ’e/Æôœ#Ù½ŸÚ=œåc…p½“²lÛÒîÞMí^P=){ÁíK–½ÓGpŽdaj÷fˆ\H§Úïn˜ÎWðƒç".½hŽÍ¡ôr´¾¬°pD¿ïmÈØH K7Zk.¼bƒn|ýÛP.äq~#ÑÚÔ˜ºçÁž¶ÝÛÅ湯sb½ü…gæ#â‡gDtX šJ™_teòÝ{L ®¦„‘ã÷!.LYªôa l¨øu³ÃŠ?͸2Nµ·{አ•Ö×;SÌPˆ7Âl*„éT›­¸†“N¨#„ÎóÂø¤ö0‡U°ŸwÝ–*CýM¥ÿ~q¤ú4q`Æñå—Tt‡ñûÙ¼ûê«T’Š&Œ- ›‚Ũ<1*õÁÅ(íÐÒþ}ªÝVpý€ûÃ_•£Œ'ÝMËQ0Ç¢;(G ðGÊQÀ›Ò>p5*w2&*F½ãÅ('yÖŒú6„ž¼JŽzç–¢>뺌IJîytÀ1Œõu(EéÓ&!LK‡³°O+P¦¡+\GbyçÆÜÒÒr 0° ã¹u£ ?8á•’p`t7:˜‰Ó$än¥!žF…7V¸ÿMvÀ²î«2æ¶`}ýL.À—]øZÞk÷<.†B„ƒû0º1ëÀ¸»O7²…ÛÞ4›üy”ÍœbàX2\Øt8Q2£S2óý˜=§3ø.fJ’&Øô:\ýúvG/vüÂÇŽ‘ÏŠþ¡âT -Ô¦ˆŽÒcâb•iAw‘†éI‘ß–î!¶¥‡?ü}Ço>*=†÷XS¦‚(ø7ýóbzÃìß ù©ß±îIl„ʈàß—‹?žÓAPô‚Æ‹Uû·³þ -œê!Ü#¢ÃfUü"juì_{#=ðåw5¶—<}òÉ‹~/ ý¼~\ìvΤb™ïɺ›ñ+' -óÂóøÆøÝÛü‡YuûÇÍ݉TÏÂõÄÉô>â‘-ÉÑ‘ëþž©éAšæðKFbÎhz,Ș?¤ÔÿòiJéÿ9]ª -endstream -endobj -405 0 obj << -/Type /Page -/Contents 406 0 R -/Resources 404 0 R -/MediaBox [0 0 612 792] -/Parent 353 0 R ->> endobj -407 0 obj << -/D [405 0 R /XYZ 133.768 692.105 null] ->> endobj -14 0 obj << -/D [405 0 R /XYZ 133.768 423.12 null] ->> endobj -18 0 obj << -/D [405 0 R /XYZ 133.768 237.366 null] ->> endobj -404 0 obj << -/Font << /F8 349 0 R /F34 397 0 R /F14 352 0 R /F32 383 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -410 0 obj << -/Length 2161 -/Filter /FlateDecode ->> -stream -xÚÕYO“Û¶¿ûShr©ýóñ¿ÄÍô°¯íë´3i'“½%9hm9«Ô¶¶–6;ûí EÙrÖIO̬A~`DÆáŸÈ„R,·Efd‚›lµ›ñì# ý2ADiHM .•.LÆVä©È‰¨ËAfiMΤò‹ýïfößÿ+9æ¬Ên6ƒAAæfýnþ뾫›rU±ë÷ÜðܶÕásux”X|¸ù-“œ9 FÁœ¡I^òû‡ûuÙUøÝVWÜ~ªVŸ%æ~ö+?}ÙÏ—Š9᧯åcç×QvöóÍp2Ü0+uf¥`ê‹{‡M)Yd°~@0û+ëÇ8ì@Â1î—1ip@'ìX|9Ès–ãÂð—^Šl7C¿jô,PÛ„Šº¶(™Pw³ èq^ó[á¨F„‰µˆ¨%óøˆòZúÃ`&{œ½Ë>ðl ‹}š ž½þf½oór…d¹Ñ¦Hµ Ì­¼@”+àÛEÑ}ߪ€‚а*gÂCÐÚ!h•µLZ3­µ -Ò…0óêp8Ai¢S(}´Ï -‰FF¬œ·àlì?o gÚ€÷I=ŒK¾›å ɹXÛ„¥¢›äˆ¢Bótx(É$÷*ƒ‚~;µ&i´^£iŒ–Žu(Ƶsvēǧ®à›é›–½¹ÀAE’Ö MæBfÆA„Xïžß›®Z,•tóîÒQÙ¡_ÆÉPf¬†UFYäå†3¥M«[RZâO1oï`ö¼Z-–b^ã:[ø³Þµ&¢Ùœ.^h&ó ôÇmÙ¶'ëJËì›D^ö{©Håš–Ü–°Ê¡ìêfOüUã Z;l¿¼õœf>ãŸ*$eH«27!«Ó¡¡hŽa3hÿGP¡1þzFýya,l²Ú£¦Ž†»æê8èûbd,œqî.+\‰ðÙÂÕË µ?ûs£ªUGÿá u NJ2cISPSŠ¯)iC=9i),Óªð‘qŠ®·M<< ‡$æÞkðÝ–»ðµõçëö%â]OúïÚ0â}÷HK¿+îP°ôa±òqtÕ’ðªÜÓÅ@E_¯-8ï9 »(.ôÜ |ÞsAæÄs×·mw(Wçô‘òv[=EšZÚ«ÅÒH3ïA èzÇûχAŸðz¹^÷3Ñ ZÐ-^¼ô - @§‘Žßï›®Þ<õ6Â>t‹ û|=øÑ}8d¶ ЯrÏ¡í@š@?˜A!ê#ô3ÈO 5¥(¸%ø“Q›Ç? 5æ"?“{="êÉãL>¢.E@ߢy -%3ADšÊl"¹(¥°‚:õÒÇÅ4Ê­ m€ål -‚ Pñ’œ‰Vƒx4÷"&`‡:¨ëhC“±öê=×<…ft÷.´ Yz'üˤãdâ&Sè^ø%Ävd6jÿÔ–‡/!BÍ5…¾ &Âga/ã1s -GQØáü›! ìŽ&Hn@˜³¢ FF2XBg,ø¶‘í=tvJΟê=¶¹†Ñ>Â{¤~§F"ûö8ðtÒ˜pŸHUXÃH3D - hö Z°¯DŽ‘‚ß¾Ùa¨u(÷Dsvõ»’¾ÓliF¹_“PÙùÞ¤¾Å–±«Â°ïTšÝ½²ŽQÚ‡%iS¨¡ÁO8Þ ×M5¬ÜÍ×uß$¡ý[ßîÚ®¹"ýû@"†ëÑŽš®kva°9}{{™ø¢®ñë§×ͺڎzðþ÷Õȧ4÷šÕûMÃêkˆ"¡®z iêO†1‡‡‡—òêúå¯&bâÌ|ì›Ã±^¬âuÕÝ5ë°>-®¿~æ-,‹‹Ÿ]ù{C  EksAoh-³N=×z\d&zC€OÔ¶Œ{ÃA~¢74Š€š$µ† ¥b÷$FÔtghd˜ˆí[$ÒŒ¨Kû¯×;ÕNN|{™eÏ>ŠËB0"Ó-…6LƒÌñ%‹Šh¸içz é ú± ~œD,ÇVL á8BcoÄÍ]u¨°4ðyž²ü÷¶Å‚‘Ǽ÷ª~Ï…ÉInœ¶Ã¡ï/8qG‰G›–d×ÎOik,¼?Ã'Ö:È>ô5¡üljW¡ïP7-éxŸŽýó œÓztÅíë¨F –nжî^  -Ú§*<Ôär¡4S¼O׵ϜXÞ¡°ŸVõÜúG’õõ׈õè𨨇ÇÁšÎVyX$ËɦzjØR¦¹#­hÞ‰iš¸ü|Õ E¢pLÙÉÿ]ö"ËAæ8Þàœ U¯WÊWÒ94l¹›XéoK—— -endstream -endobj -409 0 obj << -/Type /Page -/Contents 410 0 R -/Resources 408 0 R -/MediaBox [0 0 612 792] -/Parent 415 0 R ->> endobj -411 0 obj << -/D [409 0 R /XYZ 133.768 692.105 null] ->> endobj -22 0 obj << -/D [409 0 R /XYZ 133.768 352.164 null] ->> endobj -408 0 obj << -/Font << /F34 397 0 R /F36 414 0 R /F32 383 0 R /F8 349 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -418 0 obj << -/Length 2232 -/Filter /FlateDecode ->> -stream -xÚ­koÛFò»á/•€poßäæÚqÑkSÔ—+¢ûç-ÑŽr©’t\·èï̾HŠ”Oi â>ffgç=k–Pøc ‚d:O´á„Q•¬÷4¹‡­ï.˜@Îf6S!sÈ8 y6™€2ž“ `R­2Â…=ìjuñ ™b´HVw=Cfµy·øö›]ѶäÕ UtkÇÿ.öå›j÷+lɸqyýt]oÊÝ%®áÂðûÏåûÕÀEÊ1ÊQ„È•ÅUÕ݇²A"@ÒÑ™Ã[#ÞÛ®lʺ{:”­GÿòËvxEÓ}ýõ— b˜Eíê꾪»®Þ#<¾z±LW‹«)¢ÃÜ4Åã›Ûåºkçá/¾]õ£Šh.•åD öœR4#:“ %Z[å%?'a‹:÷Ó\ƒ¦s\ë ÑJ‚º`OJ#ÆiAI†'Ã/ž²d¡ÉAg»ÁŒ’)©rXd£Ù‡‹; c,cïB‘ ÷ˆ©ðH%xt4³T‚4ˆJ/Þ%ïi²Ã>^0š\ÿiºoaå‡Ñê~ñíy@¸KYV ¼Nƒw€dS•Âœˆ+ñÞ•D®{JSPŽ´vädb1žÞ€ÜPciN$E5§ÒDv´ \I3XÛõkÁvÜ~íX“©‰ôûëjè÷B‰k¹Šô#n¿6ÔñßOûíÌú~ý3™$‚1 -& ÀwÌøù -×Ä€ £ÂsðfjCQ§ð®D»‡¨tÃ3q†ÚSNŒã8‹¶ái¸ `* -è‚æ ¸ž4>­ÉF’?ÍG‘ä§38ÉÉÕËx¢”„€hY-s±¨—©à|±^¦lñA»ÅAƒz£-Œ~ÅA‰pÂî|ðãöP¬ý°hã¡‚ß#Ø9(OyWÒ­C@HÈ7nr¿«oq¾Û=-s¹x«jñ´ä9ÐÄ sTŠÊ‘lËnÊͧ¥Ò@"µ##2àçÃdõPÂÙhÕw3ε‚‚1À!ä8±’­ÍŒ] ‡æP®•™ò˜Eµ™Òæ@[äÏѾEÚ˜ -§ä%#œL–iFÕâuåo ’!R¯¹A•}Únà÷$ -Ÿ'Ô3fI™/îê@£À^Ü[h”t‰®Ü&¨œoñqÉÜòºóèV…‚?MïÉ”ñjrb`~÷…;ÈZ òQt¨Ëf‹vðЦ&Ô3Id”óÙVwuÔÌT-9X;çÏi„—AªÉnDö¶ž×åÖéµµI! 1'Dœ<´Vl¨âOGõçÀÑF -,ä¹±”8h h lÿ Œ¢ [çÕLÚÒ ¥Á©^|ƒ¥Ø’Û|]µ:Yµ¶G·¶<æÚ$*ü‰¯<ëÿ½¼q,g4ï`ìÙ;F‡ ˜hHȃgÀžoÁ·í­ „‹®Ü¸õ¸òÛÕh]–òËãðÊf© \Qæ¼{|²Ä0(–×þ¤+°÷¶Åf -Sd> |ì¡wÛ¶Kë»,Ìm9¦#]€9ç,°Yîâ1:ƒTßn(Ó¿LmÊ –…`€ìM¨rÈT1\Üog·Žlá>1ô⢚ûºH:9Ñ›Ñ؃d¦wÑDÈàÚÁ„@f¯Œé/6:Â0|™6šq·G퉹¼½•²bž.ܹ]r3š xpù êœ^:-x4h“9²Ö„¥†ó1òÀÕ3+U0ÏÒC…Î^6»m,Üy?”U à‘ÚÌÀ40æ—Áƒ€FÑx ·Êç2ÁÀ’ÇQ>8M1ð-Œ 6iïýªãð`“sÑy¦ìzï¶ "…T†E£EG¾o_Ìx¨×²hSCŸˆ¬‡I“× o:'¹Vçyóø¤7˜‘7×ͦll{Z¿tã\Ë^þ?—¾D[ùê‹Ûºþß—¾Ý¼üí°+Ö¨ÖÍâ ç}ëšÎìXU_§{WLT™ÉÎê]©ëqŸë]!ˆ(jƽ+E÷€ ® ÓGk?Ó¹j,ks*\çÚÏ"-Û¹fó+–E¤®ûTòˆGG³s;×ϧ ý‡ë\¶Há’|ДB©1ئÏ÷¥¨¾œŸh M1 afÍ\—R¿¼¡’:Û<Ñ (ïŒi¨ëÓ¾|™³Ò¾¡¸{þ >3æN¦’(mbþñNq£pZÇ_;ŸCD¡þ|ë€àmç.å_¾<ÏE¼¼÷ô“gg"›ôo½/Íöo.†UcˆnÜgtP4*_4þg) É7 –ÎU‰¾}‹?S¡hÄn,¦_Z®–FºÌ…u· ™¬]úzîD=i†å u9¨n;7s©©ÂÄ> endobj -419 0 obj << -/D [417 0 R /XYZ 133.768 692.105 null] ->> endobj -26 0 obj << -/D [417 0 R /XYZ 133.768 504.814 null] ->> endobj -30 0 obj << -/D [417 0 R /XYZ 133.768 313.856 null] ->> endobj -416 0 obj << -/Font << /F34 397 0 R /F32 383 0 R /F8 349 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -422 0 obj << -/Length 2245 -/Filter /FlateDecode ->> -stream -xÚíœÝoã6ÀßýWû$+?DQlчÝâZ\Ñ¢XÄ-jlûàµåD=å4Øþõ7CRm˲6NìFKÔp†œòÇ‰í°€Â ˜D%ihN•Át9 Á-<ú~ÀœˆˆA„á]ÃÃHÄ)ÎxAR勉2ž2Q"áÂ{;üë;šèD£y= '3š½¿]LŠ‚¼ùJúê×lº[o_Á5Ã{ÿõëá£ÀTÄÑÒë:Ê–›Åd—‘‘Q1zõzI.ÃWE>dáßÙWö6_í*½oörA43úfÛÉÃÏþ„AFÌiUâƒjÏQI gD´ú&-x¤$…ß ü/(QëøúVHð¢À6OˆppNâTJµ/Õò”(´ ¿ÑrÄ‚å fö”&x·ðî*] ”ôîîsУmfBQ u)j¡•Võ£{wFKé "ƒ‡ÁûàÌÀØŸFƒŸ­÷Z~ÀVVŽÙÓR7.Œ`Ä¢…ÊFJ`t‘®T­¼Ì)¤d~" «Nëtæu:‹X’„ngÂäЯCÆXhòø(cœNO¥ïl¡HbÆóPZÅ1ŒHÁz‘\¥uÛ¢n‹B…–ØVõõÚü00ð¥”U¯&(OoöSͶÃÒJhœt÷-ÞEéÞÆóæ(Ü)‚»í×åzåíanoYds .OÛàÀ‘1%A›Sö¶Ñ;cj‹»×í™ÚûêÔn[dwÛ­<á“»U)ƒ£ÛLò­=2—Gç·ûÇöÒ›æÙ7ö§D_Ÿ<ã¿=–¾ôÞ,ápclá!zðÞṟ¸˜Â9„·ÎÁý§,ƒ~#™õjákŽÉƒIÖÃã ×$¨¶´üèi$„)<:—¶UBP–(‘t¯„jù†J È ¦*¯?± -âÔtÃZÅ]^^}šÎ¦ê§ìÖRûT"]+8ËÂŽÊ,j®|8dcžI¬lõüÛñ±Øjòù¡QUL– 5t*q½a„ê;/*ê8l‡R¥;A!u*зÕïOuìp?l—뺩š½xÕÝ÷"¦c´'é|™ äãccQÕŸ»q‡ØUyዱ\ÖÃ.›p„MKø]óJõÊ! {·ÒXµ=ÅvË/Ýn 4QˆB_(J  -„kg @U»,i`É/«ü'±Ã‰<‹“ÚúÕx"?‘'²çÉÓñÄeR+OêHÎð¤VÔóäJ;ªªgFÕô ¥*Oa9±¸•ª\ Bé~q¸Í&‹üï‹þÐè™î©ú¨Z¦QUy -±dg*COQOÕëPµ-v%UýØ;Äî} àǤñ³¬[Z=g{Î>!gXʼ½zå‰$”¼¡w{»Ín/ãlmºçìKà¬K£VÎJI¤8ƒÙZOÙ+a¶%tfëÐ;„î К¢ãsh-…N õIÕöàûŒÀ'‰ã3¦P„ -v -|¼ûèYïÙ÷Øç2©•}åXž_­¨‡ß•à×» -~^ìÆb'8Z¦¬ü€¢¼é-ȤzeWIÙÓ·§ï?M_Šß]:SvRMh¼_vN×ËùºÄegmºGïK@¯K£6ôB ‰<÷×ÝZOOÞ+‘·%t%y½Ð;„î‚ý\¼žLŸ ™˜ÂÏ%·×…,eàvŠLÔ…žõN/Ne&µÂ ˜!Õ™ºÐSÔÓé:tj‹]E'/vã±û\êÂ/1.ŠöÂIA¨Ú/ÜfÙ&[ͲÕôãcë6ÏrÆ—€F—E­hŒ!–ú k==¯DÆ–ÐUd¬C7îºG|(çôçe>/p|iH+ÿq†ÔDñ¤ñ?~•_ëRMD"›þ' ‚€Xà$0ôaþĦŠÒA­¥´ô¼Ö’P -endstream -endobj -421 0 obj << -/Type /Page -/Contents 422 0 R -/Resources 420 0 R -/MediaBox [0 0 612 792] -/Parent 415 0 R ->> endobj -423 0 obj << -/D [421 0 R /XYZ 133.768 692.105 null] ->> endobj -34 0 obj << -/D [421 0 R /XYZ 133.768 513.836 null] ->> endobj -420 0 obj << -/Font << /F34 397 0 R /F32 383 0 R /F8 349 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -426 0 obj << -/Length 2470 -/Filter /FlateDecode ->> -stream -xÚíY[oÜÆ~ׯ à¶âdn¼¡èCì6M‚8p`çÉöµKIŒ¹¤LR^ï¿ï¹Ì³Ú•±ªÓ·B€–sæ̹ÏÌwHIøS‘2FäYe¥J¦Ñz{!£[˜ú÷…r,Æ‹ÂщÉÄæ¹°y%„o/¾ûÁÀ´ešFoo5i.´Òæ]¬ÅJÅù*QJ§ñ÷ð<Žý*12^7Õæ‡ݸúðöçï~(¢R”™AY2JT!LQ’”ŸºUbeÿþê~¨ˆÇ‰ÓE¼q²ª©é÷´‚‰ý=Riºjá©ÝóÊ;äù™w+Ç=¯ìoœš×yM »î6n1˜¢â S·¤†Ô2᎟ñ_íØÑUrÏÅ Üëª-ÌêÒÆã=©ªgwÞKeë OÞÀ¸øç&"¢è mzâ€æ\aˆu\Wktê§ Æ -¥Π<·üa®­7ÿ¤97{'‹ç·(µ¶Ss?ͺᨯ -ë­8åñÐc.j \:ÏHb¦ãϨeôê®›–u"ÍÌŒVg3 cw‹!Ñ2~{W“š¥G·Òe<5SƒSH­7= u5φå6Nþ«zª¨æˆÝ-[ -Š^fä K<q0†½Â€æ> ˜\–eŒÑ•–í¿¦ÁlÞôÃvÉ’ßËT:qPosvºÛñŠn€MÀ¨`B…ÊŠÒÚƒ<@œ`AVP ãă-ÅbÂ-ÂÕ²a:n “åìüà#Ϧ‘ÅÀszËàª÷ÊØfªiŒ—ÌÝŒø[Æט›=Ón›Ïä¶8Ýádª¿,5†þ$'­D@!¤:‹ty˜âþ¤¤Ð¾3S¿µL&©¸ˆoÙ/ÎeduÌÈÎ +Íö¶‘I~¤£¦Ãôî™°»«ˆ¡¾©Wº'¶É„ge^‚&”ZÈø£Þ»]95³R˜v›[¨è;Ÿ©zƒG -¤ªÝAJ¶{îÈAàúýImÝoïi/V\X̉>5Õí@¡dÒ5ÛÖöTÈXâ„c¿öSÍ ÅÕ jRëhEÊÒ2¾¯¼àáí:ð Õ%üNwNè¶Z=ß)Æ.—Š*JQälA(}ïmE -÷›ãƒŠù¤óñlG˜ß¡Ù?k‘óa\jav‹jVCÑš˜Q†; /yÔtpyLü|9í¿LÓåÕ±û,øÀÔ¯Z–¤‘©È´,¤$KÍ×JjÍh@”(%•cô)Mº yfY€©2GÚ§h¦ -FZƒFÉS {²ðK‘£jøÊm/¬J2ÃQŒ@–-Ò4¢:Ý]Ü€œ’ä”äŒD1Ò-”(EÎRÔ¼NŒHŠ‡H£ÝŻ背6 ì %£WÿµÜ7 âg¤*os e!¶ÀˆL™(™<™2°.)gQÝrS@hp)E‘æËA¢—ƒÄØTX`²…‚‘·&GãÄÒÂ|•sj`:ƒÒ„ëT(`_hmH›Ë¡ ÄÇ™,çX 1¬À:aŽÔ$ û,?ÌÌ|—ã?_ö›`By§B± µ=dÎ…:Áì©Äœ‰Œ™ËYðsoM*Ò¬¤Äk“Sâ_TÝÇ3ÒT"äÞê¼ýå1Mä‘¥ÜTI1³ži*Tyn©Fa.S`)´½ŠïºÝJI¸‚?Žï¥•p?œau–Îy€³30¤ð$ˆ.ì(KpÌŽ+ð¨H¥:×â2®Î„‚à¦pLK«ù˜>:ñø>aw -¿:£Ãö·ÓgeôÛ6˜JYH€ÒÌaȤû¹ç®¹=°uÉS€ÿp€=AÑÈBEYæ—Ü3éÉ78é{¾´¹H¾ºÜž[‚ܵ÷÷™»€úaóÁhàšúÁ¹%uðBd4èš?ÂÓMÕ¶Ný wV–¼%þ_/ts¯”ÏÙ4/ß2äNR›Æ/(fëŠÐèÒÀ¡ðftáö-î1j¨ZŒ¤UžZjÁøÝÈ$ß0á36v%n:÷ÛþÁqQóÎf—`TVdü.G6¹qŒü~f¬¯ð†ÝÁ)F¾rI…¯ ’ï–3ÚžXðµÿÏUw±úÓÃa;½»Cð^x‡!5e#Cl¿çÎh6H˜vI£Ì_Ç퇦+Ö·ýõG݇`T*Çð$”7äçAù€ùI(ïyLýÚaQ|-DÖAíú¦éjG«F’Rû…„û¡þÜPlpT© w¬pøÄO@ðØû}]_º·H„h‰nw€±_‹ñ)Àû„`%Ä_çæã¯bÑÕ_ºt .0=nLç7hq>Òõ½ˆ ÇØl›¶`—?5„_Ùôky„CUjÄ°yááïr$?¿pAAy•‡è723ZÓ¤¶pùd¥ÒxV=àNè(Óût½Dp!|s×óæSη{†Èl. `ÖP!:Á'Ã)~†å¹HËÂ|›Ó}h÷gh_¢P<{'EAYÜÉéã( ψ·Xá¢Z!Ÿ…´…-³ì[¢§BçµKN®&Áªâ¨í.¨ƒ¾ãIsN}‘ĪÐi¾|‘,ÜÉÖ/GÞ›º[Ó×!Æ}ðá ¾fÇ;þ÷ÓÊèxï=ùÙ’·//¤æÒÇÈ¥Pª¼¡oIŸj~ÁÞºÏ0óà?‰ÑÛ{Ä«Íä *õîÝp4jiX~ÃŽÀ¿˜w°Õá€0ñ~™Û-úÜRãPU(T“üšœx–dáyÜ Ç&Ôªã  +«òžUý 5 -endstream -endobj -425 0 obj << -/Type /Page -/Contents 426 0 R -/Resources 424 0 R -/MediaBox [0 0 612 792] -/Parent 415 0 R ->> endobj -427 0 obj << -/D [425 0 R /XYZ 133.768 692.105 null] ->> endobj -38 0 obj << -/D [425 0 R /XYZ 133.768 667.198 null] ->> endobj -42 0 obj << -/D [425 0 R /XYZ 133.768 219.204 null] ->> endobj -424 0 obj << -/Font << /F30 376 0 R /F8 349 0 R /F34 397 0 R /F32 383 0 R /F39 430 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -433 0 obj << -/Length 1994 -/Filter /FlateDecode ->> -stream -xÚµYÝsÛ6×_Áñ5¢ø$ˆ¶×™\æ|LÓLÆîS’Z¢#%å™:ùﻋIH¤»¹ψX`?°Àb X$þD"”b6/’ÜI&¸IV»O>ÀÐ"°( ,©™ÁLé‚06Xac– «³À“åÆ2©¼±]/~¸T:qÌå*¹¾'x®×oÓuÙ¶ìò7üâ²\uûÃ× vÄߟ–ï¯_‚­LæL,ûÚ˾¾ùX­º‡E¥bNxÉ׬YfFšôŸô¹d-52ú (Fíóöׇòžì¶(p^O’ÕU½m>!纺«šuÕ¬¾öóœ—lm»j‡ŒÛ«®:Tû^îâçŸW‡ªìªv)Ò_~üßß|d÷G.2ó¼|ž¿G&4±ø÷õ Ü°\êÄXÎLþÐ^;θ‚åª@¾ä¿I?Ä)FÒi¦ ‡}“¤æB³g#?gíÂ/ZÎD²[hT&TQR‚1:ŵYÜ‚çõ8ï G5*rÔ¢-bãG”×Ò¯3Éýâmòž'k0öq!xòêoë½/±WôsŽ´Œ50"SÎÜ”©ïD¦f—¹AUd»«aÔXÁ„+Æã)Çã©9ä `2¹€¤ |Ø].…IéXN"&èŒTÆ›&™SÖÂmä4-dÔYGCPÔ£tÔwºb° F b°0®ôØéÔ mŽúâ­þh¿û‹Þ¯Xk1:³Bj²öÈZ@8«´>}÷5ã Î$GiÒ'·Gm< þlH !k]ñíwQ§)0l]îgÿöTdEüŠç‚DÈÞÌ Hä³FfyÅ^Õwj8gOXO8VûõŽ©\&’ÕtšÞI£Bº~'­:·°y_Ü7óÙ1yó˜ÙÀ°fJç1öeY.SÔ áwÀŽ}?t¤-Në‡Ëb Ê[…${¾Ì”Ri³ï*jm[üê÷åëõf*oÌ'¡ -¾Ø”¾W§Ýýžº|°‹o—â¨öùÀ6Wâj×8©q ç¾UãJÃ8×35.xl6ÅI;òÏÔ¸¹bFhˆj_ãÚ‘:&ÕTòŽÔ|É›Ë ˆ¥©•ƒÒc3CPèÇVÀßm† -âHM¤óT'¯¾T̃´æ³%rγ(g &}jßhÞ„Ü9‡ÏƒF4î¾×8Tr½q{´ÝÝ/ä#lRØŸ.A±ôf>Äf …“IÁ`8HãqU$JH*ä -j…çK%}Žë õ)€ -LN æ/‹gØcKTçÁÞ7×ÈU~8`îQ6äκÏ];l4¨­›->¬Pá†Ô é Üðù·ABú„ZxÌ‚‘²ŸäØM SN¥Ýž¾ñŒP¦ª+ÂÙ뉯ÔþÜnÑOl–ô¡ôû‰ÌhÀ‹Ü…ùLðMÂvçCI°.ÛMµþmÛ|šøm$S\>v.O+(ç8ÜÕ•§#æ³yºç9›§ûoIŸ¾Á\ø -è¡GšO{¤ •&kß0^°¦¢Ö?ÆwÙ?ÔÈs¯='àØ_œá_i†Íé':Ã(ò™’b§BXl ±ðÍGc!Åœ<¢Ç -ÁyŽƒ†;‘Ÿ€Ì(32`VrÓƒÌH&™ˆ:2*r‚ª^Ë ©ãì/ôÓAæ{ÍÕD:'j¾2 -î®ãj]gÍ|¦×Ò3I uG¸Dõ0C¿%þø“4‰©` Òo(Þ[MŽqè0A¥ˆ®‰¥Ž¥¢ÞÓ]Í ÆzÝzÔ-yD×D›<Ò=HE½ñæþoõ^Å#º÷&èÓ£wG|[yÌ7Ðħúô ï©›. Å#l¾Õåö¡ç”éÇ)05ÍíƒX)Ú`¸úÀUŸvYJE/F3)ãÍ|V8ª Îùst  z@JÇ´èïÒþ.ˆŽXXuÔÀÛ0€©mUQ£ÄL=ÀîáR¼Â÷»»¡øBŒÔ.wtI¡›"T-6½÷åFvϺ&ØÆÜŠ%UˆÃ›`¤¼‘m½í–£ÔpE wû¯Ê•ŸUå/síx;w>£¦ÌNªO W­’>¯ª®üãÕoáj7ÔS,Ð[àƒÑì¿i²ž%yNwHq`¢z-芘¼òkHAÚºS,½·Ó -endstream -endobj -432 0 obj << -/Type /Page -/Contents 433 0 R -/Resources 431 0 R -/MediaBox [0 0 612 792] -/Parent 415 0 R ->> endobj -434 0 obj << -/D [432 0 R /XYZ 133.768 692.105 null] ->> endobj -46 0 obj << -/D [432 0 R /XYZ 133.768 555.547 null] ->> endobj -50 0 obj << -/D [432 0 R /XYZ 133.768 393.26 null] ->> endobj -431 0 obj << -/Font << /F34 397 0 R /F32 383 0 R /F30 376 0 R /F8 349 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -437 0 obj << -/Length 3283 -/Filter /FlateDecode ->> -stream -xÚ½Z{oÛÈÿߟB0­„‹¶ûænŠâ×¢‡äšK|À¹´ %ÚÖY"]‰Nâ~úÎìƒ\Š”M[íÁ€Å]ÎþæÁÙÙ™!ل›0!H¦ÍD[NU“Åæ„N®àÖßNX HŽnÎ…4ã1YJÒ#eÜ hæZe„ ÇììüäOrb‰Õbr~Ù -hΗ§?VuAÊW¿REOϯW»Ù\q5¿õuá/ë|Ʀ»0]æ›â–°?Ï>ÿÌ#V¥ˆgsÿsSÜÇ1›ÖõvuqW?ùúaÈrµpÂÊ馨¯«e b™{½Îw;âÁþqñ[±¨¥»Z¾\D¥Ÿs‹%#FŠ vžv±®Ê/‘ôô…—âôÛ]±]åëÕ¦½ÛÊ2x­Duu{^Uu]mȺ¸¬q£Q¨òÕ ¯Vyx8K  -WŸWïWW×{ ¯ãÒ³VYnó/Þ»ý«fa¼½^÷A<Êb½*opý2ß]Ë7~ä% è5°øÝjQ7è‡y(‡ ç3ê|qCnó#ý4¬äXXt€­– &ûÔ·ùÉ÷çí¦Šh.'ÒXb`—=°Gaó n&ŒQ"üü{oRÚ¡VD1‡—®&Ê®E&ºäó–ž’ 9Ãä=g“Í ìwíÅÁº(ÖH—Œ®O.Å:ë4¡¢ý:Š:bðfíŒF´Q“/''Ÿèd ¬~;atòö™¨àœeœdJ*“`´sk CÏ„8§,Ó)M3‡4L&$†XÛ •I\îjJ ³¦ª¼ªBIB†C‰”Òù™ßI=g p ó JùtÞÌ©L+¬ã!¬Ë[dp" mà­9‘"î¯$$Ž9~¬øDˆá÷)bÀƒsÎ.ÁY%‡Uà›“ ()•íÔ:™#ñÎÈoŸvöWlNÐÁ­©ƒDϵDÁ@u4<=¢vˆºƒØHÚÅ„JkugŽ÷;Z E(<“ªÝÌ%b5.ã “ÑA½'1…†”ÇcZ—ÚP&LDz ׃š'ÒvQÕ“9>€ÙÑ]BôÜ×½™K$k|Õa&£ƒº'Þ rJ>­îRbÌîêžp=¨{"m¥Ñ=™ã˜­œ: -°˜ÿ̨at–ÅÑ|oh› W'Sûg‡qW;<`h‡GsÙš–AŒÚ¦Ë ,ÿð vHº$£D>û‘̇V· -á¢f¹¿RIýHÃñg™+^¸LjLXë?hŒQPÔiEM2ëU ³|p6ÄêÔdîÌ™I8³†³Ix4³|pR¨†sDMæ†\ã÷àúa¹Ã?Æ/ñ$nö®`ÚØWÊñßÍŒÑ)äâjzïæ\6ãt - õsýJÊFjÔ›*+²dÖëfÕð¬mÂiƒšÌô+)δá,ͬžmyƒªÌ`.û{rý0ˆÜá§ã—øXý¹‰VãWp”ÄDkÀ¯°Ç__€ð¤®.ý4œo -!Ò[…c¬…’Ùpq!9¸ϸ ¤‚ÊÌ¥U°Äø=*‚Á,² f--sDZ´ÌzÜ¡Úë§ákòÓû™¤ñY@ÆøD„U>¿ÍÛj7ƒõbº^Ý̸™º½×mÙ@íc%òÚ«î=eÂ\Â(órÙ‡‚/2(’–Ã0”ŠPÛÂËx»-vpɦ%ŠZcwGKwUâ/Ÿîp®Xàÿ)U¹ïla,klÑ”±Û«Pè¾OúZ‘zžï[wÅf´Ç¶Z(êuÑ"̓Üöp ÖÐk¸ÇàÊÕ…Xqš‹›p°ãjú3vÔ\·é -Œ—©é®s8ë79šwµÀÞØÚߺ¬àz‹fÝÌÀÌw®WôuçÜÞuþóÛ7ˆ`\ߦªÝ3Ûù÷”ò2 *ÿ\s'ŸÛ8×)Â5ÞõëÖžæa·›Ϧw(nŽî’Yp@»¿öÓÂ{EíW¬úù̈iñ‹'Çb µo—%UR•àeÕwþy$I{=oòÀ‹@2›KšAÌBÃîüà²Èë»­wdÇy§_Uº§³,¶Å§µw÷¯A£íj7蚯_ ¶"Īök"¤7¾¿Î×_Ð6¹3P¸ï „}›Ãîvb>оº¬PÜ/hì¯póY -›Ùÿâð¦öãU jk&§gźBÐ/8ðtx™{J|Šwë5üŸãúùr àçk¾¹]¨&•­/á-ï-²óo¦j‹ÏÜØiuéù G¾CIª]ÝÑÏ÷UoóÞ¼™)=ͯÂ!T’ÔÄ(wþý/=O` -N‘/É~ ˆ]ri…#qTG=!>ØQ4®ÿRÞÞÕ¾iç`~·Yu"*Ðc !{Q\­ÊËÕ•ëã¶ýL(á-竹îø~ßÕ -¡OŽqÞ¦(ëý¾>xÔ‚ÉËÓÎVͺÛ¤sÐßüÊ„ÜÝmþÅþY†µ8ÿÕµXÜ Ëàé8±üúMl­Çæ÷ƒ½ÎsÒžw”õÔE¹£ õž‹ry¨;ËáôÁî,œŽ ¢ºeØ!y¬9‹‘ -ñ~s–Ç*°Ûœméš³LZHcP<מeªît×°MFà [Ì:üJêpLƒ»7#F$Úmâþ/8ùÆnŠ”âöÜøÉīÁÊÍ“¹jUGÃ`ÿ÷8ACÍ:imSl¯6qï$¥¸?ÝÖé9]àœ0–®5Í -%|3ó1æݦ {@îL„[Rɱ¬%dèÄfÒñPA~, &ė›ò)¼!Ï$¤Ècy‹!ÞP/3¯7ÁÈ•µªÓéeòÔæ‹ãà£c\Žá%ŸÁÛ¤=mîÞ¥¬]vô8wpÉ…=Ns¥ §¼ÃþëÞ€±Ì¥¹fpˆê}ÍÇQMªL5ï"5·Cöë&/|~í‘o·±Ì¼ÅâÀ§âȪò÷]²á/wÕ&Š³üìòÇ2–*ÅÒg”¬”lbWßù²g™²¢júŠ¯íÍË~æ™éTžæy~êó›?„Wþ§½L4cÃ"ÌÊ„’Ó·Q—C^ìUÿcHÈÂ'÷®6À á“{øm«_ÕE™»i® ¿zWo}A¹‹*gNŠnæ øª¯&d\¸û[Uu Ÿ0Ä,ªt ç¦kȶ"4X¦FÕà†×Õ½¹G5®ü¬/†"Éíå¯ý(–¢BørÒÙ¦òèaîbECàÜxK¾«ÊÝÁìŸÈe2>.ûOˆfÿ‘f/‡Dù=Þ%ÄUÈÈëïBÂ=ðqÉQ wðÈèŸMÅÀ:.pŠ+«Ï¸[#Žg´ñ®è¸ˆÑ}/³×pÒëîîzEvîK -¨c*‚Ïi…\ÿò/þ“A‡j£¸.|áׯ®\Õ¹-~,®òzõ¹8ËwEŠ¦¦ôÁïZºÅÅP™Y$ñ– –BÊ0Ïç†=V&@1\&H5X&´ôeOPAëÌW Y;êhW#$£áAë°ÓéL7 Ý¡”iÚ.å“ „£Ùøê I0÷a- ,> endobj -439 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [447.895 462.742 459.85 473.867] -/Subtype /Link -/A << /S /GoTo /D (section.10) >> ->> endobj -438 0 obj << -/D [436 0 R /XYZ 133.768 692.105 null] ->> endobj -54 0 obj << -/D [436 0 R /XYZ 133.768 449.798 null] ->> endobj -435 0 obj << -/Font << /F34 397 0 R /F32 383 0 R /F8 349 0 R /F30 376 0 R /F31 380 0 R /F1 442 0 R /F42 445 0 R /F43 448 0 R /F11 451 0 R /F14 352 0 R /F9 454 0 R /F6 457 0 R /F44 460 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -463 0 obj << -/Length 2551 -/Filter /FlateDecode ->> -stream -xÚ¥YÝÛ6ß¿BÈKe Vù%QJpí¡éÝ!{M›ÍSÓ­-{•È–OÒf»Àýñ7¤$[²ãä`ÀÉápf8óã %?H­#›¤A’©HŠ8XínD°…¡_n¤#ÑH$¶f—ÆÚÈØ,XŽ8ütwóÃë4È¢,ÑÁÝ&&*Hb)wë?«¼ý~±ÔF„ÝÃB†e …]ƒÕBÙðö¤á:êÅR¥a±XÊ°åÞ}Ýñ uî -¦–MQ=so‹½5̬>/x&1(xøÐÔ÷8Xìîåbibæ<Ö=”(Ú[U¹‡†›ïŽdèCA°ñçÝ¿‚¥4Qf Ÿš’ú÷[n¶ ýœ*ØO¾¼srïg íÊ5Á_w3C’û‰[dù¿Pi%Ãw™¹Æ…Ö^ù©nOm®r´«I·]ÐÝo¼³Ø'LZ»)Hÿàú:vÃgneãž|Ôõy´þx!ÖM[ã0’çãö¥1…7Œqëõ«3 °—Lõí—¶,MÆN¸;öÔ©Fljáñ†Qoä;™|'Þb.9bç†Xx™óìßÓö㮢SÙ{v*SÀ;ÃÒh7yÉ#‰ïDÃSì±;Ò:9ò`mÓ#ûPÇéYÇzÏ v´Ui?HÁw_Ò97Ï£é5ŸÂ£¹u§k øB$p¨°øtö§YX³œ ¯15\ëuM鴠ň‹6·ßu×ÃiÃùÏÇ7 œÞÍÁ` ‡™sûîÁAí._553êrÛ«¦È»!Ñœ<Ìãö“I[~²h‰G‚CPdç!y’€ÏØQÚ²}‰¢Þü|×'_RA^•ÚÀX@v8{GùÙ$Oó´Ë1åiãÁgƒžíð6_}5"tÞ"n/¡j@—Äîö|¢ØµËªl;ì|59D¼‘á$Éd:Y%2yü;·k“Ü%I¢Ä&.5I0Ma’8Ò±u”˜Q ÷œÚ³ŒÚ‚|jDA“¹ñ ?WõÎ%̉¥ÍnÀÖ®·kŸZŸ &Qfí‘[5Å¡?ÛqÄå¨Æ¢IVèàG1úÑw-w£ÖV)$¬wCî0±˜„¼<±±3ÄÑîLl»XÛ[#B*°em°jéVôöA±cÈÿ^éÚº,iå{óÌ°çR1«GDã>.q ½ª+T@’á¦ö0BB8RBxžÁtGžMé%Îê Ý'¯@9‘Ì£‚¼fÇoì#Sàññ;ˆð%9Î.Åtq u²æ‘ʉD¾‡$,>®Á>z·Yu„žãä‘ ¦·0A5¼ôù7JÅ)b‰FtHàD‰T"¯’ñY ñ4c y‹ûâcþ9ª|¿}á„v M?=ÌÖMþôëýÇb…È"Þöð2Ö»(Q&ÐI9¯¾¤C&"©¬ˆÒÉ‚ÿ~Dp•;45 -ËQ¤â@f‘Mœ“/zY\þ¹1Y¤Œ¶” -=<“jL2t>Ül€OF|2ä“:" vHÐPéÀ%í¹¤Ç\¼)¢8xºù#øSkàãÁí7ó}w$pÓ%ÎÇRRIð“ã–8•çê9ïnt>·úîf?¸¤Î`ëM /öFéÁ%Õà’FH"‚Ó!œ%¿úYŽÀÈ„%gœ8•ãl2¶Èø·ùí~»Bž™;mâÈ€œ(ÎOÞ}2@åÇ/»²`[ÍŽûˆÞ-ÏEúˆ«L"(=3Ië7KZ(8•œ .Î  SLšM¡&»5§2Ì@Jl ںܢ¿N£t¢l] -ѹ‚‡ÊîQH5P_•îºj\¯àé¤Âþ~fÅ>Uyl‹/G¥¯ŠV|¼>wpTEqv%܈ϧùæ4†aímTî7u™äªøywèžÿ^ï»|ÐÑ„/ÿÆ(ùÿ#"dIª®Ë€¬þ""ªs)Ä)ªY4<—þXDšaÐÎ!à|j’àÌ!)I®C½¯àuŒtƸa¨a=ˆ¡Q9n=Ù)î}Ûüw7&0ç0GŽñ<æè,c,ƒ*vtuª£b“fðG]ÆŸyfðG­µòøv¥å;1x+>©‡‹/WõEÕÜ "ôÏ;¹«‡ 2*> endobj -465 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [320.485 137.047 332.44 147.895] -/Subtype /Link -/A << /S /GoTo /D (section.11) >> ->> endobj -466 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [386.405 137.047 398.36 147.895] -/Subtype /Link -/A << /S /GoTo /D (section.13) >> ->> endobj -464 0 obj << -/D [462 0 R /XYZ 133.768 692.105 null] ->> endobj -58 0 obj << -/D [462 0 R /XYZ 133.768 606.357 null] ->> endobj -461 0 obj << -/Font << /F8 349 0 R /F34 397 0 R /F30 376 0 R /F32 383 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -470 0 obj << -/Length 2723 -/Filter /FlateDecode ->> -stream -xÚÍZYs7~篘òË’U!‚ûØ}²´›l¥œZ{¥‡¤œ<Ð%Ñ’ -9ŽÖÿ~»q 0i‰¶k·T¥ôô4Ðý «(ü±Š AŒ¶•vœ0ªªåfB«;øôã„E!…akäã\HK@_ˆ5%Ë€•qK ð̵2„ oìâzòýBVŽ8-ªëÛìPä¹¾y;½¬‡yùUôÅËð`øZ>ÿ6ûýú'°2gŒ8UJ]x©‹'K½^,?,îVäµ—Û®²Y5‹›Úk˜±)Ò_~7›+®¦-\Ǽ’zuÛ\ïþ½¾»oµVOÉ›ýâñ_ïÞ¯–^ðuË6ùÇuUDsY)«ˆ¢òÔ˜;J(g×#ÏXýQ¥o4D47Œ¼rH+˜W•€¸)©l—}žù)1hþÿ8±œ(!4 j…Üð¨ñÑê¨3GA»ŸÜ‚çµ8Ô­°s8À 0YK:LWG¢ªÇÉÛêwZÝ€ù÷F«ŸÏÔzÕñ æ¥ça2² ª¶QG½‰‹öü:Gúj"+ ŒÛbÕ9˜RÁRb°nÍK‰ç¥$œóLšiσó«˜Ðƒiu*˸‚+…€ -ðˆJjœoÖESä¾´­g¦’VŽZu«•£Ö¶‰I!iM­ᯥñ -æ§üç€e%6mfÜNñŸo®¶Aø,-–3àú0Sz -µÒbºö.ø×å~µhV7AàÝŒ;ðß¿<¬·ÀvZÍ=¼¯‚×%fáFC¸Rì¡ô &â:rÔh†À+õï·ðo·Ÿ{@0ª.w–„Þ„>³)éÇšÁ„0ÜVó±þcòÖ×= - Œ‘|ÄÂ1u0ã8½ -mœ˜ÅD\ÑÊ×å™|õo‘»« -|w"@Œ³uÌ™‚YN¡ KÇwãˆQavâ•tÒ@áíP‹„½~!«¾æóðü•E¦ÔeÐÞ@ò#v·AKs¿N½æ¸ÿëN­l¥X_’K?YâPëwõ§@öK²Æ^r@ßÁGi`~ô7WrÃnŸÉkœ„]£'àØù'l(az½ON/ì'~yÄ&vfíû{ïÍbXÚÍ(æ¨?±_»õÍèž-&Á1 ñ§%Ž‚ùhâH<ÝÄqÎÀq3»:ÂæçîÇïÖËŸ;ïžH_ž<‘ORøN¤¡â@^ýÌžHp(à£Ò°Üzû¡ÌÛ9´¤’£ñ4°øêÛƒµñ{÷ÀØëh¿…öö@ÏÒŽHF2må–ð2üH“!pÈÌý¦*YAæ %jƒpKÝ-TäÌx åK9Ô–ÛLuù³Ù,ÛoªŽ®è?LæQâ©TA¡²9uä¢/% vyáü4-‘ߨ¤¯v°:Ž¬ 2r"ó,=Xë»ST„Ƹqþ¶ Ýùçj“I>¢Í4>7ýÓZL柫¯”!ûÔ¶ÇW)bí •¬eš#ú­G‘WŠXúDäS0M`‰çük¿t7vñ7zMØK“—ãÅ]–¸XßÅܺ¾ i¿Ín^ nýâóòë\hv×»‹]Óì6ã’—O»pŒ:žáqšòî=ñ‘ ¯‰ŠGÌ'2<ÄJ©;ö‚Ü8éíi+-ðÖ‚±D+*ù8-{Ò;þʺý)qšpº½Ê}öÌ‚xÃÐT˜¹u¼•¿xæÔ2†P%ptu^:à?ìñ]A«3 ô%Z.ˆý©etk!'KΓ…¼’[šËV³°“£iä[h¿ÂSå¤Õ¶Z ¢Î*èI¢¥-1‹-’T{Ú>ª/ H@ëÜDmhu’XèÑé`àž—¦ŒÓ:J´c¦ÊÑ€4ì|èð'SÔ1}fVJTF@~8—Ç– -Çi¯‡¿d(à`¹ãâšù˜9ôI87úËÅ´å˜ãšÝ”áM¼–¢Šè!“}%,9 Å$«I¦þ šÐ¾  -endstream -endobj -469 0 obj << -/Type /Page -/Contents 470 0 R -/Resources 468 0 R -/MediaBox [0 0 612 792] -/Parent 467 0 R ->> endobj -471 0 obj << -/D [469 0 R /XYZ 133.768 692.105 null] ->> endobj -62 0 obj << -/D [469 0 R /XYZ 133.768 571.564 null] ->> endobj -66 0 obj << -/D [469 0 R /XYZ 133.768 475.878 null] ->> endobj -468 0 obj << -/Font << /F34 397 0 R /F32 383 0 R /F30 376 0 R /F8 349 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -474 0 obj << -/Length 2156 -/Filter /FlateDecode ->> -stream -xÚíZK“·¾óWL퉬<3Éi×Iœ¨ìJ9Ú=É:ŒÈá.>VC®Öú÷þ3¤(¥*y­òht7nàk"ãø'2¡³y‘å¥d‚›l¶ñìCßD`Q,‚zƒSm-Ӷ̦‰†›ÛÑþª0,XiLv»è¦1–IÒüíØ°‰‹ÉTiÆ·%ÆŸ@xœL•×;|X3Þ‚²ðÍ–›¡·›¼»}=úËmkA«Z[Æ Ió½}dz9Œ}=âL•EöŒ6g¢,³õHç"ôW£7£ŸºåxâTåÌö¤.ÇÄ¡Ë·÷¡*¬½TÞi_­c*”a&—ð®àL—‰wuV²2WιZ0«à¡ȹ+xëgnxSxZ6õüï›}Ý,ªY ¢ ÉÔH=¾f55Ìx:õŸÌ¼í•ïÜ°çw¾ER:ö¼*Cpd‰m_½Òœ k3½ž}Èâ÷>ìºJ2©K7[ÇĤ¡#ÖiÇË™¥ÐÅßïGÆÀïfÄŒ}(‰Ï8ä:£äJ'W’œvƒn)ø»Ñ $|ÇI…4áÌÀo3ç‘ý2<ûñb=o òz¤¹'ŠÝÐV×E¿-ȯ‘é°cœÇ½A-Q&:‹„AÙH[·mR€£ ×&¹ŽŸtÄž0‰¸‰ÌaÇ$‚¡@+`ÖhCVlº¤PeÉŒË 3Þç„ìrBCefÊœ)i]N\÷Ø)Jô¤Q"Š‚H+&ª™U×qQÒò ÆŒ(¬åNIÜøUÛö{¹úôuòˆ«<…ö í(Ç+:.XZ¾£^;U¦š‹‰ë®cœÊ| S¸Oµ]aR.nZ¹£žIÕ›.œÜ'Ó…1öËCÉÐ…ûB ÿ»Pºù|(Å\8Á1)üŒ²,ÁÙ†-Ø⣡”W’wöA[àDf£ØEåø/ëTô)A$²ÿ’ oõŸ†Oð,¹[Kì¥þ߸¦ R©>Ø· A R݈³Ä òÒ Çfûq9?‰@NŽˆG@¹t¦½ò 1ÜÏS"DåY’èy ¿Or.”Z‚PÊñy€$zÚ -W:àË1Á¦•š®tMãg¸*©Ç„*Š2ë$$Î7´dv¤d–jEÔrË‹¬U¿À^‘ÅiìË•?|åÇ7 wÇ -ÑáÐ"½c f1dŒ`FQpûPS^ÆØ+-)_‰£Wÿ{þD/=Û&°W›y_¡À F–;ŽÞu~^áÇåî©ZÑ›ŽÏ&S1ÞnÜ#Zû­§Ùžžzd9žUjã÷“)˜^›%ã9qxK‚κròËÕ„žŒ¦À¢AõzBâKš¡&ÂWžD€YýÌ o‰÷yãG—ásÿàE‰s±%ý+ÏçæCwsïú_A¨ÖÔz$Îú½§)‰-CèäŠ0Eú~Ö{G‹¼Ó„¹³BœDòÆwÛõãvSoöìšPÕÕõUX-d¢¤Jü×IÜ8‰›a \`¥?lVõb»ýçòþaO\ü×·õ½ä¼©žÿñþ—»üþ/ÁŒ_üjuä€ ÇZìùUcÜ°iª‘=Fس{¨ÜdV²œëKЧ¹|šìùMaOYЦârÕtÎJ1ˆ(ø,$µÕˆ¬¯_QS¢è}þ¾ÐçEÁ¤q—ÆÅR®N< ÄÒËû×Eï_ÿ Ý btsÑÏ„†qé<1ª°¶þâÏÃ×€wkÿ…ßwÀlÙ|ügB_Õ}S­w ¦_/zQå•¥_,j _#ÀV‚`»?, |Š`5€ÂYµ ­e”³¦®öm‚ _?EšÐ„ŠEpd}!îÂÓŸ—4a劔šL’ê ÷Iš¶¶ðŸ5XQ=P£ˆ¢†Ê‘gΔ … kÔU‘!¡½{jh½Û'G‹mP†]\ -”ET¹<:÷wéüD#[Q „ëÃè»ðÑMSm÷Õ~¹Ý0Ç÷=aþÌM3G«˜c».¹’T«­ÖÎonÉ'C^ÁYc/‹ù„ùdÐGž4êï|eõ„Øì—3ç$ª`zsõÊ-ÙH¦øá’¯Þò%M¨«ÝîyÛ̯ºÚdz šÕM4óÝÙ -Cr\Ìg€•)z`<<«œ)/´aÜ!Gõ…ÖŽÖÿx„¯%ÒÀÊÒ—8´Šþö°R“Y­wN®°ŠÂº’¤ÀÊ´ä6Êå ¥Õ;uDì™*t.²NKko7M·„QgGK­•‰ƒyŽA-w'Z\9!®N­ð£ ³rZ› Vñ¬Ð­Íqi-¥UŠ¥µD ¯°4Ù.MÅ¥Éviª[šh—‰¼U£2~0Ïçëµoj±oFJ¤u`ièe_ÈAIà QWW:gÒêL -$ŸëéÙð3לN†^Âå‰nºËÃ阠y4äý'šÞ8ÔpçÍDà†kæ'íÑ0AªÆëR;y§-úÁ•'¶.“—]£=ÛÓﻚ³x¬8ddšðhw€ÀæžøÅèK£@ÒñqóÚi?¶DæL`ÁŸÁ^ 5ÒeQÂ|ò"Š<­aCà«&D;x=D5Eé—†~»×>;w<ǯΊsøGE-d‹0ÇSÅßö§ú GêwÌ -endstream -endobj -473 0 obj << -/Type /Page -/Contents 474 0 R -/Resources 472 0 R -/MediaBox [0 0 612 792] -/Parent 467 0 R ->> endobj -475 0 obj << -/D [473 0 R /XYZ 133.768 692.105 null] ->> endobj -70 0 obj << -/D [473 0 R /XYZ 133.768 667.198 null] ->> endobj -74 0 obj << -/D [473 0 R /XYZ 133.768 404.504 null] ->> endobj -78 0 obj << -/D [473 0 R /XYZ 133.768 373.916 null] ->> endobj -82 0 obj << -/D [473 0 R /XYZ 133.768 190.729 null] ->> endobj -472 0 obj << -/Font << /F30 376 0 R /F34 397 0 R /F32 383 0 R /F8 349 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -478 0 obj << -/Length 2571 -/Filter /FlateDecode ->> -stream -xÚY[oÜ6~Ÿ_!ôee by“(í>9ØxEÒ"¨ hû kdÍÈ•4qüï{.¤.3ã$»0à!Éä9T$áOEÊá²<Ê --”L£j¿‘Ñ4ýg£¼Š± ¢°v¡1±Î ëŠ(YXx}»ùñ& -Qd&º½”ÍÁ‚Ž²Ô mÒèvû{üߺ¯¯¿ºúóö§oŒÕu.TjÀ<êµÍ0&Ý}Ò6‡z`Ý…e§…Ë­WíëÇþJÅdv ÿ‡+]Äãp•Ø\Åã®æBY]ÿФ Z ÛSq•äyß\å&îzl–qÕ™<þŒÿêCS*?ñ$U¬Ò0±(Q*y®° Š”×y ËFÉx½J´òÌ‚»«D»Ø·>4~®–ƒÿåDKÝ=ÿcßàÄHQÅO8¦º‹;È".{oú±-«zë»{û#hw “ЖU.Mt~u ï_¡²ÇŽÖ*W‹$Ü;B©Ù‚º؆ã#i]?²ðõz”¼¤ÙŒÇ'Ôt‡EO;b¥EC´¾Òx½¿ŽØmôÒ¶#D`- ú šÜÕýS3„ ÓÝ@ÃááÂ:mcð\€U²…c nîE´= .¾Ž³{8g_ôXbù w­° Mœ†ÅýqnnþE áxô÷aCª±}æ¦?¤²8·ZÐ’”…µ«uñeùiâU4 HÆ¿”{ܽ–*ÿD³›7·Ó¥WpC]î¢4OE*íÒ/œù‡ ›,”É?,o|ðBAçL‰ë?d*øm¨û ¤þuaÓ¶}ùôËÝǺQ÷zR[ÎØÈTdÚFi*…U_1LÅè<’B‚½è¯(4Iös7JFï6ÊàRR˜z5•ÁöP]w–}{–ã’LdT¨6³¬À3g¢…@HJŒ=szH(Àò&™yQ “`gM“™Íàdý"ªÍnó«_¨Š~Ú,‡ÞSM´iTÔNŠþ'ÊÐ*¨@M&exÖ½Y“ÚÈT8^lá4ˆ fLÍóŸ$™G ™d°L3© L¶ïkÕ¦Ù„¦f4 #lL‚y If3[ ¬¡\ º÷u@@B‰ØŒT ¤K}PÇ0x—nÚûË÷)zÿ—ç'Iu.ÇÐÝù¹)dæà«Ë‘Kä™IZÄûc#Eo1¯¾¯{¯Þñï7…ø'|èË=+ôu[ŽMðö¨á$ÄÀ& ¥â-Á ©Ez2zz@>ŸGdÊqîìCœÑYS¨£¸‚²lQj‘(áD=Q"v3ò´ Ù@µƒŠ/r@Â":YŽ¬¾®ŒÝ¡‰ã¾ÄŸöã” þÀ¶X? -Cͼ0Zé³Wê¸ÿ‚[­]þÓŽ˜€É\`½ Ú©JÓøã%QžÓ¬O(vn‡ŽKÍ¡j¢m=pâT¨¿``QÀ*R›Å¯Ñj]•ÇÁ·{ÊäH.ßÕcùÛ»·ß$JÈ?‚ËŒrðu\¾UfÚH”Í(ƒŒ™$Íš8ü%3ŒgÿÌ"¿s¤uŽÍ9÷¶à.áâ3£æΧ¤ÛH¡³Â«ÜyB‹ìëòà×À3Ò#Tí\Õl…Æp¼K¾gRpUmž.ç$vtÚNgï‹Ô„ç€x‰¶ØÔ -çô÷Ñ–…ò‹´%èœÒ–ëí¾9s‡{Ð1Uþ/æ‚ ¥SØJT~Ý}ù¿ô½¯%‹ŽEëï"J¹ú6QÊ…¶nM”àOr¢(œ:¥I“º†æLgD“\*á­w™&YˆˆÎ¤/Ð$€Äæ‘qhC³Úš—øÒÂè·ù’QÂÚLæ5 ·D»Œë¢ŒÍ*¢2Kf63ËåYXñte1ÎÄà°fº°³‚š%=š%óp³,Lj6„s^­è”BÏc¿]¢S€¾ïÀœŠ¶e)˜t<¹ºhqîxF³Ì<öÆûÉè!Þ2ì€; èy¼,Ф… ÏscLt saH¤î2¶ÁÐ,™‡›eaR³¡å8+ôÏÇß/d—Ø—œ¶Ê1îsÕ£nž/Ùš;™€¸Ý ¼z¡:çv®$p­uØO.+¸x°!ìü-TÚ¹ÂCLŠ\Ý­ùàä!Þ_vùà©—¸ÀM¡„TjÁ­M9#%´Öbf€~aþ$.À#DçÚÇ¡•ïý@Qà4neN¨By}|¢ã˜5'7>_¥•Uf¦Ôì´ÈMˆÌÄÁ{ÿ$á_Ô“„£r–‚^Gåb¨Oû '–ªçª­Ï–¡€ËÃUñãO¹ž\NÄÄ'™œ`r'ÿÚg!ί9"ÿ‡óx/´YFûugð i˜Ìõ ŒÁ€”Käq¶')™†xa)4l-ùç]`,x üÖ#j d¥+@OWI©¨)ÏÔqùyTwô9¡ža–il\Yä6§YQ¾ ›[¬}b"}~3xÆ!.' ¯¿@ží[ÙÑàmì‰}³ýr~ž5øL{²3p=&÷S‘ -‰K /ø<'ÅLÀ" ¬MÁ »½2 -@¡ ¢Ñ1Ñr ÖHî¹ø¶9|¢-:IPk!£¿vœÍ|æ4õÌ#QW~€‘}xr%ôði`Ím€~Jµm¹!œq,Wm9}|óQV™ö‹…xý‡c…ƒîXRúkWS†q,çü2¾KÞí.¹ÀïªÆ¿Ú(o7V‚Ÿ^è¦4'™á˜ѦùCëS3îüYlöM[ú 'Lñ¾àÓ§U……€è„ï¿&œÑÉè"¡Y†ƒ;¿€N°O‡Á"ùðû…—ÆrËùp£ò‘páó;oã‡óÏ/ëé ¬Ž˜¤ð…Ü”¬âÙRÞôë°8¹Ã+¶ú†<ì–W -7-½Øà>±à ´|õÄÝÒw—è(^›ÖYÿ%4j–¤ü\rœO&Uv¼ú1<± a;/›,T¡Ç´Ï(Ý—ý§éUí½[X9 f²±øâ{Ïs ëpî %8ýM‹¼ðNTnzJØV¯M)ä¤q XU@PξÀyÓvO7Í¡lÏÌ‘.DŠWøy`J<Üè´MI–Üâ· ,u~;¥]F…‘3ô7ÐæIÎõïj8;“YÊg/qýÜ GLÄàU9üú+6–aÿPíàcÄc9;•z¬ûáÅ̼Ê11ª¾ï‰»P~ñ‰t¦Ýwøÿçr__zyÂ^ -8ÜSó Õ✕}•{“”ÿéBêlúð1b©ñ›D:_¹Ÿh^“]üŽ™•dÖ9eFJ‘Y¬àÔTv:Tøäy>Ôß’>¹Ý -endstream -endobj -477 0 obj << -/Type /Page -/Contents 478 0 R -/Resources 476 0 R -/MediaBox [0 0 612 792] -/Parent 467 0 R ->> endobj -479 0 obj << -/D [477 0 R /XYZ 133.768 692.105 null] ->> endobj -86 0 obj << -/D [477 0 R /XYZ 133.768 351.223 null] ->> endobj -90 0 obj << -/D [477 0 R /XYZ 133.768 291.364 null] ->> endobj -94 0 obj << -/D [477 0 R /XYZ 133.768 263.267 null] ->> endobj -476 0 obj << -/Font << /F8 349 0 R /F34 397 0 R /F32 383 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -482 0 obj << -/Length 2243 -/Filter /FlateDecode ->> -stream -xÚåYKoɾóW tY0{ûÝ=ÉÉÖ6¯µ§Ý=Œ¨‘HgH*c­óëSUý) {ËÄžšzwU÷W¤h8ü‰F(Åœõm%Ü4«íŒ7÷ðêÇ™ˆ,J‹À§3/—J{¸`ÞÕ,V!=sÀ³´Æ1©ÈØ›ëÙ÷o•nZÖZÕ\߇"Ïõí/ó7ýýfÇnþºøíú¨Z -ÁZ^ý°»eý¹o‡ýÓÛÍ®Ø]~-k½ú»ãõþ§Íýúø+7\rø/puój±4ÒÌûøy‡/b>֔ܺ§¿ß|îWÇÇ‹¢$7ûáºd“f¥nŒ7Ìpý\ JB&$˜›5éÛQ…dÆ{¤ULL|¡”×b̾,üœ94 ÿœYfi3E³µÌs.é!ëX*f”—!J¬f…”‹‚ô*«Ï>Í¢ÂBªŒÔgÛY¢¨ƒ÷ëÙ]N  tAø¨ -¢É?cÈ“dR’ó9†ôÊ$£"Ç “G‰Ä‹^©çÙvüàMv5FÀLó4û¥ù7·òç™à͇ÿÙx>jKyƹ³"T—L(=OpÀXèy™·¸òþRªŽJCªÊDUax0Y[³MJUMëYÖ|ÑSÛ‰' LAºø7Kóè!o´LîÇTBNg!¥dge+²zÃई®e¶ÉΫiy¨ÓJzxSÅ1î­?i€ŸJ`K ‘©–q¥¹Å'p2—§ÕÒÙŠRbË$<®5MQÑNBkëêl½®âRÉé¬IM#S¥:ƒOE‘lêXÒÁRò`I[y'™vn"xr†qa¤Ê5_¹/ -)5O¥!ôÅDiDk™†×Ýi']m§­oO‡JQm餭o°Rˆ>òÆé@,ŠBÈé-¤T]YA)Ál ®Tk²o™oRövÚö´²"ÞT‘Œ›ñOâ'ØÅwXšÊ€K`tpm!J«Á¤XckM3w¡Î"]sžCLÏ£æcsáÈo V¥QL´¾`Wº‰ uðj¼Za %:ðQ. W€ _ÃzuÜÀÿ/øï¸Pbþ!â÷o}ÁÀèä÷¤àõnæÕ¼Á(%HŸq©ç+°1ßï¹ÄüðïÕ±¿â‘íèûaØ/¤Ÿ?ç_N1jêF@sqñ2P_1_õ‰‡Â¢pŽ_Ù®ÛöˆŸ‡Íãq¹¿[>’ç›ÝýcУì8è4)Pdû×ë~±”ZÏ@´;€BÊ@µ+pv(Ý‚ï4d“dobÊs潊̛Ç`£ «ýv‹VèQ…œ÷`wˆì߆7h$ˆìï"/š¶{b‹¥c:hÒX -èáìh¦©å”O=.TØú~‡[ -AÓŽu¿ ŸÇý.$ÙGBß­°„Ö‘í¸^ YPq|Ç}ÔôT)BÅsˆj£q®Bõm· -ì·yò îÎ j•ì}¶Ré>UúmHÏê°ÁM>nö±-ž6äÈ&uIø8ôÝcî‡îfˆ®Bý™ê$d‘O¹¨Ð1;ê»þ÷nû0ô±ßbÝo¾ o}乨]È!šÚczŸ.ö•h`_ÖU™õbOŽQG½Ævºzßw‡]E?ôÇîçàØûð¼¼zEQÃ1e”mÇÕ{) ýcµ‹O?ˆ²Ãæ†jüðõ*÷'tÿTSÑ×ÏNÃZÀgû‚añ›úÖ,ŒÉ _/œÌÂðB{8œOfáÂ?‚I œø= T|àÑÁ¥E8 æ#¸£m-sÂZ]“ ²4O#r¡¶¸y-NÒYŸÔÌ* ‡Se²xŒþä§f4¸ªq+RµÖ±ÝâXKÎÛj|f-ßâMBHáºM®ªºKžúz& U…^¨>‡žõAÀ)t™Cw9tS=9ô$Å+­|d—WŽ%±ä¼™à© ã÷ÿQ.>ÍÀ‘VrÆê`f;ÛABªÍXU'Y'ÐÎ;˜ì9L"Áð< óèW®y8Þãr99¢öJ¹À1FüqWtKLª…¡ò€®À—Á×Ñ!:Ý‹ˆÊÎz¦=“í7–Cä,nœ¸x7*ï>‹‚UÄo-À‡Ã?ñ5ónwïöáæû€ wÔ]‡Õ>Þ³ŸñªJç)’<$PÐeyS]Çùöþm—%ö/=¥¡j[ý²k¯b¾xñ%ú¶bË@òøõ!};ô»ûãúy µÕ -_áH)ç"”LA¤aÔ]TK`m¢ºQ(SGPŠHQô™ÚÝG*n¦”"d½Ûjø@nlF0 UM<à §£å«õÕ4l¼iEdx5Õ3—Y~ØügªCÁl.Ôó:ÔHÇ~w솩¢¥l7~ט€ÃÖ§Tí|Mh… ÙvC ßPƒŽƒm–ÆÇ«þ$K@:›%Í×9Ê/$Kª’ïÇ3I‚áØËçUˆZÅfu.EFWžäÔôdrVi”PTÆs(<ÏÛ1ø¦þ˜ºØ!o`‚ºñp¨?ìÄwñ )ƒç5»tHç˜3/„¾óÅ3 ñä3¹×Wñ œ zò#QyC"_’ˆKT¿ùœüp$òGd8ýòCuKJÅ™ŸÆÀx$˜¤Ò/Nç°²^€•5ÞHþ›`™3u -•énò§(92r7&ZL€ðßvfòzˆkEëj9‚Zª '4Kâ Œ+uÀ­‹_ÿ¨¸ÂrIŽ%=Œ¾"ãÀnH’(GŒ´äy¾9Ç- -endstream -endobj -481 0 obj << -/Type /Page -/Contents 482 0 R -/Resources 480 0 R -/MediaBox [0 0 612 792] -/Parent 467 0 R ->> endobj -483 0 obj << -/D [481 0 R /XYZ 133.768 692.105 null] ->> endobj -98 0 obj << -/D [481 0 R /XYZ 133.768 571.564 null] ->> endobj -102 0 obj << -/D [481 0 R /XYZ 133.768 401.749 null] ->> endobj -106 0 obj << -/D [481 0 R /XYZ 133.768 204.039 null] ->> endobj -480 0 obj << -/Font << /F34 397 0 R /F30 376 0 R /F8 349 0 R /F32 383 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -486 0 obj << -/Length 2195 -/Filter /FlateDecode ->> -stream -xÚí]ã¶ñÝ¿BÈKeàÄðC¢¤úp—&Aƒ´Ez~Kò ËZ[w¶´µ´¹»ß™á’myw_  Xäp8ŸäpfVEþT¤Œ¹-"[j¡dÕ§•Œö°ôÓJ1ŠIEála11i!`3D‘ÏQnP•.D8‰Ír¡ 1{¿Y}û£I£R”ÖD›‡I ÆÙì~‹ßŸ«®>ˆ±Æwo×l~z‰6¢T´¼;WŸÿµýØÔãï2“„E˜«6“"2V§‘FgÏÉJE¤èd1úOäפ³Ä4URdDm†#€>ÀÍ%fP¥°È~Ze€– . â'AÀÑ p\ÍÀ‡ÕPÜ=Ø 4q¬áDGd7EÄ ŸÈ¢Ï«ß¢?d´ƒÝqÏ?^ÚþaIÇ_Õ‰~Sˆ2ÓèæL¨²˜Ü Ë -–² ?ƒSR““#s±Vq¶N”ÒY¼YÀã:1:nøäYÜäÁ i»O0ÐÏßþXLg%+„)‰èß»u¢Ó4®ê±ýÐÛq­ LÀªý¹:y¿¨Uñ稅ÁØöÝà6lá“Ç ®ÏøCÓ†øàC‹Ì«mxcunÜ k9‡X'©•øÕorf1‹Mö@ž$]3úëà- WhªÌÄm‡_LaDýKuzБa[GðØ“B K&5™ 7;6¬lê»ëk¥K¸,Y”å™Â?ïù:ü{9™aÓÙ˜yïŠjTu{™­…š³½MŒó7#K‘•é»á©^ƒ—Î[q~(FtnÏ&jÙÞ´„¶îùdÀAÙ±97‡ÖmFDçÊG>JèÀDûBÛ ?öxΉ¸Ž:Mˆ™£qôÂônáihvnôПÝ`«±q觊U¹»Æ-ïðä :!™A\›ØÇë,UB«òu±}†|7¶{Tò—˜Â6˜whñ¦aìFÂÀcßvã;§q’Ì`ïÝ8Dz_RaRË1ÀhQâ•è¸jäûÛøomÂ>Ú½2››²îÃ9Ñ|Oõè î=V±ý ‡}Ð#_1v!û NØ~¦‹¹÷¢aXp$ž¶I%|wÏS©MEf²×yj†|×S ðù‹®:5è:[ ÏÈ_ÚbKð!9¶Ã8sÍ̪à¢2MÉ´¥*f¦M‹£R¾pñµ9³_g‚ÙB¤¡kD¸a/OnsÆ£+Ô+÷Èkm·Çi“üj£à@ΞþtòÛI8–t¤;HÓqÂßiS -eÔÅ>7gïbG©[ëB+Š£-kŒ÷–/ï_7!%i„â"ÞÎ…úÜ>ò ÅïˆVdÏËi0¼ÖÁvžº±F£`ç¯-k©K)¤MYKwÝ8Á…1:ÁÕœÑÂãY·kzæÉ?P0&Ä'˜o9z¹¨ +ä 5†Pªmq°^1^å>uOaíÄÓ·-ööŒz¯a–ÅùÉÞ.<°$¯ÄLî*°õ¾ºIHçO¼ö}ëžz¤ç/ÁŒè»Îmlðu>6 ¬ØÂÛÊ°Q]Dkž &—¢(ìëâ ùn\ð8S\0|³©>5..÷ç]sþÆdž -®,y™ºϦíØE™¿&m—¯ÉÚáur)m7JäYšW©û„/EN¹{œ­‚xdKP -2i«a§†Œf8¥NsLªE¦m^ ¤= ‘×â*¼LõÊf¢”Raù$R©UYËSas I¾ŸhËBg°²im4QÕ%¤RÈsbn@ÉZtÖe + '»¬ìlv\yI'˜W&ÐõϹ{»LBª™j¦#à¢úGüxfa·çXLÖ bxä )øjW$‰’üY¢?¥Ó #«ØJFo)é½i¼AÕäÍ4ØÝ{3óÆóÞô€ÌyŸ=—MÞ °Ü{s¢Zxoæ`»àÍ #™¼©‚7¥÷¦ôÉ`Ül6;®Lð¦‡éàM¦«‚©'î2xÓ )g:È™Žµ¯0åd–i7ó -,&ë1'®ý±ÃñÀIr×|á üº»õLJ¬Sxðµ~]J> endobj -488 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [292.354 572.159 307.077 583.007] -/Subtype /Link -/A << /S /GoTo /D (subsection.8.1) >> ->> endobj -487 0 obj << -/D [485 0 R /XYZ 133.768 692.105 null] ->> endobj -110 0 obj << -/D [485 0 R /XYZ 133.768 619.384 null] ->> endobj -114 0 obj << -/D [485 0 R /XYZ 133.768 523.992 null] ->> endobj -118 0 obj << -/D [485 0 R /XYZ 133.768 333.035 null] ->> endobj -484 0 obj << -/Font << /F34 397 0 R /F30 376 0 R /F8 349 0 R /F32 383 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -491 0 obj << -/Length 2841 -/Filter /FlateDecode ->> -stream -xÚíZÝoÇç_qÐ ˜çý¼Ýч8qÒm@z‹ó@S'‰é‘TI*ŠÿûÎìÇÌžyrÕhÄ0`ÞÍÍÎüæcwgv%ÿd#µn]ç›.¨V -Û¬·3Ñܧog2³h,ß&>.µ´­îL³”V¶A8djþÑ”ï" ãW©lktTTqµÊÆ/ÒÛàÆ–ÕÑ:Ôÿ;óª5Áj Ívæuë•4ß¼mEÐ2ÀskUç|ã»Vhá]³„A1]³ž-tÞZ0¡5BIÛxW$š¶s:¨ŠGЛT"CFTПlò¥R­óÚë -ƒTàPP(Q&cU Õ¢R6…L§)ì+dÎép®¶ÎiÊ+Þâ4Ì6›qÎ<ä¡J]æÞä4]%]ë}T³Í¯ÉÀ)"Œ TúrBúfw›˜Qq›ì“vd²]Ôôežýo«íýЧ—¢¾êã¹"ç†boOç:tEÊ„gæ:3?ë™a_bž´˜ÆâM°°Šlv†þxŠ¦[•“éâE4Þ`s G±½x¼Û¬ïòØcú}ÜN™´…=0e¼À ƒÚhâæs‘gS0"Œìqã—#ß_¼Ý½Ù’¾—éçí}Ÿíé?ôÇŒ^ŒÃ¸ß60+$/ã.‡¾¿ÏFôÃpW/Â:Òž±¶›Ý;½>¬ÿSö/›]Ÿ†ñ§ô+AÄ«¢^Á:“Vnðö=NK´W’:ʶ ì¤ÅOäW+ßhhˆRü?u)ÚṸŸ¸…°YÉî£+Q毻jÜðDpéøU‡çƒ8ñ!y]Û«ß¾aŽvZ[ßÑI…}¾è4ßäÉXÔD©tÛǤ8ˆ_¡\Lx‡ºM ™ÛTâ-´£Â Yã°¡ÆÄFÆ Äà•FÀÅòJe1{ -¯Eé­º%]D’hº­¬P‰K@kC*Sÿ‡÷¡x ”ì1À69DDßd Š¯+~•U|} Ýê@L²KÏ^‘lNŠòj8¾ÕR|I<¬É%¾„\Iñ%¼@,ñÍæ`J| éäº!#ŸFhŠ/!à£TT†ˆÊÔÿãmèçxÿ¾â}‰M4ì¯IѨ±ÕÀ[0K%Õdc uWdÒÐp8¡ã¾•7Ûwˆ—øn´øÛ/¤ÃV{¶‡eE•žt‚ò_ƒº;9 \q#ÇÜÆŸ -²Ã‹`åS·ÆÏÃÖáQfú&c]. EUUák*Ðÿ5ªxÒþsÜì±ëöÈù›¤®÷»åDp<ÖÉÑíSmš‚ògسڴŠùÉ6­ð Š?Có¹?|ˆ'_¾š€‰«ßàÝSdy=É‚«6ó|5æIÔUØnÐבåë|²³Í@Þå ¢ULòûú°ZÀ{¤Ž&ÙHYÅCÉy¦$E'½wýyºã -C}ÿîïç3F·x9{žð)0ñ7ç^Œ7öÚýá˜üjSŽy²¸½K¤Sp@Ò¸H8ôÊÀ2J&ÊÖÛô1ž,¼ß¤“”8@øý*ÔÄl:oúsð}hñx|ê` Ë’ybU~ÑÿDA)è>Veð^Á… Uÿ˜+Ê -endstream -endobj -490 0 obj << -/Type /Page -/Contents 491 0 R -/Resources 489 0 R -/MediaBox [0 0 612 792] -/Parent 493 0 R ->> endobj -492 0 obj << -/D [490 0 R /XYZ 133.768 692.105 null] ->> endobj -122 0 obj << -/D [490 0 R /XYZ 133.768 526.257 null] ->> endobj -126 0 obj << -/D [490 0 R /XYZ 133.768 308.622 null] ->> endobj -130 0 obj << -/D [490 0 R /XYZ 133.768 178.195 null] ->> endobj -489 0 obj << -/Font << /F32 383 0 R /F30 376 0 R /F8 349 0 R /F34 397 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -496 0 obj << -/Length 1636 -/Filter /FlateDecode ->> -stream -xÚ­WÛŽÛ6}÷Wy’Q‹åU¢Rô!Ú"Ahš Ú ÉƒÖÖÚjli+i³Ù|}Ïp(¯;i 4‹ÎíÌ ‡¤J$þªD#ŠÜ'y©…’.Yîf2Ycé—™Š,Æ‚EÑìÌbf¬¦ðÅ!Ë «Ò^àÉrWm‚±§—³ï66)E™›äòúÁ¡Ès¹z›ÞTãfž9íÒe×m˜¿¿|™R¢tÌAtæxü#ŸˆšBì ß½“Nj¹Ps•JŒÕžƒ4Z%¼5GjŸŠa’Éì±DøNëYÐ¸È óœú—e{v?;cmÛ´H[Ón꾫vY“:">ï±k#JääP¬Z¯ûz]M×¾n›½#ZŠRë#CÄýD´š¹`ç…x*îö¦f?]>Ôt"×6q…ΖßJ5rh´G刜“¿’iMr!=LZçD;`Ú%Æ ]æ@yÄž=ðKá’»ÙÛä½LVàxŽÿΔL.f -<…Te¢Ja -ÒÚÍ4"®Jk ¤1>O´eiLáP…F"\Érfsá½e…–Ê›ÄÂJŸ—ˆ£9x bÎàå’;o¡83ˆ±qºHÀäK“ƒâ„-½/ÉqªøY.¤-4íØpÞÉvöꬿ‚a5Œ€@ ð@ den­;Z…¯N+i°å^zÍ«HBjNíîfFh/•K2µ^’:ìCü$¥±! Ú¾Â)©‰´™]ïsþ?+~u¶2^ž/€äåA#2ŽBÏ¥ -¦îâš šU¡t‚ò¹)Ãfø }B¥ëªÇ^mñæÃ0§Ö–v×ô-ÒM7×>½cbµ£Éíдk^7 £Èu]·=+¢ùŽôÑúzCb#S¯æ™.Òz™ÃòÈŠVÈ>­‡#&R°ì‚ž¨³bö+R;{ZqA5P­nû6x ‰f UU‹á’e:vô%P‘0i­iãwŒ ±|UM1¹Æ°ëwÔ1û}31È!:d÷þæË~GRÇ!„ò×/x°"jµî+|äáØ‹5‡¨ êVgzí{Ezñm°ƒ; 3[Øt}‹NŽj»½çE -»70¡¯—ÁÙ­õ- ‡%K˜màöyž> |´dB„‰åº‹¼s¢~hHÙŠ'”7XœB]·…c9Ø9„™˜õX… i¥{'•©ûfeZëvh>’²š‚vwÃyèúqAqôéMJû#%|[³HÅŸwÊØ }úA¡TÊÒ’Í ·¼{±@ÀLƒe×cOF÷"Ù|Ým àˆ7Ƥ˪åA7â¼kBAû°h²êbþx%-QíU-ÕЂ W·±Áx*8Ú ˜º]Ôõ/ÔË°H Æp9ÀM&ú|à‚Žˆ àÃÍ@)§U»¡ÒGú 5ëÒ_çnqµ°ºƒ¦DÑð"v£Ë %ÌqØ/˜ êZŠ¯+âmˆF»jÙwóTu_QIÅŸ› ! -ô”‘{W [æ˜ÈEØdd‘w\Q ‹6)ÁÍ°/ÚÊÄŽŠ>ÍrØ~ÚktR -kó¹cUÕ–ÉUÜ4ž’«½I¹ˆû±™Êhêõ.zMz° -<æøayÇuJ¶º˜Áƒ[¦FúTIgÇt¿ y£(ÿq’ "§ûBä]×m0W2n|8ë´ýâz¥lÏ­’‚,)ôxò9”;>gHVÉØxÖ»iA<íx,ϸ‰ƒüSdªt™ò²7§È -a¤=AôŸG@ëBŸ\^÷yZƒÆ¶GÃ…I½ƒNˆ¼HŸµÌq1õ`êd¿`r8 ñ­¶CÇ£è°Æ}Ïxk›ér|tL ›âÜECál$ü‰û:„‡ŸÑÈ=!ènϽ.¨%é\§Ü§âDøˆHG'}û M Å´Npè{E!¸çñíØØpOÓhqÆ]ŠSÓÿC…zÜhs™©ýêÃ+Íù³êÞ|[½ÈÉ¡ç’§û³*£}ÐJoö Âø÷Uêh§Ž9)”Ú;vâ -žÓÎ{D¯’Ç_¾J¦G¥Á«ÄÛù=`þêtâ9máù´ˆº¯<øŽ#üU‰ƒg\ÿßôÿÂÊQ¬"4ky~ö­ŸM,ÙÏ——h#ñÂî䈖_š²h-¶(Ϙúúã` -endstream -endobj -495 0 obj << -/Type /Page -/Contents 496 0 R -/Resources 494 0 R -/MediaBox [0 0 612 792] -/Parent 493 0 R ->> endobj -497 0 obj << -/D [495 0 R /XYZ 133.768 692.105 null] ->> endobj -134 0 obj << -/D [495 0 R /XYZ 133.768 485.94 null] ->> endobj -494 0 obj << -/Font << /F34 397 0 R /F8 349 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -500 0 obj << -/Length 2185 -/Filter /FlateDecode ->> -stream -xÚíY[oã6~ϯò$cG\^%ró,vwP ˜-’-&hû ‰[3²œÊN3í¯ßsx‘(Kv¼Ùy,XÔáw.$©ó1,¡ðÇ&)rä†FUr¿¹ É -ºþuÁ©OØ°srˆc˜óB(!n„skÄp¦AŠçDJA¹= C”}Þ¸6J€oo"‡±™\Ù Ú ^H^س§°>u,†;íÝD2Õkø›³ËÔô\:×þÍi$‹‘ÎòaDÇìžÀ¬Î}~˜ÿ$?œ³‰ Û‡êDMDnì.2øµåP#1øÞì±bªá§ƒ2ªÈ rTúï…ài‰Òõ÷ߨDÃ,kgùv]íPÔ%ÍÓG§å^6å=vu ÙîPT¤«ª­ºrïÑVÓEÓeMýeÁõ¡{û´È°k€ç/ÒʆÛb¯JñÖ+^êvÁMº·^È"ËsŽá:ÈÏLÈØýåLuvoëL£-¸«wÖç¥Q&q½ +«-¼H÷èD“.QwPeAÁä Û7ŸP$夂ZÎPj~°±L;d’êAåW[ -Û8uظBåªXÅrèf_=~œ˜”¡…ð0[U¹»x8†ãÒ#‘5¦Ð©e\§¸ôü`—ò÷¹ñq(¹âñIÆŽÏÀÑ6àÝË$Îèû­Ëû²ÁÄy‚¡Üccí„;óö©Yâ+MK/µÃ®Ý[‡ãï“.fž®°ã7ŸÌ.KÁƧ…·E–­â|.Ž)R6® ÖŽ9JÅDzëiNµ¯º7Ó9QXQ*?ØeÕìËÉ|`U 燃à\ˆ"½Z•°Ð,…Y°bXl&÷/Š»pTø ðµZbÇÙ„À‘¬7Í4JG›ÊsC7 Qíó—ÎNW SÙí|hq˜ó9 š.'‘Èä„S1šÐÞÐJL láÊ– EaÙoÂÆ®;×Ä„iÌtÛ`¶„ú°bHNËn¿#Çè)ä1üLzÒÓ€#ºçŸ6YzVEÏo®³ÊؽÚcw¾Ëƒ«[¾#ÏàB|Ó›¼Bž·4øèÒ ¹ÃIzû.§sDýuÌ{<÷ç-ð #¶ýsü{XF îîí;Nçn/^ÉÍûµ½îiù@Ð}dw/Rt,WÁ×æeŽe-W/QtFñ.瀣+M8À{'”Nyz¤ô'Qÿ&D¦j¡ü$QçL¥ùi¢ú“¨¿†¨Ÿ\ OÔ9¬ˆð ×g¬„å¤<7#Nª§ôSO`ÎÁF¡Å˜YÎÚ›¡³7Sá(u.2Z; ’*'T&f}~þ£øˆÏ“Úokw¸—ˆ3Í‹ÔjÕψ`»KcŠñè'p@ª ~¸7€ð&½ñ¨Ï³w3‡;£/Ù¡G „“v¨;M'gæqŠE硞摞Îê` 6g0®E¨Täb5B›Œk%Ø<2Â)ü”ie§ûúö¤ÖZŠ¨c3õÞĸàÈ@G ‘C½%s¢Y!Î=Ñu|ŒÀ>Í ŸÌ„‚#dÏ8Q¢…™É/-U|–ÞL³>ª8Zš ëË‘­Í ›QËà+%•( -d¡…¡LQÈŽ^íénŠ‡X#¦Y¬/býàÈüv_¼C Øâùÿ¾@R -S—ãY¤óú;¶@‚#ñV“k­¨^š½×š|sæîµ€_:Ûk-᯵Þ#óëê?¶–t à‚%VõîF«l—®ñãÂÈ´ê,O¼/›É}ŽíŒ;/äÒh`t¾±¯7x†MË„×"Ó7…%©]i¯êvå€k1üþa颣Šjà5 >#ökï ,µ  Ær÷/ÞsíŸ]õë“#ÅK,«…×w–Ú™Jþy]Ù{j¯ÃÜõM·Ÿ@Y¥Ÿ=µÞ9©26ÐóvïÚ– oÝ5]×ÀËïÝÔ+VK¼c2½]h÷t0™À§ë`´Þ¼Á‹9Ý6ÑôaÛ4[?g ]9éøZb: rtwc÷À§æ(¹c°—8Õç‘»|”ÜL ÏïmV¶°°–FûÔîkœ¨'˜÷˜©÷sŠwAk4$6Dä³ÿ¡Ï$0“c™R¨îD°‚±ð‰«ðÏü©«ÿüÝõ -endstream -endobj -499 0 obj << -/Type /Page -/Contents 500 0 R -/Resources 498 0 R -/MediaBox [0 0 612 792] -/Parent 493 0 R ->> endobj -501 0 obj << -/D [499 0 R /XYZ 133.768 692.105 null] ->> endobj -138 0 obj << -/D [499 0 R /XYZ 133.768 512.317 null] ->> endobj -142 0 obj << -/D [499 0 R /XYZ 133.768 208.688 null] ->> endobj -498 0 obj << -/Font << /F8 349 0 R /F34 397 0 R /F32 383 0 R /F30 376 0 R /F11 451 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -504 0 obj << -/Length 2895 -/Filter /FlateDecode ->> -stream -xÚ­ZmoÜÆþ®_qè—ð€ÙwrSôƒ”6 ‚M¹pçuGI´yG…¤¢¨¿¾Ïì _Ä“-;…a9œ™Ý™yvvÖ|Ãð‡o¸”YnŠ±"ãLov‡3¶¹Á§žñÀ"X8½ø˜ª<ÏTn7éLÂÅåÙWßJµ±™5rsy=iQ:ÅærÿKÒÝ•ÃíwmWÿ·=eó–ivwþå6ÕB'÷Ç¡Þò¤y*ßþzù=T¥œgVëiìªn¨w'F6?clùÕ·ÅÌ •Y¥6©€(îÍ8ߦÒÊäC ӿ캪ªmÊ“=DrµEòèÅͧU茫Æ‘¤Ù|Êf¥:‡Jfk?”ÝÐ{e×T·zQ ,àIMJ¡µ¥…8’þa­ßÌ#ª??5]™ëð½<†ÉìZ/®v?÷^!Oz·ÎP)á!³XîÛ–l¤‰¹eÓ<Â6˜x Ãdž( -½ÕÝžˆGZÆ•Õ\˜ŒÑnç±7+Û%l瑧î½tøe·yr&-Ù6U’'—ô>«“C¹ëÚKf3aøÌe1ŒV+'-õ $…ΔZ.P?t÷;r¨(|Xù‡;P"·ÉþòÏÛB%_’}KæOþ=Qy´u”0‘°Kž‰§,‘D,V¥vsœRIÊÑ!P (¤‰´S*‰9œ5Á¤JE¡ÂÖû46‚¤™ ¹k´÷GRJ­sX‘ËŒç -zFZ3ÑÈþ8EÍÇ)=ç4íg ¥‹(]MÒÅ(ÝLÒã‚™“ýKþ)’ü3—æÞ›é;99:u&^Ìܪó¬0œkÚôçø%HÁá2­àWëüzñ¿é-,F?U³b˜‘" á™ uõ¢ˆRÎçŠ<#¼:ÓZAìáL´S25Ñš­W.Žœ(>žfѺéÖBb1eÉ •iPò…¶É/Û8Ùf!{fùZ*9…RhA{2ã([:ÙÒÁOnsÆA à¡iÈ’å¹5#pµ(4…’ó€ÂŽK·.W¦Š;¦¯ð -ŘúŽ„š£¡<ç™1‚C4á¼ÆþB^@7Ìc‚”íœèlð -7°Cå3,ŸHÍHÖ´ûY£³á“ dðIF Iæ Õý¬ñùó¤Ô"óñ™F’cÔ¾zöÕ½Òüe9b^Œ">9a;F[lŽ<3¨ )m¾yAÚp¹ñ³ Bs/¬@ÔJêºnÛ¯ß2Åêãð‰)‹„åÖ:ä'b"5#É‹]2>Ãg 4+µ—EÙü¸˜ëLR&aw³&–ê/ˆ- Žð…üSÊ hª}üæúcÇàV£]‘ŸfœXV‡&‡³T°È’ÆRëªÃáë“ç Ñ£rÌ%·/_ÀÔUt\ü)å8•³œ/”‡ƒÄshœ€2öãé¢~óãKp -ŸÃÙf:î)¼eÞ‘6ƒ -‡NŽÓÍß©Ó¹“ðnÀÉ4×É[)íWçj*«ae(‹ÎýY6˜IÌàOžQ@O»òè¹®¨qOÊ»x -wç`§mìNaÐCáë. `¾ð§ú½;¢ÿPFÆùá_ qbo€ú Ê$—³cºS^6ÍZ@ÅŽ­”Iƒ;†óàÅÉ6\]zÖÚñmIÄe× úí¾þ}«Mâº'nÊ¡áä› 'Ú;¨‚bÃëÜ›¦Á”u‹‰ -G1ÎÜËšDjÕ5€«|,n]@è ï»x€ßd0u ôOLwÿ‹É»ŠFŽ˜×}}¤Îžƒôì<ÒcWf Èí'|½ëª~¶TÕžÈ2)¯|cŽˆ¾µC}¨œ%õà\Mëd×Te7SZþÅ)¬…))˜»’Ä=xBãÚYïƒ-^g5x†ØOªŽ':%{Ê­ò¦£…]‹±Ðô.:óûÒ»ýÞ¯ -=–!kÜ‚8]û)p’ø~Ôúl»Hoç/k͘ŸmEžyweèÊc_Çæ -QBÂø¾3Ú«wçÙñ!dÞ.²¾ZôQ>Ö˾¼­:š|®’2>¸Fú!vïˆrÛ.Ýᣡ ìËuà<”¾ïí^ë芆p'—®u|ìË¡î¯ËÝÐvžü{ÝS»Ó=w• Qâl¼ •xÚ]D8ž„Îê¢è£bW‡fsTº­(ê -9ë?"îf‚JJ…ò¸ ߨëø”ßÅ•ñqå1ø‹ÞÙµÝ1N1´<¬­§Gש¿'¦}hȾª†òõ«yÔ–ì|‚Ñ }ÕŸˆóh‹’æ¹5¬šµ¨¿¹VîWأƖîÃmÛ;™:)ëƒ 'Ò/PÒý„ÖÊvÇF?*¹©§6ïÑ“Æ›b«þ€gÉô%Jš¦ áà›±ñ ´d2_ö}ï‡Sõ,5çm`(ðá‚Dö»ž¿<ð~èý‡©\B€‡àÃÀVs@ G#ƒÛٔZ·ö_ôþ¥$Þö®¯¡îŸ… !Qž¿-&ÞgÁ"°Ì\íàⶠ-[)Ь8‡:€pñÒK®ï.ÐèõÝ€Á±!n‚Aíz§D‰gäì2F -ãÀÞº¡X_D}|=8”?l…MÚ>Ö;ø8]¶‘˜ãþDñ‚½Yk4ÆéЬÒåå Qõ _Hºøˆ$‡0-î[ÉP¤ ´ Õ‘³!@û4,cìgD(Aðüè9ã-\‡ø'\ÌÃúÑW‘Üz¦ÊöÄkÿëL}œAaéÔwwO«õ¡†¼Šë³¾‡CáÌcxìŸ\:«X¼ÑM£X® …GÁžÃ8º‘’v®u‘k9' ^¸Æ’këŸý?ßÓYgbêÁÐq’ΣÒuüˆfµ”•Î„­³± ëY9*tÍDàPµ¾,“:ãFÀKÑî$±à€8Üwncôó¡n¼$®±²¢—q‹ìºÖí©{74¤(v°¹\ø*¨¼ïƒ0çùIÔ Ï¦t•‹™{å¹íþ°2Î*œB¤¯ÊXC-˜ö]ÚîÜMdí®Ë¬NeXMQ²sJa>~Yg(Žž:çà Ïù¢ZÄQ?!—‹û¬ᯠқÆW;ñ–ÕhV¥â¾:´Ç¹8Týz‡ºš²êø$†Àþä~s²{º.>²§/œ€Ä‰•H»ÞŒÂîQÜÌÉÿ´‘F–tâYõ-s=ÀÀAZ…xª*þÿŽµªÿ`¶Ðª -endstream -endobj -503 0 obj << -/Type /Page -/Contents 504 0 R -/Resources 502 0 R -/MediaBox [0 0 612 792] -/Parent 493 0 R ->> endobj -505 0 obj << -/D [503 0 R /XYZ 133.768 692.105 null] ->> endobj -146 0 obj << -/D [503 0 R /XYZ 133.768 434.854 null] ->> endobj -150 0 obj << -/D [503 0 R /XYZ 133.768 374.684 null] ->> endobj -502 0 obj << -/Font << /F34 397 0 R /F8 349 0 R /F32 383 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -508 0 obj << -/Length 3032 -/Filter /FlateDecode ->> -stream -xÚåZKsäÆ ¾Ï¯à‘SÑÐýâË®¤MìÄ•MyKrù`ûÀ¡FÜåpd’³Š¶òã4ÐMrÈÑÊñ-©­ûFhý¡ge àŸ ¤ÖQšdA’«HŠ8ØV"ØÃÔw+É$Ú‰ÄÞÂäF›,‚Å؈²tL2#•*‹R Ù$q)m7»¹[}õ­6Aå‰îî˜æn÷søy½‰Uþ™>×QWRëOôùEÄB‹+êl¤€¾üfýëÝ÷°íFÊ(‰M]5‘¶o‹¦«úêØ ¥%”1(!'ÔHùXôoN=6¯™ÿ ®±Ñv³ù¼Ùܬemy”ö]ýõn°žÖÊ |•È^2h®Uˆ(Ï‘,ø-p3‚Œ?tãmúãf×O›ª¹?¶ë ð‘âøþƒðмñH}¢€ÍRÒFÁ!ÊÌna l²„|«-ìO|8íÜpF H€”GâÜÎND˜M9ñ9ý.·np„‹yä¨ÀUϨ܈¥‚"™púKûÅãÉ $áB3ëYö2Æ1"WÁ'=p•XãÑhˆ9™DÍZJÉpv뿛͠+NÖÑB¦Þ\*M$gF bŽ¯®yØ4hWnQÅæýhvƒë‰Ã& "Ôµ«~l¾Çƒm»SO3½ÛÊZËr 4;[Εâ}ȃPÔÊy…Î ÿã·qŠï‹9 £­QÊžáð&‘ cßmqê!ªœÛCì1VD¾u|‘+ãlÇlÏ2}¶µ Æz*mG3h†}Ñ.è6‚ÒF$x"ıÀéPàà\Cß² K”<ŽÌ›ˆ˜ÕŸÑžÖ£>¨G0Pyˆß+Ç{r=òŽùò –MŽ‘;œçÞ¹N[N%®²Eß-Êü蘢í³ÔÚ[‰­Àч§]OÇNEõÐ[­‹®#Ç¿Z¨µÅiîRê,KÆ‘Ò>E.{‰tÅÞÍXûf¶6‡raT#Zm(«–zï gÒ°£Ì7Û+ø+$ˉë«Z÷h1 LøÓ:3aÉ—܉pçO-_x_‘û4H4#s(žÀøÔ„lK“.}á`á—²KYBL„dF„ä¹s¢l¨&…¥%MÏžSºÃæHÈ? } úÔeŒ¹ÿŽ2/G#¿8]ó ¥sº}Q\£„Ÿj÷Âô÷Ǻ¶2á­6<‰ñk.£<ŒU‹_€`Q&^ùóˆøbñëhc”çãi†1cŒ¥Ÿ—oÎ9¼ùÝÀ›¢î\Š qµQâÕOXÿ¤óÛÚh7AÅÏåÃ!aæq/rå;~ƒ[Ó¯øj×ÑPAÝ®?¶Ï<ÂYÛ'Û&Ô0æÁOvôÖk®ïòèW {b¸Z¥>…cÛBk¨8P §ò¶#äy©d²ô<mþÄ鉖^z}ÎÅCªô¬üâ†P¼®yù`Zè4e¹»o=¿´~l–žI{ŸÆ¿e4T;ðS¹ýE‚ŽÇþŒÁ>Pð Ôé£Å7ÝÈÝÜ{,ßüóCR®F¢ÙÍÁ‰>Ë#ü¯KÿÉ‘l{_dÓßB¨Á™­¡ôùV&M#ðj¾ÕSaˆ -endstream -endobj -507 0 obj << -/Type /Page -/Contents 508 0 R -/Resources 506 0 R -/MediaBox [0 0 612 792] -/Parent 493 0 R ->> endobj -509 0 obj << -/D [507 0 R /XYZ 133.768 692.105 null] ->> endobj -154 0 obj << -/D [507 0 R /XYZ 133.768 591.268 null] ->> endobj -158 0 obj << -/D [507 0 R /XYZ 133.768 398.075 null] ->> endobj -506 0 obj << -/Font << /F34 397 0 R /F32 383 0 R /F31 380 0 R /F8 349 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -512 0 obj << -/Length 2915 -/Filter /FlateDecode ->> -stream -xÚí[YoÛH~÷¯æe% ìí›Ý;O“`w±,°û!ÇÌ#˶fu8OþýVõÁnŠu$ñ 2 Y¬®®ª®úºš*±…?6bBR›‘¶œ0ªFÓåÝÁ£^°À"$°0¼ëyXi Æ bÊœ¥Ãʸ!%ðZ•„ 7ÙËë‹¿þCÈ‘%V‹ÑõmR(ð\ß¼/f·õõú§ùÝ}ý3U”SøÏðꇓBq5~>_რ?ùåúG˜´`ŒXå…Ôë‡ëõËu]¯—m!/«í,ÊÉÇ_üý:ù€*¢¹iJ çƒf‚þ‚›%¶dÈ7ú0Š¨÷aºÕ’åü˜ÀÔ0«ð!¬ˆ–í!ECI‰sÃœ½`£åN®Kw³H7œi”*Ö¾»¿¸)ÖI±ÎŠB¸GQ2X3Š¶îœŒè ¢FOïF¿ÐÑ Lõ룣Ÿ)õ -üˆTõM2m|È£‰íðDòhЬ° UÀÂ@Œ@kʳ&E%OQ)¤"˜”e ÂÆM'N‚°LV¾J(g.n!AMŨeÐ-ŒÕu‘S›HXä2êî:‚QÍ<,›G4ó°lž†ªE6O#!£ækýõæ¸ÊŸ¨heK¶J¶·¹Œz¸#Õqó’ˆÀÍÙ' ‹†xP”PëãᇃÔÐŒJ·è1.A7Ju‹¸Èˆà&@ˆ¿EÑvÃ@73°4ƒnfHÙ–ˆš7ÒšÑ-€¯!ý*ÑU´+—ª’±9«!²Ë‰È -¹d/mÄž¼æ/Fâ¢ã&à@àÄE—ùǤњh…»ožÿ‰˜%z>ý2_„fÕÌ‘ò2³LÃ÷dþב•=È’>‰hå¼Ì×YwyóŒWœ¨Àû È/!œóŒµwñA¥ -ºìß»G—GÌo²²ʬ’à”õ,ÄÞlR°ñb=áfü4)„â㊗ûÙfæïªx1û­Z>,à™±õħû9P¦^Žï‘âÀp æ"ï»ò_½¬¦x·ÁQA°#T+/óý72?ng7dRHkÇW0àñ¡p…ZÁ$±R†rM;ãܸuœJ29®Qµªö7O¨Uxp_áÍÇŒâXÃõíz|4_õÎSo¢7~¦LÂõj^£;Ö«m…7½#”ÿ‡Lë-êÝ.\9” -WêÔí²TPβðôEw¸&ÆÄÁoz7cA'þ½éÑàAÇIÞIù>HY8¯Q¨Ph×Ùú%áVAM«„®¶Žûü°Œ!£ê{X”Ž. -2”Åé¶Õt¾ºëh$àJD¦9ÆãÊ‹]áš¹¹œÓ7>ZÇljÒÝóê=Ð3OÜ:¶:è´îjÄ ¾et²\!²›Úñð¢…ÍwÐɘ÷t"ÎúŸù´~ÜÌÈk<—|W}‡Ç‘¾³Lä{ãø!9ß:ÎWŸªUbm™ðEZÀê8.Þ¹:žbNàÒ–ò€P7ZxÈL¸G˜ÍÍ VeöËrLx4ðW»- -,±Â›Î–Q0ÀlØ`k*¡ŒçýËñª 8 ´Î;çNÇGtaäpNDÊëpv|>ßöú`N#b”48ÛMXYŽDtíÐùJ`iwΗxFƒrÈZéwšl{Jì¸n¬Ü=,AµÆœ#m “ÝJ`e¢ÁPåýXu¼áÅdR<}s~>KÂ~ …˜tgÉx]˜ °;J¦›{wB ª"3D¹bútãJC˜dncŠAúc8;áÊVn”Ô×Ëþ¦P^ËEbN¤Ü.€’0ÂCâN¶ Ð^J Ox®ºù„ ûøÆ Öس¼€bŒ+ÜKиæÏ·¥Ä \$öœè_ Hì/Ðm.(ü…Àø1ÄDk–«Þ$¸ìö¬ƒº­÷â\²œYTá³õ[eU¹ïm`DeÍ弃ÊËùͧ –=$³3`9éðL¸ åb.Ã!Q—\vq9°Äåà§\†cT)ø0.')ÏË’è’°žl]f8væ!Ö2¢h›ãsCËaZ¥sœN´~ Ö'”êÓ H ë(%? -©‡¬m —ã;RåHI-Ô†õg¢-ÔNÄP›IYÊ|ʆÖÁð—ý‰ñ ÿ}1rò„K¨¹D·°~ß|%ã@âwg‚x£Ä³ÕÖ²‹áxôC„ë)­åQü4áBC‘t ´NRžÂ϶.BxfÞ„˜`BàQ<‡ðHË!<•Æöš _æqqºÁ…ÄG!ø± Æ T À%ÇïdT‚ﶡǢ·iÖ¹OúUoª\öçÄŸ ½%;ŶÀݵo[¯Œ€Þ -|m¡úÕà›B¡øîWé¡üKTà™g[Ä¡8;¾EI¨é)Áfö´6~'ö½ø]–DcæGõ"œEa¡×ûJp/&“ò<øÍÝæB2jζËH×(²¸±Ì×tÁ»Œ…«Èˆ‹œh‚¾Î¬ìnÇ.*ñíú¹vip$Ã@}œq\4.†½Çj«XF\dDˆCêâЗÝøZ¤=øª7.û#=CeüÆódTÞ‹\âs‘ëÏÊ€ŒÒ ‚²P–P]v@y9¿ùí‹€r£Âï†ÉNxrã³q9új χڣÄåLÊóà28[à›æ膕ƒx®Âóà®<Ç×év¸ÎΤ<ž -N=èCæiÜF‚‚}òP½=ha!m¢7ædˆžh¢§Á{ݽÂÕ>éÆjŒ8>âp¸ÀV‘c }ÐbDj¯S†éy¤7´ÑÓès Ýd_ùö‰¿êÍžËþÙéúƒôØ™â0”Z=Ô‡Á¤ÿZþzbÄxÝ@Æw+Uÿ bH©±íí€)ö™Õ÷™ÕµÇWÏãú‰|WÙÊS><6-s^ØévìFy–ÛÍìÃcl[M¸õIÖu2¹Yª»™§l§‰a/Óz .$mz×åv]{M‹ýº]sÞh˜{™&vEM×þnóè{©˜kè‹mW›ÐHåÆú¾0?¬Š tÁÌuÏým_‹×Ü%?®E*cÞÛ"y†¿ýÅÞ¾ÃãNÔÎOK²öž$FØ_»ñ§>Þ°;1ï·;ð ïβ{ç×0GÛ½“v>¡(ˆÕö¿n}È8„^?ú€z -p±^‡ž½~ÓÛ·Ÿ²žBwåqb3¶búu]׊Yù±Iñ¦ðnþ± Û•'=ûfý;S}÷j@Çàˆ°CµZ¼ð¤§û¹O©}©Ó‚Õ¥ÇÜ)^W«˜jî™J ±nÊ<©e#Jr]–H@Qø¹c -×Ò_7ù:{Âæß8ƒMK€C§UÞÀÐ,N.òFÞžÎR 5‡•±³ZÎ:ÑÀ)±<õO’3áÐQ<m¥¸7 ¦ZžkÍ\p K7õЈ …kìhø!º­ŸHô­¢KüÿÞÔÆ?Xßâ'?TP¹nÛyW–b‡2¬síù«ð¹˜UÛpéâÂ-Ò`T\i+š¶šëV³j\ÊÀ óåx%ÄÀÆE묮êùÚÅ/wVù$ ¸~›n^ß®7¸C -Í—qâv+x·Í5@±DèÞŸ‘¥H<¢â ¥ ù\îN%¡Z“¥í™êæmØÙ -endstream -endobj -511 0 obj << -/Type /Page -/Contents 512 0 R -/Resources 510 0 R -/MediaBox [0 0 612 792] -/Parent 493 0 R ->> endobj -513 0 obj << -/D [511 0 R /XYZ 133.768 692.105 null] ->> endobj -510 0 obj << -/Font << /F34 397 0 R /F32 383 0 R /F8 349 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -516 0 obj << -/Length 3054 -/Filter /FlateDecode ->> -stream -xÚíZYÛÈ~Ÿ_!ä%2bØ ò0œÄ†lvg‰J¢$f)qLRsüûÔÑMR¢$Ç -0Y, X}TWWW}]GsÄ(€b$”ò£0…‰ôE`F³õE0ZÂÔß/„%QHöLN”ŒA4šHã+fðåâãç`4Ú·¯’xtíÀI2Z_È$ñãHÙ~qñóÅ¿:n<8ÂOLx”À‹[DmöXÁX¢Xægó˜ø&G“Ðh?Ö¹½º¾øóß”%~ªÑõb$L臱…&öµ£ëùG¯Nיߔ·ŸÜ\Ž'Fïßö÷ Š¿Œ?_¿½x}Ýî%#éK­·ÓóåvÌNÊ-#72;rß Ð,æ_­Ôƒ‘4"¼Á´AJ}–# ùä÷š¡Fa…ËÎMó’ ©¥¯qš`™ Š:h®óùã3°Ùmulž¼ÅfOð’zœƒ¡þ° £Çáy†SœžÉož -ÈTtž„¤îà9-›¦\? Ýfçè Ñ[€öD¿±rïAt0¨¤ 6PíÂNi_1hi§YQÞ3MO2ô…‘–ärÈ"ô£DØétZÞeßÇ¡a|ïóPp-ÄWxÈ–å“ÄŽÆC"£½w¬°$j3pÚÅfJZ®·ëŒûÍ*m†û&•D‰ez5Ø3ñ…PN¬Í|¸^@ úLñêôúÊIÒÃÙ]Á‘ìÞB5ï@§”‡°œ‚×0ÞÜÉgn’ ¬$³äõÙ‰á‡Ú u›æÕÐàÚ—í¡ò ³}ߪ:ýq,{‹Ð) 0†ÖÚ»^ÙÛÂ,Ê3Âr BÜÓåYòÄ nœ½ ¢zÛÊÏúFöe‹+î&öVH.$ÚÑNZd¬˜ö=fë/°`ï{(‘_áÿW…RψÓï7œCD™ý€sÅ?╹ Re€W8êí÷±Ã2;)½ÔÂÃSÒ[ƒb_Ù,À^«(ŽÎ"üY‚§ƒÚË+fˆ}Ã?Ž')}¡åqÄãIÝ{T‡ií+ì×h‚2#Î…€SHÌI1©ŒBï}Ö¤¿@Vùþö÷f³¨¨bÃl´© ÝVÃÒ'ƒ‚©$èD?RÞ^S½a¼œŠ¸P·_­ñH‘n–X”¤ËŒ)§ØápÎ$\‚L{qÎդƫËâ.Çly‰ÕŽ -¼_êœÒhܸq;R¶o[JÒ×”;;I3ñϘ×À ²¨®ýõ‘ûPÑï§@h «jÛ_@‘;Ñð§Ü¿¥Ó-«tM%pVÙå3:z[Þ6Hµvç¤ Kþ]—TRÏ]=QQiMSÃÚfRV¹Mõ³ùΙø)ô‹ -Ú‚~i[*E„÷²­±ˆ?Tp—Ü%~!t,+·ž^IåÊ.*[x SRqó{€(h꼦"zT-]îìÎ5ص '¶W¬œ¨o6“¶šgÙœÞ"2µšDûˆÁ¯ˆ§"ãÒ0PÞWleh¦c `uw‚ßÔê>EȧÕ#Ïð+DÕ¬¸»Î,!ŒákK¸cDòLÀŒ$¼ÀlZ°Š¥‡ÛQÑ¥»ËÛ›]ónƒá¡jƒ™‰ÓOïbLxøi&‹*EG ­™s0[z2À- -mɽûœ ÞZ²ÓmšŒŽ Ãp›‡½mA{ë 7äªñ‰Å -˜‘dèmÍg»ŸQÌŠ”’×ìà Ü[Áa±Wn—«KîS`ÂÇ•wÜŸ—Ý]©yˆV4ÜÞy?Äåнs|œˆÀ¯À•Oçv—|°ÜòN<=²kmkú­bö(ÓÊÆ‚;;¢M!64䑘䢤§1²ú‰Ž ‘µ:'zké6Hº7¢mÕw‰Øœ;ã3-HÕÀl̓îè“Pzø2*h߷இïbŸH÷Òù Êà‡ø#¡6ô(Ì̽5yÓ½¦C@HÅ{ЬJ´Ê’ ‘}}[eÖ¹óí¸ä—â{Ôqƈ½Û%•»™]0gNS—@{í í´¶wÜøI ŽùéÜ]¨B?ºÝéØ^ø(àøÎoã<°Æݶ”R¬xeظ_QxÅN£eqíZIé©ðѶí]¥½ŠÖþÈ’=ÝÏ,¯¸Éz²æ‰T½2×®£ôâ5 ê²÷.•Ùu:»ö¯“7§?ç¿ŸÚ×´8ñ¡º> endobj -518 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [308.948 395.7 366.15 406.548] -/Subtype /Link -/A << /S /GoTo /D (cite.metaobj) >> ->> endobj -517 0 obj << -/D [515 0 R /XYZ 133.768 692.105 null] ->> endobj -162 0 obj << -/D [515 0 R /XYZ 133.768 479.234 null] ->> endobj -166 0 obj << -/D [515 0 R /XYZ 133.768 203.428 null] ->> endobj -514 0 obj << -/Font << /F34 397 0 R /F8 349 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -523 0 obj << -/Length 1052 -/Filter /FlateDecode ->> -stream -xÚ¥VÛŽ£F}ç+ÐH+aeéí 4(/‘²‘VÙH›užvö¡ Œ!ÁàÇùúTu5ÏX«ŒF–ìîêS·S‡6Âçð¾PŠ%:õu&™à±Ÿ<îïáèO8ˆŠ"pwã0TQÊÀ,MÖgP!S–&Ôq¤²É~ÚzïÞ«ÈÏX¦•¿}X -r˜mñ%ØuÿÔ#3›0–qpÏc~w9—;XŠ6_· ~(Ëâ5~·Âç]×\Ã¥b™°hÃÚ3A\<ø[NpkÙ±ábØ°AI›ï71û­ÓPž¢7g¨¬,¸yëâ¯r½¡Ÿ®§ßò€ã©µ®ädá7úÆ s}n†s ®Ü åcÙ6JÄ0Gqï\Õ±lÉ yÝç‹2䦙¢F {?oÕpˆ'#?N‹£ì[€‰+™úqÆ4ý¿ý錓ì–-ÊC¤h[¬$K­õ5<\ðÊARi%þÁkW -V)t -Ö€Y:Ë2]T©"a1ZÆ,ã™eçr‚Ñ6!~É4¸ãŒåë‡Ì_5äe(òõSá8ùâ© ðo‘¥ÖdÝz¨>Ý~vüO/«_Àd!}xò™VDåoÝw‡Ôq0V@ªáò“Ijo¸ŽõHk hBöGÄ5”E¦ B¢ 28“ǺÓ~º¬{ìˆ1Œ:vvŠ˜¦©÷í”+pÅÜOOg~‡„¿{Å«ùð„¥ð5Ý&A÷×@¸ À·d)ü½­oÕRWxt­(̓ -m®œžLÄRK¬kÀ£;x[ÕÛ’Ò"8o$,½)Èggy+éZ“ç–ÄãhvtgÅå™òýññWZäq¸-jÞøçÙ÷æ *ÈwžûÀPPeû®)§ øïÔcb©ƒ#ar7:éwtaæ¢Æè˜ÎÚõØÅ¿ˆìZË®ihˆ8Û{m¥Ww-pE"øÝ߬²hÊa¸êNÛî(]¶(õƒœš‘ÌÃÑäu»§ÍLº£Õ™-‡ÝzÈ`¯[úE‰V% èêu(áŒɤ´ÓX7ÏD&#&¹œ´Xïì Co¥•*ÔµR|¡ÖHOÙ_\eÆJ½¤Ý©}°dŽ¤—Ñ–dd$N®f~¨mS[‚‡éPí˜CQ÷\¨Ò²î¬}iz¡Š,9£[c®}s!LUšâû§WÜôV˜fLé›o©á ̳[•Ã­©) -6!õÓTQ’°(Én¤ú Š‹é -endstream -endobj -522 0 obj << -/Type /Page -/Contents 523 0 R -/Resources 521 0 R -/MediaBox [0 0 612 792] -/Parent 519 0 R ->> endobj -524 0 obj << -/D [522 0 R /XYZ 133.768 692.105 null] ->> endobj -521 0 obj << -/Font << /F34 397 0 R /F8 349 0 R /F45 527 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -530 0 obj << -/Length 2553 -/Filter /FlateDecode ->> -stream -xÚ½Z[oÛÈ~÷¯¥Pkʹ’L±(š¢{CÓîv]ìÃî>Pe1‘H—¤âøß÷\f(Ò¤Ç)Š&çÌá̹ŸoF‘‹þÉ…ÔZ$.]¸L ÛÅæx/naê›+éY´‰£™É•6©€ñE¤ÉeÂ*U*àY9›¥i³77WüZ›E&2§7»³@žçfûKôC¹éNM!ò_c¿z8¯àUþiùÛÍ÷°öJJ‘Ù1ïšx7u}¸Èú»åÊ*mê㱨:TÅGÿv(«‚ßvuƒ/&:Uëúc±Y*eµ«OÓG¯¿âçÚÏ,e4<‹¥´ÈÀƸÖZ´÷<í¹rÑzIþÀTMÆ×ñH1ZØ6ùý?×ïŠM×"g~í%éÙ¯þvsönl…Sfa-¬Éžr xF+ðŒŽÿY„¹˜Ãã<Ô‚&EÚ€I€¹t,’Ä97f_ù!–œPif’ÅñªDšNÁÞ8«­YÚ‡OzŽmbâqjYœ‘9N`ûãr…T=L,à×,ËÍ­çøØBØÅýÕ/‹ßâž|w%ãÅ[â;^i'œµÆÁàp¬d,”rÎ1öW?õ¶ÅìaöÔϾÎi"\œ€ÎNd ‡À¦^®@×úð"eM¯¤¶LQ&—ˆTBžÊ¡§ 53sÊÕ•B’5üó¦ü~dãìº?aP¨/Šø‹¢âì+õåΊÑYêÎZé[é¡­æ’ðÇù\[üøyâK°A"Õ*…pš-ùm¼_ª$*>àkÑ@ÅQIu{°1”.åLÔvM]Áð‡:ºc•Ëj©²¨cZ½C÷«Þ“H,Ê“ãøÀ˜3_òJpÇ©i ¿L– ß!_½>Ç×Ýú[‘¨ôy½pÀ|±Rœ(o«º)þQÜæ]ù¡x“sƒ0—Ëÿ¡‹v{ߣš¢í‘ÚüèßòÖ?ÁˆëúC1³Þ‹º—qÐÏè^:‰N_ܽÀm©ÎLúòîec5ô©:e²D˜X}V,û?é^©W‚š×y0ß»^®±/‡C?YŸTµoA -#‹õ JÊ w33š?§s¥½ê3‹>§o='’/Š‡AßúrG%/u5ÍǦRC[}ißz,¾†i_WεÔwì ) %ØR(0&´™èË•N\ôP¡þÁßSƒ†&²ÞæÖ“„,:å~øó25øQ24œ¤o8FÅQKm¦¨xt,Mñ¡¬OíáH2ã‰sp¡®4m‹€ ™ørOÀù¡o Ñ¥4ŸúuÄr•Ä&ú¥®Yh{“Ím(tÛ¨l“ ÓÞœ ›¿|ŽÊÀ H]yå­Ó1û«66*ýx[—0[ÝúÙŠŸ5z_Èjõm“ÿ ‚&iô6´ï.ÿ7¾ÿ—ËË£_8lÄÖÇïó,å1 r Ç÷Ü’V^𡆿BÄ®1ûZ\€¤+è‘AšF‡ú‰$½b6°û %OÀs‹â¹Ç¾ÆÄA‹£çÄ 5`[“HrdÚå›âÑ6(»b—vÂ/h7‰ž6°âwHª1‰êfLØ0¥«GíÙ±7ΨSYô(*uŒõÊ‘_fÉ:¤2â²Hro[¦õÀ>Dý8à‚ðÖ o Àvß«‹Á°Cþæî«+¦Ý—Ñ–^™á–ÝU¯HŠüô)¹¶VJ$!©¾ƒcû$žWže€lO€–(i/0.4_OÀõ²ÏFïØÝL6ÇF(3ÊæÉ΀ðcÀ‹g”‹+ç?)ŠÛ.¯6´¥›…Ò‰ƆM<À›UøÆFÔ.DµWò«”Œ(°Kœ4 Ô7Κ=B>­54¾ìêÃÝ'Ÿ Ç8F4]Y´LÇØÆûü2ï: ˆ’²°ccc@_DâZƒR‰y0_Dâ5;»ÎƒÓ¦¼Ý‡÷®¾ µî:Hç)ÄAïÓD£»¤~¥f[4­`‰I7"3hs (^Ÿ#ÏáE‘4M¨XXÿำ«É‹Ì0µ¨v.j½è4Tîøþ¼à‡>NÞù4ÝÞQQÂÉ6÷útØòì:¬ˆëB¡Ù-½X ICrUžß'0…U¯áྠ¢rye,Ïuñˆ#E¥©kÂ&Õ‘Š+`Çl*d9æ —³Cík¼±:*À‚šº5¤$ñÍe–‚ät2tÑyïŽ|–"3ŸúC˪jè;pŽéúî4ô Nζd¤³ÅÑ#÷žJ¹Ã$Ô%ä5N€ö¥÷tè{4sÈÛŽß:ªO - a&V€ÊŽB¾ŽRø¶èò~ÐWP¬@@6v7‡¢™É•vAäq”€sAmn ësÃ-ØÏ3¥ÖB©µÞô”c_MQƒd¸RàMõ§òR`§ÙñëH]{/zƒ¦Ùóu î%|pã­Ô£Ô‡ lŠßcJ ¶-øåQÅo¾Õݾ†FûÊŠtj‹ÞÌXû'¤¿váÊY&o/z'»}ä´DBésÅ¥Ä*½LáÙúõ6aÁñäsiKf±xå2Í¡XhúÛ×uÕͶ&c…NžhM¸¼=ƒË³ñºÏ9´u‚Ûr!DÖ§.DO æ5„Ä|¸Âw# ãwhºÝÀÙàZ{ñ+2³"Ñã,o=>)š)06á)¼trSÄ3̽§ªuç -á·ž¯ÛÏÒXØþZíI0 9²ø¦75n–{)r~l¼š9Ãc -α.µã ->®&S¢|ð5#bzºpBZ5>¼¼©»ý ²³ÂÈOG—±JúÓÊv6J•vÏÃPIßö£;G¸}ò\`ÌôX!Ÿˆ›ˆTËAµ€ -s\æz´¢œÌJsþΠ þ€üÆûfÙ Ê°ç§E -j&â·œšeÿ;‹äº,ûÜfߣhè{œ9ÿF£¸Ùïjž§iç}šSÒ1ÞGb°^ÿ³I7I"ói&áÏþïÀ²:óLnchF‡UP]•<ÞŠ®%¡MM·ú/Ø&³© -endstream -endobj -529 0 obj << -/Type /Page -/Contents 530 0 R -/Resources 528 0 R -/MediaBox [0 0 612 792] -/Parent 519 0 R ->> endobj -531 0 obj << -/D [529 0 R /XYZ 133.768 692.105 null] ->> endobj -170 0 obj << -/D [529 0 R /XYZ 133.768 452.012 null] ->> endobj -528 0 obj << -/Font << /F34 397 0 R /F8 349 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -534 0 obj << -/Length 2596 -/Filter /FlateDecode ->> -stream -xÚ]Û6ò}…àP·fERŸ)î%Esɡɵ—=ô¡é-É6YÚJrv]Ü¿ù %ym'‹Väp†ä çÛrŸ\H­Ešd‹$WB†ñ¢Øß„‹-,ýóF:ŠÄÙ…ÅU”¦"JóÅj¶Ã«»›ï_g‹\ä‰^Üm¦CâT(/îÊ߃½Yª48.W:ÔA_-W2¨ö8‹‚Ú.eðy©² b€i­EØ· ƒî3àÙº¾ÅÕ12.·R9ñhö÷ÎT‰’Kø¢£ÜUìRz䌾±ä%Û¦Ç\R‡Áûvp¨Þ­á˜ßmܼe]ëìØ,OíèR®ñ“{™s{—"‹´³w¼IŽÒ'ÙQ:‹!îÞO0±%æzF㨵çµRGOÜ÷ ^=ŒíðKö€þÐWŒ1‰P]0IñÃÔ®Fp‰m”ŽÙ%XŽ‘9Ó£!Ç;íƆ¬ÏÁoÙqjqåŬ §ºw³qÎïsH«°:˜Åb¢¨fqÊ%óÿãq‰¿arD3OÆ |‹/ë‚3V@†ÒÞò|M““€Ã¾{-úFqžßˆÞª¿óï'ÃÛðäjSÈ*;óðïõ§ªzÄ4þÀ}þHPc‰DE ¥SjýµGékÒD’Ó-þ\øµ[;ÓÍ `3$¡b\u’ëSôÕ„¯%²$‹ÔbÓLJ¢uâWhR¤*õ‰T.²,C%Ñ1"É…Š2‘Å9IäȽJÅ}.y"·ñl_^è¶ã? /n~_ü.J üt#ÃÅ;ÂF@z9Øk -³z6ÃWaFê›ðd¶»ù0 -8Š¨?Jå¹ F¡£ï”Góä¾­ŸÅ'.Ÿ8@>ñÜQü -|WœÂÆ°ž£ÈÝ›ø›Í¿KÚðëåG_üú ®µ<÷ -LR³ÞÃH |d ÿd¯ÑoQÔæúBì_UæŸÑ°3u çNïâtrl˜ ˜Cí¼¤Â&‰ÀÖû:ë/Ÿ2›› -ç)„¡¿14¤rÀ#ù^]Eå~ìB7]9ÀšµšŽ´ƒKôâ©ã@Ž[zgŽ3JÑd¼iDz˜VÙéSøÆÊ{p{ºý¸Ôm‰å•ï)¡òìÄ5ö–êq­\î_ª’açÂK Ý".øll—bo÷UÓ[Ž\€Ã%iK5ÕÈ3ê‘ø•1#,w…]Õ‘†9R]\V³Ò(]ŒƒŒ'‹žô}˜³»§MŠÝ½JäT/«D“ÎPK -QÖE<žš Ô$Ê‹ úŽ0õOïCÄiº¯¤ÃøÎÝÇ Ô]¶ëõìúócðÛÒ“m,ØÄo¶É=ÝðrfšòÂ3‘ÄÙ|£7 OwÂf–ivRÁQ–š)Ð4´úàõ²gðvLrÌ@ic†‚"aÃ(¤.u¼Ý0¶i¼ŒaÂå„œõPzj¯iŠ½ Ë=«ÊeÝ—‹j¹æ'-nõ©ø¸~ÌÍCu{.# ?NH+y^´Áz"Çœ“l‰\ù“2gb¦q??¸nŽ§ßḃ»Ê™YËmÿÆ·>£À<ÚÞÓø¼•ñÔ¯»†—#+Ø…Pª=ímb7ܹKÚ~4¨Ñ7¶Í•›J'. ç)9íFàÞWÎ75סý-÷Kç ?yœÕxÀõ[õLdºiƒ›P·ÜÜIî¿x‹ê»Ýðq©ÙÆL=ùa¨8û†áܧ‚Èaî|M7¶ûØT§å€Ã5¥ÿÕË=ìÓ!÷¦¸’¨»XšåB'¿[y”Õ„s–ˆ„¡H ^uȸʞåê;?êÿ.:Ù -endstream -endobj -533 0 obj << -/Type /Page -/Contents 534 0 R -/Resources 532 0 R -/MediaBox [0 0 612 792] -/Parent 519 0 R ->> endobj -535 0 obj << -/D [533 0 R /XYZ 133.768 692.105 null] ->> endobj -174 0 obj << -/D [533 0 R /XYZ 133.768 223.266 null] ->> endobj -532 0 obj << -/Font << /F8 349 0 R /F34 397 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -538 0 obj << -/Length 1806 -/Filter /FlateDecode ->> -stream -xÚÍXKÛF ¾ï¯|© ÄÓyéÕ —M@IÈ!ÉA¶µ¶RÛÚZrv7¿¾‡#[Š´øÒ`Ñ É!¿!94U ñ§eŒHâ4ˆ3-”Œ‚ÅöB+lý|¡<‰± Qô5²936`¦‰H“.É€TéT$ ™ÅQ"´q‡½¸¼øþ•±A&²Ø—W'…<Íåò]øW¹hûâ×ÝUõ²º¾Û»Wåm±|/#9UaIÛ˜«çÓ—¿á¨™R"‹˜Õ“Šrµ«öÅÅ*oÊOÅ‹|u1E: -ø‘Çù¯èÿÛrÙ¬§3à$O\=ÊùKQ®ÖMÿ< Nùç¼ÂÿûtÔFd¸¢ÿÉã#rB䎢ÏI>¡)Î;êÈ:c3¾É}Ø™cÌMUySíV}NqÇ¿)®šËê ![›¦Ú£’­º¤gl÷Ü‹¡(–µÜç7Î?‹¦v¬÷ò]ütyòl‰XÛ Rð¹Ä<ä¼ðJ£Sx§V;Ï þ ÚMɱqúÔR8š‰—vÿ{”³–¤Ò`{±ë„–I56b •¥ÇxIOáb¬t4±N a‘ìô‚:rxc¿òo`1ô¸¹x|Áœ/” ~wtÐ7°¡úb"ý¸¾øûˆ”Nδ Ž@£zãcƒŽœºV:um«¦ŽFôÎE<“}›j:ÓiXmà±pø³t꘡Ž[•£.ÖC{=æKÁë'˜dÔ0éÚ4AOœMt-ì§ôÈx/qS£Ã¦àa:3© óMId«Ý¶]†ù=È(m¤Â¤™üv A±ì5¾—ÊbÉ%;ú^–T—Õ®¦o°gšêb‰˜Ö™.ÓoIVU7üµ)ÿ™â.ŠÍßLuVÊE^þõ¾Uàªìy'çaAK0bšbߪ;W»–a6–·½QÄ6Y‹c¯xlÖMÒpQy©ž2 ›šwÊ݉Ôá×{ñrƱÆyçp³UB&ÖÍ¡4 ão¡4n2IÓðr]ÒËÇGV× @æcùŽ™Ï«ëÔ$öë}Qו¥W‹;a¦âL$&îa±,®[Ad¨Â[N×b’ØA_íyîˆòí¯y…€£Ñg’$Ìo[äëgäv ¹V»¦qZ­N¬ µ²"‘™Ç¨DA1@A”iå)¾«ýñ $7ûrŽáÐõPr‹ÑÅlŸØW¾m¦½Å|·J™d•¸åú^aR/Œ‰-Pv·´Ø¸ÞO.xÏí4äû¥ÃKŸ¦Q ¿>5ü#2iøjŠsׂÝuåˆ?»ðbgÍ7¼Õ‹…mÇ›Ÿ`n©2lÍ~Š5Î阹K«»™ÁÝÄŒMì(ýÅ“Gax8JN{¹ª8&cgkÙÞ8l ?8M«ÜdQì&cá—ÚÖLrÒ Ø:×gõ®®˜ð¥ìÉ¥J—jª.ÃÐÒjWl; hQ8‘0êQ_;Å€â„P÷Áýx ÅÛœšž;N¸Tšâæ÷ Åé“Pl±&¯Œ,²–ËHvw~ØîqFn1x‡Â¬ê¤‰L@ll-¯äMã"dNÏ'ãÚïìÇÒo†g1µz‘Œ“¯ næ#87îÙŸY블×F9ž¸; -`Á£)%e½ãIiÃ]qÛð¬¸Í·×qxà‚#¤:d°µè¾xíSJO„‘æþÁ¼Óñ·°œo1Áð½!dÖ>ðêšT‡7%ýJ£Y>’§q6ò¸Z €W™h·çyíC¥Bb|¼¸Ð¶m8ëc8HpÖ_À*’KgŠ⺟ ÆاTVõ²àô„]V>דTk9óÓ#Ü4bÇXDMYÜY˜{ÏrURìD¾vyûücuѹG/ÌK]2%ª2QK?ß¼¬M‘×m¢ C×[— »‚„ƒ1R\dô --Îú7ëòX, ,šõÉ÷x%牅Ž·T`9ªŠ—ŽÐÇ5œ/Ž€ní2GùÙWj.­PX™pð›¤mhDšÄ+ó¤æG‡øÞæGKó4?|Æï1 tbñ¯R…sßNžÜj˺cuÏX÷“³º4úì.Í£ýÿ½Ksw؞ߥ™Îýû3ÊÆ"ÆKö„þL¢Q…<ÖžQÑh{˃öLKª¤23ôôÐìñ®Á¯Ü,ÍÆû4؊ɤTXÿCøÞ>MGÎ×õi47¨ß¡"îÓ¸±Û÷0 aÏ·$‰E&mÏ’;JÞÛ³Ì1ܲ‰¹e·›hDõ„~gê(;Wu‹­ålWõùYZ'ŒwÆxg­²Ið¡¿½ó¬n³FÃá -͙֙óü±Ž{ûHÌÒL˜8½#)Qå˜ÀS:ûÒP‹*Â&YpÓõ ˆº: -endstream -endobj -537 0 obj << -/Type /Page -/Contents 538 0 R -/Resources 536 0 R -/MediaBox [0 0 612 792] -/Parent 519 0 R ->> endobj -539 0 obj << -/D [537 0 R /XYZ 133.768 692.105 null] ->> endobj -178 0 obj << -/D [537 0 R /XYZ 133.768 499.833 null] ->> endobj -536 0 obj << -/Font << /F34 397 0 R /F8 349 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -542 0 obj << -/Length 346 -/Filter /FlateDecode ->> -stream -xÚm’IOÃ0…ïù>Úv=žx»"Qä†8´!mÓ-¨ ü{ÆYhE«¼¼—ïy<¦éˆÊ»À\4 -´eå!ÓlMÒc£s²@ZÝeî½Ê}dò‚p_d³9’ *ZËŠÕ9Æze¶>Þ8€®PH“ó×nAËR ð]M³ãZHô–¿,…t†o+òñ²#¥ïÅólXTÑa¢k&!( ±ç>uBæxÝã§&ð¦m!¡—ûjPºf{¥[”‚|»a«¡Xk)¶ì51šîH š„ñü«?/M6c^:õÞT—äÄý!uÈ5¼Y %`~®Á S=Õ’jh«nÙ|o›úxU¬uÊÇ0úV'Â6‡¸\ycG¡ªë[“^YGw7¶‰œûzIÀÓ"aD@®ÒoÙCñ×ð©“!*t7ß‹œ,òìé_ÄE6j­\Ž%E£þ5=­ë¨_ØBžG -endstream -endobj -541 0 obj << -/Type /Page -/Contents 542 0 R -/Resources 540 0 R -/MediaBox [0 0 612 792] -/Parent 519 0 R ->> endobj -543 0 obj << -/D [541 0 R /XYZ 133.768 692.105 null] ->> endobj -182 0 obj << -/D [541 0 R /XYZ 133.768 667.198 null] ->> endobj -540 0 obj << -/Font << /F30 376 0 R /F8 349 0 R /F34 397 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -546 0 obj << -/Length 2118 -/Filter /FlateDecode ->> -stream -xÚ­Y[ãD~ï_!!9¢Sëºùâa@0€˜Ýè}byp'ñ´cÛ!“¿çRe;‰§»éE#µëòÕ©s¯s2rÂ?9“Z‹8JfQª„ ílµ¿ g[Øz{'D€HœMl.´IÆHâ1ä*U"bÀ," ¥é²oîþñ½6³T¤‘ž=l†æaý[ðïbÕ›\dáC~v>î÷çÏ`(¿šÿþð_H)R{–^ÕuùCÝ°o•Ð¡?!æ #%¨£h)1.4x¾‘ÉE~¼”Q§˜cù{ÈšùëÙ/³sð™·m¾¡Už’P: ƒ-é¤òÊi Ä%9§<\=áêŽaà­;&³ž{¨×1b«ºãíÇŠ¬pâå%ù97x®Éwr°žx¹º»ZFÀ¥Jƒ#¥¹%ß…BHÔüÚ /sÊ„y…|3pµ«µôüá"2ÜdÄT…š×IðCÆžÂö½8zêuÓ¹óŽ¯/P`S¥Î¦£GñÆöVÀ¥÷ˆ7ççj”¼pí\ÒCÆ.@G·EöE×åë¬5z2~Húãœ}C¤Û©ûžKçÞ8îvÅœ 4=íÆûÃD¦É׉ -¡îXÙP9‹$Iˆ/‰¯±0pJ*CQ½€—0xÛ° pÅﲕ[»Ö š>š³ýÀ ±–x26‚`¦ìH"µTn×ø`W[~¯'*ÖOõÐÇÄZºbbH·Õ!‘ñä/&…úº.s¬9LŠe±€£ö·„¥ÚÏï ¢q’m·M¾…Ò¼eè §=T_©L‚7XÔPÀ4,^ ®¯.o(ö® h|Eˆ•*4ˆÜhg¨ÇG^âÚÖ:SÓJw¹SåÜ…¶Ü–6î× Ø¡6Šk}ãj}pìhô¿ÀF“—PHq;Ä+ãÞŠµ‚(Õ–OCt]'¹²&I…Ž&ÿóaá!‹s“-ÂPD%5¦åõU&Žá­I'®ú ÆÝj -endstream -endobj -545 0 obj << -/Type /Page -/Contents 546 0 R -/Resources 544 0 R -/MediaBox [0 0 612 792] -/Parent 548 0 R ->> endobj -547 0 obj << -/D [545 0 R /XYZ 133.768 692.105 null] ->> endobj -186 0 obj << -/D [545 0 R /XYZ 133.768 485.94 null] ->> endobj -544 0 obj << -/Font << /F34 397 0 R /F8 349 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -551 0 obj << -/Length 2904 -/Filter /FlateDecode ->> -stream -xÚZ[sÛ6~÷¯Ðøeé™%.$ÁììC“mwÚÙtÛmö©í-QŠtIÊŽÿýž @‚e;™ÌD$pp€sÿph¹ŠáŸ\I­E–ÚUš+!ãdµ9^Å«=LýëJ:m€DâÛÂäÚd™0Y¾ZÞ}¼úæ{»ÊEžêÕÇÝ´I’ ¥“ÕÇíoQ{{³N’èÏrs³–Ñp#£þf­­‰ªáoUƒ¯:*øgßµ'½ã·ßã$®+xoJ^ô­#n`lËÏï€HþÝ{¸Q6*º-¼áÜÁCýèv•Ú[ärÿ•8ÍStäòæ?‚VÖRŠÒ/âõ®Ee\¿¡52&•naJ ¯o‹î-3®šáÚ?íÚfàçëáñ3°Çc¾ïuSmÊúq½)ÈXå6`€ÙÎñØ–»âTÈô"“kÌtä{fvÍùÜÉ\V%­ÙvÅÃn! ¸f’˜W„6Öq"ReVÆÆB¥ê9ƒñ´²+mEjr$\ýµòs1דé5Ñ"%'h„JpÜÀžéœz=’ëLÄÖhKRåÒ&«ãU3¹™†ÝóB'Ì‘C[¨O”D¬ÓUg"‡0C…ìZNÅgâ;~;žèöŽâ¿ ‘¬®~[ý¯¶°òÏ+¯>\éÄŸTÁ%â\*…ouð&KQôÓØáê×QÍJ‰4MUNvLb Uøu¢CdO¥H¥]™<&fÙg>üU -P±?š4Þ(i -‡ÌµœÆê`LW´§ÅÁ`(¸Ù`!#õÆ6ŠhŒU -? ¼AcCE¬×Tô F¬)½–\=1¿NTYˆã•M„ÌŠ¼l”l†,Të‚·PxôŠØZ Ð+Òbd|…ÃCà§+“æ"ÓœWËŒùbA!Öý±âÑ4‰2M3 ÖÁ`"u°<d±ñ´>`pÁ¨2sZ‹Q…þÓ‚_ÏÞ×B²ùe1§¬~ù2}JµL‚O%©È-ÑOí…ÒÈ”êçÁ=#²*z\0DwVÒ‚ü®?ãQ‚ ðëë-.õ¥=G=2ƒìÿ*У œG  Ãè4š•ô%H•‹D{œ1†xLAL$nà6G?8«ž«Ž–‰È’|V«N=!À>[d1ÐhÂC¨I¤)îÔ´w8ZÃjÐÔÀÈm1òE| ~ÝzÆýˆøª;BDã"US‰H°ŠºJÉÏÀ¶XϪ/#Åhà–±Ô€œG—N8È6( ºÝWøs*pÛœ¸“ â6OzÏ„Uϳ„-y7€¦<Éøý•õvÁ¬p­3„ã%õwŦjögæ…|¡T2™×(w! »ööM! -fæí\þ„+ܱÐálÊgƒPa \×t¥zÀma s]íÿr뙾¡HaëñHÑ9V£YQ^ºnß.Ȭ¥H2é}¹.wÙ¨*2‘cˆœñ€Ä-}ÝwÕþpÎvÑV½’ÅkjÇZCJÍ™©›$Bß?cg%eú2;@¹IµÈ`ŠŽ_ˆ%[æ“ANÑ?™4úï®t3Ra§gxò‡žG:O²›_VZf2]Ñ‘t¨6…ãîÝË9­„ˆm‹PG¥ìyâA1²¡<Ã|·B_ûì¤6 ††Š1ÞFïϵ ”Ÿ¼öÝ -…lÌeûfx÷Šÿáó¿y˜»G×¹nFÀ†sX6K1vŠC•ÃåÕfÉüβ ‚ž…Ɉ³¾äÞ³ÈÈïó¾.ú~ú½¨ûN’Éáw‹*mJ×®t/’4ÿ²~-ÕulÑö¾_ÜÖ£“‚î½ïî Õll¯;Zò@Š¨ E æ®»Þ¸ùcÛ•ÙpɲÁ~S¾¬zïê¥ÙdÃ> endobj -552 0 obj << -/D [550 0 R /XYZ 133.768 692.105 null] ->> endobj -190 0 obj << -/D [550 0 R /XYZ 133.768 629.03 null] ->> endobj -194 0 obj << -/D [550 0 R /XYZ 133.768 308.429 null] ->> endobj -549 0 obj << -/Font << /F8 349 0 R /F30 376 0 R /F34 397 0 R /F39 430 0 R /F14 352 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -555 0 obj << -/Length 1949 -/Filter /FlateDecode ->> -stream -xÚÍÙªÛFôÝ_a¥2\«³H²”PnÒ[jÈC’Ù–¯•ÈÒ$ǽß³˾úü ™3gξõ\ÁOϵµþ*ŠçQb|­Âùö8Só8úm¦Å€¢qwåpéNaáÇ««(ŽÇ2 -W¾±ÄäÍzöÓ¯:˜'~Ùùz?×A tÌÜá¬wï½J¯×og¿¬;j:´~”ó­)CÁ™0ŒüÂØVáˆßùÕÙbimàå í5¼l³Þc¾mOw8mÅðÍbiVžw5`¤ {çÅR{%Ê?_2Û¥†¯a^ïˆó—’ØÛÁ$–$p À¯™pÔŒwÎۯૠ¤ä/§ÒæUÉòkïõbÊ{ûGÂø±º Qè|ø©‘"‘V¸›¢à -n‘n:𓌭µŸ„¬œ“ÎÚðÂj¡·­ŽHô‘u+³¥jÙxiÃ8   㜠‰›Š{¶H­ÎÒ6Û v)‹‡¬•{À^–rûJ6®1T1`« ˆ½õ!FysG:ª‘vçÎàü]å¼/É í x{tnQçs^>0Æ–UÜIl}b“Ê”«ÐÈŸ_O‚ß@’@–…‰öƒØ ƒš‚» SØaÖIj:TïVg>:îƒ -Õ‹}U½€…~…⌓H\oÀ8:æ¸^Ä[£(@‡;0)ú¤ ‹T§ˆß@]˜ãúöNa¥.Ò²áجå âï ÒŒ¢³Eßa¤ \óÅ>#CtäðÞEv¢V$¡íR±zº Ã­/3 ¸@+!®&z(ÈÉŒ“‘v–?i—›Î¿.w±ø²«ÂÖÃhAÚeS#˜¤Ú/‚ÙMù,¬ˆd[‡Â@bQDOc-™B<¤—€Ø¢K­Q€z‚Ž½T°:!êUËð=2³Ú1¨•Z§¥ºp!`qrÌ•'Á;ô$¥X€œ\Ù8‹4€ö¿”=X! ½OL®Qi–RyºyK®˜ª=ŠLâ#y‡ƒ˜]!=áB2)J¹«çÌ(ç SÕÂHœ¤—Iü`eq3,:.\Ð^é©héºö^Þ, Û*ÖßX0zäÛCpP²Àæ&;îôKþž©˜â -Ó¿lÛó«?_yÙX(4ÏpµWêä#¶Øƒ®²Ev~yf´ŸùƒìµºÓjÊ~Ƚ¬äÚY¸mÓÒiy•‚ÿÚ@|’‚¢è·UÖß]¶ÛÀx©Ì' ´@Oº? Æ`=ŽÚþ2 .p>håØú¢Ä{ó$'™‹,!A‘Ÿ7|ǺÚŽå‘/¹ãM½«¥¶@Þß*¡›¾uylÜ&N¸ü›.o3¢œnV]*àZp™êx1WøXÝÔRè*çr_†ï̵JH2?ĽG¹¸˜`ᨅٴÎÊ0Öñ<¹>↑"‰Üõk‚ñld¶ |·5‹ØömàÖۣðÀ#Ï¥°x@ݾv½¤dÜÆ ]ç¨éÕˆÕri][W—rq¯Û9•WÂú˜Ö¹”úv-­”&ÇtÛõ6é¶Îƒ¶÷+èô¼Å’Žß?³6½§ÓHÏ(ÈSŒï{dÌ~íâGX^Êâ:"ïnip`ÃPó1X?J^A$áÂr³N9ª>£<‚#’ ¢ï³›”áø‘GŒAuvE]%Œœ›·LÙöŸÖ"F?ð׃¸µ:âu%± iEøSE%/QŒ‚ kÜóÃŒ±<0ãY!£øgÞ¶<îVì£mdÚöÊ C |¤½?örŸ Ìÿ_rsùÏ.V÷(°Ž - -cí%«`µ‚·ur…ÕVç–Ç -endstream -endobj -554 0 obj << -/Type /Page -/Contents 555 0 R -/Resources 553 0 R -/MediaBox [0 0 612 792] -/Parent 548 0 R ->> endobj -556 0 obj << -/D [554 0 R /XYZ 133.768 692.105 null] ->> endobj -553 0 obj << -/Font << /F14 352 0 R /F8 349 0 R /F34 397 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -559 0 obj << -/Length 2748 -/Filter /FlateDecode ->> -stream -xÚ­Ë’Û6ò>_¡Ê%œ*‹!ðå=yÞJ*ñî&“Sœ†¢$f(B&)+ó÷Û/”(¹²•-Wyš@£»Ñï†Ô*‚j¥´³4_¥Eª(Y•‡‡hµƒ­>(AÑP~ÝØ\›, MV¬Ö3 -}zøæ}¾*Â"Õ«§íÄ$ÉÂX'«§Í/Á¦ú)Ó>ª z\« \›< lÓ þâÚýt<;Ôñ 5Î{€ëò1΂=ŸijÜ~ás#J›óÞ²ìøï0;û¯x…o]w`>,…óÄHÎ_Ÿ¾ƒK¯• -‹„oÄ÷ŽÈ<®µŽèþÝt(±l¨à+^õ<àÿ.ƒTp䆻£$º¼•Ž jðL-çT-D"ØÊD,KººDÕ‘Uªy´0°a¹„æDÞµœ¶XAñZ¹[ZŦ¼ÍîªF°æ>:÷dàÅ£(Îü‰Š»wÍ î+³ T øÖÂ6ü½™\¾íÇ.éSÍ­7¨= PȾªw{ÒÖ&€YHGQ`[ù~ÆòüV‰6iÑv"H—Û›õ–¡­G•ú –å@xÃÀ‘M -mH[±ÕAyÁèâ^£¥Œœßì®–*ΊIˆ~dß@xoG5 -ªåÒ‘Z˜«k§'a:”È/…Úoî™6ÔòŽÔŤdPßBÖ=!ý oQ[+røÓU›5j SJSmü"«×RÁº>¥ÒnSÇûÞ6~¹zT—‰ €Á'5X=†Û©¹¸yAJm%®vÿ–¨Ê—–ó'õz1´çÉ …TJ6õ½¯çoªlÞhŸ,%R-[u#˜WÞ&Õ3ÂœNE5 -|õCìn3ÓšÉ *-›8Às3ñÜÅý8gqeG]$À`èàBÑòrª¢81 Š—DIðч [šîºÝñÚÇ1ðà~„hÖDÝPñ¾T„Ht@'Ï^xq÷ÀÞ7âŸÇjseÇY¥ÆY鹤²b›ÎkÕn(n¡BÁUêõÊ}É(HŽyµ2èå¼ØMÎ9snÀ D£bIe€y¥ïç€BñMSA#TÝtÍîÜÕáeŠ˜†™c¬ú`òwäbZk €³Çv$µ6Áq¼ó uãÖ\çH-⌈Fí…;‘¸z¬^oXœ‡Yž­ Î&…ž‹ñÓã®gÈËKæOƒJø6© W'àVàQèMô¡Þ b ÊâË_nhtN †Æª:ùÄ -3ÑR#Ù0ô«/XinþׇQÛ¼eăÛÔÛW†qV[“̆FÊ{Âß“<ý# Ú:=é>#èr -5¯ö¼/|»êÓ©î(ÌñQ€ˆÇB7ÿåe…Tý‰«î÷ŒtæþÁA„¥Ö™´RÞ"à·F0 -)‰@µ“~?¿^ßü&9¬%jö=?2x5ªXnXZ9¸h“” c€¬Äl§n š:ø ~BiÙÀ&é§~ÀË|-kc®ÃÆÖŠd>¨p¾‘Ñ’”G6mI‰áÍÀ˜÷ì©lÇ9¼;×=gžõx—‹!S}é¬hpú®|ï¡uŠ’ݱ‘8N¹…„–!9¹“Io?áÆU¶„j×j.r˜¡êø w¤4½×”>¥ë”MP÷£&Ò©ãÖÉÔqCi‡v{xsÃml+Œ)n4,¼¾¨kÆ䳸:2¸/–|&µe,ˆ H×/RéF ±Ì•²°Ðã®xØS‹r1<õsYøå²h.oxû%Þd2îvu–’Ù· ryÀ¶=·®àÐ{c§ô<Ç%Nhõ§ç±ú|:MÞƒ'É2< «–óG·ž‘Ü5ÿ+--¯v=°˜kç‚•Í´Ùr‹ -©½ ÂîÛ7èbð÷rÞ~•ÍƒôäÝ`Ç;Áú TrS~=Œ4¿mÑ– mØÿŸ¦µôÆåãBžpðï ‹ÓƼ-áÌ'´³ð|šÁ°½Ö#Ò¹7ÆQšL}ñ!SCõ¿ÿ)"aW^d³Qj&ç˜^qQ‚„ßÒâ"Ô©ºôðñ²ä¥ƒ^ψA àÝzR‚Iò Ÿeňü¨ À"’‘Êâ• D''6UÙX*yøeeC˜£dðØUà-ýÞµ2°ÎKA(¦€nL0é-ÎÂ<Ï阊±‚AZ)(‚9'÷C-ƒ µGšLÐÃéIðP!‡(bMð}ݾøÑìÂÐ(vê‚ØÿP öç¾ÇÇž¯|ÅÙÌû]TW„5W (ž"7´»Îø ìx÷=Z9AÏœ"×”zëwŒÔ½þ¨'Ž—x?¾m…¼”_WØ3ip´Ãž!oJ„Y‡ì+»A›Œ^8> endobj -560 0 obj << -/D [558 0 R /XYZ 133.768 692.105 null] ->> endobj -198 0 obj << -/D [558 0 R /XYZ 133.768 266.762 null] ->> endobj -557 0 obj << -/Font << /F8 349 0 R /F34 397 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -563 0 obj << -/Length 2391 -/Filter /FlateDecode ->> -stream -xÚ­Û’Ó¸ò=_á^œª±Žî¶—:UÌœ]öRCÕÙê<À>˜Ø“2NÖñ0ð÷ÛÝ’|‰˜å–Ô­Vß»¥ˆˆÃ_ ¥Xj³Èæ’ n¢ÕÝ‚Gký¼Ei@8;L4‘šå<=‰I¬M™È3Dº~µø×sØ—³ÜªèÕm$LÆxj#k“–Ê7ñÕõòÏW¿-~zÕÓYÆ$P°:gÖZ¤ô×âÍŸ<*áØßœ)>ÀWä9l¸ó#!XnL´]¼\ü>âËKFÔˆ¯lÄV®™NÍ„­n³qµL”Òñ¾€Œd|X&"Þ/™"LÄ«ú-ÚaŠ¸D$¿[Ê<þìÆÝÆÓ¸$Ú]µ(/èE $Ê‚P9pëd@Þ{´‘ú$i˜;µ]9¸Ö‘eyªI0̳ÂÑàó£€FnàÀçýYõ«”¬þÔ?P#õ+}BÿZ2²UßÔÍöP—Ýæê»(ìz™_ŸÐšeB¨ï¦5iXj¾›ÓÔÎkMæ "ôXk³°wdBç¤e Ñ_Q€rûÃN¦T1 ЂñÿOP“€Ëáó°x‘Ø"z¿Ó§à“sï-‘[f3m= WÌp£³ag+Ô˜>xz&R)7HG<Ò¡A/_¿©—¿§<ÒRþ ËžÁ¤g=˜a*Àæ¦41ÆÜGæ˜Ø#âV"Xs•ƒ]šQ©õAšŒ¢ô¸\))™MS— síÊÁ#¢]Al -ÌE.ÿÀÿÛè%:WßÎŒ†L,t6aæ1©UO>ÉGŒhf!Õòþ|ƒZ4p@‡¨¾Š\‰Ç°ÖáœË>Gù‰c*+Z‘þŒið$#&|]?†/ðy fÄ×hâ•EÛµOÏüì³ïD Î5n‚-}Óveâý¾‰fsjÕ-ŠúyÊ;"” DðÖö+Dh³¸íû'»^ž¨U¿Ÿ*JѸ°êŒj&Ø b3?ÝÉfà†Ð$–§,Kó“£Ç (hÓçõ›¼¶rŸüa™hmâ«®¨·®ûÃFp×8øf·”Yüà&…ƒ!p·V{ÊÆź·æ¸ÇÔñ‹ÐvˆõúÅ ;v.-ÁS$š‰-ávqÌ~,WÙWz|n Ó'5N¸C -Gº^é§b…¢b Ím¼»u_d–šcžÆ¯Q„·¾­˜|H°ñó¨á>¸õ²Â¾»ñ-:P´‰»];Öj³Y»eêñ¿ßÝ£ÆK·ú.œ‚ôÊ¿„™`\5Ž… èŠZîqJjî¹ÐpI(=ï0}Ë HXËXº¥¢ñlÀ6pÁÀw¬ÿ³ku 7†)ÁÁMpuª"„;Ý9¼¬Ûà#«®&ÑŠ­gnw‡{³xw¨=ˆÜ‡”A¨_;ïŠo…Ò«mq ^xO nÚ²-Ú£KQqøaÖ2Kp•,ŒÔÀŽ\nîz7!Ï;bïŸÿX´eú0Ò€:ïö^Ì×Mýks‹.ðì‰þ›¤ÆÚlÅDtl©ŸÅHÅrAÀgOüüÄp B´àÄ‚\«û£ÚxÞ/UQþ1ŸžPî³'›ª^o: "-±ò*¿ꔌõdʶxxQu›]y„¢Ï®09µ»‡‹ób\1®¿U 3ãz.ÆèüÅÝ®)¯·ÅêÑ4bFbNá†rAåw&'L^5%pýÔÝ'ÉÍE»Ä{ªSúëCMi…îúÈZˆ…Ê¿ 4àoègÍåË? -@*Á´}âÀeE‘µjqÓž"’^ÝU[Ý8°(|À$à‰z6Ά›Ò†É,{\¸Ï†[ÀAuÌBlÇ0Ãì°–…Õ¯è5uÈ+Aš!WûEˆŠ÷Tl?Ö»ûÃöó2Ó1(Xê¦Tfj—þF¡²*|;uï*ôÙ˜‘)~õãbf„|6fNð2T\±^·ÕºðQ‚‚á*þã— ŽD’à\óKîáâQYê¦ê&Ï8t"{M4£듈‡‘w5UÛë/E-ƒÃ9 }í­ƒ%¾ ËÌéì||qˆ@á1¼iûöcžVC rÞvxCÍÅ#m7 Ÿ·Ç9n/‚»êSçVȃ!Q¡Ÿö­ƒÜ}þoÑmäûÃl>ï;^víýª»o+¶= ·Íåˆ,ƒzg'[Ʀ—#p ðæº÷˜(™ìwnâªãèX<“N& ê×xŽˆœàûQÅ3õW¦6<‹w—®ñ>ì‹õྔrLòþáÜ%"j×y|K‘ƒ t¿û5ÃnvªªmW5ÎW/¨÷n.!¿Áø£O -T\è¾ ¬}*?)¸B)ïžÎ3Q•f* IÌó4£äÞrsÖ‚3²Ö2-BdÑÖ²Ø4\aÖuÓ¥Ö¥¿^X.ŽóÀä9Ë”'ÞÑ;ò?c<€®‰Ñ*¾ÂbC¢G+:_外̚©BRgl(ÑtÞ2ÃB‚{¢D•—•^Pô%µq@ºüÌ>'ñ̵X¾Ë œ;žzΚR f3;Ñߨ =Öafèç¯Ã¦túP2eö´:´Ðñ&h (¸Z@>®;ªØÒµ8¸Dbõ//Vˆ´‹ÆWôœy†ù¹#BsÂe:åþHœ «Îœ»”ÏEÝ;\ngwkŸ -üm×õRS3mýo®tR©Xß»ËèQ}ÄŸ`rúÕ¯ÿIcü¦6™?Å8”/5¥2tBÇEÐ׬,gÊš/¿ê 8³§UΙ… µÇÀÓ”™=2¥)Óø{Å쨿À -endstream -endobj -562 0 obj << -/Type /Page -/Contents 563 0 R -/Resources 561 0 R -/MediaBox [0 0 612 792] -/Parent 548 0 R -/Annots [ 566 0 R ] ->> endobj -566 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [218.672 115.766 225.646 127.721] -/Subtype /Link -/A << /S /GoTo /D (figure.2) >> ->> endobj -564 0 obj << -/D [562 0 R /XYZ 133.768 692.105 null] ->> endobj -565 0 obj << -/D [562 0 R /XYZ 228.289 619.834 null] ->> endobj -561 0 obj << -/Font << /F11 451 0 R /F8 349 0 R /F14 352 0 R /F44 460 0 R /F34 397 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -569 0 obj << -/Length 1459 -/Filter /FlateDecode ->> -stream -xÚÍXmoÛ6þî_a  ËW½¤(Ðk·+ÖaÙ§¶He‹q´ÙR&ÉIúïww¤Þ"» °H"ùðxw¼ç!±äð'–B)GÉ2J%Ü,7û_naèû…ð¥"°ud0ÔqÌtœ.Ñ…—‹§¯ –³¼¸–11“ -ºò÷+0¹ -…:øy½ -#ün¡lÚU¨b|G­\è²p‹ªlày¾ - çÁ«¬)l½úxñæékL ÓÚ€¸ÔÖ”u±AôâÕÅ_¬¦÷ øsñþ#_æí›g*M–wðÍ™HÓå~¡X” -ßÚ-~]ü2d£³ŽŒQ6&Ω8b1&ÙÈÑ»ÍYm]@É2ei¤pF(µd©J–¡H˜JRšòc YJeðÖ¶Ù»•L‚ªiÏV¡æq€‰ºr£ ¦°Ú[È/Bè™Ãðg7|·’qazÐBÛ`¯ -ÚÊæ“ï’G XBƒí5tåÖÁjhPwCÏ=šZïЉ‘¹×‡wYã—)(¹Äˆ!…a—$¯Š I- )\¬ uÀå4hé3CBƒéF·‡lkÏ°' °í=F¾·ÉÐÅÏ«DA%[é!Û"Š˜‚W<ïlÝTålK”€Cf“à³$ŒKju€õvÞ±¼r#?tÅŽò½¸íÅè’7Ð^ÍùÃB2aq/#®Y«1g´ì°áìh9Ž³c¥Ç`$·Y[(#üÅ“Üp{S»ÞËËe ¦&äâ9m¡àLGb²ß8Ü‹'î}SÛ«âÞ}o`»ècmÝ»±ÄT×È÷þ„ÙøägWEÙ:Æ?(—¦­)Ÿn­öüÙTyØ[Ôß{”T,™C”›ï@çÏû°›$+°½ÝðHBl™CŠŸÍ*JÀ.h ŽT$½€È±QdX#» -käÎw]àX‹u‡=›ÚfmÅJÝÕ•{È’–èA|²ÞîmggθÆé¯S‹gÜ‘ -/Jÿ†;šq“xÌÚQ‘ rvër§xÌâxš¼ÜnvYõGAD Hj:þàáp‚9:‚S!Çœø$s:Ì+»¡×·Ç*e‚xù¨øÁí8ꉽ¥kÔ-ƒõ]sHj†•Û5•ûºC`6:t‘ :[ï:ø ÊŽ‡…+ ßG;‘Ûû^_q:ŠoíÄÓ[®¼7t²PhÍ™¯}Ϙ¥‡ Ær `“ Ãg™•tÛe¬i¹-[>ËXœ0mL/Â3c¸;Çm‰™­D0®<Ö¶TâÌ®"$ØH3“ÒAÒßLP¯ -_Ž.*b‰éX‚çÑèH¬2$´ü2Yà@LÉt’Ç=fñÐói †c8ËW_`J ‹Só8ŒÀ'YÐa¾ÎùqY^NÕ”¾Óïc,ÛÚ%þÒ)Úæþlè¤ÌyÁæ‚2àŽ ÔΉ…Ùññ<=4‡RR¶õ¡wFÐEÑ@Q¯»ê©]]ßìÎn½’0¸ ƒDãmó··?9L P~Õ¢æxTµƒ)°b}ëµçì³M7T5'…‚ɨ ózw¾ÎŠ2Úy P¾±Ûömð.¬€†‡þÌC.ÚÖí$ݽ`~oˆ x?Žñ2NÖÖxÁüì†kwµ%=¾õ§ÔÔ@i{©„ÖÕŠîªB ™ï>ù–¹«ó°¤&³ß)"‰A $œ°“‰xÌï¿ŽþNél…#csz§07î×£ëÓÌ©4b\&ÿŽSÞÖÌ©Q•K.™N¦NeeþÐ-)§°âVg당’Ò°Hšy²&Þø¹çÅžRg —#=òv?ŸTçóuÔ9kA[ׇÖ6h‡¬‰c¢ -+J<ˆè)Yôp]ðÿ±âN6Ìç7I!½GÿsvpÀ<,hÅ9‹´ê¬àz*z¸T÷O–ùRa#AŒ -endstream -endobj -568 0 obj << -/Type /Page -/Contents 569 0 R -/Resources 567 0 R -/MediaBox [0 0 612 792] -/Parent 548 0 R ->> endobj -570 0 obj << -/D [568 0 R /XYZ 133.768 692.105 null] ->> endobj -202 0 obj << -/D [568 0 R /XYZ 133.768 667.198 null] ->> endobj -567 0 obj << -/Font << /F30 376 0 R /F47 573 0 R /F8 349 0 R /F34 397 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -576 0 obj << -/Length 2521 -/Filter /FlateDecode ->> -stream -xÚµY[sÛ6~ׯà䉚µPâÆK:;;¶§i›Iº›;}Hò@K”Ć]‘²êüú=€„,Ù“tº“‰ |çHF ü“‘ÔZdi¥…2±Ñ|3I¢ ý8‘ŽE`‘Ø;383Y&LVD³@ÂÕÍä»W†Ð&n–ã26JÛèfñ!–z:“R™øzßMeÜ·ðgSß/eŸv;éÌÆØvÍ·L‰{ ”¿¾}ó‰&þi"ms×À‡xºé§›×߽ʣB©F’h¦¤È•¤Å›æ9u&ã5Ϊ,¾ŸªÂ;SÑ -¹.{î -% Pš@ÿã[WÜø(µY·S•Ç7ÒòwÌ»’^8q[ -ÛÝ&Ü6;þnH‘M»#hH©n7$¥(,£ R@&ê ]°Ê·»v6Ç™%âÓÀŽd¤'C¥ÍˆUnEý„$ÿ¼]¶'hªDJ:Ž(+Ìqvûy¿Ç/›BLg™-âWy»cÞêO´Vu½Ô0lH^TËg6=÷¸)²Íö4¶ÆÎ×ÈL&©È—òÌîDj¼êÿ©AUÐóñþL"T¦S{;Yÿ^Íñ¤¬EÇM²kšÅÀªVÜY8 o¹K¦„ï®"+€?X‘ÙpNLé§à>»¾ÜÎ+^§]žnDi#L‘o嬹Àíì`Ð FKà cŽÐÚ–>]Ç ipmpdž^ãB§"ÒzTÁâÆfpr@w°TF à)¡C1ïk:èphÁŠïèÔtÎõè@OÉÃ|ˆ;ÇÜõ{ô¦î!Žº0`ÕÜ“S­‚å«@ž͇1gS)gŒ‡Í…0C8XIUœ‡_K!Uá¶|Ý”ÝiÐQ°˜“cä…”@°´Šo°í4UEÏ÷©G["ƒÓ…¾%!ôàˆ~— SÞúþ¢P®×ÂÎûŽÈ×ÚÝçŽáHÁ¬>‚£«78uiÊ]CØçš­]Ä?ñâèѪ°•r‹æh{odt•¶ë¼°Ûæ!4?Àü˜Vl¼5½Ô#€ð„µî¼µw¯Ž9—Sr:+AN=SÚÙg:/ ä/R¿Ýß8âHqÈ>–"¾?ÛEæ Ü#2 žÕ—Ÿ§..À8z9ÀÒr¯!W_ªuüKuï8Þ©»£¤T@æê™yv&°õdTZÄ;Ï\.ÂS’’m±,884!OöŽtÓ|)ïÈ‚í -«ËÞ‘±ÓÅwåŽ]Ii†Ì}§CAtÕÀƉ÷ï÷|’‚úÃG­®ßí)] ,{f <‰K:²ÆBHFE¶~]D -vžŒ© ÙÆÔ¥ ð{.8Xî®\íÊ ÷wUC0ð0&X¤¦èâf¢~ŸP¨âÒû 2Ùý7€ñ~Cg{òÃÍPŸÉj¨Ê¬ÊD.s¬Îþ˜|ø”D (å^O¡‹<:@;²(¢ÍD ©s×k&ï'ïÆRÏËšÂ¸Ô •Ê d=,ˆº!FØÜfY¼>-Áa€P©áQì}t³P5Õ€)•xØ—çQć"µÏbf•ÈrùÑï™Doÿ’Ì÷0ý5R¥×|0’°¾@– €{ÄâIÈ’‚V³b³ÝnApð6 übÐÙ UC˜4€(5µË“sâ$‚BCo!`,(WÊ\ç¡°Hª¨’šaR@zÞxÆí>ñ«Ø‚…&~O¬‡UFc­âLú÷É|?¥ßÐ(MŽ{ ø2!óyñ¥àmëÅ}³mspoH)h[•¹ö¶…Mê,—ŸiØDži Š€í‰ïo­iƒ7Áä€ø¼•áŒûõä¸^âדãzž•Â°Þ09 †öþH ¿Í@ª·~Ä -°Ÿ°z±Â}±ÊAê7ÔŠ\)ˆð ¸9ç 'OÜ5lNYàÝùè½ûšåà ‰Ïò*M…¶&¸–(w-ùy»¨ï±¨YìùjbðjBÏ7ÎOX[<ñêèJÅ’o^ëjÇýñ jóÕùéÖâ®bzð/–ñøPb²ø§á'dâ7ñvïîc@ZÓ»øýX_†’nz]ðÃÍñÆ%½Ì&ã9=Úu.¬-†gžr»pïÛp©Î0¸ºk÷¨ˆ„¹î×Ü*ùCÏR«µtÊm³w†”Ï]$¥ÛÕÐíq•¹—z[¯V­Ä*{¸,À®þˆ&ÿ‹ éÉ„›ø&Ï-wã:;yRq?ž.õ?íSœ_ -endstream -endobj -575 0 obj << -/Type /Page -/Contents 576 0 R -/Resources 574 0 R -/MediaBox [0 0 612 792] -/Parent 578 0 R ->> endobj -577 0 obj << -/D [575 0 R /XYZ 133.768 692.105 null] ->> endobj -206 0 obj << -/D [575 0 R /XYZ 133.768 667.198 null] ->> endobj -210 0 obj << -/D [575 0 R /XYZ 133.768 501.922 null] ->> endobj -214 0 obj << -/D [575 0 R /XYZ 133.768 280.302 null] ->> endobj -574 0 obj << -/Font << /F30 376 0 R /F8 349 0 R /F34 397 0 R /F32 383 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -581 0 obj << -/Length 2899 -/Filter /FlateDecode ->> -stream -xÚµksܶñ»~Åg:½›É¡ðáN?X§u&®X~pòº£$º<òBò¢èßgÈ#)Eî´ã±Å.ö½ Z­$üQ+¥µHâtg‘PÒ®v‡ ¹ºƒ­¿_(¢ €(œ-lnµIÆH“1È TE©HfÛDDšˆ]^_üå[mV™Èb½º¾.ä`®÷Ÿ×åÇr׋ۦ-®šªi7[Ùõë¿ñïOÒJ‘}ƒ³v»–°¬þºùùú; ½´È¡ºªò®oðЫ7¯‡ãßpH)‘Y;:uI§.¿òÔºzÁ©˜O‰²¾m^Æmâ¸É“w`l7M»/Ú|wíF­‹¢~ælùÏüPˆòÛ¦îE·Ë«‚‰{ Ñ‚”ÿÄ[Ǧ+û²©ËúŽv;àQs8”=’Þ/Þ·ùÇ›/Å®ïß7ŽËK÷{˜½x{=˜©´"ŽÌÊêDÄ©yÎÁÄt& «põËÊïI¶óa+aLŒk# YÜPYl²sðí/E‚„á_$½U«ÃE„g4Ž«0Ž"‘XcSXRg³û‹[À‘­è諾[ “‘)‰%!‘ˆO:|*`g3ÂçE"ìêáâóêg¹ÚÙ/J®ÞÿW8?ÁñïpUù› ÃR`>=ñK -Ym³€¦…‚y@˜‰¥ƒé;¢!vhc… ›Ð![z3³‡i„h¬(ã5$ ƒKÄR¤: UXMÅ‘” ,™A•~éyåǽôTlÆH¥§â@ÖÊ Œ3*N¥ÿ;œŸÂ²ò ØÔÀã.j -ç—.†$¡Q·ÝWë6÷¢nm’’n/¿R·*Ò$Y$‰4Ñ.bŒÐxß°T…¥àáÕèèh‘uœ¬øoÆZ¦ g‚§¨ŠÚQTE·Ëb8:Zd}#«H‹ÿ*ŸFÖ3<à´ƒ Î AESH¿Ä€-…åPŒÉ× ¬*^¹+z˜p+ï=Š®l w´-ºSÕw¬eD‘bLþ x-»G.u–2>V|¦ƒöC¦ë´^@DNã샎£ÛÓˆ°.h'ƒ®*ÈžŒüÝ’Š K;°®oO`Û€¥…èÉBàQ¶îó²îœßÅfd{Üu÷î\@ÇñÈËë;Ì"qâ“Ï<áCj…MræÊewr_„¨1iÐ~éVZçæXs†EïÀÀfR—ÆÍ©r¹€ ®Pð ïûóÈÍ©_öÓ‰g¶ê¥Ì–Æô’$I¬é§cR”Úå¨Ú=ºô ¾ð…åpøÖådž9I’,ÿRw„Caãâ-“;v<>u®&"íº[³ûCI•‰Ög•Ðû¢Ï?’h»~.«ßsÇMÁR€0" –ÚLªå¼oZ¶^Æ þâd‹—ËÆ(iÊݼÒXk8®"³þ†A¨‚¿£UtEß»Š -íkzÔo -¥F¯© ‡.”£1Gà2Ý._Þ– ï{¸ ÷ùÑmšÖ'¥“^ÁtY3¬`u¸]Âlz Iªéܹ¡Û3ƒqãÆ}Ž“_ÊÅ<—º¢r´ðè.×-¼cÎÕtÔ ¡kP¥©°è²>‰ Hð+Ü=«]p—Œ~1Ò¶9߃@q¡Uè⬷c3®1Û‚bh~Þçÿ Ž‘ "q »ïç{ìN]˜æþy*vq/:dŸà‚å¯Ôg£ç`w‡ÙljƒV?ñ¤1©-?]Jé|Í–’;âÒ¨IÙ5—Úrþ¡ Ÿ¨rí(E턼ì_ï¿ÿóÁÁŸ”6÷W3“þacï”ÿj¡ô„ø"Š‹¹;‚ ÅOÖKÇ“3‰|ï»6Ç¡ÿË{¶ºS°ghó&³{=MøþÃSíC”Ù—}¤?ù‘ÊÃœ5iWÍñQ”ÿCÁ/ÈG÷Ô‚|îsôyÿ¼%²ç¾o½£Ï6?‡¦/–>1¹­ç¿1qƒÀÄ?ªypŸþÌDFè>3MžÑ¸ÛŽ›âDðaþn0¯¸5´6¡/Eέ0ƒ:€ !a…?ãúgKUªÕÂèèž™ Ej=®ô¿ž‡‡òîÞçzã*«qÀ×çñ¥¨ùJCcbJÚøBûÇ2¼C9IJö¤²ó²Ó!os{«¢¨…¥UåJM£Óõ‡ =ÍL"漉Vè¡H`+˜‹)‰ëÁ“<âsÙÈî™ná¡šR™d¨«&Ôš¶¼£˜˜WwsKw‚cO6òüEàß›Ô<¡ÚåT±ª'B …Š Þ÷J $8ã+Kè{Õs!<|ÞÉS–j\›Â­ò®¬yºcè%œåÀêyÄÇ‹¹££ŒÿŠW&/—l_à¦:3󬌡xT} Aár=ª6]µä›V> endobj -582 0 obj << -/D [580 0 R /XYZ 133.768 692.105 null] ->> endobj -218 0 obj << -/D [580 0 R /XYZ 133.768 353.88 null] ->> endobj -579 0 obj << -/Font << /F34 397 0 R /F32 383 0 R /F8 349 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -585 0 obj << -/Length 3164 -/Filter /FlateDecode ->> -stream -xÚµZmsÛ6þî_¡É—Ò3‚÷—ÜÜ'M×&ñM;“tn(‰¶ÕJ¢+QçËýúÛ)ÙNrÓiD,‹žÝÅîÒlBá?6aB£íD;NU“ùúŒN®áÕßÎXË"$°0¼œ -i LÆbMÎ2`eÜóáp@›æÉÓðød–Ñ:t8÷ª®cæ–ÛíºDt:r*A¦Q+.ˆƒ*%_åæª&Ë”ëŠ,_×›†làEÉâù_ƒH0‘r¿^ýkQ]•ûUƒ\/êÕb¬°‘·›—«êºÉ^™ÞÜ 4ÜÙ¾©Þ7åü‚6üórÞŠS8Jì)]äax¨oû}„€Ny „õ7ÕßÕèg‹vK°tÊã[â§ôÉEaxðþy¨Œy¨„YÝø#Y=’Ñb[Þý4û½š7h_'‹Q¼2$¸Î ¿cɵ™@ÅÀÝ}Õ(óÅíH9Š/˜fVÔ£iÂxAj•¬+Hã¨æSØ|ádEh˜Ú‹QuÝDÚ>¢ }´äTˆb^â(Ëå$bL\q”›O¤! è¨ ¢ EqYv"Ñ2>0EŒ]Ü„"eRrbŒžÀé‘ô†ôúL¬®m' -ÌäAõ24êùÅ!52Ä¿4$±È#¬„„į\>ÿH%…`ûÀµ!/ûµ€µƒÿ̹¸-¶^SA®zë+N” ÉXv‡"3aÒ¡V>@|î d(àè$õQ@÷é£ÊEAûüÒå DRvH]LóÛËFGQÈ¢ ™æ„1/ku‡ o×9­y„¤i_F‡AFãC‰#@¡-nÐ ÂtpÍ -§© ÀÁ¼%a€4(lÂ@S -ny”sÈ Œ`IÙYšc`éýd÷™qF1HkÅ iÚ—ÑaÑøPâF1ÚpgÀh€Òúuˆ(w'DRvDݽ淗ŽbÝ„pdNg81Ä ­yƒ¤i_F‡AFãC‰#86Äh8šcàè¤õ1püP.a0V(¼/òÆw-£´k̺”#ëN1lò1>A±Ú…fÇ‹º¹ m¬¼y††RÏrPbš^à}Z»–¹íÞ $BŽÃµŠ³o NK8fÅa'‡s5ä®ñ²ç¾Ÿ´CªïË VÒ†«ÛùX›ï·Añï º*;µQ¯§¡!XŒu½âôîªbn‹›ÐßÁ&6ö±-U-ÚQ@¡¿¶­WÃÖ‘ï¯ùi·ØdŠ]º¶Ó4<; ׬å#[ž&´ÛN=ƒjYP‡–\«* »äLŽ‹~ Þžk¯1‰Ç}?ù)Œ¥má]½/çLxð'Z_õ®J²¶XÀã ´?Ãó5öîêY¹Z…N#JXT)“›Ø6[Œ™¦EGm·Øv†‰2x3ø7 |Bûºü샯c1CD·>[„‹Ãa„K\Øv„ÅåÛ<™²¦™°Aÿ 2(#]· ïG¤ŽÔ'¸}±tÍÌ®/l%U#›eÛôvùÔÉì‹6eM3aÃf#Ü[LšnÁƒÍþ4[-ÿÜWƒ=;œ¥ïc?«€0i„ú*[²NnU0¨ár8²Uì4öi,‘J}Ñ>¥€2Å°¯²Ï(ëä>¥0ØF;±Í€jl™÷ï¸p¨6ý Šß}8u½Î:~ÚÀ ¾=Ĉ×tŸIÚ×èþ¾Ï‹±2¶ÞË𓾊tAµlú1Ù‡ÓŸ+]”ËU9ÃemgŒ^ÝŠ>´}Š²©Ö]œ ‘$`¹áàD³°ŸwÕUлÚÌÃ7Œo¶}y†¹Š°£Áy¦Óàê>ƒ«x"mu]­ž†}pJùoÀñ§uhyNêà î€l+×!©?Æ &Jßø•Î**†  JG‹K¼ðõðîÕå¹ÅbòÓ‹7ÞøïBõvYâõ)ñsÕ"È,w7K ]×m~EÁûIäËz}cH:n‚Aì¼/Z$¦£fвx3ø¡\ßú´õ¶éÌÀÉpêkГJDžSJ™ÓW¢ÕÁâM¦jHF‹~'[ø<?„(/ÎÂ{Å&X•I¿ $íPÜv­‹¡Œq¨}d¹Œ&"Ø,•UxI&‹o½ Í÷þo6Mx÷ó‰Õ-þ[Â3÷wSønwò¼ÿ„Ÿè<¹Zã”ÆöâÞ8 ‹ÔýLýˆU†‹Ì£;f™þÅKdSÄ»3Z£ˆ¡·Ÿßñ¹Z,Û¿t8jªÖ¡ÕiKM<‡6" ®Õb[ܘpƒd»+[—ú ˶X -endstream -endobj -584 0 obj << -/Type /Page -/Contents 585 0 R -/Resources 583 0 R -/MediaBox [0 0 612 792] -/Parent 578 0 R ->> endobj -586 0 obj << -/D [584 0 R /XYZ 133.768 692.105 null] ->> endobj -222 0 obj << -/D [584 0 R /XYZ 133.768 596.8 null] ->> endobj -590 0 obj << -/D [584 0 R /XYZ 133.768 205.393 null] ->> endobj -520 0 obj << -/D [584 0 R /XYZ 133.768 205.393 null] ->> endobj -591 0 obj << -/D [584 0 R /XYZ 133.768 174.278 null] ->> endobj -592 0 obj << -/D [584 0 R /XYZ 133.768 143.163 null] ->> endobj -583 0 obj << -/Font << /F34 397 0 R /F32 383 0 R /F30 376 0 R /F8 349 0 R /F49 589 0 R /F45 527 0 R /F51 595 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -598 0 obj << -/Length 1010 -/Filter /FlateDecode ->> -stream -xÚ…VMÛ6¼ï¯ð­4PQüþè­Å&ÛY$@`$­W¶ÕJ–!ËYä’ßÞ÷HɶbYÆkÉ>9Ã!ùŒÁŸq)©5nf¼ œéÙ²ºc³54=Üñ"@8¾4&}+­vi,t¾ÆRiqÑ°½Xè^)¡©Ôú†â'ÐUÅ;HPüá_à–—aÝÚì^‚æ’Æø…æ‚qj¼š¤Òc¦¨f¨±f@%2A%< 9ãÉ›¨¿5<èüPø‰[îÉ¡*é±_4pÀ2Ê<~:ØQbtÆ3JŒ U3ª/8Rñ1y7yQÑbUÐCQÓm µÒŸyYæ«uŠ<öíK•“Ô;yKeí%UVM«|º¦r *ß8Ý -×·ƒ'm±-z­qów—rsE¹“œzÌ'Á=åJ8ÝY·f‹L¶p¶,(%Üq»Nciyáy³Ê–9¢$9„Îe±ÏÚ`¼5±ÀË!~ï²%vû/è¾îúíöm‚³—zHQ;9X)QJŽ¸·Æ¸[<§Ì¨NÞÎ'»¼Yæô%O?d‹ü)Ý¡AÛê„€6ÔßÌm8Õþ–;N «îè Á!3œc㳋X~?û†ÂŸfÒa¦˜`Lp'L:"Ud 9¹Gå•ëÍàCà‡PÎ’Å&͇žz‰yQ£Äd›>?~ˆ÷ç-üÔ%¦Ê0£‹zÁŸp oì™ox”fVáÃØ99`_­Ðc^ÀV½‚GÆr“5ßë2Û¶pr@ç5ÆJ^åÛv?âç¨ð·Ex¸/Ü²Ì tÕ2$Xæ#ž¬§£BŽø’Virø39¼Wp…°ƒá?>Ï­ÉñÀX¶Š> endobj -599 0 obj << -/D [597 0 R /XYZ 133.768 692.105 null] ->> endobj -399 0 obj << -/D [597 0 R /XYZ 133.768 669.191 null] ->> endobj -600 0 obj << -/D [597 0 R /XYZ 133.768 637.31 null] ->> endobj -601 0 obj << -/D [597 0 R /XYZ 133.768 605.43 null] ->> endobj -602 0 obj << -/D [597 0 R /XYZ 133.768 573.549 null] ->> endobj -603 0 obj << -/D [597 0 R /XYZ 133.768 541.669 null] ->> endobj -596 0 obj << -/Font << /F8 349 0 R /F34 397 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -606 0 obj << -/Length 1614 -/Filter /FlateDecode ->> -stream -xÚÅY[oÛ6}÷¯ÐÞl âx¿ A€h7l½ ¨=¤yP\5ñÊØ­® ºý÷}Ÿ(‰”#7JÕb“G¼ó‘l–Qøc‚m3í8aTe«›Í®àÑ/3Ö4š0¬ <Ì¥1D—åÉ?/g?>ðX!u¶|§Q†p¡²å›ó9“‹œ1.çË…ór_-raä|ÿa]-ؼ\\, £0â”ÂQh–sA,m6'¬äÙv!øücîë¾9›ÿõÒ‡alæˆÓ¢„Y"¬«Y.,Îp~!æ,|üƒgO–ÓŽ„ƒ<³¿²ö) òÄj˜ ØFƒÚ9å0B¿uÞ5Ï»VŠHGµÎnf›(w»ŠÖ[l\x ÙQ5,Câ*Îédg[{ÛF9FçGbÄ2Ž0ý¿Ç(YÆ‘)+‰Vß9FÊÂ2Äct¸öÞAìF@ƒ§Ç‘7Çñ)žém½^acóý7?‰Â)ℽ/Ê°ˆ -Íb+A¸Bd-¸=tÒ±áà&³×)yw·mßÓí¦Â@nŠ›ò§6¢Í'ÃÏ÷«ÝnUJTöqvž]Ðì ´ûsÆhö|– HÅpÜ%¸0M”Árút„s ±õØ-V®g¯fÈ^ƬàSx[Nl8¼''ûªÜ•Ûêö}yz:‚2a†hË¥‚%X EÍ\úŒôòÙ† ×ÄQǦP“J¹k¸§§0V''—]i5š–`„R Ǿ¡MC”²ÍûÕ†š¤p“²£¹g7¥ˆ¡¦æv~õ¡Ø½¹@J#ÙHIŒƒ4 PÂMqÚô ˜0Ìû„.J‚Æ\Nâ"!;1¸ì«µ÷×6W»ÛšÑÊo÷ëMTß»“fu]î×{D^ýúòX(ÞÂNÅB艥Fj¡àªµu,M­S6‚>z"vZhƒ‡OÒ‚[¸lV``÷ FyúLøõ4ˆWXL.›n!µ…üú¹¨7gdôà½:vc‚G©OŠÀá ÆiëRÔ'h"MO¾ Â Ï8;â&Ö¡Hvè>ÄYñ•n˜+HVßNú$GŒÁç÷˜u=Žû¤dö°ÔÀhÚ´>i‘+®æµS -EôJ]‰…Ruû鲪Fþ’cÒÚšà˜ ôÂ8AŸ€ÀÓH.[ÇÔV¢câš=E ÆD^S.¢i‚šA²1 Òæ£ÁÖ)ØÉô 9¦2DÛwU†M!Ä%a–u„ -äñ¨!—õÕx -N˜QÊ`Üh`™IPŸ¢ ýžDÑGqxuÆMáJ=5’‰Ô˜p2'`¥À´Û>v= ¢‡« îw ‰ˆ -v×B…(5‰8Tú6*`µ‘ -ÅÚ3„b#”)‹fÄ°·Ž”Ô¨OÑD­ž¢0†«Qà ÊX -†J&ʤ܎鯪€Áe -õuõM„‚­ytoçÊÁñŽ OÁD¼žÂÑbÁ«¥Ó6†¨X3Öbpq,¬-¤l0ô*}F‚©‰+¡Φäcm„2£=Öa&¦pp­’µ_ﯥê¡>AŠy¿Úòçj”Ó“ø¹ß66«Ù° ­¯ßÁc·*šÅÑDÀ¡–ö¥7žÀ¾'RåÒڮ΄œ1'ƒ¶ëPµÛÅá»Mˆwm—¸Çv1‡½Õ}¶K»Žä}×3xŸ ·rßsÅæÇ-W2ó’}hƒÜŠý¾¼¹ôå_Þ”›êÙvUøçEµ[ª}›¿klØïåí,IsmßUƒ'=’çEóôq3üãUó…å—¾¬LÖŽFdE3‚"2|kú† ÇÓ““è©!zw¸µÄðw‘ïË =¬ -_ëŸ oÙ¬B1O›Á_•:!¬#B«¡C*°·YÓUw–Öþ:‡i§úëïÍ -endstream -endobj -605 0 obj << -/Type /Page -/Contents 606 0 R -/Resources 604 0 R -/MediaBox [0 0 612 792] -/Parent 578 0 R ->> endobj -607 0 obj << -/D [605 0 R /XYZ 133.768 692.105 null] ->> endobj -226 0 obj << -/D [605 0 R /XYZ 133.768 667.198 null] ->> endobj -230 0 obj << -/D [605 0 R /XYZ 133.768 647.37 null] ->> endobj -234 0 obj << -/D [605 0 R /XYZ 133.768 553.271 null] ->> endobj -604 0 obj << -/Font << /F30 376 0 R /F8 349 0 R /F54 610 0 R /F55 613 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -616 0 obj << -/Length 2707 -/Filter /FlateDecode ->> -stream -xÚå[Ýoܸß¿Bk Ë#‡ß÷Ö½‡¨›ÜSrľÓzSÇAb |g(J$w©•¬õ¡…c¯È¥†ór~3#*¢áø#!%³Æ5Æ\7W»o>áWoV"‘ -‡jU¾Ü(k™²¾ÙdþònõÃO¿Ìkݼ»MÓhË@b×õûµPbÍäÅFP뿶غÿ¼Å¿Øµ~‹/¿¾ûù‡Ÿ\ã™7’äðf#“Î ß_lÀ­¯.ðÏï_.6RªõèžÕßÞ SsË\P¯ùwÓÉ;T© ž Œ}ic½èîNc7i0gºù¶zßüÊ›kñ3þþ¶¼ùýÁ» lÞ´«·8V‘ñï4çF1Å9b˜Ã+ºÚÔå°Á»»Õ-Ê°A†EÙ˜ÝÊáBÄvK É6•¤w’LdrII§B„`Â{¯ó.~,/¡ƒT4€ Œ „"¡Ðf „ -Ì) p©*ªŠª@ªFª©*ªBG5©ª =RAªN"5å–­íÙ©ÛµRS 5åƳs+H¤Tš“H-z®d -o(Ík¦9.õµ©Ûòðqˆ3ƒÜÁy£èvGRKX†Â¬Ì¥e3â<³;cû ò>~$4ò8 ý;jÛ­«÷¤¹I¬H=£b!u¢= -"ò-²]ï§9874îÉ4*G;aÓ¯SßÕ¦.²ïÆUÍœ¡ Õ·ˆ ³x-sAIö¡†ìJ ý>˺ܸZ0¹¬‡ærÚäÕ8ª-­ƒÈ⨊qô -œ÷-C«Öí=6>†xº}|î¢).ÕH8¸s$Kóõ?ﯞ¨ý•‚ò Štr:n¾`ÏÓTx~wãqhˆæœ% ¦Ñ­<šß™© ­1ÜrYiÎ@7ø¸ƒ0†ó°=jû<›ùx£—Ê´ïß¿ÏÀ ½d:å˜aºçççÓMùòÉI;gVàgîÌúÀÿxA[(\Þâe—xíg(%¡ÁpÊX¢•‰#’V´¥¯Â& ÚÐÞüÔÎ1ÄI1EU`¦*ès™…L'=+tùv·Å­A¯·ÝÇÃýÕMwu{³}úŠ>3­V÷Åã§8â_o“ɘHòAп¬6°`jmp냆˜&¦Æ&œ5ǹ¬;H•æøZb8v{˜r{)BU0áö˜Îàî.Ýž–”X§Ûa¥ß§ñ£áÉ=˜8B¨¢gH`R˜Ya.‡{M,žZÇ©UšúãöqƬÿox;’q„[0md¥%°6Lû?͘\C£Cvqn› ?Er½Û:&ô±§ý^wãjô’º±ñb9áÅÉœšòbÁ1ý‘î0zkoQ Ò‰OÎîAcK†®Õˆµ35*$Þ™[jÁ ï̽´ÑVës&•Ø¥:Ž¼ÚïÛYóâ¶ÖÚμ˜oâšöÓ~=kZÇŒÑÊÍœµ’HàfF°]øô5<Ë ;iÎäX¡)kíY Ì&ê={íŸ1¯¤Z)½µ‰â$Ö\­·Û9;k,ÖgºGK*žéצ>>‘~ÓûæïXå:.–`A´‹˸íLx}+x=gëðbê¤úÐÙVñð¼AH¨ˆU*” ’ÝøQŠçÈ–­o¿ÜÎĦÍ0ôm/ZwáQHÐ2I#åX `(†?2£Da>ºqL¿éïÌUôGP®ÊÐÙÖaò¢Eˆ,³\¼Ó1.‰¨_ƒ¥²Dõ¡d#<ŒÍÄ&Í0ôm/Z„3ŽõºoÐkrjL©‡É’Àä#€˜Å1ßÂÓa¬éeóÝgÛ¼ {…˜{0L8Ï¡4‹i“úÚÔ§l,fÚ 'µÆ8Ë ÔD¥UˆÄþØÕ4÷søÛžm]àd]»Èº6â¶G–Åbi •K$dkkSg›ufÖ´G¶µ m üض‘oŸ_d_!íÙ¶|±1ÂvèãEnbêÊmŒù¼¡Eaã¡S)Œ•ÂÁÉJÍP´öó¼ØʆžŸØC+Ï1íûFâOÅq‰…îöQ`Æbt—–ñE˜‹¯@ÏáÓ -a!„œ¯Î˜ØFϺ³‰÷óB íŸWÛ~5¿IÒ«õÇDÎAcÀÌíÇ -5Q€`˜b—iÆŸ6µ§‡ŽynLåOÇ'5{òùQ¦@%3Jj ¨ÎÎ?ÌËžQ þÅcD MÄÖ"ö×!G‰'2j½MO‚4ŠÚ0yÿ¼ß?ÞoáL:ÓNË-ŠVXl}mÖ7@“ÇÈs´v¸ƒ¤­³ Ðf{’CXR³þÛÏŸ!Múp’e¨Ðô˜ñ…ÇxC_›õ °ì1ø©àÙ-KÙÙŠ…‘œ„œ)Fŵt!¨àâV«¡¯Íû€¨h5ÜcQ¹ -=]Ue8«º\süË0'½8Ã7œßá «=ôµy_¬Žíc΢å˜ÉÏwUqoCfü -„&_ÐÞ÷Qw‡m d1H™/Zu&;^Oe¼W¢2Nç¥J.ë;s2ƒ<Nhg€-}>£…%MÄ–4kf©v ù—ƒ²'³åë‘ð’ÈÞ¼°ÕðŒÙ9ˆ{&Ë¿“áÞ…ð„2£™ØW0Y\ÕÌ1Âf%OÕ¾­&x—õD®šžÚ¯–žjIÇm#é©žJOéÁL¦§èÜU²SΤò²ÓaôøÑv6o÷B¯ ‹cÙòv¿Ç5ÊèLÊY|¨ÑÝŒ£R_›úÐ9þBO×å±åò² -½¾œ¨kˉ;B™±å4Ë)¼cÊÎzŸÐW–™V˜ú…~Îa~š~ì<::ÓŠ¼p”¿}¼kººŠÏÛiŒ/«A´bBX×Õ C+ÄQ÷`qhänßJe¤y9ðx~Xˆ:Ñ­ë÷ (½ó@o‰>M#UtvºP-ï“Û‡¨ÀöaOç AçÝþë꿺Ù-1¾Šo•ÒXô(á©ÙfM*Ž<¯™Ñû|©uwD•Ý~»¬oêoÚ{Qw‡u‚Ð#®e§\ËJ¼ÛOž$¢‡‹U:L#|§`þ|bô²!6ŒU}™£Þe¨p<}‚˜‰yi «w"NÑX¸÷ÜgÔYxìžgÚ§;Z¯]ج‹à©‰é˜By5 -Åóãðä/ƒÂ6l‘öŽïkòø¦f¦±Õ_ÀYô€ßöô¾93˜'Ñ™“P©Õ†V¦¿€q8æ,8žà˜N‡ž>nÛv0Ss°ra„9V#Ë:IÔ™ï1Dí`Ú¨êsSÔ§¼âË¡õQÒ䥚\Õ¤Fíüë ü„ðyš“œ?’q6cì9°p“*U šÍƒ§@.äA¬q,ˆsÖ „ÇzƈNÑá)Ëéë[Ìô984ÞÚÇ)V<…ã•XË@M¦=”³Læ1ãIpÿ[f<áZ½ö]Ñ7ÂŒ~‚±š‘¦úÔ’iÌ¡’sf”ì¥ - -§êÿ/ÛñTÿy*1 -endstream -endobj -615 0 obj << -/Type /Page -/Contents 616 0 R -/Resources 614 0 R -/MediaBox [0 0 612 792] -/Parent 578 0 R ->> endobj -617 0 obj << -/D [615 0 R /XYZ 133.768 692.105 null] ->> endobj -238 0 obj << -/D [615 0 R /XYZ 133.768 667.198 null] ->> endobj -242 0 obj << -/D [615 0 R /XYZ 133.768 593.909 null] ->> endobj -246 0 obj << -/D [615 0 R /XYZ 133.768 571.203 null] ->> endobj -614 0 obj << -/Font << /F30 376 0 R /F8 349 0 R /F31 380 0 R /F55 613 0 R /F39 430 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -620 0 obj << -/Length 2054 -/Filter /FlateDecode ->> -stream -xÚµZßoÛ6~÷_¡½ÙÀÄñø›öR`ëP`@³æa@Û‡4MÓtNœ9ºûã÷(Yb,Ç2¡h%Ò”¾»ãÝwwT©’øCi-¼ •‹J´ÕåíLV×øéÕŒÚ%Ú` ñhäǺûµ¶NDéyMõwÕý,ÓSýPKÑ€ –eyZÙ|eÝ-õÂʨMU«PÝÎîzèNöÚi+(^üò|öÓ¯¡Š":]®ÈPúIß,9ÿôn~±øpþzöËùöM[#ôïI?¬¯Û¼š±4ßf者ú„'¿ÎHV¿7ëngŠ/K¾@jÜt×/³·[‹Ãy¥|¡Î c25¾?.h~»¨ùæß‹´2I—pàfLƒ`…õŠ -wBQZÇLQ‹"©C’šd›¯IÜ0&7)-€l¡àìÙÁg‚]},œT+¹i%ßšÔ¨èV ËV+“{^>kãül<üG9í©ZšvIÍZ%ttfd„ -ÿ•ó77—sܬ¯Ào ½fÌâ{H35_ (1ºùÕŸi°¾ºÃŠOWë›»k¶QfSÙlˆŽû˜ô‘š`„¤Cœµ•iv4Bç½4îômÁ¤›<뇥Ñj&É Ô§l~Ž$'©·sËÁœmYöv£j×V(m¹â> ÅPâÄ/7‡U$PÊÖx6t5Ðtˆ= ÙÙê€=€eÀ—« ÀVr1N@Æ/$]†¼Z¾˜í€ô±ÐC¶R1 -™ïô²"~Þ º/ÖYÃG-åÖž@W„;åH•+¬‘æ¥òð÷)À¹PS¹Â\¹º˜áŠ“8C·¤F‘³,6QwäÐMÔ>É:à‹~jœ1ÚåÊ⪠©µyù¸™`Wå9œ€ì=•Ê7_ÀÈÓH=¤x|@ÁÛ:€Ÿ„Œ:ƒÝ¸e46,‡åò¶)Z/øîŠï¦HTðç8¥’ˆÞù‰A5ôm‡^†9[ ©ÓiÄ›ÃÈJ"$¤b`P¯ŽA”ȆÔk”/l}‡èô ®>W)àzw.7)LS€¹ç#—º?/i"2Üx¨²Ú(tÀx+¸_ËT”|žMhÕ)¨£¡õÚÁéLý^Z9Ý ¥OUþsÅ'¤*¥$RU´§èm r•}ª÷„ GeÀgß@´¯‡†\ µå“…Ûà¸Ùéæ–àe%Þ`›óN8Ùsiô”y…¹9Â\Xn?)¤& J -ÊdÔôCyGÐg®Ø%^\€€x練ƒ)ä–z˜ò¶S)å± ß4 µm)à m_M¯ë¦–ýT (¼Íú²t8™“ô=üÙxk?zLòļc§$ÑÈ.’’èö”äÕ`õxŸN>6él„<ì;ùÅGh<½×‡Î>àMŠž|óªIÀ¶Š¹”kÉüð£À4ýmïõÆ^†Ýó߬As-8¼XÉ{9A™©-*'ñ¦oG8ÐKÝ8Æv„­ÑÖ[Ã.”²ú+lVÀ÷‘ -µH ˆ7í=x2žÝS‘¢#ÒßÎàÿEl®D?‰]ôÄ»8T~0™GE¿¹gã{>ÏmsZ£؇Â_V|™»¡ Ô!_(¢9ǃæ1šôÉf V¿>MÂÖéf¯Si>_e£›ª9zŵa0 L–œ'…G~ߧ±Vû¢C¡½‘dvÌÖtÜß\n×]QÙNÞܵ7×kfšÃ&Ýu´6v¢Gf•I±ÓàhÞ°9»ØéF½3e¦l‹€—g»m5¶¦{Zf£¡)=Z>ÞŠJ²=R/I½ÝC‘A<28J¥ Ã>òYäpnÙÏY¾»•ˆÔ=zEÔ -!ù Ss}«Õ -…­ -!mt°‘?à‡´Ñi³%A—ýúÁÜøn{Yùv¿Ó[|»áí;9L0eÝùôáx6¥£äóÔ\c9™›Ñè)ÏÉfôËÅÛÍÅåB«ù_ÓSti†æÒÅ6FYmÈ`²ùÛØeÜý‹öñ/t­Žç_Bé¼=øÅ - -OJ ÔK: -Òº§ŸQºåüÉ ‡Çã‘1c,ËRp`z®]\öõm‚V¦©ó­äšq6v}‡­‰u üãÅúÅ¢¶Ê‚7$@Qo¢ƒhaQ±FU`´%¼‚LèNJÑ«ÌWKÎ ·w$£™EQo÷­`;$ÚZ¼Vå&E¹»A$]6Ÿ÷F1õìÖ[OuÿgMÒªçP¡¨=Þ¯x?¸O»Ñÿ{ÖËЯÙ=Q•Â¡mmW°fç0Ä 84ð½]¨ÿ@î -endstream -endobj -619 0 obj << -/Type /Page -/Contents 620 0 R -/Resources 618 0 R -/MediaBox [0 0 612 792] -/Parent 622 0 R ->> endobj -621 0 obj << -/D [619 0 R /XYZ 133.768 692.105 null] ->> endobj -250 0 obj << -/D [619 0 R /XYZ 133.768 564.351 null] ->> endobj -254 0 obj << -/D [619 0 R /XYZ 133.768 458.114 null] ->> endobj -258 0 obj << -/D [619 0 R /XYZ 133.768 273.926 null] ->> endobj -618 0 obj << -/Font << /F8 349 0 R /F31 380 0 R /F11 451 0 R /F1 442 0 R /F6 457 0 R /F42 445 0 R /F43 448 0 R /F39 430 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -625 0 obj << -/Length 2058 -/Filter /FlateDecode ->> -stream -xÚ½[Ënã6Ýû+´´fù~l ´(Ð4Y´Î"˜G&­“ “ºéÇ÷’ÉK›5’ à˜×$uyÏ•ìa…¬cB£m§'ŒªîýÃŽvwðÑ›º ]˜oU><ÆOÚGïÓýÓÅi?*7¡7sÜÇP'ÂU'9q’kWv?æþŠ0!µèŽŒǬêv9ˆã¨¹aýˆïovßýh;G »ùX}Š¢ÓŒn»›o÷ŸžGnöþÕ<ØþþïƒÒûÛû›Ÿv?ܤ+¤…ÊóËî +Ì’TL補#B³ËÝí—?©¤ÂãýûäóÙ¿|}ž‘‰%Fj¿ €vVñÛ3‚ PLvÊJ¢¨=ÞC2ïG¶ÿxº÷k3gUúûr7ìà¯ov”¨îßÝÛîí>ÀÈ¿vŒv?ïü°«”Êິ;åÆ’éqœv´h}Þ]'ª (a=%øf”è?àý¯DL’CzÎ¥µb¾uB-¸|pBýs¬½†uvSÖ©-hç6£ÝÅÊë˜wÄÉ|zN§(xBAIÓòpìwâœàªç2£˜Ì¹…ù«Æé Çïj>sñÒ|f´ 4“£Q3Ó ©sšÑ¤æá(5[‘º†˜C&2î“6îk žp›Ä«0µK̨‡‡C[¼„z­É‡Éš~PiÍÐTˆ¥—Pá¬j¾ï¹†jÆU½Žè®f¬±`Ø«ûNÊ*"¤ ‹ ;/‰_c/æþ—ƒàû§g/.þ^ŸcûñîÛ,ö_?>÷,,¶òc–ëÂÜ7èøñ9L£„سþÏc©¨ß¨½`Ç”3•Ú >`ÜœÕ^¹?ÐXÃyâä˜>Q—¥Žê“ä@sÃÄÛH.)9UGÀ±gጠ´‰ïvÈ9¹QÈPÅ΂PÅô|„ ¤Îà4ð!‹2‘PÀšûÊH©qT}š§Ü9‡00¸Þ0ÂK]L˜˜ÃÆi ìðÈ~ûýEÈ`m"˜fl)«ûš/6¼é…DO¹7Š›ÖýËG<Õµç)‡“ÐX§V. -Z]CԠ稗DG–)˜b°¶}º£¨U')g T°Ž4Þh¾O1ÌLQ„3á€í3ÇÌEÁ:wÁ<©ó'ÓröRC¬Þˆ½/"nÆ›ƒpxö™c:£ ÆKÛ_WÏñ«úq]µ¸Iæ‹ûA‡2âÒ…xÃ…¤c„®0!K¨µŒ/7¡œÀ˜´%ÔIf ÿmÇk[ƒ¤J};¼AÛÒu„ki{ - ’6Ñ ²-•=Ä°°õ4ÖuŽÕe 7 ë ƒ¨¥Dµþ„¨§€&QÂ_å‚ñ'áÅÖ³RÆrαKw‚ÍdRY:ÆæyÕ >kM¤XÃç—s*¸ÓÓ”òådÖp ¨¸ ³S+yIæ,lJi6•ƒ#6¥àÞÕŸ]‹ ­áÞ(Ž×úÈ`NA/½$ “2CÞ…Iåà™IÁžJ!y9q -naRS”–À€‡*5âQ¢åQÒ“ÊÍ2)]3)M,÷´¯˜”žgR9ƒQUK]CÕyž×¶©å£´À)mOAÌê -cË4Æ°´3¬<¶5 {9Ô(luJØSP“4ýÃ+–_ aUgPYÔ#{Ú[U­öÄ¥ç «šÁj(.¥]Cê—óªåà"£3¸õ„†›<Å(K¯,Ü*#CÃëp‘[-‡Yá®&õöÁÆTiW1XØUF†ìªïûC}Žëê‰U?Øëv5Eûa„&ŒŠ¿’ ¿þ;®ö·ªÆS½©‚”4FŸùUîßô+”Á˜²¬‚e i£y^ǯüC{=ù´d4+¥uKØÓàü%Ó3Nå\ à mz"B‹Ö4ÁáVÂÚ5Ð|…®šÎÔ‚–á—”˜œ»â¹N -9¤ ¡V!ÛÀ„ü€¯ì¬HQ(8Aû+ S¸ÓnX3ëïòdÚ‡DN™N1ҤxÔ:ÛW à¬sz98K_KYeÒ*gv¦ ¦¬æCÊjA3pÐ8-‡füA³–±àaq‰39S3.×g¡Ö%cK*”½¯«'õUý@®úÌäÚ ¨ý7\ŠøŒjø ‡mcJ/ñÀiÀc6°”Ä(`!ìpßÎó:VCýS7¸'mÎ$@` ä²æcIˆþ1¦R•¾C‰–p,¶“bÙgÐàºùÀ&Rî7¼åAShý—âRt\PB©i)z­ù +òO;¨¶¼üÞ!‘¥äáMG’D:¨ß«;Íá8ƒ[ÆV95ƒã[»Sbyã氜z–éXŽ­*2;UŒ!kʃGü*³¼a[3XÎ,hº]iÍd9²¯Lhd_9ˆ,(Ÿt±ÄjDœÛÔÑ&I2¬H ˆ2âhºáhL;-—8š?Å)u[Ü=¡,ÆäδÿM”š–;šçu, "8µ®éi“A[03”%`Ú¢¥öIŒG‘ò•g@âòö´îˆ®ú$Ò’ZÿûTU[Qp(QD7ôð+*åù‚‚i\—§‰—úáù{ -endstream -endobj -624 0 obj << -/Type /Page -/Contents 625 0 R -/Resources 623 0 R -/MediaBox [0 0 612 792] -/Parent 622 0 R ->> endobj -626 0 obj << -/D [624 0 R /XYZ 133.768 692.105 null] ->> endobj -262 0 obj << -/D [624 0 R /XYZ 133.768 597.302 null] ->> endobj -623 0 obj << -/Font << /F8 349 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -629 0 obj << -/Length 3581 -/Filter /FlateDecode ->> -stream -xÚíËrÇíίØ#yà¤ßÝW⊫R.EòÉòA¢(É®¥˜ˆtrÉÇè™Ð3=;áRv"–ËöÛh¼º—ú à}ÐÖv1¤CȦÓÊ®nÎÔá|õ홆XC4B//]Œ‹ùp)(üñÕÙþlákÝeï¯Þó2>vÆêÝçÚ]èóÎ_\jmÜù7G€ÞÜÝ]\ÚèÎßýüæÀŸáËó77?½úêCîr°HO.uêlÊ¥Îw8T#1¯Î¿¹Ç2÷>!ÍdÏï¯ïîïzRi‰Ò« x}‡Sïa–µHÿ÷oœxö§W$ø(‘‡ÿ»€Rþq¿Týf1˜|§´EœÔH¨Øhëá—<^u·þ‹›~©7gAuAå”: -ˆhq¤€>ž½:¹ÐÉ@—¹9óy˜¨`—ÉÒT4zž5Xµ2E´O··Ï~þt¿K<\Ö3ý>ƒ2Ö&'G4~`ûX& -p* .ý8]õ¾}óùÙ»Û_߯÷ʬ’½ÇÑ” yHëɾq¢§2:÷X%º”I‰WÏþòéþúBûóן÷ŠiC6ï3Š©:§BLyHà@ªR€S1½{´*c"U¾öZ9õkEšƒ&­ë@g yH*M -ðcÓuåu·Øtƒ¹‚¦Û@ÅÅÿîß¾à:c¿}··¯•Wð¯Þ»A“ÙÂ^eð•wd\Ôãýö p*bÌCˆÙ/¢·]Èi<ìx,¢õÑ8< -dÒÉu.ÚˆˆŠp²ú½ú'œ¼y†á–$ÁÁÂXaÞgŒ09¥£ŽeIK¦‚ú´ƒÓ—ùŒäÁð6…$šzî<¾Z€Öì)†B1T‰Óš†í šçPáÌœ¢-mIlbŽJCr£ %±.§2AYgЖ§AM}Ú¨u48ÚÆ$°8pËCzÄÐÕl~Œ: -$Í)8+¨ÆxeÄZWs@¶¢&QbÃ(Ìa´¨a-¸Òˆv¦á55ÂœÖ4H#gæ+©žÙáˆLQà+´(µ•À$&$µSs;ä5¥fNk$µÀ™9E¶C²<›0g,–‡!Rž‚Ó.C0q]HÙáöõdȆzËHZžýo#”902d”sg­ÒÂò€E˃Üujy#JlEå"ž€u â8z1+,Ïë¹åñš‹:`Nk¤3sŠ 8–S¸Ô…Z8`À÷jªÄÕ:Ê©Ö0ç—tÀ{€·NR „›DÁ½( E-ˆtKùÔÝÓDÈ£ÇK•žÅª‹zÜÖTHg4š`)%©@io!p“"‚Ãóà†‚E°ÂfE ÎYÌXÛ#z=7ÊÂJ 5D¨¥¦j œØ$J@ŠxZTƒHY`Ë0?e5Ä€-Z bÕE5nk*¤3 š 5Dpœ5DH•j5DçÔß«©W«§J À›g5ð–%ѹ9ÓàV $£¡o‰PtAR«Q2mDn^Yp‘=ì0$Ó¦ØjpÌ[%_ŠîKñ…( ª]ç•A5¸j›dpiœÏ#ZR›íÃ[ÙPù»» aLèlŒûšÌÀþ&ÁÈÀÞ&󰿈'öñÌÆþ"›ØØWd3 û UbAªŸR¨2ûKIbbw))bÔã!¡z'Eü”«¢Fณ—K´ÆLX"ÑL*Õ'*«/Ó¸4s³@ vßçÒôÈÙœ*áÀsêuVU¿!ÒØÒK/@kdy–|§Ž¸ŠKð1E%K;F¦µ$q©|¢Žc!¸HâmáJHค“—ëºÆL¹Ë\ß —c-^–Õ(dh#5JälæuᢊWåÊIà\ÃØOÔ™R®N5Œ}¹.œ¹Y F»$‘³˜;›¸(1cPÆhQ)BÊc :•"›¸(‹‰{/ÊE4ç˜Uõ"Yøb½Èœs1Æ{Á—À¹†…Ÿ¨3åÖr)pºaáËõä|ÌÍ1ÒDÎvà”îDɺ£ -“tG&ëN”™¤;*3YwTg’îëLæ\p¼¢JH.1Åô庳1Sn®¨?’‹Å&7Ëú“r4É‘%r¾ §48–‹2¾`M©!  ðB¥(ëOT§^x…¢5êo©>e¾EáÇ{!ª;äÒTL_®W3åÖŠºU ¹Èlr³¬>)G“©O"çÛpJ}\Ðòù£Š–ÎU´¬?QÖÒù£²–ÏßX×’úd]Ûz&ð¢ýàðb=ý(4pÚ•_xâ`Vž88p± ÖÞ8•oÂ]ë7<þo‡s]Azã8VôÈ7'è¾, -ÿo„A,>rpã²_ëR¿“W'…/-ÞLŽWŸ§ §å›s ä{æ°IB¨^¢ßØÁXò7xç°IH­F5nj‘¬Êùö¦yO7L›n˜ž.pž.p¾üNë¶òé*çé*gïUN«û¢Ývm6“§¦ÑMvØ{ón¡›l׺ɵ‘ÖºÉ0³žw“͘yÕÝdßè&[Ha‡n2CF´+¨ÝM¶n˜¨ú>ÇHEÓ“¨ìÞÏ-½+Í?èÑa¯ÙuÉÅÍöŠyèS÷Ì~¬íž'´Ü³ò°Ì‚{v+îÙ w«?hƄƆ†{†/L -PÔî™Ç7Ü3ÄU“µõ½Ù2D´Š{ÐÂeŸ&–K9MTÍS´ù²ïÁtÉ=Û‘gA…‘ƒ{ÆKŽù ‰ƒtÀ>ÄnØDcŒShn4Nì¹Þ™BÖ ¡D„ã¯bº_oooo_›h7Cã2ÀõL• § 2Áñ0”z†4˜õ5`µ×嫽FÈÄ ÂÉ÷ñöæz¿€zdËwÊé@ÐAdLôFÜQàPÊA^šË8)r*Q&îק)ÁÑBá#õ ÿõç Î?\øó7Wûe/Á[+¼).rc£i8¢#ò(‘yÔk?1×jžFOŒ±x²ðÚˆN¥òî§÷[5Ü­Ãc¢C¶qE’Ý8w—ØY³æ³O[‹!~Ô¨V¨ÙœõøÃ?–qÂðd«'~¤‘y¯R®{[yŽ\ACæ!ÜÍdx¹Ve?–ç^MvÓ…ÓJ·|*oh‹8#$œvlùõYg˜}-5=™’vŽ€d*¶¼±ôë_†ÞKñ…Ü|"Q¹ô8wâÕXéÙ¡ˆ³NáØݾ*L(!Ó#|;T¥É˜ã—–ã€ñ-Ù`P»ý¢ÁPRØø"~êpˆ+Þ=ÊÇð†Yû>Œ֜煜@5óÂ)¼U "µóB¿–‚ßÞ¯å…ø;óÐúC7ð> -ô“¼Ç·òB0lŸBQ*Y¡€²BÕÏSýû‹†§Yª‚6焤J¡ùeŒB]Þ¿VcW¼FùE]MÒK¥ŠÐ×rö L—M¬OÉû ­VÕ?F.8zf7C¸ñ`2ÞIÆíÞCðEO±W1îðF>D:ËúpÔAªþ¨üp·|“c!é zÞcc«nÖ ÃjrêâÂQ +GÕ`ÿXÙµ£êSùS\ó£êc—“÷ÓŽÇ7ŽªÖjýø(”#* öÕjè,©\ž £Um=š[©Éš+Ø~.Ãcûlœ5~ÏT^ž9ºÙÛÒ:©´ÌN(env1u >ƒWÆiÕìLìÜìXCM³›²Ð2;tE.-^\1<ñ¹žYmí¦±Ãœn«µËg­ÝÕA¸{>»ÕÞ–P^o A˜G0þ‚A'/à‹y|ÿ,ôŸxÕ½l¨‚憗·3OuÄ÷÷ݵ_ÿþîÍý5þ”òîóU¹ðþþí/×W÷§~X)Öø:ŸùµŽá‹öik:‘©’NDãÅW^Š^i͉x¨…•ÞäDÒHzr"ÿe'ÂÊ[v" 5lw"Ls‹™rÐr"g½3û¯ñäDš—ÌŒn;‘‰’ZNÄ©.¹¥Ÿ,å'’rgCó¯Ù2> endobj -630 0 obj << -/D [628 0 R /XYZ 133.768 692.105 null] ->> endobj -266 0 obj << -/D [628 0 R /XYZ 133.768 667.198 null] ->> endobj -270 0 obj << -/D [628 0 R /XYZ 133.768 648.477 null] ->> endobj -627 0 obj << -/Font << /F30 376 0 R /F31 380 0 R /F8 349 0 R /F32 383 0 R /F36 414 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -633 0 obj << -/Length 1666 -/Filter /FlateDecode ->> -stream -xÚíZMsÛ6½ëWð(„X|ö–fÚÎd¦M3öLq²#7ÉHv*©í¡íï($š”ÚñdÆö.ÝåîÛ· Qqü• bÖ¸ÊxÉ×ÕÍvÆ«_péû™8.!…%"H…‹ËæêR+æ¹ kª_«æ2¯weQ:¦¹ºÖ"&u¸ µ¦»|™×sfƒoü Þ—¢Úμb†„Ò¦%%[›YWú0»…íxØ n`†Žy°BÉŠMûxGŠVŽyàLWÌÞVïxõÎ>ͯ~x´Ý h^­Ìj¥]ÛJVnâ ‹Bö´W®Zú´ô.×®)þÒe»æo.g_}G¦ò̪.o+a$#i+ƒH•RÕåû·ó××ûõî÷…ÐóõnñîòÕìÛËd5!*Û„û¤ã}NŒ@¶"P¦¶(ˆyò1‚ß>¿_ÖW\óýîæë+®øëëOë›4bBDœ©…JÇCž$b³ÌkÎUVmZ*J¥’©†U†çéT’d’G“„Àð7%ŸµE-šŽÅi×1®¼7ì[,µá›r·Uo&ɵjÔäXj&Å].Í×ûÅRÌ‹%ͯÿ5T"í¶²!N€ê”EpA"Jê±H^‹$[‘EZÒY,‚”5ûxGz"‹<`÷<‘A>b4sT£ ‹)¡4e‘VñNYDKæQmSdÀÇ‹ëýa·º9¼Ü¬öû ˆˆ4ÂS´“B(Ј6Ä”s1„·ïþü{¢ghë?Á³`=šÀZ>z&ã=kT]~±-ËÒ0åt×|c3YÆû–}XŽ´k#XÖÉS‹-Rìë-èb@hi)À=NÉP"Å`ƒP6~V'üv^“˜"žéD×…ëpÎ3üÕFÖ:²ÎW˜xÆ‹Ú²#.dÐHÍe SSðuÚ¨[ B?*®]Ž¤k¥+A*ÞjK¬G „Ha ˆÚf/>œëT¼åu°"­h»VRIZ:yb³ÄÊoÊä[*ýÆ) mq£^ 16TH`»~*ÿÉ¡’‹7>üxÿò~ûyµ;l×w‡áQ#‚w -àTé"€ûᬬftŒ®€`C°"F Á)Ög"X ù”¤#!£PY:¿Æ7%áéè=ßn »ÅÓMBn.Ü0re8qÖϸ/îîÖ»DÊ›¶ŒR=ŒÒ^(%”‚‰Ù!”ª”’ÓLáh7‚R…g’”"@ï¤í¿VÎëÏ@i²QÚ’ÎB©’iïHODévJ“v[Þx1mQ8Mi…:/-³Ò‰!¤¶Š× 5‡T}vç̹Ɇ¨ß‰\IMïëÝíBðùêf}%-M@FxçiœÑñ&°  ’ Ðn½½?L$ö/åN ⤠O6Jûéý Î4öô˜”q^ìß“PÄi“¡´ŽGXÍB÷ât$PÀùË…˜o‚bµÇ_hlBƒÖÛ ú¼Á£HÐ(höõ€ì0L÷À¡éqÆããG0ø,0¤Øimû,­/PƒLÇÔ¥d«`Y*Sª\o -œ„%c›}¼#M¥†óí¢™Óc}­mYÉÊ拺åtQ£LÌ'S%ü·ê6ˆô0X¡FÆOëÝþþn -Úy&ËL ŒÀÉk…`4€Œ‡;ʺMÖ-MÒ¥½-]»"æ©áŠÍïX/ïö" ¬Öcà®Ìô´:l01­ñ¨h,Íx2¤õöþ~BN“óe¾¡G{w.y¿^ ~8¤ðITž~œÊYä²~…³ˆ´žI5Ä7c|R…É4ú…ÛŸÇ7yý3ßü;|“ë6Ì7„3·±Sø&[+òImbAa•ÍÝÜh¾0×|—Ó[ý4Ÿ§­®t:Dhâ«Hœì“ŠC ´§ɹ7Ê-ß‹¤Ôò` éÝ@Ë=#;ÏÈÿSL"¯éÇ@œ3£¨±BP¦ïJáÖ•õWÿjç/3 -endstream -endobj -632 0 obj << -/Type /Page -/Contents 633 0 R -/Resources 631 0 R -/MediaBox [0 0 612 792] -/Parent 622 0 R ->> endobj -634 0 obj << -/D [632 0 R /XYZ 133.768 692.105 null] ->> endobj -274 0 obj << -/D [632 0 R /XYZ 133.768 359.545 null] ->> endobj -631 0 obj << -/Font << /F36 414 0 R /F32 383 0 R /F8 349 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -637 0 obj << -/Length 2986 -/Filter /FlateDecode ->> -stream -xÚí[Ïs+· ¾ë¯Ø£tCü™Ûk§éL¦I“±§—$EöóS²–S[NçuúÇàîXie˲}{“™'K~ð#ÈݘFã¦1*†Ô„l•Ñ¾YßÎtsƒþ>3}pØÅPkâárxº4.¨¬#ujþÝ Ïu7Œ›Æj•°? -¹—Q6A1NÙhSYŠAZE2ÿ%#–¦ÁŽøÔ:ã±Ùʦµ*zçIG­O³ˆ” RF$Ò„@&÷#5¨­¥5u¤µ -Nï­|óŸÙOÍ/º¹Bu¿ÍŒn¾{ò‚|;+³ï¥‡¥-ö¤^QÙ‰^ƒ”z´p™+Ø–£8¤Á)“yú/—³¯¾Ûd•4—ãбØɃWιæòê§ù¿ƘùõýçúÇ?î¶7mW߯n¯¿\~;ûÛeU4èjdŒ *Ãҽ£É¸¤œ¶>VY+dK!¬ƒ…PÈ”ðX©µ©¿]¸ÞAñEÉÄþTؽžÐ뼎áS^“Ëp…ú\¼¾Ùî~ÖN¼»;ÉÁ¼b–í€bPà¤Â´³Ñ¶B’ò" ‡ áþZZšªÃ zÐá…ŽA"ë¨Ã…ðè:{eâFÜël· -ÛQ߀a. ²oR_ ‹µÙ®¯¸/^ˆ³#ÇÆå¬BêRââÓÝýnsÊ‚3†R êÈÕÜ—sz|ãRP&ùbÂê×ûÕzuE?_Sz¶Èò³ö¤tu%•\ õ`iP€–Rpq—1’µB–«¯õÁ,‡Tååp8îvë8ú«Ãg†Ø‘N¶£Ã?ŒðÙþ),‹ÚѯRt8õ -<÷Ä5ÑšÆÂ*ï ÆhéAyH¤ 3ϧ€då-îÍ€*@ïc(ëbS®WdI9ú`=ó*;“û^û!:ðžÀÒ© Åæ˜PÛš¶¡—“žöݬpw×¹¬ŠHŽöBØ -¡3*DÀ"¢Ã…ðd6ÕÈ縛v õÎás£@ÛÆkÜŽm·r.Ϧñd{Ú’4^…’ƹ¶’<.¥Ç‰<¡eàµ*”ÜJ¾«Z k±–§©ümÕI‚ÎŽ*0#ä*“¹ÑIÅ‚";³tLçÙTä³énF„séÜhW >›Ï±Æs6¼7Ÿ”Ñs’ÐYØJ¡«þÖ‡3}‚Ó¥;"D1d YÝh : -ÓX1[s”×å<&áf—² /<Åí•×q··™([{F" -w‡Jì(ÑšNd•ØIbË¡Š‰dÞËÄŽèÉA -Ììd³/{Ä>·cÂj,÷ÑÑYZ" Ü " [)LÈ,q)¹ý}T_Ì’­\ÿà n7¸Šbn\À†ªu¸øxrqÕ©¾pªyǨVŒ‰¶ÓˇqÙk_mJÈÕ”çéfÒ†üz¬´¡]moŽòÐ5ÌßUf˜ä»}#ð)ž½—„HÀ&„¾ÆâL*ð¬›ÿ°Àêmµ^€™ÿ¾0_Ý`áÑϯ6TùÝܯn»òM–Žãú 7²PŠFÓÓ¦ë1©(¤^×ïT$u<¬<ûΩTýv‚˜ ]Ζ[ؽN}Ú<Ðúÿcµþó‘þ\ßmw«Í¶ˆwŸ®oé:fÞžb£M·"Ÿ œâË=•v¢ÝÊvÏÎaÔÞÏC,Ü/GZ ¢ÝʶíÞ9ùQ{äùWcíeÂhü¯ƒËGšf3{-ÒÅx5"éÜüýÆ1à6ð‹U1 -ÌÑÂÖèŠ],u~ìCncÅÎØu”J¼-î^œÜ^ܹ] i{ -´Kì7ãôJ$,õ¼áœzòóS«Ú&<É Kc"èο­VÏÿ\X?_©‡Ç­ZßݾxíêÁ¶Hå”/¿-ýñV]t“⃕ËY‰¹ºßvV†q‚Éd6Ó¼iœ ©†ÌÓ׾ܔÉV[p׸Ï%¯A¹˜Ñ->‡Íñ¸SîÀ¨‹-qÿç¶#pú²@ú CO/¸C ËÍDgÜå“ ¹\v—ƒ}³Üò÷Žå1RºŸô¦¹G¦ ZZ=2m®Ü¤K¤Šì9N¦Ä[¢vç/~šS]— ”“øªD"AýºDjñu‰£÷‡²?{Å›HŸP¸†^°AWB¨qa°mð}S–¹¹ì[Ù6ôþ·VGÃ()=¬ßÜ€]¾±y”ü¢m|Ø®b§Éšîmq÷ö<5@ˆ0ZËQ¬é½uèC¼%*¦(ÔŠà,æ°!ÒŽ!ˆã»Çv·9-¨€‡hõ@t½’3®ç ѦzoX -b˜lX|è¡ »Š^‚Êm¹ÐÄ0)…ä‘/ä#AgÄÝŸúÞ¯ØüsÇ™ -¶Ý{LJÝj»>%š7nÓ[(¾öyùŒ}Ä\µ‰ŒµŽ¿¬KZ%ïL–b“P‰õ9t˜èí™IxøC6,%*1Y»ft ‰–’8¨àC´ ]Qe¬zF¢ÜëéF÷R¯ë:—R£è:KêñVMï¥Mô‘ˆs±€²ùÞ)—,Ðœx¢Þ÷ª„Oª ǃà$ÏV!…[m!@¹Ásy¤ …š.LFVá惔rÀ§,žªja‹« Û±xp¶ÐÅAa«düÄ8ÖbªœÂ-U¸>d,:†@óKž®y5Ï çÔ<³œgNäpžùšgPu…!ÏX”DžU©Ë"Ï@dßg¬#2äÛä-ç›qîc/&JŸõyV}Reë’P5ÎNäYä<«ÑšgU -‡> endobj -638 0 obj << -/D [636 0 R /XYZ 133.768 692.105 null] ->> endobj -278 0 obj << -/D [636 0 R /XYZ 133.768 519.302 null] ->> endobj -282 0 obj << -/D [636 0 R /XYZ 133.768 366.114 null] ->> endobj -286 0 obj << -/D [636 0 R /XYZ 133.768 343.408 null] ->> endobj -635 0 obj << -/Font << /F32 383 0 R /F31 380 0 R /F8 349 0 R /F30 376 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -641 0 obj << -/Length 2647 -/Filter /FlateDecode ->> -stream -xÚÍZKo¹¾ëWôqt˜ßÜl#k` ¢•n»{ÐJ²­ Gr¬1‚ùñùªº›]ìî‘4’d•šÅbU‘õ±XEJ7 -ÿt£­mcHMȦÕÊ7W»Õ|F×Ç=°XM­•ÎíØ»Õ6·YEbjþÕŒýª65µv­Ë–ˆ‚«5¾É¹>ëPóoÅÕFRŸO¨!„††øñ«ã_¿E'5¿œ|ÂØÌc3µC·jhF -,¤(ÐH[F†qä0eÕúæß'¿5¨æšþy¢UóËQ²Î++|ºi‚ÉûÈJ£¤65³çeãÏO\ãÀy7¹pÄÀÖ{€ 'Zê÷'ùÉš> ¶¹ø Dfò>0ÏÅõo›¿_în~WNÝßÑÏýý×Ó?.~>ùÛE=J‚+ê6øì4“ñ¶MŠ¡ÄÖ—œ½ó‰V´ Ä…wU‘ Õ©ä„Ò‚sŠÔ2@åJÿ(‰µÿ¥!Ô‘P§Ûh­u‹¦Ÿ£ò5RÎOÒÈÒ`ç áLë£oáÝ9FÆûÿ"®o>jµ¹üÞí©y¸<!Zµ):ç›mŒ¯0ʵÁÙÆEWŒº} +n{°~aäîn¯¯»›#ak<èl¦eÖmÎÞ -A¡€³P;I-ñ­“udãrÑ£„ž®Bí$5§IÏ$AP+ø¼™ŽØ¹LhSÉÕz -µ; ]HÔj.o¦ãünä·¡¬Ó±¨4X!gBãµo²ŒÊ÷wûËÛ;ÆæUwùðp$uÌmÒ¼_¼-–kÚ˜2tLÔNR³/¾uŽFSÑc„]ô¡§P³zŠA•|;ð`ó³ì 4ÓZxOêˆwâK”›ô1H°*sgx"R´ÙÓK=Ö¸ÖS¸J8­]f`¼;:ëÑâŠÅÇ›á[Ÿ4¢&íƒ>j¾Ûï¿ÝþyjÔæûþæ8Kh]د°ñs0ä—›ý—ûëgíǨu„(xj\Ûzï 6¦€A±“ÄP¼+ÇOÔ~oˆ=¸JJbJÛÝ¢‚ŠsÔXëž êµÖj-r*ëòà„àœžQ—‹1ª±¬ÆržsT¹®¢-“LkS&pG‚yžµb#ªS!Ò! Åùï•M  8áC#M³Ã~Ëdæ -ƒ±Ñ²B­ÀT¤$p#æf’ ¤F·ð¾÷=Ífˆ&s•!ÕW|®¬ú7¥Vùl*÷Ž4¹Â•Õ‚êaï -@‹uÇž*Ïœ‹/¢¯TOæö­œÆº´âÚŠºX‡¥g…/á“œ±µ/%MYyéËDLJµ•3ñÅTªIgÕ"@Jg¢7Y¥t&Ìö–t_qX^© Ï€ÍÙs‰j3ÄeË4¦îû@¢Ý©Þ´ñ’Ãù‹ÖîëéÖê }ÞÝ cswjÍfbô›ë[/?»ÜQð=Å)²/Ñ¢’ÛØÒpM½Ú|ÀÈûQw7Err›ýÍÃþ¡šɼ8Mvsó@2h”µ$œ~ý÷P(´8Å}ÌOUâ8ãŒ_©ÃAŸqn «Ü6ž*x3/Á#…HÑת4›ÃÐ_ΑK¿Ò×·Ÿ®Â“Ö'6™‘N!M4-Rš|¥ ¸í>‡è •tSkI’R°‘¼“MÏÂý&¯´K"AûZš6õøEÛ×õ˜ÁÌ‘Ú`Û=Z“ ì-ÏtåxZŠ`ÀSŸýî¾Ò¦àñÃ3]f¤Ñˆ[9C/G2uüÙ ŸSý‰‹Û‹Ä»v”ÂaW³ŽçüÙg×tjŽië %`a•*#é -D¶9¬«t¨,±“ü‹vø’tWëqJðaÓNähZΔ=Ôf)Õh*±çÜlø¼kqý\°˜æ‹ñ§é’ƒÐäü:þÞ‰?ã¦UÎiÄŸ—xìd›‘'øW‘h|,òG^⪓mFà_`òõ²ÎQÚÛ"ƒü'ÛžÇèCmF£à_´%:%ÝÕz*t¢xôl3 ‡Ú,§ßñ •°¨’È”æí8“Kéˆÿs|T-e0È´Bõý±PT±­Œ‰tf[ƒ0™Œq‚ÚIªÏ­Ñ°ó& ‚º€pœ`„]ô¡§Pic=E‚ VÐ~3ç²Ç³¬d»iî··mZr*s'ºÓîe‡"ûXh8ùºÕÂ’r‡D·/‰`Ö-@I -¡¼Ï},&ª€ð,¬[:gljǨG¸l¢ -ç `ñv:Îe„Å$¥‚…”#`!tJXX‡„{ý -XPR…´ -‹çD ‘ž8 ŒŽ ‹Â*Žmnt+júC$3GhµMŠlK¨Jµ&Ñã(ƒ²8¢¯–s5ÉEáf2þ5BŽç/*"']>ô¥¢]Xè ÛÊFÀASR6뫸=•¥ø¯Çàm´Xž¹Õë[‘¶FFViâÿ…Eçk%àÙjµ·Zn/@¸Vn[˜måvÊíPù{¹ÿòãË^ åÅSU/R ì´ªêÅ^WZ§Ðº]VÚͪß2¤ª=úª×ÅžîI(¬L-ˆŸauÕšGFÅ«‰Ã@NSb‘¢Åc®l=]¿Tn_“/LyUžêi"çý;w›—L#‘˜Õ?¹ˆZ k“ãVžñTkÈ·T6‡>zùíiHWQL‰¬)hmñSSè¥mñy'ø$uî°­—¡Þ⧡եZÊIZ,Òt-mpÜk%‹ìmíœÄŒ­®âÙ"sp<ºçšÚ̇Ã'X\£Uv¤»RDðƤ&oýtªýæþþi!Á.³&y¼þÜÒM$Nv>—íß|÷G mY¨Z@H½>ßy±MÁ°[Æ0t½Ôé¤'b'‰Ë~¾šË‹í•‘¤#•e@ 2ê‰|Î÷h«ÆÌïµW˜vëÒp EnIZ,ÁS¯$<€ã"kC¶Bö¶±-äÀù—Š¨2A‰Ñ‡þaÑ°*ºÞʉŽ­‡ìúACAFyÙAñ+ÃI -Q¬ Ø4豤oþ@!&¡ÉÖ…# µZÑ‚Àjõ_ -ôJgbEÞDdŽN;S>™ôˆ?«é¬ =ZÑ–«±ôéäÅ-ÍÞèÊ[:i”rÂ[DnüŽÂ‘Dr|˜ O1ÐËÔäJ¨ðœ¸N¾$ÛL µìÍêœíÏÕ«ÇlêÛç!øõã+ŽÞ>0|û> endobj -642 0 obj << -/D [640 0 R /XYZ 133.768 692.105 null] ->> endobj -290 0 obj << -/D [640 0 R /XYZ 133.768 526.302 null] ->> endobj -294 0 obj << -/D [640 0 R /XYZ 133.768 503.596 null] ->> endobj -298 0 obj << -/D [640 0 R /XYZ 133.768 369.684 null] ->> endobj -639 0 obj << -/Font << /F32 383 0 R /F30 376 0 R /F31 380 0 R /F8 349 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -645 0 obj << -/Length 1782 -/Filter /FlateDecode ->> -stream -xÚÝYIo7¾Ï¯àQ:ˆå¾´5 (\ù–æ`8Žíb·± @|¿Çá&iÛz°Ã>¾íãòF2’I­¹w¹¨¸–]mÁn0u6ÈÌ¢ X$f&Wev%uàQxbb³2/&±6”Rq—U\)é=sŠ‹ ½Û•YuBŠ­ÂÅ6×æG²²Vsñ¾½~ú5°È£Óìâ3ÀÚÄcá:²‹O¿m®—+¹¸¹\~¼x7ürQ}ºiâëMæøýlܲïÃöQ°Oüs‚½O|›AnŒ´ƒ± V@âIt߷ú®ìÊX•1†É¥vÁ<hð<@À©Múfük)·§á\Ÿ}²‚ °’O+é¹Ó‡¦ÇŽ¨=ôEçˆXÅ;bÙz(V1#p´;ak£àAFÔÜ(™ ¿M[»= ²µÅ¥È…–ØGœY c!àà'§Ç&ÔH»[ =ó•Ü{wÊÖ‚%z8A8UÂyv¹Ùœ¸¯VV‡,—öUs\G;š““ãc/܈;»j±Q(> o5yÑ@Ôït¸¢×Ö5iO•Ð@¸z¸&Gš–À&ÏËéz‡¨«Œ@µ³’\9 ÌZ+pÃÐÑÅ)½P7dɨ€L,‘~”7:qR¡E —¨ ){º€Òû'€d·Èм¹èöR{K#çóÙe6±w9í°yÏi.8eŽ$MõHÒÔI:<–4càÕÖaÒT4alØKš'iNùÒ£4q^¤šFK¥ š&ÔBϼ+ÓHoR×Q°Áûe:"ÖÕ bUŽT°JJÖL5G‡~4"†cèU!Ù©”;6eó©Š·]—^yL˜#¥Ø”¼È~Ðã‡7ÙM]Ûâe(ˆ+Ç®"nÄPUˆÐ±¨ˆ}El»Ñ8ÈŠ¸‰N¥Ø±)šOU¬¸mÙ~„<’•_ÿà¦#Bæç¬dc¾³ï®ÛT¨«îBvšb·Ÿ.ôÍýˆmúýpu{?>á"Óë#RÅé~˜Ä¤¢¯~|¿½¯“w_nðó/÷Ó%pùåƒÞ‰<5A‚¾abzÒLÇ黣÷„¥÷´$ÇÒÛ ÆF$~–ß -»zöQÞõŽ_šlºÎ/7ù2}»ô­»ï½jÀg[^$æ&þéï„á0€žÏÇÉÙð°Mò0þ«@M~·ÿR¹ÿZo/·×SÓõþòj©ÕâöîK"˜ÿ© Ã]L€$÷Ì.̽Â.¬žð—Û…ý8î¿ŠnÌæ¹Xlч‘+fL®¹¡V´TJ÷ªA—ê¾Э°Ù±Æ#: ¢3@ƒl¾Ôù¼wÔ^˜î=ý¥ƒY§VÆ"Ê{‘¬;u´ôVh%©æ0È?J‰é©°Q;Î*Ýs&¢§î”ßLjª> endobj -646 0 obj << -/D [644 0 R /XYZ 133.768 692.105 null] ->> endobj -302 0 obj << -/D [644 0 R /XYZ 133.768 527.302 null] ->> endobj -306 0 obj << -/D [644 0 R /XYZ 133.768 504.596 null] ->> endobj -310 0 obj << -/D [644 0 R /XYZ 133.768 293.732 null] ->> endobj -643 0 obj << -/Font << /F8 349 0 R /F30 376 0 R /F31 380 0 R /F32 383 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -650 0 obj << -/Length 4846 -/Filter /FlateDecode ->> -stream -xÚí\[o%G~?¿bí}¿<‚@$„/)ð°ñ:Y#;¬B$~;Ø1ÄbñhçË úöÂÚ4W“qÐôω¾7ý49¬v6& ¦Í.NÁÌ9†X–Ã/d<|“ÿŸ’™M¶ fŽ‡dg_sÊx”ÜœR >ÏÑ¥ –ù9ÁX?]¸9¤ÒtuHaŽ!êÏÁ8§‡À0§ì« §‡’· -˳)&¥II-³.x5¹¯³«Æ:”Æ:‚ÍΡŽl³À -/}t{ M#cX.Y¬g'^DI«l°ÊF‹æßâšLÎsñÂ.«AƒYSðþsuxwø -üY›?+ø3Ön­AwšA†A^S†¼éˆP+ÞôÄ»#oò y“€Ø½?¾ âMÆy“¥9Û<9pÇÞd‘äæM2‘>Ù'ÈÕ!ª£Ûi*Ãr-{Sf7ìRÒ(Œ²Æ¢ù·ø‡&ã³i.žBØe5h0Ÿ`²[…Ù¹Ú -X®3s -9f™Ù3µ`Ô°Ž¶Ì9£Šd]8ÈV">BÄ’I¥AÍK¥•³¢¹ðÍX‚˜ ®*ĉW¤’Ì<énIø϶•:ÌŒ˜¦ÀèNAk4üXÉžüXÄžü˜É¼–ÈŒÄîùá³ ~dÌ‘I.ð3üH³yìGÒ9n~$èÂÙ@F0Kñ$)†8o ™”6Ô¼”6X9#š1 ÓSèé‰É S™/¯H% ˜yÒ1b~ŠëòóâÃÿU¶"ãIé^c’Åã[VÿåÝ=”™÷˜Õïn®Z½yx|óxýœJ3}fB'Lú°O»Ew–5¯öW/Ó«gXT”A¤TÂ\Ø z}^üÙõÃù…={<¿ðÞŸùþç?'M2Hé“‹²h¡œ–E|" µY.Êd¼®„Öáh ö¶e™… *.ÛÖ÷[# ·*«ë`åS,zí€`ÍÁ%YaX—H,WúI2" …ohž öO“áhM6VëaÑ®ƒÒÀZœG…Ù æEÙ,\áBÔB1^!±l^F)¨}Mµ%ÊÖq¡f!ot{Ms±Œ@`@ÑŒöp f­òp pn 9 GX/£òpT~'³xÈAäaÖ¸d³¾’‡-{Ø°‡ kb˜ð¨ŽT{Ï÷Õ"›ø¸AgM²Ä([ÂÅÛ‹Çn¿<Þ‰NÔZ);µÖµA!§9ƒXšþx÷›»Ç÷mõ üçíý_έµg×ï¿ÿÝ›o¾9·æìûg)týtÅRÖŠýûæQéuy¼>wñì»wo/ß¼}†RŠxªå‹àé‹ß:… -Kpêöû»Çë÷×7w_?ÝœˆìÞœ\ØÀʨËÂÊ]ËÝ -ÿj¿ï÷'+ƒvú“Póìª=ÑŸ„'ú“aèj|ª?Ià×Xwú“ävû¯ûW Áv&÷öÄ?{ˆìH&W ôÙ“ÔBW€Ó˜à²TÓ•ÞóÕ«ºZòJÕS~ -ÅÌéCe\üJt2#9(’¥¢tp´b S"æ -KØ™ð‘êLã–@DSŽ ¸·`E­2Ä*KÄÎÄÛÍ5͹nða7ƒ/^é…ƒW•9ìáǾMƒBϾ%$ŽpGIù6‰ÃÉ·,:Vö-ëŒø–uMܲ-èò­%ßZ]¡’ÝV(9‰}kÖJ4àÊeˆQ–þ„=É‹¯>¾Æ•?f–ˆç‰«ÊŦÀºðnÉpEzAúõýñ›û‡›Ç§×þJòbIñö?î=T°É%ìJ,$:cœaJïK°­­2ÆàMI`ïmi.°Ì.¹R&‘ |7L<)#Ø»ÎÑ—Å(£¥˜Å<í4áSYÝ­UË‹zˆñ}«3[M ´Éd%« -bµ€™ôei¾’=4)#`‡ª3V•º˜¥*5ø<ÖukR7ùÿÆÔËe+”!ÏD¼0U`»Œ›.ZÙ¹PVäÈHE¶€“J­Ì«bÛ%Ü3¡ê)Í ò––'šW@ÖOÄ)36öÿ%¶bi@Q„&„#!Sç&‘ Š3ÂâØÉ2¯Š— -Y S$CYž@j^Y?§ÌØØ»Ì/„ŒËF)dÐoç\ƒB1ÞùR±¦Ý|HÁ`šm,ú%.o‰È‹KÅ»h’«Ýa ËH‘åRú)qfCCÔl«ºhÒ ý‹Í‹­XÐfN¦º¨Pk Àk°Ó‚%ThÈP°¬, †‘­x‹2 ÿ„ë-Ð/¦ KÈncK×ò@²ù­P}·H¡|·ˆg‘›E¢ŽºY$zË ±On êfd¥QÔ=#|bÈ:û&ê»F°+w†”2ÐÖ•„;C¢tâV‚MSÜEЩç!´Ê L¾(¢œ$ -³7Å,vº˜o剈ͭd9†ŠŠ¡Ä1T8†2ù÷µF Ž!#1d*Åå20ŽbȨ°’bZI‰!£"kÄÏ2Ç«.âb½¤bûÀ¿CÌcí¡3rg• -D6ƒx³cÄM‚Þ1ÄÊ@ÛO1DJ'£fÄ@A41*\8†´Ê L¾(¢œ$ -³7Å,vº˜ÏЪK}‰Ÿ—øùèø¹Î‘"Ùg¦Ž}%:)x‘ŒÂP¤Põ9$–áŽËX†Ä\–Á,ˆš‹1Öˆ%5ÙÍýrö#Y¼ÐËxnûÕ‹h–`ÞÈh©P0÷”òþë‘rþ„,÷ †’B¹bò…rE‘ j‚Q<Š Š'¿iàÄ,CÚ[J,ƒ5c¬K²“ßÄ´_D´?Ïa$âh¼†ž -¶Rú`Šký–/g_¨D>{SúqN³Æ¶h 9Â@2(íÓÕA@h}¡Ù‡ÉDŽkF¹<µž—®ÐÊ&GÛ§„N>…Z’’#šO@RK„¡Úi'/f?¶C¨y v±Šßؾ@û¸ìÀhWc+nq+§oßé4œ8 §:—Áï”ã°â¨vvk=±Ë ¬"rcE¤¸ŒW²Û‹6~íà—@|¾}ðK’R3 -HŠ‰0;¥„¼šý8|TmÃp_1¿ê°³‹üíIÀ¡ÕôA=)çž”s_D3>¼yÖ_˜7èãŸ>kª5®#í›L\EÀ@;„æ3' „ñ Jœ€q®.|Ž™åäv!¦VÁàƒSÖ¹ê’B2†q-J’ 2¡`M+‰rbËÛMm1iQ#·|‹ª¬\ƒ ¸?0îhÃ![j‡ŽA±‡ÿ®¼~V”‹ûÁáÛ€úâé 49Y,L¿ËI~|jÏç¦?túEJjõ¥Ño†ñ!ýýuB2Fù ? ú ‘ kZ5úÑ? SVįç>*0´øYß -˜cíê°“Þnßž’Óo•=<Ò:âÓ2âÓ:âÓ^ħmħmħMħMħMħˆO›ˆOñétħ½ˆÏ'#>¯#>ïD|YG|^G|ùpħeÄ'ñiñi/âÓ6âÓ6âÓ&âÓ&âÓ&âÓNħMħñéTħ½ˆÏ'">/#>o"¾˜Sr|ÿvõj ¯7_í/Cwèjé{êN‚û„õԫµõÎ~òÕ@XìÏ&­Þ ¼ÀצTàjsůÖ×ê ljí›êe8qóOé²}qÖÉ• « ýæßW÷÷Ï°ê£V÷ ©Miô—¶´Å–/¼»å³Bú’¾½¡Ä´a6A ¤X 8Û—Þãs[†ZçËm©£D0 ó0Äʈ˜'V÷4M_—;ü1ãífuŸceŸG¶h_yYÕ«³ûHÿU}œý ŸLD¦ëú3’ƒWÁ §™žÉtÌ.ámÄlºÎ¦ïL‘ d"†H‘ò5=Í@kr`À®©Dîh5Ïëx÷Îé1¶1Ð Õèê§]"7³³úùÕ›voü殽ôtýå¹3g߶·ŒŽ÷o¯Ÿqõ¼÷gðgN¢ÿáŠå0;Hr°Ã-ŽqíÞŽ÷Þ¼¿ÿöîís®ä–XZá²½{pØ›§ä‰àö¹÷qЪŽcÂF:Ÿ#Øú>I6rŸóºäXî¤eND]«ŒñíU÷kÞŒˆY¡=–·È -øèÂ2-"s F)I¨±Ù»O²œý8ŽwRC2œÚ«o”’á´°9·Ø´MO -ÙqvDîì2)¢®UÆø‚v*ÃökÞè” ØeNÀ×î–IA™I0ÒGIês¬XÔ9v2Tð8’B1ãc[&Öž>·göa#3€­µ&‡ïrô¿ý9‘žB»¦¨S¸|üöíõÝãGÐRæl+´;!á¶ÿÔMô13R¡Uƒ!¸ç†óÓ‚Xèercš1üù1o09ø»F$x¦q í"4åÆáo/Œí½БE0¢&ŒÔa9¤ñÆ(íâµGA\€Yð%ñu.m×F槮 æT×~˨ÛËçÒ0}A’Fk¾0ÃyøÂwæÃÈž|‘Äž|QÈfø"v_8â ’/ù"v_XòE!_XòE_ ŒÔa9¤ñƨ•/zÒÒÚ™ @IRF8Τ$GA<ÂH+ƺ/¬[teZc;ÄgŒ©QB»M”„²Z ´%{à!+Iý þ~Ñí¶S}[÷ž¹ï sÜ4Àuܹ¨U·þ -cŠÔàÞ3÷®3K·Á±¨ÜËÇ=IRO¨0ÒK„±ö+ ü/u9 â‹+4™£¢ÿ]úz#Åõ}k—}kHƒñõ™œ^8ã}ƒ¿[0®·¿žÜzqv)n–íju;-¾ÀW—€¾½ßHeÝJ}Ú}:Àü!4?¨Z4kÝBÆ…:‰šê¿X· -endstream -endobj -649 0 obj << -/Type /Page -/Contents 650 0 R -/Resources 648 0 R -/MediaBox [0 0 612 792] -/Parent 647 0 R ->> endobj -651 0 obj << -/D [649 0 R /XYZ 133.768 692.105 null] ->> endobj -314 0 obj << -/D [649 0 R /XYZ 133.768 382.489 null] ->> endobj -648 0 obj << -/Font << /F32 383 0 R /F8 349 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -654 0 obj << -/Length 2514 -/Filter /FlateDecode ->> -stream -xÚåZK㸾ûW(§í>Xáûqܲ ,’Cg:§Í<¶û±±ÛI»“ òãóEiIF{ŒœfÑ@[*‘U_Y‹”d'ð';©uï]è\T½¶[ï¢{Ä£Ÿ27ÑM$ÝÍ<\ï{ãc·l4üp¿øã¡‹}tº»¨F¬ï•¶Ýýæ—›ûÛ o¶ÇÛ¥¼y»]j­oôðóßÛ_ï^üéžM”ÞF;ôŽd ûWWžŠW½U2öÊ9ÖVVõΫ;m{o §}–M'Ñ{òÿÉË¥ ½öèÚQûeìƒPXzi„ÇÓNÊÞ!"]¯P#u4î”êUÒç^­€•®U¨\­Bߪ„ÑV+ÕEQ[%¶“'Fžð+&¿"ü‚ÇÒ³_¸ Ù/=¨DTD6(È«Qt Übk„S,T¶8Ø)Sà -vÊ°Sº8UD¢(±81’œÊÓQô¶û¼ø¥ûUtŒÓo )º¿|+n~X<¹á~ñR³¯äƲIŽ”}Zµé燒¶7aH¿‡Ãá‚<½DXéñ¾:+º]ã9;°£7w„{Pýú˜óð¯?-ôÉîçEø}{³ë>P¿iÈös¡õÌØìç„Cëɤ˜<§`¼>æ¨$ÌK©HeúÍ#«§G'·ÆL1øön¬¡i6#̨VZZÙ•ØL°#Uˆ‹h£ƒ -„RÊwÖ1Að%f¯?¶z¤‚lh½`Yè}41t¬Ç@¿A‹jó–a•æ3觵açF²q±q‘]´ÅÏyÄ—pqòx¢bj.Y,.²ÒŸ\¬’å¤ùrNé”®¾I'?,–FõÂ*á:í¯`«(Qm`êxšYýùðøwaÄó ý8¼ÒÏ*ÝlWÛ×Ý— ¨ŒVF£õºŠC…ï…‹q†a­n¥½ù|+ÅÍêùíù%aütܾ^‚Æ„<¯@l¯ëŒµ æóÓóú‰ÿ¹z9ÒÅÛÓ–~ôë†~vÏ/Û‹¿á¬Á"sCï´ 4˜E„B¯k•è3*ëQr€ ­ˆÒ‘f¾N5ѸŽ#-YÀ–°@òÈ#;Öâ*™¹Jf VV1ñg†wtšÄÆåÁ:v9°G2{$šëTIŒL´Œ-ÁåABp¹hq5ïo\ž<_ŽU,§VZú]¸ FBÁ@âx} aœ¶(¯£.åÕ¿WÇÍ]$RÊ׫ã%@é …±]××vŠ|åÓüÏÈEb¥+ó]b…ÖÁÓ&¼½Þ.lO¬Š4`È,§½îÚëT”„g-EÀ¦8ã¥Æ^-XºªG5Ì¢*³4PXÊ€YÍÔ­óymëYæeqVŠg:{&šk¸>m0Ñ21Å©@ã“]g=ªI9USn9Ób9Q³œ±5—ÿ¿ ·+H§rß«‰?+ðÿ™$Šëk1€ü -´¯a -ŽtΡŠ7æúð€y…PŠñ ÄúõÓiH†ß/OÅF÷AcK„‡öúØPõ Q KFõaóðXFëì 9K6Ó™ÖÝ™ã¢îî,3ga›$Ì™³0óÎY˜¦Ê/„÷ÎÂP ÙèOÂf -¡ÚøGÇ`µ=2'8Gk¬Áö;R}&ì ’vI»G›œ (ºµÁND†Àÿ 2ý{usDÝQX$9d_ Kµ7 †\ÑB0ŠÍa{|ùîV†›·TÿHEój·KµóÓ/Ïëí%(Q$a_ð•øê”p65­1¾_›Õ—ïn­½IàŽo«—Íêus¼Óôã왶tòfBI›îwí=&‹ˆ4YÒOs÷4:˜pè"£ÓÏžt:Bå½î1¹„•RÃ@ïƒÆæ°J0M„ D[TYìth£é+@,Áv–ÞÀô,B(5Šª¤š«²ª*"Ì'­³Ç6bMqìøV´D J'+z“;ø!ÌÌV@-k"¼skÇÔj7{Ø檹a4TŽ#ˆ­·e,Ô0,¡|ÏcÁ2ZôòX( •ÇÂp T OYoªQÖC”‹¢*©æª¬€ªŠZ;'ã0µ¿odˆ˜‰·ëÕqÛ¤é=÷p öqõú‡³¨è¨ßMˆª¦tw*T®Î~SȨCìµ›%1:Ës˜7¹A¶rŒ¬|›XÕSÿ¿N6* -endstream -endobj -653 0 obj << -/Type /Page -/Contents 654 0 R -/Resources 652 0 R -/MediaBox [0 0 612 792] -/Parent 647 0 R ->> endobj -655 0 obj << -/D [653 0 R /XYZ 133.768 692.105 null] ->> endobj -652 0 obj << -/Font << /F8 349 0 R /F32 383 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -658 0 obj << -/Length 2362 -/Filter /FlateDecode ->> -stream -xÚåZKs#·¾Ï¯˜ÜÈ4ÞpUqÊvÅU›xM]Rk¸W¢3’r¼yüwwƒÉQ4wIJUÑt ô×ÝZŽ?Ђ”Ì×/pÝ.7 oïðÑ7 ôS¤Â)@£‡3e-SÖ·³J×7Ío¿v­gÞÈöæC1¢-R·7·ï&7S''«ýt“Ãt&¥œ¸øç_Óo¾m¾ºÉ&òjnpµ'íßÚô”G\e¨ÃÉ(ªæ0¡I®$çîxö,OãÝ]ÿàûoÕΚÍU»¡‘bÚ§[)˜6£ӪE— A;Ñ.'˜1^Iây©$Yﲩ¦Yæ$}ª´$Е™ìGSáHÂZͱûæCï7ú? ¸BdqÄ{…ëuóVËÞ6îtc] ·‰Û9OfIVŠf!RD–•Ì”JÊì ÊfEÈ+5üÈ95"} ™nÿÞ¼käí-úÿÂißüo¹=Ϭ$ЯØ4…¥‰C³ŠD¥R zæµ<µa–vŠ9îOÿWü~}wß}¤O˧ýa»Yÿcñ¾[ *h¦„Ò¦I~.åx‰$Ð×Ó~µ\ìWŒ@}==ÙnéãûÅî7ÏâÒŠy6Þ¦€öídyM{Å„SÏä5ÿB^Ó¹—òštLr1Øð×â4¯•éç¤'÷<ÓÂPðãÄ­“-攲ô˜r(CŸ— æ%mB‹]–IÒºlŠ 9å¬m³Ž¸˜È.4B’A¥j‘ï§I]—|ÃN¾é^1î$ôv‰ØÊDT¼5"ANkŠ$©DDz ÕôŽ™ä˜íƒì˜ÍŽéìX/ã• -^›ˆŽEF?›¾þûœ7x–Ny¥‚ÁÊÚ{•ÉSD%L+aŽã¢'‡y1T±!É2wÎ+7@¿:üÿøjaè0Ula@!ø‹cBOÞ¬)m-WÝâaµE ˆõ@é„bj—Î÷ -ð&ȨR ùäOÛê_æÎVùg'x¡qRØb?ýRã$4ãÔ)Ÿ5NB1«•>íœÊ|Î,±Çž ŸúaDÈ®]cËèx˜Uw´°j3ÔzªïhqêmXÈI‹ÈJ‡‚I ?i>‰,Ùí·µšJç©š0œSeÅXˆ*†¹ScâNÕaÇÒª0Æ=$6ø³[O14ž ->ÙŽ‘XÔ®‚•/y³XÞ?=®ñ׳æ­bÆÊ3Æ–dì)+‡"<ðÜ•C¼À‰) /^94í×лìó†˜Sæ00 ´²^Eê€(ÃÓ±®ÉS†ÉÜ÷+)â|Ös:Vu`ƒº˜?ŸÂR¤P­©Ö{®i,‹ª#}6x±´FÍwÝ -K žÛõ~·¢²x7Õ“Åî–d‡ûõžþbá\¢£ãæÌáM["U2`:\ㄆ"D/eÊ!!^Ô»¢,ŒNÏß'K²X­ë-•ÄEíjoiH(h“®0¨â3™iªÕËÔ£Ù«”ò5wr#U«8uwö$0‹¿NOâçûð'÷Q##Ãê -xÒû ¯nàö«ÝÛ‘îã$ïZÜ£ÈjÌhI5 -3Î…§2f˜Uû;dÜÄÝH…o‡3Þ`"?sÎ3¹Dr:cO'Ñ7N~?9ù‰d«å“¼Ädÿ×üÝbßÿø@½#VÅå -Y«áS7Zà±ÊË“zQ-(šãUƒ‹õ¢Œ°Pžcí å¡ —zwçò€®'i?-—ë©?øÛ©µ­µaí—}þ°ÝEÑþ°ŽOŸvX·ûxÕ¾ TÑ5«¸Æóu™BôoD­AV®æ”Þ•Õ•ì4\E¶`‹“-”4Y„ LÒ&Šsd¡ÙÏ¡}^äHH¡”GZ³0¤@fãTLbiêå9È!!KÜP‚}H@óÃÓíêá0& *†‘ ô:ØÌœ­ ›ä–‡àôk* 6K„˜ÚGïÝúa5&_góžBþ*ó‰WY—X×zïì‘óò"ó ®õÞÚ#ïÕEæ±n_é=5Εy}aæ19¡XŸ©Kñ$0L‹¬+2à™¤eq%<+”…±®²`{ U3™dÀu¶PòEËÏ }^=ìˆ4⬋µUƩξ:õNU oÙ\äÔóÕ/‹Íãóÿä¯ &§ C½ªË*X®B‹I3{üjâ ´G¯+âí7‹®»0ôè_ñ”0ib@­8wC’~’vµ”¾­ã }á©+ -jáiøQMŒVdeEe+²²¢Š^YIS ëü\æåúï p¬9KcÛ†í`ƒrȳ/oÛhK]øF"œí]¨™â.Ož6›c"’¾”†aIá' -ô -¢8‚=± “Áý×׌c/ë‘Hý›Š>v‹åêößcð&”ÇÜ•èÛcØËm·Ýýn÷PHˆßß;}³QÝÍÛã¯'`¿ ˜q"Li¿ (q¹ÁƒégJ}V±Ó— -‹šdêW™Ns -endstream -endobj -657 0 obj << -/Type /Page -/Contents 658 0 R -/Resources 656 0 R -/MediaBox [0 0 612 792] -/Parent 647 0 R ->> endobj -659 0 obj << -/D [657 0 R /XYZ 133.768 692.105 null] ->> endobj -318 0 obj << -/D [657 0 R /XYZ 133.768 527.392 null] ->> endobj -322 0 obj << -/D [657 0 R /XYZ 133.768 507.01 null] ->> endobj -326 0 obj << -/D [657 0 R /XYZ 133.768 349.822 null] ->> endobj -656 0 obj << -/Font << /F8 349 0 R /F32 383 0 R /F30 376 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -662 0 obj << -/Length 4591 -/Filter /FlateDecode ->> -stream -xÚí\K#·¾ëWèÌ™ßÜÖHìĉØÚäû Õhw'«‡=#;6Ÿ*v³XT³5ÒhAxá™é¯‹ÅbÉúØͦœ ø'çRëλ0wQuRØùj;ówpë‹™D´‰W›wÆûÎø8¿c>{=ûÍçnË.Z;ý¶Tc}§4@÷¿‘æVÞt~ÈÛ;)•½ù+üý´~¼½ÓÞÝ<®½ù Ó_Oð×áéö»×_þæó0]t5‹ù 1é|}ôÍú å FkÔ¿þ…g¿M†g‹l°°Ížÿ0ïTº=ü,‹‹¹rºS2 øÃœàNÙ¹²® BÙZþŽG¿ÁOôÜœogÚ…NHm5^nø¥W] ^@euõ~ö4Ť)‚&¬ ù¡¤Hz<é‘TRTWIÏGÑÙù?gŸ'æ÷PÝ?fRÌ¿ºBó”|‰¨’ Ê»JOA7 ‰RÊŽ¥2ŠRÒ¹.mÔÔyÀ£ÛÙ®tÀÈ;ɾª9”ô{‰à|9·ÐYµR©«|«¬~ØÖoo¥¸Y®Öß*¯Ïè%R©Îiëuêx¹gDÝûŒzn¡u„Ñ¢ßoÖÛõîðçýj¹YüòtXo_­VÐë×ßöçX&iP›‚q¹IÒ¸^£ `’I&=–‡Á®WOOë7›_¾VÀÿòLƒ@i¼Ö cc0h FlßlÖÜW_-à¥Ç‡ŸÑ´¿ýVñ§[˜NÖ·ÒÞüS‚¸ùåûõ¯ß.é~.…ªûËt÷ÕPÉ«Õá4ïw´&¸« < ÕÞoþ°«žoìãû§ÒX(ôLK/j& Ö«Ã*=…u½»g½l{Y7Is¢ù f Ópš#­†a†å¡²I¥ÊU?Ï–{\b;ƒ„§mgt¯¯Tçµ7ºª¡ÔÚëtI§«tkk-º&FWaª¡³j»1:n;aÌ2•I'»šl;Ç`§º´‚:n;«u²íÌÚZ µaª¡³j»5ã¸Æ,£št²«É¶³1 vâÌ]Únõ8î¬Öɶ3kk-Ôv†©†ÎªíÎŽãN³Œ†mÒÉ®&ÛÎ:’<ÇãîÌ8î¬Öɶ3kk-Ôv†©†Î´‚ü ÕΡGÊ`"è4â•'hS »‚•¢ äÜH&f¤ O !éwbJ¿ÚÅLk‘o(Rzæä`ru8¹ô\Œ0=×=Óiä‡4ùàÝr»>kŠ-]Ã(”!*×ÙÙY:D"Ë.ueeNZÔª—I±4‰¤×“^Éô*Ò{Áýx,øÆu™–ŠëréÂy¹4ç¼NjÀU¼Šózœ²•ù(¤×zji¯"½^Ä.€Nz?Ç~ †Ô¬÷\Ê £%»õ -æk]ÄÖ™o6îrêË »‚“a \9©,pÂË“´ðƒú8W&sGæ—+˜2ù¥Á”+¿ëE€©ÿªÌš{c¦æÖŒ™÷Î+(³Q†ÆP!£²‘ÒQWŒ“….óòÓ$ºQ+‘T´°iŽîÛ4è˜b4„¶Sú`ÆÕ:*u„Ž1f\LŠqØR9#ª t,«˜ÑìpÊel -aa$œ£…27 švYÕ”¦¾â² -;ã¤Ëõ-•3~Ë@ßêe'({£hÕÆÝ9ª½ì‰om§ô—UèØ']Æs©œÑbúV/;ÁôE«Æ0ÊÏQÓèe'¸Ch;¥¯¸¬BÇÎ3H]ç‚ñòüÇAqÈyÁ /…/_|ŠŠ³ D¾ñò%AÔ¦3àÃO¸$QøŠý‚@Jk.¸~EÀ¯¢¡KevNˆw’½Z1¨½VAZ%Óª­²ÖÚZ|,õ‹‚³¥WQ­ŠpY TÂ|)£ÅœoÃ5K)Uè‚ú8À#è€Ë¯Z Hø¯Ó¦~¾Øo~Dvõ—Ç=öÍŸî×笢°½C¯yú-tìdôãEÀbÿxøl¹úp½"ƒ®yúM1òÿn=¼uò!0°ÞÄ_Ÿö›BnsÉ,ti‹®y¾M-b´xì ÌÓdˆfˆ>{” -§ñè!,GÓæ¨÷Œ“d«$Ö"‡’ìQ0a…T¶­9N‘-©mS_€9Áøy„ûaL)H†?z-õ2þÆÑBQKùiÚÚ*ÉÚÁVØdÛš¾ªZ2ÖÇ|U¡Ç~8á+þ¨¶ÔˈGý¸_à«­’¬üQ3aºÕ¯N°Õ–Ô¶©ùªBý0NÔRD¨D§QJDEJü.:Á Ùaå/ç^ŸªòÞ1ùÎË ˜T}Eü¤ ÌzÝ¡­Á¤¬;ÈÞƒ©. ÝŒÜ6.lxy†‡ÙzUjQ¬—kQ¬—k±¥Uj±U--~ö©ª[Tš¡Ó«¨µ­4¸©¥•Áä!˜Lº€I:Dè3ˆ¨Q¤û⇥JC§±sX uÞöÛ[þ¼üòdÿP³æYìÿÌÖC÷ƒõÛ##$m°ÇÇNÙ~ ÏÃîþ«å.õÛ?îîSoþ€å»‹ “ŽÜúbÃ\Gõ†½ê Ïò‹õ¼õ»ýo6ë_]h’r×ûÊòÕσI»æ{³^ö/³Kûë]e<¹êÍDzËÊ~„]aƒšæΓ+pZoÊÀAå#f@`ê´ÚFoj8—M­¤ÀÇ ½Yë’¥4¤Q7R] V0àÀcŠelj½)¶Tê!T6½]¬Ð†orU:U¥Ó´  ÌÁbþez¤}°ª×…{¡úWDZâFAa-k…#”Óøn0F¨½a}ètž{3¸‚òè…𪒅&ªcàJSÁºRû -w“MD\BâkDœàÚÝ4Õ®a𩈳YŒGAB2iD\‚ñˆ3ËNE¼jW[i‰x…6|3Ž81ˆ‰QŒqù~c%`Ǹ€UŒ™,‹1)e1j?ceš£šàÚÁ4±×Î`𩳴Àý®lsTcoĘYv*ÆU»ÚJKŒ+´á›Ó1†Òãq¬äh+%Æ㸀uŒ‹,‹1)e1j?cmšã˜àÚÁ”$kg0øTŒYŠå~‡¥kCöicfÙ©Wíj+-1®Ð†oNÇÄÆãX«ñ8Æ(£XǸȲ“Rã¡öS16±“ Sc‚kgÂQû¢ §"\È -wºE\Q ,߬rGÕ3«NÅ·jSSg /^/ȈIS‚uT÷€Y|¦jCo*8qAãz®„Ág®¾?­ ¸è–Ï·._„H-!Ìpñæc-Á¹q€^iœÞ“;^O%ËV›åÓÓYì—­¢÷+—6hñU4ƒ5[G? “TõKc DbGlÜÇ:L£“e{ªœnÉŽŸ \RÓbJZ?+M–¥›K?¯ûŒ0H]P|c:…{•:_¢)°:þ¸—f¯´nIW3ÂEõ,¦ååóòdÙ™ú+ù ý†Ÿ ç§áæ¨hÝ›p•b²lT¤Ùp$[â‚:SÒáYiÖÃÏÐÍ¥§t·¾¬úzâªù×g̨ì«0š}ÿ­ým˜zæÛ0c€¿Æ8|V,;ú2 _Ýâ¶ÝêË0ƒ¯„¤pé.ä`õça¬')Ð[îûÄ4•.`§u0ÐüôW1`(±š(, -ò-RŸÕlPX ¦ ROuS‰¢îóNi{<í²T¥ÏûÔÐ,UBP.¨ ù–Í•JjƒÊeH‚©T÷ðKÌÉÔ¡Íâþ[Û³¨úÖ¾ Ø)ñ½a¯X)•Ñxÿ„嬕¸@H‹p,e9#;iBp)i}ZdÌâî…ûI°?âÎK¥ÇnY_qûÝÌî ðM™6ÑçÒøÚn¤JVŒá`6ºè£¦µ³‘í;#HJ÷IrŸ,î3ä>›ÝçÈW"»¯@–ÜG˜Ù}¤ 9¸*µ±¸¯ØG(ºOg÷YrŸ%AAî#¬ÃAAîËú¨i-ÇÔóÁÿ]w¡ë0J×5ƒIí•KS£Gë°¢°ieá:!|ÿ™éòÐï -Ù®ïvïðâÝ~F¼S¾SÖ§×Ã/µZ€$<™ôöq¿M+¯÷ë´Cýá°z¿ÞaP5»áA­ Auf#/¼d ~–Ó¹ˆ;ªð}l`Q$s•p`*ƒpU&‘Y#n&Ð0Ñ’2p±·ê/uF˜³ ,y±?un’?ñSâÈJßsb¦00›ÌÔQË^iÌlÊB>×¹Ü _†L”ƒëdv$?™ìº…â:ñ¥hj)‹6»ŽêŒž¹.[G º.ëré»´É4 æ* -ÄLa !ב:jYÃ+G³ÚÿÝv¾Û`F“Ô³å`Ð ¦i€é¸¹6øjU§éã›õò>}¨?Þì÷.œ9ˆÅÊ@vêL`á×RÁ\¬¯10Lâ:‡3q˜í;g¼Œ‹Ó‚€ê-K„ÂÆ «´WÄm¡¢dñ¸a}ÎëÓÂ<=5œñÓ +•È g˜.ö0Ô &…*M¢z a”—0Áµˆº"Ám)l9[¼÷éãïÑ30ö”¨ù ldBëÔ%#ðœ"wtê’N]Z|À/Gw“G+½ôd% ˜àŸ{x†Ë$ï§*Á¢'*äÑc³"ß8T œ¨ ž”+Ò•ŽTbW}N@Õï†:¾É+¹8ÇïAè×p¹´¨®Î=Vér½t¨p-”Œ\Kó™JÈ™ º"°VÞ)—è‹Aa«ƒ—¦Î%ï\¸*…ž©q< ßoüa½ÙìvÏ÷ ”‚õ2¾9eg|ÆNà ¯¦³3ØÕä,iGBçl¯3í,ÀGUÕPj<ãƒY[k¡3>¦:§6ŸáNÓæZXMˆtòæ+ÝÈe£õ°ºê\ˆxdРÓžÓaû+‹ ]Íp¢¶nfGßû]»ÇH `4|½%âhëæuß)è5®:l(cü( HãYUWÓ‡ •þˆßt@¦6h‡Ã†N‚±ª T:}ÖP1¶RRŽ"H54–ˆP ðÓB«BàA€~pŠ¦èt˜v†1À+ŸæõÜ÷)Ð Š(Ž1x° YEHQhå¯Ûi¢™6OŒæ< nø·/Ì} -_€ÉgßÁ8C#÷…No2ǹ/‹7R~Bê‚Na)W¤ªO}åª}š`´CALNtqg<•ÕÕ¹Iïr½­¤W -'= IÚ"ßâB¦¾i8ïXØZ Ó&ÄÖÁ°’®Nx_lö0É¿YnÎè)õ9²÷† :yþŒîíþ -ÝìûÔw:ï™bôàõkLÁïKMOÞ,‡ãéxÎÛfÞŸaÔqÞÃ|dŒªò^ÆxVrmU]M罄þk\ KéDÚ{Ù9¸ª&qVëtÞ+ÖÖZJÞ+˜jè|6ïAÞ >¦…,͹€)PâXâKþÝ÷"V©}•÷ÓZ–)³œÂ5HÉ{0U+¬©‘ø`0hè5±:i.cü8McZUWÓ'Í•þÓË:¡„ϧì¡U"Ô'Í•Z§Oš+ÖÖZJê+˜jèlå>d#%è’ûÀ½Nà³\J~{UW*Mì,ùfð…TI~°<7ÒK–üðé†MIsÑÊ_7Óļ^Jâ6kš§øÒhÇo—œm%F> endobj -663 0 obj << -/D [661 0 R /XYZ 133.768 692.105 null] ->> endobj -330 0 obj << -/D [661 0 R /XYZ 133.768 667.198 null] ->> endobj -334 0 obj << -/D [661 0 R /XYZ 133.768 414.203 null] ->> endobj -660 0 obj << -/Font << /F30 376 0 R /F8 349 0 R /F32 383 0 R /F18 367 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -666 0 obj << -/Length 3016 -/Filter /FlateDecode ->> -stream -xÚ}]oÛ8ò½¿ÂÈËÉ@¬Šõu÷Ôn7EÝ\d÷°¸½E’m]%Ë'É›æßï|‘’l§`“ÃáœïG­øS+†~§«8Ó¾ -¢UѾ V;XúüN JhEáìÊâÆ$‰o’lµ™Qøøôîý]ËÆM¼zÚNÇD‰¯ÃhõTþÇSÑz£”6Þç‡_×›0‰¼»uf¼¾°W1äSßÊ+NmuXÃ`\+/køìŒñ'EuªõŸþùîç'w5f~–ªUF¾Qf~û‹WXÜÍ ™^‘®`!ñ ÚjGßðÛ: ½ªjºNzÊ×·„&ð*pr!m-ÆÚSfÞìÂp<ÃØBSg[:c+ͬ•¦žÛUŠA"w<³Ú ìá–©éù %A î;|ÚÈð–yJ·¯äévŒ‰t.ßWÁþ -i™\µm‹ @£Š7¯ŒC窀­òP6=»/ pÀKûë cï±brì²éY¼Ž¯QNχؙªìèx3¸ÛLîK6¢.Á}Þš-ÈO4Ã{-úˆôv'dtSÄZå={ı"…‰ »jd@a/5ÉOV¶ö¤É‚ð}$¯ÕõbqÆÄÞË—¹í¡2³h.Îñò™Ewê²êmPè+Ò¡#m%ÆӜԩ‘ "<#|;í²Ý6V9*Øñ0ÃËË)2=ÏbÎÂSȉÎ!ˆB×&AçF{Ü-+†ó:rŸ¦ßèñ%OÐÌ5°ìfnSMµo€—:6ÂK ,´…u9—S0]HËÀ<0ä(–¤Ïjâ‘€¤†ùÙ‰•ê[ÞïG1 nDnyÙļ–¹ÐðóA:iâμ È+"ëaLTò¶âýâ#eäÝ˱béGQ 8]î8Øk 9Ì/ïsu¨zòð _'C*X=¾Hš°q‰ÓR0St'‹Ã-6iì·Ö¥AÖÊ8÷+{¨w‡É ‰ä\Å—<ƒÃYzyEUùÿF_…º¥Þ>Ÿrm†¼u¾Ž’)eBÄsç†0”"RjY¢ï¡mŸÚÈò(8XÄt¡oKˆóÇââùcoßÔÛ™»)rºQ§Ü'ÃEbŽÐÃù„¤Ë[ à"ÌÛât¬ 9ÝkûŽ}·£”½• p kJ^†Øs-`c@DeOÄmÐKœˆ_&L9°t¨ˆ¢”J›yâš G‡¼µW Ó³?Xtt#Ë)`Çê §Ì¸¦Ö=°æ€M& ¤ÖW8bœçÍŸÆÞóšÏ UĶ¤bhjëz(epÆK”–À÷âš’MçòJ¤eu‚?!ÿ4Ç9$Pw)˜s:)[Oîzræ–“†H„ñÊhîfßÇ“MG"$@¾]ËWúj—÷%ù­Á¦˜¯Jö<€'ÚD‘÷?K¼y• -¨^RFù~ÙW’Á¤d›sŽ@þr„’óa–h3N_ÓÃFÇèĈEÍ2lw§Ö¯\{Ù"ÿ¢¼ 4"P“CÁÉ¢*0–  õ’0½2*§"A0çéÀ›^('²J„ÈSQ’,jÙBG@My*È|‰ðÕ쫯¶“ŠÊ¥óúLeÊ7q¶ -uà«—gu3áru¦¦BKe±o"eÉQã9­¨0WÞׯ_îZËäãýÞãð ¿cÍcxéáNBïVåw÷÷O÷ÿzx¼¬ëLâ'a¶,ëˆCq|áë–¤?6oEe“1›§˜ñYÁÆ _|^Œ!da$“eSÎhF’ýPvzj‘’…||3@RÉNº7c´æ¼XK)N^§Ç&/ª’ÇÏbÙ8¶ùŽm`' µm&XŒ®)çÏÐÀ97•,FÛœZM¾'.T!ù7*§òŠZróˆL]…’á`RõíÀCr"´f+meæö泃~<ÍsÅ9Œ2sîàt×ç’÷9Z‚(©%=ŸÚE/µãUG‰×w,F ÍÈcA¶Aùò…Í"ï2YHÚt ýkm%᜔‰ÑV² -Í´Y‹š*NHL¬§Ô¡34Ç_œ¹£¸BªmQ‚Ðò€«‚w\‘òa€ õMÈçv¥~é-ÞPWÛ>.ÜôæÂrãÐ%ð…‘¶aKJ §ªnë´“¬ “*0Ù‡S³=ÏέXgRy¦s†ÉÃ>H8dSc/jðÙ~©b«RZ+Í"øvÝ HwŽxès#>!œc'œcǤËô¡ºîHIJ¼VYJ·P‡)¹Ž1ú]ÈBåkmeñŠèN—ЙŸ†ÍgfÿŽ}YHë˜vÁ¦víë¤ÐÒ‰òƒH_Wv´¨š,W³Á9˜¸*eeÉy‡„P;ñ -îä$3s¡+ yFU˜ÒlÜ¡ë$žÐî«ÿŸjIÀ2ÖÔÓåæ”üäðC¯5k÷.½)®49§q׫o¦õáRt -%—ZÑýB¹1ZäÅ@IzÎcÀ9¿­³Õ+Ÿîp)dhß™ge³ÆŸ¦j€• ‹—8ãΩí$“™ádÆs˜MA -œcl’L:£tê«t©3Ÿ.ŽQúd39O%ê%ÍA„­Yùµ 2³Î§¸> endobj -667 0 obj << -/D [665 0 R /XYZ 133.768 692.105 null] ->> endobj -338 0 obj << -/D [665 0 R /XYZ 133.768 667.198 null] ->> endobj -664 0 obj << -/Font << /F30 376 0 R /F8 349 0 R /F14 352 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -670 0 obj << -/Length 3480 -/Filter /FlateDecode ->> -stream -xÚ•ZK“Û8¾Ï¯èÊe媶FïÇ13ynevS•>dfgŠ,ÛÚÈ–G’§Óûë’²­ÎÖTªb -AÀ`‡wý ïÂ8öó¬¸ËÊȃô®>üÜí¨ëí¡²Ä ±„øZè\'yî'yy·žIøéá‡ßw¥_fñÝÃÖM’æ~§w›yŸšzjûãj‰wX­C¯ZE…÷BêW¡×OÒn¾è««Ze®Ž3ÆC5í©·j·õˆ–O¤ßƒ4\­“8õö0MWñ¤¡ÇlÙžDj BÆL¡|Y­iZÙé¦fXýûáï´ûuúe*Ûé·4W{ûvœú¡%1,°ê„,Ò1ñ±áöl?‰ï±VX ˜ý Í«Äšh-iæý=2\úûAÄ“€½´x‹ÍFºeµã=}%™2'v©]³«ºû…½Ô=ŸÇ¡x.¬Œë8Ž½ë¬ëÇ^Zµíá#˜ Qh˜’G±*û“ëVòت%Ä­W LyÜ Ó´o>¯2Lü2I.–Š£¥®ßÄ¡3·(ðã(£MãÅûãŠäþ¹ÊÈr,€Ï…‰0°,3¦8¾Qsà R?ŒU 0†°ðjÞë€C«$Ú'c…uÜ cxºîp¦‡¥÷Uõ|Â*vj§Î0B”Øú:LhSååæ7ÍØîŽ8nœpJsŽ8Ù’-79F“ )zÚ÷ÆòaSȽ÷ìR®Èƪ¡›dÐÒòCO'lFòÊÊ×mkýä®j’Q|\—ÉFO]s ÌxgF^æÞ«žwSW`ÛlÌã0õZVVæ ¼N«ÂjäŸ0±®M3È×´7ƒ>´rš¼µF‚EÂ{¿†J~Æ+¿ çÜ›(¡g–¹ØEí߃0™Ì” -”ãéEå<øÖ7 †ÅaL¨HõÄÒ6KvÆý$=.…¥ôw†c¯„ªëxòǬd#Ä©.k;Ið>p24>Ga/ÅÔè÷ÒrV¡FçÉ_Ø“Äá8‘#%7:t½l Ô…k‚;ñÑY˜8Å‚ÿòÙ½tßZ­ŠI žÙi8Ò$—#]ˆÅ„³µX›"–Mï|hôw»©vãÔÎÃIWÛ'Y®»©èã=¯V›jªÜ|±A6æMˈçࡃj‘íìØüÅØúaZ˜Øø30‡GúΑd‘÷°*3ºu§…€H—}TÌÃaD9¢$ eí{ìn’.ÜÜÐXí`I ² ëÄûúæ¸]¬B'¾£+UBâ¨ñ0Œý¸ˆ.6üfU$Þ 6³þyî`Ði-ÏisÄ$O£zíú©ªá_ik0,JÈ Ao;^º‰‡q‘s<„$k`y1‡ø´{ßèpÏhFš>ŽŽ´‘‚}½/gÆ›P„aç€Ø5¢}v[¢ €­Åâ¼%J\O(Ü~°Ø¥9ÚxHØÎ{)Ìo°{Vr %3®qjdQÑ7]Žõi|¸øB“ñY“PŽéý¨üé‚›=BD?lÆ{ãZmÈ9»Åc§~·"|]D»"|T†ƒWJ” -Å®àY‡{yënÔ”Š°c $ÇÆàÐ[p¶Ì¢\×ýɬ9 g.<€vU%º›P*ƒ>…äç jc86kQ˜¹?Æ|éT¼]ùϽ:aùQ–_(ahNVÂ8 ïæ.N‚B`ýVò³åˆ!9À$¤Ç}?²û—â#'9#Á£¸-Àæ€Û«@6|S¹‹¡íh ŠN¨‡¯¹ÀÝ–hï,hŒ·“ÀÓù 2‚¶^ÂÉ.\…ú\à {;¹‰ÃÐÛ" Â34¶c‹ wB`l€Ææ»`‡åOC…ÓÚí™(ºã›œ jÓ=ɦ úãÌ€îšcc,h‚7ÜnªÙ´Ë„¡D -á#N§‚­ùhÕÎ^Q¤éÍAN©·]l©4ä„©¿Y„Æ<’¢k¾8ÌzRh­&ÉM2ô»¡:蜲–H¦ÊÅ7¬v¨ß<.Eõ³% =e@…Gw¯wŠ±ˆzeW0 åŸÍÚ2Þ&‰jò0Ö(®°<7Ü‹„{´Ø~HÐxædPük8`:B gB¶¼`”äè.Ü -y EOÒÍ -†6õœ=ƒB*×¥Ù2Ñx2î«dA]Íd¢DoU4/™Ž2{²ÚA÷´€¦ ›ÓY àO‹_Ý©.[¼ž”¸Ÿ3ò1žfñý`ƒ™B>A“|ÌÐÏ@Öc;K‘ÀÄÇPÙ̇-s˜aÅÔÓxÔéˆ-¯né“ 'ˆ»`Æù$fkz'±ÇŠmHªÍZ¨‹õ›Ä<::ñД’¨Q:f‰Hˆä0wìD`&|uDå,rL:‡.ccQ÷ça½°ñ<ä}‘eÿÍ2´€nS¾šX&´Uà -pèQq`¬8…ÖêïQêAå÷O„“·œŒÓ ° Õ“2¿Ý•L—ÿ÷à‘±•æÙšÍF†‹{QÃ%Ä6ò}2NŠý[©„ÓÁ–Ÿœe•zà[?vFWùK¡Ìà@\Ô˜˜mqó:_É qû:Ù ½Ój®SSŽH;¹Å3AB˜$4€æŸ¬”?ÎÍ-xI? -MåÄW¼—~R†ú~ -Ûç2' ”J¢›-ߧiqcÜ7Ú¹9:(s¶Eé#ŵ2àzݹ, 2\3¿üôó{6Û÷¦sƒø¸î†s#áQš:·¾‡#urTÛöÂsâ@Ð8]M<(ô>T2ìó÷ù-úÑa(Ô¼ýåƒð@QšxŸ ÁÚçú¹¨K—V1žŽôº5Ø´eT…A¯^Ý+^nhR© ¬Ãy6kÊèõàø–d®öpêi¿{À_ˆãƒÊûȨ{œ>ÕC{b,Ô^áiYH¼¡÷ê´¯+¶”êšÔ`ea_ÙsÁŠÜ/¥kðõ·Š–;¯ÒÑd‚ÆÉMoÃÅE}#³È MZÆ8“Ž -ñeX¨†Ä(/½ÿxËÇ]xŸ±vN¿Þ3"4þþñíŠoE 0ª"HêÜqÀ1w|Ÿ†ž±Vk69™*z¯oü..&S©+v§t–ø¥™z&ó²ÑðœH\od@Ëã5‰¤6§ýian25åeà(©‘XÄØKM¼È¼OP|$§¹Ý {ðóÀ?î«"u2ÞA}ò!Š3üÈ£Ö¬C÷º”‹, ×2¹¦R C[Q´0ž¢ó“Ítrë“Š—rÉ—ÃhVZõk¨kßZ/YË\ê×»ãøš;$Ó$dv©0r>ÆsÍÄϵ«ÇF³k?šAo cHÂf¶Y؈½'«PF›”….¯­yvàûtrp2–8:\ä):ÈØEÞ¿VQ ©•Ûñ5|ElQJê ôž<þö~Ì2?¤– »ÌÏ%¤—‘l$*"Ê…æ@šát@3Åd¶œ¯:ÐrD»q¯ -ø:qøA«µÅ«¦Ûê5RÊ¡uçQ„ÛËWM]³þÐòâ"hmùmGËÊÚcTÿ¤æ1ùW‹h›!YË@°—_¾Y;þbÊÄ»f×~‘TŒ¯D©©@Ä” š2uÄVg¼.h64œAšÅø…P¤¬NZv¨!pâP8g -1O~q´Ý™²YZ¤R”ìU€F¦¯ã¥¼‹|‰¤\†pèKšP©±¯æ•.^°…šX¤9÷#(>–¨L —J¸Š‹Ñ”©ø<[1’¢Duå“ZV•/O =îÖ‚&$Jy T -Š{ÌU ž -Ê<¹Œ¦’D¦nžy~—ËáÑFÙ3EuÚScž1mªvYº{qtBfÕŽïããümriZy6–H¿yzžO0ý³¥D†oâžO7ñ'‰ü¤0U¯9ƒ@M‘ß9Ù0QXøŒö¯¿Ý£"òiºÅ`ðXÉÏÑ"u>éü}š3—ÖTì6¥ésÏ>è’ÔØ& Y‘^z¤5Ç40›bNƒ4íAó44u«qí ¤ÌûüëoÒ×B˜?,Ù–«•äŒ.{Ø_5u {ngãžÜå踩®e—ÐE€9\ìªi*©——ƒG‰$‘é'Þ3¾;&ìÎä˜È óŒKaïšYÅ+YçƤ‡©Å3,Z9äAžôǸW‰Î—rIä£<òŽÕ!d|Qµ”Gck…y4w)U®žÂ!"/=Wwmš“mØç«—5,ýë‘Ÿ°)aÝ5‡YE}\-UÕà ÷ÃÄ\Ø÷·“¤~XzE° €üýƲÄ<ðÓ x^ ²ñOÝ…zŒÆ°ôåIÈEã µ“Paë•Š -¿È,yÇŽò´(1!?³y¾BÓH“Ö~áé0óóÄ*棫ò£1È "0jdÊÙ±÷ÐòAtÍ3ÇP˜§”_&Â:ÓR¯#$ƒIü<ÊlEàÇùc8O|œåãà@©¼ÕF3\ŒtváM8Â+ -ßyh:?¦¡­þúWH&¨Ä’NÇ&¾þ ¢¿xí^'­¸\' ØòÔUK9n¸¼­zs·´_üù{ _5?¼~°¹eþ(«(}²¥Å¿í2,kÇsý§]qøY)Xpš^OeþFìvªÿŒ'˜— -endstream -endobj -669 0 obj << -/Type /Page -/Contents 670 0 R -/Resources 668 0 R -/MediaBox [0 0 612 792] -/Parent 672 0 R ->> endobj -671 0 obj << -/D [669 0 R /XYZ 133.768 692.105 null] ->> endobj -668 0 obj << -/Font << /F8 349 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -675 0 obj << -/Length 3196 -/Filter /FlateDecode ->> -stream -xÚ•ZÙ®ÛÈ}÷Wè-`)dsÏÛØž™8ÈØIp“ÀˆóТx%f¸h¸äÚŸÚºÙ)«—ê­ºúÔ©â v>ü vAÓ$Û%¹:~¼+šWþî]?¿ -D$Œ@$ÀÚFç!JÓc”滃3Û§W¿ÿ)ÛåÇ< wOÏ» Ê`µKâô¨Âx÷tþ—÷t-÷‡0L½wÝþ 2¯˜š²ÝCaäæFïUê}ÅJâUmQOûÀ;˘î³ÐÓ=´ôZÁ"ü®Šý!ðj]@ƒÅ²x`[~‘ùÇŽ¥G³¶Qž†JÓ˵*pâëþßOÚ‚è˜GüÇ<æS £KóG8›M &«¨9õþ\e;”\Ñ·tÕU)´3BdVJ96˜ ÂÇzˆ=@·®Ú&ŠtqÝãŒIì];TgÞ‹Sጽo~O´;‚ZÃû9ß ŸÌ^ l'z¶S—ma&hev«2hD•¡\K;Æ#¿†ŽTy'4„‘…:ì­e -#ûò¢û󃃞+3_öÑT8Á…õõ‚ûÕ=nU”Y±²ÿºO2i$åÂÊæ¶PIÔbo·ÐcÕµÜE²lXq®0þÖÆÿ×:&ôhAœè¿{¹¨0bÕÂ/µu¸ß3Këöì )ÔLÇÅò³„´x1r ,TæõD^SêÖ*fêžùw¼ŠÂQh}§G<È«Ÿ,ž¨N”îâ<8F™rg…<"zpd xÂ`F&  À·ŠRð–â@yÿø¶ñ7ÜÆ›öyì=Aõ=VÝÂ¥¼…úÇ¿|zÿágÜäÐY@ ¤Ç< iÚOx‘Ý/#gô¢[Ä -]awܴ۫±p&‹ûê… ¡[I«*ϼw|ˆ8Z~#d¤Di|>*Ofû¤ zÉÚ§_Ž±µV ÃÅq¼½F¬ëðëŠJ×øÖTçı‰I[t´\Sö"“E¬©ÒŒCß‘%V.@à$öY(züb(Š¿Eb‚Í€§3šñõ §íQòr5ê0[ÅÒÙ†nÉÚׯƂnšÃ£]®ŠmÎlXø^­¥ÃÔ°ñKkóæöàÃ$£¼,,2àËýær8¼™¾¼õ(f3ÙnŠ î‚  -Á24…(—oœC‚Ã$ƒÏPn;èpëײçø -²_:tâÎ^À|šÒ €dâøºÎ¸CB -jª Ûl"Àûäкí“à -_—'Z -ì©Ù££@EÔ¨#?”‡¥‡©§{òÅÛÁow‚J—Ñúñ@†×w2_'ôô¥¦·×^çIè<8<Š#ò…SoUŠM.T#‹â˜”Ų€+§0ü›í b¥Ñ¿ŠþiŠž§8;xc$è3óSïôP_ì¥ñõõ¯‘{¬æfmoP‰‚ óÊŠHIÍ­¡Ä'F ªªåîòK~‹Ì°½”ÜøL›)÷˜ƒì4‰ïý3 Î{ò·Nù1¸A’¬ÉÇ^¤±l»‰c}ºS‚ZÜ؉œµaëÚÔÖ`÷üˆ BSLÆnGq·õÐq鹫kz1³äOO¸Uáq@s²=oøå·PÏ€†Üén»ç—¢b‡)@E6£¯¶ìÌ]«"xàyH†P@9´zÝHiÆò˲€2Ë -š‰d73Y‚ñ $Œ69¥ëÁ­N'¦_µ´Í„@Ø‚D®Ï·f#*<†Jí"`üï°=̲k6¢²#À„™÷ -qÈÈ{ÿIÈ_ÿþǧ÷OŸÖ$ÍÀj_…ŠÇŠ£”á:7õ•pÇ'Ç)ùUÇ ±é³ûäï¹›¢Š3æýÜÜÈ0Rs B<¤i¬)€Æ난Ҟzž÷$Nm“„Ð[``kéõ᦭Ùë‚)LJkÚ`ñÚvدF©PX-ßh¨µ? Ú§Kˆ’g9¦ôtËç,R>&à.õEBï#,ð`Ú?ŽÒÒÑ5·9Ï"ÙÕ%'lËQÒ.´±€H„µX…Iš€ÊÙpçüiŠªÖÃÁÍ^ʶìñ1bÇzòÃ4í`¯0sË•¼f É J^ÛÆ×NµtWZÒºÖŽ$FîJ~ËìÝðS EQóN‘!ý:ë;Á㢫%žÒü#yg -ìËQ‚0¶4ݺa? »}X4îö({EŒ,fpƒØ|37‹Ï(HÈÅô¥šÁú¼ø- ØY_‘MSî2e8œ+œª ÔbùZ#y®MLH“,ïŒö¿ÅcÇ9è#šêÁR}"~ ‘Ýé\Î_Hyc–ä3»ÎO—-2p‚Q—J’|wŸ7xëÜÅŒH¹p¹Nø=Hm«ˆccó™N>™ñWL‘kP‘·LOtWœW’µ*2ù{ßcÔìKTt÷À±å¥"Rã,š5Úlo¼ì–Ì—6qöüª,G—\Øø­ÏqÄ`…ö‡Œ òeÉ|hŒfæÐ6«š¥èˆ(=ûsi1œ!49cód ZôhA?6ßøp;|¤o‘Xš 0]¿H.Š?ÕŠ$\Öû>Òëüœe9.kÈ[Îœ)Œ³­¥\1üåîM2—šÌ–ø4è‹\å°kïm¤¿¨ÝÀ8ð$·„òè¯3“ -¹qÎx±úI “M]­G¾ '™WØŒÏcV">‘?-#+·Aä,ÏâÄçoá9e’¨ ² 5#6gf’Üuüù=ûÒ…ãÿ爼üDµŽ"9è#¤#¸‹gEt8Nåì˜J|IXüx¦ì6À?PmtVv]ôË8Û(ÃäþEF0iZ$ö¸ƒ'Ê—Y­×Ö¹Qߥ²á\ìK8×pEoå±æh´ÐËRÂR 5á.ÎåÆÇÉÐxþÅ#òÇ’3ÝXyÞ -Á;:'Êz¾£Ë›k•Ý6û“åÇ0ÙüÓŸƒ9Ì2÷Üúþ1‰B3 ê%Nî—2%´^êŸT -endstream -endobj -674 0 obj << -/Type /Page -/Contents 675 0 R -/Resources 673 0 R -/MediaBox [0 0 612 792] -/Parent 672 0 R ->> endobj -676 0 obj << -/D [674 0 R /XYZ 133.768 692.105 null] ->> endobj -673 0 obj << -/Font << /F8 349 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -679 0 obj << -/Length 2752 -/Filter /FlateDecode ->> -stream -xÚkã¶ñûý -ã¾ÔnQ¤^ýv¹Ë%Ü5Î P4ý µµk5¶äJòmößw^¤hë±h±Àš"‡3Ãys¨V!ü©•Ò:H“l•äQ Âxµ;½ WO°ôã% ڈ¯‰Å»HGA¨óÕ6A–ú cPƬî’8 "M´¾ß¾ùî“V«<ȽÚ>®¢8 L¤Vf»ÿçÚ›»XEë/µþåãý§û0x¿Éãõöþ—¿}ÝükûówŸ²Ç -U†ÀS¤‚\¥„ä›L¯›Ëæ.ʲõ©ØDéú…?v›;µnΛ(ç™|]Ô{^ÚW@©Ãõ¾…Qõpÿ})Püó¥ÁßõוßwŠßnÙvUS3|óÈ ý!£<\D)s‚$N8(ë àíúRï-âöj?l‚%«à¼qBçÝ55qß#a:„‰˜8þv%Ñꢩe1ŸŒOÍÓÅ1× 7ßðqñãh}-/U{ï踟8,zÆò‚òEùãGk!vPt%/õ ¶E´È%Š¶ÜÓqC9([Ç•€u’¯¤…“Ä'MìªÎ‘~áÅþPu<ú\íXô] ÔY¸~®à 9ªælÄ."±c…ŠxbVû8n›£SåõÙP]:M<ètÑVˆg‡¯ «÷«©ªŸÙ*›5Š¥z€ÿ—^ŽÙp@¨™ÜÞÚ6Ñ-ÄpÝ—ÿ—ö¢Ì¬{Ú¯Ÿ©‹-¯e 3Í7¡´?¼±àŸztÆ‹Ó™u…Ø<ïq—P-P${ZNÞ¡W4ÙLB†Y€..ð侦%óÀÔH¬ínâÌÊMëA^Ú\Éë&Šh91á‹þ¯ˆøÍ[^m$c$‘™ Öæ΢ìEOáÞÄÆáAŽß#j¸š›ej³H-΂$¯¨ýT+Å‚RžçÁܶê%hàׯ¨¢â©d¸ßÃ8dã…²ÎP -Npœ¢XÛ¡»¨x]=2@QS,J&„<ûªëI±;±œ|¤xbŽlЛvf£µeØ™!]N%[#F@ ­`ÒÙóžGŒ˜H7õ‡¦“ýçÙEÔod—Ž×íI‡$“(¦çD:X;ð~2,ò¸Ë]AX@S{œ8Š=‚²‘Ü„Ùú™iÑWJÂD÷ï@dQ¼æ4"ËG¤ËaB”j^ròñOÖ´/ Ã.¶ã@…tú0‘œ.ÇFT+x~’¬ :¶0Κ®00¡¼°ÇcÀKq²³l8,:ùåÎ9ß@"{˜hk±Ëq Ù!þt pµÕɦ8òâùò@¹¤;`0Ä™fVC˜{1¸øV@‘‡P¬t vfµ'Î b4Á\ 1Y _¶h< ©@“%¹Ãƒl?h©Ù@³DMOí3X†ú„‚E”ÇlI8±e­âÐÆŒ¡&%ãtq!7F`¡©eCÓòï©ieælMßS»õÈ(OeGlMµê«R¨´œXASßM¨º«˜Õœ"ゲjÕCãRRBDyÆù0Ïìysàõ:Yï -t³ŽÅ9q8T­ãÊ+ Dêåt ˆµy*{4Ø1÷R_…[+ÈñX «5Sñ#ƒºÌ‰A%Œ‹ÉÈë…P:Ýî„^üµÕ6Ó…DB5Ûõ¾ªDo«uHá]1ù8º1‘8åL#üÕ¤´'?–Ïr?éEÍ£AÂÓ|dãCP~ám‰¢”†® ÁU—Rx/ßtÆúiËÿ !UméÓù  ²@éè• 0M….„Yø0–¨¹ °@ÍÚמ"'•r¸ÂãÚΞ©ðà‚O5¥…¡â’"CS½ -ßW€RäàxÒ³`þ7L\ãìùz¬¹Bº_f2GªÿƒY5Â-"ˆâWÔèM©Q«ÄáA~>Ϊq‘šUã5Q£OíWWueëb–UÇã¸ü¶·r맃 U7t×ÙÙ+BS8¸Á0Š$ó²M’@GÉ+²€Æ²52‰Ãƒ§ýa^¶KÔœl¨YÙzÔÞï醯±Èãß3÷8“ó˜hNª¸¥º¨GÌX8)áI¾f3î¡ûÚ¿‹W5ó\çËUÒå!RŸcI,*}¡ -œ1¯isšÒ&×áA~?Íks‰šÓæ5«MÚ}½;bˆß—TõC–:q¨'ѽß-1 -*{¼ôT}*[{ô»p£ Ê P¢oðF!Rð. -EÒsñËmXò¶áçSõê§%œdw83ª¾N¶Lª\ºbçÁý²_«ä -¹wM÷c3nçªç:6Û&‰`½îJ©ø -uïÖNo¡0CPãäœHk=À²üŽ xªÅÀÅá‰?ºÝ„Ÿëx{Ó÷Ô)‰éˉ׸!säͳNåa¨eŸ`¦’‡ -<è³±DÊ:Ä)ñÔtâÈB–Q&Ý*Vá÷ßN¯¢‡ì9È•p¡ ”æt îxžt ¿÷57(b¸`P\*\] -«_-k»¡­«3åZˆ”»œS[ÈíY—n:º·dÇctU ¬±lÜÏ¥õt#ã/’/ƒ8XH0g½›fç ô“êW ÉÁ̵²eðÓ¼!-r†4OÊÒ@jˆ«RxˆÌ.rç—54Ã÷×i‰¿®jJúùF  ù)ÒY…¯´= ± SÈû¹ÃC'›â5'ÅjVŒµi‡Œ‡KoÈö´9¨Ã=éq˜‚º}Ï“o¥­ô£e¢ç)ð}[zJ9Ú—Üä|{PÁ‹ÞT ÀpZ`ÕŸx‚[ÊqI=z#½£Öö -'ŸîÌ&â×` -2R>ñcJË-<œ­áZIУ~€¸suu=°-ª–` qà`|¼/7/î,É—’c”†ÜSI• 62m—ÝÕ(õû¿øe{3׌÷²á@}HV‚º–̪áñ‹ðwb$"Ωg -k1ñ÷D®'’ :ÁéÑ5ßÒ˜Õ™_/%=£d0)qFx{wlR¢d}­|^5¢4±Š挖p«e›2ÑtæuY²éF €Ð3Ó¾âpš¼/Sâ?°¾¥§•£ ­yçѹñú‚…ed,s¾ïŒO¶/;'èêÁ½· ‰Ê̾ÜÌõËÖîÝb,ÐTe54z%iv^«¤¬wËZÅ9”;¯$9h¡cˆ•©Ãƒ‚øy6B/R³z‰šDhŸÚdüäV¾ j ÐSáH½ön¥Å´è~÷Ž¯qÜ -Oí“ *F^nZ×òPÕÿÃKƒòµâœR'¢öλv~˜Oè>·Ø–i‹º;í`Ã|)Åu/£ÇRÖÇÂ+.¿ö¢›D^²yUÐñŸ«¡·—zɤ]^‹y|¨+™Ëë„No‹=£E²ÚJV¿*Y€°]hÞ@t6ñ(“äؼ‡ú …°ô -R¼òÌð*qs¨íð -‹ š+¬àwyáóQº{þ¶EmbcEb0ê»_Ê›/oyÁÏ ôžëؽ*MoNÔô…ÍOL(i*:dy “x98 0·ÞªC¸×m± ”âô–”IÓÀ¤ù©ÿFw“õ -endstream -endobj -678 0 obj << -/Type /Page -/Contents 679 0 R -/Resources 677 0 R -/MediaBox [0 0 612 792] -/Parent 672 0 R ->> endobj -680 0 obj << -/D [678 0 R /XYZ 133.768 692.105 null] ->> endobj -677 0 obj << -/Font << /F31 380 0 R /F8 349 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -683 0 obj << -/Length 2809 -/Filter /FlateDecode ->> -stream -xÚÙŽÛÈñÝ_!ÌK(`Äeó&òïxN|,àI‚ ÉCÈѦH…¤<žÍϧ®n6‡” Ì>ª«ºë®Ò¨MÿÔFE‘Ÿ¥ù&-B_Éf|l°õë% Q -g+›»8Ëü8+6;ÃÛû7?ý’o -¿H£ÍýãF%¹ŸfÉ&M2?Œ’Í}ùO¯é¶»0÷öz¬»v»‹Tê=n•×õ8Î<ÍKÏÛ0Ã5å}åõñ Æzä ìæžxr:ÃÎCSÃÿ°¢<¬pP2*>”z -êApÑsÏ{/ˆ°Ò½ |€+fŒ„ïV9— qîÝá?ávÛßÿ8³SÊ/~êùXµˆ(Æ@¤Í«æñÖ¢”žM{[$ECC$VÂúP·øø†÷O0>?4¸1?e5R§£•¹Â™à>/åçÑE*(|Q÷dóßãŸxÅì‚MøáxXxc_#ñóˆlG8>üµe™5Uy¨Hß”ªE¹üć"RUŠ˜ø-¸llª½"" È\4¥ük×ÉZšSìg ^áÃEsºJËÔ5ZbR.µßì; -£Ô¢ÁAðÞ»¿m0À¾Ö,+Þúbðì]n"é9š;ñÞà¥ñ£å“Ì;³ÃçB( tkðUu/Ãêû¸"K6“4`k€¯¡!X^5øÛ]Þà‹X…ñÒQJwʽ3¹ÕÐF% -R©DLøZsIAÇÿƒÐ5ó¦±ÑÁ41B -geÑh»!ʪ¯Ê5G¯‘#[{‰ˆÃÍk»¶/@ë\€Äeý÷šeÑôwZê¯ò3ÔMÁû~¼¬ÁרY ¾BÍh°Cí®jª‘œ;Q!Í@¡_‹5£ÀP°ôK^¹y‡:UR®1ˆëŸ”’˜{ƒz'Þ—3yAЄ'>« !7ü¤)‡bí\eü”á,å\[/ÛœIÊKÞ<ö>Ú¨Ä÷ý+P±ÿÛ6PW¯eq®ü¼øØ µ, Nb‹¯ÿé¢Ø¯R3b¿FMÄîRCe-ŽûŠ$Ë“IŠ‚­à»ÍŽFbõçâàQP?Ý\speMs¦¤!(Å„/ \J{ßµ µ„ Ê aócPÜÏ”Á>Ùà+/ƒÉ—Œ‡È%‹ tW£Xœ~ Â¨Ãt))4 ø¾Ï—Õá5«W¨up¨­Æ1dÂŒYÇR÷«ÅCO›wõÀƧk“NƒÑ+6;&¾ A~*#Šï1ïOsk•8þ(&‰²3&ƒÍ“œÕ©Ä³}s.íåy½­žyðØ34^u'nÄi¢#!—@¹(ŸêdGŸœ2¶z/¥ÄNÅ~ÇóÜÍzqyÎtS?¾à<¤š×%X’>•º—Ý/³ÄR@)ãî^^ ë–ÚŽ¿ü¢±Åå$1~Ìmkæ_DURßy"QwiQNZÁôn¹ž¢³;³-Î|3ù rÊB1_ÑzOìp< ¨>P‚2V|Š˜ßef ž’'ÂñȬ$ƒdÐtðu²„‹zX “…#WDu!*eaàÝ£n!?Ô®)CâR= bÈæJÊ×a'qr\̆hE -¥AŽº(*75VïLO‚ïǃÀk¹ ®“ø§,ŸJö“š¢ñ¸Í„8wÃÚe”Tº±ÿ¬Zdim»ôØ -Øã6& ç<¦ ïLÍ ˜ÙNJxõ•Â*#N&÷WìFì -,Ÿ50”›M•©x˜™=ò±dAo£@½Ê)‚Њ”Æü™ÓŠP\ -£N¥0 ¼yG&Œ±kVJQ9äÞ©§bë[mS@ˆÍ üºͲ" ÅO»‹ÆD]¬]Î&§…Üy=Šò&'¼Ö>{ž]ÔØs4…¬—WVaÉÒ…$Øä¹Xÿ}ì„Hõ]OMu»&ÒQ¯o¦RîÀ×q¼Ø(Â%¡ˆ¥4z–Ca°`Á”\áÐ*A ¼*ª*Þ¶sòø¨lš¦Uò¦aâÑr ëTË׿³+–è´RM OÝ&>u=©3v/¹L”NK»V÷M£¥|¹j×}ùcCˆ8p뼕šülh^: ‡@’úPñ÷èï|â/y8øâõÌŽº›]_š^c¢/¨Õ‹òo±÷t~~Åîž‘“cÁ¡  ‰†tÏ¥}˜Boà;G¡ð)Ttç( éÎø þÎïŠ'HD!{ø¼º._w?SœšîÙ3ŒsÇ(Œ- +dÀZQ*¹Ð|sêýŽ¼in½¤·T)Cœ\yΙo2%T8^K¨¢Ä$T+=V,ÕTî}Fn^‰iIáYL|9È]¾“dÁôbíÈܘgÒsi,bŒ_yo5ww+Ú‚û.jEJž‘ËJ”’ãö™ŽgK°L‚N°‘Œúî|xâ9%=]ø°p²€õ¨KÁÿ€ x\JNJ€[Š¯kñHžšôÒv\ù<„‘B\xÏn‚µÂÍ3Î×2Ž­g›rÛÎIŽ”¾Òå Oœò{ƒnÎŒØ4CíWér(1'Ϧ_>pÓÜhÐG-ЬÓäÒ)ñ=¤rx™IJy&<å±MFqb.`ňG—¢šú "ÒbÌö µË<·É ?k[éäéüº¿ŒiH$ZŒÖ˜Ç¶üU|ÒÍ£lÏÿÙð UæçÙF¥™Ì¯‹Ö‹€îXê¼Djj½„aè牲øðº ÅÜB¾ò>|ûþÓûO¿¢k‰¼»Ï¸ö×X†|ºÿ‚w›5rvY쫨˜µU¦¢G Ä7¬9¤¿ÉH´²>Æ‹òŸ—ŸëQ‚àÌÝÐJ9ÿ%™‚Í$8Z/oûéz°†›ð±¶¬lèe3»T}€ÚÔh«Î-ÿ"࢑Ÿ“£„#æ\ñÞ°þCJ –“‚D©Äm ñBÌ5{ñY‚ë\÷Üq5ëJVÙæú^ž5ãÚ¯ñßj××ÑOÜäc•;ÍX®±F‘“7©a rç‡ùb®¶`!0n»¨\òýÌü&Ÿ¯4+äoòe—t`:"½Ð6Í ?J“ë]Ó æu“ŸÆ‘ÁB¦”¿&eþÖcIêAJA -endstream -endobj -682 0 obj << -/Type /Page -/Contents 683 0 R -/Resources 681 0 R -/MediaBox [0 0 612 792] -/Parent 672 0 R ->> endobj -684 0 obj << -/D [682 0 R /XYZ 133.768 692.105 null] ->> endobj -681 0 obj << -/Font << /F8 349 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -687 0 obj << -/Length 2957 -/Filter /FlateDecode ->> -stream -xÚ…ZYsÛÈ~÷¯PéeÁ*“Á}TžSëUÖkmÙLm¥’<ŒHBÚhEÿ>}Í`@€t¹Êœ£g¦§§¯ -n|øÜQ´ÊÒü&-ÂUà'7Ûã;ÿæSŸÞBÅ@`ofrgÙ*Ί›¥³Ãß6ïþòs~S¬Š4ºÙì‡C’lFÉÍf÷/¯Ý/–Qž{ýS‰Âkuu¨רšgvíbæÞöt,›4ún± ¼÷‹eì‡Þ©Ò#SìªûA ýrG³‘§pvÇÛÔU×ó pÔ‘[ª®¥Ññï=ð}‘¤žÒÈ…â#yöî‡oûªÅ­»Å6‡û/ƒ`U$Ã…â,òÞpa{ÒÜÛ¶ÇE˜y°¨jʾâP«aìbîÍs^Çêj[6]É¦í¡ ·KüÂÞÉû'ÕÎå΋.;âX_„…'»Ðµ±ÑÃOe¥g®ñÇ"B­Q 2äô ¤EÞº¢›£jUKMííÄ«"ŽGmðaÃ<œŠ Ìp«Ÿ¹×”Ĭ̑ˆë7îlq¢•×€w©Cd·ÁI!ÇWÀßþI¸E’Ïí‚â†E"”³Ž¸öTãÖÕKMïŒ÷YÎ\¨Ú5°Ü𾨰qž)‘ LEÞ·’({dªm:<Òba7x$u.yV—ÄbÖw<øZõOL«x «š³ Ýx<âj±ÌâÈ»ß3%,öõ@¯´½²Qƒ”.KOvÂwè«üÁazñŽ05½# ¾âŽß0`؈aÿN¥…/®HrjËI6F¹£‰G4¯Kcš8·Õ0.@\xGõ¼ QNÜ0EÀLÕ×C\R”°@î°Át§-ʃz1ÛÀè²LE>©úó4ìø(‹³jG÷@šÏ¢åâŒËQ‰Š‰ƒ†’Ý{ž¬ä |eä`Ÿ• $påÎ µtè”8sò3G “êDÓà°dž‡_ð¢µõ -Ž~Ñü°7]Z®àP$8¯„ò¹iñJ¯ Þ7 ìI´kmÎ6ÕÌ=Ï^ HØT±/>h ÿ—L#…ÆoFK€4–HTÈû²ˆ -|7Xýß“9½?Zý£EíÜâså@«j´î,^´\¢´@|Ó ž™ßÂú"òÐ Dme¥ 娭ã*W¦0…}Š4ÜeŒ­7'æË8íb<¸Ç{¸ÍÎ|ð#Y†’Kfì;1 ˆÙU£x&K‰çÀýÆî,jƒËð½;+5çIп¹wû È¿Õo·¼ž_hÒ‘U…YáB‡ö„a';3$@M@D’b6!À•=‰‘\¡ñ´W3œåÞ -2ëPxÍðøȬ°´áÛí_1ò¥ `¬ó¯U7çÇÏ+öoDÅéŒ wL5fIo?×|&­"Ã6v,"‡ÛQk"‹Û÷ìž(LãV àFŒš›W5ÇKP&¦W»]—»j«†epÎ -õ,öþ‰ñõ,¢°,¡Åǃ»².{1F|'ŒÀì%õ·4Ij » W'zw·±;ôÃU @:΃U^D. -Ÿ qC»tˆ GÁÇC ;財Aᤠ‰$¼Ÿ?{wá¿Íý×oˆ€#ïágþ]?àÄ?~Ã{|Ù|CVGH™ä«, -Aî0²ÜA¸ 7äy4x'Ì’!JSOñ6BŽÚ/-†`ß}äá>=Xb\ -¶×çYƒl.˜Û-Ókî9F‰§Q¬£¼î¢Рª3 ½ìÉ<°„äzű3£¨6[Ym–èð7rà!û…]õmt‡R † ®¬ÊŽ÷f~™¦üÜWF¿Y3˜-ˆ{hÂÚ(¨C`‡7Œ$Ó3‚®Ô½ÄHþÛŽ0Ç<ƒNQÅŹ˜š ”l;“‚OgSÓž]ßL½æ=Sî­˜˜RT¸ž©˜g ÆY9s£œ9*g©yn¬•™©ÔÈŽº<(M¯ f45c|ŠÃÑ`\߬EŽU) ®ŽIÒ`dÑ zûÁÕ8nh—ñ$Žiº -à†ï“Iÿ°ˆïÓ§¯ÈëOq`Dç@þÇýænÝYßýNñ|}÷e#³ ˆ_ÅÕ3A>@ü‚ü,¼ù•SªjA2Ãy&ÎS ÃÆzóúEüåJ˜Ï@Ñ.*FÚ}Å/'$mpµ îØcz¡°¥ú’‰E!¯›t).®q«>Äcäg×gJ;}W§#e>Ù_˜Š£U ¾v<¤|¥€æÕá€ÆÔÓò[žÄCöÜ´ÙPš[¢;<Tƒ±JÑ°LìÉåÍ^¥ðÓ "}šÞIÞŒ[ ,·-„ç|Äç\~ëêXõ2D˜*v²’W=|r9á]vgGê;¾0˜ÓøÀû©;gAˈT _4ÂØ«THìÎ3œÆPæ<·…ÔŽ»Ž ÔxK ÎËÂ/À¤Ñ,¦²À)/¼õð/eŒÈrIˆ·õÉ J4ßð¯’PW‰öåÅ¢=h̬ãOÝ”ÙVN`Ô>3´Šþ…‚.jNË£&%Àö*×.™†ÌÒÑbÚyPx쾚"We‹hzXдý rå›ÕÖu4+IÓ^÷ìá¤(³ÎóRE†í‘¬˜À\®Éì¹€Àö–åÞGyhƒ">Sêòϲ«Ë1ùVv›+áxÄVR‘‡³H= -JÃɾ•_zG£8¾…²ªŠXþ/TîÙã­gI˜&ÎË ‡Rˆ c#8ŸÍ&c¹üÖÌ™ôÈ>üq†žT-2nÝÝeÏJKß*ܘ¿©JMØ"‡“ô~Ùð~8dÞO(…ó'Ÿýà€3gŸpˆ‚S–›œ|P úlæóëïb|>­¸äCT2nM*—° ÏOïIa=ãtv‚ö(alÍ$ºt`U“RÎ׈¶Ñ k2^=‰ò©TÇáwë\ÝàŽ7¡ÒušŽ\_OZRv£Ý¼—§(a™¦ h™ŽC·<ˆµ+p@ˆ„©šGƒN¿ñ^CÙ{êE"„ÒÓäHʉÿsÀ èÞ¤M…Ü[‚˜©èso~í‹ ø³§¶–¢Ãè§U¯p7Zùy~½èŤK‡vZóJ+ûÃ~ÈW.XyC(ù×oŸ$§ ’§˜×ÏVQ1¼dYZÙUÛ6²ÄN"‰¸jµ;ûøÆŨ$ ª=“ôeŒEÚïÛòý+Þ:åq„Y›%ÑÚŠn0ú²ˆ³gØ°äÑÞa~y[Ü…¯J…# † c?Py >1ªÖ²Ö¨¬íK}<ÛzTáÆxž–/µÚÚ¼,<û芷Tî©òEd9§•CÕÖO$ˆü˜…j:sw„Â>}^Ÿ-㣬³"ô»ŒqX×ñM|¬W,è»­Œ•b*SŒx4ÎÒ—¸ÉúF ¦ü™E^¬¢töO9–†d9Ðœÿ±Fäû«²;¡@Q%ÅùQæ¯>¦Gý3%Š -endstream -endobj -686 0 obj << -/Type /Page -/Contents 687 0 R -/Resources 685 0 R -/MediaBox [0 0 612 792] -/Parent 672 0 R ->> endobj -688 0 obj << -/D [686 0 R /XYZ 133.768 692.105 null] ->> endobj -685 0 obj << -/Font << /F8 349 0 R /F31 380 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -691 0 obj << -/Length 2937 -/Filter /FlateDecode ->> -stream -xÚ…ÙrÛFòÝ_ÁÒXeB¸çI±äX[¶œŠè¤R›}€HÄ.H0¸´þ~ûš¨-W‰sôôôôÝ û3þù3? Ý4ÉfI¸¾ÏVûwÞl [¿¼ó$ŒÄÇÙÄæ"JS7JóÙÂÂðóòÝí§l–»yΖsIœºAÏ–ë:/§¹ïôóEfÎë<Ȝ愓ÔÙ8{åIuXÕ¸.²o ˜ººè«æÎכ ÃÃÔwš½@7-¯u̓ÇâþïŠEžøåO@Ê÷åwtÎHÌêEèüöðûã3øègž~ûÄ¿Ëϲòåñ#yxz~»ñ0qÃ4³½ø]f”gpœ5©$/>7›¹ÉÁH[ IÕ‰Œˆ UXNYš* ÊAÒKý„Õ)0êÙVHÜ?”g>0,,p…3RÙú„w®´¡Ô…Ñc(™ˆA”¦´UÏ[ ¬8Ž$­í†%Bl2l¦Ò/sØ·3)°a²®þòü°ÁÙ8œ5))ÖëA EŠŒ&LØ:×—ºÜwìÕˆu¶Ô'¡v@lz’q±?ìñÑnoÏç3 ¼½ýäbÍÖnoÙîT?×妿½šì?œãÁ}éEAŠ ¤”©ÔS¸ð¥²]iÊ¥pÇíø{9[ðÏ0¸By²Ê`\`çg®'.(<®N{üûBÊ]¶À ²(T®æù:q§› ¼Õã -e‘[MC«¬ÔàmÇ¢årøÄš -KLYè·hy‹îwGoÁE*ÓÀŠÊpƒ¶KœÜL—‹:u -cló–ÂðªO¹áýâx$/ÅC*ø¥’â=M‹ìŽèz3AR 5æžR Y!…œ†ªŠ|[Þ”j!¡ôFÈfÅø`¦iÇùF$¤å=<’.B”Z¢ŠRå2H¤¥$U;…’ë5}$• …Ý°&ÔOêun‘Gχ"FŠ° (ÚQ8R»cQ&<áõè¥X†¦:ͨìS9J˜æÔ”ëÔ~È›^•™h-B|š‰ŒB\[Êl •Ùä_TªÆ-†ñÌ£&ÁñÕâd,åuc¸ANÓÓùŽµQ*±oHüÒØ»hrÀú„‡à –c.É žµ2à÷ìÂúà Òã;¦×êŽy¶jäÁfâÕv~mÒ9F߀E’4±+l‰…i µFÆ°ò¢Z¤¤›³0¶Ä ³g › 1+Ȇë9#ãË 1ö]²­ I)û{3CØ…<ÎãÄõÀg+dÐÝýýÃÓ=f†_?`Òauí™3@ò]ð{ê„xÁf¶…ɆÂ_Ë“WÄAz, ¨~°Ä9 zÖÃQZ™ºOKVÉIì’L‚[3'»–LÛ¥'&J^QV‘Æl³‰2„•Êõ/:)9眵&ãZ ÏT)Ií|Ê3K_`N®Ô•4Í8Åÿ/çœj:)·öƒ$—EÊ…´øý&t¹Q‘ä\ãà¨?%y:¤¦–`B='\UdÛeï¶ú -‘—ß$píߧnÊ1iÙåóE·Õô¶pv,¶å‡‘È3?÷Ü<‹¦>¼ù `Ar壜‡n’#ó ‚ÑG¹8s“4Öw á§Øƒï‹=× ã™ç†_YËýÈRó€(^(™ñÈxàq‡ìᎋ·0ó?¿}§‘ç<Ý}}àð€ë¿²GÜWí -r¾V}ȱBì³{ŽÎau߇ԓ>EÉþjÐÓûù %JÊP[j¯ÅþT‹Ž`´é’ðO'Œjú^úæCÎmð<}ÑŒ}³‡Û8à‹ƒV¾ʤû· G×£¡rã>b;¿#ÒABоð€b`….˜¨d2»üx{œ”,¦Z*`‘I3‚H² ¶ãÌtš!­&*¸5˜ >¤%?áVýŽ‘þ}ÔÂà¯-75”·ˆçAß½{?A9!KcS=7Œ`ñ‘•Cg¿­êÀ\ù£ïÄ­rC$ü\ðç @µ@;ƒfGàæOP܉;¶ -µK—,Ž»®¦$0ñœ’X µÿ_Û "ݾœnøý€6‡:O¾¡¾Ž˜s*µ¸#„½ñ9z¬Â7î5gšån˜ÄÓþR@æÒ]†ÆïPaÁËïò*õŸ!ÆWýöA/ä -endstream -endobj -690 0 obj << -/Type /Page -/Contents 691 0 R -/Resources 689 0 R -/MediaBox [0 0 612 792] -/Parent 672 0 R ->> endobj -692 0 obj << -/D [690 0 R /XYZ 133.768 692.105 null] ->> endobj -689 0 obj << -/Font << /F8 349 0 R /F31 380 0 R /F14 352 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -695 0 obj << -/Length 893 -/Filter /FlateDecode ->> -stream -xÚuVIoÛ8¾çW9I@ÄŠ"©¥Ç ÒŒAQ4êi0Æ–madÉä6óïç-¤¬Ô6D|ûò½GZ üÉ@*%ò¬²221Áúp—;=ßI§¢4¨H¤®cçBçe/<0o™GMØ$P9LÑ5tS]žÑÒpJ9¦´c1äS=ðÑbš>ÿBf€ Ì€(Á‰*p¢ø8·cz—ú²ÌCðü160¢ÈÕ¼`*ÉÏ †ÄÇSIq!]Eø‹:Á¯ôêWz‰!›+©ÂÞñÇþàŒ{?5³ÝäÐ7ÜíÎÆ7׌r£5é·~/–Û6Ôõ“‡zØy FëÇy3è¦XDì™aÛ©°j;5\ÔèlYcýÍä\ìë…¤Áè'ëZÇ0]IŸ`šïA4˜±Á iÖ§5fƤk7Á¶ñÀTæÓ]ù³±-H`¸øb±‡#°["FöC=…#ô»ÁœRœÁ õÏhìAül0Œ×ðɨ@Ÿ;­‰6 -îEÎÀŽ~ǵÑáÿ±fÎ|ZŠÀ©,Kòu¤GÁ¶mÝ2ãÔms„?ÿ3ƒ.ö}ì¯ftÙoY¼EÍÚ1 É~KCîçÃrí—ëØ6ëº)6¾D:;Çfª¡nþúŠujÂç¯?˜ùì³ïÎe`,ý†¾ÞZ—:¾\ÄÄñDÝ#ߣÃÇ“âÑÛÓ Lxl\®£ðõå_–7öÛEH©[/PQ -•™ëŒS‰Ï:¿¿1*ID¦•÷‚ dò÷PþÇÇe¨ÿYø -endstream -endobj -694 0 obj << -/Type /Page -/Contents 695 0 R -/Resources 693 0 R -/MediaBox [0 0 612 792] -/Parent 697 0 R ->> endobj -696 0 obj << -/D [694 0 R /XYZ 133.768 692.105 null] ->> endobj -693 0 obj << -/Font << /F8 349 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -612 0 obj << -/Length1 1476 -/Length2 5563 -/Length3 532 -/Length 6437 -/Filter /FlateDecode ->> -stream -xÚí”y8Ôï»Çm!Ù×"š,e73û.K"kÈ:Æ`3ŒÁȲ“¥PÙ÷-{ÙBeÉ–ìYÓàLß-ßß¹®óÏùï\gæŸÏ뾟çy¿ïûþ<¾«úF"*öh;¸…‰eX΋ˆ‹©øøÔ0p(F©C±pY,’@K Yƒ¾.aÙ]O¨ã¯@°,%##Mì0,Àîˆ@Q‰ýÐF9  ÈŸq{O·¿s^pŒAÀO$íÑ(¤Àî@Øç‰DêA]áþ?ý·<ÔôùŸV˜ÂŽNX¿.ÜáéúŸYm,‰€© ‘pðÏÂCƒÛë#°0'ã ÿ3l‚²‡c\íøÕ€üœ±æ‚‚{x$ÿJ顱ÁÜ¿Š$Ô( ÐÔ¿õŸF஄îý}ÔGaÒ³=üÏø¯eÿŸ} ô÷.ˆ©ßÐU×úkŽ$o `h{Ê–„  Ô‡ -Hà  æq8ŽP­˜( -%l¸ybýh Õ¯1dbŽž$îŠÆ"áØ_é?2„!ÿÎ`þèóß)qq€áL$ÔõŸaµGýë Ð_Ñï—ˆÁЮ®Ð"’Ò¿"HBÿŽ@$ åþ&‚ÍÿALã7bZ¿‰°Oç7Ab·~“@L÷74õ~Aáö?$M¨Ðè7üÿ&Â)¦ÿ ¡D; æÿwûdÄÿ‰ÿ»xÂöß…ËLØý&‚ Ø?ôë³?ƒ)ø$Ôíp ‚ŽgàÙé Ú‚8ƒ.gày 6~"Ø@A‚ ô$Øp;ƒ]Ì$èzœAÂ<°g`Ãó t½ã¯7w º>gð¯ÃÿÕvXò¯ðï®ÿû6éC(¬±Û?ß„_×ëýÉFX ÚnŠ°Ç:]¢ % gæüõÿûÉê¿_WUU4ÎW, ƒÄ IBÝÒÒ`ÿ-„yb7ûÇ“péÿfás‡ãà0ª±4L.Ĺ2¤ñ°B…Ã[d¡‡|z¦92Þ¼#B{m4Ã×éEªæ »ª­}éÅOô?† Œøqnöâ,[ŸM%k½ÀÝè˜SÝÉìú±Óêç²G³;öI=‰œcØL0ळµ ³¸þØt*Õ&¾T¶˜sÜì±tWfà -ÈÛ§¿šÌ}¨’Þ¼Jm~•wÛmnIˈ±xêi¬mÒwL"Ås¬Íü-±Ï2 "ÛmÚˆyp‰iŠ(=©¸¼sÒ5Óš hcÔ!ß›g2~ã}`‰zs†9ߣú|+Ã]ó–ŽRÅ í[±èzyÿÚBÁÆFòÆ -}¹áF1özÛF9щÔÓÌö½4t…{çGUrÏ$fb–ºüÐBOƒŠá{*’Ö¦GGT9Öâ2Gý½GúQå]uíQªRÅEf‘0Ã֥ܡڸô€8ÛÔh¿°årÛâçHéôÏ Q.·åø÷| ƤY8qÈL0–‹ø kº}õj)ÉW4e¼vé1õmÉÜçò•¥œƒ† Ù•õM¬-ãñ ƒÝcv³“CâÂGù'§boÞϺî§Igëh'Fƒñ­DÆ­BìO÷€,Ͼî0†Îg¡å-PÇ‘ìfÈ°SÂ-ÑÏ‹Ó° Öù—^ëªÌPc¾G° :[¤ìä75 qⲞÜüvÚ³Rú¯îc?Ì!Ö‹|%&7¸û…*s³0îoŒUùÈîº~˜Hª5½'ŒÃç1=I¿£çŽü)x»jFkÒª{4¶¤:îI$á“ ,Ÿ Ì~ô©_df "ÍeJŠw'47³‰>Ú?äLÍ’áL@L8—ƒ.óŒ’:ÍŠ#>•ñ&/c”^ÛJäû”¬¼U9.d1¤åyÖÀÀE¹”§ïq»–íe´EfP/×{YDbx¯1ÃGg'`N‰›Ì£vÚ®’ã’{i³KÌÝž‘Sz€êG†vÔ“ X1ôQ™gs,ø…|ѶéàÎvŽª«gã)9ô¡ñ)jËîI?D$ŸÏ/Ž½¤]i •/òú–”ƒO¼ýTa¤yÞØ2X‰Œã¨F°^¡³< Ñ Š½ÚÊÎ É#€7x¬êQùGÏs -9þ¸+îe%V¡¹"¦Ü¨µ¬Dúù§g”w(O}Är]ÂŽ›þ£1Ë9××<àRß‚sÚ XàéÞ½û—;ø5Âï-ø…:Znéèö\Öæ–ZÇ-UZw6 ™Ò×¹¨‚ókŒó©ðŸ…LëšR­¦:.JDÌ*°Ž @Gzä½™5y%ýj‚è^›±Äâ›d¢Þ±2ôB»´·í9 ÞÐãqÝj¹óàJn ±[7›¾êçû‰<Jü>~«²þµBé £kã"Ð{ƒ®~÷IÎirl‚ß«s="+î]–Ýø›â‡©ŸÌŠªÞP½³GF÷¾R)é‰~ -½³;RîÚéœÌ¯@<½ x°Fʨ3ì›Pì,=ÊÖ°ùÄ^t1NNœŽ½±ð¢Y¶Ö‰’îAÏýˆ°ëf`§¹ÝÞôáü4ÕƒÓ<ðÆ#½ëŠSù4aï´ÆV0¶ô»z©Õ·—ȵ¶¿±/PßW‹˜5óŠžP¦OU“מ¶Ñ[ ÏgÉh¼à÷âÇÉÙðÚö6Çò]îáÚ\.®lÌB ˆäÅ’d‘ûX$• ¡Ê*A-Òñshò£û[”Ïòm|LBôùd3¥ ¦)¶+%Ý/€r™˜¸®q̯æb·».Å…uØs[ç³à}œ-VyOï)¤µp¥Kê’×­Cm^fpµDRÕµ"ÇÅøur>Ó0Ôï -PCè_@Ò)Z·=¿ScÚ Qå’!_l7{2ØW”g3™uñ“\}%ÅÊà)òû±^RFltÿ™9;)5¢Ö^>|2±[è%‰¬¥Aà¡Ñrõ¨ºàµHLPivczoù÷Ïœç»|9^fVÅõCˆè´ëÓz—ÇX¼å´Ÿ? âs\ã… út‹ÌîŒDh~µb Ñlš·‘JýÈ·M•î 2ÚáxfÂ}L:vVuð¡ÊZZ’-¬±áÉRƒ%,¯Öë«}:¬ü‘¤‚£tÊ{%#cã®ÍEàêÔŸ¾”µ¸|‡Ö“ÐÊO)|]êŽm7Q9ÊéÛv%Ê5ÈtŸ›ª—ñrEú¼zŒêS:ÿÈ›BS’3ß6Ù’&ž–5°T= -Õ ÷Â^*±}®9_C¯p¡ÄCr0GºÇÚÛéfŸÙlÉ -óJHYSùôæÈü&ךŒÍµ¬¾Áùó0)ÿD¯ìÁGf2ïÛo,¦8r3®Dfm¨´PšIJqÞ¶” -G¯¹-Zh®bj dCPR_SðÄ$Ÿf¾Q¬æ?šƒ®’’sÄzÀÊöº4?쮦”ÓÒ\r >•]?eŠ.;a£7m»'}îK¤-05ìt–â©ÿÌISgÑ!»»üöb Nósu°X áÈŒçs»²Ò -…ù•Rµ„Pkܟꤠk'ØØj¥ÓžäNÁH{ýjìÅú¼†»ŸQ »Õä(È%’°Í ’õÓÊ~YÑÙñíG<“,ð&·<;£ÿ©úèB·=W½S˜ûæÀ-£Ž§[˜ÉŽ¬aÑ/iÁõD‚ôÜê0ýHÖÅwZɺt'×h5Aß4apëƒy}ΪvewØ*åRuf†’”.ÛÈýÖÄ! ÍÒŒ¯Ï ó%Ö'ç§6ú¬¸š|9Ú¥ 2t,u°ýšaÌÆlõ‡å1Å }}°Áp[ù›E'o7 ø;Kƒ7±êîÛ+Qõ44~êUm;õ™F‹ÍOz/v-QÁö¢ê=Ù8Û²rlÉÜôù±i,–ªü•bæû¼{dú‡÷žÙjOºÄRyl‹Û Ê-8áqr,Lè^ËP¿‹öËËàbѽG‚ßè¦ÊU/ Š.œ`F @¥=Ó”?ò Ô^;w—2šœÞÂIB@Æ ~g⪦[gÒ-šR5ºªs7Lä^ëjÚÔ¼Ÿ-â£Ü[‰DרE -eR#GzÊPM›Â$vßßw®¯3ø˾Æm -™JVH:¦ïäå~ZWS“Ò l馂 1fg'ßîALéܬê -ŸŽÅóO6ë¨Þ:ç- ™òpÒŽšXa×ÐŒ‡@Áåð™ï£mç+‡ )W)ó4Ä‹ßûûr ÙiFœÍƒ–<]!ŒÊGëYiQ•{ÎznǬ°;7Ÿv¾~ú²Â㇀ٹåO,ÞŠ(ñ}QîLRä6K¹~ëafb Î9D(:€'oËZµÚÕ¢¦¡úѪâWY¥öźÁqLpvW€F½/*lÁruÐ.Ü¥Èàµg¯mÆ‰í² èò£@Œø¹¶ð½W?üƒ*ë·ÚßR«ú%‰6<]f:Çî[VÇžõDVDÂœ'—ýÀaúù›æîÓÄbÀZKb$ÿ|`‡âÅôìû6Lk@ˆ%£ %'ÌÈTkòÅSÖïV\ˆª*œ¼OHˆ·ÖÔa’ƒÿ"iÖSi¥”; >özÊcbò÷–·ŠÊ%맄0XáΊ¡ºòUàê‰-ôî;þž»9;Ñœ2z;^Jþ€óTû¦L¦æUwÞKV OÖ0- åÄ UæmiÿÎEè,ÁÚõÒ€üø†ºÂ‹áßpÆž¥QCÇBÖ-¤`ïVúGßú‘‡]c?(Õ{d±ŒÏH$Hî­v‘rv=é‰$¡UÊ«µ¤õÚÙ9Ô“û–q‡ôaÒX2ûÈ -Çt˜Xæ7pз˜+;²CqÌ6§ŽÎ ­>ÑÀ²>rAc^W¯71\@¨uú4,NÂÒôÚ‹~£¼sMf#ÑÙVs±Â7*u`H›Åe•Y”ÓV§Ö©¦„²ýäb¤?d‡KU‚$¤‘w‹a,,œ3—ŽùÐ"_ß4§z -|¥µa¬Ú¸¿Èöª@ýýó!j*Ôú`)·Ùè))’݇ZÐ' -‘¤=’K ÁÉÓùÞlËèÀ;Äç±-”êAíu¦}º“Óð9öá -;y«Ï~&Ÿü€lƒì÷Øo&?³jèÈž|Rœ'6­žz B¡«ê6Œæ¹1îz?¢KG#Ù´ê*žý‘³¦,A-€—.pôÄéX k?ÃÃd. ž_¢5ç>5ª°piŽ6·J¨™2»»®uÓåÁMzú)U-ÑZŒüºç“/é· -„Ô.§•)*cý=Ra yÛ+MBQSyÔ¬d£“iŽƒñ¶X³ï¼ù¢²QM:¯°Ñ% `²š ~FË’™•¢¬ÇƸ¬ ¥Úוd‡zxÑlŒÀF$…ìÖC×ìIàf!´6ANÇ1Œù†f¼ç.e¿à -Œ]ôIj[`2¿“^ÐÞÚZ‘׿óÃ;˜‰m•°»ò¹ÒŠ°tšs( þn™¬Šg¿ñ"÷öíV¿6A¶ø„/‘–—N½hn:ÿœ*úygd´ÂÒoáʾ–Ü+ëQ3Þ¹@iÏÔì, -GHöÖµ¸+OÄÊ…f"Y}z/¿8jñ‰Vð|‘Ì|ñ±ß²öê#üánù€­…ôÄ—5I›g]‘D#*l(ý>UÓ€:œòËîApûaË· ¨9£›5¶Ó™zŸ*fØDDa–;šE½8S.†Æ»¾†øÓ^ÙË«[Žx¯ÚYnI–þ± Ìko˜ó†çb²ªBž=ò R‰ï­`¯ ñEIvr‘ú!’„ EÄÊñ™ÿüÈ//¸£´¬ùuÌ/tÛµ\·nq|Ýé~Š©RÁ¡zì(imå°µ&Ì)ŒÁrk!ìÕãÏu"Õžõþ5ÛD¤óåè…ÜÀ‰ïûB²:_öS¶ˆ„–Jƒx*j“,瓦KeÞ½m©ivõ¹†ß¾Ã† ²‡‹ú]èøøðƒ¾Ê…ñõïzv6…ƒô~¸ã&¦É‰!™77×;§ÉºÖ×; Uµ¤ÀßPNª¯E­6 ·KÎëQ _ˆ×d3‰ÿêYëw­ßY2£Ñ~ø”͟䈭à {—Ó0m‰/Æ6ùÚMï¿c_ò5_ç?ÞK1ˆµcN4É¥©­õ±r…—jä?HÐ3y‚§WltÖ“a|új£ºÅk<Ƭç÷éf]å³ÌŸuSÅ rÅÞV`¢éŽºíð8\”>F£Ý—©«L÷¹›ø›ù Ò½wm^§¨r.[Õ×OÓ\‰Ö…ŠœÖÊsœWúÆtb—âú¶*‰Çõ¸ivc¢•²Æ9Ü)Ï¿‡Õq,>ï¢+õ‰âÖõÍk²?”°¶1÷Þ©“œZVÞe;÷æ5Ûrspor»¡w €á¢øãˆ;U%yÒ2!—ôVˉ€§VÒTbqé[*%.}‘'W®¡[uÙÝÝB.ËÜå µ¨%¾¸o. â4GÜb•¿éD¢¬²­ _h휭˜âåqB‡gŒÌ)A—™NÔ’q W­¼SÅ•RE³.’¼Is˜µµPB.¥ÞÚvùžÑ,N!Âù±±H.Ï)-­3&A­Í¤jU\qPŽ,®/˜×ÌM;Z÷'oÀL'ËšÞ-(^R³ÆåÒèË».mB&Ÿ3ææ4¦›Ù8Yò•B€c»Mt1ø4P"‘øP#­Mè;ksOd­pæçÓ [f÷RC∲¤˜aáR‰OâLR>$2lTKl~×óS·B;+I'ÓÏÜ\&Ž6µ»‰&3«~r2¨‹¼‹›²é‹íTU‰·­#kïñôGýˆ‚¥wö "•eÖ¿¸ï)Š\ÜyqRÛR=/R$~nÉ…­»?ôc–„A|PJÜ>ôäÓ† ¬.®0ö¨sÉÿò®ˆ#rÒþö‡Ë‹¥ŠÍ {«Ρ—oíïå-®¾|ªÄÐ?וòu+1æ¦?‹3SqÏ=Ív·°? •¨K—Ìq±æ¢âœ‰“·±ä?¬Š‰.fX拪x ¼:T—ìöU»¶…H ê¢h¿è./SwÎÃm£Z“; `ÂZ«PpªÐõ8ûc[í6BðÞn€, -gÄ£h)úŽ ŸYñ95,¸ß§ÒÌ ->1ò–êTÆàöm—n?Éz‹‰še5àä(KêìJ%×O¹Ü¯§ ú[¼0F}žÎ»'^I0zq¨äþÅdû9èÉG&»o­• "·²}¾Žéú‡«4D”]À‘oœ<çe¾‰É±üÔ7\nÛõ-Õ18Ô•¢ÒÀ‚û”ôeç¼yn¾Û­§bdÚ²•jH¯7’¬ÒÀËZ Óì×JìË4¦À)>‹²T›¢“S«ťZ:+ÛN>Έ•}ȸ@æó‘ ¤( át±ÞÛJyÅóU— -Ó—¯EÁA:²: á›…Â(R~Ë~߇ºa¼.À:v§·ôe5-Z !WîSwêsZHäQë¶co–Òä/74ïé´HGq¨‚†L(ÊdúW]ιžøÖNzT«èÞ{ ÞÈ·r l—ߌñ5uò›Ù­Ÿíç=ÕÆÉ B?.~"–™l,Ö -¸$?-Co÷Æp³”× ­»¤ð±*¾3þ¯¯À6§Kóé=ÿÔj0{‚~­FŒ“MÄ’T»[øyÓ`ßõ™Ižá’1{÷7ÙºòYÊ)†ø‡bóךlÔ–ÍíuÞkܲ¨½ÉQÇŠ,‡ÛtBŸÚ³ôªI -PSyy ÜËŠ“¾ÉY3`ͪç’¾K\Š¨©<ÉÍô - -­¸k@ˆ0Ö›ó·J²ïÒòçiCOsJ;›à&,6Ás¾»uÑúlçÄ Ûp* ¼…ÚÙ·/øSŠòñ÷Ý{?ŽwZJ8ÞÑL¥Œ}˦LŸ¿'|ÏPÀâ\tp9Ç¡5ámKIXá?Ðë­ð˜ -éäñ jÕkîG{Œˆ/ßÅUêÜq$¡ù£Ûëcªè5Ú/|_·Ò.ídGèlø’øš— 7ç¼­‘êT8¨8ìŠ|W•¯y½´È{·Ó@!ßS®¥ãÎßÓ3© ô• [™%‚ï(îë;¶ ’f…áW{LÈÑÚUå¤k€ÇÒ·»”ô|åVÁ—fM…?ð°eþ•"– -å¹Fõ%ã+KÃí¦‰:Ëæ;Û¤Àÿåêÿø?q ‡b°hW(Æ…ê¿›÷ò -endstream -endobj -613 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 698 0 R -/FirstChar 19 -/LastChar 125 -/Widths 699 0 R -/BaseFont /ATEMDG+t1xbtt -/FontDescriptor 611 0 R ->> endobj -611 0 obj << -/Ascent 708 -/CapHeight 659 -/Descent -167 -/FontName /ATEMDG+t1xbtt -/ItalicAngle 0 -/StemV 84 -/XHeight 491 -/FontBBox [-28 -213 1516 882] -/Flags 4 -/CharSet (/guillemotleft/guillemotright/exclam/parenleft/parenright/comma/colon/A/E/F/H/K/L/M/N/O/S/T/W/bracketleft/bracketright/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/r/s/t/u/w/x/y/braceleft/braceright) -/FontFile 612 0 R ->> endobj -699 0 obj -[525 525 0 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 525 525 0 0 525 0 0 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 525 0 0 0 525 525 0 525 0 0 525 525 525 525 525 0 0 0 525 525 0 0 525 0 0 0 525 0 525 0 0 0 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 0 525 525 525 525 0 525 525 525 0 525 0 525 ] -endobj -698 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 19/guillemotleft/guillemotright 21/.notdef 33/exclam 34/.notdef 40/parenleft/parenright 42/.notdef 44/comma 45/.notdef 58/colon 59/.notdef 65/A 66/.notdef 69/E/F 71/.notdef 72/H 73/.notdef 75/K/L/M/N/O 80/.notdef 83/S/T 85/.notdef 87/W 88/.notdef 91/bracketleft 92/.notdef 93/bracketright 94/.notdef 97/a/b/c/d/e/f/g/h/i 106/.notdef 107/k/l/m/n/o/p 113/.notdef 114/r/s/t/u 118/.notdef 119/w/x/y 122/.notdef 123/braceleft 124/.notdef 125/braceright 126/.notdef] ->> endobj -700 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity/lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 128/Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal 144/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] ->> endobj -609 0 obj << -/Length1 1612 -/Length2 10867 -/Length3 532 -/Length 11713 -/Filter /FlateDecode ->> -stream -xÚíwePœ]³mp'hp\‚C°àîî>Àà 0Hpw 'Xp îîîî hp×Ëû~çœïÔwÏýsÏùuëNÕT=»»÷êÕ½zïzjre5&3{¤=Ø™‰™• hegââ¤`–gRY¸ÞŒŸ©©Å  ³•=Xè âhÌâ S;;€——™ fïà±²°tÐi¨jÑüÈøOË_!÷÷¼ít²²hÞ\A¶öv °óÄÿõF5àl ˜[Ù‚bJÊ:2ŠR:)E € ‚mÊ.&¶V¦y+SØ D0·‡lÿ±˜ÚƒÍ¬þ*͉ù KÄ 89€L­Þ¶ÜLA¹ ˆ•“ÓÛ3ÀÊ `‚ßzàl°›Úº˜ýEàÍnnÿ7!ˆý[„Ý›ï LÙÞÉÙÉbåà x˪,.ùžÎ–@ç¿r;Y½¹öæo‘fö¦.•ô·ï æÍë ´;œAnÎå2̬œlîo¹ßÀ VÓpq²[ü“#²BÌlANNo0oØuçŸuþSõ@[÷¿wÛÿõ¬œ@¶æÌÈlìo9Mßr[X‘Yþ°¹=€õv3‡÷¹‚ 7ˆî¯™¡#4³ÛºÌ@æÈ,ŠöÎo)tÿw*3ÿωü? ñÿˆÀÿ#òþ÷ÄýWþÓ!þïžç…–t±µUÚ½ À?.ÀÛ cüuÇØ!ÿ[8ÐÎÊÖý¿Øð¯Z ü?àÈ8ßš!¶x„•™õF+'I+7™²•³©%ÀhûÖ©¿í`3ÄÖ - zSôïf˜ØXYÿŧniejþ«õŸþáÍþ•ü›HSg‘S—Ðúø¯wêßQÊoÚ;«»;¼û·RìÍþcñ†¨¨½À“éí2±sp¸Þò°±yÿÙþ†aûçZè ±r轕ÌÊöwáÿöÿçÊà_`$À¦öfÍŠš3lö6^ÿaøËm꼩ú÷‰+øß×:ä2E^š·7ýd’–ê\‰—Õ?*®×ÝÉÓìPX£ž—ãWnßᛶÉ[jüTÌ\;Î÷Òä>wèð¼#Ë°;ØùÁ–¶# t’MìMIß•ƒ¹FÓÂýq7€Å°-õH+ÊótV~V—‹UswkTEÕ°à žd¼…‚xzKïGéšã‡Cuã€îcš\ƒÛŠQû«2÷ðˆ&~ÿö†¶wh ¿¯ã®k‡ècf õgWX4šH?ÇL"!]RÏpzøÔ:T¢óæÓ2­vOÃÔT„TvòÊÙËàfù§¸Ôf!þxˆtãÎOígÓã‘ü"ñã¼SY¯+.ÔNxüuÄcÝ“6TiÕ¤ý×ÐgtÝNaž•vå ]èY3*­…Õ_àw¨Y™Â]~¢‹5:8Q{è/ˆÊY‚žŠ2ÂÀ1‰½7³Z&-S6GòfYÊ4|eæÃúÐ܃:®\`í¹xϘ|`Ý™®âˆ4eþ‘Š{‹ÏI¤k7Õ·b7ĶHm=”²”+–ÚBÖùõÛ„Áöü¦÷M–DsAT>¼ñ¨aT±”èLfÒ‡Cõ^{ö¾»­ƒ±RJü=B\z?P OÎä‚üNXðJ²©lEì´óúXZhJ.ëoµ9*¾ò'‘GWä;> /¡§‡ñû Ä|ˆ2 iyx¬_þÄ´3üãn†ÂÒgó¨7lsßã.nÍßúàÒ}8ºÅ‘L%"ÊÅŠœpUòdºÂ$×—2r² k†ý·Sÿ^PÍQîÅij|“Oϲt¼Ob ñâØCZøI³ãì³É,‘Véöå,x½Ÿ`5*hTËR€œ;‘KK¹5eÄpwÆI1ñSŠwsïÉç^$ClŠÑ¯4¤¨ì€ÝG=1baÏs>?‚ h_¬ö]å)(z*o1ÏÊ¡¶‡€$B10öeÝ[¡Ý[aô«‘—æ-K¾"O²î±iÄž+¤I.»Œ/56ò²ê[¬ÏYú {ŸñQö§«;]¾WÛý»;‰ª£ß…“ð>\pMñ×+Ê4Ÿ0¸x¼ñkYŸMâsYóüÕg1¤™²´\9HæG9Eù8 ³þ†ÉiY{wa¥=@înlïÍ…£JÊå~g\1,gW¿/Tȸ#¥Û¨ ž¦(÷ƒàíNÍk_ùÉ‹r¦u’(¹¶ ìc5Ü/±!5ãÍ‚ÃoßÕmjÄx&ðN ¯=Yã8Z› ¬çwÊâjÀmlªÊ3éî³Ô{D£n^ýÝpÎ(áÄ'êغ=‹Q|Ådòö\¡Ž?q|¡ †QëÎÛ^ß. ”émPDÂ٣ΠºOôgŸ‚ÇûŠtuà½fÖ‘éÔ„~KĚش`rújãn¾Þ¶á"091!)M¤ãX\ˆRÈFŠ&çký ¯b@¹60©¹4›ùžVú=| -J8a=ßËyD?­q!^89œØÃZy‚ÎÔð¶-XÕ¼â”`Õè9+gÕô…¨²^’Ü\³5É¥íÓ[3[ü§{”Ï!=áÆu³ø¹³åjcâRnè ¦ÜÀ¬ -²znÔIGñªùƒîtfP·®“k)’JqŒy8 ÷L_]2wË|7³šAðYÖú±X2í -Å;#òʺ<Ÿ¹P…ïþUÓÏGžÚ=}úI©($Å/ø›¶‘Û ŽWáòlkë?nHþDzÀ«RÎq°7¢¯ˆæÍm਌¼»ýò¥m,Ù"-©ºŠÞÝzcà@{‡S˜ÉóÓ{—â•fHœ2¶*]¸‰Õ´ìŽCz¦úÒ©0-Ö]‡\j†ò¶À™“A'í¦ült>ÅdAGÈ>ßòžšZ§Ë¤-ä×ç÷­µ¹ )9q_f¿ÿ4 -%f6©ä"rôL„ùD陟É(ô.ª¦®7 &©§H!tÔïŠ>~èS%c÷Ä}Åt õ9Á oŸ18am¦¤î®“«Ü‘?~‹'Š•ÿ¾d|Zg& 8 š9î¹¹·<Ù0/uóƒŠéµ§?šÂQ)‚v*a¯7æzˆ'åfHNŒ¦~ÑìtpÈÙnMS±Ùš™tóõ=°ýqiÉÞ̦Ùw§ò Ó¬„Š±#üUðY!C sÑ_™ƒ€—8FŒu_V¨-“Ù¢w£÷» ñ÷ªŒ&í.ReÊT©cD.IÓÖ -©˜ -+½íqá@á3#ÿ;À“Cûü¤BmÀûåNh©HƒÁ8ãG²áòb©RªT@LlúFÌÊDÐÝ·i‡ð8žšBE?N˜…˜ˆÑ †²5±Ð¶€÷”ÆtÜFEvõ¾RÑmuM‰ð_ìãoÒƒ ÇÜ*óøë; ‚vø3ÀÍÊâó‡>ºv _¢Œ“GImÔ’‡oU½·” úó%g¥^FMþ{Ahǥх]ø®4ûg°o>Txœ-û½M1ÖW,0Lýï/%÷”§(Ó[t²gÂìýZÜ5×Ó:_jpû+G5Dy2dç»Í!ÉÜg—z/ø—kbc¢Än;°%Û0<1{ªí0í$ûGgå¿«ëEªìp}mX¹) []T\ÿxë˜þÑóDŒGR`ÒéÏ*S<}ï~h¸[®š»0¨áêÇæÿUkpnÜ阞–n]›Yzªú>K¯áÑënA%¹¨U¼©£ŒZšºQ€Ë´1¡­ÜE£!J÷ç—c€žžVç­"?éQÁT¯{ ñîx ¹Ž`ê굸Ó~4‚àú‡W+~M¿ÇêLDªÒ/VH23ܳ¼˜ž]Wµšhoú|˜Þ j㻜l°¼~5ÁͬŠéÑÍ>éYŸkà”Ëâ,”)]´Õkóûh7W´SyÝ™8l.W…k>©ÌLŠ7h¶˜KŠžï|i-ƒÛ]dDq­~àç•Í"G·#ˆ oÁzo;KÒÍYÜ0*kcšcµ¬=M¼ÉÃhþ6”ÎÖÝלª‰äfBé̼O;²ýͺ¼†WÅm2ãLzÁàk#•Û1•ÚS趇Nu.t#ÔHN  ¼”¡DxxwÔ:+k|ÑÈ%ø*ÚB/xÑ5ÝÛŽ¸EO%Gй°,ÎwÀì¬E'“.oÓ«ÛVjâè1¦8-ó®Z¨Þ­^ú¯eYÊ¿ðjø­õÓsë!m -õ’æåµÄÜ“[¹šGû{ƒÇZ?hs†[“35â…Õ6üÇ|Ô£_ítÏ_ívµ)Ä¥i¥ ¶y{(“j7©2E;f¤"¾ÂøV±;6¡ÃHnÞ†~νDÛdd1ú²¿qc*p‹¹ºj¡¬}R§1c§pÌ6Q3íÛÛàAðÔ æa ÝÅ€³uÙ0ÌWÌ„ýÝï˜F¼nðB‘¸”³¢j`¶¦×Qððܸ -MÉð«Õñ•Ñ˜«‘éØÑt&®7Ƴm”ô ƒEôÑÉ7C›+ý“ -‡íjTœ©Ôá]éÂyvZ."¨Y~GðM-"Ò²ùúû\ñE9#Ãç •ØMPWá\;†Â_½DÒçIêóûžŒâå?eÁƇìbC`ÖÚC.œ&~ï:,!“½{ÏŒ—Ú,îé˜~@6›ZŠpÆZ©eºAQ%Cé§%¢–ĉ«/¦Wȹ­o²OJc[BBP·rCÞÅÇäU¹çµôÜ)éËt¬§SÓ¦|¹=½êãŠQÿ†ñ­Xeñà -’ÇuÊÝù»W-><Õ×wándÜ­$Z¥ -²!–:VŠB!®FE^óÕ¢Ã`ðé¤?I $µgÜ3•ÓþŒjî€e°Æ=á6Y†ü½…ä½SOÄp[©h&0W}lûÉÍ¿þ:/¹…ÈP íþåDg&/Ôê¢Íç.ö'Œ©»¿tù2ª`KKv–ÿOrk†ÞqÆowÈŸ©¹êÍÚ‘8´MµáH‡RÈïv ¬h~{EÖGùÆ#Þ§0²Ý -[A’Q§Ð„6ÇLv‘ù"òÚ¨A =ªá¨´*rð²gÏ×g£’â›®ÄK*,…[n¬´F¤jÑa2ºÕ¬gê>]%n>÷àk¸CvšQ–NôæO e®TBGY×aI’»p!X×-“XZa"…W – -#êÖ¯è;'*8ýå݉óhøâ÷Á2dÛ„ºI² ‰ø„þŠ[¾#ãš9wñ%ùÎgµ¶^‘à­ýGy ’ϤçJ玄2§S¬_ÔˆºqÑ2±kùO†±ÚðSùq•¥Þ¹šÜï]åºÝ!A—<4Æ_ƒ÷«åÓÝ‹Eƒ†˜’î²ì9[ÙRÛ³*Jñ`â%hWO]Ïù+‰·7é#ÕKÎPê$.EE ¦Ó{±špòBê;+îö#Ãû¹7DX¦Y< ø»rÏDl€Dð™&cÑäh׃)•ÔØø;äDÉòŸG¨¥ú¥Î4hs_ö§Ö]rņHˆ\µQz ]×n¤êèÙ\kÃjñÕ 6šF»eAm‰ž÷¦†ÎîŠ=éxX›Zl$3d²£"¨xœs#Š˜ÜÎA0̳½mT˜I”é:ßÓj±(Wt|ÖiFÂç z%G$‘Húðóž »Kµ´™ˆŸh¸U©Mù°FÍ»ñûÀ[ß`ÍåÝ]Ç(¥G¾à¢ûð™D }0Zµ¼ä5–¦€w².–®H0ã_O–ÁÖˆ?§™>«îýsÓbÚCϯÓXæÐH¸,fdª‹›@¬YgyÚŒ7QŸÙ"HpîÕJÉй¼ÎÖ¾žÖíÖÒ/ëä -ôIý€õ›ŽI|¦p´­Õù‘TòÁ¹KÌx?Y[#t1˜p6|£\Û-Ùƒ6ºâV±<È»ÄF#z“ÕÙkù%è¹ÊáN’ÏGï5àþ’Á€aH‡´ç“âä0z“aQbEüM8¸÷¸‚hC¦?F6JöHx>H«5 ÿÜÌ»š#ƒº ¾6Š_|@uËiõL‹ÀlÿU2N; ¶¥G¶µZd– ¾ÔÊ$š÷€Jaè|¤Â’†TȦ;šu„³¶Ú¢ä‘+¥G_JjÕf‚nLÇDu_uüÙÔÙNÏ+M¶lZÕ£FÅdE¦Å«/gÄK3&u76*¸ÊÏxæñÞrïó ìØÆ¥¶¶†•1„ŒÝÿŽ›Ü'Nä—gV±>Nú!µý»ê7±ühë¾Ás‘O”6EZïòÈåª%Ù>.”±õä5lŠ‰hÿŸøTк­Ð'/þþxËêÌÄ='Á"»Bô_m[ô¤n×a}rV’7¸7Ü62XíBE5›·“P|+¯¹yCôe5m<é['N&¨(Vî» RlÕî™Ð¿¬¯^‘~¹^Ç{‡€xËƺ—ËòC¶f®½AÊÝH¼gè 8IîÂà+C¤¡–ýJ@àÛë†dЯչLzVÃû_´—ZªkœœŽõä7ÖlrW‹.mOÁåÄÈ·<âãx‡öñÅÿ@;"^”£êXD.zÎlÍC`Ì?/vïÑeí -Œ¯÷Jl7“ÎÁ _i/Ú(»? `ðéÀ»žQh;Sj—^‘.ýÛ2ÉÁä׉¢Ð+³³ê *­¥¹·$w=ìÎ:E·ŒTpc?"¾\ÑÖ%³Ï/sG «\÷›$Ãmòž''3£¬/hi)¹s°ôËDúX¬* öO-ÕA‰õUjØŸ -BÕÃÞO=/ÁfúðÝA‘¡µtš -L®hT6G¬Ÿ›X#]ž–ж¾«EÇVÐNÅ{ Èb'^P„fBâí:~­4ñ×ÓËâ¡Æ1¤~Òw$=yLàöUj¶d©ÜâÛpØ”kýæak/‘vÏâ‹Ò¾É–O,ï>ÕîÞxÔ¡j ÝZ2™£mžûIâŒ]£˜’‚lõ¦ uÉRWOÜA¤EBŽàűu£VÌË”žoƒÞû©Æ„Iz8É+Mh"˜¥Y@êž'7Ý+¯ëÃîºBpæšø Pj˜‹ûÑ»·ü\¸oùÇB£;º³ZD 1S+=Ø·cÓqéö^‡Ëðƒ˜ívÈÆg³³?I²\³îÑUìQÀ±ŠuÂ"³œt¯=‰ ÷È¢BœlÊèk‰ý|;›—¬å“,F&Ù@æ{d­†xöÊÂɶúCÂ_%£ßÜÈdË«‘û3 |Ïü½ù’Eïú¦+XÒqc‘RUca¾`‡èînÍš‡©„æÊöŒh ¨ðèdv3¶ÖΪû׫OqE‹¡ -Cï@ü]²³Í©"fµË…µïQ˜‹Úr{¹î§ËEMUk é •p)$2ÒIniŠÙn\GÏîª7í¬%‚S“pž±ÑßÓ–}­òÖ0EC´Õ„Gl{šÈ*а›ÇR zîwž¯hw&mÿQµ¶7^œNP«¸-èíß: -í©QWô†w4;çpyˆ¢–IÖB 3ŸG²³q_©½ÓJ´·G. Úõ6H4’ö&Ò™œ ¤þâóX0JÍt­Éó¯k°c²€0ŽÙ-z¶~¨Êc©hõUc|f¹8~˜¾ðîV°pH}]ʘ,ºv›ýÌ`óƒ_i©ä—G\]À®{Ûª­DÅ E'ªd¥ÀÚ(5§Äé7©YÃj¼ÂTµ`h”Óhù0ñ{s³žºœ0ô¡–2fwÚ±NüvJ}­á¼bé¨Ôé Ø]X\†T\DG+iƒ±Ûw#|'ìÀûÞ ˜Á·äÆ3ŽŽQá³òÇ R¶æÕü¦Æs1Glö¨ÖÞ.~§G៛¹w”²á(ø¾~µ½UÉŸpó¨Âo¯#*gK¬‘ŸvˤQvÔ-þÞßC}yÓÇï.͈»³ç ‰ íãQÓÀ]Æ” ”4úP‡Àc¬!½Ý%}FW#”¹b˜¾ÄwØzCmÎ ÜÄ¶9ËyÀ.2þGó¤ì*j#È}…E!×ü¥Û@]Ì‚êlA†Ð[ø䕪Î1CÙVR\Išx%þOX÷Èd¼þ…gèÀ˜ãádë{6Œæϼâlsò^ËU¦é99vºÚ{"ÙÆÛ`²QªI¯©…ë禗ú€žÝCY=îéùqFëC)OŒ-âßÉõ úˆƒªfù•¸v;äi/œXç_­G;§Iϲ¶{›ìó>Â*ÊU"ZýÄ”DwëÀOhì<º°QS°2É•8RÍhT²–u^A,-”]™Œ¶ lÍ©îá!xgN9Xj+8‰·òf -ÂÔÒ£Þ ùì» »öäh9[P1v6KÕbn0¤êy,Ö×í¿+‰-òÖkBÓZí¹:`ž}¬‰™:ѧ`«& SvÏOPOÈñx´ÝBüËîø9üòO-G}¯ŠÖ¤È:Óµ™ $:¢ÃíW×…";mO×Ð÷0(ÕÁÌO—.„~EAÉä;¿Û™‡ûÂ.=7²îô@Ë`€¨e«OÄä©òNçèl‡¨¾wf ÂTýÛw8ñ—¨RÞ»ð‚ +¤6 FAkšÚóX)ÎI¶$SC‘¢•‹¹ö&ÄQ§}X¡_d ~ mä6ì–”.èEà¢È‘+õÕz°™˜MdˆP¼!ÎdÀ>C€:%ë…i@'k^"ø´ÊÞûžlä¾—Š³ú!O/ë&¬>KÚ ?HW >6÷Â9Õj¬=@ª3¥B^:T–Û-o7KXµënŽ®ný.,ûÒê„>‰ÑÛÀkÀFÒøô¹cúÌÕêk©vô“ËóÈ®`7¼­hÖêê‡æ›o“çÔ7P‘Ù¡Åy9-ʨÅÅ*,V¦|èa¸»hu¥“N½L;?9Æ”—µ€ì>ÙûtPˆTš›.¹&|—nwöFvYÖ«.©ÌãèT×#q¼šå~O³9íh2s4uþIÿóü˜¥Šý.‹<ûÂñtÖå¶'"5£ížK$4ïa„€½@ âµÑ?§b«-PÁða~Kkݸ‹qXy"šE²}äMŠ -›Ãy¦i -fÐá©|ñ¹UÉ;Z[]“Xµ*Ïä^‡biƒ(0†ZoþÌæã˜ØÒœ©Òw×:ÀÔ ÉMoÇ>u ²,¢e¦â©ýbâCåÇšû–¦½“ÚÄäÙJ¯!”Q9ô~§ºµ2,ÇÈ»@Xa7ýb8ô Ü×áz™/ê^:Xë©«Ýb+Jé‰_UxÑÑë(l¤âŠϱ+ƒOdS«è‚U$_ZöÛã;Š-Ó}éÏᵊc?cÔ‹ˆnÿY0¸×q–øŠO+Ç5ÄÙ4yùòK´p¤'ÖÊq»&:]И?P¶cL4`³üõ±KéiÇëEýN©ÆKN‰Ru”™a6p8+¿Nƒ½]/ªR½OgWXÒÀãÌU6é ºªë¶Þûm…vWfÎC`û -yJËÜÌ–^Ž®tw¢‚6?Êþ#c–§ßavÔ¹ÍÄR_9?gÞ÷¸E~úe‚=AIG™÷"´6þQ]õ³=!|ÒÍñ%)Ÿrqìˆl }¸Ò…}%×ߦ¸Üü€7À®KY²úðÝNÁ`gñGŠÓúðZL¢»ù3p Ò&ú>}ƒ™6Î\9’¯ˆf±@Ï-vAGœ~¨nˆFÌ-7wlvt(¿ÛŽúçE¢MŠ‘¼¬ÒézçB˜¡¨Ö“ùÂL¦T›;™-\aMë…HÄUÌ)¹ uŒC@R¢¹ÖBVçfßøZ¦ÄóKfâMÖZ™zˆbƳcª]«¨­Q«Qµz•äqÜÌf`Q WKwà=³Ì|—˜9àÃ@¤€ù† ?¶ûˆÈæõ:±ìMbä¡â3§H½ãüçv¹@ƒ°±¾¯[ -NXîÏï’Ö`¹ùŽñzß¹—æ›~i:Þÿ¼L7qDëÏÔnoj‘Á+óŽ£ðÂü½}×ýµÇæÇvŠüÄz°¦UîL.„¯”Å)ej–ÉΈ±°6²8alzúEo•Am"Y¿sèê“Æ’üÏ Ž'™}C²'¯nFy§¡¢£òVÌÕ‰O¯u -GÒ¥‹‰éQOÖq¯#ja§uAë#è÷®UŽ÷ÃŒÔ÷£Ö׫t®%Ÿ]³ÚTd½*+ª›Z‚•A7:Ȉ Ÿÿ}¦DJ=Üfü}D:ø|ú¥öƒY|HœŒ8{û–2ïÑ#Úüq”F>AE|oúé‹”;¸.m%^ÂóË,>9¢º%5ö $c×_(™Á×v´§í›¦Œ -“u®û²£pz)ö:c<并¸ìžËp2m»£ÜhÊìæ.¡1q|3¶g0\äa1ÄDæ:w³¸~ö´Ù8®Òœ4zØA;ƒ./’îÖkkNSA´Gè% -C$—ÊhI+‚ó] ÎJk—ÈÁ¥I®tk¬ø8ò=¿üSJ…ÚÜ|§ò™Äõìœ*-t¼¨—oëѲæàÞfIþxAxÙ¯û‚<­.vR$tyÉtŒQyÀ°›y?D qàìÉÐH#¯ ´¾ÐÓìlîâî¸Ñi:0þã`£”ì¥Ê·u¶ÚyzÙbéNÓ{n~™SCYX" -_ûRŽD’íAQ}^•F“éwÚÙéA®UÔýz­PKï^“dôšêbŒRVa{Ðy4N–'C'ø—öO5´„lòNýi=‹•ò+X¸ÄÍhOÏ•yÁãY¬-*5ÁÚe±„M¶0¥'ã, T%6¹9¶©œâ[?™Ïk€a¾E6¿lñé-%K“×C‚%Yûù¶Ï>v~ûT6VÝWD¬â¾M‚»d®‡"yjÒø=ü/EšH`Ðu<«ôÙRªuûlóÓ资¢Uât«Ã×ø¼/–¯ P”Ƙï哼lêD¡t”¶Èe6Î×$WŸ -EÈYW…­5 ºþ·jâ¬÷…dÑóœd88%®Hç ïSjG8o’v4 –5fÔ2dwu!%…{ŠÙWÀ·ô^p‡Ÿù;쇗îî€Ê=j¹‰Ì0̉`‹[hÙsšTTÙ2’ ¿¸À;_OáS*ߦÅ×q”´Žxë I©þ¦æmžÑvFƒdêp’‡ìyÁŠ“%¤i`uШžßWòÏ(ãhî:ŒÃ6Ž‹P\Hk„óu„O­½…SAjèåFЄ*vÞé¨áþÝÓUÃÁË~ßE6î2ó¸ -È·„xU¬Ö  -­yµ†ñ±¯¦;ÔÜîõä7±‹Q H;éwÚ[þDN™×~3âí1 iN^Êñ¶Ïâš2ò^÷áŒlê#`N£q«4Ú~ô…#>ìÊÕéL”˜;™3§×´ÄÀ|ÊÑœÁVþx™óxc - ÚM¼P¦QxH<6£í„?Þæ»üÂ_×­šÕDÇ(*ˆ!êà Q×ÌT jJl;øUk­$­š,¾ýÃþŒEgšr°ܧ©®ýv3º 2  -½oôïwr ÒÂ>,×óOKÐþ(Ø5ûZÈþþ(¾ýPÙÅÉgñmâµ{pY(6 hæþÇS©ðmWÙüÒx72=Í—†œ¤Ç^íï," Óá}—¶xØõ½Ò¶ð_ê¿PÁh¿Â5j¼Ërfæ7#Rþîö-’U•fËÑ!eØ0Í,ß89pjØVœ†¬È»N½Šîî©0ÿ·žPH`%ÙÊøp¢{;UAžøä-'ÞšQùɲW¯/!©°«"σè–5ðë}Så cMí0"ìÒ h/#|ØvôdÍã‡fv -¯“ü^ŽÌ= ÞŠýa®ì…åƸ›¥0EóÉñúª°ç•ýw-a×wÍ?nHÃ*† -¦á#e¦aR••`ä^*I G’h ÏÝ~Ã8šÂ1±††ˆg¬—+$<ú;I¯_’à…Ö¥lSçÁxÖU° íô&:l-.r*òôB9"-_Us9ûÎûFL½Çˆ!¤sèý!Xš´´ïÇÃå°tpúEÁ²O4GêewøÛ-6ûâÍ‹ºÖ4´[aµø„óz8íÀ§Ø $4¤Ñô ¡øƒ&AÏVÁE鬸 WÃ0”úžåŽÏÖXúå¢LB~tBq?•ì›¾çòk Q5Nop«}·L›ðOQóy˜ÁÔNî›|LKÄÿ‘ËòAxå2Lršõîþd³/Á1«¸I…¶ƒ§Ÿó·¸ï $9»]+r‚¸dï! »«äYŸ1¤«i׎f#3³É+à?5£NâS Ôu åCéÊ(e‡]Òw=ÞÆF®Ødœ4DHqÈK®ãq_áôè¡…"*E€„Y~è™1`Ó»$´7¦êO’¨›~ ^Íx ›ÚÓT€Òdž€T{pÊ´"ö´ÈEŸà.„»¯ØT›3_׫o—WÔÑM¼r”•]ÙVå^ÁSiw|®ðfɼ)±¨ê¿ÅIÔh’Ai ô‚Ëu‘‡ÅJ’üÎÊ쟪áiN&S±ý[ΡuH¿¦Æš Ì~R-«a»s·û|u«56ÂêÕPåWßH¢û¹o´¢ùâΟGNYºG…â· -Þvæo8™Dò.ôªEû‹ié®tjI\ÖËX µ.ã2טTT3•çË5×ðØ(¶sÀªY¦ ->ýhÖA'aÑ;M^|¥ÅPIa>œIõ<åUr¿éy‰¥Ö\_—¬8 %ÃZûm<ì÷ø–ÐpܤˆËÕÓ…ƒ 1òqz†çË þ)Yö/áEpî\¹õpý±=wµkäPsøY–õýÛcL<ÅÍm)’5Hp$ôN¤{±RR<ß¹V]Êk%üˆKîƒÿ¨¶|û°[ËÐÊ- \dü¥ß´sˆà]$)EŒ_vI  ¹íiîl½óóƒÈå€ä~bÆœšE ,×ê}=úÚyÉD½£G–qðœÕ®È3éÏ1§Ô™½˜]ªîàýl[5ŒÒòÏdµx7ëyeëf«Cl~Š¨ÆFšœákùbgs¾æOê®ÚA9¶»¾‹x•¥ÄyGÇãú…LiJʨñ? -d|õáªL†ÈUT8_<J¾Q ZXÄuYQ`~›úØËýᶔB¿‡£°¨Ý¤Ë‘á¤iE8_FÚgE½Hì¨6-¹a”„N·g¶¦¡³Ûƪâó•LjÍšgx0Àó½E-æ°œÅŹ{cˆØaeŠ`£Ù-l•›l|û³¤b^D]d—D!x -ʸ°÷ëÔüøFâ—,{ ƺ!‡n5ŒÕÁÖ"·ç_è:~-Ñ'ôÓFȯlü¼[TsL>ûÆVâ±íç5ŒŠ‡lØòQm[[l‡“„zÔÎ<^±±wøûdåŸQ —ï7%I»\Úe¬Úå~‚‘!éLWµžc »lÙü²oNCó´3×=ÿ®¨óe5!™õ¿ùCþÿÿO˜Ú‚€g{; ÄùaÍ‘ -endstream -endobj -610 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 700 0 R -/FirstChar 32 -/LastChar 125 -/Widths 701 0 R -/BaseFont /KQCDEW+NimbusMonL-Regu -/FontDescriptor 608 0 R ->> endobj -608 0 obj << -/Ascent 625 -/CapHeight 557 -/Descent -147 -/FontName /KQCDEW+NimbusMonL-Regu -/ItalicAngle 0 -/StemV 41 -/XHeight 426 -/FontBBox [-12 -237 650 811] -/Flags 4 -/CharSet (/space/exclam/parenleft/parenright/comma/colon/less/greater/F/H/N/O/S/T/W/bracketleft/bracketright/a/b/c/d/e/f/g/h/i/l/m/n/o/p/r/s/t/u/w/y/braceleft/braceright) -/FontFile 609 0 R ->> endobj -701 0 obj -[600 600 0 0 0 0 0 0 600 600 0 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 600 0 600 0 600 0 0 0 0 0 0 0 600 0 600 0 0 0 0 0 600 600 0 0 0 600 600 0 0 600 0 0 0 600 0 600 0 0 0 600 600 600 600 600 600 600 600 600 0 0 600 600 600 600 600 0 600 600 600 600 0 600 0 600 0 600 0 600 ] -endobj -594 0 obj << -/Length1 741 -/Length2 1118 -/Length3 532 -/Length 1675 -/Filter /FlateDecode ->> -stream -xÚí’mTWÇ]„­ ˆT*/ÊJ!V’L4$E"("D)APÄ´13 #a& $E((U¨)jqA= ò"¢fQŠÒf‘V@Q B•…ÃBÁQY‘#ò²ëéYúq÷ÓžÎý2ÏóüïÿþæÇÕ)DàÁƒñ}ÈSx@4È øñÃÙ¢1H®®~"R 8æ/R ^âr!ÀSJÄLÈ‹Áö‚8$Wà‡ËÕ*Vw?꜈ x±ŠEà‹ÑH¬ÑC,’.F…šx2ÛB‘8„ˆG` ‚ŒŠ`"E1}(“à€ý¶ +åïFñg„îFH*0"Â8&S‘èÛqãYˆ‘äµÐ|‹R&Û.Š³Ÿ é7cQ,*Sÿ"ÀcåJB>#¶P¼eã#0ªŒ]8 Tˆd¨˜‡Ieð€ÖÑëÞöѸ-¨ -CP…8HD²8d¾`ðBcxóôðÈ€À]üOÞ^êü,D„bŠ0µŒ_Åó5ôkmŒˆ@U`ƒÆ`@F¡q½{Û»à¬Í˜‡QL -˜,O "‘šÄ0Z1Y,ƒ@TF`: ÃÆ-ÀLàiîN=Y€Î›k‘~û ›6áªD&x0YFO¦'°YŒ¤ÿŠ•`ŠùÄÄ»Z‚³C"&uuàbï´ý§*—j6Ÿo»hFsÈ)IkùþPEŽ7møïÞË~$ªî†!«Æ(‡(ûÑ2«ì§A—é°„Õk[É;ؘ( ê¤4Z|@=—+xï™x8JhÒ”×Pg{öÈ`—c¿¼ê“g?¹Œ÷Äo¦~± lŸ5-}Ø1ý/MŒ¶µ·ËüO°Ë@6ioÞào‘ð¡žoš'GðóxWQÓ‡Q¹ãÖ3]¶uÝ÷c[äp3òø‹Æs{–1 ;\¼ÎèÑòO{l4d¯¹_ºS\e?:aó ~ìy[mLoþ×,îÕŒœWÊéÌÏgóMPFÏczŒ}dò Àm£åÕ™2¸²èýÊUv߉œÞLŒÝtk¨È¶Ú:å„6=R|ÖòÅóÑö÷Ü}9åQ>èEçÛñuK^]>üAkˆE@®Ðò¾0±=ö‹|nömh£6O^¼Þõ*?EõCõS+¿){óoºôu‰¶*¶ïPwï@ïJÊþÌ?§6:½©ž°ZQAVí^Ú Qb Ó…Îyꢔô·Î½XR8uaiŸ¶hÛj¥ÙžGBûvï\–šÀdÒ¯ßèßmÂkiÜlã†í -—6ŒåÝ8ø’gꎫdÍÍ~íþû®UTÕržX0…7¡³É2îzMíw#[û/ý%ò£$—­ÅÎ'J>ž*t5ßæ«…Ý,û\·i>ê½×6]–¾s˜jÑßß²{ñ½"ÏbVŸt¢ô@ù-¯’ñcv?pØL¾à™¸¢½þΈ½A=ÄîÖÏZظÔ_i{lÚ}rW1c:0ýä—'wÊËŸGk”Ç‹zšª;fèëáŠÂ×´Ÿ9/ª)Hë­9™¦ã|,ýösá+wßðºàíÇòîv½¯”îæ|«üv”DBܽãa³§E(°OíûèMOqÝ ¼,³¼çýúGgêê_W‘w>©Óù¾J¶‰ytf‡´¸ïk—g5—ì تúA¹î‹¸5k¤UCÔxu|nþ}ÎË’¾“á+ëî=cŒ -*Ï{ó,ÛÚ׎BäDUFè‹£Ô©Ü/D“òë:ŠuÐã%ÛŠþcäÆùãç¬6]TZv•¶dÐOŠ8T;ß™Ê áŽÚê\óÒ;IUýwÚZèù{´«É>G»LÏö[®,8py6uF=”Eõ¬ùc„¿©ðÞÕ“Ì]?x üƒ’==¯}v»¤}<ú%Y0à°FS_´¢vu²yuíþ¢ÿкҬára§¹YrºÃYsÚì§vA­‹Ý²6T—ÑÛ–à5Þ\Ô<Áø/Òïÿb""x¬ˆˆ!ýäéƒ3 -endstream -endobj -595 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 702 0 R -/FirstChar 65 -/LastChar 65 -/Widths 703 0 R -/BaseFont /VZGIXM+CMTI7 -/FontDescriptor 593 0 R ->> endobj -593 0 obj << -/Ascent 694 -/CapHeight 678 -/Descent -194 -/FontName /VZGIXM+CMTI7 -/ItalicAngle -14.04 -/StemV 76 -/XHeight 431 -/FontBBox [-27 -250 1268 750] -/Flags 4 -/CharSet (/A) -/FontFile 594 0 R ->> endobj -703 0 obj -[866 ] -endobj -702 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 65/A 66/.notdef] ->> endobj -588 0 obj << -/Length1 1626 -/Length2 4760 -/Length3 532 -/Length 5603 -/Filter /FlateDecode ->> -stream -xÚíTw4Üí¶Ö‚hÑ¥?½wÑ{'ˆD3ƒ‰13fF¯‰^£#Dô-¤ˆDÔ A"#jBLH¸#ß9ç;ë»çþsÏùë®;kÍZ¿w—g?{?û}x,¬%´!Hw¨•‘”VÌa>î~+¤9RÙT -Dû]4„…!z ,T°ƒB=(•d”••i]$* óô¶Vv"bbâZNC÷ ¿{ˆ™˜'$~øCáH”%Bü¯­¡Pë<`p( {ÍÂÁØÜ64· ¡(,üÜá00` -C¨àDð?‰€ÀN[ÃH±´1À  `1 †¢N]â -Šöa0Äo†<Ñ –8,€!Àp?È)¢Ýù› -$Fø}D0 $‹£a(,@¬j¡gðO¬{Z#º¤1‚û¶ôÛG„!z± `¡ØÓZîPÃ à  bm" - ûMÃCxþÉ@@C=AhŠÁaˆØ§Óù³OàŸº¡Pð ßÙÈßQÿàÃb pIYbM0–XÛ† ‘:Ýc„‘þÃñCýÝçEÿðéΈI€ H<€@=h¤Ì‘XbI@ø§²äNäÿ€Äÿÿ#òþ{âþU£ºÄÿî}þ+´nò!.Ào @|d@€øΦÀéCãçóßR@>0xÐÿ”ô×h;èlupÈ_}ÆXq$ÚO¢,Ò’ÒaX b½œ8¯ßv[Š†ÃP¢®¿G -HÈHKÿÅgã{#N¸ò‡ Š€ü•>Qªßä¥´Í -¬ÄþÅãú;Ђ¸X› ‘ÛßZ1CBþq8…ÑÑA!2 -J€„œ¼ ñî )+H‡ý‹’¿dþ<›°hX àHì[Zæw÷ûÿyrþ Œ>Œ„œ®5„€7í†S7Ø& -üûò»þûù÷ÎC¡P0Íì$X5úfn~¶ã~ÿ°žcO— y ª¢Ù¦´8²Ù‘¿¤\ãvü0F²eTåד é ÔÏ&¢øÁ.v¸Pç]èçœa|"ÝÅL ‚ÏÅð·¥\*èó6í’C¾L™¾§¸¡ }¿;rûnê3­Ù؈.%Ô¤ÆSžIvQ;‹Š?æ'µÔ3ŸãæŸ'…܃)YQ‰åWíD”è -»²£¬:çå[:îefF¯_ö>O]Þz¹ïcHk-k㙓Ší›ë8΢f·‰²ósÏlû‘öLe#”P腠ʾ^`sžs’dDgbv¨Ú>ýü›—ʪ¢~åië,é)òó„6å9á‹büõŽf+XZ‘WàU™…¶kø F³ÆŒÔtY¿ÌÕ´°°2 Ê_r<ÉΩû6Ñ'ÛEGKŸÚ3­àåxuï£cÂ!| ®Í_‘?înA ÝÜ9HÊäÐ#ùÎ׸.AV&¾˜oœ´-N‘)[Wa±‹:cJèå}å2ÛŠ°ÑïhÜòjhïâãýòÖ#Ò”¼<þª‹Äõ‡çx©’†ˆuâ!Ë—‘¦Ð(Ì8lcfì|ûmX:nÌqÝ*CÉPŸzÑ(Í&YC¾…¥¼Ì¢/'5bLfÚQG -º0céê2·2b¤Z´'¤ûéA*qçòi“èàWŠ“­%¥A%CñRšÅNjÃ.}ªÓç…_;Ï—­â äK‚—Ë*œnˆ' -A¨o øÕ²ˆ ±›ò쇀§%•’8˜¥Øðï•Ù±Ã­/·W¨Þ*“xåœ[ªá!W´Ñ[rx¯fò’5¿‰]¸µ¶IŠO 0T‹Þu3š¼×ŽŽÒßñ7º»¸w|Boå>!É-¿ ×bøUÍìÔÌí—L›ªwïlï*ËR&olàŒ2tQ&E⇟B:!òÚ'&åGÆ•ãăEË H´lªsÄÿîçû·/¾ÂíÜ*üüe7FÝc¾r|bC '}xÛ[·e5B1É:Ã@XÈdíúUìÁùÝ+YÝú«h±•ÑºƒUsG0릆ßÛ×rÁork’ß%¨Þ& åKbbÿª&süyßé!i®ä¨¡pjíìPù†¾V‰ÓžáÜH3½~õ*Ó¾(ùa6Ø«½…ßæyóú8Ùâ{©}yÉŠïN¬ìÇ8dsŒ[úè M7¿[_3DÈêXËŒzÖìpk×v”ÁÝðiÖP†ö6Ô Ý9c¶'5µoÔj4™ôѶ÷}w Á2Ó6«·3tv—n<(yêyG›,|çË44—àÏ]Þ÷°1ñ±v¬åòu j16g}pQaÅ0…£™QÍ™'üIO®xq`bŸÇÊÌ¢xÍ'$¿AXµ4/*x§üð[Ý;¤àÉÑûŽÆ3·Ð‹351‰ŠÔZ.¢:ø¾d‹¬!§Gæh)‚5A¸xõË¡ÐPrW¨å—åænÐÒ]G^†oŒæ'ì»l†.Û ùÕG6# -xšeGo—/!] ! Tr Ig»®…ùEÑ@¼I‚q_ê(rÌ•{¦ž‡op†êºÔ]Ì·WÌ)]<›epØE.5EÁ´¶'M“O"®Ø”Õ£N=[Èü(°/O²4´‡7á’MƒêQƒsV»ì³ÙVù€U‰í dw‹˜k_ý÷ ã Ãé’Ð;ñ½Ã‘v}W *rš”ACÂðMµ¸}iPK1«qÓW«6:ó›’7åç³+â܃˜Þ_^ò´$øP¬^JW…kc/ôû¤Uã *×üúå Yy[êÈÎOsOypkHUÛÌ0)A1//RúƪÕGÅ®f“d2ûºV¾šmN¹z´qRȲN™VI¿ÏúÕ¼@™á Ö‹ÕµÊkʦVmiJ…åš/ÿÆÕ¿³u f1=¥F)ñP«x¿£î´uà}[×£ä̲+a¾®‡Ò¿ž°Ùõ Ä¢}@ö¢U§ÙÏŽC8n΃±txæ¼C%Æ°ÆîW²«µÀÐ×´èµ—M›MÛx!5íWÇ%ãƒÅ>^+šJNÔoK¼ìØߧ&“-4œÓxÜ–Þ^ $ëTrwŒ“Ž4ÎÆp]h •Zq«š{•ãMº¦ ËÏ8¼³ QøZ=.Ä€ŠB«=Òlû©ÆÈ õ» 2ÆÉ÷™œTÄp];¾T$åfø]•ÀµÕH¼üÕL+3ÿÛEõÌÎût'gô¯Þþ‘>òP2ïë^@qÙVäèió9ta­·qÙÌÎ`ºè²a’ðv“¡GïI…ƒoQÒ&’{SËÜ0Ãr' DO5S! ù‘>G•Âëçµè5e‹6ï‹gZæ1$‘ìà†û)¹Õ f‡+¢fRs!ÑÞ Æ4ÈнÑ㥜¯g_ZÚû0…ó \OH -ºr-Ò†ØÍvªñïóÂÜaÂ\$äŠ;u/6˜¡ùŠ(¬c€Y\aÃÇà3»‹;Ã¥wjxt¨…MîX¤P8Ü¿êÏ~ÌWѹ]Ü`ÚŸUæ#jè>uäÜÎDάé ñ9­}’ÆŽÒ·~M=zìÔ_‚×/a~é„äh:¢lq˜ò¤dÛ{¼£n™WÁˆ ÒÙ'φîù!Y‚ù¬Ǽï:Î¥ùxȇg†ÐÎÄmB_^4†‹6>ýÐo+°’#©\áÜ8!ÔRL™Òýh“wú»úM‘O–.lÓß÷>æÏÏìŸÔzU`_½pÝp¿½)ÉñÂ1›Ò˜Àlê½Pã‘û¡¼¾0àÅÇùô«@µ›†í0ZxgCç—KØœü@Jí ­°kO-Ú¥1Ø›]^û~¯ÌF~ÆØ:xÀO¦2…öd–€UmÚØbHNÁ  þê¥ûð”>ü€ŸÝþ^g§„ U¦ú5zÚý-r¹Ã·™Â³Hžôú–©m”²(Ö—Ñ\Qª(“Úv‡"5¤/5_óp׫«¥ÊÉ­²Ž6™úh¡œñîÈ ô½m7‡íGõ»9ÀÝ’¼vëG û“šÚ ê+w’³Ob÷i¨=§É¿™'Zóþõpçëq>åÇ÷™gž6£øëm©<`úm®ž€›ÏªìÛ:BÄk-¥èœþdˬ¸×]©Ç ó£Bó`lÐd4n7õ6­uâ>åüs B¶¤g -v{PZäÒ±Ù¯fd’ªn°¢~ü¤d‹ZYösu£oî±Êe$ï#Nb™øta1ÌÁ²<Ý*_nP%S\ ã0Oå¸Â¡¬à+ -;w? ¥qAÌÆ•ð$3Er,ÿ TðUžB£‘J® >+PrKCMqáµïP¼Z¨bpaR7×Û­~G*5Èûeö¹·]t³å4›O5ëæKS…ô¯àV.n7Mg zˆÐÎ7¿i^Ý£ÜbÞfËñÞ7Ñ•S¼:›¹_€ÓxsÍ9H‘qE·³¾ú&½ìþÄõ,|¬8Ë’xá ¿ž7Lâ{©ñGñjçÆŠ™×훧R5sèÃêT“FÖÙ7ž›Ã«Üß%Iæ=¯ ›~Êl}¦y'@×Nß §ª ù Ô½òÒTK”yteÞzBüÐIÊð&!kÚÆ<½æõÅ9¶KI2LÀðeK l‰¹î+¯o¾±ˆ²{ uQÿ¦ÌÙ DµÐ››mµ—«ïb±…k²m½ KódÏÚ£¸ïi9Œ\XÄS°‘Õq™ó¬_úñ”ª®f(zI÷K¨ä§¯¥Õ…Y œ7*4=¹ÌÉyªL”’žC ÓR¼ÜòÃÑ’vnCÙIöqGÃ$cèƒú%Œ¼ãëþãæXÜÐí+Šw{¢‡M]ö_»7:æî„(­“ @Öu¬é^¸=ç7ÏZ ’ ®ü|@÷+º¹óqã*Rç{ÉÄ A·z©d§Ë‚'§ÂµlvDaÍ(±Gy³Æí…<‚Â`éKY•‘5wBðë• Y¯æç )i| Rìçâ£YÀ±³ç°Ö—çð;öwÀ¥¥(˜ÕxðãßÑ -º.Ø]PM éa—jdš7ö$+¢­VïÝÖ’îŒlŠ­áf®Ó %1Í XÿÈÌåudcÉ_³€úù¦µ‡kì/óµöÞ+${BV»ñ ¥ú^×L„|¡–¢-ßËï/A|‹»VgWσØþ»¹Uâ_Õ\îè ‰’‹7Iyµ4¾ÊOºqDz_S9|WeãÙ݈¬3²+C1TG¤ óX#Ãt^U”ÀAêÄîØ´Ö#·žå•üîïE¬'˜zÃ1R„ªÊDYWcŠ1dো]Sãuœ[Çç}n4¦IIÎCüLš3­D«3ð¾E܈ñõ¯¯Mlïp øñ3‰3U´Áo*W g;)Õr¾£ûE¢Ø˜Œ‚Ë__kê2OØ'‘Å2¥Ð¦\¦g: z -Ž¤QlÝ~„O½Õ^ìÉ#¥Öì@7Ù -À·êÓ£»Wb¸GŪ*orm,+ /¥qèÐvvH雄ŲŒAj‡Cž5½‰gy_EjCp]“gô¸JúÊ‹Ìs‘v/^µ²ïˆ`Ü“§R'Ù­ êÛj½\¸Z::™…{a½¦†Ñ#½Ã*–Ôn NƒWŽ–V$Sä‚ÞШöò Ù¿6þ 0¦»àìÊÁÉêT(áx?Ñ%zÐÅ&QWe¢»àôˆ‘ðᖒמ]‹æ¯†×V÷\¨Q†— £•ïø¨Q<+ÖKo/ÛØh.]-'dû¡SØH²9*Þþìý9üR6„ÐYîfd’‰Jf ‘>Ë‘?R{ý3Ù'ÎÇ $ÚårBãõoilŽ;*Ñ;ó:¡vm¯ ¿tƒLL…BW²)Üe"í¾g–Ñ^ZËà•O Å“.(²·±¾4;—鿸ÑHû¢±*¡§²Þæyçnisµ Ÿ¼3ÆòÎÏžó­?Ñ0º8o•ßu÷o_ÝǵÝÔÔ*§…²­tCåºD1_¤¦,>fŠàïÙ¯5(à´ùÜ3!Õ‰Ö<{MÊØû(?Fà›LzqœÆÇj–WqùÝUŽ-Ã~oWÚ„"X©> endobj -587 0 obj << -/Ascent 690 -/CapHeight 690 -/Descent -209 -/FontName /ANGQHR+NimbusRomNo9L-Medi -/ItalicAngle 0 -/StemV 140 -/XHeight 461 -/FontBBox [-168 -341 1000 960] -/Flags 4 -/CharSet (/F/o) -/FontFile 588 0 R ->> endobj -704 0 obj -[611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 ] -endobj -572 0 obj << -/Length1 855 -/Length2 2275 -/Length3 532 -/Length 2879 -/Filter /FlateDecode ->> -stream -xÚí•gTS놠bP:èÐm‰t’¡•ŠJ•ŽÒB² @%¨À‘)ÒDŠ XE¥ èˆt‘P¤ª€ÒDéܨ§x=?ïýu×ÝûÏ~fæ{¿wÍÌZvÐÔ\N Oqõ(dšR‰0FH)€Â`*ˆ¥)d, DH55$ åCR­„B+)Ca†âI§ ®4@#õµHÐò©D– ai® [‡%æ¤Ñå- 0ûzÂ0½Aª/ˆ—‡"‘žˆ£Î H†Â¿::Ev¡*ßÃxÏ?S¾ Õ›m -d›”Øñ2‰àA(ܘ¾ d;ùo˜úY\χD2Æz|•ÿÖ¥ä±Dý -Š‡§ ¤F?gOÑ°$"N‹L â{ˆè­Gôñ¦DΠQ}ÀoaŒÿÙ»oßÀmŒÍÌ 02 ô[ÒK$Ó,èž©~­þÆÈ¿™Ý*Ñ8‡G ìBöûç—ýO—é’q<‘ÌÞ”2€¥R±t({5Ø„Î#"ú ?Û0\žL¡±ìž\\(Tè×y²‡Ç~ }'5Žû‹Çÿ€Hþ€Šœð¢8ñTिÉ–"ÿ€Jœú ÿÙ:mmŠÿy9$ § ¨ ”e5ÔÅ+ÃùP© ™öm)Ùíÿ“]ˆìY ?ˆƒ¾î¡àÔCÝ®•‡çêætäm“†hÆ—<éú;¤÷*„t§ÙÀKz°Øf%?UgbÛÄ¿5QïÈÇδéÍüê—Ò½1áë4‘P)j3ŸjD÷<ô%dŠ÷QùËOÓ(ˆIç`Kn¢í­†ŒYæÔMSI‹·;ún©=ç[Z›ª¬b£—J²d„U9XIÑH7o·è¨<®¶·-þùj"6܈¿¢z5š[À³á¤w=DvrÙ£H´=Ë`ë‰G˜7Yîoa4q®J–+y§é2Iø·c’}ý‚a“‡op:Ä*{¶s°n¼ ì p€IM EaL5Z`,¼|<{©@gÅÜ¿3ºõ#ÂG}KG[#Õd!Fƪÿs€Z{1Ó÷ÎYó¾âjM…¦x)1,9R’€Q¼Rï1쀶qpñÛ?#àÁ:õ¾Xg–¿ûɺ°%sšøhNW¸ó@ÝHî!“R29ê$žah¨éP(fßH[f]מaBF!ý¯~›©»}¼]ñ²™×/JlxsË«4[áâ»»]’KÃhî 9éœÔ…†ˆõ÷çä†üâôÊ.ˆX6é·òÙíçž3t—9¦[<—ŽsP_™4H89|„Õ²ƒÿ„f¡þ]”DHñ›ú i‘ 7ãÖ…3@W/V.¶.1CïR– žE«3³Q²9"ʆé£#Ï¢¯ž³«æó#%{!6Kw#’µÈB¥-ñ¢ órÝy%i ™röÎǃ„_C+lwLf¯íOhjBMdqrjT ]]®º›Õ×ì÷ùuŠ”Ü/Í»úQas¼ï+µÐƨ¨)Kb¹®´"CÝÛUoyabÏ-&-*®FòpúõŽ÷pÐÇ5íàt“dÿÄY -ÓèË4Qg‚Õ»D\ö닺¹ez×.èõ–tÄ‹W™ÜePý Ý»™O„ÀuçžK,q>­5µþôéºÛ}®ék§ÐÛÙ^«5÷ ;8¶‘*: -0Ê=3NŒØý.QÎ i98iÞ€ž§Í…´Çó’:÷ö1Kôù}´Ld«µÕí›)¼;y3Çš®ò*µÌOô#/—tdçjt†ŠA9ôËULä¤f½K–œÝ%FµÝ2ü>bª­Cöþ»k škÎE¹ÏÇàBz\Û3¤§2ßÄ:-/1%ªbÔëÞ§n,_Ú¤ï èÂJ”†?èZñrä] ç-o¾o~ÂjÔjÎzßñÈxÔ€)ÕV¢§4"ÂßðÞ=ûC íö=•°Î1ŽÑ哇%jI2E™­?I×z•cU³\‰¿SK‰´ýÍÕóäA©Ãök«#é™û‹^dˆêÅõé°+U¢bÒÕG€ÖÓJ•ì1Ÿ¨7}ïËx¾k:ìf¦03 Q|ÜŽNäÌY\zΑaÊ)Á_Õᴻ‰-¬>Yh¼Ôù‹q-«7DOÃËÜÍ81zm^/c¼]¢óÃ:¹Î1'Þ|tOq®rØs·ŒÍuZYÛømû¾“°ÝK—J’ÜY/õœó×Û›óË–+φgq… gD?-`tz½ó Þ1¦Í`•N«ÏvÏÄQÛ.Alšbâ ň§ã3wMó,ç@R2,º¡¶0Ó‚IÍ·§dY„§ìÅcDìÀWã—¬gٿ채¼¢#êvóœ)Óˆ -ù¥uÕÚ퓪µ­°Qú ™÷²>ÎSèB—§š"ËË|F[÷NU>ã2ßÓÆHlD¸nçð?{ÉÞ]5m¼ýt“ïõÁ+y‘u/sºîêÞËŽ¶ÍëXc½¦µ›ª8¶Ý‹y×¢ÏòAü‡ôÿÿ8ˆ¥Ò(Xª;ô_à‚ó -endstream -endobj -573 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 705 0 R -/FirstChar 97 -/LastChar 114 -/Widths 706 0 R -/BaseFont /XNRRKC+CMTT12 -/FontDescriptor 571 0 R ->> endobj -571 0 obj << -/Ascent 611 -/CapHeight 611 -/Descent -222 -/FontName /XNRRKC+CMTT12 -/ItalicAngle 0 -/StemV 65 -/XHeight 431 -/FontBBox [-1 -234 524 695] -/Flags 4 -/CharSet (/a/c/d/e/g/i/l/n/r) -/FontFile 572 0 R ->> endobj -706 0 obj -[515 0 515 515 515 0 515 0 515 0 0 515 0 515 0 0 0 515 ] -endobj -705 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 97/a 98/.notdef 99/c/d/e 102/.notdef 103/g 104/.notdef 105/i 106/.notdef 108/l 109/.notdef 110/n 111/.notdef 114/r 115/.notdef] ->> endobj -526 0 obj << -/Length1 1085 -/Length2 6204 -/Length3 532 -/Length 6915 -/Filter /FlateDecode ->> -stream -xÚí–eXT]Û÷‘vhRbèî.‘”îî``˜a¨¡é¤A¤”FJéPBPRJڗ뺟ûÖ÷z>¾ï§çxöÞÖoçúŸÿ}®µc³1éò)€öUÅ'Ä/$ TÒ6R -ñ -*ØØ” -Š€+ƒPi ””0Pb;¸}¤ÅÄ¥…Äl@%„»êäŒr*qý•$Tpƒ ¡ 8P„r†¸Ýj8€`@C„‚òã*À`@ƒ¿Vx ž¤7Ì‚¡( =Ä -üåIîˆJükìåþï7éyk -Èù·M.à­I0ó‚!ŽÄm5È­—ÿ¶þ)®êƒé€Üþ’ÿ»Sÿ-rƒÂüþ+áæî…‚ Ú0 ÿgª)ä_æ´!`¨—Û?£ê( ê w‚A€|B¢ü‚¢ÿš‡zªB}!`=(ÊÁè‚yBþž‡ÀÁÿtrÛ¿¿}¨YX˜hðü×ÖþÔAá(#?wPðwöß,ô›o›„„ú-o»,t›x{ÿ{dýb*p -w -‹‰AH$Èp{ˆnI è/„ÂÁ_ Ä÷Ö±?º]¼íL Ðüµ¯â’@忦þER@•ÿ„8P@ë?$)ÐûM"@Ãß$ -0úM·šfÿ¡ÛÍý¦Û˜ýoº­çðº}CÈx«êüŠ à­®ëx+ ûo•Ý~ãm÷ààm!Ä( pÿoë"ÿÀÛºžàmWPà­ ¯ß(|«ì÷7þ÷3¡¨ˆðõçò ‹ þUG(%.øe:x!‘8êïïöhý›¡·§ñ…8æg2a.é%A*¯ÆKq¸<é2ŠÃ†ÛÃë3dø·—dȧMcF†C²p2hiÚ®f…ØQl…¶Q! ßßP |Ž¬ŸèW~¦!޾ö• 懼¾÷$n9Ñ›óŒëîM<û ,'ËÞí8UZß„$ -hwc°Kfg®‚\ƒGVæ ^€Y¾¦¬óZ´R!&[ËIC;¯óE¨­2O(næißžpýD”!›§5!wuWË×qu ”åÊ8o–+¥ö«º~“„‰À{F/cN‡H¢¸Ø£›”Þe‡B"‘iG\ /wge Ì¨Þ‡ßz0t|ª¼ÿX >¥ûU‡ÆƒÜÕ!ëöìë¡ûXX[“[‚#Ò‰SŽo¶‰=ÀcÆuÂS¢¡¨ø©ü!ùGCŒ6N´<¡T/çnÏ,¨N†)šxi{¸F©ŠÍÆíß:æs°Uµ_ {&$Þã_DñúK„¾Ò|Ï/·Fm<_õ#W0Aé­ õÎVð›w÷ŸR±NèJtg§ó¡6v‡!ÑÙÒ“ tÌmPP`áĈù{ÐF{Dûüêcd‘cÓ¥#=Ž Š6ÑL_/-éÕ7t¶ã=âf”îêD6/ ø<ŸúFŒ!ÆÉM)·Èž/›ôˆr<]7+fO686¢kÔåNk‹¸Ð&'d,c¯xº Ìåï×#+KRàÈX·`ªÞ Pcj8`3úv`Í’¯cäÅ“Ì„«g$K¹D*îåÕ&Ûç$¬ÚE-SÆ«Öp¡'BôczÕ€`ðQ~(`·•ß¿²Aý†^?ŽR"£o%ºazƆN‡G‰p™ñ‚e¸Ö:ÕJ{.\àî* ¨µŠGñ"¸R….Œ*7ˆ§|"i['2¼«¿ã‡x\cØÍÊÈšþ4jÅÛèðzÈ#¬’“! jê©žSä&ký‰Ð¹"Ü‹F>„í®9Å{Š8ð8WÜ^šJÉ,J½.ìN;³.yr÷û*«à–ŒÌºÛatø‹_6°×©BJÜiAºStŸífÖ)p2Í.ŒáG‚Ï|¨ŠÆÚw8 ÊmßÙL£÷uFV¿+í-¦Só“ª4à¦?GÀ¬¶~M"×ebáZµÛÑŸ -÷’Ô‹úÂ%~yéPôƒ+–¬Ç:TÒ -_¯ŠB¦¦õùýëù#m‚'‘ûÜf½Ú1MfÄk»f•oeCIœÇÈŠ2œboý4¡º°qÌ»û„ôÂS.¾[>½­ÞT M ¤^6À˜ ‰`|«–½´ÕÊ,«òyÐ6ð ÁôûŠ2õ ™–¢ÉÃÒþ·‡y*x¤e«bƒÒ_v™È=éB vV¥(ØõDÜ’à=5ë]üèñ¥˜E6|=ä\\Ý/žášvë=>¢]6r‹ÐÌ°`'2%Ù²ëí8ûÄZ ½—[ZslÒ$Pa¦UD3¦le[ŠŽsʧ "Aöz™r -M›¼’¯¸ÜsÕÀAµß3 ¿„Õš‘©ÛÅz[–¿ WJ¾ӢҜ v.ÞÔU$G$nr²Æ&œV€ß ógìÃÆ,?)+Ô¶Ë$— á±½!ÿ0qÍ{£_5›û¼dÚ%O®Ù¿Ý{(ÇÆDnÉð»ácq$Ë·°\ÅgEMÈ4ždº¨T‘Q‰¡I¢˜9E"Ðay+©  ¹-öjKÓö`*rËóßQ;ߎ=ÁØOGkˆª½Ð7ôÄ A[a æ -i:x iã¶Î~„K¾IyÊî/¾·þeuš/2ÿ¨#?VFÀ3.ÂTüDM¢ä¿KÞÉJ¢vü¨Í¿¾êŒô1·¼áùR1‘£Œ“óº%´³ÌpcågŽè}™Ï¶&ñÒËf‹ñ¡ÖÕ¥^@ln YÀ¦~;ÐCåÜûæt‘¿-—yA´Æ¹ö$K.{EÐöÉçà•ŽûeV˜£ƒ‹h¾Þ´rH¿ä²Ü© -ÞÎ,dóåæ™™Îþ W^鎴rZÉiêk­@”…UÙ2‹8ó‰"PUŽ­’eâõ‹&©+ü+äwd8DånâxOè6ÞÛÒ;Çâi9K4âêwÅè>4áƒ{Ô0vtæ}œ>;cy6óÑÙd/kE4X^.ƒ#ç»unÎøy>c±t”®j]* Ñe:ɵÆ9¾ÂV¶ùF gGšâ£Ë¡œ—õ’ßi2™ú›Â)¬—¹î -•ø©nìãlGi×ÁM½¦¸û¹t¤„úÝkRM„ÊO{‚”¦%=G…Ž³ÎÏ0QŒ©b®W³¨7qoì’ñ« ëª æxJtá*º´²_*9&#€âIÚ1+v²Q‚ˆôúšÃ…Áþ‰ž÷Qá„^Èh)ßâºo>?ùDº_?~æNæt7ÔŒ —[þxÏèÆžî,àþg -É ‚,ìö]·šƒ¤çÉ@sï¾mÈL½°7Ö¦ùKÿ¯^Âå½CDàå¶{Ïb”æ’téˆç-d¹aÝs½b,+ÀJ›¿bÜ«`6µzîí úJ¥T‹×®­;q—.b¥Cþ&GíþÒš_°«2ÓÝê„ê)q‹Iýl´/}ÓðÞ’£¶ ÕkDÈKVä§âp[¼žñÏËi5³¼6Õ·'“è^NžÉ3*¾bøç;º8¥<‹ÑŽ`Ÿm:ì`£LUcD°;þ±Ç8©Õõõ9MÆBើꬃŒFHÓÓKe¯CïmÞ¢iOj 2Û•Þ -5F³‡ðŸóc\lº›…öEo¾[a5•WQz¾’Ú &vcCñLÄXDêS‚ăAî”|Œb5óúªA¡uõœ¸Ø}*Xè÷åïÍ3ß¾½îf .Â2¯j¬æÀYÇÊRTé¿ -y}Ä« T¬bÂ.ò]­‰8Ê©Ã2rÑÈtÕ -ɱ¼2fŒþŠ¤xcoMšWŒñÏsž -YzkïDìçeÀÊ¢x+Ñd1‹«)«5ºqÉ)-âÑ.&6Þ ¯«ÄêÊ\EŒ\\ˆI*É/0—tx,;®?^œÖNÉêØŸs“P¯¼4ùXµþEªÏ’9ÿ*[PòÁô‘ìO3ÖÂ; ‹ôþ­á2Ó¸I‰ûY÷ ±•!¹Ï?ÉU«$ˆ+_f0jµä—Ù>w:^Rk~ZYçþ^gFô³¬3•XvÚÇ3BLR Ìú¹cÇ¿í4‰¿hZ–¦ÛÎÖ O]|ÁTm½ÒSä-²Ú±eŠ%*à–7 œN€Dö;Ÿð²ã­¹ÌZ"á¯ð´ÆÏÕ%ãŒC2œJŒßhå…5}Z÷á!oPâ«Â8¸g÷c6wá Ž³é^á÷S¾4 ×îU'%ý6R:Fzù7–<²Á„lý'ºLÍz"Nkk(PÉ$Nñý_¾v¬R´ŠÉ¿&â´f°¤u¦`¶CkñºÆ*¦n#üRïê`u=µÛ`T ,|#tLõú®w~ºâa×½8ʼ™In÷Åöéi÷,õ¨B٭ɹ«òŽ­œKTd˜ÑEc¸¥G"I:†sáM‹3öBŽvÖ{‘™®^U?`#–Ž¶ôA¿š;™ŽÌ)IîG•z?–e M¨L$$õH4g½Q.ɲÕv\h#Þ~ŽÞú0ã#ÏGL`G”ªJ'ßÝHK[ÚdüqÓ4/hÎÓå!ÿ¹. ”_ÕâK\•ÀÌ‘d‘­@Qg¥Åþ}’ÏÂÃoeXÇ·üö~p ÷ çÛs2G”­9ŽRõ*a,|HáýضàCió¯6Y«šÏåú†- æg^Ôœ1¨ úòŠ{¢C§g›:£^TJ +õGŽ[XI -ŸyN5xŸ¾ì~-¦«1WȧDŽ‹’Å*Ætci[4¶¤Œ•ºyïWj[’ñSî°0ˆú!@×ðóõoS´'9 {–7ÊjÊí’æ» -Lù¥’Õ/ìŽ3­‚ÉJ AùÕ=Š^t².­xK•ÖG N[QÂQM -ÆáEAŒƒ*iÁ‘sžõývgIÖ0òµ{ûÞ½eV„]}^.­lFSü(þP@Zd擺:µ‡ã;†¾MÍ[;G=^yÂ*Ü1ÅýY¡ó¸´„ݹviýó$ÌÐWRkrJè¡ÜP`°W®×O1ë2À©úgâÓœ(«(îÂûT}Ãô$–›\Ù’Ìøͯ?j¸P›k<‘Š,‡±üÄêËxþ“UD‹uŒßÒoF š$û„Ý’…ú;ÄÙhÊ°=ÏŸËÐdj§Šƒ]Ú¯“KšCÝÍa®ªj„5¶šô]¾QIÄë¶óe¯NÌœÏûÈX{{é³…í:ë ¡‘ P¹¢nµEåE­Ð©¹‡÷®Êµ8pÉ|>ö»/[+Í -™aðîƨǘëzš»É‚ÐØ*r•™âOxȉ|UÄr¥¨Éñh[™RËaémÒèìåjÝ­¾”d7ê]¯(Æí7®ñ²13ì]ÌS¤©© €í¥³/£ÃCÅ×Þ¾u\53Ëú…Ìõ³» yµED ‚z?ZìÏ°Hí˜ü’¡Ó~\âÙ²¯ldç9[¬û¤&CôªñÂŽîãø‚4/cüŽ\£)‚J*=šþrÄO-Æ/ŸÏètàðZº¸‘¡>ïPläà”6-J§WkTÆÛ]ãºÆ×ëZªíß™ÍIæÖŸÐóÚS Å^¼Ù÷ÛMgˆ2ÕÇõve¥N ½Æ°:\Q=ÍÏÝl¢¶Ÿ&©kho£BÞ™$Ãì,`xŸ¥¶Íµ…û­,eªÌÑôè0e_:X{/„†üyšÖädÝ%1 -{¬ó‡ï^ÁÖ¯õ_»ŽžåM‡b¸¼DÅ1^ÇE¼\Eó6ËöSÉÕÚÆ”U˜ùîq† ˜‰kGêèÿ¥g=Žs‹4LÛ¡¨u­£Î°û®ÓžŽZ{+šH½N€ UáY!õëß 2šî -GsÌ:ýò>sÂÒ[§‹˜/ÍÖIÌ¥ÚïûÔí]„gµ/!e÷‹Ž@m“ýS—ï~ùÌ9”Siød> -`ÿ”©¯ìWÈ*Þ52¦¨pÑÏi‚wõŽWx°.xì‘Gïæ*¼\÷¡ÓÇz½ææRÌ™ ® ìTÙWÕS•—®ÏG?9®ê`±l]Tˆ_TvŠé%.ع'åœÚË%U|Ռ攋ÑsŠòú`{¨2tz,™½—Ÿ6G&§±Ä¤\*Ü¡â°¶:©]å,Qç‡5Óæ‡ÙËR6Ï|0‘_Úö‚òHò‰3º³YX¡ˆ¹ªÄ'øSC>"êt–Ûšôæ;h+ߺîœf Éì¤Éjýà -ãx@èÇŽg%¯~}¨5TŽ¥Ïù4X9@Ëmì2ÂŽTý•ëzOõ$!”ü“#–äk$]9_†›º%ß)õ|<ØesãéŒ]õ®_ÛX"Ÿ*áF*„œxw7ZÇà¯v{«Q`X¶£Ûý©ZoÞÌkQ‚Ø-ºû×=mIEè3¦9[æ´£û8wRúñú6ê 3^[ãg}Ÿ¦×b€wZšê›÷»Ìž™Þ?ʸ®*8[T”&9ŸÖ9øüÃ+ÌR ÂÄ®IµhdºÞàÐÀD¾4¶_ež¾[üè¹Ó¯(©sæ j-^µ“ሠ.õSúÒ¹ `tm¿€mß6ΫÃámùé !•ûþÅ< +Pt£hµÏ¥Q¶!ÛU}RÑ¿'’»áŽn²lÍ—WÌÊKIß -wsÁG>úe¶ Ͼ™ïqp »€†&)…D7Ÿ†pFY+££ð¿0é2c˜åq|ïHq)ÐcYû5Ñ?³ŸëHƾ¡»t,™é£c©JiÎã ì9$r`°›èÕêOÅJl™Eîã0±²hûñ¤‘zãõÁJŽÕIÔ>r.¬ên‚¹Î/Y¡%ëEÞe}õáüÅrÔÜ.¾ʵVGUÔ‘“b(=RÍ™žê"“ ¤Ös_Ó„UdwÈbIXhr%Ë;8mÚ`–ò’²&i«L†æ'+žð‘Ç¿§uÚS›}.½£PÖämZ2›;¬.æB]>úò …³ðQÖÝÄþ:, °gAwbÇ&]Ñ\á»åcU/OÒqb-‘ú+òοL¸I»hßBu?ä{îeêI¤ùªå”h1–8¦üRÊÈöÓϲ?Z\§¨áòÊ:¡ŠS±^˧%7᥹&:_µ>ñÃÀß!¹€Çjº’Ÿü³ñž®³Q³[‚0ôïrc¨fÕê±”6¾1TP 6Ê>Åà³¹Ô2ù€tLHê® ¾æ­Vão¡Ìâ|xU'ïÓÎ?ÆqØ&õÓÊ] fÅ`Ù’|æQIŸ²¤™¹n¼%q½ÖŸˆl¥ 8Pc:„L m´ø6œÍά(BW•ybN\ÔxT[ŽqLÖ;Ùý½Rümd+3ºßÔý¿xQ¬ŽVJDIRJ’Ü€En¬$ßÛVÖZRr¯‹ÉðúQ^.ÔBa$-] •-k#š?kÀS#R¡íwΔ"šœ×§9:Ñ¿Œ¼»Ç±¨éB³ÕêL˜ãÐK£ò¡?>âUâ}¥ºHðWÁ§yDZ›VFu®°²Uï¯! -&f^äèQ¾•^íÀW‹é9PÀ†¶6j<—YSüÈ:³T§J²ˆ®¹¸áX“ê…ã~¨zíRKè”r¾–ð6ƒó™ -S´)ƪ6Èo gŽÁKK3;»Ñct &Þû›ì‹§¤1­5 ñ¹ðú¦ÍÃøÀ]A•0açaæ£Æ×_hâØ.ØiX6ØT­•w*tã$«ß8¢¡›˜AŠöŽ)qa±Ø”Û?i™Þøä,FÚnjòë4âˆeã–Ôró:¨mrY'=Šéë¨Ì“‡ÝMŸœ7‘+d -ä*_‡.èÑ×$|+T n(?"hÉæÖü6ûrs0þƒR.ÂæÑ:ù`ëh¶ö  ŽÃÈù­¶ö0Ñ;·¶—Š…;œÏÒg´PiMÞΚg_÷Õâóʵ¬†Læiæ´Ìß,RÅ“‹…‰ærÑdÄØ-gw.´1 :> endobj -525 0 obj << -/Ascent 694 -/CapHeight 683 -/Descent -194 -/FontName /HZRZVJ+CMTI10 -/ItalicAngle -14.04 -/StemV 68 -/XHeight 431 -/FontBBox [-163 -250 1146 969] -/Flags 4 -/CharSet (/D/E/L/P/S/T/X/a/b/c/e/h/i/k/l/m/n/o/p/r/s/t/u/y) -/FontFile 526 0 R ->> endobj -708 0 obj -[755 678 0 0 0 0 0 0 627 0 0 0 678 0 0 562 716 0 0 0 743 0 0 0 0 0 0 0 0 511 460 460 0 460 0 0 511 307 0 460 256 818 562 511 511 0 422 409 332 537 0 0 0 486 ] -endobj -707 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 68/D/E 70/.notdef 76/L 77/.notdef 80/P 81/.notdef 83/S/T 85/.notdef 88/X 89/.notdef 97/a/b/c 100/.notdef 101/e 102/.notdef 104/h/i 106/.notdef 107/k/l/m/n/o/p 113/.notdef 114/r/s/t/u 118/.notdef 121/y 122/.notdef] ->> endobj -459 0 obj << -/Length1 772 -/Length2 680 -/Length3 532 -/Length 1232 -/Filter /FlateDecode ->> -stream -xÚíRkPW-EÙhÁ -HG.¯†<6A¨ABF‚:.»7°’ì†eƒ‰áÕV£ -tE¬`­Xc‡ŠJÑ‚,Lg§©tÀiAQÐ -2È´(㶿:Ýûg¿ïœ{î¹ç»Þî -¥ Œ Sa$M±TˆY¬rk@…bÄÛ[Æ@Œ%ij#Æ €®_‚0]@¥@$Aƒ¤ÄÈh­!ÓÒYà+ó³’@˜2$ŽQ cÓ¡†ÓÀ15PÒ8 Yƒ„©Õ Þº# ÄÃ,ÈdCBˆ ( Hœ©0¤‘ÕœRÑ `¶Mè´sP6d²8SÀ—3é8‹M© €€*DGsgAÎÉ¿aj¾x¤N­ŽÃ4VykH¯Á˜†Tþ"ЭŽ… ˆ¥ ÈPó©‰pÖ[,$Hf>*g15‰‡QijèZ¡xt ³"I=$$‹§¦Î‚3}Hó­péÍ)ñïËåüÙ©Î` -Œ¤Øƒñ+òL¾ª¹ŒRRÄB±åˆÜšûÛ>ï¬ -§ ’Jé:€1 f@Äœ”D*Fõê9Ã"!E³ÜÀ%“ T4ƒX‡Š‘– Mà⃄žAÖrCr·°v^¿`x8­7 -¸Ç(X/E*‘J@@ $÷oD\Ç0œîÌâbš«U$-„zˆ#ÝÞ»«ò²©./¢öö¹…"ûÉNó`·Ýõ¤Æ¼ã$‘«”VovOcOê»t¸Í)ãŽs4\îÈ4¸Š+Þñ¬Æñü¥¢OÏ$•H[„÷”N†‹*–¼àû ÉÛ2·­Ú×çÔÂô+ôôï~æ™ß¹¸šxž\Û5ìnÒ¿VßpyŠÚv6²@ôħøq“ùðÀwû·–E=:êÌÿ±¥#4ªÔ˜“ÌÉ£Ó·z¼Æ>ˆvÔ)Š™|šgÿÃù_à?!€«!Æ°´c2?h¬G -endstream -endobj -460 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 709 0 R -/FirstChar 1 -/LastChar 48 -/Widths 710 0 R -/BaseFont /SPRKII+CMSY7 -/FontDescriptor 458 0 R ->> endobj -458 0 obj << -/Ascent 750 -/CapHeight 683 -/Descent -194 -/FontName /SPRKII+CMSY7 -/ItalicAngle -14.035 -/StemV 93 -/XHeight 431 -/FontBBox [-15 -951 1252 782] -/Flags 4 -/CharSet (/periodcentered/prime) -/FontFile 459 0 R ->> endobj -710 0 obj -[339 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 329 ] -endobj -709 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 1/periodcentered 2/.notdef 48/prime 49/.notdef] ->> endobj -456 0 obj << -/Length1 758 -/Length2 1256 -/Length3 532 -/Length 1816 -/Filter /FlateDecode ->> -stream -xÚíR}ËÈK×î".›k³áã–”·ÆÒ¹*Š Û]´ÕFV áºÝû¹öÏ{ÿÚÏžsþø}Ÿçû{¾Ïy~?¢±ïa ÝXdC±¥Ð&‹M(¶d²3ŽHd¢ G$D`Ž¤''*à†a ì£Óht2G˜H¤ò"À‚i¹Òä0"@TÈåÀ‹#€˜—‡®Imì•ÑŒQ ȳÅQ(OÈa _ãH+Ž<áppüóÄ‘) ˆFc¦‹U›–f’‡Ààá8’7‚M1/ÿ[kÅÝÄä͉X‘Çrú ˉBÒñHD¤X¢ á(¼¶5ü`ò„∵¬§ˆ ¹ ˜ù$ŒvÆ‚<_¡ˆ+Â9P4¸Šƒ0o­ ,¸U $/Of€ßg«'ºJùr„°È_ùoÑ•ÞÕšòŸËÆ!d,\ -Öˆ½WÇ׌r…¹Oó*Íà (GŠ#cRT ˆ£B˜Æ`,æ—d #"l €E’„#(nå8íƒ+àjM£$‘? ¿ý+gg$6ÎÆΞØPiØ ;²=àä@Kø¯N®EAX´zg°p>ÖáB,JŒ¹¸ÁGwwÊçùu©‰®e½•jV*Îüú,ïÚÖ‡Íòl¨¼Ó+ÊjäjÐ|U¡ö–qµqBÌ{£è3Šx¿{n“IQYçû—Æ%¡ã…²F£ éB–t,ÒdVþBóF]ßÌKšŠÏƒ‘»¹Á߶Oµ¿(õµpñŸPW¯»"¹v³(ÅÁ1È­ -H;}ÕÌΘ­u>ª"Ý>m8F+7gýp<ñó´ Ÿ ½Fbü|ÙÆ g—ŽÍê|½•« ر²ÚÆžØÿòÒ·iZš5Ë·;.(ø‡Q`\íÉFv§§¼D;õr±ÌÐõäý)½n×t–dÒºQd¼Ht8>R:weùÐ2±aœ¥î^_½íéPÙhgÞkÍõýýýRNêMvÄä^ -C µ‘ÙÝéqËkè—>ýœ@YÕwý?[fj&”ïROâ¿-ùfò¶í¯[U%¿’ TOÄyÊß ?Ý77­hqX/ÔíÀ«¸<,`TDÍîh°j¿—œv¯Ç²êV×¹/úqfØíOïø” ô¶ÕŠüJѧK”çŸØ3$£fáÛêNÓ·“é'’2m]BïÞ†+aól•GÛÙ»‡¾j =Ÿy¼øÖÑTÞ*=ä*è•òR3J úêBÊÝzòêy‰^/å§!óK“zqtü„ë¿”ýÓ›¶·›Ž|÷¬¥a®ÞϽøq¡ÈIð+’ð©û7åZSIp¬›*I½èq´ÞD…}law|é£iØåoÝsw7þåŠZÈ£œŽ"Óøiᬌ¢LÒôwÀ)»Û]öô>ÓºUIæU¤[bS­ÍçÿÌhÏxg¾ yæò&={ŒÖkGT 6k[ÈõïÎÕLܯÜÉÑ‹8%ÝåñEÀÌø>«í_ÞL0v´l—{.ýpË aèýic¯Ó¾B'›DŽ9º8»`‡JÊ3ge³B¤ØpoŸ00O56ÉÔ¯þ„5ÈÙ£ÔÐÊÊÂ)é{6_¯ -NðTÉxždZâX+dÉ%µÚ—æÂfÓŠþÈ.ê °›Ìr~ë^M -7%Ú¯7ØZPSØÕåØæG,pÑ?ëÕ  eIœ´† =tÏ·¢CÞ ø ª#ú':žl×é*ÝŒHÄõ,ç$>™ÒÎß}ø:2UÞ®R;TÑ`Ú¥ ß(Ù×åñòù›Ô1×#ü‘÷JŸ>/ÿæʱüêËÙÉ‚MÁáMànÃ\…Žµc¾ §~"Â.C{¶A™·õ⮜¡é-;¦7{÷õ›àC}:Qa2ç›÷ÞàÇÓÿf¿Ï—ÀÒ?vP¾Ÿ~u_ÖzA}2õ†µ_^ÖÖªÉ{5.×TÔX×Ä÷¸¶-'÷WΤØ~£_þýUt¢w±_à:úX2)Ø+dßi+ÞäsŠè£[ërílcSbWÎÅÀú+ú©¢êÆŸÕ_¾Òx½7íÌŸÖ™Y‹ß–ï>¸…åÏuŒºH»øfåôîiËPÃNyÉ ¥ºúûØ sgö<#·¸MÐzÓ_§–×ò÷ñÀ˜¦¨®u†_Z%†N]1ì«x瘬ãÑy²˜ÏÍ&>eUŒ=K«?¯‹nŒj6œ6eùþ£ÍMzñ:R‚.UÜ-eqx³jËËóE±f%õ]ëuêRp÷æïŽÇ©&E¨ë ·¿v*rñé=^ &÷¹¤t€ùLòÿøàþø]p!ƒŠz -÷Oì=Æ® -endstream -endobj -457 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 711 0 R -/FirstChar 49 -/LastChar 51 -/Widths 712 0 R -/BaseFont /KICUOQ+CMR5 -/FontDescriptor 455 0 R ->> endobj -455 0 obj << -/Ascent 694 -/CapHeight 680 -/Descent -194 -/FontName /KICUOQ+CMR5 -/ItalicAngle 0 -/StemV 89 -/XHeight 431 -/FontBBox [-341 -250 1304 965] -/Flags 4 -/CharSet (/one/three) -/FontFile 456 0 R ->> endobj -712 0 obj -[681 0 681 ] -endobj -711 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 49/one 50/.notdef 51/three 52/.notdef] ->> endobj -453 0 obj << -/Length1 760 -/Length2 1565 -/Length3 532 -/Length 2125 -/Filter /FlateDecode ->> -stream -xÚíRk<”ifRÙa%¬C,Ò’ÃÇJã”Óhr(*ê1ó`ÖÌ<3gdÖŽSÊ!&d¢ÒÑ¡4m,^‘õVŠ-+)$‘b‰”ÃjRŽíÐÛooûñ}?½¿÷~¾Ü×ÿÝ×ÿz®û6Ò§ú™“ép(ä³Qs‚Áp¦PÂ@cg“%’ @fAƒ² -ˆF@,© d~0¡| €Ìd¾K'¢_( -B¢!º–@è  -„Bá 6·dɃ6ŸÊtçs+B¢¤¦ãe›&€Ô$f3ù -Ãâ|`é4Hêå¿aëKq7“é²–ä—‚ú[d1˜ü`‡‡B@éÂþ’º úäÑ<Ö—]d2hdv8Ì Vx«OuF”#¢S(-™QÐrbÓ¿t"oÙÎÓ‹âíG6ýt±Ë=*È`£þ|àÿ"/cÂ_Xˆöà-ðx‚”(ý>ï‚¿˜åʦÁt; ’¬A@>/•"’H@,`°éP ÅH ã,Ø0*=Hƒa0‚]ºUÞÀ±–jŸ àØËðï¿ääÇÄZÚæD’t„¥•`C þGã!ÄF—4—Ï8Œ!‚b ¶û1LsHþ>¯úpiœkaÛåUOSæ¹´â wçÏ–G[¦õ©íìqûÎÝ3¡ˆP]ÖS7µ™¼«£¬?.RçÐæ £Þþqª8n¢¯gªáWB½ÑÎýªÐ–÷všéÇdì¾J׊/ð¢ð]LÍÒÃ]ƒnùĵ®]§²' C.)UË\&Ðÿð7ÞzüNC€ÏbæsÕ²í­ø'Žñn.¾œÉé+ž·Íh9òC–¡T7èKØ>;áõÝÞFîé8åmî\lu„ê}…7gÜÈ»µïeÕè -í²j$ ïF§7bu5‰²nÊ]6åí9ÇKÅŽªæ¥…UA娕çz+wO$kÝ>ºm{•Ú‡7yÚ'(:‚.¿ -®)×ÿ´$¯ z¾f#8}¦Z}°ûºÁÙ™äáK‡{dôÝÇ,܃èê ­¾~(}4Õ;£À\ùà@Ã൰mÞ†Õla£ QF¬¼Ã«Š¢ÖÌ‘SGn88":ÜYur¥ï÷į -ûšò$¯ëZB[£Ö$[Å›‹Ü Ý-Á&s¡a°26˜!¿ÄGMݾ!s¨^íš®fn7 åvdæn“+lìâöÚQÞˆÓÞR2zŽöd— è9bö·…d5F ÜÚ<‹1s5ÊPmÏy­óûºÐ;`ûsÓØŠy9ÓÅ'†ìÕIŠ{ÄdÝ«Ú„n{ÜÅÛèÏȾ7¤“¿ÔÍÒô]M.кD—SŠq>ò$Ec³!}.«nÕP‰¶c°g³ášó9Ó^÷0Ew“ÍÖdÃ9sm˜Ÿ:äoÈɶo¯› öfUœVokÉ2 Q×x¹ËZenÃ]›L‰ÞÕ½ýÁ*÷c=EBI¹s×þiEWŸñyp£èj}ÆeË¡-š_={+ªQY%€{k+·;5([—‰Ì¿ŽŽÏê^èØ¿òñöþL©u§4ì‡ó0ùz3S¤ÆlIt¡¦¯e,(â²ýz‰ RŒ)àÃwÝáOÚšu¢Fw¼%®Þkdž²Û §ŸWš”éˆîèO‹RÔ“†õˆ²-Íä€^<³AÉÿ -I9Ôo\MÎÃi÷aNÿŒ©F:¦XøÞVI}¢ò{] OÉc£Æw‹²ëK…ÙûÖi‹©¢ÖJc:ÎüÅ·MYC1ŠþìÚ©)ÇŸh{]®¯P°›˜çÆ7ràìEæ Ñü˜ÌÇÈÊÛÞG“%ŒÜK:ŸÿÞÕè>æ&¡V£üí5Õ÷ü¦éÔ’§-×±?Ö®¿%©2{X¼Ñ@½v£ØEîÄ鬆 -ëõ¯žÊr^تݞ||>H|Ý[ ô‘Aæûp]œQß$fjÅ$Çþã˃ö%ŽwqsaI³§|?×ðACëíN¨ÊGaŬ§ö<'h¶˜ÍÎy:H¬Hýõ÷9'‡LíΊ'zW•·&Ûq%±ÿ°i¡ {i ‚º¬Êq—ÝÙ]bœŸ·"¿WäàçûLؼhv@ÿáܺT™Âm˜À¬ºJÖåd+ƒÈFF¦Z(ñüú8•ôôkqZ’ß©IUQ¥z -Æ–‘‹i¬ù«¯}ÚTëoÔÑö.Üéø”ìÊ\gs~|'ÐÝÑsÎæÆÑ1ÍûâWT¢BZ"sw¥Üzß©o$)ïJ5zéª*«ÝX®£!ó!‘:[Ük•ŽÝÛª j5:‚S±?è†cJ-µ6‡Uår5UœðÿáÂþ_àB€Æ„@…Y ‰ý.Vh -endstream -endobj -454 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 713 0 R -/FirstChar 109 -/LastChar 110 -/Widths 714 0 R -/BaseFont /JKMLSA+CMMI5 -/FontDescriptor 452 0 R ->> endobj -452 0 obj << -/Ascent 694 -/CapHeight 683 -/Descent -194 -/FontName /JKMLSA+CMMI5 -/ItalicAngle -14.04 -/StemV 90 -/XHeight 431 -/FontBBox [37 -250 1349 750] -/Flags 4 -/CharSet (/m/n) -/FontFile 453 0 R ->> endobj -714 0 obj -[1228 881 ] -endobj -713 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 109/m/n 111/.notdef] ->> endobj -450 0 obj << -/Length1 836 -/Length2 2347 -/Length3 532 -/Length 2939 -/Filter /FlateDecode ->> -stream -xÚíRi<”í¦lkˆÞž‰±3c4ֆЈd˾fÌ<ÃdÍd›#²‹ -¯T¶$[YB–ÊR’D–DB8¶„’3éÝNïÇs>ßyî/÷õÿ_÷u_Ïõ¿aP;5#<Õ4¥Rèjêz€‰¥¥¹àì fB±t"•rKõ ]]-à(ƒ 5„¶JS¥ &TèãKM”¾“´#2H#â°ÀK÷É –ØQqDÎRŒH$àø÷Àq0¤‚xuˆ†€'âè€7èC¤@àß=™ST@ûGÏðÿ½Ò8¦ÅM›JÇ$žJ!±Xµ¶º·HOëj÷Wý‰g©­UsùZ{Cy'ÎJû%ªÏÚ+éÌo½oQìÅêÒ).omß­†·V³Mó+*°(8Gf}ÐÝ–R¨[ö^ckVpý¢Qõ#B&- (U´[RVjx\ü.”dó%ÇKæbX×ÐL¡QÆo­"ë¬O ôÝ}¾uä¿žt>láCß½1' z‚£ýcºRþ˜3©¡ËýG‚˜ê·Êdaúëö7Dݱ³õ×…²hçyƒ©ÒÆ·+‡lÕÂû ÉE%–{t †¯É!‹ÁðbãmÆXÅÉVKÑæ‹’”Öÿ¸s¦tØõòÜTGxèxÿ¡ --(ýØJŽÅNÞ¼’¤Ìµå5ÏʧTÉñ%Ú?®¾0Ó¾›•ˆ7ʶq]Î^C<_c°EÏÅ>}U«iI°Üp³Kñ’ ]9¼FbØd§6;}…Êõ¹,4 Ê Ö­ëÙO$·±ý4Ó¦6µeÄçïvp¹÷äå>!c¡”%oe£nàrÃ=ǯÔJ›_MÐÉtîÕùðW#K¦É‡­ø±O&ÅUk·ãÉX¶:äCÕlµ­IHÏK­êª9s\¹ßòˆõHºßÙÈ•uZ|•oÖhÞ,>b0M2¦ºa÷è­Ç:v^Êb¡5w0g4çë÷¥IeR ä¾E»Qñ_L×Pã`ñ€Ð°Š–ôÙsfÑö\ê‡zYD:–üòv9$øÒ©>ZÝèà{øÅEŸ´Ì!‰ÒèÄÏ•ü\O{ç{2ÞïU4Ó&Æ'’³ÔöI”•#]E™·ø*ù:=O}£k•×*;^ÚúŽÑéÞ»ë,J÷—òyÛ¡±G9Yaõ % ¤–Áà#7nL•yÇ-äæ_–vÑ.D#Æs+g‚Â*j76Løò"\{—¥F eÈÈ*yhGÌ}ìøðî(ætçi¾õël÷½Î§^»·Êž©S]S—IycZ·ïn?¹!*ïĺ-4O¥S+”5ÍëÄ°ŽÏÔŒàòªN(^Yb­_æò3Iw@ðúXQ‰«UgWß%ŒW}¤„8TÐÌÑV˜¾¹£ ‡`[U#òáWùÔNçmWÀ˜d\ ¶B}z&ÒÌ~~<24d)ÙpZ¬J.÷òÙãcx7P¾XEW±ù‚›—~øŽíbŸSìâ‡].®¶ô!'TЄî3ù|¶Ý4ŠÇ EÙ­àJÝE÷\¹DìDhæœmש–k[ÌHD/»ÇEËÚr†-Œ0¶Sf9$&ìGóp‡MØd£Õ þoð7â„RÕ1® )bUíÖ“ú$ãK+X´(a»óA‰M›iÿ›$ÒÅÜ_n91ã_P+,‡#k |M¼8+2Zñž’“oÌ«°0r#\T`‡‰¯ÊxÂjW(Ø©¼q)*S©4æŒRÌütš¼o9½7å)†IzWÄ}ÞÀE²S):?øö\‡æpŠœ~ñµžÑ2ü‹wý¡5VquVÁËdŸy– ÃXÞ9ázÇó—Ó¥]^k-kÎGy:—³@ÝXv«VîÑð®æ ¹¥|»æÖéëÝ{·\Ònf/÷%e{⼫³ƒcÅMí¡ÒÏ|"†¨@™¾³Êù^G(/ÒX7O7ý*ºœç0ðhÊ°¤YÛ-Œ¥X¤w•+§"^¼–xÇsMwh¹Æ¶¢˜‰œ wk©Ø÷Ùý;¯dÇÔZ…zx)ÒØ4KÚ¢x/¿¬¿vEäP}›½8nÏ=ч÷VÑO‡µ4[ûýÎ[ààn†‹‹­*ï&n³¡N²íM®-ÛŠe\§GÂÎO¢†mç͘"³§Ó•³‘ýóJ·o2œ<‰$9ý¹†;Ì.{{V¢ÞçYï‘ó°u…ùKW7EcS6mé"V›< -ìä«•¢:}Å´BHiíOw©¢\H.¸¢³ðr~IÐLìyÔEU" ¢Ä“w•Í~’ÜÚì mâcmëPz²àÚt-2^º’¯àô«ãÊE,­j}¶?Œ›{RûÛª´7;î ­ †Ê‡Ï¨j \ŠM¥·©-VÈïüôíRîŒncµ]ßkûö›%ÊwÚ¹¿ÅmòÛ}ëëåwïïw¼0["Iæ/5—ºÃçh®êÿÑ1IxC›Y “ʺ¡0}³1FL '±0“œà°(ùÒ«~ ”0Ó®Ÿa1•".)AÕ?•Ú°,†\òýØÝg&tðß}3³,ƒ ×m¼ºÚ˜~"o6=•½'öº™§GGUõÖQ9†uWø[ã“kÓÐkíKÊ*7 % ;¦ ct$æîk=¸­sëÁaÓZ¿¨šA¡Ç{ÿ#¾å=k¶<,‹GroeÌ/´©•­Ç+šõ~Í[ŽNéÛïv˜EÁù¤•Ž%Ž7R¹]îYé?„\Ü·3È/¾> endobj -449 0 obj << -/Ascent 694 -/CapHeight 683 -/Descent -194 -/FontName /OSSHXB+CMMI10 -/ItalicAngle -14.04 -/StemV 72 -/XHeight 431 -/FontBBox [-32 -250 1048 750] -/Flags 4 -/CharSet (/A/B/O/d/f/x/y) -/FontFile 450 0 R ->> endobj -716 0 obj -[750 758 0 0 0 0 0 0 0 0 0 0 0 0 763 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 520 0 490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 572 490 ] -endobj -715 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 65/A/B 67/.notdef 79/O 80/.notdef 100/d 101/.notdef 102/f 103/.notdef 120/x/y 122/.notdef] ->> endobj -447 0 obj << -/Length1 780 -/Length2 1299 -/Length3 532 -/Length 1866 -/Filter /FlateDecode ->> -stream -xÚíR{8TûƳI“ãÒÐ…b¹•ËÆ̸߲݆¡aHaç6f³4f1Ö0ãVîµE{ìé´•<õ¸¤ãR!Ρ‹\BD‘Ø[do±1: »}žcÿyÎ_ç9ký³¾÷ý~ïï]ï÷iªRŽéÙÒá`³=¼>Þ°'{šx}FSÓž Rf9PÐÀ››ã[N(@Àx Cs £ ØÃ<6Ê@-{í&SÀ6dC4* SŽjШLàLƒ@„§Ø2™€çƉ(ÀŒÙÑ ]ƒÇtˆ†Á`(ÄÂlø!±B`Àt ¦s"¾PÑ ; -5h¡&µÔ"f1y Á¸Áè] êä¿aj»8‘ÃdºQÃ7äÑŒþÄRÃ!&ïwà  ÃtÍÚÞê nY#ƒtˆ¾%!T&D³e…2A·AQDˆ Ò)Bc!Tf¸‰ƒ,úvhl› NxºÙ)º›Óܤ(Tˆ…xñ"þÝèݬñÿªÑlØ8‰ÓÇáðh#ú~ùòßv•#‹Ó!ºÆ&•Í¦ò0è^ •1‡ ä õk Ï‚ô€F’„ÀlÌÆ0p€A• ²˜`²Am¡øßÑ­áý›0 ܬÿüÃvv07N` -èŒQ x05Æ%ü[#ÃFU‘Í]BcûR‡@hÈ Èi˜Á0Í25Œ7½$Ññú³RqQ»Ð{9nÕMÏw¥ äŠ2o´»FêŒTù¬” °Òâ*1«JQß5Ä{tg“"s -ú×'¢ƒ&±uJ>ó2ïm„ÚRÊ”Ìý»}ï§EÝ{G:Jò|‹_™k™ºFÑrðúeÇkU‘æ“Ñ5Í—SML}ˆæñŒ´ªC†ªž²‘%g2†cdó.~5Ü’–!Y«;$„8»W®K^½´î÷¡¶ý~á*ó¡p²‚0o4´ž0Fʯ,ÿìi—]$•Ý·5vÉoªOZúVDÓÙXGe%ÅV§ŠÛܧC™T£Àgk¸G œÛ¬aG'í"êŃñg“Íì’×^Èêü:³>Bwò[Ù§r¸8yOIûKÜ yhœ[•>¯®5_‘:»Ïz\î¯ßŽ,"•6¯xC­ž$]6¨Uä/6£ÿpÄZ}t*ruO¥ß°z':Zª¶&€¤&ŠÚbää+&ô|ÀÒF—}„*Oæ¤ßÀ3ñ´²¯2ÛRx·î$ö>XM2 -&Ý O’,êÚA1éºi\Ø®œÓ´˜þðþá™Ç~ç¥ÆG'¤ƒÃÜSZ -'-Ži`-¸&¸ì¬§g†¥H£¦må’õc“ß„Å’Ï+\Ο?ÜXT”t»äÕÔ‚ -ÅþL•äî"¹îÂ)9ý›êÆ#Ig -[´2n:T×òzk‰yº•fßrRëð•gÚ€¾uaH¥n•ëu{/‰ *ÅÚ¿îãª$ß$ë¨Ld¤úǹê!>3NƒNw§øý=œø为Sv4ƒÀ9°8ÈzhÖxË»ßÒóƒ‘LyáÏŽa=xÑd;£ªàr©²bËà©W漓Ìuþ Jé¨0ÿl†ù|hPzI’²ŸÀ%qׂûÍçp·>Êì.·¤¹ôÕ‡ù²¥‹‘‹&Ý2¼²âH¦‘LÇiXb°,qà=ÜœžhmÂý)²4ækáÒ°Úק„W²çºïÝ„[z0ÏÕ›£±¤e¦@wgHìßòÞ<éPå=Ò2Ôn7þ¥Xù+gõW}«?«SÏT“mº 4cê;t\%b‰gtV:ßæÞZ‘ÌÍÝ­¿=$"vM(#!RûØC²òD®i`ºïm~ïS®.¤Ñ‘ê’Þ¨žVñü‘úe«øû˜šü«=ÊûͲÔ3r$ùò3ßÑe:Û‚–"nXÜ ±î,½ÎŸØ™(‡wÐi»SÇYhÕ)ÂÆ”/pO/Zá_º†dT\`Xº$.ˆÙ*2°G}ôxwJÞ!½®iâ[:k‘wÇY‚VÑîáMB1+IÁóW+~Y -<þoÐZƽ7 ¬æ¬n^çé: ¾T`‰…ŽwA”so¿aTfÓç<ïǶÇ”È?^¨›ütTÀŸZfôÌ$Çìì=èü²µ…ÖûãùÞôº…JÉŽýËŸ^‡ëŸ5*Aö‘I¹ìÕ z{šÖª2ÈŸóÿí¤„q@™«Vãêû•ü¾Ùn Ô²)‘JlõRë‡u¬5÷”¬æø,þÃIZÿüP‘ä²Z?k=Gç+ÔÊæªà}™ò}a•8%OùNìOC -{ÛÎi”½xÇw;@ pŒ{'6×HSѶL[öX˜tÖ=î›'ä~ ®85]j #uÅœh¥+‰2Æ]”AÑ}ÓRÄ÷• -Óç…Î@5 c®7ßGi¿ô ~²XÑúq–ƒ¸M²þòWæqÿèøÀôÛ# ¦²ëþTHð Ö×å)u6÷>˜ÿ üOИ •ÀáTö)Ì?Õ{êï -endstream -endobj -448 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 717 0 R -/FirstChar 40 -/LastChar 49 -/Widths 718 0 R -/BaseFont /VRNCFP+CMR7 -/FontDescriptor 446 0 R ->> endobj -446 0 obj << -/Ascent 694 -/CapHeight 683 -/Descent -194 -/FontName /VRNCFP+CMR7 -/ItalicAngle 0 -/StemV 79 -/XHeight 431 -/FontBBox [-27 -250 1122 750] -/Flags 4 -/CharSet (/parenleft/parenright/one) -/FontFile 447 0 R ->> endobj -718 0 obj -[446 446 0 0 0 0 0 0 0 569 ] -endobj -717 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 40/parenleft/parenright 42/.notdef 49/one 50/.notdef] ->> endobj -444 0 obj << -/Length1 819 -/Length2 2278 -/Length3 532 -/Length 2866 -/Filter /FlateDecode ->> -stream -xÚíRi<”kNˆ”,‰,¬“ef0ödìû’-¢Œ™g4š…1kNö“-„,MeßBIÙ…F”%Y¢¤sP–DDvïTçü:oçãû~zïs?îëÿ¿îë¾~×ÿ–³¶•GbHî !‰H‘‡+À5= U€±…Á8$%õÈ Š‚#õQP€«««¦¾x@Q €©j ”?‡$ Gò - ã<.P=ÈW’*€$€dE,P” ¡Fá[R$œþzÂ8 ú€d?£À‡š¸ƒ8"ô«%"–¨~/c|½þjùd†)@æ›MÀ0‰!ñÄr@-IŒÛ@†—ÿ†­ŸÅ }ñxKá«ü× þÑFpø€? $‚—/$$ H&þLu¿{³18_ÂÏ] - -C#‰x‡++À”¿×q>†8*ˆ±ÆQÐ, -ï~«ƒDÌÏNñ}óµ´Ò·1sý>Øo=kŽH± ðØò7 ÿ‘qTà,Lƒ3ˆŒõ×Îõ§» ˆhGô*ŠLFpÀRŠpD H@*Ã0TH¢0ŽŒ`B,‰ÌñuªŒPÌ×ÚŸP€bÿ•¨Çg‰? "Rÿá4àügºº$j WD0ÜÁUá€*òo4´/™ )ßÞ#Ò¿0ǘRA4ÇÈ ­á™^UjÛW -ñ¹^ñ¬)²úº¦ÂÜMÞòƒ^;ð—%žHO\)wÚ¼Y9ƒE¼¬AwÙB#_òtpòAneÚ²- ç\Îí}B£·rrb߈Nz=]_÷kb­0Ÿ«Þœÿ¥xxh{9ôâ¥î·#20âSi®´zók ÃôxÒÓF¤\ÒHþ—Ì•Ã;#‚­cý_s^W¿B³`öSçUÌ×È®ÀUÙŒ¿8Õ’¦PFÔn~X.é©Z–¬ç´i @Õ°0µ"*Jƒ*©ýÌ~#\bÞÓ‹³Ä9ìfCžX=s¹“TâPÕà6}a4"¦Lñî~òlÌ Ë`'ÕÆ"ÔèâZú1d -š×Õ˜Ç"†8öz¬¨ r;¿wó,-@]sî.Q¨JDž²[°3±±I_<&"¢èWŶ²W}ï}0eyµj9 9Q¥v¢Ô¯u&TÔD^ºh†¦hÄOàäܧmé™eëÚù©é9ä1¯ªïàPtt~\ÊÚà¨}Õ5žZ› O”!òÑ—ÙÚÒ½˜ÄÎæ^ßÓ”£æ4ÑWidýPýÀ§O ×ÇÊ­?ÐséJ})NÓNSG×W|ªŠ¤vê½ZS(›˜U'‚ÒIJ½_¾cÄ ù« ýËK~»“‡ ‡îyÏ|x˲¥ì¯Æýjîcü¨åÛ×æëeb7 -³µòßÝšïÔr£À×û‹7#oL?°»¥Ü*òÅ-J«´õ -Ò/+ØÂ&ñ¥õÉÈú´Àjlý˜³—bFöÔJæE›¨¸ÈZIý´Ü|\ü÷JÓ€m%©ªÆaÞäzîî|]ŽÉÆ@l›k=üWHwÿg‰c ÷êô6õnïbãø´«\å¥?“u,\.p¢ÄçÊxîOSÈôoÈyaq(A— --l4c9t6!¸²ržÌégŽ_1æ¼ ð kOÈZ·º1H >~ûEÞôó=¿0’ÏslEd×”í1µmpiÂð÷}¬`äÔå–­úT¡ß{FG©ö& òŽ]U-¡&N°\?ÊpO« 䚇H\Ï›®C»]–<¿ j‚Îù”^’´]¸áëÕ62 KaU‰;\MìÒ9¿*„Dæ‹Ò« Ã>b^Î×h÷‰Õ9¾/:}±Üó@aðÇéÍÏhWSEƒ¸µP*ýZ¡.0•/õÈ»…†þ²?à<}å¸ -&FnË’uwq†ÖßÂÕÜØX;Ô-72Àù«å'~‡¹stMQÃ< ¡Wx+’êø”&¿Fksà zÙ:ÿîoÕ 6sÁu:rѺï¹¥,Ûé·'­ï¥6/·†{ò•óßqŽ.‡xðž[j9#0¼ÖõªõZ‹h¼DÕmÓ -G9¦®Rù,°Ûò5áYiÑÆ8/f®þtÖ¶y[‘R©É4þó‚ÉN¯Ÿ=–ÒH)ËK4:Ö6S%UÕ]~:©µµ¤Uºs(«#×-¾d8ÛdiƬƒß[v›vûÞa—“ÒOí³«ðdõ ¶¾£¼×‡}œ­ŒáÏL;!Ú„(– ågÇÄ5.Á‡™^ä´ÑW¼3˜£}I! ü©«jïu±¥ †lNL6-ŽîLí~€Ö‚½N±ª´÷ÖFz#xt¦ o_ /ïϼ™0S21Èòåµ(Ñû…y#5½?2mÏP‡þš ÚÅ'ºéR±Î–WïI$ÄÊX]mË6Öp–É{µ„û5™étÁ>Hk’g˜Vh›^]L“Fª|:dtÒÈYs9é~w£ÿý8_»tï§]k¥ÙÍT«ÏjÐä„ãHã:¸0Ÿ¥fd(©î„Ò©\aâk©›c=âÆËÕ1»ŽØ•Ó"ëÉùn–ü¹m‰l»x­ªaMx3»ýå;GØèevÏK­“þ±Ž~ÖÛ•¢°þ1¾ÿ4Õ[/ò½Ú žÙthgë¥ZYÇDžBsÊVàKèἤ"ÕÉþÊ'ZÂ`OåÖånúïƾ•®}˜$ó»õ£r¬·Í쑶[[nì){d µ²¢dÕ$Þzé±Û%<þ‡qö¤´~¸öNìËŠZf–´¢U\…ØÉ£æŸ4â}Å‚Cö†nú˜±¯¬ÖÉ6-c{ýïæ=W\¢eӚƸg®ñžTé‚qÎˆ— N&ˆ6¤÷õU)C­e‡³œ½Õçhu=ÕwÌÚ §gš5rì×Åƺ;EÏQ:dµ»Ý~ò•³9ã<}ÊVØú‹W¢² ´& ûå±6»TU›6Ó%*`ÿáÇñÿ 4D‘)$Š|‘ã_ÒðåÝ -endstream -endobj -445 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 719 0 R -/FirstChar 100 -/LastChar 121 -/Widths 720 0 R -/BaseFont /NODQKV+CMMI7 -/FontDescriptor 443 0 R ->> endobj -443 0 obj << -/Ascent 694 -/CapHeight 683 -/Descent -194 -/FontName /NODQKV+CMMI7 -/ItalicAngle -14.04 -/StemV 81 -/XHeight 431 -/FontBBox [0 -250 1171 750] -/Flags 4 -/CharSet (/d/f/g/n/x/y) -/FontFile 444 0 R ->> endobj -720 0 obj -[595 0 557 557 0 0 0 0 0 0 706 0 0 0 0 0 0 0 0 0 648 579 ] -endobj -719 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 100/d 101/.notdef 102/f/g 104/.notdef 110/n 111/.notdef 120/x/y 122/.notdef] ->> endobj -441 0 obj << -/Length1 754 -/Length2 1067 -/Length3 532 -/Length 1621 -/Filter /FlateDecode ->> -stream -xÚíRiTg…* -ã†"z‘°@&YZh$l!¤P”Z“ MfB2Á "ÈbeQ±Dªh‹BàV¨REE*Š J¡*®•Í·XÛSüÙþêéÌŸyïÞï¾;÷{vÖü'–ˆXŽrœt‚a/àÊŽ†év¦Ó!;;?Šû#$ê`OOVIÃ0`/ËéÙ?Bž Àb%$ ù9Œ’ÜK†*0!‚ƒP„” 2JCˆHA!ÄP2Á°¤R>zB ÂQ%ªˆGEÎ &$Ár4Ã!—QKA¸˜îoÚ"•ü-*””)@ué("—&*†\x5 ¥¬ü®Æ‹sTR)‘ÊåôŽÈ0i B&W‘¨„"T§F¡oÌ…¢"L%‘ˆ²ðX) -èoZ˜’ƒ©Q#… F¤Jt¬â¢ñ&¨äÆ,¸,  XøÇŽ|ÃÉÏäÊŽ²Çjø¯šÊG©A ʦˆÔûökɸal\Hˆ0<0ÜD¡@ j{¨Ê $ÂÃE¨ jʱ‹3NÔ@…²ˆ 4z£tà¢TÉdc[F¢jr†Þý__BèÄ`'†ç"jÓ ÜÝkþƪ -'ÇÖ…Šåm-ƨQT -¡_.ÂÓWÊ(Of—´W8êûÆÖæójŽ^üiJZç&}iikHœcwuôHe‘Éô>ƒ>«U/,”ê“>mãô§Æåk:^õÅ/ë+Zý£EôPQhÂM¹Í“´{3Žºôð¾›~Ø…îŸË »Oì8yï[>Íÿ³[“»¬õšbâ6}“¾È=šS$]œ¹¾ÚÞÕ:ÜXWžÅÌÔ­2.ØÛ¼¢dk[?Ô3ÛÒU€=gi‚ -·=ÓR±Ä.\¤æ^„|ÖmÍÊ}~l¤»r¸ùóÚ^¯ø>ëäGÙÏiÒb%!K§M»ý€wmgp÷„L‰Ñ‚ÎŽZŸ^U -»0éû*å%»ÛL\Rg7oBÆ®[ôZ½QËô¯ÏWfÌÛ, s5ã,y Ìí‹;¬†iLŽÈëÙ`ÎÙØ93¯º,ñ)K¾Å¼ÐpÙö™²/}JNÕü>²ëBÏ7µx„å¯H¬h{È:íý®´ðFDg1ÂœæeòØ´ßÔ¬ñ¾ž*ól i¼Ô:Ô/§Ó[˜Þ‰é]½‹œª{Rw£š®gú”ÚoÞ]·Y ^çÈMòŒ¶oàŽ|¡Ó;-§­ÍMë‚w©Vû‹UcÖ+ÏÛbg)5ÜsV1Ó´¥‡ª>ÌÚ7¸ÞÙž`y˃ßl•oÑV,£_ß‘WpFÿ“3AÄ“©aüƒF½FDu Æt¬Úþ4¢ù§?íî;O4“TÉö’®–SÅI¦¥“òó~‹/ô¨™lÃ]Y;ó)a—ûs%×"U>ô¤s>LãؽPØb‡¹GÞ S:NmÞ'l\xØÙïÄÀ«ø_6,:fmöbÕ¬äÞl_Ÿç‰qëËŽ,˜½‡my²šþèÿ„€PŠ" -’!Š•Ðï gL -endstream -endobj -442 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 721 0 R -/FirstChar 80 -/LastChar 80 -/Widths 722 0 R -/BaseFont /UGHGKG+CMEX10 -/FontDescriptor 440 0 R ->> endobj -440 0 obj << -/Ascent 40 -/CapHeight 0 -/Descent -600 -/FontName /UGHGKG+CMEX10 -/ItalicAngle 0 -/StemV 47 -/XHeight 431 -/FontBBox [-24 -2960 1454 772] -/Flags 4 -/CharSet (/summationtext) -/FontFile 441 0 R ->> endobj -722 0 obj -[1056 ] -endobj -721 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 80/summationtext 81/.notdef] ->> endobj -429 0 obj << -/Length1 975 -/Length2 2328 -/Length3 532 -/Length 2994 -/Filter /FlateDecode ->> -stream -xÚí“i">Lá›ÁÜ8“Vv†°rĉºrä`Û†½ŸBzéÙ¡}Çy2ËÃVtu5ú!ï\Ëì"ñQU“·ø3¬±¦«eƲÑÛc̤¦VZy®h5ÌÓ¦'…°(Ñ›2ê>Î"I²”¡¹ÒfK·y¦—asAÎMUu“[YŽ}&XDÝ=ëúµŒq^ýtîiæG;£íNâJù•/jïÛ^ÐÉã«Åæ ¶=Í~±XÛp,a«Ú–C>;p!ä'ÁûZI»¬™Ú£©ügžÒñ ó®;ÂÁ"ú/Öh| C§ÅÌà*ÿÄWþÙµ¨tj^B{ä±^9úñ.…æ-Rå8·¹å5î§ðZÜ9oÑ‘”k³8©@è#Å´Ì ž0á>ÏÿŠ»ÍÔvÃÝ#—£ÚͲ” ÃVJì>úÙï C+à1ß“×S]ó¢ k¹T¨(«94åÄ›þñ¹C²QÞ§—×Ä¿ H¼–î›­k¦¾§ö\¤IeÉå0»çt5‡äºï3ÐDË”gÓ'åæ -¾LóÈãß²OF¦u” 5¨ -.ÉTSH9ÁžWÖQÒj"ùÚopŽD«^¸’ì»|íàS§Á²þVØ˾×=·\šW•݃J[lÎM3˜÷ð!X§ô Ê‰Êc¨Ä?-Íê½³‡“8¦O>¹…ºGQszÖçKc´‡Xí --O³#»YKEï@þ õÜ4,ˆqÑAjFîE¡xmZª“¹‹æN”¯~`f!B™ÿ]†ßˆÜïဤN¡“áôˆØ®ˆ7¢”Úè†gÚeî»äªâ)6fèoÓ!%Z ߶›k[HfËï8Ý4¾IrOEM©}‡¢•D¼”óèeÒ”"toy­º-¥I¶\·Î^&ØÚþ}Q´9E/Ð{NžíÍ ûQùŸ)‡Sô—•?eyΖ /îS%¸¯%o’I¥•7g¯ÑÐŒFÛ ÜØÑÍÄá‰#tÓªóÃGw–G<Ö—ïm)?[V0w]W$V!]z_=Y»à#9ufä“=÷ã°L©G5w#ußÑükÙé7R#–F.ĽÐ(–yþ$]Û›gjNøŽçýnøÌÇB=tò`ç¦aÿˆmsÚš#Vœè9q"™ý”8»ÉÅ`l`ä ‘ý¹ª°½¾Nøíö-‡W”-ŠB¶§<Öâعv¼6Ÿªlw¾ÕÀ…Ï£¼¡8ا‹"(ßÞÀÁmU­˜ä§ôˆÃÎ:4!C(#Å™9¹O²§'äçƾ |%dïT6RÏ9ôÚo‘Ûü­ÌÚTêutûL©¯l˞ťplh?ÿ…âÓµŸ˜Ú¹¡Ù•¶¹F(ºšÞzLLJR ;ºÊ«¾åÒªC×ÈäLþ© ÙÛhp²™nb–Ò³Õ² nÊGî|ã©é ’\¢Ûñ‹•xåÃóÑ'Ev8>O Û7Ž™¥¾ ÷gP+våqƪpag:òÜž9Ü=í˜ Wt=—ƒK>xV÷à™ú#ùаRózÔE¾àöÝ%@Vö<âýRåô»sÂ÷ì£=KŸ6ªÓÿØv -nZS¯:oa/§¥5÷[Y,Ü‘¬w¦)ÕG¦Ý4Ÿª@òõßÖ~|TRg^ }™Y“CÐHLwÓsÁ§‰_Ê‹4xãtQæî<6ë1%Äo#½iÊÏD”fÐqÎ@A»Êœ™YÛÍ{À8}Hm“×RNŽÚ:¬ŸTæÕɾûxÔ0|ÿð?G1ˆì¡xñý Š6< -endstream -endobj -430 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 723 0 R -/FirstChar 19 -/LastChar 116 -/Widths 724 0 R -/BaseFont /DGALMJ+t1xtt -/FontDescriptor 428 0 R ->> endobj -428 0 obj << -/Ascent 676 -/CapHeight 618 -/Descent -167 -/FontName /DGALMJ+t1xtt -/ItalicAngle 0 -/StemV 84 -/XHeight 461 -/FontBBox [-5 -183 1501 822] -/Flags 4 -/CharSet (/guillemotleft/guillemotright/colon/a/b/c/e/f/i/m/n/o/r/s/t) -/FontFile 429 0 R ->> endobj -724 0 obj -[525 525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 525 525 0 525 525 0 0 525 0 0 0 525 525 525 0 0 525 525 525 ] -endobj -723 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 19/guillemotleft/guillemotright 21/.notdef 58/colon 59/.notdef 97/a/b/c 100/.notdef 101/e/f 103/.notdef 105/i 106/.notdef 109/m/n/o 112/.notdef 114/r/s/t 117/.notdef] ->> endobj -413 0 obj << -/Length1 1644 -/Length2 6435 -/Length3 532 -/Length 7305 -/Filter /FlateDecode ->> -stream -xÚíte\Ôí¶6¥”4 -8Ò´„¤CJ#1Ì 0À„3"Ò%%HHK‡t7JŠÒ-%-žÑçÝ{ŸßsÞóåœýéý½óeþ÷ºîu­¸Ö½€œ…T ({˜ -‰•èÁönX#B% 2‚9ºðv) - P ãà(ä}0&0ƒA÷a€¸8@LVV–PC¡=1pG'àŽ‰‘Ÿ€€à¿,¿¯ì=ÿà=±pG$€ÿásE¡0$Oñ?v|ƒpN0€ÜPÓ7°ÐÖÓÜÑÔ3hÂ0 Ø`àfï -‡@p ‰…ñP€ë_…„—†Æs©`` ƒÀñn0 ý a‹ÅàX€#ŒÄá{€CàHˆ«ôwx»êOBh -Çðd(, ÁÀÑ8>ªÁ}¿òÄ9q¿ccáx€rÀß„¢ n¿Kúƒáið( Gb8˜îw,{ -Ç¢]ÁžøØx24þ' 7,éø¯ ˜#u…a±x<÷ïîü«NÀªŒF»zþñFý¹õÏà8,ÌÕA˜BL‚ÃÇv„#)D~ÏŠ6ÒýËuCÿs‡aþ4èÎï™áÃ'†¢®ž(ÌBD…ÇÜùŸ©,üïùß ñ¿Eà‹¼ÿ;qÿ®ÑzÄÿÛ÷üwj 7WW=0?í~É€‘üž€¿+ó_|À¸«ççõ÷Ûf°¿ÒýoÈ´q`|[TŽxi„d…%eDeÿàX ¸ jÇAœ`W|ßþØMPÆŽ„áõýÓZ€˜¨èß0c'8Äù[©¿ ú÷*ð’ý©AäÞµúÿuÉ -=tÅ›­˜ôÝ¿\ ðc3öDÃÿ'ž™. -úÏÃoBUU”੘´ @H\F ÿñ©ÉŠK>û¿ÿC$ö¯³.‡{¬D…EEÅð¤¿ÿEÇþ§`ý7u$ý=Hq`$?{ÿ4ü†!n ^ò?ë_ÿ?Î^ æƒPLŽ¡ òÎI)¯qeÌéÝý÷­Ú[ň»Ñy•ÆÙ™¾%¨–çIÁ ²…vç¥Âïå.ëT<ÖâøH‘9*ö´÷^ëâ—iÂá´Ï.§O\Þ@Z¡mÞ‰oeä'»ˆº›1ka?ךœ"i+g’{¼ç¾ièönypsX(òlyÙÁÁ†™%ãÒëi„M}sp³ôØ­ÛÍvf yÆ& Ö‡üÔ µº”ƒµ1TÔy8Ãñ·¿¼RmOŠÔd=÷ØRÂ%2Iµªo—‰‘”«Ú’;Z™¼É$àøF%€}ÓzAËÕ¢ëG+Gˆ°E^»]íBõÈ›öôÞØ‹œµÑ‰ÈQ©õ ׂdßÙÑd.Œõt>0Q*ºŽµñDãt5cͬž©Ášù` ÂiS“ ›ß«Ó*–“þ‰G%/&{hÕÌÖty¾Éšõ¨‡¼P»KléFè+«yL‰^q–SÙ> H½ã j¦1P³¤¦ŸùP¯¢Ó€8+áB™Íå¬cêÉd²z>lºè\¡ÊÈákúÕM×agªÿÉ‹¨-Ø®Ô%h÷Ë×6 “k² ^|Ï­Þdëõ®–•"ß¡&I#؈šÍÔª÷¹¡Uk¤—ÖØ‹¢é˜[7×BXÇå¬Ißö—c—¨Ý(úȉ²)”èbÀIMð½Ld°\ˆÊ‚y=Í‹°’WE‰»`=2;`Ù¼ JºØûNÏŒ»w„ö¾Œ¤ø: XôÅ÷ed®MiÐ2O€qh²]½‰eöÎDpÇ 1öçc¤ÛùFÂzÑ€ò~aœˆÑi­µ‡¯e|m+ÛK¡¹²Jóx/˜ˆâN.®Š¼˜|¥ôþÐÙíj=ê„ôdRµ=ïócÒW[+GÊr -fWNº+öÇ~ÜèæÕnzc|4 ¾¦þ²–Lå©ñ*qéTsU ‰%¢o&^Ê›ªþžÔnë…afCïÈh#j”žÉÆùÉ-2̧(½gECLÀ¦DÓW¾% SHY²‹DLö½*Ýœ9" <ÊAÎH‹˜‰r3§$žd@&SÔo^8 ý£“ÙýÍx|~ªKø|±¹9:‚a™±[D7Pö®>yaƪ¿w”12;¼EyÈz)³Bÿap¡­›ˆu|ø²Äçú(\ä§?­•ƒârÎ'y}&{=Z¼rîlo$jd|[ÖE¸œz¡9}IWåΨdD_ýîºtºbLˆŠÂôœ WÿŒTóó!Knk‹{¦g¤z±+ñOä‹<Å ) ©¾¨V^oI3#J3K-,k‡)Ž‚Ãî—ïñåçsŒ€#éYo¨ô€J>¶1Ç_¤}.g‹ «Œ¸žÕJZåEFÒSE§QdÑ8¾Üvð^?^cÝ'yÙå·r¬‘ý´HÁ¹´ec»Ü½8&ˆº½ä dh/i½õlÍ¢»ñµGˆòéVŸóIѽg2ûJ xÛúîÁžG–‡úX³8ý3Õ _±1'x`›þ"^#Iö¶+x¹¾R”í]M¼=JË™V(žæµêö¸ÏU˜ò9Y±˜¾´á°ÖVù)¹õý©Ç=›×#G‚Qß/@ˆ_ z¤QvÄâ¾ÎÜ5è\VÙ¦¸}—è¦>$jã 2e¶³Z…qè¨j"9F¦jØXD²]bÂÖìÄrk‹<°Ù¶á¥éDäê뱜k!ÕäH'öÆX± k|*TÆ—RÖF+¿Ì|u?CШ éGØ!3†ØÜnùêIbÅûŽD •Ýé]€„Ï9gtvb=«£ïTrååó9tß‘Í7óréÊ¥4 BÿéçañLɃpÊC¶¼kv’¬Íuœµ7NïæZ“ ìk¿%2 ¨8ÏÂ5ÀÿŧØvi4‘óÌÓNÖE¿€!G´›¹ʘ(¢Ë„2“xû¿¤,|•¦Å,øüêS&rÆ{8F'©·g4­Ï½BŸêž}hî+¶S¾HñÕ«¼]ËmÙqÓ_cU>¨‰§!ÜäToÂ8~¦Ó³<òÿIÙÄÛŸŒ¬rw¾Ÿ·±<šàÓE{߬š1ÌtæÖoœðá+È2.lΤW#ÓZú”€°Løhwdû‹(›ÇDsçߎs9=¥å²ýéI¢àGÃ’#r±ëw=T³)défPÈŸr"~d*2!½ü8€^U[ÏHŒ¨7 Daa]ÏûK.fl÷ÇcÔl€&ûçlÄ~U>AÛñ~7FLç/ÌÉiò˜qhÑ,4xfÎÜÃÌ|ä²ÈRñúÆM¸=‰k·ZºÁç2yœ|ý\l®O¬6üécÓ‘• AÜn/µXå›…UqÀfC¹SÉÙsõ^á1KŒS—$ÔwF~œºšwØå½u^øT™ Øœ/ÊDúøM~ÆÛ#÷ʶÔvh<æ2½Á¡þiÒî¡fèþŽÏÌý(7âòÁÞlêD9§^ÊàìÐjÇ%ü¹3G%¬ÖÎ%öd{!}ÔßAññ5_•O+L¤ _) œŽñŽ½ÇªÓÝUðôõqÏCóµæקcÞË)¦÷æˆ -Ƶ2#Wƒ®~¯|HoàJ´Wüöó¡Ëg -ïÌ}O^gVÁI]Ú*b•à\ÁÕ¤cnzÊÆò—‡ûÚ/¾`>–¸k©zæoœöLçVÕ¾q°‘Œa¾=öJ]Ì”ÿúi}]õÛlÖ ù"r">²ä×Å~'Ü#ªË©ò¿#úQ‡Øç|…Ü:ì/Y]æ |òŸ"!s¦æ÷ Ô¹v´w_¢¦¥cì™*Gc󘜜² ƒlcj}Á7³H¬sêŸÎ\x¬ÏD‹óJ“Q»ˆl{‚ÝÎFáT³L1­|Êî®_©¶z½ÂÄä&ý_¹_o_s˜@Œk†.É+µÌ§Q¨Í¸”î»,léK“ÕßÒ-ŠJJY—›‰ónmENŸIvæËÕ›Q{}äSˆÎëG’+<ÐY3¶LZéÝ"ô¾8R£ýrŒeŸ {^Á¶á£X¯5¦Å¹)´1ñNGjûQ—ÒR”ß5mЗÒD‘œ×Ÿ}ÝT'U‰”é­ÔBç¨Ò×"eúó4¯VctNHöµiº&3šé,c(ebõ0"Jgûƒ£B0Áí¼Ö4;/ZËx½ÚJ͘pm@#?·¿Ø,ÿ‘O`IW•Uì¤XòK»Š®ÈÔ8ÒJuÒ±ž&»“¡ûn_ºÂxß°wV8Hyh­:çt{Ï©zÝâPÌß骒»Ê¯ãqûŒke~Àö¤…sGÌy;Ãû£ŠžR˜¹ñ}AÛºšö—_ÒN8Wu7öÿª|bXh›jëãôèþQi[+ke´Žó 3é«ŽŒ¡ð©ÛÍã]kÏj©$YZ‰«'b%Hþ,‡„æ9Æ63^„Dq`óy*g¥ø ¶î´"ƒi÷ú-¢ùòÂå¶ûíLw‚ñµï"ü—ÈÂzCÁ©ócu){Q¼3ñÄÍŠÀ6ˆ1жé­ÔcðՠĹ¾n_ÿÙþ{!¡à=‘Êk÷éb"Cxîšö¾»ÂçÛk§()Õ‰n»¼¹a­gÛrPlPS40úS;PG‚?-7©-Ïg&|áf‘S¹HM¨Œ=Ùb‡ Í°6&U„ø§iZìqÇÆe/’û´ØøÆ›ü›íÂåóÊdÙv«Ë\ÉXS;K‹*!6é«O¦RGnlìË.®Èæ9a¤ÜäɃ¾ò;zÎ4( 0¼ÑÚe Î}‚šÂHõØA0KøÕšª·é~ö+ê¼8,Ñý*WLª€±Ö);ãYïù ž&ׂ9ÐÛ6,]!Þ9éRF¶®!^¯%ž ×n©¯ðd]jÂY“0yD•~‚U^—«$«ÏF¥ç¨\ìz¿{M5@Ú(SšºÐ½ÚKÉÝÇ—¼2uû^³°¸¤°v¬\®‘{ h£D„dqˆK9Hß {]Í ì_†p¬½­Z -C»œNÙSÛVÆ´Yß«µ£„póùmògÏ€—[L…F\ÞFmy”âßbž°m>—YáÕx1§EÃ,å¤XÜŒ>5u£í¹H8΃l©±¦tOmQ×Y}j]Ùª/,"áLCÌŠ³æ*-„SÕ~¬0s„×Ý*¨¶øÞ[jb…ÞÒÌ°ÕþÈ[ÈZ—*€ R¢O˜ïMjuÔj¤Â Ÿ€Õ#‚EŒ"8ŠaK¼åÛ²vŽ8¯î!†I”¢ó—:¦"3Í¢ .¶* ïFŒoÄ¥™ -9h&ÝK_¤ æ=¾ÒêK؆%Lö.×­[YAø]µ›²ÞtbCm×>YW8WÀfÝÈ5+ŽÛDZBžç ü"õ^áÈs9F‘Ð¥û¼û䧣Rù/º¸ÂÑ”ž!´+P½b–—Âå^¯–M‚h'çÅ:ùí[È]ü\öDõïj¸½eÞœíI%' mL¢»7Wç’­êD{ÒħâãívÄÊfÍžäBƒÊÑ6òNÅèI½`Ó-€ÊJ0øi©†w?ž½n·Æq«ƒá ¢ãñóÊÄæ6+äÐ ù,rR1NðØNË2t:¢ôú°Œ.ä-òVÁ%Xy ÅÄZv>Í-ê5¸¦Ê5B¹½.ékÙ(?+û¼” œÓÿh°É›C 8´ a¢P14õéºÎHàùû>ËQŠ¢ÜÀcrý~ø:¨ò–û[‘Ô_š¼´_ý݇aõuVfŸD2m°Ù¶%l®¢'ÊTJ‡¯TV; -Ò¯t:~·œØؤ€$2 ë}‚g§*s -~6^‰{"í|—Ô`\q]ÅŸ…ºÉž\›Úi¶‹åhî›:cÁ|?krþÎ k@YeMÞêbiœ4éÑøkUë t·|áE6Î š—r¦»íõ?Õ>38Ýk(&2ž¿|BûäÆŒˆ§ãÕ»­[Yò,‘Ò»¤¥êtEJ©êÐúÃCH–€e:MÁ(•õ‚% /õpyÊì„{¿î§|—³õúOmº/ª¤Ú&ïPª-;^ ~M%¼™Ö§@<ôgSO‘k‘Âû®f·0žÐ?èúýˆíxNÍÊ,%¤ú‡‚¦”õÆìGzEx[U‘:¥‹"¨ý`ùIÝœs‚W@ŸÇŸIŽ¬s8>ÚƒÚ¥£s Õ¨Îê¯Ëdý `£ÿÙ¡Ë&‹öاªŒëÞ̵ãži”æ¢NmjíÜì0TÔ Ã*XR48 îÕká ½Ø3Õ\·[ •Ú:ÏÒ=M¦ŽæÍcJ ¢‚R½Ž–wYC.îúÄ«~×c_ fáØŽPL¬zZš$Ñ7ڔȓrh¡$:Dä³îråaµ„o¡Â9“{Üâ¹ý/2‚„ -uíì»)^Ë2¦HÉBPëád3â -1‚ÍÕXVª¬Dý.¿¼ä­}Ôµ¢žEÿáŠGÀ2(VþÜ+E;ˆJiîóGJ¾«Ÿ‘S¯³8&;ß¾Øñ`¡r˜ô^¯Y ¬Ö˜Íß -Ž˜…u‘³¿ÞÙèUwcݬþÚ‘œÊ©?=‘}(þ É®A²³ ¬—§0 ;¾­ÙG{úŠ$ìtƒy]E4ɲI+J9¥ ’‰ÝŒIUKûÖ›³[¬§<ìª{êMªúÍ;€#ƒçYòKý㧟wõÒiÖ£¾¨³íÝTò¤Rò-¡Î(qÁÈ_†6T”WöBË…[í._L§% ¾óŠšŠŒ¤;ˆ³æT;ÒN±2‡&=:©È/¬ÐI’m‹' Z˜vÿˆÈò—üXÓÔòë Úýn Ìk”¿lêZÉh•¯¼Žu9³3’‘ÜŠþÈÚÚôH@1„K÷PrÝ…dŠû_Äwþ6XÚ^-i‹9æý nF3Up‘ô!‹„x]±,xY8ìκaŠÐðL8L»¥h1\®a(˜1¿wp1 : {9€E§Ñ€ë`l_VVfò“ªæZ5i´ççÀÄ{Ÿ?) ´ZÙ?W²û6w‹Å@$l‹+au÷½Ö˱}ãh -žü—ùiP^¯ä .Ù&E¥e_1Î`­Ò´²èðmÃúac ýHþõŠm®W¥›l{ KwÕ@mCmËãCÉëµë—:ù4FÓ¡SÀ×2Ÿðí&¿ú• ±JTê:±¦Õ îôè¯3Ž´<ô¬9•ïžÿ%Ú$Mà 4­ 2à¯bÊJ™FÄà"ÑÁÅ:$(8vC~„ÒSàbc˜&w8é„X×bqÂyõ=ñæ·‚ë¬ëÀ‰G:›¦6¼Ø tæKì;›ËOy§ ‡¾/!D÷¬Îšï´Ë²ñÊç½ôJºïåˆf9*Ö­~õ“(Áµ+?¡ 4ýñÆÙ»ë:øÃkÕÆ‚Æo_+ê®ÏäŒRl{úm'1о1À˜~*aÑ/9¾mü(˜÷Àº4ïš ur’­¿gTîÌ5TgG r÷ó+\Fܨf³/^»úÃûþ‹bªèDÒd÷þ‡hM- 9A;¡ø\»´ŒKÙ;êÈ7Ãôå®.§]%/|ÁÙ=ð¢/¨KÂ)uwÆÒáRbf•Îr¹wÂLʃwH¥Zé݆š÷³|àÊeÝÇ´î,Šžº„#WøØ-RÏ Ö,õÂ߶„?·7J,)þ1ú)·âPŠùÄ­#Ñt½1òë¡0åôf“ØTnú'Èžé[ˆ¦‘Èü"lâ)yÏA¨Š•üq­¾ÔB•M²»^‡FC4¯‚¯üø¤G4ÃÇi¥··)ú¿üQü‚ÿ' ®00‡B€1.ÿ³%w -endstream -endobj -414 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 700 0 R -/FirstChar 65 -/LastChar 118 -/Widths 725 0 R -/BaseFont /KNKCKO+NimbusRomNo9L-Regu-Slant_167 -/FontDescriptor 412 0 R ->> endobj -412 0 obj << -/Ascent 678 -/CapHeight 651 -/Descent -216 -/FontName /KNKCKO+NimbusRomNo9L-Regu-Slant_167 -/ItalicAngle -9 -/StemV 85 -/XHeight 450 -/FontBBox [-168 -281 1000 924] -/Flags 4 -/CharSet (/A/C/O/a/b/c/e/l/r/s/t/v) -/FontFile 413 0 R ->> endobj -725 0 obj -[722 0 667 0 0 0 0 0 0 0 0 0 0 0 722 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 444 500 444 0 444 0 0 0 0 0 0 278 0 0 0 0 0 333 389 278 0 500 ] -endobj -396 0 obj << -/Length1 2246 -/Length2 14675 -/Length3 532 -/Length 15903 -/Filter /FlateDecode ->> -stream -xÚí·UX\Ͷ° <@pmÜÝ îÁ]‚Ó4îînÁ!¸kpww‡àÜÝÀßßÚ{¯díÿòœ«óà‚wÌš5ÞQ£jÎnrbez!#C¸µ#=33@DVE…™ ÀÌÀÄ$ ON.b2p4³±5pñ˜¹¹YB¶ö3 øž bcëfofbê ¡þg'@È -do4°È8š‚¬Às ,Ê6@3£@ÈÒ ôÏ%ÈÞdÄÏÌ 02: A&fÖðŒÿ8}±6¶pþWØÈÉö.9ƒìÀRªiRÀ’F6Ö–n#1<£œ 8ìòÿ†Öÿž\ÜÉÒRÎÀêŸéÿµRÿ×u+3K·ÿaceëä²ÈÚì­ÿ÷PuÐÉÉ‚ŒÌœ¬þ÷Õ/Ž–f@!kK€é¿Bfâf® #3G )ÀÑÞ ô¯0ÈÚè;€Wî_ŒjjBj_hÿ»©ÿº¨``fí¨âfûïYÿý/fþÃàå±7sh1×—<üû?ÿéü¯dbÖ@#3k ;ÀÀÞÞÀ ¼}ÀÄð`˜Y\ W°0#ƒµ#øxM¼Æ6öðÿt”• Àhçdã22´üçÊÙŒÖNV†ÿ´ÙÄúO˜Àhdcii`ÿ'Ä `´ÙAÖŽb\F+pÔÁ¼4ÿŽrÿw¢ÿÚÿfcO``²¶ÿeþïèÿÌžÙáŸ),þYÁc-þÀ%m¬¬ þDÀõ˜ºÙš‚þÔÂÆñ/q3›?†làZ, LÿDÀ•¸ƒìmþÀEØXƒþÍì`{G—?×ÙÁÞŽ¦ö ¿F€•mœþ¬;X×ØÌù¯`]p³ÿÍ`Yó_®àÆ2‚þc!ØÁªÖf‹pýS³¥Í_7qÿ3•ÙF9À– ‡?‹Å6Ù9üi>ØØäŸÇè4ë?Í9üó(ú‹üqâ{ ý!°³ðûŠü!°¬è‹Šý›8Á‚âl'ñ‡Àf’ìôåe¤þ8»Ìg—ýCàìrœ]þßÄήð‡Àù”þ8ŸòçSùCàÚUÿ8»ÚgWÿCàìœ]óßÄ Îþõk7´7Z€ÿãl€_Œ†àðnUnÖþÏ3ÃýO—€ff@3{ “ÕŸ8XÙ üt°wÚØÿÙHÜÿ}Lÿ3'¸†?lj\ƒá×ü713‹0ú ÿÙ_á?Çá/[›ü…`WÓ¿¬hö‚ÕÌÿB°“Å_–²ü ÁVŠe?}­ÿB°•Í_¶²ý ÿÙí!ØÊþ/üç|þ…`+Ç¿låô‚­œÿB°•Ëd[¹þ…`+·¿låþþw‡ÿ³3Ì,ìÿþ϶3ƒ?"üWßÍ,þ«ÿ÷[JXØÆÕƒž @Ï~äs²2ƒ“× :كÎÿú~Óý›_‹ +¿4oühžÔ\ì-–7YM)lÒ#WÛ5ÓŽ° iùcDÚŽf­Fã©4õòô‘Ë žCX›§â¸ø¹Ÿ]LòÜëž³þ^ª{3žÆUª¬Û®-É}ÀñÇÖ†Ù›vHùéµÑâxÍüþŒ‹ã*Q•ý¿ˆ!ºµœëºÓ985ÄS-UC‚j(X‰•P’íŠCÙBV]Pâã V'¼ÍC`›hW.mڜОò`³¿¿êA<aÂýY„3'ÌùBRéq¸VµEMW#tpµ?:É Ó*ºS*Âg[¬—Zï—;'7•[ª»Ý f_¶à iÆqöe¨>Lr;¨Ÿ~(GR‚:æk,“E±px_ ÄÄR(vƒ/& -¢ øšŸDYT‡êþF ý3€°¥!+q²ÃÌ¿Ñ0Ê»ÑCW¶*öýJ´[îù«§TiÜ>d›°ú+Z%ëMçQ,ìêDºìü‰mn_÷Î5UÎ1ù;ù3!f—7Õ{Æ‘°…—Б9bà*R9¡à}É!ìæ=WÖ ñYŠ[¦Yq¼Cr… œ \jÉ´Ó’5F=üóg”é²Èî€ô½.ÄÂv±MŠk§-Û,¢Hì®[¯üã ©Û(j¡VG1îÖG6^#@!í$Ðêe á ©gÎÊøª†ŒKŒŠdôè‚ÿð¨ˆ;šÒºk‰Æ§ÙµÛz…QÊë¹Àf¾2Øö˜Cr-zä¹äeڛ͌«Îñ³´$¼ «Œœ*ÀLçKû7¢Òó³TøíÓ º°Q’L CÖ”a¾ý%v©åewtÃnÔY©9þ<-õÝÉúIlÀ ÉJÔËÜ 2Æc “|‘7ÃF[×æBÇÚœ>¬wØ db¾ƒ%H:8ŽD¯6úäðc”bÒ°I#Ò1éÆö !J§Òºn›ÁúÎòºÁ™OYÎAW·ï¼‡¾º(…Ô"ÌÖädÕÑö'Y%q•smi Uèì`ˆÞÇ0MP-6|VM,®£eÝ_"‰—â²c ˜1 -“ºÔÏ«ºæLËç¤ÝÚ?úRÒâTqÖ¿º¹Øi*ÉËGL‰æ[ÚL 2æ—èËÂPj¿IïŒ0´lo}¾jiù H:ÑÁÀòǵoAöÑÐ)E„és¡Qþì¸Eêb[^êΪñªMi¯Ø(k€¸4<#ð<¼IèéîHðöuÍ÷n¬|‰8ŽH›ê—4WXÎAô2 F'Uݾ"˜VÙò„è¶C¨ž¹t?üÉ‚Ä¡¨txŒ¤ËåxÕvZD<-0Ñ‹ m¶<]Þá»›(7Yznéа<ƒL§`°íè³Ë±Y03Iuõ þövõquÐåW çIíÉ÷Zvèu‰PÙ•©_‚ÉëP¹©wO<Û¢úHð¥ÊµþH ' yMøŠ•t…y©›’_a}¦œèï¢Uëie %ߤ)ܵ­³”+çðHsxî*d7T&e‚Á -OµèŽñk¨OÛ·Ù{úíÞÃý&ïŽ ·b?‘Xe¤ÏÞc*e|¨nRç¦ÂÌ_‘¦Ý‰{+ò»ÇÇ7·¼ê“G‘¢_MíG™îÈžó=L‰µß“&ߨÞ$% -ør„öm:\œ¥oxƒˆ¬íáq‰>hÚÏXk«b2lYüäñ“~­¦—Ñ›œxMÁæW?‘G›xÞ¦&¹§„vèe² `¸ô/Ÿ,Aï[4NÅêÊ’ÁTæ$<"ÊþâvÉQªú²Õz²p°4üq‘=3.C^Èœ´]#»î-¤*áx¡T[èóÉfÞº¦ŸvÖra…)6¿1Lß­šN ¢1_´j °D&ìw‹Æ×}#{¸½¹>d¸(Ù2éÿR6ü¦R_E*3ÆëÈ=@Ó&õé/4©´“ø¢ßh8ú…ãÅžì;£³µµ}Ïq½¦òúVeÏöoÖì‹ßo°ÖY ‰ûdä‰AM.$ì,ÆÎäÛvÓÖ2PH>/3¬ß×a,^ ?%~À9ö¬ƒ;óÕ†-›î¾?Mß–ù’Ï‹'þ ¤8ðZ€o±õÿŘ¡'xÔI5¯ŽAÃ…Áÿu &>Ì;yï[Ævý®œ›.J˜bbäÈ?Ï#ªµ rËDW°ûö\*šïððNRõE?à™ý¸Õ|·Cã'“(ÉõÜBã~ê$qjæE1ô.ýs–L;S×/òñí7ÿIuÂ7÷#ëhDšåÃâ»öf™ÂI]Ÿ¾»'º˜üIàN) -9³W(ö7h¦ÂØ»ÓZVò੉ŽÁ4¿ºÆõ?­h‚½å;w>e'%u½ŽS7ÖB/[ܤޡ:"¦Lj òLåLDÙβWà6QºBŸ:¯vËÞåˆóîü)Í ‰Ï«”„BU(á€Â.½@|ïÃOÖž‡äõ‘T¢AlíÔ¶=]Þ"ó`qÛŠ½ôc<™, #\™—³žOÅÅnIáŽGþíæ·C“ŸóäË¿„9¢=Œ¹„žèÏ+>´ *›qî{càP:c~æëŸ:ßCÍl&°:.#i¬òGœÇCT£ò`“3<ä»û: Sý@¼ÉsrÅ ãLË}†ìG™s½/k`cÐ<£50D -­‘lyýûSëËw'Îc1¢\äòÁ’ÑÏä÷MÚØßMÎ7‡0.ëñ§SÇÉæHUdu=$ÐËcÆIÞKE)qµfq†ñLs1–åœÎæ¦ß »30) ôz –Õ®Çæ½/F´½´ú..•U©á쎽¨…#t/„ÒÙ¢ÓjKô¬àA'r_ƪ0ÙXƒ–J3†ó³”±ï{ôǘD¬)eÅÛ\·Ä¾ùй­Ÿ©?½´š£Ùâ‘*YÔ°Ÿúl×&¯ÂóMâå1GjÂ,:2´n-uµ×(4èè ’µpéÎt]~û})¯x¬†E†™T_#»$bƒLºQ$(6À£¯d/IõÜG:‹öo¢B"‹Qùä^gã¿IQ¬{5¨k/0AáõÀ Ùxüx­\«o9˜…U(”`9[9ø¶ªØ,ºOxßO˜y~êœ,Òq!ih3F°!¬ª‹1°N•ÌM¢)×*þÅlZ@Ù.´Ì®ç¸. ¶©øqÖJà:Åçyë÷“o±ÞœÏs$MVÓ@!› $ -üb!¾Á[—ÜvÁïÂØ}¼€±(A_M3Å]YŠq(½DÂs“ÍÈÏ…ò®;¯V hûoc°s§G–?ý„#®´ -ÞšæTï:_×DºW‚At½f(dƒ:*1š&ѵ§¸@>†„ãqêMe/F ?EçYÇ/ÐYô‡*3AôÛ(\ß”Þ/‡dÓ·(ˆBë5¢m<ŸÒQ¯—iT¿˜²ÞcQøáBû>•µ=ç[ÊnyþÍò¨`¶O­˜nn%£YÈt OS7Â÷'Ž§«MQd¤¾—¦Ý{ƒ:ã}¨{Ú‚¬˜£èšHuHŒûš,vžŠêÓƒggµÐ+¯*öÌúög‹J8!õOEF岕E3•LMW²¥–ëÒ­{p0ç,¤Ô¢ÖÚ£: b!’êk Ù¹!į?ÑÈËÇy„avó¡tw,²í¥™à™ãw8—Raú“m(tÌl´'óŽŠ›^~ÉbÌ“Ö濇âg¦•ÕÞÒ‡§oË1ñ˜`4äœüƒZÊÃp‹çqú/×ô.U´Ü°Ç9K?6Ѿè ?Kä´Î t É8NW|Lú|k‡&ZL¡Rm‡³öi)ysõæ"4²fØÖÏÄQ[DbíIÇ‚RnœQÐGQò†?ßVÇrHÍÊHœê}]ùds¬4„@_âmöúfÛó°¦{4Õ®N7ÝA¼È‚½´3ßÚ­))œ˜þ8Žzø¬P—;ž+é rAIÔCòÃNN”P~@Ònž, Í°Í£Où*‡6HqÌN -§oÌJò½äÃÂý5èjVœ7ܨh™›ŽUVVD-ÕÇÃíg¦ý|KÂ`â+½m8ÝF{vÐ ›üRo½fÇò˜Ž¸³Ðjãôa·¯‰Ùcè¾SüƒµbòÛP¼Ýò•?Ož*—;`O&Ixß­Sâÿ yS˜¡éIÎaBY& Á茞9zE·XFå—¬;‹¡ÍÙ'µÓÖá0Æ“\$­– -ÑÏo6Ò×G2x½ £4v|è–ÂîðG ¹ÎÇÒ ¸­{Ãý [4"»ú”@Å‘/DÒ£˜9{ïÖØÊòë¬)3B k»©û›p¶ ŒQ1yB/4ì¥01”n„ã›úxÃ+Êr.;Y -F§ôª_µo¸kœ¥¾cŒBî8'9sHÅL{—6 -Íá”uà%¦bþ¼9ê7ä?Gqh«òUùef6Ãe0™Yl]pä…uñÂÿ”<ªöŒA©¢]ìïn\Îà=þõ¸ ë#l$I„HgŽÌ6H/Òã!ÿÇîRHTä닺4>Žçw}‰¤Ÿ¸*å5ÜâªmE1ãîš;ÞÈÌú·@l®D­äÙ+1Ù±qØõú<Á|ÑQ¹‡ݪÔ#%º$…›} -mDŠºNìÿ0°(_5#y}µ²~½«ÊŸöõpBäú@'ãÛÛ½yŒ¿‹¹’•’ÇÍ•vµLnŬDº‡“Í=P¶6fÁazÊóPÐÊvÑ`°á;Ú•2•ÐA µÕâžúŒ?ß½]L-Avðw\ŸfKU FŠ™O_ëƨo;ä²+FÕ“Ç |„cYŸÅkS?¦L놰Yä¸`Yä³oIÄ£zØ>v6¼qL¼XD®.Z`•@®bJ÷Áä‹ŠáóÕ Œ›‘dÄ9p V>îi_Ø(Á™¬˜tu ÁkËrZ0<þNûʲAý¢šíäx½ƒ¯#_œüɦµÐ2·l¼èlHñG‘Nß@Ÿ-ñphÔ¤ é ú¼è6 ›ù›GGK˸‰#Yö©!Ð åð0«ökË<:lûð®Wϼk©'w¯~窌Ÿi(Á'ŽW ‹’JBˆhnRÖvf¥Ã -ûE¿H"ÿIK"Š*ç*É:ÌUŸÀ%LÈÔã5 ‚éÂg”pÕø#™ôó«š\NÂÌ_©mª÷q¡-Ô¢+ï—W ¨ª²ŒJt¾Ï(Êüö—ƒ—øý~Ô±ßKm$*l–P¹Ã#4ãÑâtÞ}äp¼_™–à­1À¾ãªí_ÿ.ã†*h$T‹ûÑ´‹œoÿ›Kô7AíX´—©?¥­Æy½,É„* -bù¤ç%º ÿ¸“ÎQ…hÚÎ×j!ð¹‹íDïMþ¸‡³[€KaÚ+90Ãmâj°¦ÐÐ=õŠÃ68›ý|‚œtöà…q¿‡þmìýQ)²µ‹®Ú>Lé¶ /ôÄJÛ¹‰½ÜŠSËø]Ëã½[òíW1"ˆxøIHúòñ!0®n-Á®Ò¤iJúųšÛ/„לÑY"Jj…?äŽÙˆíëŽöâ|»=@è€rÌ‚ÜâyÁ³å%ñJ‰cÞ¢ôX_ÁCIÖîxB§8†yØ•rÍÒýåúu§†ëºÂ¡c†6±cZIʵ8òXËCx)q–×´JžT!h©æÚ:ßdwN£ºš½CUB˜]±«óŸÔF4_vð†æ®Âˆñl¼–Å/÷ !Ô’'‹u‚æk÷JGYOm|9‹ôW–Æ *™vªÙLUÏ/ï½>0.]+ê=„gíÁ2lx>”Æhl+_`=@%N©vn躒ÔexÞ×N¾È«r7LXB5B›ŽVÇHó~­@u§h¾´–Ì} õŽI—$µõ6Ïø1÷³£øøí†h8`‚¾Å¢ët.j)ß‚¡Ê]°~‚À¶R±é©Â\~à(˜ÊÌÃPóѲcfš ~úzGi?Â二é#ИNÖ½8æ,DcöÎÓÉéH›Ît·cÿ¹†Ý=9ài‹öÒ¤ b=q²´Ÿeï‹;"î¶ýɶ#GóS¿scµнùmÒzÙR,ÕUáCAðTø¬0™ŸçèóÔ+/)àÍQ6ªé‹W@äŠ*Œ5ZyýÊ6}è|òHéF—8¶LNÂW;%a7ŠI¨-ÏIÊçºa±wØø´÷ì6ï~¬¿ÑÜe,þ0.Œƒê"5·gøW -çCÕfì7(ÃÀá^O…x]$òš¢B²M¼í‡×lˆ3¡.IXŽñç;‚" Ò´œºòcô±]’ÉrX|oÆJ<Œ‡Õ «âè¿_"Ì‘¼–YmïLúÔšúñ´b¢Sûh!ZÒ”¦iìó°4~â|ãÑ:N«àR¾yÏs’¹uÎVK²†é{,sü<‚£ý$©ØìRÄ6ªfÞÓ'õE'&t+LÂ#³ÔO¬½•éšú ÞHž°Ø!tET¢$ôF á\b…OÔ?™I.'ʼnËæÑìXhšàûw½GãcÙ´&_°çß]•,aígøñTGÖV -¿svw¡$%¼M·éù™QVËD³òª¶ z Ü*V -q>ë°Q`p]‘z‡ÑšHÁ?þ=%†¤tÊÑÒPm9›„üîêTÓŠdÛÛqžÂC’,Ìre:<\rR>™Ó`xA=uEnü~ôÚÇžpÜõ±בܹ`pö!Ä¡I -J®ÚáµYÂœi)ý26cWtR”õžvàd×°›þÍt r1WºòÞÔóºèÚº„£Üà6#²¢®þ°Š;bÿª9ѳӒŽÞQcC}™*sŽƒR¼pbÍ\f¥(“±‚"Lg¥å¨Ö>¨!îna`Ð9M¶Þ:$(›aþ†ŹDã -ä±Ü厼T©þ‘ôc}öÚ/ÕS9ãÉ›M¼o‘·7N¿É{FZ`>Ç?“iµè -ê,ŒØ?\ÓG›Sws(­È°¡)þœû4Ào^}ŠÄì4ëû¶³/Çù,J˜/Vdâk”1¨"Öyiª‹›ëõUwG#“Ny&Nl¦->+…›÷Ùïe1ÿí€næ¤\ÖÔ‹ ‘'n/¼ÚÂ?a°Dä³d=Ôí2ä6«‡ÍO€†%넽ì×llʥě•3 yÎþH¥é{²Ò/A¥\¹>?„^­ˆ7÷óÕ`¢/:Øgg÷³Õš†·ÔO1uCåDX #-sûŒo›ßf€ŒP<À –cÍ'a;6³S”ã[Ô\ü[ -šþ‘¹ß´wdBJq2RȲä a+ÍÜâ²—Q4í"³B;ç¤(=áS ém†$2ß[@‡[õw$–adï´,‡÷ï^í4Nù}_¼†±¨Š¢«È)ïCI˜Íi| 6ÁáÕ ô”[CgUõ†šÀÜJÕ_{²k,­ÝìkÎC ñÐPTÄæMšÎh.ÔÚŽUr›nØP~òÂRBÌwÒ²0õrd$<ñqÜÕ”òGêO%üUñmÕt\0…'q'‹‘xáÒw«lQÇÿÖ ·ñxYÁßy·$ùÐqóáÂ2ÞÕèÎÒR0 ÞÇuùòCZ!^ìØ*…ZóûFh„êßà^RÚ Å -V‡An{—ŽÑ¢ vÃœ­øWt²™^ƺoqó3ó6æö®žŽ6R†³SÙ$Wxôäƒap|µ®…!ü»X…‡U/»¤˜Cj%“ ùj…üËë¨áåÆ _Û£p ‹>FJám©§_½k0g³KúÛEÖlëBác– Ž J/â~ÉÆaò«û|÷Zý*÷ƒT´B~¡’Í's¡×$ÇNß÷ë e 9‚pfÈŒŸêk é‡×²÷ìXp‘‚¹Êj a²qºõ)ãµu€­o![,ÁOz…Ú+ŸÅ3·‚³C, .IÚŸÃ,ÎÓ%É”cŒ¦ìéÊ°‰s¯ßí¬J”θÂe ã-:$ -‘êè¨ÝÔÊ°£à‚¼8ŸÆß„’È$íYèa&ݯÕ4SðƒØ|¯ÊhŠ$?¹TCºdÑçªorƒ‘w¸2ÌžŒÖði(?p2©öY-鼕^5~&5ÒѬçmP6d·ÌAÄLÕÉGûÞÓ}®ÒŽ$ðŒ²ðt‚XÐMªÁîèÀ - ›€¼ï‰6È%ÅÜ«Í—4ü…L9®æÓAÃd,Òu9Kc0ƒYe—ºE[#íˆllN¦3#臺½íÏ”<¸ú±Ðϧ§åœ¯1·Ï¡§no[ßsvßW»½1ß½.Ÿ](ªÈyY¦ö.´pZXaEЧÁ ž%LjrxÃð>÷çmʱÞmçÙ.÷:+nA­™ÜT:ÝáÉãRÝØ°Ï:ˆÿHzöZ-‹’”›åž_å7°Q:/ÅhÓ7CAÌ}rà”ÄòÅ]Ù”ïg?r€ˆoG/±[XÙ5òà¸Ö#‰—+ªÑ$0Œýýâe+®Ê¬v¹Wúî^ï±²}´L»s:k¶L½Ø0Ž¯Šõ7¤®ÿÍO9[m†_~AÔæ㶱Í÷èsÏÆ!]yö‚â Â ä¹}ýRSG<&¤e œbdº«%éX º óÔ&"â¤Î´½;ßÕ%¬‰aë3…Ýhî¸:¡Öî<÷^øµ4o× è¾¢” ;”é"T€.~Ò”[sV¸ï±Ýhy,IQË>ZuŽÅë΃xºê­>-® v5Ò×Ø×Ç…íanáj#Ù¤‡˜ª Hɺœ´¤m…üVX®„â5ÔÚtO@¥›h _ú÷èZ!¯^ð³Ý‹ál`6–JhÒ zá®­xÉ[ï¼sÖÄo`¾g¶{¤ý|W­KÊHk±›Ë y[æhªÊê 0|§nìi@ -‡‰ÇÈMï–Ú-®^îÈ „Y–q]R‡='4d 1–„ñ@®¶ è 믟­ï ÃjûýZû¬I¨«]wÛ÷ËÀ‰Ö"v¿ÜJ`]ÓúýÓ3Ýj¡éômß p>«îì±´’¶""§‡¸#‰›º¤ÊB5ó.)¥PýÕÿ >…KàBje«~10„}œu€›[áTÍ]DÀ\ÔôKBÌÐÝš¢šÖ{H£PÍiáœm”#¯*•>+þÔDz‘Fª¬ïÆ°Ÿª™SÖÙ³ êbŽdv,´CUÞ²¨ïw1kQyÜî1—ŽÞ ‡¼µÊ«åv·z+©1xÈ.:Û«ý >%WÊ~èAù&m{¼/‡ÓѬ•p,»*‚«†ßÆ¢õq zBzáj²‹ÄŒ‰8ÝÍ4G…S-y-Ïm«7eãµØù‹¡’e“ù:ÙE’˜›àrÌꙄÆG”™h©ÊÅ×ã+GÔlÒ{*‰{GJÇaHo R%j\}BD‚¸Œî0䵉¡ -®Oðé&íŽÀX™};'agñ]¹&†š‡Žv -ùR²7AðKªýuDm ì[Ãy›Ñ…î|Ÿñ¬¹åIEl~ Jòi§á—pYÙ ¨¼Åð£E :_qm Mß5 „gàÃœE:†+U:×ÖB`¥ UÖã»/7Öý_öR4/p°¨ŽtÇfz/å}`ÞˆÞ¹íD0²³´¢•ÊÖˆh¹ ªŠêX¼=NÊ*ªKwºcÎS_I£h*”fBëÇD!>pg>ŠÐ57=š¼/ëAŒ ÍÁX¹F¦ Œ½§ ?°ÔÍôÍ_‚òÙI]¢|N)†ç‡Àe;— Ó}Êð·BÊ(} .F+Ïaœš¼˜…9‡!dèÇùjðªðÄÚ9¥#¯?€bûä5*¿Ù¥]z8?eN5µKƒW´´Ë¹Þ+SCo&¼+^x¾ç‡1ª0¦eþþ°w˜Wž€-0wÞuÿ]£×¤¹Ý+Ë}¸€ùŒç¸?)4ÕÌzºîñmítÄ«xÂ{2/b*ü‹(Dï¡p ó2ã’êk"›´¨‚•‡ÉJB´ØèwqËÌhî¢ßNÔËRŒtÑ\Å6ȦY%DÍèÊ£T-ubö!ƒ¿ª‰¡B^gjˆ()EËOó?Ùsþ`˜m<¶§ †W>^#0õ` BZÈw±Ç};بù~¯m|úîòÝpÈÚô”θۚ[lü’ŽYšˆjfféɨdã2ÇÄÙ¨ÞŽ4e'Ýq˜ÞŒÚ5âv`æ Ñ—d¦sÂùR%lÂ߯síMÇ›™W•w?øâ=iµþ,•ÇyÏž8Š^éùÊs‘ -Uˆ4]ü>ôþÕ)¾D,ÅŒNîl¿ã¶úX3n`Ê(6kšsrnL­›k ø)Nä8Y ¸^ú¿ÄͨÉÊãË¿Ålž'‚w/Öúé%?‹$Fa«i50X»ã½QÒ-knª±ÍžiŽ%f{R5#Oá!†µ@¾9oxQ -È`¼¸mNÔcÖ|ö*ÅÓJN¦™ówÖ´rľ®Ã+JÃéz kÌÛ}Ï;¾h(QŸ"›mÃÞ4íW¾‰êZòž„C9}ÁØiÀô£ [ziF¾”S‰§±½ˆ·èÑ+rô…^µkT/œ²1QßùYüÂhG(¶õfmÎF#“Šè›‹Û¹Äb¹U¥é^ê ä¸ûžÝÁƒÇg…Ö_|$xT¢¡ƒ]¬„ÐU@Þ{Æ›rß3®¿R›"`—×£V6éyÅ–½(?Û¦«½Â‘Q£Ë‰U‡ÔŸ£ý¦~ù<|ç­à¦@)œÞ2Nkfµç’S`úMr1Ï¡×Ó3]•åh’™£áBpÈK¡_„È?þëïbâ"N° ‰v&PCª›F:ÏlBÚ/Êý¶X`¦@Ix¸a|d½åš5ß?ûSØ…aÑþe`5 úM”´c*&þóZj䇷͡9o©¨-¬!|Ò›J¢a$»˜v ·»à÷عŽÂâa˜õn²)8N…¡ ­4&¬- î•¥Úí°4’Øf?°Oå”Ït]|¨æy·ã®Â9ÅX­érΣíìf¿C#»°xÅðÞ&Åíà+ ^´§ÁÏë‡Ò÷²Ï;éØ?V›HâôR®ªæ›­†#ÕU™G4¾!¢²áßÓ}dçHVl_íô! Ù…tÑ÷Ž„\ <áDSA>šâð[üù£e«®8 kPT…:eRéƒLV\´Ø –ƒt:GÝŠvo—"•aIœN‹Æ%FéW#ìS,{i•¼\†\ž‡%ZQŽÆ©°("{•hD•ýkVˆá0NŸ„=‹ºÊ&5£¢íßv4lðQŠz{96{› -q×c{pü6ò£óÄéM-R š5(ÑùËqb}í ¹–ﺙwJÊLHHò.”¶öüSÑ–Gš8™Ù3ç²uÎu…:>"ªÆÿF“:Å›9f­nîÃ(*”×±¥Gqùø6‹Ú7n eÓ³ý#-?G2 }7öV?Tø®*r0Ý· p‚>“zÎö%.‹É3FO<4ÌÌ器ÞÐAb[òè)AáXÎ9àN„ý)é% b^XhšPþl?ñ­¢sHWõ\¦ð3z³‰§ÿ^™¼GÜ•ºÄºFÿ†zå,ÀÁÔW‹5n݆›wÓR¦qyUÇ>&<Ÿÿ`y›æ>íÖ»¼ºkx!™•Jtfæ@B꺀ù,ÅEî÷ÍÒýuþ#ì¡‹ªÂ„¼6qYB— “·H~@Äȳlw¹â Rɳ!ßâéTijݹ/­KÙ¶ KÔgn¿Õo¾@»¨h|¹ºÄPÏZt‚Çö퇪àJÜc\:ë¢j6%kÜ%)dŽP´²¯wÉúæ#Ý1Ò1uMNp„kWj‰/ï ¿§-óí÷Nn)ˆç¬Y~spXJ õ¾ç46û‚¥Õs*µš‚ô¸îíL&xy†6kšÞÌeÉxëÛašs|ª‘pùuøý]÷ N(¿é—fâËwKñƒÚë.‹û‚#óm 9rU¦û5\ÖDÄ}! )î©­ )ç²6¦õÿD\ã‘z>ÀH&ÚÏ›r}ôN[° ÊÊ:>ÇŽ@ÁaV-ôŽ1t €LN„ÏÖ—u§I¯`7J9ìD˜64Âvb5§슇 \‚Õˆ­Z–.CëÚ¿3¡js$]t\c‡óÛå¼ü¤¿=Ÿ¤¡“RÔ£~ÍÙÛ‡RßLÐ4¶Vû†Û5tÎÓjÛ]ßÆy’®XÖ“š‘©¿@‚3jŸýÆ´h¬¸´çüS&Åšª¬gŸJN]ýQBÄy‰’¯&³Ö<ÃJÈ›54‰Mý‡óígÕ`np$ÍÒÕaIR¾1໋)gÉ胙È9ëÝÛ€z‚³dÕOÖÄÔ¦[¾¸Å:×^‡õH—•y€´7Œ¿ý‘÷ËÊø²EnNÞ£62špB"—S€Î…î"g½Œ£ËmC—ú„á¬*x7c¬íŽ¨«õ’²k$y\y´õæ½Nhq´jå‡ 6Ò¯w¯ü>X__½Ä8lÙñ‡s® V'?|ÐW¼¥.uLŒ‹ÐÖ\µà W1Œ„ú„Á‡È†ÄH¢ÄRžÍCµ:¯0¸T#À„âŠõhg[b!0(\1Á±ªk}¦ž _®%ÕzN¸ËÜRSÓhé¬tüà•SàO/ý¾r<s•ØSðºêUlqóûPµÙ’¶r°òÑ•ªPÍ"Z•íTLýª@šÂÞØ°5bé¦ß+bk⸊áSçèÕõèîf¢èÁçlŒòS¡¦£bevïL$!S‹ü9Ë›Áw&ìÓr Øƒ›¸Ç¨¢ˆõçÐ`»•ÏÞÒ¼ð§¿Ðàh«98Kž§Ï]ˆdfÈ+lHœÝ84s¨²NŽ‰­«<™Hø -•L¥,ûì½À ñ ÙõI´gMW€-À”^Ç>W o—ÁÒCc–ÆP§rÕÿcŠBd½DÂíwًÂe:É=æ÷»¤¼ -hmÐ% 4\,OÁ¶P™¼=÷i|q‚EE»ê4MÚû¢—ãw¯ŒNKå¾äÌߦuò*Z©ݽÆ뉽²;oÍÏÑŽ)°Ý ¢*°/d÷PM°ìä9¹HS]Qf ¨xdá‘g¸NûthöñµÀ› Ü™sÆáÒ‹ȺÒ-œö7¦F -Ö—ïð™9 ¢5¦Ññþ\³³xš—ƒ¼ÊIƒ€1n*úqΞMä:1fwÆri{dôóò$BÊê(€¿qjh hÆp§ZÍnx™(ÜŇXvR ßkÌÊð—;¯Ö É+¸Ho­¤¼a€,¸œ”^<¥£í›¨”§uÑÙM cgi×1y¿9niJp=€óPÍ4hŒgÎ|˜©ð zÊ¿ïý·ê.R(£®ÿ3=)ÌiVA¶ÂidœYÒø§¨_¸Ã-p… - -û5!‚øcaÔ -ë÷×D¹®º×æ(W½=ßsYªÏ’à²BŒp–Ôç qS–»™}²’½ý‚á‡Ê{¾-DÑÓWÒß|ot[nöG‘Ébÿz%q¼@©Ó¸»¤ 5HYÄ ä*â 6«—¡/í{Àå°•ÕS€Ivÿ^4e*Í“ÿ¨˜(åÃ…ÖûájÔáŽàò]m[0zÈzÚ‡gfECeR•và¨Ó¥¬\ÜšbƒÑôÆØdÖ­L²J¨xl]˜â§#Fí©Üä{‰v ­œuä9u´”ä#Ù¥fªÝšÛ¯ cŒÞ³ñ9¿'¦¯J!‹ÖÖŒ³K¾‰j€ªFÄÖiÀ~ ðiœd˜ï'²Éç4U_q±cå÷4!ã©(KÂx 6RJFç«ÓÎ?6µ4Š**Öú*Ï$?Oñ!ûrq öµ”ÌõNŸtX\›ì3ÆU°l¬W±Ax¨¶SUöJë -pæ;Q.ù‚SÚJ·¹Ütö¸gô>ÂG Û>Ì£ÊãS:æNˆ‰ÙàÐ…Mò5H†ñbëXL°hL0zš}V‘ǡ~zÇ8rõ˜=›A¹XÓCv_ÅΆÛGY°h9ð[Ç™J÷)½|SÚ{BG謋–Ä QU:ÍqÖOu_1_7ý••'N‹Ù& -‘8è^óJ}ѹí“g÷Z´jçÁ)ùåð%)Þá·7d>NäL'q}1aTÜcàƦ®ðÉ'¾$öc%™w®ëžœÁn:l·Ë)Øi k Ò{b^é€lÍêÒL:«rZ›I½YtÈ¥%c¦|§ß}TB×ÜÎÁ¶UNØaŸní&°ˆCuu2¶ÔµÁÿKšx7.n³þWÌ%'«îðU!Z!Ù½ýQmãX ¼‹üò·Z=Õ¤Ò5gE!©+çá·N6f#㉛Ðà *öäðƒ7è[ÒyÃ{MÖ>:¡« I AµI ±DŽÊ“µà8-¯±l+ ·: ƒôÂU€4̧ËXŸeÏû^˜"?TÍú&µˆIŸOA1Púá®zEÛ·)½ß'ÒãZx>ä¦ò:o7Yf¿Å%´0ùQ×Ýt§I`Ø_^*Ü4’_X`GŠéÅö­j”•ÔtgÞÂÓßæË*Fý‚ø4ä¹~ýFSÙ£ëLZ™þ[f›?°nœ#B7ÀÊú[kì#9/€è¤rY¾ ['?í0¥ô{–ÝNÝCÎnÓið³ò¹áý—\Uòæ•™à¾n^ļé•sÃïü"Ò0–ÏEú,Ef xº«Z²ï y5¦F+臭q•’$ äRÈø AHˆë.öøz6x{e­ý -«™ÒCzzø—„9¦øk8á>¦g“ÖÒ|ëžF[¯9?ß,þLLYXJÝy-_À«Ä×=4Qh‚(Üšæuå¬|ª‡QõÚ¨Þbe|IUÝ*¶€Ú1B°Òº\E.tCXŽQ‚ÌBÊæÎVá±µ!ØýY»›SSý‹:~7ŽG¥OU5RØT[ö¬­ú„'Ý,×ÛB«!n‡z£h\btÎñ‹>j£1ç7Ô–[ÊGµS̯ ¯PíïâhÚ[¤¯îÔÞXùËì¸ÕG|{Ü–Œ‚É5àölºç».n¦bëz)æÓýErq¡C‡ÉÆ7†F1YÛo©·¼×“&wÛšå‰Ô:u?>gëJ˜ÜµVoʪÛTåí4ü([Eqüµ•X9†`üåRkÑ|ºnÉDf Mϳ u˜ ‰?¿ïÜ5 $ÕŒBì-1ÀŸamHá¡tÎÉDA 8~¸yWÞÞ×÷(<2'^‘uÕçåqçpüdZŸê±¸ ?5dÀ%仫šˆgbšî /õ¢â…D‚¡ÐÔ¤<åæq§C¨¿çõò°H¿]T gŽ‰Kj{ÛÓ -À¤!“Ñ| v¬êá‘—#¢`p< -N´vvi–|ÃSN -ç,ÞD¹º&Vl¸<#™&pàOú܆tÅj;„ÆÀ'Ç|­Š 6àñùä_Ÿ"„7V‚²ÞždXd!7ó½ !ý¨…ŽùY–4B ‘¨ÕÖ¢´E³q§³钇Ó+ÅáX ®{c¯îà‹%T¯^o«J½j2y{{ï–XÒ“UÑ·ÉÕô0—Òy‘*”Âùù™„LŽ:ì¢BþIÁv¸±xx³~—šBëÆЄÎ3n÷­c -‰x–†zÆàÊÕ/IÊZÇmø“r};À:›´œdûN+úY×w ×µô.Š)«BÚº]a÷ ú.ÜM´ &¾Æ|Ö»%â¾L$âß9Ïi§ùÐbæðNž&ÛÙÍë€î!ž¸‡õé]9©ðŸvof Äw‹÷?I`©_[ɵ–…cìuðn+õ”È™/zY07º]^m¨å‡Y0^<Õž­MmáJÉ,“ºi¨2ç1yK?¼úSY¡…ç˜p«©]¿.GtŸöT/4¿cÏ›_¢d&mjøy ›G,!ëèÆG†—Ú”ŠqúqšÎ”`¹%còƒ^ª4EÜÏ•ûÚÌ9ÜZ@Úõ™bŠ}{´ž/°î¥¼òX{U¡­sì=ÉC¦%t˜äV¦lÿýS‚¶“H³A“0WƒÊ¡Òõ²žö]ú4¨“—kÃZb£@€l»|£[áYÙ–tVyA»â'ÞE—ÞÍAꇣ)›ty³ ¥04„jJ+¾—8<×j9·}qwÿÞ{ìç`(·ða@ºMXË7 ¸ç—4®ÊZTæ(˜H%{ój-}x¾ÆŸX<8 -ÈÝÇV¥ã¥ý­±8$qÐ'Á - µ÷ü{˜‡(xaUæß:@&û?h]¨í}Þ)t~dÖî³|âßF.DŸ÷áU h09¥ 5×.ºÓÔ†7èÁÌÖÆ<*ú`zŽŒqh0èkðs½EŸ~ªìwÝ\ÏÙ> -C)7CA2Pæcæ—$)¤B0ŒAïOý×rHˆø~ï}Á Òƺk)ǺŽGD}ñìC—'ÿàA¸ÓB—í˜á‚Žá$‚ò$±g»Bçž­™¿œ$SåÙ^ôÀ3¢œ‰€îAÐ7“þ¢ÑrF`ï ¥ÃIÒ•aÿèÇȇb‰?SÞõÅ…> endobj -395 0 obj << -/Ascent 611 -/CapHeight 611 -/Descent -222 -/FontName /VVAVXI+CMTT10 -/ItalicAngle 0 -/StemV 69 -/XHeight 431 -/FontBBox [-4 -235 731 800] -/Flags 4 -/CharSet (/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/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/braceright/asciitilde) -/FontFile 396 0 R ->> endobj -727 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 0 525 525 525 525 525 0 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 0 525 525 ] -endobj -726 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 34/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J 75/.notdef 76/L/M/N/O/P 81/.notdef 82/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 124/.notdef 125/braceright/asciitilde 127/.notdef] ->> endobj -382 0 obj << -/Length1 1630 -/Length2 17672 -/Length3 532 -/Length 18598 -/Filter /FlateDecode ->> -stream -xÚ¬·cpå}·&§cvŒÛ6;¶mí;6:vǶÙAǶŽm§c¾}?Ïœ9Sçù2s>ìªÿÒµp­ßªÚ$Jª "f&æö Ff^€ÐÎÄÕEÅÁNÁGŽAÅÜÒðWÏOA!æln :Ø‹ƒÌyšæfqsS++€…‡‡ž æàèé ´´¨ÕU4ièèèÿSó ÀÄó?,#]€–öÊ¿n涎væö ¿ÿתææ•9ÀhkSTÒ–VPK*¨$ÍíÍmJ®&¶@S€ÐÔÜÞÅœ`áà °ý·0u°7þÓš ã_,€1ÀÅÑÜø7ÌÜÃÔÜñ=ÀÑÜÙèâò÷tX:ÛƒþÎäÚ›ÚºšýSÀ_½…ÿ -rtvøëa÷×öLÉÁäbê tþfU—øw +cÐ?¹]€Í‹¿žf¦®ÿ´ô/Û_˜¿V1ÐÞ2÷ý“ËÄ`tq´5öü›û/˜£3ð_e¸ºí-ÿ³z€³¹¥±³™­¹‹Ë_˜¿ØÿLç?ûü/Ý;:Úzþ+Úá_^ÿ³ ÈÅÜÖ‚ž…õoNSÐßÜ–@{x¦vEÚÞÂÀÂüo½™«ãØÜÌÿ5 êv†æoÆfö¶ž3s x&Ðß”êÿ;–ÿûHþo ø¿…àÿzÿßÈý¯ý/øÿõ=ÿWh W[[c»¿ ðïø{dŒíï @ðÏ¡±5vþÿÅÛm=ÿOQÿÕ[ÓüßåþÀ¤AÆÇ"boù—fFæ+.@s3% ÈÔ -`alûwfÿÒ«Û›™;ÛíÍÿrû¯±X˜™ÿ‹MÍ -hjcÿ ÿ6™Û›ý×þÒõ¯ú™DÄ%µ45éþ7ö_ŽJ¤æéø·¶ÿѼƒÙÿþuðx3°prX¹Yþ¾¿¿ñ°²ûþoRþ ˆå?eyc3Рû·of–uÿ?~ÿ)éÿ˜oö¦fÿ¬Ž*ÈØÞìï¶ýOÅ?fSWgç¿$ÿëüíú?äí½¹¹‡¹)üÊ’ƒ)_ˆuZf:¨;whB\·¯‡rè»ciƒZQA@C·Zø6O¥Ñ[íwÆÆ)ÞVÏÅSÇ÷}Úƒ‘,[ªîóË|_2šÞ´ Êv.ºƒ &ƒR¤ô3Íh﫹-(Nfƒ eƒ’7©v6ç/W4dn˜äŽÈ~¦©?ã¾v 6‚¡×žžQþ8~| ì¾îÝǧˉƒ£àsƒB¢Œ -pÊÁÒQ¯ôŽýJ+|/’(}»ßo¬ýt «Jnµ4/ •ðÀ«ûõPx¬üŽ:V”±Õ{ Á4wn¬´n«Â¬ô€,Ul\ÃHErõTì8Î&ÒM´ ÿÕ“ªÚ·W7–¼nwÐ2HîJlDä—ë²eºÖùÍ‹eWÞqËtÚ)Kiž‚âÐÔÁš‹Î܇~°”u‰À†–ï‰òÚ5Ebý>1¤ø©+;T[ÇçYÙª¿ª%R”¤…FH‹ÉÖ#fâ÷,ĪøAúÃPÑ®,**¡&¹Aá‹p$ûyl•ys  y¨ßÉ\¼Õ‘˜ó$ÂeãR×¥ü³F×â/ÿx4oÒŸ¯®£Üð€˜ðQY¯7‹Ì!Íw8¥ˆÆà Y¼G„zvÖÀg~9ú]‘ø%•>Ge¸ ú}\÷xe׊ŸpõrÔi‹Ú°ž1ì³y,Y!?rîAN¤-@yîe4V.¨Q¥Xæ<Éïßjæ&^ž“ÊZj^®›•ª©·[èßÑ"˵fþ9Zrˆ{‹Æx^ÎÿôÊ6|¬ã±ô¼!È‹f+€jƯcª5„³ÔUÏ*b¦#:F¢sÉêyG%ëV$~î!Š`Ôž(í3BkÙnžËê˦J|/>Züû—Ý–‚˜¢*Ç“¥jPŠR°½4< «.Xõ´hàé’—Lü|]?|3ïì 1ogÌY]Ù>»n¬‰è¬¥Þׯ £ŠYhÉSóh‹ã‚Ôqà‘|Gp<°æ–3YôɦëBÑ -ÓAF_m‘iw¡{­!s¿×Ü,>qnûÂ]8'f°zèó&®Ûë%µ\µ–°m(‘…»Ì«›?Qﲇìf?Q/ˆ–`œÖ ¼)°gCQ2 icŸäx7P‰’WœÄ…ìk¥ÖÈS›Û’`N°ßÇéæR«Þì§H«C€6>¶M!ß'm˜Õó‚k èrðÓ¤'ü¯×rH{,éDñ®s´M—È!™ì`J‡ØCf¥A3êÒkŒ÷Î7?ê{é$8ú´@Ž›Z† -ášÁçTWòhcD66O±À\[’_ 5¼Î3ÖuÎiWÎÑo¯Ä3-Ï.…k¾Œ3ÁíçA=˜ß(Îr;V„ºaà¹t¯i¹B5®µ ë,’ç¦{ØÉxßdAÚÜÝ?=¬ÛÞ»ÌèSØÑ®ùD‡«;/ÕŠ @¨+úvé ÎsdFHíâ{1 Å}ˆ¹XYóU±€«7ªóí½žZôž\êØ')Gó -ãÇówœ«nªkõ.X¶Z0O¹O³3tpRÌ!uFí¼…WÔ‰S ©a¸˜ÝùqXnÞÝÝKób,Ž$²rå±Ìhm3C˜Wl¯ %¦\hy«ñ„M£òѵҌu;³ÕXQÚd¥‚ú¶Ø9;ÖðÝk,”j”mo’ð‚/w£÷ -¤»õ"‹"þ6\ðªÉ­1Ód¹/Zq´H>5g‹“X:°ë½U¿RyH½áÇîL÷Ý2²:7G-t»G×^ÛÚ±Ô^ŠÇ®Rø^'Š/Pê?F,ò›9ðï"&þpyH0"|JÄÖ#Ç^Ji­²&/gŽlÕ‡X0ª«¹m½&‹†‘úç'ù  1Š…g†5õ5À Ì›ºáy¥î‚ÇÉ[IŸÖÓ7Õ¿Ž h°tSf´$‰4ƒÎaRǙގ#w ˜ÂE~ì,¾÷EFú;”œG€y`åëà #?ýrHÝ«A8ôÁ¾ù9ù}DšÄ‚½™7¥0>#ùè•ü!Äåëp4÷S冚í²ܺyí–°Qw<ʽ·­¤:Ýj†­+ãÀç`sÃŒX=snêM¨2s>»ëžlÐÌàkšY·Ìg²\LÄCÃúW yiλ{îKyo -yø|6Ð+U“Êè|¶ì ­QC‘¸l•.é´qÓ¦1_JëoTúmÖÜ ¥DÈì2@Û{ÙxÌ= ý»Šâˆì3„?¹|ô–ÌŒÜ;5jš±Pä][£yÀ•åûÂxšéwìð]UÇã³÷8;»ÛJÜIW¯4§ûŠç·”º),ý¦–Aã[(9Žß)&šG”ª‚žßû¬“8ÀîÀ¥v8`ÄA#f£BóikØí*?Ê8#÷/Ä5IP -2¢¼áÑÅ3•ðN!;o`éwU©©ë³ýÑ4¸oíÁjëÈãähSbËtî«Œ!Îq§™Wý¾ÑŸ!óU¶âq¦oVœà^úJúíÜÜm,䉶^xÇ;zÙêW²ƒ§¦›@°SÿŠ\j‚½…0F¯µ¨â­¼âØ^®œ®ò·û±€ìJ N2¢¹+4Õ¦˜%å¨Ep’eù 5b™LÙtrAu²×‹¬¿§ÜmezÙ1=²’ú x‹a3œcÐG„)ÞÅeCsåÌÃcߤÜ澦uêY³w6—ýOsN Ý¦¡ÈC¤÷Îo³”?Ôš÷ 1îVó3 †>f² 0_êb1åTðØ;r3;e(B*7‹4[¢Ö‡/Qœ)-§J†ËZ5Ò߸gˆÆ\lª²V6aéWÉÃ>(¢%¯™’$k]èËQl+i þ²°všõ€ÄJh¤¦/²ûû[ÈŒª»ÒѺ¢¡»›,Ä˃ &'†c\ŠSèv΀c‚ÜÍ")º ‰/œ‹;Elà$ÌYˆ™Ã?ï*¼ŸîVE×;,©.~Yòa#5 ‰u¹PDCßˆÇ »HŸU€V·à¡ìQ£´I²Ì;mAæi? e¥Ò!ÌŸ °ëêÔ6ŧRÍa¤1'ÛJ69p¦–ÂüÌ Ô„}jtï‘ð-¯ÁIl¼ïp¯K²ÑRš®·"'øþù_εŠîŘ!¸CqI–ã{•kû %<õöÄj(û¼¿D÷BªµoNþ&9qñ+ÏuOƵ±¾ÝÆ«Œš>bsn&’ò2äeXØ?Órqœó‡ö=M -]x ¶I9¶„Þ;Ž£Åyä?×õp‡õëÃ¥‹²Ö\±máå;öN¢uÓį´žjzòry Þ£´Ù¨FÊ£¼pÜå!/K´ <‚í#2‰/tÅÅè‘ - -š7×K‚!VÆF›Äh.2ø"/_Æfw1~æ¨æÿ©;£$å ίzwúʇ¾TÛº=@g|ï7Éð`ÔD¶´|AѼþÕxFö« 9KRÍn -·Ô©'w£¡OG# õœnÿL;šÿ‚4½ûh‰úWo›ãîÐüÞáÒ?œé£z JÄ‘|2%jöí጖¦Lû§æ¹z¿y¸ y}ìl—b?äåzàáó½HØa‡éË]lr=tTJÏÔÆ1s”oáíÝk;³«Ê°è=pQG\uQð0Ì;#j¹cÍ£½±Ä *=/×ñl^BŸ&~ÉU‚¨Agè0|÷5%?H¨S2f?{pw&)"RtºŠ8ßkc·xëuíRÔ«iEͽ&ç…û“ËQ¡JàÈ?­=õÛ÷løLÿ¼¨¥¿H z²@ŸPn%•P08>’ëØUO=.ß”.r±# ⣂Eå7Þˆ ½‚ïÒx—ŸSƒËçÑÞ²d‡!\-þ ÜsÅl®ŸÇ«éátµ–±ËüƒåÁUè{Û¼g¾Å罺ӿI¯6Í~Ýa²W¢ün³ÁOMUW¢cDM`G¶ˆvÛ{YºßÌ'XSÅ¥¤t¶/(ý~,Cô ůWÕOmÈ2P°È•‘!3Fž/±Ïþ¤„ûŸåÅÉ1Êêö·“M )¡@ñJ_ (åãý¡G -¶G>&”®)Ø4ihûü˜¿…±[ã•T,ÄÑ?\Q£é·²¥Cáú5¶Ew³˜êÐTíB-,¼Tœy¨z{äcm£#–ÿÌÏu¨W×}Þ¶±Ó–Ï„%[ÛÀWaüjÁ8ò§ü§õ4TYq¢—7{]º!_ÍÎÒ¤†PÞÖXÐ ˆ¦C9ªæÖ°F”¼‘õvc–½ÕíóbvWÏh)҉Ά™›ÀÌlVòÿ“6JÅýŠ=ÑXi¤«b‡øþ2qðá|·–ˆS&¶JÔ[«Ïûî9:ðvv“/p(ÕÌbòÙv}Èœ³âVÔŒäŽß¨=(~6ç½k Zg•?ãÓ¶&Îés2òW8mÏ=…¤“­#&abYãà'¯Ö$΃ -ÿc3‹ƒPº°^ëÛvâ/$Ö{ÊeÊ©ÆPîû©²¡W ›×h ¥–²Dç3 w m15Æí6‚`#WèYÃrÊK„Þ”pOÖ`±ë]t^e(Ἡ2m@¤Rã)+Æ–8ßS÷,÷å"ÚÜ$ª -woZp^Gÿb!‰õ9,Ÿÿ ÜWɼ¤qh²)ø6«…ž“)D+ˆ$<Öõk¦GæH=Å£x|ä*· µ÷^„m¶¸ÙÓ ‹ãXFÈò3Zø™:Ï(x@a&åWzÌ2¿ATšQ¼µgœô¼RQ%¯Z+¤ð%z)D€ñý²¼éTÔ›ª‹ÅY<† Rè@šÚ~ɽëÞTój'¿’ôX6lƒ< ÆöÕ§ü  ëuÆ°; &”ú§êÐÎLI²©Dâ¥SvšPÒw§’,GLKN¦Ô$ÄGBÁõ÷Í‚Ú!Y…÷­¨ÜÈP-=O£¾OÏAÑîÂœ òûW³Ö6&з'ˆ1­¥½ ‹‹ß)’V §ÎÓ oÄ_'Éó¬DŸ*ÚLmD&çº'ƒ îê¤>¯„~BQ—‹²§‡Òq­Kí©r„d_Dådÿ0ˆSå™­õ;£—´ - ‹Ø.žžñfܱÉæl‚ûSÚîâ-fƒ©`vg)KX1’PúYHk2Þ6c;g€£µÈUg$ÎâÚ‡à WAyŒÎëFùŠõ#*°¶x4‚NÁT‘V±çòçžzòšý»–m§f‘ôrukÔ¦öì`ŠÔÔsuâ«É@ü,~5ªÛŠkâ‡_.î‹EØ´¼9Ïo=â3  ™» -&íáY~Þiæ¡ü¤rÕåEá—KäY€˜TŽ±m6A)w-5ñ®Èù¹ñyÄ„TÖÜnûv¾:ÇÛÝäsáO2^ôn­ -)¡n˜É…ß´6©fkæê Ö8•–<ÐÀ€8êטÚJV•‹Â¯?jk‡Í/ ñ#{Àè´å5ÎÊ5HrQ®Ñ€­ó>¶S5ÛÄUÕÀ 1°‚—ゥ3â|Y] ÞИW¾Å}›Z><2q‡H’Íõì”`¤YrùZçm£¡¾¬ÞyKñ–$9ÜWL?âéáOÍ\KúƒÁ‰4—Ùfrì[(M²³Ž›˜¡°ëÜš¾’ñˆáôýB VVüËšŒïZhÇß×z‡")ŒtáYx í‡bªd½Ð[ð'e‰€Vו[Ì6nöcÓ©Ñðò…ÿ´¼·ï9ð1…6‹m·N$ÅÎÇ7{¥lÃE´,Âœãu æº\w„¾m@êîˆÊëÇLµƒþQü‰RhóöA³R×ÝÄëžõãNamÞyC¥å=žL¸æS©¦=½êè´ïGÓÊ°Ô¦í(ή3{dÈ2#ÿQŠbä2¥jy<æ,Û"“½°ŒÛ”&!͵µQcà…c2†Ð†rƒÝ-u°ö>YiÎ`•pÍ­Áo@Î"¦•»ùƒä[#§TUÓrÇW€}¸'ªEéfv@ÍB,¨Í:´*3æb¯ä,ÉAEE1ô@˜Pza5)p’äíC"[”Ù"Aôˆ°qfÎ/ª¦Fþ .¤wzcÌ.Áy327÷-<æì÷(2Õ0K“-d :p-c ÖÛ³ô*Kµê½«<Ži”$AeyŠÞ2Þ™LE‹ª©V¼šè)ÿ`æ[É\,‚°¸éA3ò&;Xáfì„0wfj$r¹™ÄµjîR[j˜† y\ªNúU^NÆ3Q•P -Ôªÿiúë^·Æð)¶dM“zŒkz‡Ýø®ƒðDUhýG½”ñT@'ó}&cŸÏKYÖ6†I]ßFþÇæLþ*q/ú.R1>PNNF¸¼Lî{ìID#ijhäø3ûé ‡¡«¥ É"+L¥ù±¯¨à«\®Þ‡¾¦PC_· ôôËÉéusW¼ n…;ÙsG¨C{‚› Gñ^[#=><;'á™–^«ˆ*Ԓퟸ9Ûe¦¼†.M•lÛà Uæ‹8“pnH4¥Ä¹Öy` ~ê~V v›#a4ý7˜‹òyleƒÊÊ lUê?f_ã=KÉj |1µ;:JH–HyíçNwTe0’,?~íTŽ?‹^·w+ˆŠ àl ›ÞªÔ[~™¥“C™¨=æc"/(Ð*É!u#ÕÔ‰mVë®Í¤tÍË_ÐîÍg‰Þ—r¾L`H6.T³Õ·ò׬á AíëÚÎå•+£&ýš[£w¶1½âMã ®3ïÏN÷ UªÝË•ÕÕ%òBïàß06Š*JËçžÔ¹/nü†˜‡Ì/ëz2|snT³|¹T½µ–#ð÷°SXáaqæ¡{…ÿlb»Ã)ÿ¤›”÷òj"¸•àIšÚ=!_`AJ$%Ûl6î8S*Û slzÈk.t†xn3Lv«h¥"¼¼oEèÃ>ÑÉ`¦XDú<¯»Ö,´|­„x¸ŠMbý[ÔøGYáNº!£‹âj6I*ïÍC †¶,˜¦U¡ÑØ[ù™k^"·²@Ll €70‘ý÷­¼w›©µáÃúäEŸBn×´CÔpØúòí—y-ô¡™…;£•jã<%R™Kü3KαYLsqÒå‘P´Ê.Û¡ƒ'(Ã#%Ú›!Èƃà>ÂI’}ÒFN±­©Y&—j`¸àGQͲïÖnjUK¤“‚þõ™« ÖfJ ¡²F>£>QáL±ó«JÑ£ƒÛü<£'º´ãé£Ö•¿ðòÃs«8ªãj^ TåýóUÅÝUˆÏWÏVT™FÀ;ÚTYÛ/ ¦™ž7<ç¹…ú[Ʋ®ª÷gkÉf¥”+ÛZQõt£Ö‚‡I´ „Î÷Ó·‰]Ì%[_»B§êܯêlñ]¢WùZ`l>DF=ÇØ}`i—œë -ŒÏ-qDƒ?–Š{/~]C­½Ã—õô'ÝÙ}ñÁñP“nóewö?N‹µÍ{1êÇCŽø\e Ò漚ÌòMí[ÏÊömÜ®¿@°B©ƒÚ¥bKƒ‹bÊ";]1º…wP–FÂös¾ûcß²®úÀÝóS8lÒê0ßôY%ïŒ+]q6!ÉÀØù$—•AY*=5ÆŽ2ê¥VÞ¬=ÁÑ8·J‹É&׸‰ü|ö‹íä…h8(NQPY–µOž«š õ £â]‹ôO¼1xTOä‚Ÿ©¿vüå˜À‚Öqò UÊ”öEýKÀ£3ÓýÒrô˜DF’ò|®êïr‰gÆ®Áw/£qæƱ/]¿ ¬²ÉüÔµ|›ÿȧ\šVŒ¦mÕݽ}1‰˜×ÜÛÌÁÞ¨ãÊq]ïiÛŘRv\ZŽ¼tt¦-èœdEG“<¤N"o“PÞ†0NÎ÷’t,þ<¦õ±¦0hhrdÔÌø…V°ðEýfxø„“¯‘¦÷èrö„´q{бwÜŠ)Ú‘§öe.6ö£Ï%ËÏ-’«ðs” -Äaâ'ÿ¡ÀÏíãçPEÐ*•=RX]½îi”5èÎEûÎ䙘wî|¶Þ4ˆ LEÝ‚n‚½u#ˆ•óÑ^Lo>L¬"ïjÕyý2QñM»(Wt¾!ê{S[*—õëæNY_}ê¤GŠ½-À,.ŽÀWücû€x±« \•ÊJ9$bΊxl=*ó¤Va´už²ÓGë–C,TIC³$;%±“g½æµšk?Fìc©¯»¹¿-8q]ýhˆî>ÚrÔN´(¿È4¯1'Ìz˜š‹E‰¯qsMÐbÅ£ 4‚y÷<Ž¹ûõ¶¦â¾kIN1X$^~²_k¦`-<î92«Þ•DG ÞŒj¸ÁýÒ“½ïë7üQ*ÄŒŠ±ÌËNÅ»º8‡ô‘^”‘%ÍçÒƒ)Y…G -{µ¬Ñ÷`P¯ór5C/ó·›üC$Ö` ¬¾„Iýç‰M;ø'PE‡ÝÙë|á[Š¥¯GŸÉ[Ag²I'©ŽÔk£+˜¦ -‘Ôò•L×BuHönà”Ô¯mÅc,)±¦|–?¦¥Ã³ ž#Õu“¯öh#;Uí\)¡I„!–èâýýJD²í¶7tíîxÁ´°¨9z9P=êžo`I®¿H¾xŸæáÝ ôþ2™rXØžÙs.Þò«¦~ý!Iº@úcÕ6åà|Tf€¨·ª€·kX9¤n D ”êœtN‹«Å~—ù2Lí¯ú¸ÑámÙz*›õ¸‡’²½À9¢h/¤bEwé·˜-Ëd’zcàgï#ê‡<`‡m¬îæ3ÆŒËZO­œ#7MÊe¢j;#ŒÊ&ÉØî‡Ãnr ßY3Q€aÝ>¨ªQÎI¢IáÊK¾iÇPØ; $ ¤^È%ºYèrv¯ÚO´ŒMÑ~øõa€hµøs\|ëÔº-Ç4ÏPÿvˆy(¬÷ÎþÝHYyye û$)Œr¶êi“`¢ŒÑø»ÌCÇ€£Û’EÒÞÖÄFë‘8!áϽ+úÉ·ÅŸÜ.ßFߤºYÅgwúm=ö'¦Œ1S0GÅûlÔΑP’e:î[âm4\æCQ~Î{}+C°/3®‹¯'6 Jþ: Ö¯Q¤1Œ?§|·žk¹?òšY¦€·í“¿—Ÿ‚ÀÜŒ47ê$ãFˆ÷ÕŸãÎõ¦êN.A]™6³ÓÀ°è¯-p•YÿÀO%/µl½"æ& dó$ ¹ýÞ¾\&xj-‡GC鱦tÀ&á0ãÁ -Ys‡Ïíu´¿tÁZòûxÕƒö) í h´#ÅtdšVá,ŽÛ2þÍvbÁcg!v»Že9ÅpúùO…Yד>ªšs…8¸ïß¿º åô …N«3ÄÉÚ¹–þôŠ|]ÕÌ$œr‰·UÂPœ?Fb¸'B¤å2žSÀæ'°D†|á-÷3|ôÃICf‹‰¸Å¦éê]8¹r¸GÌE­™ÚÀF¿ÎØÇ1÷û8§gi¨£/'‰f.ïÎO‚àé:~ûÍÒ €cdjÃG}?rþÅ}Ç`¾­YAÒ#±6²Þ-ì¢Mƒœ:,ä?õæŒ4{J 5Ã.æÔA‘&¿n/>e+mÞto˜65Ô#hn>‡?ý³CW8ûƒ‰JŸŽõ -m?0k° ›_už&_ò”ÃÝô™mJªÆøB‹ï!B—2äu;úB>¸7ÁËß‘,ÒÄ…ð§mhe[ Q²ƒ£Ü †Ò†îF\hHÀ7š9Ò9 ƒ*ˆ/áÆ¿iøw4ÿ¤¢½z]ß\Ýݼ…þigÈO“éÿ© 7÷\bG6ðïèTZ 4Ù ·Ó„3¾ŸþSÖ[ýŽ¿WÒ«¡E¥)t®óòo©i´±~Áå·>Ä+v1d„É€_ëÄ÷Tf›4~r{/€>W[“ñëTž¬Fp.†¡  lc©œ“ˆQhMÓwkßVýrf¶¶ý˜Xýÿ¢S0Á×l¸{kÇ ¦}ß »ÛC4¥µ^ Áo©£&zR[:4Ñ6,»Ïq"Ȳg‚@¶%ã t}E8»Ñ'êD¡ý;½Ç@”ÿKÎÝ°’˜WŠQ4!lj·«Ä£;Iùn®È›†qy'ßãƒ7uþÍ,¢÷åêfÕ •¯§ &Sá¤ÈÏœ’°Åm¯ÌGD ˆµÚh½Ó,•óØ´åXð½Ò8‡›îdûqÅ ‰äàÈâ^:W›Æ‚êoÜJ¸¾ˆ£z|u¼ó~ -·{,{’ÊŠ—Åê·Bº,cØëžÂ͇ËB”àü%{Š{ú)‚ŒÌñMÕù,[†PÏ“9ßÎ'} 8ª3àîöåµ ¿çuXß¾=;Kÿ3&vŠÂÊã Wœž°¦³«ôöAXÚ~l¹w†¦¸XO}VŽ+gDìÛœXïFÂpÊW/j†¨!Yͨiú’¾C+ï7É®çð:[V Šz¸ÒU$øÚ¯š¥Š¼µnÙçÒ,÷ËÆvš>r"Œ;.Vf(Æ( !Gû³i©üµv¦ÔFøn€—ÖâlF‰²À˜†{Xn%âe›…¯–¨wõÁèË¢LeïÎã¿$\ásVïbá¶ü pžBuWôMËÅ~£…º$K€Íí¾ùú¡¶‰pYÙ^%Ø>šL©“5¶Æ&yIKÃqQqý$‘Ý+^F‹¸¬LaCȸ&‰S’¥ñÛ·¨ðU¿ (|5vxË ki—‘p ½2œkKžÕ|eVÌ÷úZü½IÅœœèMW›+ó£:ØØ.«ƒ™u,ñYk´µGŠÀƒ°§Krc× ×ÿ‚ñD?ûµiü3Aß÷+špGR -ÔG¾}´ªK³Ѧ0­ú -ØrQ$±¬Õo9Á‚dHräÛ‚,\%D>8[#÷š§tšBª¡Úq%‰8u÷H8Ò²jÔE†j~ ºdd\-í_ñ?“u¶ÚíÊ|pç„?ŠcB,Y›u˜¢† a ÇÃþ,']] gª,ƒ ÕÝú®²g«Äƒ0f^×ú'IÕ»D{€p…¿ŸxIÍ^€Xöº“ý‚Ÿï<4ä~ã:‘4¨:”èÍ. Z3”vâ‡kø…ª‹5j4¢‘:ÙÐ2øt<9HÍvJL£8;y"ü_SŠxc©P$ºƒTÁ,ȸµm-*]»Ù’sook%îÞ,Ýä¢DKPž#Þ|E˜u„TøÁ†(y}„Z -¸ñM©8j4<“ûϓĉÁÞD«½6˜Mr¾ã1Ρ a5aÏä™LÓ?·Öh¬q–’¬9ÂÓ¹eÂl±_®»l KqÌ£SàJ ²CLeä -C*ªÏ÷iA‘r’ef‘^ê(w×e7µ ùc†ÅƒÜßqÀ5Òö–Îão¼÷Áb+J–&‘Í’º9 ±×%gÏáðÜûúwálå»’Íâ!ÑáŽ?ß!H#=%¹¼M×7gcl¼í†R·À{¯“6'6rÅ*ZB…gNØý­ý¶/^% Tˆê†5'ršÞP— -MÕÏpÁO†(°YnÊÿÂ@oÑÙ Y,(1ôP¹¬·ÿsE%¶£8ü*£­9’¡9^hç$©ð%Œ¶<&ƒ‰[Z|³`¹no‰ÔGn¢žÉ†ÎÚ2¸ÔhÙ݈ûBO³ÚÎÚñîWÝÿ¢#­ƒòîÉÿöV¾º¿ë“a­PàÇA26£Û»}=bbÊ0 ÏÕÓœìí觳çï -,§-ƒ¾Â³F³ r ÆÌiÃý1ß_[ý&H iáC%ZÌ~Ÿ¢d-ñ(Li~†Þè|Îë‘)÷Q¤uAÆ D>œQ‹PÚ}¥TQ“ÀJs4ð0\¬?ë©=† Ã\õ9yÈÛ)ÎÂÀë5þ͈Փ^È–¼fB«é•#÷÷ ¨oáøñðÖÔ9ɲ7ûÌK¦n(QÚL,+õ©OSÕ߃P´T·Ä} ]+«Âüc±¶ûÁsØn­&`™8¯Ð9Äß!pùbE ²Þéy‰&Ìo˜û”mÖutòt ³uC»(ÈfM•¾eäû/<06WKÍ=¦¨©‚Õ´kçÞcŒíH ßïî6zöZ¥U¡Z0g—n*Ÿ9qHפÊn(<û;Eö™–ÉÖ‡ÕlNjÔ¥ÓO<Ühäå!rߧøä½þ ª™ÖÖnã0iP9øÀÒë œ²ð‘õEͧá:ït1˜DÁÕ9º QR±=Jøq†Èm(¬HðÃ÷¦ÃnW¿j"8zË0+¾Þ]£ÔŽuĶ‰©Ö{’‘öç^ ´ûº¡íïÈ•ÕãC¡sèÂ_¾ÿ‚Ø—SvÆšN¤ÚÞulv¦aTቶÌNu­?¤.‘ ÍDtÉKCµxñ -EÀ]'qíb¡n.Kw:‘0Qø‹¨`Ä-u‚û}_‰Ä¡Wê2åƒä‚‚<;LIÌ“–n:a窯Q(dÔOÏhÁÕŠC¨n» ·tì¦ä6´z|Þãû#ÕRŒëpí…OIr9Tï™rSªzª¬É+:tilcy.:(®wÎÝï…²´üngÓ@&A±9³hÿYœ×Â÷-90XåÈ–/Ýó*7m ¬€´/í½®óÝ—W%hÐ$G­fÓÇ$ŒE:å°9êpÞšá(T¹°zps -™%Bñ”µa&¨à_,ÈOKæCbd“mCøI ˜ÅUPé`;îjôœdh(ö–èƒÜIóxzÙv†ÓÞ3i®F%3z_KÈáºò~â*%l ý´;¿½3ñPˆ—®Ã‚ò‘®ÑîG€nm9xUµë /Ð%[Õ6ã{X¶”T=I‹š£HT*öbë±:|x0nw³ϸŠ5C~¬¿¿mv* 0þ¼]nÑ=õ1óŸ}¬OÐô¸²]|à‡fä{ ãïúéÍcfxŽ½û¿·á¢ø} DUðRåÁ×é9»6mÝÛKŒÝÄ2²LÓ=ƒ…ogJL–§ãƒ¡ÚóĪ`óŸ,i­Y«§ç53cDgB^0í­âA±ûAWÎbÞ ›ø_ù´¹Œ­œàa«¯É3Àæ]~ß>ê´‚ÞbÂÒ—k’‘Æn ß{îDÏÀÍS-0» Éû(ˆ¶EÝnú$äs‚µ-æËË{qt„‚)™Šó|80‡ÐªT&&&d±JnKWÓå”e qÅ$®×¿}Åm%Z½õ©1L¶€-Vp"µ‰Â‘l§™íñVg+¾0y¦GÞvʵ4H&DK†ƒÉ*|Z¡e¬›jRo—ЊҸ F‘ƒÌ‚H·Â4QäP„h¾'A'´š[è%͉úkÚ:“çßTJ/)·Ià=JÊÓ¢âÈ™~7+Uâ)䚌åéG»•}¼P“Ù‘Z˜¤EÔ‚—Ü.qõ¿ºˆ4Õ>:£â\l‘±ÒHÅÙp¶e ]ÀØmœ¢ñR»¼üEn'¤ ær/D"Ô$L‡4†zÀ&~{Ä”(/w 0î2^»CaÔ¤‹9 äÈ -w¢Ã¨41‘žÈ zÉséÁ%¡.]ªr‰"‡ðW\E™\âA›KÕ+Û 8o“Z¥m}¢*s„ 3[X¡)ß÷¢ä’i[r ¶Q£ÙÞz.p +ù +È3¬½¤ŠºgL·Áͯép¥)Ê0¬Ì”&«ð˜ö‹a+¡¬3$7©ù+¨ëx¯îø‘c—öXKB„Q±ÄÁ¯_ûËž²X¹öšßÞÊØ -Ø¢À¨ðŸø4Üøºp$Óñ)ÐÔ<æ…ÍJC˜WÄÀ÷­JÝf'ÆF4¥£äí4 >ú ¦æ£áÎIŒ[ ÛIKšr}i«G¥ƒø-¿H¬liòAÒwžý`crt…l懎#sÍUÓ ~„&ˆƒ¬ ‘ª?êÚ‹pOPî[¯ɹMÿÌÓ+ó?ZZ3®G±%–Á¤"éažÑ_¹ý-û±I¢&C)$EÉO…YÍ*_€Å†×ã›ü@» qü‚Ö»Æ'…Ú$Lv±"Ù:®ûýþÙf$Ì£6RQ>îûÁŸ´Ù[“L¯²>°5i&½ye¯èìº[^Ã.M7ß{žžÃÎÝÚÿtNú/2 ^­ÒÈ$Ĭˆ‰±ëVÜ9'«·’é[dµîl6–ÙÈ'r¥qXŸ¤e>ç¼30›ß0gKv?ã¨Û øçW©Ú’²üš‰x¼q+ [¤k;û‡V§ ”É£ÕÑlc–•ÃÒõkÇzy“YîO”EGœ26‘ÅHÄ—¥Uקª\Êrt/ÆÅZ_5[1f€ûè–bó“Ë=àlŒ¾˜!˜9GšŸq6?À\íؽÃw…ö²L? ÑPD¤rz¡¦Ž…+•‹®êµnÇÅ8òº,kâšš º¾‘UôBƒ©Q†°æ·VѽxF]ȸ#ÔP¼/‹ÞKÐsÕ·ÃÒ®_MìåŠQ¤‹s¿Œwá¤ìÉ|àö½²\Ðê“ì{ª 5éã.Qiõn|æ­ÀÊ„gëž - Ê‹¢sÌ`ÔÐ…“”ááZæ"&\>ê­¯ýúUPgq¤ƒ&Ï ^Íûa©täTVÔß”XŒ]ÈÙô]5Oaïæ’§°Là÷þNï’=¢{I4p0G9Ùrt~Md¾Õf­íF.;<Ô.ƒBá#† Ô÷ SJs•yŠ°Íè.I뛋Ì.$|Ja`L¸ŸæƒS*L‘×Ü*n/¦!ró -%»Ÿ'ñ¾ˆ©¶2ƒ‡ g˜¦­æõÈÄEk=ß_Í¥ÖåHh³ÕÇ—d¬~ÑG›ŠöuÍô x@Í~!3kï©Ü3¹¡‰OŽ'©^"Ti^×Ò¼D†–!*Øk-ŒIf¢Íߓɦ´3¬ó«Ni=»?þIòuj×(ZŸ3¯)SÔ–Ì «í÷E± SjÞP`Ѩ•‹H×f"ðD9gÆK¬B\Q–Â…ZÛ¶ÆJT"6,ZZuo‰¶ÞR7.!8,àt;AX8÷ëK¼âv˜Úq¤e‘°Ø›ï|"õ/ƒ.Èà¶Ñ`›½/5{”sWÃÓÛ•J• @÷*¿Ø>ø—Õeþuƒµâ;Õ˜GãƒeÕôŸK¶ÍŽæ…ïS¥³œ}ý)Z—%0‰¸Ex¹Ö½Ú3)Ì-ì¿;œµY[âb[?{CÁ|³ó9¾Ñô!«¡Ó¶ºUBbnïÿX¨¼°Õ¯ùZyFŸ'Ý£\žks»­Æ0Ì&|I4Õº’Ëyêò Ôp[nüJ°û$¶U5¼†£ -‹v»iýÝä¨;^ùäì®u1·ÝI0Ï©¾(ˆ7DÚ~ܦÕ&HÓu†;>ÂÜqõh¿1¸²ã>#¬M@#¥Çéõý…Ê‹º-ÿ0 è\Öraø!;‹±;×[°&lþêωP)Õh|h‡ yààžÛ5êìr š·¿44zëò‡O¡l©V0H“k£?L©’Ÿ«4Ee!ºõ66Ò?rä5íž‘ÃÜÔp²]4÷3›“ßLÖ¯ŒíÙuhR3Û•P$hy#!3°˜~ùAô(È‹w³ðdx¦‰GM"€ƒQ_C-ø§°Å0kD–‹Ä˜æÈòGRg2¸7¶H(Tì䃗°×«Šéßl£øzAXS:Œ6i-\¿§!Ëš·sÒVXÂɉ3ÏbûV­0R?Í.þÞW"BÁGX¬5e²T\Òd%q[9p64 Ô½…Ü˾4´·àÿ§—æ”W†ÿóýkÁ°ÅùþÆ^¡‘Bò·ðìíÝKWœúfr4UëTÄpÈÞSn.QmÍ”-ú>˜jíŽ2ðbì´¤š©Ð”a·ä}|”Ä·ªÓ†ŸÖ€.ðK¸Šû$ Vèλ¾ƒ ¼¾gg²Lß²VŒ,F´”Ê‚Œ’íO‰­ÿUê2è¤|ãCÔÙcÊ¿÷-Q4 ùŸh$råã?gL_p(n'•Êè»ËäW\3i¹ž!LÙÔ*qê©D(ãPóIÅh0ƒó¡ÆÔ>:êJ2*ÂzH5q¹>{äþ,Ï£¶ÑKÁtJãá¼9;hF:I«lë«ñC:Q©WDg*±ì×zk¸B8ø€‚Ó´Pø.YzF -ñT`=¹ZÕl\§\æ¤0Ã(}NåeF¹Úµ¶¤k‰¿ÕYöì`ƒ.(¶9"Æ€N'6RÊ{>+y½ÙŠ“³ûƒ?Ý-°å±½¤NC°š_§s>£ú Øã -{ ݧuÖˆ*ÁT“{@a ÕQÿ¬Ãû³ªŸŠíZÒ„UŠWë¹÷üdÏieò FHAŽ4ñ„ªÊµ©Ûšh•gdþd5°DœûfG‰Zu’%PB±Š2×ÇÜþk[Wá³NÕø±¼¶‹ß~2ËM¦óäÅ+‡ü¼k#fIñ+£e]ÛkÜ¡3çÓc˜bþúÆ7õ+nwÞþÐ'Ý)õÈô¾ì¡}\Ó¥yÐÉ4丰_«ÓoO}Ãolá9KQ>-þÎßaÜÊÉTºýÂ9ÞG~(CfÕ!?ú‹›«B £F±ÑÁIò4¾°&òËn4tÚ½-ìFÂþzôrÕ· ŽŠÒIãnA­.ÍXØ.vNì “*Žž€¬20–ÀòÛOm>:뙿CTÅmϵVõçO~¼\›x¤èVy=·T+íRaú<»»BȨ–&X¢;fM¥¬ð;ïT]˜J[Bd¨a[/,spÇ“[3 Å1ÖÑ_¸7k,IËu´x{]¬Jð!´•£ð]C0ZÀB²ÊlbI|¼sM°ÉgŠ¢2aX±ÌXËïd|¹|±ó¸ƒ@3®ý¤€¦›u£úh'ÄzŒ8L!m$Ïà÷mïÛ—Óhÿ*c w¬/6~‹H)£FkÏ8\E5Ȩ™ff™yɧàæWû°™o3'/Q -”h‹`vRdF^[V(×Õ^4QÊ ¨È‹‡×üZ§¿[ì­tvœM@Ðt!©‹t”I,€8“>crØŒ3Ô3V*ïF«À‘È|®™ý’A¤=ß³R…e@t긑 F½Ö’ÎüRÆ…µ·ÒI ºøc’SÍ{±„ƾ_RÜnçkÝ”˜h6¿·~t€3Ö_¿j0iª’ÄØrMìôl¶{ÓØ•"G9¢‚=´Û¿«Ë^c‚â¬$Á¥mzj-»uß@2«Žøµg:KÉ•ú‹yn -Î ½Á3¿Çõš^XëÔÐ i^$щAT}쳬*UÁa‚êw¤ÁIg_šËSZ2'YÃ9ûKfå¿Ð§WŽ•<ï ^|uíh£)¿ƒ<ƒ0_”Öë -›¾’^¼”0Áë×Ý_JlÇd‡8ÇõúÃÌg—ߟ[%³M¶¡¿fâ`mwð -]zšX¯òÖ-οé\ ·1VJ+£¸¨ ÄŒ“þ¾³md pßÿ~RÅÜžbÂGÅÌʆ^|ëu…ätnZD…e0[¯iºXc JÁþºÆÏúœvyeìAƒ` h˯ƒÉ¬CgVêíE¼ÝñN0TÚFš«ð]è -S¥*³aäâ°«UóØ$­ŠT%œwöýxB½Po)(Z_On·Íc ¾9×J ×ÕÛa«üœLàùb½Þ«ê!è^úî^*à£2ñb…¹õ¡ØŽ5åéϊز ;¤i“’úÍϺޯ_5?qÒOœàlÑ—½ ùŽqú£œ‘æktГ9Ø=×ÉDn%×ál(n¦kì+˜Ï¼}Op°3²-ySdÞêõ+Hë - kàO$îh¥¨cæÆõ8‘P¢¼?£?ڋШ…/A:lHvƒÒÀbe”Œ-2ÎÒÜ:(DoÚÝ´®qÊÔóõ3°{ÚN¦»fîoÏ1Q†íÕ5ÇÈÌÒ† k>-hŠc)«ëæ‡O;Mǽ¢ÇŒmª»uÏzò«¾„DˆÄÀ¢Å-ìG -Ù—Læ¬L×iGYÈLÏ$ÞÐpxWb•PÔÊ:Œñâx/ `”l8…¿â«Eæ-‘Ý³ê  jÎïÇ6 3ÚæÛݘGá/ùhe² Fâ½4øpëçÒFeë^$ÎiÉelãÁ·åçŸ7㵉 û9Õú"’®îìqRî(½4ޅöb±H÷”Buÿ_;sþÏãxt¸^Å"›cÒ­r,s³Ö+ -!ŒId&µÉ\ÉKnms-6ÇÃäuçJŒËQ¹C¼’¤ïñýíý¼Ïð|_|§Öøgò¹mÕ˜Ïl‘òñuwû¹Ó?(¨©øC¾üË䆡¨~À#Š|3"ÉA¸Ë4,œû<­ðÚ)1n½ü‚d²oãé¥"Öî!d+l•Ò·¬– A§ÉÌwý„äÀŽGh>Ç©¹óä€ ËHáLØÂ]i¾àÝuQrd©ÔŽÇ¦ÄümE©Õ¦YáŽÞ«Ì¾Àó‘ÍÝôÅu@ú*È®ŠûlµF…Öó_›Ž¿Ì“?²Î™¯ÁD#Á»Î0óÉ!§W ÎIKÅbå}Ùw®‘,©h!­´£8.¹ÄN„ý@ ÎL"KºeiIØ+nl& -*Ò2 „°Ö'C*H{ñŒù+$j y~:Sæ7ô›Jp :Ðaæ x­fV[wu¼g! Bk¿„>ºnÇÈ5(®˜iel¹xkë½k3éKEïÊèZ ÍL™|¥êAý4 gD#,tli®>¹ò°‰rŒ| 'Ȩå¬iÝjÓß×hŠ°v[îýZ3ÿû3“«UÈ·ÓjiíP´ëU—Uz2 öe'2f—ÿa§yüvÞ» 4ì0”‰‚¸t*.ï9"´ËîdÊß]ˆÓ]â•„?ˆ†×[é®qü<‚J·¹ÙE3s9K$Y{ ]ÖÙˆ.½v ó^ù¡ú~¨´Œqòz­ÓQ *{Ö¦pd©µüLÑÔYGEG~vt.V–ÞÒž9!äå3«å$Ô©ûÑrüeð´"v¥CsoÒ#n€6}ôñ'œ® çwsÞbGgŽv¶êŽæ@OQŠÇõÇ—[½iþâsöm9üˆ¤˜Ñø°däeTÃ<²¿ bâ3ݬøÔ/ü:h¶ÕµÞRg‡¶A¿qL)ê×9‚Žír–Ê’ë¯ûk’rQÃ)rhÀ_†? ¹Ç¶€FðËí&í}[ Ó»cÀ¥5.žhI£}D3‹Ú|ÍÖÞÿA 3iûБž…Û:ÅÚÎŒ¾h“°9¡HAC}[S] ÷î -±'³’¶®§üä ^ùú¯ ®/’Làäp–ãÿ° Þ o¶À§*8¬›®•TzéX½¡§Ô­`3õÒ°ªvQnç‚z‰î²Ìº§±ãºÞ5*Ì«t`åN[ð`\KXòÞÄj¹¸|FÊzK-aP˸ãüS!g¿ ;[“"_Ü,ûl -õ˜çÉçÈdÉúØ°ázÅ/NÌÿ ¿Qën¼¼1ö+2ȃ*æ×ç ¢„Ê!ç«0l³:¿1¯…;%ÍR;5¥p } ž½*9ð¬·Ç¦‘à®^ƒÖGûû@…´ŒWÜ ˆÿ%­l€½_e£qä_iŠ¤8邆MÌï}QÍîc¨6¿,_ô}lÂrxf¨üj :7˜˜,lÊí–­6[yœªº´¢`¶AoŶíü} ‘©ÏÉBCß'/u[¥îå¥íºÅ: -Ò ­%ç!ÏýO#_Ä"µÇ£2û÷Ô],h`wÏ£½Æw%~h]¦ŒGÌ -9zâ%ÊŒn™ ¼‰ï-éEgŽÔZŸ·Ú{âq"‚û⇟€Ð¥RteÓÞhñD4¶ºëô¦JÕ¸‚\Ï&Ûêdë §ÓêLí›_ãQ<à‰ï]~E}´è„Õ<‘ˆ|ÉSÉH¤Ê æ(äQ"è‡æù}Fþ¦GDv<†B{Bª¶/­ÞU]‘NØ×ΟChboK+™ŠUÞ\4Ðdª…D­ -Á÷ÝñŒ^qÒ./ï!®ÞXßåŸèšÊ7¤U¤Mlé'NùZͪ@WP‰¦q[’™îML„×RóË6wF¸`;f€4ZñÔcX‰—VƒZO—WTqŠ­$ý"røKœøü2cwjxß ÎMžÑ‰eŽv–‘ÑDk£÷^Ì~Pj|.!–Ùá :èÄ}O ¿”·s LmŽoý©áâû¿BÖ•— -,-³Ðªk6¼Æœ¡ÔAFT40"ƒ’p»Eè~sÔt4ý*ø>#È -£ A,Ô?¥Eó¼B¾¯;‚l+Ƕ«ùæü •üLLÞ¬ûEü±‘oõÖ©âÐòŒ|ȾÁØ>ÁszÉümÄ}ÆD:Êl8FõxXÅö°¿mpKVyöö4w§œlCÚ+#?i”¿GxPº$©ì««Á*KN™«€b6À Øé2íM•#¯å†ýç¬öTËå²ÃϺLÓ‡Ó7”ÆŽg$´XJ£#}žI4¦‚/nx"tDÅb¯8 Ò"“· -ŸÙP*lú÷£EãªÔp™‘.bÑ·®!ý°‹ŸnË*“Î-x¸å¾¼¾`ií|«ŽµÃûxæðbÅähL²¢ÅO‡B¥^(ˆ·`tHDÌ÷qøj¤&/B]–*U4 -ÝÝ])Pfm?ý0©­z.ÿ3†õ@rkÔ "©·”|¬wÀ¤&6ªþíc _01Fþͧ)–wä¹P7×ù?‰þü+‚Û„;8bP`Žè/ú?Þ» -endstream -endobj -383 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 700 0 R -/FirstChar 32 -/LastChar 187 -/Widths 728 0 R -/BaseFont /ADGXWW+NimbusRomNo9L-Regu -/FontDescriptor 381 0 R ->> endobj -381 0 obj << -/Ascent 678 -/CapHeight 651 -/Descent -216 -/FontName /ADGXWW+NimbusRomNo9L-Regu -/ItalicAngle 0 -/StemV 85 -/XHeight 450 -/FontBBox [-168 -281 1000 924] -/Flags 4 -/CharSet (/space/exclam/ampersand/quoteright/parenleft/parenright/asterisk/comma/hyphen/period/slash/zero/one/two/three/four/five/colon/equal/question/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/bracketleft/bracketright/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/braceleft/braceright/guillemotleft/guillemotright) -/FontFile 382 0 R ->> endobj -728 0 obj -[250 333 0 0 0 0 778 333 333 333 500 0 250 333 250 278 500 500 500 500 500 500 0 0 0 0 278 0 0 564 0 444 0 722 667 667 722 611 556 722 722 333 0 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 0 333 0 333 0 0 0 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 0 333 389 278 500 500 722 500 500 444 480 0 480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 ] -endobj -379 0 obj << -/Length1 1777 -/Length2 12839 -/Length3 532 -/Length 13832 -/Filter /FlateDecode ->> -stream -xÚíµUX\ݲ°‹»»Ó¸»»»»;»;Aƒ»,¸ îîN€àÁIðkï½’íËs®Îsºû¢ß5F½Usöl*2U &1Kgs ´³“3?@BI\—ÀÆÌÊ*Ž@E%á4ó°uv’4óòØøøØÒ@sÐЇŸ‹“Ÿ• - áìâëfkmã • û'‰ æt³µ0s(™yØAgX˜94œ-l¾Ì1€ú?;Üê@w ›Ð’ `iká0ZÛ:!°üã$çdå àù¯°¥§Ëÿ,yÝÜARÚiÒ@’–ÎN¾K ‹²3¨äòÿ†Ö.íéà læøÏñÿšÔÿZ7s´uðýï gGO @ÉÙèæôŸ©:Àÿ’wvø_eä<Ìl-Äœ¬€Öÿ -ÙºKÛú-Um=,lVfîÀÅN–ÿ©Ü¿XÄå”ÅTþûšþkQÕÌÖÉCÓ×åßÇþ“ý/fûàé¸Ùú XAãe%‚ÞÿóÍè?ŠI9Y8[Ú:Yع¸fnnf¾ »D\6€­“%Ðô³0;9{€¶@# X9»!üsAÙØ,V¶ÿÄþ…œWOg ¥¹Ã]ºÿYád°¸˜¹€VEÙþ;úÉ\_ ÓŸ7(tñ-ÿ„x,~@7ç?>‹³ðß̪éáýg TÍÃÆ øWÆ?úΞnÿôãõW¨#wÐ,ÿÍ 5w ×_f ¹±ÿ/}.‹“íß" S gç?›¸ALjý!Ðâ´]âöJþ!P‹Rÿ&PƒÒԞ̵&û‡@}Éý!Pu…?ª®ø‡@Õ•þ¨ºòUWù7ñ‚ª«þ!Puµ?ª®þ‡@Õ5þh¤šä¢õ‡@.Úä¢ó‡@.ºä¢÷oâ¹èÿ!Ð>³?Úgþ‡@û,þMl¬ –!¨ à_øÏýñ‚ú°þ AØü… NlÿBP+v!ÈÉþ/I9ü… +Ç?úµ³8ý… +ç¿dåò‚¬\ÿB•Û_øÏ û‚¬<þB•ç_²òú AVÞdåó‚¬|ÿB•ß¿ð?ÎÄÅ}ü™8@Óebý*Aœ>NîÀÿ+ÓÂÓ ô$ðøןè©ø?le z†>@ „µoÎáv™-‘•ARÅsUÐôàâÖ­IÊM}‹Ýˆa«Éàe -®ô[ºÏÕ9˜(GÐG¤Þ¿ ÝcºÔ¦¥¯B\“²–ߎ¼LrüÚ uos”|]ÈÂÎP;[–~s«,lMV¦é• ç]œ©ÒJjÃnõx5÷ç†sóèJç8h}Œh¤æ SGËr­Œâü¸é––µ9d÷®aýƹËã¹®0õÍìÉ&6Ö jÅùû¡Hh`ûv3×@ä~þqMAKå×%–:¾Cý†ßÒ>Þí÷†ûÍ$Ïû’›ãÕ„‚“}f¡I«B£ÚOË=o“xLõûÙ™·–KpÝ°ÎÀR” ´ñ±øðœÆSôl1NÍtò»º|­›y¤Ú0JÇ\bó´Ö¾íý ÷£Ìîá¨È–HñÄ‚ÛH€C¯D‹óA›uà—Ë¢”(ñxØ·†_`„U6~µŽëì®Ê¾ŸžåV‹Šh2ÇÒBSv}»9RžÕ*@8·Íñl£c.Hulº—àHŒø€–ÀÈ óšµ*cæ¿‚rL‹û¸U/x4µ­Ò¢–Š9ïCæ-dã½ ±Ýh[ÜçWf…ߊòsXè3[lQ$B“2mÇÈ Ó:‘Ä!€|;Å>‘Y¼ï¡rd Ñ<ïÔ›•Ò !!²\5 ö“Vq²^}>w gÁç¾Ü†»_ÂÊW£Æ"Y¬gpÆAÎ=ÔV5ú|qL·´0ô³ÚÚ|ØaòÙç<¢«î³WÌ”±’˜Ò©å¡zJs¶ J½¤8CÓçe)C(’¯=Phèx]:·4lÇ®¾œµ®úƒFܾ­áã¢ÒGÓ‚«(ó÷ÚÔ Ê³ßC†$ŸÍáÍ úBÜßñ »O( ß!Û/…½Fò=ÌQH  o©Ç*.éÐ<½2oØ$WhË…ØÕšUÊ –STȆN½Eàš¶B-¬P›9 5KQ´“–G+jPäx~Šdfq Ö:® Ä!ë9¡åï5T5û><«ûÖ6Û”QöP/ÓôÞ]ìXë%Æúà%–t½ ªÙ2ÁÖ÷t¦"9Ãg6óì ~´7+µølÍÇ>¥Ëñ\lÔH¿…FÁµ¼á.¿_c|i¥»’rfŽIBüR"v'üžD¶¶4”|kr§h†cXëwbkxùÅe¿Éri INAÇ¥£±Òã$ëžá-醽8ˆiBEbW¨A0m»â|¯•G–¦'’ó,8:¤¶PzfQ2ö—Æïµ’›´gËÄ‚¾L\ÎNÛIw‰Oõ›Ä’åý„·é'¸J/%¦ïB@•‚&žÓ|G«— -¿ ö lî1YŽ(ÜÔßµ–âOTîó -Ç¿…ÐrEÞ­ÇëB1óœÈ’‡ò$ciøþhÑë1+·hFñÐ08tÈ‹‡Ù|’Ä3ÌËKöàãþÈm–‰ûÜ|íÄÈž³Ó!F*²L¾6È¿Ê»²1¾Íã#ËÂõÌ:ñzÆß…¯ÂÆ4]¯îoÎÕºß.Sèëìa‘8 ¶¡ï¾Ñ¢ücð“êäæŸs`‹gGf ©2š -g¼²:ÞörÑkúT ~émQ\äî&A+°õp>ó9sjÓ«‚kÐq&¯íqÒjʵ9é®Z_ÝÔ@¬”G ìà^0š83¿ôœuÌâh'†—æ&ËeâÑ­ÛYç”9ó™Â…Q¸5PΤ2…ý AIÄ("==Ff§ÁÔrŠÿøNå]ã×-G—¦M­®!ÎlïûP»©ÌW+³íðß«µ‹çp/ö_qsK¥sˆ^ÆÌGÑ1!³ñuìGf­ {H!7 èã?;jBÚtøÅ÷fl̵eÄͧQ+;Î#¤GIø´ t¼ù}‰•SL7!ˆ.6/Ôìòšèì5ÏØ+ÿ´26BärCc–íù5' -&b—úÎo5Q‰Ç‰PÆ~ûû˜Í‹ÝóÚ·´¯f`8CkwVs_YàÏáÚðÁëà#‡¹ 1Ž¨ÁLykk°ßØDfv?‘F§Ô€Mø·>eº{/•½sõvÑZ•º5a%?µAIÙu›ßX@G?ØüNïMÖ`!œ§ -qÆŠ,SñZ˱ˆéÛ@#ÝæƒCoêÇXsk<Ö v¦ &nÜLa¢ð Ä{‡{µÒКí¼ôÍxGŸN›}ív3Þø5}À$€Ÿ—ÍÏmõ‹_º{A#¶Ð'†”ßœ ¹PYÕ¢9¾ß–ŸV¥D8‘¤²%Dê]­zñYÔU Ï·wp¢"¤}5¢°¿*¶§üJ:çªÐiZºª[ø {x6"ö÷*M ãðÔÐ ?/@9ú©š_‹ûQöb ;ésáÒ¯— -Ÿ‘”xÞ‘ÄRß¾;C*¸] -¸ø½µŽëÉš'ÞÎUKÏP³,ÅîÇäïrm -d¨Ðß¿?Ðà’6Îî¬Þ†½Ø°î?L¶uUñÏÒ'˜)t²ËL¾‹ š·Ø— -Þ»G_NX¼0¹ÀChÁf%bWä—ž¼ã-]Ý·>]Èòµ”(5kßÑT¢•zùN¼¤¦ ¼ŠÂaIi25Êßš „¦Þth!øîn[~îAêÕÜïJBÞs1)]LÆù†@F\ê‚kí“uÒ–F‘»Ö/“ã•Í.òK¶äúS×”¥ˆïáÞL’“bsìG¶Úq³ l·šp²^¾‡fôÊ.Ê ,AgZ°°ñ×5ü­—ùˆö5á¼­˜ô¸ CÌãVæi)¦Â!ßLûTœ²ÜÈÚ1> -ÃþlÙ«À¨¡²©bŽqÐ;¹`¥‡…F¥¸’[韜ŽÛ×>i‰n]ÂnÚS RA‡è™eF‰²ç\B8RîÒšêûõr>Ò­šÂÔdÎÈ%{Xkb´ÚlV~t\ÄXÊ»A4¢)Yž•eDØx~?L¸KÆz7KD™M¬¸\¿lk•ÝV™×îRk?Ç{ñÏ‚§ G®0ÉÂcø:£lqÒ]ê„H£@àÊ ~±W‡9…Ûå¡3¶i‡™"x6óGß„¶·ÄcºÐ"Êåa~®ùE‚U{*Fl,0Œ´¯I Erõ§‘.õœíâÜ#¢EÕÓkÊ5Çm¸Ÿ|åü=†ïXí€ÉxéP ðëÐD.©¡ -ì –¦¼ºôê°·Q˜ gÆu¨éÎ’›V’ÖA¢ëH[¿VsåT #[<<Æuiýp{ëd敾!ˆâtJÏÝö<YÚ7ÌbZ\¯c ]ÏVlÁbŠãŸUQ¡úpLÑ{óèÁ-‡JŠ:®T<*ì+!Üêu0ÅK,«!GÔRÛ QÒ9Öcî²W[ÔáÝ™†:઼ŠÚcîËõ¥ñ9ðÏV}ÔÇ×.560Û¢°¢„:Tlž³ãž|4!p¹Çá½`EÞì+ÛUw€uì@–}Õ¡Úøø®î‹¾-a«§í–f˜Ó/GÕXæÂ%¥Ä.‰TDuŸVa»¦(—‡>û‰º_@_¤ffúF‚U†áöœt»Ÿ·sŸ1*í”Zj -f~çѪ®¬Sñ‘“.¹—ì)VmúC¾uÛšùåHóŠâVÔ¢cçÒ¶ 9¾"Á’¡ - ýÂBm†!ä$Lº÷ªÜ{Ä žç¨ëïÝ0ÄÅnGåp}9p:G³¿î5ý>ò5|h•–y5p#ÓÍv’EÖFø›AXŸ`ZúÓ×:™{jq´Cí`«õé¬2¤7ý{¶Šµ‡%®"W1uÞ‹ß„^qTeFò-xÇ/ÙQÉåúâб$P¶^ÜRçîOz ƒã]HˆN¦¢ìÌÀ‚óô:{a’¨8ú1„ IÀxäZë 7fÒÜ$·:uº¼9Vwh+±,V$ç°K½/Ü;:æt¡Ï?Œ²˜RƒsÛÑ>,™Ì¦ÛŠ -ðº„> ÎrŠ´³8.¸_åÉ™m$߆‹îhŽó{ cjª¬aBħc#á ÆòáÜÖ‡OӇ߸ºrÂ/—ÞGÏ_3Ô›Ó™äýk…uDtŸ49c½Û±iê<Ë^jIxrq¢¡!Í.0oÄ~I3ãž¹Ïúªï¨kÁ SÏù0å_=")ÀñÆÉt滀ó©ºtÊ0tð¢b•Z’]Ë?¨lFëyõç™ÏhCã'ÎHXj&·4á"ÓMÜÐÇó-÷˜¼‘hxç’M…EA6Us8«½ácu‘†¼ì -1íšî>cV33n¤i*‰†5Õ{¥ÿX5!„7÷OÝ h›K;úõ‹P—cÑ4½‰Õ×åv}ãáÖZIŹð -B…j5£þFÇ¢[*Ò©M”øÄQ4¢4UÜ«lOÇ/O™ëP_ñŒ$Ý‚ç“ÿ¢±ÎÒ0£’g€…Ž~RRÜ—5Æž6>¾„w¾"ÃJÕƒr=ÜéÂÊ•?(¨É: Ì"‹,å)ƒ«q3[ùá{혡n„Ýsƺ¸MAŸ Óµ9q/±Wð—=š -Å/Áwœ¬9W,.ÈϔҟvM<Ô£6$d³iv¥å—Þ[ïç30õj©¿Ðg2‘ óI!r°>ÃA×Î^CHVÙÒª?#?/¢õÓsVK®E8M·¿l"ÎòÍ´ -¦Í%þlÿœÅ¡f¤9/‹™¿.í¸øT¶"v¸üPÌá5šl£E她 ²WB:sM~ˆõ¸æ«q1ÊÀ£ |F–÷æÿDbGTXŠ!½Ã¹ë*F EÕ_Â&c›6Êc2yºîŽá@*Z„0lN¿«*§×3—gŒ&lÍõ¾¤³ºõ5ÐHû Þ¼*Óͯ­«è_Öï2»Sb!¼ÚK1n&l*Ò+iÇ\߆$V„¡-;l×–ƒm¸f´e¬Ù•¾vÁ Y‚.ö '»,Dgµcdu߉ -Ä|—$ÆL!°\&ªX­mˆmR ÇxhðâDžû£÷‹Õ6C›<—ÞÙi²;ËÀÅÆÉÛÖW0Ý g¹¹‘y„5U}t²p”æu’ÊÚç&]YìÐw~IBIÌϽhí'´Ixà¿c„ÌÆΘa4ÑñÌ’vNPQÛ–%­×s/Ù7Ë i¬[ŠÁÖ(d<º½„©Ýc~C$6p!„ô+ó’Õ˜[¾wO öõS¢¶¯®óƒãŒo.Í3°fUâaÒ&0ÏŸ@[†t4ãÎõ UK·1æ$‘s s0À˜ZF$X'W†?ö‡Â0*åeÏND3^•¡Z ÃjRŸŠ…¦:±ª (/};N_¨&Åå\ÉW4­÷u`³¨;I½àp‘ÓM.!ÛÖU ŽoTU~’_¡>€×ß|Oíê]k ’žŸ_{T°²«èë1÷Êm9ñ€+$s°ãxZ6&ÌBVÿ…ÿ@? Èü¥‡Çý«É½tú\Òtü%ì¹q+]CÂIó4Í¡¸í€ä­ÿhf„Â)B¸h†Ô•ñµí{ðq?Ÿ‘-P[H#̧”q¦¿™¬,Â;Ç“¤øa…Îiñ7ò ‰M2\u‚QMj¸i•D¬÷VXÃU².­§òÚ—9ÂÌWš0qM ³‘%ÙŽh°óÂO£0ߘ•Å:îÞU¦ç¦’ˆ™GïÁÖÁÜ•üŸŠ˜ÈI¿iy·yÇQp¯lÎæ+fþÄ48"Ú&N3Uîø6žý0_>Dì.Pi ;^»1ª\èCM‹O/Ï7;p‘]Tmò¥º½5ÍòôÃ׊ܩ÷ÞÊÂû£â”ÂñgJ8<ã}êc{³4A !;_ˆà>/×ÍHIºoA íó¹yQã5×g|¤µî…Ä¥ìXfÉ>BPŠ`û縸ègÙ$H;éîNÒÇ­„?ñúXXõaÉô&Ø+OJÌt¡´ÍL”Þër•’²…°ÇŽ¤£Ãú¿húáígó 02ÑÐ'íöÓúšÜhÍXЉÃEnô{%š·Û7X¤ÂÙ¾áI×Þît×8Ð}IGyŒöý–׉+pdN˜#ìGYÎx¾b/Í›;ÜkÒ˜üÊà˜Õ€-Pë}L¹Êd+šQ²º“HÔ²¤õÅ #ax'‡¿•>ûÒ°ËFöP4)ãGЫk7bŽT-bZ¹$-úP殮É<!úMÛp­îŠõ°9ÃòÐx榓*(~ÉGå³1æÙôF,;ÔW¡Oø`¢ ¤„ù¬Ã'G†Ô¼È “¬ž¹µ­ù*oɯ]ìù)*ÿ•7Üóz`U0†ì”¢LXX‹9‡3D£D†ë¡KQ~p£RÐM0Åñâĸñ×ÊÞ×TS ˆ©ÓQf*ƒm¡t?ÿ.t6¬r4bü 73/ÁÀ/H–H³ u sDN!ðo¦+~óRl«cÕIqjÚS€Ú"4­þòµ»&IÐòªT«“Îþ75Jõ« {nÍè£wZ#°žmjr÷øµý<©þÛ\´õ´Üˆ[,8=pÖ9Ù¬‚_áJƒ‡#ÍànõÚ‘JªEfõkP_&f9Áì Ì›7Ï -ÉÅ+ª4(dbÙ«3{Å7fz®à6`vR©ÕÆWGø©>•"\¢||™%è÷‹ý»ê{7ÜÚ”'‹b¬¹j‰^’ä,Jæ1¾¯”¯]˜‹gf‚v4Ü!GÏ•®Ñ~°ZçÍ¡6"ŵHúC2~þðn×·ý0‰ÁºN©iíKuÁ1à ª÷X~ÛÕšç+J¸3ìö1—–gCÉìÄ®h_Ȧ8ûB/¯+|5ŸdØĨ/÷(®%" ¨-¾§±Ø"¹*tÖ:jÆhÔ´dºAHÍàæé?s|äø pMä)¬JÔš>ÓèV€³èN÷Ã:‰½¬07¿A[ÌØ;ÎF b'?±®gŠTð\¦¼Í‚jßµ ñ BB–·›ÁV«Ö±ý -ȯ+ÉÇbFÁ¯‰Öz¹ ;m &wøº -/¤l.]*“ú:åá`zøBz“LJJñøfao‚Ùñ§®šþÏž—ùgí‘vX¤_ú >ÒÔ2¹(–—mm -3ã -( ØW¾€gä‡oCøµÐØuÓÅÔ1¼#Œ?ˆÌs×0¡V®Lü¢Ì6úúhð¹‡ãvh|*/,>Q²fU›Zœ’¶ø²aI"AôÛé‹Lûa â×c-Xƒ›4þŠË†¥"†q˜´H $¿f Ñ;Á¬ß|.{Piü:¢Úy®¤ 3½ÀÁæ"$‘‚…·«Ò|‡YlX8?Òò)°ó’üB¾a6çsf¯úÕÔ(¬É›*Žü»ñd{ÚðøI×d`Eq®4R0Ê›·Ð–.ÉdÖ‘ ÖœAÈFloßU/êzDV‹jý¸„Â[ñšŠ¡EKˆ¦ã ëØ),Ö…GQþì®26½ôgÝ:Ï.RúË^ÿL-œ‰*B#·|º^Àñ®lá #Ç#ÉökX¿¼ÌÏ—¦q‰ë…™ÓyG‡iur3e.r´Döš^öTX Ý¡¯|×ùYÃG׳{QÁƒÑ(ú\ÒA=;q8¦Äì^-¿VV»Ò}ª°¶öuw¸k¼ñtƒv_VÎb‚Ù!P±§1XQàqŠËß<ëž"!3»,Åu·wt¸óšµ§ Œ˜ɇCõ£?vã¢xçá½3ñŽ0ûŽ÷ûŽq”-“bK ·Diù*•vQ­âkÏg—À÷Úe)k¿þ˜ÙfF·ÕØþémÿòù•/9¤DáJŸ¯9!å¦xSÙo3ß?¾³ò<êÊÈô.\‹šç(ïuŸ¢J0ÐO º‹"Ö\€ß®mJV&ð)o»àú¶&s´¢ï­)®Fä%ÿ¼3ºÑä§æDÆ™ÉbÄÏÜ›0„wÞâ%¢¯ç“«3û?tw¥‹\ñ}hGús?bÿ2ž_j'–X<¨n «T…á%{A±-¢t€Áý8@yv¡¡‹~‡ÒrÿÄÛev‹´×ê8°sŽãšBÆá?A¥Anº¾þbáÐTóNE@¸…འ-pJÅ`Þø @+ÓœçýM7äa1k>rÿÎÂÙ¥²ü®ñÂ?«µ‘’“ëRKùæ\ÿ('ÙI͈ü*dôýxïváu+kã¡ŒNÅ—œ˜ŒܼŠ -wÏò•¢«6SVŒçórÛ€ø÷L†¾…·Cá‚|†hocÔh9Tß$(6¢+vãéÚ2«Šç/HE“ú’0¾9ïó~âj}ŸåšÂX™ÝiÇT‘7qK ÊÉxÙôå\ Ëè øiÚWa†Æ¸cú#Ù‚¡w¢ßz+z£°·<½”¢;ÿØÍ®º%þûØÿ -!a`÷¾µ¢]Ù·aÖNk:'C‘øÍWIÞ7ÎÚÀÁç´ÛŠ[ˆ@Ò³© l'uÇðû[´ŠHõoDÞ.è ǹç7ÃÁÛ€`+)ä×fnC‚PÅJçmÄ×s<ýGþO§o¸4–±Žµ›šh(ÎS4{§­£Št‚mÊ>Vð >sy¿Êåøœ¾àÿBöa³^À­snôívC,³í ˆu “ôÔøÅï+5ot„ðð Wx‚@€Åcö~œ‰#ëà×7[ÁƉ^‹Rè­/Y™ ô)¦àœÚ$ Ú©;W=†Iæ‹$Îñ¿F–×l\Rö §“üá›Á3 >a ‰=ˆF@àGÂ#jM»$]Ô¶O¥óíÆ‚.½ù†4¶ÊtõF›rîëåodÜ ‡¢´ÖKÀ§ªßsa=ñ+8ö¾þâÈâNXÊ­ÒÚœO’–ú4 yžçµÒ•Ñ,ê÷óZÚ'¼E°Ý94„´Ã}~)|Qou?½[šŒ-¡ä¯Õy¨ÃÙpŠ%ÎÝèö¾'ÔrÒ×ýâ—0Kû)(A; -‚a[§XÌl§€yPÄø,׶aL.k¤“`„©ýhÔÓ‘È°°d¾VŒ|jeÜ®ÎBµ¸¡0CYåÜÊÓ†»$ñ]Gü¥»#ûwQ yåÔ’àpàÇ]<žð% -ÑÛ -I}lVc¯è£b‡²_ašeã¥Ó•æÛu½74zhíOw“û>Äë~¡ÈÍóÇíE+‡{-£áÇ‹u2‹Ïz“ªv6º Ñ6øópçí M­5vÖb4RÔíþ+©Ç°„b!?t2P>Ê~ë<ýY?ÌÕ8‘u ^°¦Ï´Ú&D<ÿå0×Õ JÝ‚Š¹­µÌG¹¦Q„Vµòô©o_2ü@²µ~ Wæg„Í/¡ðÃVöìδ¥Œ;ç»Mm8éÞtôÏR¬X›P}V§’ÍßML臅™}>œC‘‰MiKï]pË×T¯ÈKjtßÉÞÓù}v'Nr3ç©H€ûÃ#äâRóƒ #ž“ߪ$qp½Ž4)¹à4ì›Û ­}­áÃ!½4NžbXzRÄ·½»³õ¨Ìó±Ã¸­Rµû/“tŽ–ØõÝl'Ó[†Æ·ChñZÖq¸]œãÞ_f¿bÖg†«n}2À®T Ó©¦¿C•/æ|pyú±ÌA´´æg¬U×ßÔ>«hözºHb¦€ò—ë˜õ’CŠ­'¿ÑŇ#euûùVGx(9þ*×˵Œ"XÑ`õVì<æ½:¥Hºð²é’&Þr1—R9œýt³¡‡ðÂÙ¹Sóþ©süˆEèI-zG¡ûÍ›ŸÓ3ÀdÒ#÷±Œù™m¢"A<?‘ ŽSwZQ;"îìVg¥Oç*vfÖ`ØÁôÂ4µ.éªwxñòÛ8ê7¼±õX|ïÊ'^“ öü]…•Ž'Òaå ¿<0s·“ÒíföŸ¯ÄÔbÝ+cÌ¥q®ûþ îîgäL¤Ù´§¬Ô}ÄoŸÍ¶#^ו"Ã&ÕÁ›îÈ夊­Yå_°QZä –þK;:å†ëÕÅ–Çãþ‚qM„”ñp›˜÷r´–ˆ|ð”êk»Û-j;oÑŽ[Ë&§â‘ŽDÿ‚9™ ‹@dÙ—®ü/Stã䥎6ôV«©Ä'DM½ŒO†yÆ"2·$ƒ?;wüNÏÑË•bpˆËÈ•à›'ºÔ›¢i7£qCïMè^®QKa‘•òŸ5Ófá÷±®±»ÑÖ8{-ÝJi”=5Nu‰=,E²ßŠE¹„AʯÓE½Õßµgæô˜“3ë?ÁÐ=‰yFÍñ…×gé#Qù±¶Wë$ -±Jo3•¥¼rÂ4D&I¾×Mù0”ppeB­ÿ‚H úöÜ9ayM|âä±ox8 ]íø!Yyî¡‹Sš+ªð$}¯*¼Æ!þÛ --Ú|j˜w‘ay:OsáDKÿ³uT„ÌîBú£àþÀуû6Ç{‹D(Éå·ŠR"E5£C¦æ7Ÿ^)ä±¥a\Â9ß*ÄáÁ5låš_Û¿¦h1þ$9 ) -3½«£.'’A©±~·p•2•.à¡ðÉ0°$I¤\'öŽ«Y_»JLÓ;+æöú>ál¯ðrŒP§Ù‡70ÅÒã–^ÌŒ©‘£=¦ŸŽÝ<àµa92çÖôk/×Ö—_óXEôQäw&˜¯‚ -ðÂo(hBå²OýkKµO ÷{ÓÊ Re«ŸwŠË[ûõדoßú—­Ö3÷§x›äWœû¯c8Ç)yâÃ= ‰Á6—szMàv‘g_œ·Ñ ­¶ˆ¶XÞ¨¶›9ÑnOgVŸÒy® 6lyË/»¤ìv“ªÑ Ä~Ã:|5øM6–Ãh«ˆ}¹åž -f1%æ戃3ŠÉp~EêOQLAýõá¬ÿ„•3ûÐw훯?âŠ*·jS1 1q>„£óQK©w›î+¾®}òq‡]B„>%BN×ô™…›¥ Ëë‡f]¼6¨«m'Zä²Vf@`.u§?úŠ á ¾+ÓÈ‹§9üöÄ~W¸¸È‡J¯šÀÜ)ˆ·Qˆ§û±曤ˆIÏ@„¥ÁºÊÊù¾­À thB`33Ö€Ï.n>!8[€¾Õê[›úø«Kƒ¼x3º¶JÁšPƒžlþ,¡(Å„¦7Lúª€/Y×)8þ>²¦….È?‡Åzf2Ùë{‹ÿhaQ®SE ¾FCDZÕDÒ½!o¦ïMІ¦–S,r¥»e/G‘±4±§T`f=ϼ,&lïZnÄ3å1ŠEB߆pð{ì‰Ô9?ö¨«yÝu⻞EßÄEäcGÑ'ž/4)XÚp$§ŸK£ É-¢Ë¥x?O’ϵ5eïKô{`žn÷ÉžýXDiÈÐü€¡l®WüÑ>S¥2fOˆú´ã³é>ûc§£çÔ a#ç'_Ekžy_rŠ-^Z ÓVüE̼¯]…¿ÃÑ:M%¡̱EøÚ¯ÛÔ9†lÍçý¤HP_ªôçê-³ ÚÖ)Š°‰úvʉ¹ò‹:EW‘£MÒƒRŠß± PYÀÙú8°æ„Ö ê ž"P»àðƒ÷Nf3„ßßsð㋃íö9FN›v}£²Ã2?Žy«Mëëîg8¡ø;1d ÉP+ÀÍê»^ø_&Y©ûÁI§K8Q.,Õ›UóViìúD$qaTok‘ºÉ­%ƒÏÖ÷ÞíP,eâù«†Ý§Äƨ9§Ûå´TÀTþ~òYû{¡Ý‡‹¼.ßàê£(ööEט„YJØQ1[9{þ25E'H”[¸èylë6¼ÒkÞÑh"gXìaa©óë¹íý‹ÑsáCbŠ‹_°,ŸÀÌóqª?¸s oâ3Íêmô»"% $ÐI—jo!Ê‘Çw­7ÔôÙaˆ@k^ ÕjJÑk¦†&ÝIä¤_Ö›æÑû³Ü®–Ïf]¸ALP-õ¢²ø¯>õ7×ÃÞê±Ã¢7si½¾ùs¾bžÈJÿàQ''Òïf…·6ô‰ržXŠŒ~µè™ß³Ük¨Ñ—uùÚÁÜ¢Á%ý0ɼ@ö*2ËðYxER¾xƒ#C¨'ün ?þcüÊÊË’Ý"S\&zNž“‹îŽËn=NJ UXìm -8²ÆÔÆ‘ñg- °º–Þê¬tTG²Þ ÿ@ºqÙdµÑÏ€K¹}`ÙÝà3àÛù6#`øÞœNLûÒò§«0ãÎoèIfÙ‡œì ŽÞ)X'Ø9 ËO™þH¬!§)ßËb.‰¦ð½Ó»àêIJg£Kè^~‘µÊÊùLäø`ÿ¾ Ù®ªƒx¯.Ò…*>=n‡ºÁZe›‹¥¾ÍEuºóGþÄg ŠUF~­žƒY›¥ ¯®HŒ§æ”Ã5Æþ~ð&ºXÿ³·Ûi É)¹žë3{†à~”6j‰ê‘Ýï(`ï¢Eî*F%“B©¹JÀšáôÓßu,ã–€ üÓš×þìµezï¶À­æ>‡«Jm’ ™¢ì䢳@üO¿vwžšNÖmä -.ËþñÀüìæÄ¡»ô`5¨ÖÅSB™”ªñt.íòX¯/‰hˆwÛäXâȧ£ù>Åúwá ͯëDšÝ ~³;-—TO;&>}¡®¿Õî“ÓófXFŠ"Zû;¢óurPjðî€cTª×?cšØ:MC\ÿ2?Ð:ü>C¬âKfOÝ y¯N›Ôm¨Ëå”\¤¢›’$e“CÅåÅb'Ƙâ›4Éû%@ nu¦òó¨¯ÁÀ“,¹PPj8–~º¡ N«öÓ§~¢n4|'[²’@¶UV(eéÖòÉp~ëBiÄsÏfw§UF…Qª-ó`ø=ËéGS ˆMŠ¸™¨\‡‹–A¨mmá—¶Çê‰G—D™vþÚ¸2ÜŽÇ4¯N•ÖÁΦ’ß‚eêÈä µÌÂD0L»r‡ÙÝ–"Ãß’'Y¹-ÔGÙšnåŠÐT;±”×–l30qZëªoHŽs'ÙÆ«úÓ>žb*Ó¼“R@&V?f¶‹€ Ç6šòÃÊbxv<¤Ì•/lH?Ìùju\^^ä+Œ~ÏWjRlÂC™ÈM\ž‚õþ鉾hL¥hС{ƒ=s‹ž÷&ÓýLHÀ‡´@|5<âd¸B‚´ÑºßîØ®Á#ÚÞ †Dw2 –Ì™šLw®kñÁŒí!ÌäÁÖ¼î#s•W'–{³ž\˜Fí¿ÿŽ+§_OMüúY>{eÃp±ñzü»òMR$W -<œ÷Wº8Ä'ÄúÍÒ0Îðë«KÑÃïùàgAµ%Ž6±ªëPdx¹–wÌêl=óbÖÉîЫäfêcdo‚p9‚\<©VO¯âç_:;ç&‚:XˆZ“ؼ趺ƒt|YλÌUQ‚ÅÇ”<B|1£#Û<ŠH¸Õi6T¹Mõ[–r±ƒ³4YEW©¹yeCÅÑ âïé½-6醨%úš*Œêä•gã:ƒz\_Î/•b^Þ$)÷̈^Á߈‘ã×{#f#ä¾<Çy­,çò§¸A{þªé?HÞomëÃЂÙ6 if•½¶Á¿SÀ+¿[Ë‘˜+²¹ ?ãÎS‹ZB‰Œ -'ˆRFã[º\I;X¦é2R*ï ðfS½~p\lBl žÚdµƒË^)Ýë„5Vûu#0Â1ÓþMþ±Èµ2àÑ~b -Û?!Y""1ÖÔ¤JEÑê4¯ rB‡Ëì÷…—»£º+´…8ÓVkø=¢uãÃ\ÞŽÀ™}¨™f«Ëã!!óR„ºziIÌ»F ¡QÃáܸåy©í¹ kðngýƒÎ:®Æºº#Ì|­e¾ˆÞ8èø¢ƒµ…ˆë–wnu¨z=LìK¹crÅP„ÄNgÛ0I[t3ýÖËò‚†àõI`:Å2Y´7cæjM&4†>~`ÁDï óªJR´49¸¨Ÿª—΂”/~& ,;dlt¬Xÿ¡Î -Héëaýž©ÇÉÖ<ñvb("49ŠK­â©ÖN8ÆFGdª9šB]6šçÉ/[lÛ­ ³çja5-€P|Uï '$cÜ}cÿaG.±&jîat+’äøÄADÔ`.x'ÿŒÚ;´„ƒUUãÙ´J Ô]ŒZo ½Å#©ÿá‡,ö/´çï$W¸,ˆ`Ï"I.ú°¦ž‡}½=@nI¹ULÂhX§Ý5€ôQnrvuo«Ýù(¶ÖG‚Ýû¡oÈ\¤çÎXkݽ ®x‹zMç³|1" -˜(°Þ©¾Uf–&…ýå”À´÷Ôê‹¡Ýql6!|¦*JA¤ŸÞŒ@Ó?1ÔOg©»¬¿ÞÏ&XEs,*þ6Ö låˆ߸ðJ'ø}î6RÐÑ„nŸÖW¶6Ö½Œñ{’föN}ó|èÏ4ø™­G©IlïŒÐFU2Âáû&”3wSž_t¢^QÍ|>»H—­FÄLwË$ñýÄÔñÙsƒ_Ž–tŽ­¦³CaŒÌ꼚ÓlP ŠâªWzbëp;Çá[`hú6ÌWPû¸jEæ2õõr¼Ü¨}˜~Pµh“6I±dÈë™uÝÜ -¼z*¬¾ã_3^JY˜p~ëàÂô¥°'Y s…´´:JõÎŽRÙs‡Éa-%f<çÙõ7Ë¡Li¢ls¬ {¥ƒ­Èùô’0vl4ÝÍUíl=š©æ¦AH{i{éÄPØ Í‹Kx!F®HðŠ‚þ©Kæ´Hk¼)”ÿ°GëLõƒöŽ¹‚XkÏ4$ ›1·$·º7 ?ëÐ|6ýç´Ò y_¹¼jåÀìûn\{!!^ï/SoÀÒù=.¥&bÕéVËn¿š6åææÝZ‡b>çZmÝPZ~æâêúï]–ú®Ë­®Ë}…¸àÂ3üûzE$­%*çÝú­á€iøÈI'8‚÷dcÞ‰üœ¦Q±Q©tQraLú‚}C9燸tïûÁfñØtrÊÿ¯²Û›¤»ÐatÍvnàeg'&ÛhÃÐÛH £t°Ëc²3;ul®¼§1U¸y nÑ]."2ú*ÖE5UŽ|èéÇ4PûƒëTàVy:Öu-1T_h2¸õ\DZ2C– èoÏ HìˆÔÅ ½o{H»ƒn&'(æÌb> endobj -378 0 obj << -/Ascent 694 -/CapHeight 686 -/Descent -194 -/FontName /BLINAP+CMBX10 -/ItalicAngle 0 -/StemV 114 -/XHeight 444 -/FontBBox [-301 -250 1164 946] -/Flags 4 -/CharSet (/fi/quotedblright/parenleft/parenright/hyphen/period/zero/one/two/three/four/five/six/seven/eight/nine/colon/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/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z) -/FontFile 379 0 R ->> endobj -730 0 obj -[639 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 603 0 0 0 0 0 447 447 0 0 0 383 319 0 575 575 575 575 575 575 575 575 575 575 319 0 0 0 0 0 0 869 818 831 882 756 724 904 900 436 0 901 692 1092 900 864 786 864 862 639 800 885 869 1189 869 869 703 0 0 0 0 0 0 559 639 511 639 527 351 575 639 319 351 607 319 958 639 575 639 607 474 454 447 639 607 831 607 607 511 ] -endobj -729 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 12/fi 13/.notdef 34/quotedblright 35/.notdef 40/parenleft/parenright 42/.notdef 45/hyphen/period 47/.notdef 48/zero/one/two/three/four/five/six/seven/eight/nine/colon 59/.notdef 65/A/B/C/D/E/F/G/H/I 74/.notdef 75/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z 91/.notdef 97/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 123/.notdef] ->> endobj -375 0 obj << -/Length1 1694 -/Length2 10190 -/Length3 532 -/Length 11138 -/Filter /FlateDecode ->> -stream -xÚí–UXœí–`‘àîÁ wwwww§(¼p—`Áƒ“àÜÝÝ=xð !œà¦þÓÝ'™îË™«y†ºaíWöÚ¯= …º‹„5Ø( vö`á`åH©Hêsp8XÙ‘ih¤Ü€v`gi   €C@€ á p²8x¹¸y¸‘iR`_7;­€^ŠáŸN| ' ›•…3@ÅÂÃè™ÃÊ ¶²zø²$šÿŒphÝn^@kVd€µ•À²sFfûÇHÁÙ àû°µ§Ë5yÝÜ!Rzˆ$¢h vvôXmÙTÁ\@ˆÉÿ ©ÿ>¹¬§££ª…Ó?Óÿk•þG»…“£ïö;¹xzÝ*`k ›óïªü9I°ãÿH£àaáhg%á rØÿ#dç.kç´V·ó°²ØX8ºÿ:[ÿwȲýK€M[RAR^‚é?÷ó_êvÎÚ¾.ÿžöŸÞÿbŽ? Y7;€;+;;¤#ä÷_ÿ™ü·d2ÎV`k;gÈàáX¸¹Yø"CN„xþ;gk è1fcu{@† K°»!ÿ³-6»bÿBnv›‹…ÐÙhãñ'ÊñŸÑÿØ͇¹lV`''‹?›­¯‹-ÐùOˆ2²é`ë?!~›Ð ü' `;ÿÍ< ï?í<ü¶nÀ¿zü£ ötûàú§¯¿z@äÜ!køo†¨¹½þ2ƒ¬ð+ˆ‡Àæl÷·ÿ?:‚ÿ â…L#ñ‡ SHþ!Èp©?+ý‡ %Êü›ø Êþ!HyrRšü‚Ô¥ð‡ E)þ!Hvå?É®ò‡ ÙUÿ$»Ú¿‰’]ýAòiþ!H>­?ɧý‡ µëü!HvÝän³ý9ì–’ÝêßÄÁIoýBªþ…ÿìì_ñý…!Û¿bd÷B”ìÿBˆ“Ã_‘rü !VNbåüB¬À!ÄÊå/„X¹þ…+·¿ðŸ£öB¬<þBˆ•ç_±òú !VÞòʳùü…+ß¿bå÷/üŸ¤$ØÇŸr-X8!×b,àãaüß:ZyºA.µÇ¿ÞvÈ3ö_lcyô€@ ò×e°•P¸ýÇ–÷åA2EspŒÐ’ ÖDÕƾ…n”°Õ$hÇ’ %WÆ­ýÇÊLôïpßɽŸ‰Ýcº4¦eÏC\?-ýþîeþ=Ó¯Xÿ*SÅ÷À…ò.ì'FgËâ¯hµù­ÉòTƒâᜋ‘ŸêôÒÚ‡PýF^MýYá¼|ú²™Ž:‘ ´\š˜Ÿ\Ë£¸#7½1S“ßlΆÙG"¶1­_‚»<±‹óS~›ÁZOëšß)¥û¢í>&NÝa׿3)‹ÙóÌWÉ0øPýli´AžÍaäx—µHwÍìaœQÓã²V³˜[lø †HÈ]!­È‡fÓÑ]L¡UŸXK<ÛºYØekn¨zK6U´Lb«$÷Úå'tºÓ´€þ¡£ð •ŠƒöíOôZú,êWE.¥ˆ¯ Ë2/ÕMÁdî‰õè?ìe?×FÙôaRªS/¼gQØj^=™Lû*6ŒÌ+b[œè*­‹y!¼gŽ$ƒãÐ×X!“‚© -yÆGâåî‘V‚”¯üyCn[®«>Èð?ì×êÐÝìMù¢±‡ƒ”DiÀ¢°œÄÆ:&Ôúz1ч,6EÃ+â•õt³’¨Nz‘"ùÊë4¥<Å[¬j,&ªP¤àµgƒ¹‰ˆ×Ei½ûS½T«õ‡#~å^"Jý†ÁÈÛþ -oƒv€’µRXæ–ÑÅ‘k³‚IÜ®»/U•2–D´ïšÇŽò[ßæbyÍtØ”€ˆz¡Ἀf1XŽÏú(k¬3>ÄøªªúÑQÖê{„ Hø(¦5Á,4/¸¶RïÂ_4P5`}¡õ';Ï0n|Ù×GnynÜ—²½\G¹\ѳL¬|íàqD³b+¢/ÙG¼;8>‚K;uf—ÎÝjúY2Ó=©Iü\9Xqãw Ü™xé0s‹e'9Ñ;wCC¦/¢ÑYÝZ\qx"‚ɨ¸<\ÈR–zú¬P7‚UÓܸN&\„ƒRÂñ>¡»‡‹XäìŒÉ :3à²ü,ŒhO(˜2µž¯nù.Çà®Q(³y[!JsTõA–½î•sÙ÷„®ª:bD@µä“ªÅü,J$dËwô³xŸ©ì(%˜ˆA:X~ñ#†–ýfub½±êC]À#ÅŒÏ,³0ýFÃ+!³Î g¥–©Æ‡SÜnm¬H)‡ÃâÎâÖš°í9©¥=Î*´ …¡íâês­ÝÓ¦Ã2B®ëù°z=VX q椧¹až¹p?¬÷Î{<Å[¡,V¦Ó™)7.ûJ¨D.iÍòÖÆæ”\À«å«ä{Wâ¬PX4Ñx:ÂÕ²òš#ûˆ1Ì]z©z'~®$¨âõG³›†¾Ã‡1©Q=¸àU—Ž0i°ø¬öU†\å%i3ØëíRšÚGƒ'®S;¸Í{ïÚÆ'IA‹ -Æ -þüqêÞåµbshtxñ9!†ðtDçýùÉ8èœi ºÛ¡Å›oe§¢-üêõæ9œ¦…}&lzý™³X Ãw‹—eÇ£ƒp\äu©©TÁí÷–¾ûSqœ‰ñ4¡«"ª^ý%YkÏ^%Ð_ÛH·ÂåhC)>gÈy£Ð!)™øéÍ -/ì@ c–Í;Å _gŽËöKÕÈ Dê¹üúg–v©M[#lþ‰œœ+†“ÊZ¡ÿªuIAîžý=Þ&{·Â%YêÇiXÄ ó¡Þ£ÏèZ±7¸Òü»Œ¯í=ë M×c2àñXg!fù4ÏÕ1·­µ_µâZËä¬í‰ mc-¾‡ £à;q1‡“-e9íƒgÄh™’wbòTêc‹í>ñïPnf, -áñ2èyüïœ<@ôl‡°Øz%ïî¾ëã!ˆë½yp2£ -Hç[SHKOô›ó) ¶VÄ[QŒjŽCºNàßõ'ÙÛu¥QuÐÏæãä¬k¡qá* ²­°¿_W'nu„)4‚Zú2`115b@èQuÊáÑ , Ihž$›œy%¼dQÃ2^Z:ôÑ*”‹7^3Òg4n/Å‘ÇâËt+Ìíe°ÏvO|¤90¿;U.Û¿% Ncפ£Ë\Év3· £ÜãèZÛqM¥^Ú(ÐDå‹î³Ž2II}è«P´•Kl‘Oû&M\Û'Ã.øXʪDöcïîÔËTŽ>åô(6+€…)a<ÓxX¦ë.6Pô|ëNQ$ø&(ð-BýµÂÙ4bO+O›š7g Ù7AÄäEäˆx ê-¢á®”©¡¨ÌAc3\8䘥&Œ¢—i‰ }öÙ×6γóéªø˜ è새[8)lvtg -.Å)–PãƒËZ±‰hèñÄ-|0˜Áãjí3¡97°òöÅf‘VÖð9ü,êá·ß#=øÐÎŽ2ºã­g”«=2šæ¢7ªÀ£`J¯¼—ðŸ¼{|SaQew–òüµ(t£Xem)§å;áñq‚w·\‚þÈ5²þÏ¡Í©´1tV’¢?÷‹Í/ÑÉ,Ç(/0º¹ÕpΑ6M®y&y#²šPêY&¢‰hå~£.²:Íôðþ¤º(RïtQl 6ˆ„ò¶ -ÕÀÛš§U—%#T}A›ôÌ9¹o«uÓb_¢*LØ®kÔæ nL’^F­ðë3 X`Æ…©'ó<\ÛÑ‘Nî}‹ ÿMG`!eWÎ/`,\Mx×Õ+Uˆ¸uÅÍX÷hšò+×’Î=°È¯kñ('ùsõÉ…©¬òs…癯ó`E– 8˜ÕÐïÉÖ¹‰<¯§Ýì½!û0’‰Ü¾77œD+롧Þín¿˜‘ -9‚kªv-,­»3¬ Tªu›2(Òå”j`Y„‡z*hY_‘­7:¶_rŠ¯$$ gkR¾ÖðæsO/¿ÊË\älJô÷ä^§kKª:ÚùÛŒ ÊºÄ÷)‹Oãv&+òªœkŽÂ.Œ3‡p«ù ¯¶³a©5Ž\>{›kæýzY„Ž-º·ªÃ?ª×v/æªh}BCS¼nA `|ŠâX“M¯‰—i;‘$fÛõ»vÎÍrß7ÏB}% ¼ðB•LœúD0] fª?Ž]íj®½¦Ü†Î¨êÄ -Ea¿*rL£½å¨k'Ön~E*€¤ï G“'Œ¾¹I¬¢WlåtñZÛŠ@3°cE^ŽÍ óå&WPTT!¼¹9Æúüƒëêª25)ϪˆÉkP< ´nH[{«6ÞbHñzŽÅð@ ¿_{I:‚øÉØj÷9Çí–¦Úx¯ªD§¯7å“íû8ÇÝ߉³Š´Õçlû£±°^‡t+é‰s$ãB$}55?×EWš yÅG³mZdT§lÕžWòŨkvhǵCT»t®-q˜Ô/ðk³dÌ>óЪ'Eê"I|n~ÅAûÚ»[ŸÜvôÀ§ò%,Xå -|mØRùóIB‚ˆ³H²†¯Éí'å6éâ›ûPùü» Ž:m€Ó• ùG¦c&–1eê[M‹@™_à5X|É:&À¯"üNŒÂHÖ„ß´õÅ}Iü¥”âºÛL²Ì®†áSiCÎÞ>s 1v-ç|µšµÎsKìtEbÖ,wÒ8ÛuõÐ’£Ÿw¤ªÁ4úº¡Œnþ}ÊTË/øË£!OȦɤÌKUâ=R8âצW<ò¶^sIyÕY{ÆG -ž…›™;Ý 9"'Z¼Âþe>§SK³¦á]ï…âLyCË=Y]·c˜P( †ÍxõŠ©$ÎŒø"RÆü‰·…¾ßÍÇŠ ‚çvËsú¼"”¿ìÚDÞyºí5Ðzôt­R<ý(†µžM­Ï¥Âz{®zˆDÞU#öRj7ϬNG”ý"x3q?<€Äá wTÎ *€Q­IØœϿšÛP” &Üe‰\[G¬ÊÈ#fá©M.-wçã¼é §ŽZ«ˆˆjnߪ;©QÙs°ÑþŠB¡´!kv”ó~i´1ä?ã?¨°ô0Â!jyË*³=  X=xѶ¯péÞ|s²û¢Ã}Áàßc¤­DÅÕÀ¬ßÞÕ0ŸE?ºål #úæ[~»Ý}`#® -½"3AºÚ¯E -Ê‹EBèLyÄX†Îîv|„Ü~&I)ß"BåIñjݲ Ü -Î@ö§zý4öpœ8Dxe»ÞiÔ‰ù…5MùËz[ÚÕ&Éü/_ÔWRìÏ#¨¤D oÕ|²ÈoYËœ¿–Æ×FõB3±¥±öVÁXÛçÞ©’Ë“ÚÏájQžèÎN%ÚÉÖ&¯9QÝrÄ¢¢³ØO£¬ …<°dKÑؾ‹› I@~=ïQa²³·ŸÙV£€Î›üç#gVØÂ)k5³®ï‹”c7àRÚvï/1/»$¬Ç½÷«wU¦3¥/õž*<"›o~T=¡ù}›« -®ðn~Øsƒ=^âú¬ ùÞñvò jÔú\ HËdˆÂ=Ù¯q?°¢fÏ»óqoõ´$õ¸lOºÈ)Íâ7ñæõB¶¸.[Y”ŠÀ°yì)Sr<†8[M#-wà’‹Î±¾|Ù¿ “]}7t¥¹ß™‘ú)Œ†Á(_f}l$G_?el O5ÆE¯òañŽ+®5á‡Ë,Áœ;{}òóßx'º\|c¼ ŠsÝ<þ)ºAÅf†X£ì¹‡gG}ê·ë:í}Ø”H7ypš-¿:EÓªV§#èL8á¾ü\¥5yË¿Î^{”F«ðÛXIñÞˆæ2Ñô(7u±%|àùIdN+Õž¶•>#ÎÔœFuÐ&¬:¹HüÀÖèFÓLˆß •(4¥”Ü1RØÏ=¶8ÌÛ-%—ª?Ï”éÑ6âÓÊ®§L1{®#ŒßìS… -¯”H~µÃa†ª”†šŽ& -Cv(¨ºÂLü¨æÂêîðÍÛöÑ!S‚àW­"=’Eì»,Ÿí73.UªWñƒ!Ïláøe‚$›`b_…wr(aAäŠpEê~Z:/ÄùB¢Áœg £GLXXVAqt¯á†·ÝÃà³4Ûp«Ñ™‘þ 9Ô–'$Cl#ÿ:i7c­¶/ã+äx~‡1*oRæÚ¯™D¥õóŽ—J‡;—B©à¶âžflÆõ%^? v¹’­“ù„AÑ.fsVq ȧÅÀ:n.Q­f¸)apñ1þåf4S¿îÐLÆ`Ú;™ÐÛã*‚âŽál.(p³qgUöÌ=J㔾Ԭte92a!q‘ =>§§šT’)øÏ—Í/¿÷×ø {î7h÷În›p§{ÄhÜônÔñàŒÃÓ<©v§¼B°æ¹½BC³uBoÕê"DTAÈÃDw’ãƒhEd’>·ÈUØ›+aýpÚœd|ßê%jZ‰Ì*|Ò¬ÍÌ /¤Ÿ?¤y¤ï–{²K¿*~8~KVÝc•úÓX›†*òv! ÁìžM g¶8öNãÞíVíɃÙó®õm]‚ñÐjK¿ï«ßtx5ãhíd•ˆt&anó['á‚"îôe‹ÜEB៞ºãÆÌo?JCì. k*"Ë2Éà±ù5BOK3-‡D„ÆrïÈá²-no }Ì£ã'°$ÑÌE’óª$Ç}üá*a†—5ãæg¦§ôÅÛXT^A] I´GHÇå|¤å·jºk‰4õj´(ÑØ^=K£³R'£ÙR -©.W¥ÐmŒ·Ð¡d?®¸ØUÚlÜâÓè6¾<Ý_qLæì]”Š"ù.Ò^\ú×sRïB“ýN8BðÂÿ1îÛ”jsLDhñÆÇšæþüXvEº£úÚÞ‰Æ󑳤Ž«ªÛ4a}«õÖÕì,²r‚HB ζœþ¼z{‹(¤#"#¥”»½ê¶S)Ͻ¤½ŒðôŽÖX*5É_UÞ€)16:\*ÕÁ‹ª¼.Ó{gCAuª$cóg>$ êÝê sóöUÀê§á.ìg¢bïïY)i`äM`{Q|ÎÞ‘ß s2¥.¢ôb}Q=Z»O*¼{בÊ8HSÌ5>g&}4îÒ3.ñ¸¥ÙÏÊ ª¬¹RÕ¥ÞǞɯ©Ðƒ"»ûñd7A…)ºHpëy¨öǦNÙº´¶ŸÓà†[kÀj§°m÷((ª‘øåᙶh¶^m¨)¼\xkš°È”6‰kÌÙ­nMk“-‘饶‚ñy_ ÿÊ¥Mu«a‰ÿh¡ìó8*úK7 5B²‡1KëLìò+)!ï‘œ6=`Aœ\ñC§‘ ƒ×éK~ÅåçU¿¯yÛí";nuÈž5ø“ðAà–Bþúþآ͈)+×A¼'éfA7ÌÝ$fel¶ÔÕpýë‡oó,Ó.‚à0ˆãÈü>âþ(o.FN5—5-`´àžh7Ñ’ÙŸç²JßÑÑþú‰­+·'~V4sE|W `N \0³üõõ:ŒN7,äŠÔu×/° ií¸õY$µÒßøjEcV—žÄÀ *ŸX«ÙÀ«(·Ãñ>`j -½I±ÖãËï9&[˜J‹Å©œŽZIâcȪa=vŒ6-o°`õ‘^|qáo±5RoŠ”Šz´Î±zfådû-ß ®IÛ#+õ/^…å'Š^ÆÄ?®³„ûˆJ³ÓˆÀ²«éçR-¼“ð6¦é¢£»)¦D±MWI!×]ùHºY\Åõ'hÔ -.R—‚»kÅ Ä—aÉ MÞP…¨M‚ëŽ6Ù@§Þ} WVX¾³ÕœMbω¡ƒ Ðdþ-r¤uke˜%²œj«ïÖ¦·Úì¬Â›Ï&cHC)Ë—´²¨&Ÿ"U”Áh ïªßNñìTÉÍ©nI­[`RXMÛ÷¯¶~Ö¯é0:òêl^ÌC3%IÝ56ïØqÜ2ˆ+¤âž;äÒ½ÚrÝgÔÔ$ww6¥oi19²L´CÂBº(½uKäIo¤èyEn´„ƒTÉšovbUöS.)Åè¢MC‚r™ûÌ)‰X°Áµd&§B}DIAhR2WóÇQ„vZ‘Õ{ôm–p«ÝðC˜€¯Úõ{á³} Øññ§Ó<³åh‡¨P -eÈþ3Îðßõ±SN#ç â6Ê‘v°úé04›ìõ<+]x3”Ã̵Ë|Ü1bâò‡mÝlx6œ¨DMã°tDÄ4^^¸Â’×|cP4’ÞÖâ¬7,µ]¥j¬]f",ôxÈR.ø¾aåÅ-ÌßNx—Çð ðÓªN—„²*á ÊÇ Š‰\1ÈïÂôl»ÑÍŸGž~,I¶V¡.­^ÌgmÂäÚ¬`5 -f ÚXÂQࢀɞe…+?ékè¤Þc Ê« ßëÿ>kû©©Ð¤)¼}WQ°X]OÑaƒImÙ­£‰1Ke‰M¥alY\+¶jÕorVݾ#V"ݹ)œ„“A[²á8øIH „“'GV [â0qì]zXUŽN:cl™ßD—H݇ŸO"¸tOi‚ ¾¼N¡WËàÉà¹È*”öYʤ(Ü"À67ææL`¥ŸJ VirÚÌ +˜÷×\úÊð˜a©~¯i+©Ÿw€•]ø¿³p€«g`ç/5MÖŪŽJæ+`pf>øØ»Å39 -û™Z¡ÊµÒȽ<HDÐ%З‰ù}µ£0pRÀù¸‹ðc“÷•R´!·du ˆ/°Q7ÔµF·Ð—©÷è¹v¦¯Ø2ù²ƒÞÐùWW|ÅPÜ¢fëøø4¼Êôüô€žÑUd‘™sgŠçûŸoc´}㱋{¯ýÅOvK*×Á´{XÙQC#lÕ{Js³©L>éÈŸ ÐÈòUÄÐÎåyø}Çr=!B½àhñœƒ,Wc ý³"“ûþ=ä~ƒCù^ÜääRfÈåìi.¢­«ÎaÀfÀçÚ:q[ ¦gš- 9¾= -ÎÅÎ̦ÖÐÎ —¤ÈêÒõï”úy¥hoÉH úíÓˆiœvˆs sŠ…çë¤ ¾x2vN8p#¢ m~§R¹“ÀMx¯sÊ’hÚé 5/@‡Þw+QCT§-5¾ M_vnóé“YÒ©€Yn -Gó'3œÞ—0ò¾Lô²(4¦âJvÊY!dŸéã«3Ed¹¡ªúN·áþäX‘²»r ÚÙXK©j6+$Ó¹x¹GûÓ:[¹÷’r³ç‰o¬µ‡éw­óŒ"æQ±çh@ÖEîfé¿«c¥ò>;Ö ³÷·÷`%û‹¾ªKÃËÓ`š)’ô¬„P$õé™}âUJø)Ô[‹24ý³÷6ó£BÃÃU°¤eÂl­UÙÍÌ ¡#ÝÞ÷.™.Lü×ÆJÿB’Ö¼!øò䆎ûð|&¯yõŸõrÇž TwÇ•‹¡;|}É×K2 -:üòœ9?š]šµö;Õl ÕO¦´»±tG6ã¨ö -ò玲5Ž«¾c¬Û§‰ -ÂúÔ»¼)†›è¹Õ¨Y£liSâ. cß–¼é.lÆ*¤¬"h”ùÀÙ'Zkãù')ÛÑhßÞU¨SR·¼ü‚ù-i"îrÎõ‘UjÛTr|@P˜¥M¹*O¶—ÆXBø/§Ú<Óß•7cX«ï™¢É+®âJ„2&žÈ*|/ò¢4ö] n[ö /¾q(tW©‰E¿¹kz¬£z!aÃ’ùÑà›°tÌæ¡¥‡*Â6c; -GÏoÄl'K¬¹TÙ,—3¯w765ÓxBn’ȬŤ¯f>JdÊPÅù’_„{w7XK[õ"cù> -áQ£ød„GåÖÅOS–f§%}Raœ}˜*Útm¾=‡%™<Å8ßï]<½ÏAm¨„ÒÅâ Òoå$-4 Ç7‰4,j»uØî`óFB5óäš_0œQBÑ õ7ëÊBG/èØäêœ(»Û§ÚŽ‘«¾.%Ì5¸4bRõö×í Û¿Ç/ªËJLÌ… (’c1j’tÁë)Ó^Œ%"NƒÊ×CNó„÷ñŸ†t¨Ê6_Vªûì "u¹©¦:r -¶ïÒùè*fýø”óø½ãL¸=ÖÅ v5+}•\ÑàßöUÔahWS•åY…Å©—2g²§‹Ï‹3>iøœ-¿#ÁË“!¯á€>æ~îÌä"c¾J«ÇÖ¦tüŪ?®êÿ÷)mâ§.j[â¶V·öÚÒçÏ;Ê<.É®~E+ï8fµ‘]1Ÿ¾F·Ò£éŸ©¬˜êá¹'·ç§ªˆ‚ úÏžU<¶<Œ¢QáÙh¸I¼35.m°,>ÄÑSòpiv^è¼ôXRŠ„TzO®Õ‹fG=Vl…i;ù<•tïÍSÈ!³™|Š6……½=Zª<^ÒBk%Jú”£¯‡6Îüz±–Úv‘Ñgü¥i'é›ØóÛÑz\fàÏ"è$ hþìuÌ"ÁÈ9¦Sé…˜|¹®Õ×°4g‘°î¾L¢@¦³ò®d ÌÙw˜²86ÌûÙ›ù#7OÓg˜ì‚U}{Êñ¯ Ɉ â®Ù"Þ‰J®×+Œ¾ÎúUQÞÐ_«lYl‚ DhèÐYoG÷ëa”ÖnÔ ¿öRk£„ ²½Êyi!»'upåñ e}"ÛÇ/Ñ^Î i„¯%T]¹MÕ(~;§¸H$Pž÷,¿¹¾óž‰n²ë‡S¿WÅ þm†$B ¶í3³ò¾STÙUè¼ÖŠ«¼wN–¥¨ŒÉû`‡8®%q7ÎSÆÎ7á>±<„îì~!G¦š<”E° êM”MbÖáUàñ¢Yƒ4ñD•ÁnCõ‘‘Mà!šJËUœY²sí4)èá8¦ÍÀ\[‘™èu­ã1ZÕ÷¾ äKÃü´ÁèšHÍæHSįœ×P\`Zm8Úhô³ÕqN¢˜šÑ´ŽíêX­yöcEí¢Ë"¨¶”ï‹k׊Ös › o…°~žÆNÓ™ÙÁÃȱ|Â&½èÔèkÊ÷ãçcƒÉo$£{¼q?1žh¿…¾«ñ•[÷—ˆ€îk#ñk -qPô¨TÞôë$E·”ñÉëi0?w–y0`ì”Á¸F'†ý†¹ÊÔoeæK°›K»m‘S :…æöiQõ¾‘ñÝ -mÄç[LÎ[ç¡jÔ]¹yþø›yj]ü3þ5|ƒØˆpWJKtd"w‰Ôϸwn%NÇ?:Û»°Ä{Èô4u8³+dÖ¼ˆ>¡Móq¦|Ïø†¸Rpþ¶´H=ÉY™‘\Ëõ>VXŒ¼|•0NĘp4*Rù;I’Åi¤á3æSt8!Ã$y™lk°Õkªò!¯ ÏŒHk½Á¼×‰ %òS;|`ªó滚©JùØõ(Z]û»!&»g#†lÂjð>%Û=rU4ìâ 'p½Wÿ€åö]â·…õÔ+†l›F=®²TSA£“ä϶ȂúSìÄÕ?ÉÓŽìŽoÏ}BsÙrŒµ*bçn›iÈC ö~ñ4dLpÑP¿+å2"Ø%èÕHu2¹â£Å÷ef¥F *wnÍËЀ œÙÁª6/ºÍ§±ø!Ú©m›YJ¢]•ÊVÂ…–’®»’ö5{³n+2]úˆÝÂ>'£€=˜™^®'À·×†À×Fú¦ÌkÜ’ Ízæ¤ÁÓeãi~°+x»šƒ8SºÈT -ŸºI©— ¾Y ýBªe63PÅß){½Ù™ -¨ƒõX1[_ÚVJqi.±-ÕÁ·¯Öñ5FŒbNùµñÈî+(}h«ñuL®xÏ4§¯Œýã¶Bµl¨âk&a–ày3¥ê£þ¤s䳊|ï·4ÈÝ<ÇŠ;+ªËœÄ«ÝIýM_¿C)FŒú&6¸,nTUýj×HS’<£êåšàuË+ãd:ãI˜©2«ÃlÌÏÖDãâ=w¢tȪJÈW $Ý­ù+t–A R'à‰Á <²F ÂÃÅöíOZŽ°o2‡pˆ øwGh–Ãî45Æñx§Gß´-9²¹1ãÒCȶKõ´p¤è‘Ð0[–«+=;kóøè¸¤Ê -O.[8óšóÄ.x¨«¥da+HÒ€I¦ çY§—"‰w?–(j„Ñû”GW8«5† ö÷D»º•>i½ÿZîeŸjòÜ–jó錀Yü‰}íÝ#á«ÏÀ‰þ[)Ȉ¡(fOa:ù­Þ™€”ém0Ýå ¹iNÎïSÅçàÅ™'R‡*,µ×Qå»ð @Ÿ5á|·ª‹£ Î«@!Ûñþ匤‹z dþBƒè÷{ÏŽž?¢Òmx †û_ütVI>ÇK[µ×îy·5ß5ùÙ#È¢¬’ ö\î4ÜF -3˜š}4òÐxÄ’j¦ ´§­LiÚ{€-™s±>3Š–Ñ»èTW6ýütMÒÚÓ«î`™Ñg£ßãœÃ;±Ø@ ÄÄ¢Öü\ÞÉ}r„«ÿe¡ÿº5#é :ôoí¢’kËg3yßÖqHÁÄý2h†ü27¡B„HEÃgýRÓKŸ†ð­çýW^é âH{Z?Ÿ„虸¬“a=+›Ü_)újŽ4Â^®QI‹¥¤õÙ6©)Z òdY$©ÙËBu&Ùû¹oN.wê-O29l 9DnÄóÛqŒéxÍ"*üäMžÌõ[‹pœ‚‰®^N.@'\¨Éà©#ý÷þBž;– -ÎlO^SJ¡µI·àáň@èáÇ7~y4„Hw6RîÓg6°n o¿çŸ oKçq­2ySü!!kvg)±Ö£–cøKíA¼°ŸÞŸµ¨§¾©P» Íha]†!i„YE¯±óÙÿÿÿÿÿOL`å´pó;Y¸9 ÿ/±]!É -endstream -endobj -376 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 731 0 R -/FirstChar 12 -/LastChar 122 -/Widths 732 0 R -/BaseFont /TBIBHA+CMBX12 -/FontDescriptor 374 0 R ->> endobj -374 0 obj << -/Ascent 694 -/CapHeight 686 -/Descent -194 -/FontName /TBIBHA+CMBX12 -/ItalicAngle 0 -/StemV 109 -/XHeight 444 -/FontBBox [-53 -251 1139 750] -/Flags 4 -/CharSet (/fi/parenleft/parenright/comma/hyphen/period/zero/one/two/three/four/five/six/seven/eight/nine/colon/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/R/S/T/U/V/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) -/FontFile 375 0 R ->> endobj -732 0 obj -[625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 438 438 0 0 313 375 313 0 563 563 563 563 563 563 563 563 563 563 313 0 0 0 0 0 0 850 800 813 862 738 707 884 880 419 581 0 676 1067 880 845 769 0 839 625 782 865 850 0 0 0 0 0 0 0 0 0 0 547 625 500 625 513 344 563 625 313 344 594 313 938 625 563 625 594 459 444 438 625 594 813 594 594 500 ] -endobj -731 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 12/fi 13/.notdef 40/parenleft/parenright 42/.notdef 44/comma/hyphen/period 47/.notdef 48/zero/one/two/three/four/five/six/seven/eight/nine/colon 59/.notdef 65/A/B/C/D/E/F/G/H/I/J 75/.notdef 76/L/M/N/O/P 81/.notdef 82/R/S/T/U/V 87/.notdef 97/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 123/.notdef] ->> endobj -372 0 obj << -/Length1 1339 -/Length2 7222 -/Length3 532 -/Length 8039 -/Filter /FlateDecode ->> -stream -xÚí—eX[[·¨‘¢Á)R4¸»»»–ânAC‚»»;ÅŠ”…â^¼H‘à…Rœ(+NqNöþî·ÛûŸ÷þ:ÏIþäc®1ß9æšëYa Ñ~Á!c µ)B!ž<œ<¢@9  '7&ƒœ;ÈÊÓ -‘·ò‰yDDx€2^ö@^n  (Ÿˆ¨€&Pêêçîhïà d–cùkPÆäîhcjXy:€\à5l¬ÀÀPG§'P êüu…Pär÷Ùrbòðmm<Ö {G&×_>*;(Pè_a[/ק¼Aîp) 3\’W´…BÀ~@[&—&>nòÿCê?‹+zÁšV.•‡÷è¿e­\Á~ÿ'uqõò¹5 ¶ wÈ5ýKMdëèåòŸYO+°£ Ä rÿ+äè¡èè ²Õvô´qÚY=@ÇAÛÿ”€·ío.C%- m¶¿wó•#ÄS×ÏõŸ¢ý›y~3¼7@nNnnø@ø÷ß¿Ìþc*ˆ ÔÖ¿VîîV~˜ðûNÀ #Ää ùÂ}¹8!POø%@xK‚€vPwÌ¿6¾ß\vÇþF>~ —›Ôdk þ×Æý;ÃÏØ@]\¬~G€\~® Èï ˾¿PÛB‚ðQ2ÿ|:¥ßÄäRùMð‹Õ“Kã7 ¹4ÿ!an —öo‚Ï ÷›D€\Fÿïïõ€Av¿—¿¹~/E^Þú7ÁKØüC<ÜðÙlÿ@ø@ |»?¾$û?Þ5‡?®êøÂWìôÂœÿ@¸ø„[¹üF¸ä„[Aÿ@¸•ë×pÿá \Ãó„kxýp ï?®áóá!.ß?®á÷Â5üÿÆÿ~>de¡¾|"@^î¿'àú¿Úx¹»ƒ ž?zà§ìßlç?“ /Èsqj#é”Ý]¬ðfú -+¢¬}[ªfÓ‡Ùn@ÄB"¸¦æƺÖhxS•Gˆ³²MísGîßø|Bñ(Ì-5çóö·åvž;¹áiž†ßwWÚ_û¸­sçˆZŸÖÆ*3J?í¿Öf–×ÝA[¡Aè3ñnîË2TÌëÅD52òÑèàå¸UÆòǬúàe¦?YŠvŠA϶|íò"¸yƒ^œñ`ú‹(ߦ‹šOgƒõ©ÎŽÔAEi nÃãàHt>Ðþ…;pe ]¦QH]WàO¦`1sL2©«á}ÄÞÞeHsÏ h¶V¾eÁÇfáPªºPÆ}œþZÓê7eØq?ûò~öi;™¥Ñ–ŸÀA”{MtñA“§»\fuŽi㉩I8žOPØOÈiÖ>ó"?Ö]7¤Ù§S.°Ù^¯®ýäààÕf1BÊS)sŠóq"õ &§^‘ ¥N~ Ÿ‘ñ×=ËŒëh!ÿ—¨€Ö×- EoeP(?«òöLèU8¬Úàçɹ^ñ²Äæ÷¿¥“&ºS­Äüá±÷tP˜½r -;ét\uxŸgÛ)¥áAÅI‘GG›r.CL‡é: 2öÒ‰µ‰Üô•aÞ.†F,ðy¢PŸvÆUüͥȌvªrnè²Tùáw *·dÕ¬¹¯häÍ6IBhZß5 ;Ž„[I–·è+9ëó“R‹=,ûíMŠñiA…ÕÖ \k»Ø“§h„t+Z–¥‡s*#ù¦,—š!Ò²óÑ9á¬SEJ,V•¢ß¢0¥`lƒ'·¦€]Ò@ˆÉ•ü ¢ØnÀ* ëéü 5~€2»Ï—xÄ„ü>?[ô9߸˜)QÍÓ“±]LÖƒ9Mç#¡T»{w`ÁH§¦_W{¢7¸;ý£Õ©«T<^!| 容TìUáÔA~vÖ®ReY› àãW•q»Hº¿Z˜)~Z¼yõ!ÏØðY;þrñ#ä¹€°yÝ &*Èç»rüž¼`ªHö6ˆ?”¬$4רWŽ‰'8ÛH´×nÍ32oXg5H ª?@[WǤžr“D…¡JÒQþ¨6ùÕ!8×£çì¥Åò_:‰žx¸…ƒ+Q“¸h4þ4NF“†¨>_ÄG»~\DjY.$6ÔŒ-ɶ¢´ñØþF›ôÜ»çtò’÷‘NXÒ“·+hpèhE?°”Ö#rNž(<»¾aßIPÊœôÈ3¶¿rÍšTNö”ðÝÈs$§ÊÀ7è;›Iwì"Oèk›åg#UcʉÀx.) g ^^dòòìUɃLþ«2ˆûÌܾý{v®&å¶Æ -¾ôms0FxÁ®ä¯Z•âïQ”¿ ñ±€  VÝ)zÿ8ô£Ö¯3²Y nÎæ¶X³q(æYÉp(—‹»qmÀæN2»Ç±fšYÌšPˆg£^¾_bz¤—¦ õýBä©ñðY×xk:ÄßD‡‰ñ)çYN&ìÙ¨Y‚yövc½BçÃUÇŠò&fú+6ª]eÑ{yjù‚þ~ŠO‹Ë•‹b)çK,:æûW^…×úáÌë=æx 0Oc2Ú4Ç =>ùÛÁŠÊêvHôæ[Òéyk/ùb×ּʷ\2î¤Ë€äÏ ½8j´Û‚HPE Råì{*ôC-£˜‚†ç³7Ws÷µi—Ù ßòÏš‡¦/Š}øàDr„';ßq+'±ëüÄ` -n‚F=9a‹16BfC·úW„OB•>ON èJçO[JžTwæ¼Â ¹l¿Z ýZðPŠ!¦Ìt–LÞ¢ÖU)sµm|ãȼ¤÷bBù’µÄ&ôeømʾ½22×ÆgÊj?@IPxÕ¼uPå£ÿÖ1æò]í qDl§µ,#]±0û¿«ä¸‹cV?Vó”3ÊK`rdqê&Î6xÙÂH,‡-õkµG¢ˆêĨyÏêN™[zfŸäµ)‘LzbGø€2yÙ.ûõbkþ‡ïJáb•û• „OÄÀD:ÇËSA›WaA^ïo¨ó wE‡½]® ãOH‚2¨)šÑ9¼ÛñJÚ0ú¯;$Å0¢ÇŒT ž¾ÊõYZ¨~ÂDýÌû¯ÔßÍ2Š~JxëÇOkDŒÎ%HÞјt;ˆ¢/‰‚iÒ†K¬p>RÉm¿þ¾®îÎÞÝÌÆ϶,§t-¡ª¿ ©ïÁ;%5 {8ká™rxÖû*—”“?\e8^¤‡Ù€+¢<5òºHˆ˜Øàcvá·Tûnúñòt5‡m<§QN^ u®r|³•´€I•q“ö+öݸ‰Ùw;Œ,Ùc÷ö×ÀU¦Ô¥ƒ°ÓÎþŽC’ #m–ñÀÊ%Ù¥L®Êت@,S¤8àÌd`קì‰ûœTòéÆäð>D˜uÐt2ºCõ(N ­9fè—…d×ëa¬ùç“Žk½ Î3g‹1ʈ<þ/È­gæÉק‡;¨o™MâOªž•¹±ªø„œlF›œ@úîáU>ÅKÒŸ—° -\™¤Mº‚5•üêͽÐͦ>óRßÎX±Þ{ZšÞ¯ý¼Ï­ÆNÇo¿•cú94º¨Þ ÙLn ¥í[ŸÌ ÑûTúÜõ3Eÿ‹È·”vÄÛü‹lrÂ-ÀLjÝ~Äзþ¢ J="3R9ÐS'vÝjÉô’§ejÄGtžKG¢qP½¨DÐظŠ§pÜøE ´}€¶…c™|èûâKÊöl?9»."¤©‚6o¥„ójç`ÀÂÙíð»ûÒ\¯P«‘íç,9Á„AÎAȨڳÝ'­"”ƒ<‰á³ÖÍ0pÏTiÛN›!·YÖÅõÒ+ç Èdƒ‡ÃéT2$º³¦.l2u‰@‰¢oé\\Bnþf—‰eÂÐ`d ƒm•äX‘rßÓ"Ij\¸¡Â£ºè ýe¿°¥uûelص¦m€£©î4-;ò§7½“O±\Ð#!eâéز „ÿp€ãíú’gñ^ŽÒÉÜÃK†M!‘D'ÙM²¨=ß’ÚEføȧ—ÊoTèýŒLzBXéƒ0‹ûâׄ•&,ÕSº5G²Ö…]¬Þ”È&¶f§ù K4@Bú±R爺´*%½Z'èÕĹ˜¹Oõ®œ_·ð ¡ƒö;^à-e_ôÈfã- -÷å#êñ±zäƒß½n0ÐI¿h\ˆò§fß°@?Ô0*dÕJxð‚8éaoGq@Ñ]tÑJEehíq™%ù©*–8^ÿjˆª‚µ°Ô¦?³Hœ¦ÎÛï¨-w<«Oÿ:ˆ±À~s;qÑýýîÓAhÔ+c»œ(2?äÀNÉS²i/?Égò)ýL/|Qú!½A""mS«ÊÎr¸Áô¦GVcR:—ZÞ^Ôƒ’åå&*¾'múçvÞÊž‚ÁhòªÖ hÍpVCÓ\ñCaÜ;X˜çR›ëËúlAÊ莫ºY vs}¨q@ņ«™}Ù¼~'A`DƒDdÀ]êTóÔ´µÜ×0'¡ã+hõ»6ÇŒ( nG}píãŽûÀe‘i9ƒÇ²€Óªš(é-7H´È’­hèÍÛ€ gžSÔ*êÚgŠäm=ç·@… ;[‘ýç‘U1ßJÂõÆs[]”»Ã´½yœsÜÓ<ø%JhJ›«Ïͬ}j‘\¡ŽEFPJÕ/To›>¹¾ô==ºÐÚ%ÆÒ˜>·´×^»RFpmûk<·_q`ðe¤÷€4oÚi!m1=]=ü­ù᫯7yÿ—_žã¥ BûGz©<vh5 -Q¯õ‰Ë½_Tkr˜Mƒ P´* - VwŒ:–‘ìM ©XÝ‘6y£F;ýß—¶¿ëŠI#hʤAϘEzÉ1C¸âñ•>5sÖØë®&ÔÛâ+2…ó37ÌV °˜%_¯’;\ Ì—¥9§ø -©”AS½«RovL}I%íÁ),V®¾³WCgb yô¡ÕX»¹s…(‹Ž".ægïWâ òçI ¶\ÇæñâŒbu‰Í??‡†Õßì«K0¯§j+·ÊÈX@«`ó9 -¬1cÏÂ.Ÿ©VÉÝØ’ºrüü,,JyBIÞ}Ú/fk¿Œ½N аÄÞ׳ÑîçÅ!•…ßßñºt”ê‡&÷Ðmž®m -_Õ ùoÊpÏìÂ\ÉŸMmø×Å€Faé2ƒ‰þÚ¶a-æ¯þ”*žVy«kvºÍ`]‹ CâÍ‚s€é³Mû‡_á:;Pü:zÌlNü`ï´ûã“PÄá ¯DÃäwZö`I ;ç2a»êy]5¶Ô—Ä -ê'Ž-·–e¯mgÌÅõå—Hµ<.Â>0Ã~›³®ÅSÓUŸÎÛÛø º 3gR Æ–â7UûTÄü4û¦ÄÙLÖøT£Ä乡nƒD"ÎÇ¥ü{Ååp˜J[ñµÛM¬“o+Ÿ‘åtqÜ&mÎËU&uâWjÍŒËj¡b•KÝÔ~·¨íü)öÅÁhhÒ7º@w 5Û¥<úñêØVC«õ]æä|6¨k¸¢…öl–ÐMk3«jax}½Ërîô¥Ê;kh#un7d†þÏÝÞ·ÖîœK y. j%¼B'·³v´ ;½[»¿Á¡év”aß)ô_øÀØ|Új¼}ߘŠõ>K¤$™£Å»(J,v­ÿxiÂëÌ}CÿM@¸Ìãݱå¨ñ+²VºŽ)|—ƒC,# lq ”ó[´sÇñ׌©z÷q ’šNL >žl“ñÆ•¯X5§çcÿλSµ­æó6§ÊB%¥D”r: ÅÓ<•²Ìœû´X,×—867>}N¹ìdxNõñÙ¨œŽ®^h'—ÔŽ¢—ˆÓ!9ª´ŒÏµã<=’É9øn.ÍÞ÷žžq©F)óñ\FÆ⟻²ÿù -¹dN¼œ¼Ä­m ­Ê¯Ì´³˜ ?GévhŽ+ëJ Ô9“ª£öÈ"ÖãR¶ãÏÉú^ãArVŽ(2,÷3SÖÏ°lJs÷ä¬ÿnã`›¨e±æ­µÊÚ±'¡¡PS„%yzPp4;RU)·ñ!m¤×QBÓ-L -ôc®þBФTü¶?Õ„Í e)iÁŒ0®±/o$µ^f­ÞkÄW¦4·WEÖ6Î ozÍ -R…%êí¦3gò„ónÔy3ä¥4¼Vtzâ¶%¨l=3ÖÝ  üokõz"ñ¿æfdðÖÖ6$¨D4zq`h<õF»… íL’KÒ#œzõ Z Éhíþ>XªµœÄ¸n6ºÛ›BŠ“/ÌÃ/¨笲¯,rJΚ³¨ÜÞs0¾®—&+™cà^­™Sxþ- -û dàÁÒքѯïy›$Ò:lÐX2Çp%dïx(¤| ¡˜B¯Ü=:RŸ©ãtoü¶ø3Kv,1‰²bó²ºOâ£?±p•”†7’@zÎÀ«6: •·ýù#3›w¤[ì™Ûòy±Xõ ™ë.î˜ÈÊfX¤¿Y}ÂÌ4+)Ì@ZªJUµá¥§%Ž±H>±Y_‰)átJÙ•¸…LÙøï éÒiMƒtQ‘é2²kÒ0ëî,î6MYFǤ‹XÃâP¹âØ{{yLYt»bcŸ­|Ñ(Àº§æJúªbîlê"­ZQZ€g!!Y: 4*HÆiæÓK‚„AßÛ ãJ÷ -æXŽË­«~>ùEÒøy”^y_kjdto*²`+‡®Omj¹&•k -TÝâ挶é¡×D -X2Ze·Ø’ß×XvFEh«ÒT}åzh(…œáK --U±ýÅœ’¯PÉïc$ô³®îwÙÓ3=–PU8¬Gë,¬[Sq1Óæø¾&~ µ”EœÄûj½ø<òŒïGš~}ßNγëÊ[^TÙõ‚¯¦ý"áãdÍc¹ùkTÙ6Ö…vgç“ÉÎN¿xWdä™w€ H„y„÷ùÃÑ„‹ù;(œÃ—]¹Ì¤ýFì°ÄÒoî:Ó³ q2aÙA§f‹ã^ÄKÊÚÊÜS”]—LBï¦KëíÕ]d¹ÕMG´á­J¬7¦óÜÊ\– ’{"__dÁLa·ÊÈÌJÐïóqåèË/uA);û“fBÙ}o/2fs)Q,Ñú dpú¶EPùÙ“o§jy:.Û©ÑÊ—‹+ ×X„Ðë7Ù©;å$f—ïIæ˜)3Ô0•,[¸ºÃò <ƒgð5.‹±E2Vÿœ~˜­ðBë"±òKRýmÐØ}Ô²Þ¬kLÒSm§;ÇÊ°<®“4Q,º$í“FWÊK_*»Ÿ+ì™ÛF|T=²bÐæn–ÅfÝñÕ‘zÏ;œ²_½_Qdïˆaz=;Š¼ÊUX[*}8c½$*Û íçÞ¬å”éÔÏ„mW2ò(›Çç¥sC\eN³¨›¾GÕ2å¸rl»2 ”øÉD*ìÝ??\M˜f‡\›f峬Uؾþ,µ÷Ä £ûÂóÞhk!à³Zõ|–øÍÀtGøÄ XPsÿ?~0ÿ·Àÿˆ6`•»'ÔÅÊÝó¿ì  -endstream -endobj -373 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 733 0 R -/FirstChar 11 -/LastChar 122 -/Widths 734 0 R -/BaseFont /WXGOMP+CMR9 -/FontDescriptor 371 0 R ->> endobj -371 0 obj << -/Ascent 694 -/CapHeight 683 -/Descent -194 -/FontName /WXGOMP+CMR9 -/ItalicAngle 0 -/StemV 74 -/XHeight 431 -/FontBBox [-39 -250 1036 750] -/Flags 4 -/CharSet (/ff/quotedblright/comma/hyphen/period/A/G/I/L/M/N/P/U/Y/quotedblleft/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) -/FontFile 372 0 R ->> endobj -734 0 obj -[600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 514 0 0 0 0 0 0 0 0 0 286 343 286 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 771 0 0 0 0 0 807 0 371 0 0 642 942 771 0 699 0 0 0 0 771 0 0 0 771 0 0 514 0 0 0 0 514 571 457 571 457 314 514 571 286 314 542 286 857 571 514 571 0 402 405 400 571 542 742 542 542 457 ] -endobj -733 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 11/ff 12/.notdef 34/quotedblright 35/.notdef 44/comma/hyphen/period 47/.notdef 65/A 66/.notdef 71/G 72/.notdef 73/I 74/.notdef 76/L/M/N 79/.notdef 80/P 81/.notdef 85/U 86/.notdef 89/Y 90/.notdef 92/quotedblleft 93/.notdef 97/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p 113/.notdef 114/r/s/t/u/v/w/x/y/z 123/.notdef] ->> endobj -369 0 obj << -/Length1 821 -/Length2 1985 -/Length3 532 -/Length 2576 -/Filter /FlateDecode ->> -stream -xÚíRy<”û5QB²„Y¢1Ƙ±e)K² -YÆ/F³0‹%K–d=vE)©IYZ¬ÉR–Ž²Eö=Q““5d‹ºC·sÎíüyï_÷sßß?ïóý>¿çû|žïOVÊÒªçFv É$® × Ìôí4¸² -DVÖ€bix2é8–jpMM8 G÷TU8J ÒREBd²wïáI o‘Ô="HÁã°$À Kó‰, –X“qx  è€ÕÖ *`RAŠ/è¦ Ã7<Ž¸‚x¶eÈ„äNÔ¿—ÝèÞ?Z¾ …Ê2(°LXÝÈ$BàºC`ædÖ,åä¿aêgqC:`Ž%nÉo…ô·6–ˆ'ü‹@&zÓi 0#»ÒÏT[ð»7}2áoSLhX§Gò €€Ê÷žjˆ÷Ý,ñ4œ'àŽ%PÁí:HrûÙ+µm0£S&ö§­•¾os»g‰Å“h6Þ¨n‘·1üOÌʆ‚÷T”UTà,"ëüøsúiÖ Žì†'±ž`)l„õ.X Â<É ô@–a˜2‰Lc]X‰îd -dk™($ÓÛ*m#Ö~`Ø?‘sýi0ÜW`”¿@–õ/ÀhÛðïÉèë“ý¡H ªŠdY…k"u¤Jð¿qt -$Ѷß+ßØÏÚúƒ8È@/§}ÑëJù¥¼·;ò9Ùô='™—ÔvÕìŽèOf#ä6›ú(ŽÛ­\ØÃädJúmˆQc«ƒÐm†sa>I=_™¾.̫矈Ù-\5 xï-½1µ·ª¼{iÉfÑ9Ú’—fÏøíú|ãTŽ¥Âq›ÜÃR;ê|Kë®]D©Û^%œŽŠ,–CHYñeøäE«Eøñ¥¥üc¤="Ä+jg…ÒÐ'r5ýöΛ©_1nmg\VLg/ðNœ]Oj]á/ -uº;A¿i–iŸpÃÕaX2 î@Xˆ¿Ö-¿x„æ˜ùà©÷àƒîŒ³k;EÔòbNªóâœR‹Â68WÀ½r.qH¶f~*–¸¸ãýI­Ì‡¾›~Rèi]òß»p1—¸ýîŠ 8Ö%oS”Úb–nÑ…†:Ÿ1³×Rxmü.¯ÅŒ…;œëYJ)ñú„ú˜\!g):$ÀL”Õ¢/(¥¥]ü…:Ke ™+67Î=dñ <ºfád¬Èï5^¼2¹Èî fÇÙ¸KNí¼À&¹û›‡<ôõd¸£0·Œô¿6¬{§‹Ï^ýêzAå;.Í'ø\ÉO&Úï:^*6:¹½&íÓ$´D¤·O§¸ŽËJECkáç üןÝùbË<ÃsÈÇÙÓý«!ŸÂNkeysâJH°*ï®b@»êlœ°ƒ{ñjN¬‰]–ù8ýòÈ9^^úuEþW+*|•b¨È[›'ø¯×ŠòнõœõNéÁßRöóÁ¾!—^Êô˜¼g3¿Y˜[·û—”PkߎŅÐ^;«Ww,›FצŒÂM¹]jbj©T¡!éŠ(¢¶rÇ ¡Óà|P9JÃù¬ý>9àmdç!5f'‚Óœ³\eŸ:"ö˜¸WñêŽô÷發$çq_ÃC3ý_î›Ö|pÒN†zÊqJ©:hX¥ûë Ùæ„Ψ.g9Fs³_g÷“K3Š#Úµ º¶zÍ=Äñø ÏÉ4ZéÖÓI:ë­ë›]3ƒ¢÷ËÇk¹¦Ÿ®¿ìžùÅ°˜ßJX;¬”(¦ëÏu³;4}§úÊò퓯꧃D³ø€6LìHNÔˆhsª¢H[qÉ']]5©Ï3”anÙøî´çÏΊ 2VNù2îlô%=甈w<à$”o¨Vhð -rÛî—|±êØëZ÷ž@#]¨ñÌÁŠÚMÈÅ’°È^‘w¦"!ì‡näô; QRÑølȃ%èZçrtڙǩÁÚÔÕg«g`Sa·+«yÐ-èûÈàT“¾äî^7õ–yÊ&ßé쿪ÃëUý0®»Ð¿_p.czȸ­s=žx”)›yç¶ÄÅ––Äìgî¼ê;âóùÂG ïEºøà•«\›åqN_#e[˜· ¡ÉÂiÃê@©JŸÛœ¢Â-ÀÜýÈ!+÷h3å1¥®Q÷~) Lã`]zÓ«rÞS–Á{Úš¸k>âr©ÈPo­Š¼²¹|6Òòm\W€à -Ô[§õ…êÿbÐ×WB’«óZ÷›1‹Œnµ"k¿¡w’¨Â¬zpxÆ¥Sª¦399ì¸d¡¸þ½I¤·ƒ)#÷Øqqý8ù½ œ¥´ð§²~¿Ì~™Ë¼jòÛB}Tú¤Õý8šµžUhB2ßF“fÊ eá_±ýB€@cØlÏão•}Ä°X3}4ôt}!âÃÛˆªµ¯E¥!¹Æ=dû&sCq&…=(Xc¸ÅÔ{tbˆgå.¿fFÿ;öšêì©´jÛì7µ¤F5†ðÄl(ñ\òML»Áᄸø ûjæÛ¼=e+”U¯Õ)úðÚ±ôè$ô}nqìGËð"®æP¸åÝŸ²~-‹ˆwd;&ô\<¼SØR¥R•Va·ö“MKËó™òy}§×´Ï.±§Ÿgø4Êïsm<ØöD}3z>q_S¤íÈBWð£ð,‘]qf…5‹sFì‘5í»2¾Á^oZ³Ø+kÉï9„åPˆÒ¦µ¶æÃ_­¢{&õ¡{ë=m2"îÚ^Ò $— ƒí™~9ŽÔ³1sÒGÕ5ŒR4¤;e­)¿Ó$YœzPæ¿i±ˆp5EÊØV— Š—ñ<üPÝnöÚ}ƒŽuåÛ*öH-©Ò‡]JA qH‚XÎâ~)à®KT4Ú©Dâ…z!¢â -Ïl™)"“~—K‚Q"SÎq5¬O=Q´öùA¿AˆQ ™Õ’Má©{¿ÛŽ=kI1lúrãÑÇ­Çyþ\µP(Jå?ü ÿøŸÀ@,…F&b)ç ÿ2ÜL! -endstream -endobj -370 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 735 0 R -/FirstChar 65 -/LastChar 116 -/Widths 736 0 R -/BaseFont /GLIYUS+CMBX9 -/FontDescriptor 368 0 R ->> endobj -368 0 obj << -/Ascent 694 -/CapHeight 686 -/Descent -194 -/FontName /GLIYUS+CMBX9 -/ItalicAngle 0 -/StemV 117 -/XHeight 444 -/FontBBox [-58 -250 1195 750] -/Flags 4 -/CharSet (/A/a/b/c/r/s/t) -/FontFile 369 0 R ->> endobj -736 0 obj -[893 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 575 657 526 0 0 0 0 0 0 0 0 0 0 0 0 0 0 488 467 460 ] -endobj -735 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 65/A 66/.notdef 97/a/b/c 100/.notdef 114/r/s/t 117/.notdef] ->> endobj -366 0 obj << -/Length1 1233 -/Length2 5754 -/Length3 532 -/Length 6539 -/Filter /FlateDecode ->> -stream -xÚí—eX”ë×öAi©Aº»sHé’Îaf€a†înIiP†”FZ”î”R¤‘PJá÷~þnßý||ßOÏñÌ|™ßºÖu®óZ׺ïãF] i UA"?¨òw@­çáý£·¸£Ïü›EÐ õ‚"þ‰ˆÿ…#ÿ‰ˆ¢s€¿I íEõBâÑ?$àÓùMâB>ƒß„K¾ŒJ «Øþ&~´MȈ®ýÑEìþ@´®ýˆ>’Èv ûÑeþ@t]ø?(€®‹øÑu‘ ZÙíüÕ«?PÝÚ?]ÈóDòú ÿûÐ*( }üy„„<‚"èVˆÄDøÿ¯<°§úº=þz 'ÿ?lC?'P¨L°0‹K…;f4F–)—csb*Ø7%i¿îšj' ›OÆ„— j¸r®Ô™\VdSobo2xÿ q} 7¢râš”9s½ée³™í×Bcrœ­å»áòð,l—¤­qútOSgre¨,ÍôE_Þ×w»…ºìJ¿à.1bt›{Õwç„‹Š™¨dà £"êX…õI3]Ë¢…£–½IÓR°–Ç‚£ðš¹o<É/‹ñ -R¯-N·'åÍïåΈZ"Fgæfá ¸øG\ ñÅOsZZ\VæòÉ 5²&e"¦erSA¢ÊÍL)3ƒŸÔçñ†.MG hz òÖm¢òÜ—¨µM»EÚrÎx¹– Ú{­&!˜ B [ÅNìzsj:îøÎߤ–ìÚÎÓ¢VÓ­AD x‰™jäH¦åüguÞËYØqd¹U¹Y”±o?éŽüà¶ÛOÙ­Æç,Çÿd«Z(d6%ø¡Lwòö3”¸¦ÐÛNñó/ØZùm—CeЖ½Dâ횀-Žü@Ó›,Ðij²Gëó¡ô)Ï^:3F™3ýèö¾§ÑV4l;6œ­M?~lFR˜Oác}šä–;ì{|^e2æ>3k}fvÙfç.¿u bêè>áîË꥞zkܧ~—˜ƒ*>*q–÷ h¹–º*º/hìPÃõó]ágtK"¥šL®¨˜[H%»èþ,Ù;K’³Ÿ¤ # -PUO2ˆDäFoZÁ[£P¢‘;5˜©1çZ”™øo3éýø÷ÓxëÈjît~{ópºæÕ+”#иÓVã£Hìˆß&È*"¤o‰Jo¶ Ú{KSÞ)µë}zkÕôÛþ”¿$®P ±HWù W¥Ýü=úÒÜé ­ÅgrqÉ„?bƒoë¾Yÿ`•¯¬,4ú>–ÈÛ" ÚŠRgú2B©k9Ý÷Šv’kô½YiÈiì3;ÃóçyÀ÷Ú£6gXáAº,å5ö^ùÅÁÈi«.i1€”?X¬pIfÀê:¼Zº0µRR`¶oMS¸Ì1Ý:Uª%V.ár…Xs>À_K)Zô -Éš]óH>2(~l.Xl>З‹ÊWc2>c~‚ªr|X«^Z.”U¿=ä²£€¸ìŠ½¿Ý\G™Ǽ["¾)z—,¾©ߊ7³³IûÆQÏÊól”Þ»ÄÁÂÞCÞ³³þ­†¯——W¢7_œBÚØyÜÕÉ ÿ.÷£„<ÙZí:Ý:Ž4F¬»´t~þú=ØÝR“!šôŽa-§¨\¾˜íØÓzh|#-ç × -é.'á\ìò“ñÔŸëŠAÍÚ95†OÕ™}Wx6["iFp~}Ïù%5? Ö˜ÕígLwœsèJÃåˆR$ç†øݛ½BT©À® -/g]Š’ÚDZTB½wEŠ­íNl]3Ö!¶í$–Ã_!ˆÜ¤–ý÷%Hô¬¨´N/OÏjÿ\â#êõž "ÞK·«Ö³ÀWuÒO¸|øtº‡ððÄ=mP†÷º?ÓV(—u'µ¸)’Sj¨îÐ Å]¢©¼_‘ßÕòù\^uTħ¶^=úXxâL+w`OÓÑ|T+$AA·wfehˆ¨‹üVXÆËÍ.S­¨›•^™ú9çfêq­n=ëáESâŽô·Äqᣩl1|©½|s¬20½7É.Ïcœ[¿sƒ¬ñƒ¡LõËðÌ|9?2YãL—Af65Õ÷Y“|„n¤ ¡W“—ÁÆ]§v+ ­k8ÓSûÌŽn²TìõèNoWƒ<†^8+ñS—,-ÐRÅýÍ ò‘œ,#MòeÂáÆÀÙÞjZΣdKu*]w”eü¶¦ƒ¤Ã\.|9¦ò£Neúºu -Iñ‚¿jÓ-ù® sÏã.šXKX}Ø(ý*ÊÚäzgcÛñèE="B±ÅÌÄäôáv·ðôšÓÆf?!SB#†7!£19Åò@è.‹îi–¬¥!³«”1?³ í$ÅmËo9Abê”^÷£†¯¡­ Û­Vi|VÏcÏ -åíBä(cdâFÈ!þ[õ½:µŠ¸’šAâ ™+Êé }ØçÕæ(üÏߌú,ããÃÚGJD²åùqeoÈ›3(®û¯48ônȆJvêqÖ˜ø¦ø¥rEæX•q©¶ Ê‚åý£È˜‹Hbº³œ_€B¹¯¼%óŸ”íçË™ÄÅ*s·½@IO•9¹¦/›Bê±E Ž$*Ü€aê’(aÏÓ&€ºçÓ—½Áݺ›i½ššŠ#B´9'½4æ·õŽfÝ9i'L_hÏM -dŸ¾o¸T\T§±È•?Òo#> T&¶[xןüž‡7Ê_LZÒž:Å“’¾üXp®@/bT€"Û1zbØËqWM‘œJ[£$=—e-x]ÞqÜœG÷ðÕ| äÆòn0wžŸÍ{ÿÒjÙfÆN )Uu%–„áý¬d8IÝ[’éEr^Ú¼’ùn7º¶LƒÙg>L!4Cü¬~“-žÞlãhnÛÍ[Vþúä'ëG¶ ÓOe½Ê›7:€îˆÇƒE®½ý$EžÒT4®Å~ÀtÅq©:MÉŠÚÝsúÐïNÕclo4Ç1[Þ‹ûNühRƉ‰ OZñT¼„0½ b_ -ØóýRî¬ké\ÔîC¦4Øžÿƒ -ƒyâ®Wæþá¨ÍõàÛ”©Êjkv£GЧ«©tÔÊ°©z›"X 4Ì5&ÆÔV½SŽÅ[V¯A\|n⾋²¸*ª{ݱèoŒqÕïQRYÛÒŠ½ßÁ|Ñv˜»*Çë¯É©ñ$Zh«ÂÒ”ó=~q†¡ÝˆÍQuÖ”wõÖñ#1B‰ñé-[à iÍ/Z\'? nÁœfuÁ" -b[ÕKÃמý¾ÐÍGþ`&¬B•ÉeHÓ– ëŒËh×&¿Ñ•Â?™pUR¸œÚ‡Š…¼c_ýÌïû˜iòŒRï°ó³.³Òk™óÕæz¬÷áÒÁƒã ~ãN\wɺôOÀÏge©)-ƒKMRm"ꟺ}úÜ)u°|æxÚŠˆõ…bº¶€Þ=¼'íý8LƒÐq}•Õ»@}š fŸ†zªÎÛ¾‡c3C³ÍqZc8<ø\K&¬½gC›âY™™6nÇÂÃ;ŠA! rDI„ð¦¡Quu‚fýÉâdÖÀ3¾O¶o)ÇìDgÐõwïÅ9Òö2°®]OïMIÍ=,!9¾õyìŒ`E)üÃì¥ûk„(¬m‘ñÕ÷*í³¹rKò5=åþÅSo×P‹êÄVô9ˆ‹õ1T-ù7??~Vû\±š5äܘglZÏÔ´S›x§áZ|4IXô¢¥’ô~hbãòåÁúâ+¤ S#¢Ük_ú]AèáojÅ4»Âþ{’¶«s÷÷.d™iÈh¢³©d+¹G©úѾó ¯&É[Isil=—%£òeÌ£ /UçšqÈÛ‡Kr—}ÔK;aü¾'2%›;žæCà$#ã»×—¹QÀ¨jë Z kG+«dQNÚ¬¾#‹rû„°&71ÊIÓD©s~,ºy©tVß·}Ìخħß+^̮锬…(>‘Ýhè`³á©ðª¿UÁ]\‹L×É›‘%”Hyã®tþ#†C°²rlfÄÖb.Ýb)t, ð6ÊtT¡Óµòˆ*Û)ˆO¯òmHÕ`M'ÕÛÇ3r;Ûnñu>%Éf÷Þº¼‰-ø ígç#“/rvl½kòMx;]ޜהxaÏeßa-y)ˆÏÚ‰ÈÔÇ“æláOwÊ~;ùc°)¿å¾#¬ÎÏ;H×eœè#ÑÅÑÖJü‡çé—͇.Û˜DÕqØA¾úzì}Òö!µ0ðBáÆÛÖXðkŠ©¹IZgÑ{öÊB„¨ìpúÍ(’÷á_U³'Ý)‰9 -m«n> Öᾞêx¤Gó;L©Û¶i† X8Q6ê·›Á]t •¬{[òsÛ­ÏvŠh¹p¸t«j>Nöƒ«¢÷=­?ÀŸü„½×ܦMÚ†@RÔ ︷cÏD‹ŸŠûÏ{‚뻢%Ò> IóÔœé,àAµ\Ùë8ŒI' :Bª¾*b4¶Ô†yÝÆûùlØ8]’êÆiŠ…e²WÀ³*›2©ur¾‚š[þõæÉZ+H¯äi·Œ8,fwÒæ‘CËÙŸ–,ÖA ŠüÆќƷþÔbã£âižÔnãLt0Ó¦E&Ñäí'j¨/çյ?å>?tÇuŽÉ#¦~rÆn…óð¥t×+8÷@´·Á×=;‘8j» — ñQ ùˆUD^ü”1SÉ~ÃJ’i´í^ìÔØ-t - ošdJeLÎ3Œs®žÛèãGj¾)™˜ùYfmË=‹uM”“#åªòîƒí#°|'PîËËgu br÷Ô¯F(÷-MZw¢¿G.Ž¿T“E¿ Ÿ¯ìÏo¥D×Übt7J!Ý}E)ÍÅ{é_ÏPZĪ0óúJ§Š¥¼‚ß¹[=€ßêÁÅ`üÚœ€~‰XvÔ uQØFÈŒå|4qa­·âðHY"3Ê–®÷yQm“[Ýü· kü· Ê1Ême˜­É›=úµWv£…"Tì8î%'6Ò?1« -ØÛpˆýyXc¿Æ*„”X†[,NºÓ\7àkhé]¼Ïvt3$Ò‹9*šêà$QØ^i_R;,³¯\QChB äæQ[ŸÆ0ýjÍPd ÷§å66Àûb¼2še.|iÕf‘/Åêq_*'E¿ïrÓÜ3ý±§>y:×j; Ù¨ž ›æû.JY0dË•‘v•n'–O*|¿Uþë¦_¤ =±Õ•NOwI‰v† ¥½4`ž)Á Âû`ƒ´>çäìbz¿×‚wÚ£LY(<3Sï…vºø—wy‹»*B¯1ŸÌnGŠ›T§’ »¨ëÎ÷™ÁóøÎ>u¹¹uÞÍçaêºÏ ‘oÍL—¯™©Ã÷Ñ ¹´oG°ßËÉ ýÜ­V_ŠeÑ:ËÅP&¨! Øø*)xX3¾a{^²Ý/9Ö—M¹p‘F¤@Ic/«Ö«/V@„ÀœÐ í·–‹ù$Yë.’ ÔY­ KܳBÞ‘°) ÑJªÒdd-•¯‚!/Rö6š·p¯ú>F¯KÁ=D&G®ß…Ç“½O¯íA‰h]›æÉù+`ShX2+é²ÒŸ©rÏ -^àI2é°}‰?Ñ×Ã܉ƒ:|ë¤7K$p¾¬XÃŒ=>7¼ÆL˜Aÿ?ÔSˆãÁ#·|£Qw¢+ç`é’¤I~8ª«46|ú¾ëU…š§Þä:œ}â®÷ fì7D‚†LR¹#O~Ù×ÐÐñ¶ÃäðÄ´¼ŽZ Ê“eýžµ®ŸüõQÖ—9NZÜs(#Ø“¶§l?î?3ˆ’Ô¬XÊ5F|±sL§ 9âˆ|¨К¤D*Ñ­˜›]ØU‘ßì·RÔn›4PKµ°`ÝKa¥‹T;‡éx-e»†3²`2®˜3ÇNTÓsø[îݯÐHŒmî]Jîÿ³èp£ÒWSp`gnQn^Å;`pðx€ðh»' ;´f—^ðEÓLî¹k}Có‚ø(?ÂQ2¤ù“üé]ҤÝÄ–ê$ -âLù‡â¯¿ŠZǧH® Ý(1Z3¶'9‰†S=N­7jt>N|7oñ–§“;ç3™­YvIs•“Ôƒ1ëT©Ú·b¯Ëòz„$Û²žF•&‰Š†Wêçoaô®InÅiÄ—…2~.“H+¤{Ø­aþÊŠb¦0Ÿ ËkhG +×qƒût”ª2&¾ •Ñ’Ó•áÄr<Ä7Z“»¦ÚpŠ]ÛqñëÐ ùÔ>Øjre@kˆ2Áq>ÎÃPL¯4§m·»=¨S2²ªÅ#Õb_Š§·tµ+6ËÝs@û^oÄAönÃP¿Ñ,øaÜ÷:0¿z|Uè[~•€jÀÜÞ'ÝR\j,îüíÃ/œž† .ÖP‚q@ Ùq¿-ÛWc‡«G¢ÄÕ#.k‹žß1mš©ô¼ÅŽNZ¦#k~D¤.ŠÕÒÆ+ƒ?wkãõò¾¥éïžšP³ñÄzþ~Lôj7iVõBt{Õz~~ÕMBɢ˞…舴ünaþ:= í®QJÿÉâÚOåcÛë;J†s#A#‚¸3(À“DQú®@œd.M±@­&UÙ$ÿèÝ×֢Ѕ4ÝÅ]]Ûyœ2^賋^"°áæ+?«³>oží G/MÂM&¦~.Üýçw¦ýÉò§†ãô¤±[†6|*O‰9à%Š)ù’úé§\ÙÆJL òk}¦µ² Œ1ËÞ³©Sj,E–ŒŒe:¸ƒ?«pö0Ñø:lèú2x²Ãð‚fxDù"“ü´Ça«°~ÉÔÿ ³{‘Âpöi‰~€°¦n½ -R^ -hph úþ¶ì—Ç Ë_è[M>38LÔ'óÞÏûÊ9ŒÄ&Y†S Šn4ͱ±ÝB*Æm‘8/c«»|ØÓ;ö|ßÖ°ˆ¡Ör±ª¸ØÛW*šïk  7óqHê׶z<¥„¨G3oo|Þ:8JëF~»ª'úè\Ê-òS*ß®¼×»x0¤¼ñ£¤áìI'åa—}e^6“yÈ9k§ø¸Z/ÎÍ}ÊãÕÜæ“CÁãeFFŒ^ ¨Ii§|´&¿Øs<ªñ¸.*—ÃæÌ#­—*lÜ–~¨Øɇó=r4Ÿ–å_‘~´›ºèøìמ$KË-ß)b5¨a6€5®¹b«›@_”æ¬ÃÙšy)¶’7ãMdF(]@›ÀëÍçÒ$ЛÃt¥Ç‹Y-¨†1¡Ô\ýÔç镶;†l¾DÑÑßshݲ*?"ÿ9ÅHôY§³K¢K,Ë…§2Ð(QöZHOS%_@nEÌA“C—¨ª!µŠ™ŠI˜Ë9¦5zÂþŠóùÅŒ'19å„ -ƒÂO¥¦ØÊɺï‹>áæã*%¤…i5Y0˜Î\-Ïãûo~sx«Ÿ$ÔÚ0âà•Ð:½ƒ£b¸¿e'L!5Y.{ǵ?ˆ—õ0ÙãêQKeMÐتµ_E8eÔH‘Oî‹ÆNz øöã>~ì¯èÐ;)±:ւܬ•)z»cQ++oTòe¹ ¹ý-ø«¼Áʲ>”­[y˜å\ì@ZåK]þòˆÝ»8ÿbNŒ—Xƒ·¡µÀb}­'ÏV©4 ­˜ÉoÝ;¨Û°¨ç¥c™(]~ž:G›ŽýQuµº¦7_Ñæ¼vtÑ–qYn ×Cr+§‰9Τ‡[Ž2˜)µÏøʸÇi‰ÚôuÎú¹Fo;­ùÿ?ÿ+ð?B ‡‚Ü<Î 7'‚ÿe)v -endstream -endobj -367 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 737 0 R -/FirstChar 24 -/LastChar 118 -/Widths 738 0 R -/BaseFont /KGOVFA+CMR12 -/FontDescriptor 365 0 R ->> endobj -365 0 obj << -/Ascent 694 -/CapHeight 683 -/Descent -194 -/FontName /KGOVFA+CMR12 -/ItalicAngle 0 -/StemV 65 -/XHeight 431 -/FontBBox [-34 -251 988 750] -/Flags 4 -/CharSet (/cedilla/suppress/parenleft/parenright/comma/zero/two/six/seven/colon/A/G/H/O/S/a/b/d/e/f/g/h/i/k/l/n/o/r/s/t/u/v) -/FontFile 366 0 R ->> endobj -738 0 obj -[435 0 0 0 0 0 0 0 272 0 0 0 0 0 0 0 381 381 0 0 272 0 0 0 490 0 490 0 0 0 490 490 0 0 272 0 0 0 0 0 0 734 0 0 0 0 0 768 734 0 0 0 0 0 0 762 0 0 0 544 0 0 0 0 0 0 0 0 0 0 0 0 0 490 544 0 544 435 299 490 544 272 0 517 272 0 544 490 0 0 381 386 381 544 517 ] -endobj -737 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 24/cedilla 25/.notdef 32/suppress 33/.notdef 40/parenleft/parenright 42/.notdef 44/comma 45/.notdef 48/zero 49/.notdef 50/two 51/.notdef 54/six/seven 56/.notdef 58/colon 59/.notdef 65/A 66/.notdef 71/G/H 73/.notdef 79/O 80/.notdef 83/S 84/.notdef 97/a/b 99/.notdef 100/d/e/f/g/h/i 106/.notdef 107/k/l 109/.notdef 110/n/o 112/.notdef 114/r/s/t/u/v 119/.notdef] ->> endobj -363 0 obj << -/Length1 1034 -/Length2 4035 -/Length3 532 -/Length 4723 -/Filter /FlateDecode ->> -stream -xÚí“g<\k´Æ• ˆ=!±Õ aŒÞ‚Ñ{%J”9 &3ŒÑ"ˆ.$ºhÑE¢·è½†hA8B½„D»“œ{NrÏýxï§û»{Ùÿõ®ý¬g¯µ6‡‘ Äý\  -‚…À2€²., €…„)xx”1pF©À°p,-  ˆ0–•’£à”Ñ.Þ„£àSæÿ‘$ @œá„ è°Npg¼† ¡íp¬·A"è7Ü(Ü Žñ€Û Q€Á€= üwD (@? i¢Ѐä_a{w—¿<à7¼)€o’À[´G£Þ€=ܤ‡Æׂãüo˜ú·¸š;©sþ!ÿ£IÿíæŒ@zÿgÚÙÅ Ǻh{8õïÔ;ð¿¼éÂíîÎÿ>ÕÄÂ;Ê „ÿ -!ÜÔ^p{ÖÎ p€!Ýà?ãp”ý¿MàûöÓblUR½ù×<žÀ(¬±·Ë?ª?’2ø㻃Ax–ÂBÂÂ`|"þþûÉê_µTQvh{ -¿â ƒySà7Oâ€@ ìá^Ü o$„Bcñ¯øžøh ÅqŠ‰ ;´³3ìGøgD\êG‰ŸíßI ¤ó‹$î?$%€ ¿Hý"¼¶ñ/@&ÿ~@¿jJKãkþC`aadÿ‚ü7Ä—tø ñºˆßoù Áx)Ôoˆ—Bÿ†x‡˜ß/åöâ¿ûâ-»ÿÄÿ>m%%´— ¨( (". H‹‰’bÒ¾ÿ%Ï΃£°?$üÊüÍü‚Áá^p;Šh;Ùà{I5¡~ª¹ï -I•kcôªÚÆš)ƒ&c ‘ùoµ]f+;¥ÒS¯¬°{ž°ºE4=4TÛ pI?[ñ°]I}PÏjö%U×{Ù…ó0h“¦±æýþ–8¡þèlA‚y^wúnÏf¶ŸŠñ*ÙG‚vK×íiÁ’fj©H“°J^Q(m²kA¸XØŒ'mBÜ…™á ¿{aënNF7¹Ó}Ͻ˜fCf•MÁXŽ#'NÏc©@%æ%ñäñWY–x#èND¢dø¾¡ßN/’ÔÝ­ýü›Ë©ÓÒ.ÞŸ^Á _•/ë9àÓÇÉÙ)†4è}:¹G„zölÜÄ]ƒ•Àç›\t[ÁuR¡°êÃìŒ@ô³î`êRËåñœk×έy¨6¥Pty™}Çß^wÜ Úz©è•]žþr½T¿¡Œ wûÉWZÊ -ʨÞYXUK¢éŽjˆÚW-ÓÒ|XÀ]}MzŒi‹šWhðø8. ÄÆ|þdÉþ¼Tmf´€YÁ•0 JAÜ„Õ˜-¡I®­ôJQ¸{ò ¹àŽé¼ò3½õ¹j¾±º½`˜YÇóÔNMd=Bp„è -ÂGèý{žÎDÿÉ.[*OªÝ0Ô®•3F¹“!ì"»CHv vUh9‡)í!¯Îב ôÆ?#a4·¨‚>e~Oæ<7!¶çQK¢ Ú£.ªØ#&¿Þtù…d]£‚¢µ$ã•ò0,Ž'gÙØn˵Àg©M[z%€.ÆÜË#XsÌPdo¤­=hÉí\'š|Sjp•7²[SÞþ(v¾âÈWd­ûŽkä3•€§Dí¡@»›Ìe")‘A§ã?Â_$y*Ýû"‰éΰ՚¤†xs³ N"¦WëzcWЋ¥ %Ú†ÆƺKî”éœûl§ž›g ÚsÞV/¿›šAããÞ–ðKçûЩÛrK]=/å˜Ïj(ïÃb«$Šõ- éäYeÑ¥Ú -£ý¤E¡ž;œ `ËuûÍiviY~…w§õ³+½1\==_œØ9Ýœú{c“ˆëk¶²|"žBw³|Yª´ÔíÆëb™êNåÕ™ì Ïvôäª3É2 }%¯×é˜æq®ÝíÁMƒÒd­K¡È%1‡ÕÖÄk••Ð«&s6¤Ð›¨ùæ&&q’µ?OW›qéV7·mø°íâ£þß+Ó„ûEu.ìîO÷ÓkRyí”?Tü,s¾#hd1.B$”ƒ9?rAåAg躊¸d iÞèÙ®àƒˆÒ/²§yºö„¯sŸA•Í©Þ§E¼&}LûðÇÒè@Üe󒕦ÙÚ©Ç7ßíçÄe™ß‚‰åȲ†WWÜŒKÍΪ/ÃÖ.æ脦<}êë“ÍO«9|_ã"¬)&7¿k¾2Z*>ÜÙg©Î®œìŒûéµoÈ2Ž‡Qæ\÷å^î4E ô™ªSòíL¨J›¨Ý8"X'UŽ<ŽH†.)v¤_¬\ ×‡¸T¨÷l¹º=*mPLrš S%T-Â2-½¥^Z,cû*’I$£—¡`¼FÄÓdpjÞnrdîÊûÂv¥³à0^g³SÆvs¥ oäÕrR\7g2šÔ÷2vÐnŽEñf•Ô£Å¦— ødPP4ãú¬ÊTÙÌ‚›Òqë­~¿÷ý—£‹`†ÒŒ•þ®ÐU6-ûÔW\¨¦@oÂâBÉî$¤“âŠò‚ÖÕ&* º&'†uó¢ñ°+fÍ‚ÕDã&ÒÐE•k:@Lú¹sG–î“áˆÙ¨™ì3:ªðuÖÆ'BT S<óá™DÐÜÖ{díw¡Ï€+³Šåò Žžüªrĺ¢ÆpʃT6 lâáNÞ¢¶¨j†“Á´)Ý¡’@šÄ—òo´BÈfßd¥LádïEB5Ÿ+8FPF; _‘²hTDò¼U¾`«!üáF§ŒNTçÕSŠ‘žWˆãÑ×Ì*·'º .KÕO·ŠdÖîP<9V¤öÍ ëYô1NíɤUQ>å9¢–Ñ`ZÈúŒEm½O¹Nœ,±É\¶Ù…ž0ãwN³pjZa«.œO…%ãiñ Ù`À -TÒVM”_âû‘÷^#ÍòBWé×:ÖCÑj¶W8Î'³QKô„¯piì©ûñÕóS†£{Zæöêï[DyŒ¾F%­8rЦ[›_¤%÷ÕFÓÔ‚ÏeÛ¯%§û¼z_œz£ÆCÞIf}ײ g QŽþMÆöèÁ_¸w8“Ú(‘ÍP1¾» œ$F#Íìå)å%9¾¾®Jð°FŠæ˜Ë;•–¦Uo`-42º·§¤ë0ñí9âÄJ.9 -#ÄCŒi»¹l Çý TK÷­æHQRc"u4[zù;îó'¤ýÌ"‡C1Šn^ öXQ(•Íû%mÕG~2wî*±â6ØÝAwë&EïLLæœ`Qè6bôÌQMq]<Žf‰nJÑŸÏ=I¶šF? Áz:Kó„ïn|KãÖ—Ê8vZŸ C°¸[™§ò¸-©-Jª=çß’ ú–³¶ï{êSUäË›Á}½É¨,?6‰‚œ8š¿f$s]œ¸?F«R^¦ ƒ<1ó=±o~^ôhAQ›Ý`<ã’é´’£ÊÅ<'¿Ë±Ã1UÀ!{úuòÝÊ 9‹ÐiñÝ’ÞÜ= o ηEÛ.‚CùcóôoOònÙ+S^Å!w²³6s"S þÔN!¸ÐÁ–4™?>»ùæ“ÍØð™¼oÑ}è­õ¢âº3‚¤§” Ê+®™¦V½Ó_QŸX%ÐQù§¿Öýˆ/$Ô¶ô'{ýs•¨óŠ#ý–/Ñ·´ˆ—ɘd0lS“d”-ÔK^·#²KÙ;¿üÕw5¢ê囼äDÈêÛ¡ßZgìšK¸ëá°f-œt÷ÔÛiúîžÇ ÍÉåä„d²&A*í¿rpѺ×|t+PÂ6SgK¾qŒöö;€^5oœEiñ ±áÃPw ýG­†ð -–ˆH%5Çjƒy«Î­qúOUE%âÔÉ sârÛJ¯’º)üCŸ7=½J^s/ÔgäoìºÚ?}I£@y4Œ#rÇîÈhX¿¹Ym[ÿñîjÌø¼²)8H t8í­_Eî__¯‘ê°%›Ž¦ùš^B2/4sªzY!Tžý‹èV–#½xìzn¢x¤mí5VØ™×µœ3 ì¡@yk¼<À“¾ RÕÎò¢¸Ry~Í¿µú×Û§³ˆ»NqÅZùvÍö!V§žïÛì¶omRe8Ýæ´îD.Ïy3ÚZoY}VQa#´&ß·>ŽNyà:™ó~G:Á}~;ë›R¿¼RC” -Kíc=Ô춽˜?Ÿ?‡¹¸Z2ÅÌ±Ì ±ÐaÑöhI7äe5z…]ü´¯M!±#O8îSz´T¯&g“mŸ>é'lÃ/Ðà´ýäãvô}Ïqíî¡Ê`jWšæK¼lªÆº¤,¯o¨DŒ7yLñ1´öŽW÷оñäW{l÷œæAxe(ÖFÙi9:Ö Žh¶5Övm²¬“cí¸¨‡ˆÔ a(¨5TÚÿbê-oÈCcdX·ÂÞGÍoMg×Årxü8F¤êî åWÁáÞZõæ3”òׯΫ bµŽCŒž_ÑŠ•ÃD…$%:k5unRO{M¨ùŠªëïq÷s¤ çò îb}¼† ÉøKܯý X['„dµ÷LLûJ -Ø·Äg¯½ó8 C ->ã—è ï¯ »]~ý%­x‘^ MIâ·W (Ûíµªu‚á˜'7àüÐõÓìÀþ®!óFC"yçظŒÛ6Ry• m"jü¾bCmí®ß¦ÊüÒ,\êk›Øè¢#ˆ_I\åñ¶ÆR-¿h2:›Meq ³¼Ôtù🪈ӹ^HX¯MÛ¦³Å—Ød´‰{5ÀÝ(^„™×êÑ„—÷~e«Í¤“ùúpï=“ê¾6&ÝÞzZÛS¦§1öX;.%ºHElu¤ÂjÆhÔ¸XÚ®g•òœ©m»ªc¼÷ÌÊ°g -eÜò âAx‰â¤>Wç~Âdkµüî0’àNkeo -m™‡•2Ã57ÔÁª=§†!2Š’hdïK7S0Ð0)ܧԑfê¡rg×-îT°^Rh©)pæìíÞ9Ⱥ]9a{;©±Ï㘮Þ!G¼CøÅûI—ÎŽ‹ómL[ÝiÉ$ój}GŠÚAal”ÌýíŸüWR:v·$.Ï6(0)³œ¶´òF*Ì}—.“a!ê´"ìtm¡¤93½¬›Žðù8keeÙ“ÔúhgGøxQü¿Àÿ ;$†Á¢a˜ûÿ*Ô‰E -endstream -endobj -364 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 739 0 R -/FirstChar 44 -/LastChar 117 -/Widths 740 0 R -/BaseFont /ATXRBE+CMR17 -/FontDescriptor 362 0 R ->> endobj -362 0 obj << -/Ascent 694 -/CapHeight 683 -/Descent -195 -/FontName /ATXRBE+CMR17 -/ItalicAngle 0 -/StemV 53 -/XHeight 431 -/FontBBox [-33 -250 945 749] -/Flags 4 -/CharSet (/comma/colon/L/M/R/S/T/U/a/c/d/e/f/i/l/n/o/r/s/t/u) -/FontFile 363 0 R ->> endobj -740 0 obj -[250 0 0 0 0 0 0 0 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 576 850 0 0 0 0 680 511 668 693 0 0 0 0 0 0 0 0 0 0 0 459 0 406 511 406 276 0 0 250 0 0 250 0 511 459 0 0 354 359 354 511 ] -endobj -739 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 44/comma 45/.notdef 58/colon 59/.notdef 76/L/M 78/.notdef 82/R/S/T/U 86/.notdef 97/a 98/.notdef 99/c/d/e/f 103/.notdef 105/i 106/.notdef 108/l 109/.notdef 110/n/o 112/.notdef 114/r/s/t/u 118/.notdef] ->> endobj -351 0 obj << -/Length1 835 -/Length2 921 -/Length3 532 -/Length 1512 -/Filter /FlateDecode ->> -stream -xÚíU}TLiÖnÄ”µ+¢³oèHíÌÜ[¦9ŔƖ&}¬6EÎíÞÛtkæÞºs'3R¬HI!¬–ÍGIÔ1[)´1ú DZ[±>¢T+Ù[8íæÏÝ¿öì{ÿyÏó¼¿÷9Ïï=çZYzûñ$‚K)’áÁ|ظÊü–€ùÇÊʕƆ Èƒ;X,†D-°@"G;ÈQ(âXW*RKò0X»Î‰€D‰ÓŠ@†0a¸’í" -àG¡Îhù@¢Pß*à‹«p:Çø2 —$G0àÈ ¥€è-Œ©#ßSÑ8­bMkÖä,ÀZÄ(R¡ÊxQì]8ëäß05¼¹T­Px!Êöƒ)}À#JB¡}§ ”‘j§ŒÂpš.ýkN†c„Z9œugJH¹¹|ÓÓÝ›«’&ά u6éD^¶s–‡F×ÖÚúÜ“œ½v¿uå$¬ïÓÅIåAš‹Ó¬žýì—¥éJŒ›Óx)Òˆ[·ñQrf×êÅc8å.•·k*â/´ -RÖ.,³ðœªo³{e®·õJŸ ‡Zì?*¼§›\Þ¾¤ NxsßÈüP\O‘qj»Å‚ŽUQÙ%NÝK¸É±üE'w-}z°¤Â¸¡d"l:ïZ“kJï¾1^Õ£ídꢗ麰-Ü»gW7Ô,<ضV9Âdò÷«}–Ÿâ$/F¤ý£’ÏÞmÙ\i߸{2±úñò íGr?óm‹t=> endobj -350 0 obj << -/Ascent 750 -/CapHeight 683 -/Descent -194 -/FontName /MIAVGJ+CMSY10 -/ItalicAngle -14.035 -/StemV 85 -/XHeight 431 -/FontBBox [-29 -960 1116 775] -/Flags 4 -/CharSet (/minus/periodcentered/circlecopyrt/bullet/bar) -/FontFile 351 0 R ->> endobj -742 0 obj -[778 278 0 0 0 0 0 0 0 0 0 0 0 1000 0 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 278 ] -endobj -741 0 obj << -/Type /Encoding -/Differences [ 0 /minus/periodcentered 2/.notdef 13/circlecopyrt 14/.notdef 15/bullet 16/.notdef 106/bar 107/.notdef] ->> endobj -348 0 obj << -/Length1 2156 -/Length2 15649 -/Length3 532 -/Length 16807 -/Filter /FlateDecode ->> -stream -xÚ¬¶sxݶ¸Û¶ÓØVcÛ¶m£±Õضm»±ÙØlŒFßz÷>g·ûüþý®äʵî11îg̱ærbe:A{#S1{;:&z&n"aY%&F"&zFF!rra'SCK{;CSn"&..f"1S#ÀÀ/7+73 9‘°½ƒ§“¥¹… ¥0Õ?“8ˆmM, íˆd ],Lm{Ú)Û[šºxÒ ÚØ)ý³Â™HÉÔÙÔÉÍÔ„†‰‰ÈÄÒØ…ÈÈÔÜÒ†á%I;3{"Ž‡M\þwÈÍÔÉ EDù/M*"€¤‰½'‘‰© ƒœ= ›)Àåÿ­ÿ»¹˜«œ¡í?ÛÿS¨ÿgØÐÖÒÆó&ØÛ:¸º˜:ÉÚ›˜:Ùýß©ê¦ÿv“55±tµý¿£’.†6–Æ‚væ6¦DŒÿY:‹Yz˜š(Xº[™Ú8›þ+njgò%•û—ƒ°´°¢šÍ¿Ïô_c -†–v.*žÿÙõŸÉÿb¦? ¨Ž“¥‘6# ¼L€‰€Ÿÿý¤ûr‰ÚÛ›XÚ™1³±:9zº@lDÞLD–v&¦D¦az;{À"@M|‰Ìì`þ9PÀ™3˜ý+öod åd ÍdýgòŸafªgccøŸ `gW'Sgç?AÀ> CÛ?!ÀZGW{S#›7ÉF؈ì\mþé1s»?a®ÿYðß³Y‰ LílLÍþŠ2ýOôÿLx8ظþcýç ìmmÿø³²[x:X˜þÉÌÊXHkoò'ÄxJCg‹?N"/S'û?€¯½é˜ êâþgœ  èbádú׌Šoïêô'ðOù-ÝþšÐu4Æ ëlêö—+  Lÿë™Ùªv–‹pþóÌ6ö-âúg[ËÿŽ²M] ÿœ?;Ë?G`êüÏ…ô'püC€üB[ø‹ü!@RÑÿ :bZüê"ñ‡’P©?p‘þC™?p‘ýC¹?p‘ÿq\þ »ÒdWþC€ì*]õ²«ý!@võ?È®ñ‡Ù5ÿC\€ìZP #'CckS—ÿjpÀ{à?_Ÿÿ`ùÏ‚ÿî}ÀíËð§Í¹F``üçkÎP0ù ÿi„¿ðŸ6ý  ÍÿB@I,þB@MþºOE±ú NÖ!@ê¯Û†`õçÂ`Ü  v!ÀÊþ/X9ü…ÿ´ê_°rú ÿùÞü…+—¿`åú¬ÜþB€•û_&ÀÊã/Xyþ…+¯¿ðŸ{ÐÎäï{ƒéŸKÔÔö?±ÿ÷M"$dïáMÇ ¸/ÿ9.".v.ßÿšiìê¸í\þõ¢dø_6³¼¾LM=LaÖ–íy‚­R[BËýD g+À©…Ì[ãåûºaƒV¿Û”ŒK;Ro5hü®Ì@E8?"tÃuŽìòQœûàŸ¶ôqäfp”áÕŽ«q›!ëyè@òtŽØÙ²xÁ,?¿5Qž¤Y4œ}=rž¯@)¢r ù“¨_Û­©?3˜CC,ÃF5,¤á ±Ršcy8kئ;RRØæLŸUTÍÆ}—+ÊïB¨¼Ä'ô8dã.B¥=j4¥cþ‹²¢0$ÄúÏ¡±ZL"se'¢#ðu(¥qÉ ÔÐÚl/Qý¹kÌiÑpY·_´í]Äïäìº[%ú,4úER«ÅŒ× …öU1/P^gD)Ï\]Ò‰ßÈvüù &ºäǨéPi÷[‘bj gd΢y1!Üg©âúÁ8ð'}z» -dè -ú–8ÃXî#ý¶¢zó“7‚EáU8ÍÁÌi&‘RÂtb ˆ¸ÙŠõ¤¯ÝÑÑRXˆVB–}›—Uñé%GÙD¶3ÞP*­Vn,ð 8Hòžf3ÕDçÏÏ¡…ó6T udä;ª(CEÀ„ps;êl¢Î «êúZ7îíÅóQ&É5ùj«¢ÝÐ5”£‡‘jY™¤j³x EöK=Ó¨å'wm0,ÿH ¥{,Ë&Ä8{mœ±X?®ð¨Ó$1­ô -pŒc~©LFÒ%Pbñ«©úýŽ+’xí -QÚE!p[2bGÊaÀ š¤â¶¶+sã{a³«góq*ue?)DNúÛ3V¶cÛÆ}²BÇYÖM»OïèdŠdìdb&R‹ƒ©ï)i‰æF˜:š7Œ„3åñþË /VxCp¼0°(ÜNúÕÐAô”qøÝϯյ! `mSDe[Pµ/õŸ0–+Ì£ùA¶Æ:Œ}Ö—ÂÎT‡Œí'‘dƒÌVówòâÍâ\MáäÕféOs˜g2R"½¶@é[ïÌFl):Æ&žÄQ·–c^4xÑÕ6-‡†u©=4£ãÌMÊ®’¸§šslb_Ís”¾É‹Ú»KS?Ü­Žð0D¥ :wˆ4Π— ŠŽæOyð}m"”š>$rÍ´’1Û[Ex µ®†8Üc| üq¾¸Oã†9XS5á3 Ä” á^aÛºC«—béÞùÞ}?«!"çëûÝ#æ,ݧ\4žÞ[Ú»p -ö^å­6ƒè«uó—ù¥ff‚ݘù¼z=家ý$óF„ùMÚö:[&’RaeðEºÓ‘´ëw‘m¤9óËOX4i¼Ìy:gO%£³¦±RâE«<8$ ÜòTxè›3ù|5ë”=âP)Ñ©õ ãG¼Ü¹ ·…4Éü—´A¬²öÙ%¬¢rDžÐ¯fŸ‚ VÌÂüÏÝT+Yܳ;SëŠÊ½ÏEV$"/\R’ \OÆ¥‚8¼T,ÖÄ“u˜¤ZuÆ *È앺.rß!" Â'´‡ƒU¢¾çÅSÆ©#ž Vœ<“uåqVøˆ·97ÄuOˆ"7-ç¡(vîÓe¿^½õiMä@,o"n¶4ò/Ö§mAö6¡úZƒP\ ü`? éÎ[¨û„ËGiÂKN 7M~祼|˜U»–=·ïW-*ƒ*&ûø©»HÊåéuX#權ØÌew‚5®Ùðn÷…R;ˆöîô4Å´€ìG/¨Íå—/\üY„àŸqLó[wÞímA,òŠg(¢­¡…K&dõiN5>-êckJ¬íñíòE%˸?æÇ3å’ h;òÌÀøEæj™DÛwI•-ÑJß¿Ú£€æ (RŽ!õ>ˆUtd?|ÛÍV$d–cN6tâ°ÅƳÄÍ…%þÜq÷³³˜}ÊÆJ&¨Þ2_`·hæ70iÚ-þfÊ¥¿ÁFÚ*¿0‰`~‘óÍ\x›Åðõ'”ª ËØ7Þ‚¦‚Cµ„Ï—♚౬D¯«™¬Qfô^LÆßùᎻ.³lj‘άv=r]5‚0òäà0ßšWI!´†mŽ¬²ƒ†Ÿ¤CôÖ/ŽÒØP}eÝÞÏ‹¹Òü~‘÷n,Û¯ÖúFòxþ._§2~·ÈQÌí¤qOœ¶Ý‘ÒüÙ›T\ -t¤­¥»à NPÄõS¦0ºr;Z¤8nÙ Yßïq E ªº{ÈñGÝ•SÌû2¾E“joÅ)£Ã¸?w÷ „"×ðÚ’­¿%^™Ë®w–+÷Õ Ö&{TÃB¶aœ¼›¡‹÷©Ó„a -«›•nù‹]5¯+¢=VÝRö[ D·m—|Ð\öø˜”¡i“Az==éëQ1a?µ„¿=Ãò‹O»P£De4<¸Ä Šè€¶m‹žËð¡ÜÐVCíÄ`õ¹ÜBöŒùJaX‰œÏ´³Vù±>U”_Ãïâ|õEÒ˜âE£baF²þöUÌÅ<ËZ,|…ÎÔë.ËF¸Í™ëÅÆߧ¨kÊ6R]œá»÷ ^$³3²5?9†îeõ†@ÆLÓ%"÷ðç°Çiä6­¿°áà  ©úCù0;"åF¢¸ovÎkV3^ŸHf¨ "ç:+ë3&¾.NJ׳yÛñÅÛÂ[œ¨˜Š'say«]˜—ÈîÇ ‰$#”Ñ ©Xdš[ÏR3Z\ú--þÇâªZaÌ÷´²¿Šÿ鼦F>üØÄ.YˆÚl½AßÓ-lµŠÈ$œÜ Dý$Jê2ñÓnb(3Øñ²̤¨—3ÑnôØíÛ½±Ï,ëÂ¥,÷¸*zª9?ÐÖfXœÕªty>ºr¡‘ÝiqÓXÀñ·çD*få/ž¸díÛp5ó½òìGÝÐ9i‰Ÿ®a-” -Ú®%ÛE“1 3ã#ô㌠o•Šo»¹+n®+â%NCé*uý*^aš +Ä9¾YadŠCÞ¨M¶)س7œ—:u¼a‰Fö½ÖR[\„£•¦_²VÓŒ•¯mÅJõ“e±ìO‰r]§GÌ -x-•þÈ,-7Z¤°2 ¥3[/½œ=‘Nïü6·‹ù$öÀÛ`ÁìÍÂÒ·Jo=1[ÒùdÈ8B¡É7¾yW¿bõ]eø{²ÑRG˜yYúⶊ¹ÀÊU:ÔÙû÷é8/K»Ù­ÐÇße9ýy&]÷«°¢Däl!t~ç;5_;uxµì‡Ÿ’ÖaZßo eÛJäC-£ö0)–ùM䯷9/ôªZA¸®)=Bn½mÑÂʧ¾%„š¡V­1·°~ÓPoJò;­  -3~éà AÇÀH™,¾)‡Š¼•ÅªîÀGÌ"`]ó*>íÓÑ|§÷Ö¹!‹ûe…h‡Q B ƒ?„Õ²ê¤Æg¨œÅ£ûššQåj)T†/D—ŸÝ@¬ ¸µE=‹/õˆ0ðCÚl· ÔÚqêgñþ¼ÃûT9=ƒó9ío ˜æú”«k½;îhÑDû&~?'c…–Ol‹Iño2¢‚ûNH“ð?0ÛECÓ‘@‚:/}¥¡vOò)4Ð 5šú<œQÇÒ³ŸX`MKa››‘DЋ_œ™ š!õGàkñ¢m K\Xð·ÂU¶¾Ûn‚}·—ëüf5l#•mÈÌŒ@‚÷Q&ü4lz*¼P^OD|VYÃæß­±Šk£ŠÛfËÐÆýÕZ’ì -òÔðTÏWœ]œ™v„Öò[¡ÎLJtŠ3”o¤°YÏ•¨1t«5H4ӆ˜BøŽ™BVü• Ê /+Ûa P÷^Òüzrÿã‹m4Bë?8ó§ÙçÏU;·ì®qenL/Øez¶šö~Z§ÀpÁnšð%ªÙ‘&0¡Ób5°-埤& ÜlO\ ¶·CÕ}cÃ[¿î5 ¬ŒÀ>Qm£àͶ¤*7¬fÜ3AÒòŽªøY69ðVC“¥U£–/^ñÍ’_ƒ¿Fí‰oÂÁíu`ºŠÖ,8¢cÎB¦­@[Ú¼ƒf±ûU$äeŹH §xŽêã‹øç;vpî)õu255ºú¸åœ‰¬^Wºu¥ ,[€þºš[Rm®Ö½ïIç´8Ò:ï"vRÃï¼mʆºey2àb½O'ChÔí‹=¸ï½ ò>øåëÆ¿ˆêﯠý}´aFá´‘Ï.ýGì›pËT[;Šy_Fx£p€ÉàF«]·(g‰*-ô2ʃÉ*n¢2 –3rÏÌ£ ðÃÄÌÕb“oþ´kòhrvJwÍx¼]YJF³×¦”¸7L¹àºøé5Á<Ìîsz马c¼JC@÷"ª«uø7Ö:ÌùüšH[ý"ç’ç¯8¬t¨ÝË3ÊÞ6ûó"‹½îM,$bºÙä$Æï7“C`h;ï×õF¦¹·Î >*ãÞܵr2C6DpIh_r™ÄjmLºµ¬&R8’Hü•tÖl êÔ»6§ƒªçZt§¶ÙY¢úúíͲSÀþî’uŽº ÈêsËs6˜ €ôVw@ìžžÆ>BÂŒƒýÉÛÈ÷½TX•^ÿzå²–ûÄ©hÖ_L‹±ÊÆÝÄÉtÑ­;®1]B2_mlÁŽuòÞ¹w"¥†¨ŒÛxÿËÓ[WD•H0õÉ1™¸@zý)iÚâ¨k¨MÔÈ©žÌÖWR§!Éë¡OÚXP¤¯ r¹è 5çz¹‰ws,8ú?¦Ý’Sª8»(©U{[©mÊ·ÅÆɽùÒXîÎú -æ PJ p ’’÷,ÌÈDýue8¹:¯¦‚4ÇWq ®”î|ØõoÁícîq"¦š—O*6p×É}s £:ó4/‹?ƒ,t” é9õÍÈYSˆ¬¸'¢ÀlYƒXkí¦oä;Žb+1šC BºY01ËI£F)‘dvþ»´#B]êÅ3vr%V&4îÆ+×¼,BGÊÌñº-µ™RŒÌÏ£Ú#ú.­iž«g-pìh mè>GŽ¬0Þ½Ô°í”6y$é~ žó¸J_šO/¯áJbÉåˆH%Ÿ™x6J!7G!ÜÙ³8ïÅ"žúbiÝJµôÈ8r‚ä]ø*§9z9O¶Â¯þ'Rhhé6¼0îT¶M.’¾öÓ„@;v.Ù±ó31Bæd{`ÖNŸ¡i‘ùKÆm©P(Bä°.~ý¢{=®û¾æìæEÓúWëÏD…sA°š÷ Ý5ÑÒLц¼Mgºí‡Z uøˆb˜F™G[ ®_òÆI—yäç\{þ’ñaj;@~è#ßeÞŠ™‘ ±QÚ¿óPos¡?è³æb"+1«CCҼ✞œŠT6Þš¿É¨Ê;VR,Ÿ™®Ä88>}§YY2ÊëÿYO --ðNoU¾Õ9ŠæNËgëq8RïóôÎ#Â6µYqv±r܉šãÍ¡´¾Í* -FRšÍJ9Óù²j˯^LYŽ‰JX×9¯¥M^K¡ÃÂUv™Š.Äší£B „/Ašö¸W¤·±°$£HŒŒ'²/´ïç¿ÏbøæžT_¡˜Yl hÏ™ýIŽADEêÌ«üMŒkÓkB®J>èëïQJ6YVÌcM¤wó¥›ò‡G)—4fdö‡6&ëG‰ª×ÒS{–o–ù‘ RX›ÀVô@ÚÂå<ø¸JŽÕSg’‘ÕË…È †+Ç!á†"ÛGçô=×7õVÖcÞHSG½’Ž nü„·XÜ»‰Ù%«ýÙ¹ºÊYŸhûws®ˆ”©”ضOÁg´Œ¿BüÝ\)¿×ø%ÓŸQ"¸’ŠQß`†Àƒ º¤`-XMÓ‰Y²Â¹à¼œÖj¦ø ¯°AƒLY·}óÒ)”SšX¾eËKâj<Á;AÛhÄðk'…ãù!l¿¤èîhqž Ã;»ºúz2œÊv{Æ{±x•È·Ú;m2xŸú¥*$Ç7bX. O¹WX\3sLT¥3k¸adqƒ³R÷m+A ZFéžÞJ$8¦ß˜C®“ZÊ,¨í<@I3C8e`»/æù«³£¥„yL±Ò$íl[ïÛ"–&œ*ÿ½×ù—®Œ$­JÉþa‘•×[„“nÏ8Bgà]©E¶P–ªRåQŠoÂX)ÜuÞig±5Ûˆ^}I‡Rf2éý>üsÆ ªdBË¥¿p¡ÄŸ¨ÉO†Q›íж~¡Ê7g|ã;ÚÌðq§ôÉò é2¶RÒl©HKõƒ.ÞùBJcdEü+Ò@ÏVxCO÷‹B˜fNܧUüȹ!èè—çQ£ÍÀœ®®Y‰îšâp¦|ÈuARèSB^)èLúÜHQø•Ü˲ǮŒÔ6ƒ{I莫t_s5¢ŒÞ<ÿé[TµR -ºí&D/V‰r›€y¶PGª¿úa¨«#*x°Á¢ý4on?­#§‹³L ±1Ô"çŒbšÌx/$ý¹,ž; á=o\¨†F0nv¬»Ý…qËó¾Íd¨Ç°#U*™¾ê ‰ˆ_®¼[/¦¾%Oh\ŠÏI„$Šfõµ>iïé›ÿâ0‘КÿÝŠ:ÔC¥öCdv ~‚ÙðOa„$5ýÆ#ˆšrûÎÐÖù,=v‚À2¾] gÈ(^ÈÒ µ‚œÚ2BÿÈL¸]õ -óðU54[ãžÏš “È„.Ô‘0^ë3¯q ±Íï][ÿн¯Á ßZZÅÖù×çAˆ‰´:.îÕM¬Ý}k7â–1ÎPîÇȲžyíú+¡j²#@mÄ q ¨É_æ‹—pglnŸúg€´˜üšt~…ôéªÊ8ŸŠ‹ZU=7µÞ7ŠŒ]ìëL<{õVwæ9…ÐÑØÑ]BUTDnBJ”±)~çz‰шzñ9ìµdÑN²ÏÛ*=²wŠSÉ-+= ½”sœ E™¾£-tdÜž§Ô7¤àÝ¿N`ÒcÈ3_¶¸AÃé‚qAZÅZXf~àL92ß}ºò$ô>¼¹þ “Ønx£n¹ab­;ÊUþ3.7)7mòµ€îiGìÖŠo§vqø±FÈk‡ÐŠõI‹­Í\æ¨6eÅÿ‚T§rÄX·šçW«Ñ •åàÓÚ–2¸ô~ZÁ‹à)½³{KÔ墆DÄm£F¬øù’jÄ’%¨³z,Bœ¯3”fñ-³2÷ Š<ö”Á,Ú‹ú.*‚ ö¯(m Akþ¬š~ë­ôðÖ YwP¶*Tb(‘Þ²à5Ü€‚d{òËœO¾¢ŒMô¥àa!ë6 IÿS8 '¯Ô@[ÒnLö¡ÙWɈ[<~& 0ãT˜ÄðaÖxÜFX"™Ñ6øM -MeVï0`à9²ý9hIïk?`Á³A#V -ð†k;ÏŽ|u®%ˆp¢é±pö®ž=¯)-z»’é'”þ~œ¯8¢ÐN:AÊ]PIèΡßoŽå+ÖŠÍÆÝÜKÇXð`#]ö[¼£)D7ó9CY´ª‘"Å‹aåiå+ùàG¸üÐSí2¸KëûÔß ÍãKzLhÚ+e—yî¢éζôí{Ï[ŠU(Ó -`¥©ª<ñl´‘Gê+Ÿ^ÞyÞr©Ú²ŸÓê#…eòWÜ”siàv'Ì7ÐÐ-v]îÆœAyÒw*q7¼fÇÅìë%YšëêÓÛ¿HŠÿ(§ÀfJ$.õ 2g¯×©Ú6¶ ìT§§T!€„ü9ë5dtkÛŸõãúpf©£Ô=ü­ñÌMƒ¼Î~4âg±ÅÆ»ëó5SÉ&5o§xmN ‚ =Ð윱¢»0Ƽé% -›)W^K.dž’XhK¥èÈW‡ÇŠ¹Á=“ï>Ç2aœÆ=gh.¹!T' Ê­kùݾŸ—žô7>‚å8ÏXWôáرR¦tä4¢ªÙi¶(©¢õ°„,|?ˆ=»ø‹²A«h@²³Aüë™ôpÌÂ6So¤4a-‰®kùÙn¼ƒV¸vsgïW|‡ÎÍ~(mGÖ·ž³4O¯ ËÿÒìI¦{ºÝè â   Jÿީʉ¶DêLÞl«¨ôrs Ê­ð‰žJi ÂWRÐh3ˆUR/8ù GóLИÑÍYÕ†UÔtKsN“Mý¬»ötŽÃÓ35ì…c7Æ„ã×^QZVt܃ô^Ä*¸ ÁÖÚüµùO\M—*'¡÷L2o?Õ°^òq:–žÁ¸ëÀm, £Kc¥ øU]×É9.a7$OÞiˆüŒ[,†²ß¬ùCóO¦EW†æxÕØ&r&ìë$ðöŠ$NÍÛ{ ë{0x²­ÒW¢Y³Fk«Ä -á>v¶¦nn$ò_b_ûŒ -2ÖwÓëÙ…RДѵIÆM)(x„Sv,ŽhÏŽ¹•¹nêq(L -èuœµ|ó"Â\b»Õ} ‡Ç€¤¯Å§ÏÛ8ÁœÆûá"ÍÃÙ9õ$lͲÆ~ˆ˧d½ªëÇßus­Ú_¸C !‘Fv}ž¢fLÅu »säqpÜòx#§ké^¬‘Ao¿,àÝ]ô§0êy°qÌÏ®ñAåµË„ò²Dø» Ÿ¹ö³@Ô¢´¸2¢µ?I÷©—Ìxà$æG4µw¨¸¾gÎ8N|¤b\Lƒ1™1œ#w¸]¾/¹¼LXçÈ>y].I«)Mï•6gÆà7E">a¯êœE€Œx3­ø ã©8ð³â gAåO¡‡ù¼•YÏåfTËû~qÛ ê«+z~íÒñ”<Ë)÷± Ìw”¤M¨oɯ?+¼H®#):‹$t›*Ç@Œµ¹¢&…/ÞŠÂß=Jø½`ž„‰J»ÊV2½ÏŒÕaÂ"e±®e$g•!D¸!Â2‰ “*“¤ÂuüdKGO$×ÒGs\¤ïuwA(‰G1Uw€púAzv.#‹Œk…U‹ ÿ”öME -× -/xÑLPŸ€K³ö'w-ÎéÏݺ®f‡_…gâ?C‘™3-º,G:¬“¾BC8`Ê -äžM¡¶5Ͼ¬ƒMÓTíÃ_cùª³–Ç™§½ù‚ÜU¿­f…ÜdëźiÁ}=ýúF³"ˆ÷hí'PLB3©Y°)µ®é…¯JƒF6ò3|'2éÆúæ0ýÌQ?j‚ß³N¦Û©QýõX–m2Ëä'Ï~vä$‘zdÀÑ’°`ÓœNJñ‘+%+·5= ƒrETË•_5.}žVœ×‰EÕûÀeIŲÂg2îB‚øQžx¹Œ®Ú!£„=z¢ë©™­©p‘@~ûa¹Ü„j -£ÜæJDªÔugWàVf‡wQ¿|²äŽŒ®™äKHuž\ú‘í ì˜p§¢ž ƒ}®^•ºµ²:Ô|ïÐÎoSÿ•6ô'‡¥„ƒÞ×ÉàBºúÝm×Ý:bž-œáýõ²è:co -´`€(ê…©)þYé¡å‚÷"+RœTŸ$j‡ÈLH¾ Ãë/Ê5N6[†è4y£QGeFaÒ‹Ò\ oÔâDúx`•?`ø˜×.)¡)œ‚~>‰! -´%+ h¯¬-‚€-}aSüöÂê_¼´‰†–ñ¾VR¼Ã‡‚.à鬢¢ªØÕ÷+èu‰>¦ÌW›êÉ­  -}wœK…ÒVÈŽaØRQ·Ï™®}ZZ6Z·š>©à£¯|½ý=³¹*ÌM:;Je -¹šBª»)ýù˜>¾"48ŒSæ+hÁKëèÿªtM¾rA‰SÈc1 ŽÞ@dºË$õÑ—ž2ªhZ ¨ÓîéÆüòý -&ó÷Ö}ÙƒKÍoi—ccã•6‹—ž–(4¯N9Ò§ª}á—Û(%6d©F£ÂÆ(ô¹þ—bÂ9£6«¸„jóšË„­'¦„ãtqyÅ‚' VÉZ|+º,0.l¶”fn0ôÞO϶®È gšÃZìdäu`üe85LëcÛh´õ™°Oò²à^¤OGba[˜õ‡«¦;¾Ø½Õ–^­Ø‰Ÿøø›ut#2[ò¯?!UW r`HkV)Ž³ÁÙ¨“%‡@¦¾ÊãRÉO ‘ÝÞ“²¯£¨ÁA.™šòú.ÐB«GïÁxÃLΆ¶«YÆkË.%1ñ%\äóû†Äý1jPØ•Bož×êS0‰gd¾O¾:ÓOyçÎ(NUÌ^Ê<+‚ò*ÁŠý>UGë«­Ñ‘‰ 3»™D2ØÀÁ{U†ýÙç<Ã}iXÒåD‡yÑš>ZÙQÞA5 œgLT”?µ^¢(Ø+jÄÏ! •(g0dö‡ûÜjļ“fV³–M]07|3=LŠ¼"äÈÂþ ôÆê’ÒüõÜŒtÃ>ô -»Fûqi*Ûyõºw¤Ìöa¬÷n™n²®ìíyC’6¥WkzµÕBú1ÐCm{h8…}mvt\¬qk¥ « Æõ`S®øe‰ ÕÖAŠ©!NŒŸÆvVþÚ#Ió!$ž;?‡…â#×J%íI®PHQÂÇÄèEšR;#˜ Ú'>$IÝÉyÏå;í×jÆR31Ž'k²&úŽ¼¿ ¥ª‰šà½ØˆÜ²  ŸPêÅî2‡ªæ*h/¨¾=ÃÃH*>I5m…âƒKš5ó%ç3Ý »u"7»’ï–Aì¹NáTÞ˜;œßŒÄ+z}6#g°ñm¨“öÃ(˜ZJŒ*àÌ/ì‚‚ß°š«,*òxù•FƒÀa¾{{RÛ®<èÛeˆm+nÑ?Îs‚O¼Zºü¤‚ì¡‘ùÉCÿÛBþÅϤ“"«çÕ:¾º®`& zœ00ù¨S,eÒFÃ+š¿´ç û© ®–`g†ý—d¸‰Œ_¨©>‡-·vqו]q6\ù!ÒBCo®§»OŒ:Ôãgî/¬Žlj7΂¯&í7—LNàìÅvõ+ÏòS2uÖ¶@ïÓ¢Ïd¡½HVtOL/B -Èi³@l½_ ”?t‡©©•žâˆ3·Ú”I¡Ô4Wdô÷¼¾è‘i˜}˜½#9æ!ì œ -‹®zd¯²f^‘Œsú‘Cè°ScæLpÒÕ`5¥ã(B[,Ã}°¤ssëÝÓNJ3ê8,"f"õÆîË hßyóë=_·Kì WOµ]bf%³é@gDUËÁ~¨+\Ú¸»!“ŒòÅ6#F¼±|…ȉv]%>Àé~G]W(OXs}™mŠR7ŸG»!µ!0ybwÝ=¾4½ƒ§¦§}0¬Äá"ÈåDÐx¡H—·hÅùöƒ ÕÄ -„™vÒx68¯”¨]?^×iFéa§ßµ!­ú3è«Ò*øfçu’hmÏUMàµÝsËh¶>p`åWh~ Çé»ê}­Íì[ZÕ€¼­keoS0œƒïQMí󭯳xwþ^Ñ ­ëÑÌI6*¥¬bdø)S4èŽ3æÖ±#=×Ì«#(·¾ñŠ‡ÌüGÔJ^_\U¥ -A@v0M´Q­Nˆ—æ¶m'a¬µ uòjÍ„,+…‰ß²L´„7o²±Q—÷ð ñбMf•ÏÐ6SÕ£ðîµ,¸Î×¼ƒµÍÂëì>±+~h±lI¥yõê°Õ5^c‘óíE2~™#âêwÛ¾IjGg=ð¦U¢ˆâóbäªúöºaüYúõ꡵ ©î% %YÕkj.A {•Ûfëþä¼OVâí¸ÀÜÛj6æB™o®Lù Šp£¡•œÌ‚:QpptrDB"©[~qk eÐïžÛ?£ýfä »6ŒcÚv} YÅè"YôedÖÊ”~Ó‘ÆÀï÷02k±H±%8c+ˆeKœ‘fYÈ¥aóÏæ6,‹Ì¶Îë;²®@b3 <öÜ -›ÃzIê壥Ým‚U5ŒÂ”ˆÆÁT²†$OJ¸¬î–Uk\ {U¯€jvó5EÕj öûŒ¦óNÜ/’ )W+ùr´çð3zM¦,´T„(nü1òùDÑJ9X·öP™V¾ª;óÍe&| }ñšòf/sï¼–Ô¹t[âÐ-AÎð,úûëÐsr…’áã ¤@6†‘¿6ß?ìD:.Shn†Ùâký»Ïð^à]ï8@—4úÏã -ÇÕÎÎ ÀÂvȤ"å®Ð~7º,xL p–‰BÁ̓198—ZÀô4PX¡ØiX„+i稔ÝlÝ …³N 4ø#(ˆÞ¤G`÷æCã{-"wŒÑèÎÌÂÓÁaS0Ê‹ýÞ”dÔùiÆj´.óá¹Ù!^=¬Û3[Ê5T‹2³ÀàŽ–œ•0®#±ƒòîxkŠœËý쇦ø«NÔR ¤<íµFœ]‚“y@rzæZöf”äô¨I_vÈgDA0ŽD”9ß³áÉN%»žš4(ƒ)(«·!­] /]©ÁæFÆCÉr“T¤Às6€6¤ÿQz<ø¦>Þ—Iü^#ÖßÁÝúË }°ö¯Èô±äµF/ˆ˜p2N¦SžrMôh á5 e3xòïHO—ƒ E¿ƒ_†¼û2ž%Ð|r§Jãω7}òñ -.µ”S¾“1õépì -D7:eÛÜ‘¡­j'S<Ù‚êñÀUcÌ¡1‹°ˆ‚Þ¡8žÈ]‚‹ŸhF‹÷ƒíÓ$«¸§³Œ4{”6Pa[Ö^oÔ‰mÿ¬‚‚ð¶:™ -ñÃJŸ¢Óª‚ÇÃRÙsÑUûlá[ù}xƒ!0ôežŽÄÍJâo_òì\ÿÇKôµ`‚Ÿ çÀ¶ï3Ãn·üMD*Ÿc”/^Þ,A'ÉÒßZ”iB4@Ž‰S@žævd¨ö*Ïä/7ãQ47¦2fÜm{¿©Ç±°xq_ -JË8Ü·à‹ž‘¼ErCÙhÞŠÂÆ -±«™©p¡ » -òICÍÉ4£ŠžõõBµôD÷üE›©‡jQGú}Å'¯÷aÖ^[4Š'O[”=³tÃæCªÚÍ ±¢EËFXη*µü—£Ípû[zÎÄÑwAvÊw 2£âÊó¼%ò]a9ü]V![Vw|õÿ,Dn¹’Ò¦œ´vØ IÉËtÂÞŸÖò2!_'¢ yÁcÎeU}TZ]Ÿ*õŸûK ËõV¾›=q :Ø Þet~äšëγ92ý1 -aQȱ¹xn•îé f 6¶ü*Ù|~í@ó»Ç9¯›8<,ÏÊ°ÆS¯ ÄA“Í*g¦Ÿw%Ïß…Š-Ùi½ù|Ú»€ëöß×Ô€iõÔ0ÚKùcéwÐ%̯µm„bVHýl0éL܈QPa?<„Çõ|»y®T›‰ *!” ]ƒDOÓ;VðbôÀSÌ7SJTŽÕ -”ó’2SJ’„ª§Ä"ŒY¡>wÖ«ývHOñ¯è”øcÐLøEËáfîešÀ×ùm‘U„,l‡L+?.áTÒèÅ £“Møa;2ÛúÀì_ûçA,UP H5Ÿ¿¶_/e{$å¿Ðð/O7ݺwz}ï"DÚi#–¦º6äm½IFaFþ„{­»|\Zýý“ŠŠÂÅ_i𠸇˹¼ˆŽ[Wòe?9¡ÉÙd¾g7.½£§­{OÊDiqðk³O³ïX'‘ûðòÄ@¸YQ½vT°Öj™ïνä-Äi`„ïàƒá½Å-—šÊUI_¥Ã¹Þ„®ÔMÛ7æÎ¥ÑxÊ=_ȾáæM6•JE-•7w_~lÍ“äe£AH#ðkCÀµœû–//×xHÃõXÝÚ÷sy1çk4ÝŽ± "Ž–öŒ¦ìÓc3f[-ñ6ù³†UÎÕðfôÑã‡ÒÇ?´½âÑïw«·ãdI1K2hµ È"FÉÓÄ_?A.?Bv= Ö$’llwú6½Ê°ºÂÕÎ}ßVÉÚн© -(>Ÿ,þÑ%ŽŸ&Ùh¯;Êaê)I±©ï—ðÊú’uNŒ|Œâ|ßÒœˆ²0 /ã[*܈šë‡A×5!,#}æšÜ”"’­WãŠp£ÄþQ?‰ŽÉôÒxÞfÖ2“þ”d¦‚ÐŽa×R ì&'çïÑx'U­è¬Ý’ü8dî/iÏWîçßSóØHøRëÖø¬3H:¨V-If[ÏOž÷sÃÓªu³b³Ø’Ò#VWŠñ=äZàü×–Åž£–zXÛVÙê1EÊ'G˜3±fTäGEÝ‹'‰‘bíòIš¹*æÝÞ~Iˆ\£.ÑÝ”ñâ»R£ÉZ³ÙÔË«Ô@A¸0Ýìá©Éùdiý屄ËC$‹#ŸCöÀ d¡I¥èA¤¯Àš46cþâö‘"Ø ëÚÓ¬Œ(4ÅPV²¢8š)rY~ŽMÌJVšér°|Ýî^ Uà<§…Ô:ñ?éµ òs¦çœÂä}€u0Ÿu5ýsΦ(vÀý:æ~ÈÖ¼ß æ-P¥06™ä§V°Z¿â¨c`ò^Sœµ˜£m%ØÔjߺ½­sgÙUÙ<ØáI ã+0úF¢»«é_._—ø¨‡×¤e´tgÇê¡Ø+hn¢(KÛíÁ»©Ø¶2hrÜžœ«æ%J3AšQ¸;š=å͹†ÐW ÜÖbÀžQ7,Íxô|³»9AëÇŽD›×Á¡m%Ä3óü˜ -v 1\ŸŒ“{AÈý4¡k[Æ~£î߆änÕˆÝË<Î[˜u;QMšÛÌ©´†¤ivE¸UD:+u·ëјh5,-bª¡E„w˜UlÙ¸’òiDI!‘L¢x³EZdÙÈCÁ©™Äí,`ˆ8QŽ[7®‚F&JÌ7·–å?åºÆ2¥ühö0~ ê_z¾=ŒÓ™‹Qv&­©—abüa ö«²ÏE‹Oí[âÿrxú¶‹ŸÈX éY[ ë¡Ã·SÕ­‹ 6”‡ Ø04€†Õí‘äoU1C(º$¹]ìëF×m±àBÞwÌ{'#€ðÓ„I«žî¨{õ–?x”}n¸2Js?t(f™zOÒÕÔ)lÑÜG¥ 7þfY»š6c³}~P.öGC7ù' Cð…óš±¾F$° -®ŠŠ\ϲòÇ›l§6VS§ D’L°­¦Hf¢œ“\Š¹ÑÂ÷t¾¯præ¬dë9‡µ¿ØÛ÷º—I×pÊÓ×ÈÙ“õZ•.+Á~hƒ×'ÝÊà&%»,e›HŠ@[¾D‰NIж:$íÜæÿ¨FR€‡Œ¤‰;²¾„’º¿) ñúlF€£"ÖOF´Õ7™â®žš‡e™ü؇Tª ýZÄh*(eéò˃› Ôôø‡²?gzÞyQ,[€žâ´ænÊFq”D«¡ÄÚIƱ¶F«‰6bÓ‚÷Î&§õ™ÕQ/ L$×ÄIøž¼ÆnÇéö¶b«‹¥ƒôh‘ƒþê]u³KlÚ_^ ‘Úu\2|œ´—eg_Y»•( ]wöBx“N™˜WÁ8žÓM(Çà‹¶Rñ$6É;#gf†2Öis.êÞ«’àÔ?ôܤD8ä£.}ãì0ã_=Ì™¿Î/Ž>}#àÅ«Eƒ‹¸ˆƒ*åÐðo-t ÂM…m” ®” ¯¸ cî›TüÁ‚N©ÜÖ¤œ6pòr¥Œx†Úíž%­—ˆ¨ -½ƒŒ€ˆvIûØ)`VúŸ8°#•év§D™[Ød‰t¿ZùÑGÖá•ûF+ê•/­m䥨”àš¢>/oxg&t!Lm³èøÈ“²ã\ªËX2yÈ1¿k£yIÛ—°&jp#¸ùÅŸÆ—}ç½CËxþîêNÓëtªÅ}â›Ð¶q²·jûÅ+;—?U"&·æ·ÇLnÃ)ʼn ~•Þ1®‹Ô3+tÅßtD’0 Ýu½H¡ÿßþIßP(ÿmÈ–.yÍj’…€kÔ€aa@rNjbQI~nbQ6KiE« -endstream -endobj -349 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 743 0 R -/FirstChar 11 -/LastChar 124 -/Widths 744 0 R -/BaseFont /CKCQVZ+CMR10 -/FontDescriptor 347 0 R ->> endobj -347 0 obj << -/Ascent 694 -/CapHeight 683 -/Descent -194 -/FontName /CKCQVZ+CMR10 -/ItalicAngle 0 -/StemV 69 -/XHeight 431 -/FontBBox [-251 -250 1009 969] -/Flags 4 -/CharSet (/ff/fi/fl/ffi/cedilla/suppress/exclam/quotedblright/numbersign/quoteright/parenleft/parenright/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/equal/question/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/bracketleft/quotedblleft/bracketright/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/endash/emdash) -/FontFile 348 0 R ->> endobj -744 0 obj -[583 556 556 833 0 0 0 0 0 0 0 0 0 444 0 0 0 0 0 0 0 278 278 500 833 0 0 0 278 389 389 0 778 278 333 278 500 500 500 500 500 500 500 500 500 500 500 278 278 0 778 0 472 0 750 708 722 764 681 653 785 750 361 514 778 625 917 750 778 681 0 736 556 722 750 750 1028 750 750 611 278 500 278 0 0 0 500 556 444 556 444 306 500 556 278 306 528 278 833 556 500 556 528 392 394 389 556 528 722 528 528 444 500 1000 ] -endobj -743 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 11/ff/fi/fl/ffi 15/.notdef 24/cedilla 25/.notdef 32/suppress/exclam/quotedblright/numbersign 36/.notdef 39/quoteright/parenleft/parenright 42/.notdef 43/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 60/.notdef 61/equal 62/.notdef 63/question 64/.notdef 65/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P 81/.notdef 82/R/S/T/U/V/W/X/Y/Z/bracketleft/quotedblleft/bracketright 94/.notdef 97/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/endash/emdash 125/.notdef] ->> endobj -353 0 obj << -/Type /Pages -/Count 6 -/Parent 745 0 R -/Kids [342 0 R 355 0 R 359 0 R 390 0 R 401 0 R 405 0 R] ->> endobj -415 0 obj << -/Type /Pages -/Count 6 -/Parent 745 0 R -/Kids [409 0 R 417 0 R 421 0 R 425 0 R 432 0 R 436 0 R] ->> endobj -467 0 obj << -/Type /Pages -/Count 6 -/Parent 745 0 R -/Kids [462 0 R 469 0 R 473 0 R 477 0 R 481 0 R 485 0 R] ->> endobj -493 0 obj << -/Type /Pages -/Count 6 -/Parent 745 0 R -/Kids [490 0 R 495 0 R 499 0 R 503 0 R 507 0 R 511 0 R] ->> endobj -519 0 obj << -/Type /Pages -/Count 6 -/Parent 745 0 R -/Kids [515 0 R 522 0 R 529 0 R 533 0 R 537 0 R 541 0 R] ->> endobj -548 0 obj << -/Type /Pages -/Count 6 -/Parent 745 0 R -/Kids [545 0 R 550 0 R 554 0 R 558 0 R 562 0 R 568 0 R] ->> endobj -578 0 obj << -/Type /Pages -/Count 6 -/Parent 746 0 R -/Kids [575 0 R 580 0 R 584 0 R 597 0 R 605 0 R 615 0 R] ->> endobj -622 0 obj << -/Type /Pages -/Count 6 -/Parent 746 0 R -/Kids [619 0 R 624 0 R 628 0 R 632 0 R 636 0 R 640 0 R] ->> endobj -647 0 obj << -/Type /Pages -/Count 6 -/Parent 746 0 R -/Kids [644 0 R 649 0 R 653 0 R 657 0 R 661 0 R 665 0 R] ->> endobj -672 0 obj << -/Type /Pages -/Count 6 -/Parent 746 0 R -/Kids [669 0 R 674 0 R 678 0 R 682 0 R 686 0 R 690 0 R] ->> endobj -697 0 obj << -/Type /Pages -/Count 1 -/Parent 746 0 R -/Kids [694 0 R] ->> endobj -745 0 obj << -/Type /Pages -/Count 36 -/Parent 747 0 R -/Kids [353 0 R 415 0 R 467 0 R 493 0 R 519 0 R 548 0 R] ->> endobj -746 0 obj << -/Type /Pages -/Count 25 -/Parent 747 0 R -/Kids [578 0 R 622 0 R 647 0 R 672 0 R 697 0 R] ->> endobj -747 0 obj << -/Type /Pages -/Count 61 -/Kids [745 0 R 746 0 R] ->> endobj -748 0 obj << -/Type /Outlines -/First 7 0 R -/Last 339 0 R -/Count 15 ->> endobj -339 0 obj << -/Title 340 0 R -/A 337 0 R -/Parent 748 0 R -/Prev 227 0 R ->> endobj -335 0 obj << -/Title 336 0 R -/A 333 0 R -/Parent 227 0 R -/Prev 331 0 R ->> endobj -331 0 obj << -/Title 332 0 R -/A 329 0 R -/Parent 227 0 R -/Prev 319 0 R -/Next 335 0 R ->> endobj -327 0 obj << -/Title 328 0 R -/A 325 0 R -/Parent 319 0 R -/Prev 323 0 R ->> endobj -323 0 obj << -/Title 324 0 R -/A 321 0 R -/Parent 319 0 R -/Next 327 0 R ->> endobj -319 0 obj << -/Title 320 0 R -/A 317 0 R -/Parent 227 0 R -/Prev 303 0 R -/Next 331 0 R -/First 323 0 R -/Last 327 0 R -/Count -2 ->> endobj -315 0 obj << -/Title 316 0 R -/A 313 0 R -/Parent 303 0 R -/Prev 311 0 R ->> endobj -311 0 obj << -/Title 312 0 R -/A 309 0 R -/Parent 303 0 R -/Prev 307 0 R -/Next 315 0 R ->> endobj -307 0 obj << -/Title 308 0 R -/A 305 0 R -/Parent 303 0 R -/Next 311 0 R ->> endobj -303 0 obj << -/Title 304 0 R -/A 301 0 R -/Parent 227 0 R -/Prev 299 0 R -/Next 319 0 R -/First 307 0 R -/Last 315 0 R -/Count -3 ->> endobj -299 0 obj << -/Title 300 0 R -/A 297 0 R -/Parent 227 0 R -/Prev 291 0 R -/Next 303 0 R ->> endobj -295 0 obj << -/Title 296 0 R -/A 293 0 R -/Parent 291 0 R ->> endobj -291 0 obj << -/Title 292 0 R -/A 289 0 R -/Parent 227 0 R -/Prev 283 0 R -/Next 299 0 R -/First 295 0 R -/Last 295 0 R -/Count -1 ->> endobj -287 0 obj << -/Title 288 0 R -/A 285 0 R -/Parent 283 0 R ->> endobj -283 0 obj << -/Title 284 0 R -/A 281 0 R -/Parent 227 0 R -/Prev 267 0 R -/Next 291 0 R -/First 287 0 R -/Last 287 0 R -/Count -1 ->> endobj -279 0 obj << -/Title 280 0 R -/A 277 0 R -/Parent 267 0 R -/Prev 275 0 R ->> endobj -275 0 obj << -/Title 276 0 R -/A 273 0 R -/Parent 267 0 R -/Prev 271 0 R -/Next 279 0 R ->> endobj -271 0 obj << -/Title 272 0 R -/A 269 0 R -/Parent 267 0 R -/Next 275 0 R ->> endobj -267 0 obj << -/Title 268 0 R -/A 265 0 R -/Parent 227 0 R -/Prev 243 0 R -/Next 283 0 R -/First 271 0 R -/Last 279 0 R -/Count -3 ->> endobj -263 0 obj << -/Title 264 0 R -/A 261 0 R -/Parent 243 0 R -/Prev 259 0 R ->> endobj -259 0 obj << -/Title 260 0 R -/A 257 0 R -/Parent 243 0 R -/Prev 255 0 R -/Next 263 0 R ->> endobj -255 0 obj << -/Title 256 0 R -/A 253 0 R -/Parent 243 0 R -/Prev 251 0 R -/Next 259 0 R ->> endobj -251 0 obj << -/Title 252 0 R -/A 249 0 R -/Parent 243 0 R -/Prev 247 0 R -/Next 255 0 R ->> endobj -247 0 obj << -/Title 248 0 R -/A 245 0 R -/Parent 243 0 R -/Next 251 0 R ->> endobj -243 0 obj << -/Title 244 0 R -/A 241 0 R -/Parent 227 0 R -/Prev 239 0 R -/Next 267 0 R -/First 247 0 R -/Last 263 0 R -/Count -5 ->> endobj -239 0 obj << -/Title 240 0 R -/A 237 0 R -/Parent 227 0 R -/Prev 235 0 R -/Next 243 0 R ->> endobj -235 0 obj << -/Title 236 0 R -/A 233 0 R -/Parent 227 0 R -/Prev 231 0 R -/Next 239 0 R ->> endobj -231 0 obj << -/Title 232 0 R -/A 229 0 R -/Parent 227 0 R -/Next 235 0 R ->> endobj -227 0 obj << -/Title 228 0 R -/A 225 0 R -/Parent 748 0 R -/Prev 207 0 R -/Next 339 0 R -/First 231 0 R -/Last 335 0 R -/Count -12 ->> endobj -223 0 obj << -/Title 224 0 R -/A 221 0 R -/Parent 207 0 R -/Prev 219 0 R ->> endobj -219 0 obj << -/Title 220 0 R -/A 217 0 R -/Parent 207 0 R -/Prev 215 0 R -/Next 223 0 R ->> endobj -215 0 obj << -/Title 216 0 R -/A 213 0 R -/Parent 207 0 R -/Prev 211 0 R -/Next 219 0 R ->> endobj -211 0 obj << -/Title 212 0 R -/A 209 0 R -/Parent 207 0 R -/Next 215 0 R ->> endobj -207 0 obj << -/Title 208 0 R -/A 205 0 R -/Parent 748 0 R -/Prev 195 0 R -/Next 227 0 R -/First 211 0 R -/Last 223 0 R -/Count -4 ->> endobj -203 0 obj << -/Title 204 0 R -/A 201 0 R -/Parent 195 0 R -/Prev 199 0 R ->> endobj -199 0 obj << -/Title 200 0 R -/A 197 0 R -/Parent 195 0 R -/Next 203 0 R ->> endobj -195 0 obj << -/Title 196 0 R -/A 193 0 R -/Parent 748 0 R -/Prev 163 0 R -/Next 207 0 R -/First 199 0 R -/Last 203 0 R -/Count -2 ->> endobj -191 0 obj << -/Title 192 0 R -/A 189 0 R -/Parent 163 0 R -/Prev 187 0 R ->> endobj -187 0 obj << -/Title 188 0 R -/A 185 0 R -/Parent 163 0 R -/Prev 183 0 R -/Next 191 0 R ->> endobj -183 0 obj << -/Title 184 0 R -/A 181 0 R -/Parent 163 0 R -/Prev 171 0 R -/Next 187 0 R ->> endobj -179 0 obj << -/Title 180 0 R -/A 177 0 R -/Parent 171 0 R -/Prev 175 0 R ->> endobj -175 0 obj << -/Title 176 0 R -/A 173 0 R -/Parent 171 0 R -/Next 179 0 R ->> endobj -171 0 obj << -/Title 172 0 R -/A 169 0 R -/Parent 163 0 R -/Prev 167 0 R -/Next 183 0 R -/First 175 0 R -/Last 179 0 R -/Count -2 ->> endobj -167 0 obj << -/Title 168 0 R -/A 165 0 R -/Parent 163 0 R -/Next 171 0 R ->> endobj -163 0 obj << -/Title 164 0 R -/A 161 0 R -/Parent 748 0 R -/Prev 159 0 R -/Next 195 0 R -/First 167 0 R -/Last 191 0 R -/Count -5 ->> endobj -159 0 obj << -/Title 160 0 R -/A 157 0 R -/Parent 748 0 R -/Prev 131 0 R -/Next 163 0 R ->> endobj -155 0 obj << -/Title 156 0 R -/A 153 0 R -/Parent 151 0 R ->> endobj -151 0 obj << -/Title 152 0 R -/A 149 0 R -/Parent 131 0 R -/Prev 147 0 R -/First 155 0 R -/Last 155 0 R -/Count -1 ->> endobj -147 0 obj << -/Title 148 0 R -/A 145 0 R -/Parent 131 0 R -/Prev 143 0 R -/Next 151 0 R ->> endobj -143 0 obj << -/Title 144 0 R -/A 141 0 R -/Parent 131 0 R -/Prev 139 0 R -/Next 147 0 R ->> endobj -139 0 obj << -/Title 140 0 R -/A 137 0 R -/Parent 131 0 R -/Prev 135 0 R -/Next 143 0 R ->> endobj -135 0 obj << -/Title 136 0 R -/A 133 0 R -/Parent 131 0 R -/Next 139 0 R ->> endobj -131 0 obj << -/Title 132 0 R -/A 129 0 R -/Parent 748 0 R -/Prev 115 0 R -/Next 159 0 R -/First 135 0 R -/Last 151 0 R -/Count -5 ->> endobj -127 0 obj << -/Title 128 0 R -/A 125 0 R -/Parent 115 0 R -/Prev 123 0 R ->> endobj -123 0 obj << -/Title 124 0 R -/A 121 0 R -/Parent 115 0 R -/Prev 119 0 R -/Next 127 0 R ->> endobj -119 0 obj << -/Title 120 0 R -/A 117 0 R -/Parent 115 0 R -/Next 123 0 R ->> endobj -115 0 obj << -/Title 116 0 R -/A 113 0 R -/Parent 748 0 R -/Prev 91 0 R -/Next 131 0 R -/First 119 0 R -/Last 127 0 R -/Count -3 ->> endobj -111 0 obj << -/Title 112 0 R -/A 109 0 R -/Parent 91 0 R -/Prev 107 0 R ->> endobj -107 0 obj << -/Title 108 0 R -/A 105 0 R -/Parent 91 0 R -/Prev 103 0 R -/Next 111 0 R ->> endobj -103 0 obj << -/Title 104 0 R -/A 101 0 R -/Parent 91 0 R -/Prev 99 0 R -/Next 107 0 R ->> endobj -99 0 obj << -/Title 100 0 R -/A 97 0 R -/Parent 91 0 R -/Prev 95 0 R -/Next 103 0 R ->> endobj -95 0 obj << -/Title 96 0 R -/A 93 0 R -/Parent 91 0 R -/Next 99 0 R ->> endobj -91 0 obj << -/Title 92 0 R -/A 89 0 R -/Parent 748 0 R -/Prev 75 0 R -/Next 115 0 R -/First 95 0 R -/Last 111 0 R -/Count -5 ->> endobj -87 0 obj << -/Title 88 0 R -/A 85 0 R -/Parent 75 0 R -/Prev 83 0 R ->> endobj -83 0 obj << -/Title 84 0 R -/A 81 0 R -/Parent 75 0 R -/Prev 79 0 R -/Next 87 0 R ->> endobj -79 0 obj << -/Title 80 0 R -/A 77 0 R -/Parent 75 0 R -/Next 83 0 R ->> endobj -75 0 obj << -/Title 76 0 R -/A 73 0 R -/Parent 748 0 R -/Prev 67 0 R -/Next 91 0 R -/First 79 0 R -/Last 87 0 R -/Count -3 ->> endobj -71 0 obj << -/Title 72 0 R -/A 69 0 R -/Parent 67 0 R ->> endobj -67 0 obj << -/Title 68 0 R -/A 65 0 R -/Parent 748 0 R -/Prev 59 0 R -/Next 75 0 R -/First 71 0 R -/Last 71 0 R -/Count -1 ->> 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 748 0 R -/Prev 47 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 47 0 R -/Prev 51 0 R ->> endobj -51 0 obj << -/Title 52 0 R -/A 49 0 R -/Parent 47 0 R -/Next 55 0 R ->> endobj -47 0 obj << -/Title 48 0 R -/A 45 0 R -/Parent 748 0 R -/Prev 11 0 R -/Next 59 0 R -/First 51 0 R -/Last 55 0 R -/Count -2 ->> endobj -43 0 obj << -/Title 44 0 R -/A 41 0 R -/Parent 11 0 R -/Prev 39 0 R ->> endobj -39 0 obj << -/Title 40 0 R -/A 37 0 R -/Parent 11 0 R -/Prev 35 0 R -/Next 43 0 R ->> endobj -35 0 obj << -/Title 36 0 R -/A 33 0 R -/Parent 11 0 R -/Prev 31 0 R -/Next 39 0 R ->> endobj -31 0 obj << -/Title 32 0 R -/A 29 0 R -/Parent 11 0 R -/Prev 27 0 R -/Next 35 0 R ->> endobj -27 0 obj << -/Title 28 0 R -/A 25 0 R -/Parent 11 0 R -/Prev 23 0 R -/Next 31 0 R ->> endobj -23 0 obj << -/Title 24 0 R -/A 21 0 R -/Parent 11 0 R -/Prev 19 0 R -/Next 27 0 R ->> endobj -19 0 obj << -/Title 20 0 R -/A 17 0 R -/Parent 11 0 R -/Prev 15 0 R -/Next 23 0 R ->> endobj -15 0 obj << -/Title 16 0 R -/A 13 0 R -/Parent 11 0 R -/Next 19 0 R ->> endobj -11 0 obj << -/Title 12 0 R -/A 9 0 R -/Parent 748 0 R -/Prev 7 0 R -/Next 47 0 R -/First 15 0 R -/Last 43 0 R -/Count -8 ->> endobj -7 0 obj << -/Title 8 0 R -/A 5 0 R -/Parent 748 0 R -/Next 11 0 R ->> endobj -749 0 obj << -/Names [(Doc-Start) 346 0 R (cite.XMI) 603 0 R (cite.knuth) 591 0 R (cite.lamport) 592 0 R (cite.metaobj) 520 0 R (cite.metapost) 399 0 R (cite.pstumlsty) 601 0 R (cite.umldoc) 602 0 R (cite.umlsty) 600 0 R (figure.1) 393 0 R (figure.2) 565 0 R (page.1) 345 0 R (page.10) 427 0 R (page.11) 434 0 R (page.12) 438 0 R (page.13) 464 0 R (page.14) 471 0 R (page.15) 475 0 R (page.16) 479 0 R (page.17) 483 0 R (page.18) 487 0 R (page.19) 492 0 R (page.2) 357 0 R (page.20) 497 0 R (page.21) 501 0 R (page.22) 505 0 R (page.23) 509 0 R (page.24) 513 0 R (page.25) 517 0 R (page.26) 524 0 R (page.27) 531 0 R (page.28) 535 0 R (page.29) 539 0 R (page.3) 361 0 R (page.30) 543 0 R (page.31) 547 0 R (page.32) 552 0 R (page.33) 556 0 R (page.34) 560 0 R (page.35) 564 0 R (page.36) 570 0 R (page.37) 577 0 R (page.38) 582 0 R (page.39) 586 0 R (page.4) 392 0 R (page.40) 599 0 R (page.41) 607 0 R (page.42) 617 0 R (page.43) 621 0 R (page.44) 626 0 R (page.45) 630 0 R (page.46) 634 0 R (page.47) 638 0 R (page.48) 642 0 R (page.49) 646 0 R (page.5) 403 0 R (page.50) 651 0 R (page.51) 655 0 R (page.52) 659 0 R (page.53) 663 0 R (page.54) 667 0 R (page.55) 671 0 R (page.56) 676 0 R (page.57) 680 0 R (page.58) 684 0 R (page.59) 688 0 R (page.6) 407 0 R (page.60) 692 0 R (page.61) 696 0 R (page.7) 411 0 R (page.8) 419 0 R (page.9) 423 0 R (section*.1) 377 0 R (section*.2) 384 0 R (section*.3) 385 0 R (section*.4) 386 0 R (section*.5) 387 0 R (section*.6) 388 0 R (section*.7) 590 0 R (section.1) 6 0 R (section.10) 158 0 R (section.11) 162 0 R (section.12) 194 0 R (section.13) 206 0 R (section.14) 226 0 R (section.15) 338 0 R (section.2) 10 0 R (section.3) 46 0 R (section.4) 58 0 R (section.5) 66 0 R (section.6) 74 0 R (section.7) 90 0 R (section.8) 114 0 R (section.9) 130 0 R (subsection.11.1) 166 0 R (subsection.11.2) 170 0 R (subsection.11.3) 182 0 R (subsection.11.4) 186 0 R (subsection.11.5) 190 0 R (subsection.12.1) 198 0 R (subsection.12.2) 202 0 R (subsection.13.1) 210 0 R (subsection.13.2) 214 0 R (subsection.13.3) 218 0 R (subsection.13.4) 222 0 R (subsection.14.1) 230 0 R (subsection.14.10) 318 0 R (subsection.14.11) 330 0 R (subsection.14.12) 334 0 R (subsection.14.2) 234 0 R (subsection.14.3) 238 0 R (subsection.14.4) 242 0 R (subsection.14.5) 266 0 R (subsection.14.6) 282 0 R (subsection.14.7) 290 0 R (subsection.14.8) 298 0 R (subsection.14.9) 302 0 R (subsection.2.1) 14 0 R (subsection.2.2) 18 0 R (subsection.2.3) 22 0 R (subsection.2.4) 26 0 R (subsection.2.5) 30 0 R (subsection.2.6) 34 0 R (subsection.2.7) 38 0 R (subsection.2.8) 42 0 R (subsection.3.1) 50 0 R (subsection.3.2) 54 0 R (subsection.4.1) 62 0 R (subsection.5.1) 70 0 R (subsection.6.1) 78 0 R (subsection.6.2) 82 0 R (subsection.6.3) 86 0 R (subsection.7.1) 94 0 R (subsection.7.2) 98 0 R (subsection.7.3) 102 0 R (subsection.7.4) 106 0 R (subsection.7.5) 110 0 R (subsection.8.1) 118 0 R (subsection.8.2) 122 0 R (subsection.8.3) 126 0 R (subsection.9.1) 134 0 R (subsection.9.2) 138 0 R (subsection.9.3) 142 0 R (subsection.9.4) 146 0 R (subsection.9.5) 150 0 R (subsubsection.11.2.1) 174 0 R (subsubsection.11.2.2) 178 0 R (subsubsection.14.10.1) 322 0 R (subsubsection.14.10.2) 326 0 R (subsubsection.14.4.1) 246 0 R (subsubsection.14.4.2) 250 0 R (subsubsection.14.4.3) 254 0 R (subsubsection.14.4.4) 258 0 R (subsubsection.14.4.5) 262 0 R (subsubsection.14.5.1) 270 0 R (subsubsection.14.5.2) 274 0 R (subsubsection.14.5.3) 278 0 R (subsubsection.14.6.1) 286 0 R (subsubsection.14.7.1) 294 0 R (subsubsection.14.9.1) 306 0 R (subsubsection.14.9.2) 310 0 R (subsubsection.14.9.3) 314 0 R (subsubsection.9.5.1) 154 0 R] -/Limits [(Doc-Start) (subsubsection.9.5.1)] ->> endobj -750 0 obj << -/Kids [749 0 R] ->> endobj -751 0 obj << -/Dests 750 0 R ->> endobj -752 0 obj << -/Type /Catalog -/Pages 747 0 R -/Outlines 748 0 R -/Names 751 0 R -/PageMode /UseOutlines -/OpenAction 341 0 R ->> endobj -753 0 obj << -/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.304)/Keywords() -/CreationDate (D:20060827133740+03'00') -/PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.30.4-2.2 (Web2C 7.5.5) kpathsea version 3.5.5) ->> endobj -xref -0 754 -0000000001 65535 f -0000000002 00000 f -0000000003 00000 f -0000000004 00000 f -0000000000 00000 f -0000000015 00000 n -0000018449 00000 n -0000388975 00000 n -0000000060 00000 n -0000000090 00000 n -0000026596 00000 n -0000388852 00000 n -0000000135 00000 n -0000000168 00000 n -0000029936 00000 n -0000388778 00000 n -0000000219 00000 n -0000000249 00000 n -0000029996 00000 n -0000388691 00000 n -0000000300 00000 n -0000000350 00000 n -0000032596 00000 n -0000388604 00000 n -0000000401 00000 n -0000000446 00000 n -0000035267 00000 n -0000388517 00000 n -0000000497 00000 n -0000000546 00000 n -0000035328 00000 n -0000388430 00000 n -0000000597 00000 n -0000000650 00000 n -0000037999 00000 n -0000388343 00000 n -0000000701 00000 n -0000000734 00000 n -0000040895 00000 n -0000388256 00000 n -0000000785 00000 n -0000000816 00000 n -0000040956 00000 n -0000388182 00000 n -0000000867 00000 n -0000000914 00000 n -0000043389 00000 n -0000388057 00000 n -0000000960 00000 n -0000000984 00000 n -0000043450 00000 n -0000387983 00000 n -0000001035 00000 n -0000001089 00000 n -0000047330 00000 n -0000387909 00000 n -0000001140 00000 n -0000001186 00000 n -0000050753 00000 n -0000387784 00000 n -0000001232 00000 n -0000001259 00000 n -0000053902 00000 n -0000387723 00000 n -0000001310 00000 n -0000001343 00000 n -0000053963 00000 n -0000387598 00000 n -0000001389 00000 n -0000001426 00000 n -0000056545 00000 n -0000387537 00000 n -0000001477 00000 n -0000001510 00000 n -0000056606 00000 n -0000387412 00000 n -0000001556 00000 n -0000001592 00000 n -0000056667 00000 n -0000387338 00000 n -0000001643 00000 n -0000001671 00000 n -0000056728 00000 n -0000387251 00000 n -0000001722 00000 n -0000001747 00000 n -0000059725 00000 n -0000387177 00000 n -0000001798 00000 n -0000001831 00000 n -0000059786 00000 n -0000387050 00000 n -0000001877 00000 n -0000001913 00000 n -0000059847 00000 n -0000386976 00000 n -0000001964 00000 n -0000002006 00000 n -0000062516 00000 n -0000386887 00000 n -0000002057 00000 n -0000002085 00000 n -0000062577 00000 n -0000386796 00000 n -0000002137 00000 n -0000002170 00000 n -0000062639 00000 n -0000386704 00000 n -0000002222 00000 n -0000002248 00000 n -0000065438 00000 n -0000386626 00000 n -0000002300 00000 n -0000002334 00000 n -0000065500 00000 n -0000386495 00000 n -0000002381 00000 n -0000002415 00000 n -0000065562 00000 n -0000386416 00000 n -0000002467 00000 n -0000002503 00000 n -0000068830 00000 n -0000386323 00000 n -0000002555 00000 n -0000002595 00000 n -0000068892 00000 n -0000386244 00000 n -0000002647 00000 n -0000002681 00000 n -0000068954 00000 n -0000386112 00000 n -0000002728 00000 n -0000002761 00000 n -0000071017 00000 n -0000386033 00000 n -0000002813 00000 n -0000002848 00000 n -0000073615 00000 n -0000385940 00000 n -0000002900 00000 n -0000002936 00000 n -0000073677 00000 n -0000385847 00000 n -0000002988 00000 n -0000003037 00000 n -0000077012 00000 n -0000385754 00000 n -0000003089 00000 n -0000003121 00000 n -0000077074 00000 n -0000385636 00000 n -0000003173 00000 n -0000003214 00000 n -0000080533 00000 n -0000385571 00000 n -0000003271 00000 n -0000003319 00000 n -0000080595 00000 n -0000385478 00000 n -0000003367 00000 n -0000003410 00000 n -0000087528 00000 n -0000385346 00000 n -0000003458 00000 n -0000003504 00000 n -0000087590 00000 n -0000385267 00000 n -0000003557 00000 n -0000003587 00000 n -0000091961 00000 n -0000385135 00000 n -0000003640 00000 n -0000003677 00000 n -0000094971 00000 n -0000385056 00000 n -0000003735 00000 n -0000003766 00000 n -0000097191 00000 n -0000384977 00000 n -0000003824 00000 n -0000003861 00000 n -0000097951 00000 n -0000384884 00000 n -0000003914 00000 n -0000003950 00000 n -0000100483 00000 n -0000384791 00000 n -0000004003 00000 n -0000004038 00000 n -0000103800 00000 n -0000384712 00000 n -0000004091 00000 n -0000004133 00000 n -0000103861 00000 n -0000384580 00000 n -0000004181 00000 n -0000004218 00000 n -0000109350 00000 n -0000384501 00000 n -0000004271 00000 n -0000004327 00000 n -0000114225 00000 n -0000384422 00000 n -0000004380 00000 n -0000004445 00000 n -0000117173 00000 n -0000384290 00000 n -0000004493 00000 n -0000004547 00000 n -0000117235 00000 n -0000384211 00000 n -0000004600 00000 n -0000004635 00000 n -0000117297 00000 n -0000384118 00000 n -0000004688 00000 n -0000004727 00000 n -0000120623 00000 n -0000384025 00000 n -0000004780 00000 n -0000004819 00000 n -0000124213 00000 n -0000383946 00000 n -0000004872 00000 n -0000004913 00000 n -0000128196 00000 n -0000383813 00000 n -0000004961 00000 n -0000004991 00000 n -0000128258 00000 n -0000383734 00000 n -0000005044 00000 n -0000005073 00000 n -0000128319 00000 n -0000383641 00000 n -0000005126 00000 n -0000005151 00000 n -0000131453 00000 n -0000383548 00000 n -0000005204 00000 n -0000005232 00000 n -0000131515 00000 n -0000383416 00000 n -0000005285 00000 n -0000005317 00000 n -0000131577 00000 n -0000383337 00000 n -0000005375 00000 n -0000005408 00000 n -0000134071 00000 n -0000383244 00000 n -0000005466 00000 n -0000005515 00000 n -0000134133 00000 n -0000383151 00000 n -0000005573 00000 n -0000005604 00000 n -0000134195 00000 n -0000383058 00000 n -0000005662 00000 n -0000005700 00000 n -0000136730 00000 n -0000382979 00000 n -0000005758 00000 n -0000005795 00000 n -0000140712 00000 n -0000382847 00000 n -0000005848 00000 n -0000005881 00000 n -0000140774 00000 n -0000382768 00000 n -0000005939 00000 n -0000005970 00000 n -0000142880 00000 n -0000382675 00000 n -0000006028 00000 n -0000006068 00000 n -0000146293 00000 n -0000382596 00000 n -0000006126 00000 n -0000006173 00000 n -0000146355 00000 n -0000382464 00000 n -0000006226 00000 n -0000006261 00000 n -0000146417 00000 n -0000382399 00000 n -0000006319 00000 n -0000006352 00000 n -0000149491 00000 n -0000382267 00000 n -0000006405 00000 n -0000006442 00000 n -0000149553 00000 n -0000382202 00000 n -0000006500 00000 n -0000006535 00000 n -0000149615 00000 n -0000382109 00000 n -0000006588 00000 n -0000006613 00000 n -0000151824 00000 n -0000381977 00000 n -0000006666 00000 n -0000006705 00000 n -0000151886 00000 n -0000381898 00000 n -0000006763 00000 n -0000006797 00000 n -0000151948 00000 n -0000381805 00000 n -0000006855 00000 n -0000006894 00000 n -0000157221 00000 n -0000381726 00000 n -0000006952 00000 n -0000006985 00000 n -0000162850 00000 n -0000381594 00000 n -0000007039 00000 n -0000007071 00000 n -0000162912 00000 n -0000381515 00000 n -0000007130 00000 n -0000007155 00000 n -0000162973 00000 n -0000381436 00000 n -0000007214 00000 n -0000007261 00000 n -0000167991 00000 n -0000381343 00000 n -0000007315 00000 n -0000007348 00000 n -0000168053 00000 n -0000381264 00000 n -0000007402 00000 n -0000007427 00000 n -0000171496 00000 n -0000381185 00000 n -0000007475 00000 n -0000007525 00000 n -0000008415 00000 n -0000008651 00000 n -0000007577 00000 n -0000008527 00000 n -0000008589 00000 n -0000378017 00000 n -0000360926 00000 n -0000377856 00000 n -0000360277 00000 n -0000358484 00000 n -0000360116 00000 n -0000379564 00000 n -0000009186 00000 n -0000009012 00000 n -0000008735 00000 n -0000009124 00000 n -0000018881 00000 n -0000018275 00000 n -0000009257 00000 n -0000018387 00000 n -0000357765 00000 n -0000352759 00000 n -0000357604 00000 n -0000351753 00000 n -0000344931 00000 n -0000351592 00000 n -0000344458 00000 n -0000341600 00000 n -0000344297 00000 n -0000340595 00000 n -0000332274 00000 n -0000340435 00000 n -0000331145 00000 n -0000319722 00000 n -0000330983 00000 n -0000018509 00000 n -0000318545 00000 n -0000304428 00000 n -0000318383 00000 n -0000303424 00000 n -0000284529 00000 n -0000303250 00000 n -0000018571 00000 n -0000018633 00000 n -0000018695 00000 n -0000018757 00000 n -0000018819 00000 n -0000023869 00000 n -0000023300 00000 n -0000019043 00000 n -0000023746 00000 n -0000023808 00000 n -0000023440 00000 n -0000282996 00000 n -0000266808 00000 n -0000282834 00000 n -0000023596 00000 n -0000125935 00000 n -0000026657 00000 n -0000026422 00000 n -0000023966 00000 n -0000026534 00000 n -0000030057 00000 n -0000029762 00000 n -0000026767 00000 n -0000029874 00000 n -0000032657 00000 n -0000032422 00000 n -0000030180 00000 n -0000032534 00000 n -0000266412 00000 n -0000258801 00000 n -0000266228 00000 n -0000379681 00000 n -0000035389 00000 n -0000035093 00000 n -0000032780 00000 n -0000035205 00000 n -0000038060 00000 n -0000037825 00000 n -0000035499 00000 n -0000037937 00000 n -0000041017 00000 n -0000040721 00000 n -0000038170 00000 n -0000040833 00000 n -0000258070 00000 n -0000254794 00000 n -0000257909 00000 n -0000043510 00000 n -0000043215 00000 n -0000041140 00000 n -0000043327 00000 n -0000047391 00000 n -0000046984 00000 n -0000043620 00000 n -0000047268 00000 n -0000047116 00000 n -0000254467 00000 n -0000252564 00000 n -0000254306 00000 n -0000252136 00000 n -0000248987 00000 n -0000251974 00000 n -0000248603 00000 n -0000246457 00000 n -0000248444 00000 n -0000245938 00000 n -0000242716 00000 n -0000245776 00000 n -0000242398 00000 n -0000239990 00000 n -0000242236 00000 n -0000239651 00000 n -0000237555 00000 n -0000239492 00000 n -0000237100 00000 n -0000235589 00000 n -0000236941 00000 n -0000050814 00000 n -0000050247 00000 n -0000047615 00000 n -0000050691 00000 n -0000050387 00000 n -0000050539 00000 n -0000379798 00000 n -0000054024 00000 n -0000053728 00000 n -0000050924 00000 n -0000053840 00000 n -0000056789 00000 n -0000056371 00000 n -0000054134 00000 n -0000056483 00000 n -0000059908 00000 n -0000059551 00000 n -0000056899 00000 n -0000059663 00000 n -0000062701 00000 n -0000062342 00000 n -0000060018 00000 n -0000062454 00000 n -0000065624 00000 n -0000065087 00000 n -0000062811 00000 n -0000065376 00000 n -0000065219 00000 n -0000069016 00000 n -0000068656 00000 n -0000065734 00000 n -0000068768 00000 n -0000379915 00000 n -0000071078 00000 n -0000070843 00000 n -0000069126 00000 n -0000070955 00000 n -0000073739 00000 n -0000073441 00000 n -0000071175 00000 n -0000073553 00000 n -0000077136 00000 n -0000076838 00000 n -0000073862 00000 n -0000076950 00000 n -0000080657 00000 n -0000080359 00000 n -0000077246 00000 n -0000080471 00000 n -0000083950 00000 n -0000083776 00000 n -0000080780 00000 n -0000083888 00000 n -0000087652 00000 n -0000087182 00000 n -0000084047 00000 n -0000087466 00000 n -0000087314 00000 n -0000380032 00000 n -0000124335 00000 n -0000089056 00000 n -0000088882 00000 n -0000087749 00000 n -0000088994 00000 n -0000234884 00000 n -0000227685 00000 n -0000234722 00000 n -0000092023 00000 n -0000091787 00000 n -0000089153 00000 n -0000091899 00000 n -0000095033 00000 n -0000094797 00000 n -0000092120 00000 n -0000094909 00000 n -0000097253 00000 n -0000097017 00000 n -0000095130 00000 n -0000097129 00000 n -0000098013 00000 n -0000097777 00000 n -0000097350 00000 n -0000097889 00000 n -0000100544 00000 n -0000100309 00000 n -0000098110 00000 n -0000100421 00000 n -0000380149 00000 n -0000103923 00000 n -0000103626 00000 n -0000100641 00000 n -0000103738 00000 n -0000106250 00000 n -0000106076 00000 n -0000104046 00000 n -0000106188 00000 n -0000109412 00000 n -0000109176 00000 n -0000106347 00000 n -0000109288 00000 n -0000112388 00000 n -0000111981 00000 n -0000109509 00000 n -0000112264 00000 n -0000112326 00000 n -0000112113 00000 n -0000114287 00000 n -0000114051 00000 n -0000112511 00000 n -0000114163 00000 n -0000227206 00000 n -0000224044 00000 n -0000227044 00000 n -0000117359 00000 n -0000116999 00000 n -0000114397 00000 n -0000117111 00000 n -0000380266 00000 n -0000120684 00000 n -0000120449 00000 n -0000117469 00000 n -0000120561 00000 n -0000124521 00000 n -0000124039 00000 n -0000120794 00000 n -0000124151 00000 n -0000223722 00000 n -0000217823 00000 n -0000223548 00000 n -0000124273 00000 n -0000124397 00000 n -0000124459 00000 n -0000217515 00000 n -0000215559 00000 n -0000217355 00000 n -0000126243 00000 n -0000125761 00000 n -0000124670 00000 n -0000125873 00000 n -0000125997 00000 n -0000126058 00000 n -0000126119 00000 n -0000126181 00000 n -0000128381 00000 n -0000128022 00000 n -0000126327 00000 n -0000128134 00000 n -0000214910 00000 n -0000202903 00000 n -0000214739 00000 n -0000199786 00000 n -0000193065 00000 n -0000199624 00000 n -0000131639 00000 n -0000131279 00000 n -0000128491 00000 n -0000131391 00000 n -0000134257 00000 n -0000133897 00000 n -0000131762 00000 n -0000134009 00000 n -0000380383 00000 n -0000136792 00000 n -0000136556 00000 n -0000134417 00000 n -0000136668 00000 n -0000140836 00000 n -0000140538 00000 n -0000136876 00000 n -0000140650 00000 n -0000142942 00000 n -0000142706 00000 n -0000140959 00000 n -0000142818 00000 n -0000146479 00000 n -0000146119 00000 n -0000143052 00000 n -0000146231 00000 n -0000149677 00000 n -0000149317 00000 n -0000146589 00000 n -0000149429 00000 n -0000152010 00000 n -0000151650 00000 n -0000149787 00000 n -0000151762 00000 n -0000380500 00000 n -0000157283 00000 n -0000157047 00000 n -0000152120 00000 n -0000157159 00000 n -0000160149 00000 n -0000159975 00000 n -0000157380 00000 n -0000160087 00000 n -0000163035 00000 n -0000162676 00000 n -0000160233 00000 n -0000162788 00000 n -0000168115 00000 n -0000167817 00000 n -0000163145 00000 n -0000167929 00000 n -0000171558 00000 n -0000171322 00000 n -0000168225 00000 n -0000171434 00000 n -0000175403 00000 n -0000175229 00000 n -0000171668 00000 n -0000175341 00000 n -0000380617 00000 n -0000178938 00000 n -0000178764 00000 n -0000175487 00000 n -0000178876 00000 n -0000182029 00000 n -0000181855 00000 n -0000179022 00000 n -0000181967 00000 n -0000185177 00000 n -0000185003 00000 n -0000182113 00000 n -0000185115 00000 n -0000188473 00000 n -0000188299 00000 n -0000185261 00000 n -0000188411 00000 n -0000191749 00000 n -0000191575 00000 n -0000188557 00000 n -0000191687 00000 n -0000192994 00000 n -0000192820 00000 n -0000191846 00000 n -0000192932 00000 n -0000380734 00000 n -0000200489 00000 n -0000200165 00000 n -0000201015 00000 n -0000215273 00000 n -0000217741 00000 n -0000217717 00000 n -0000223936 00000 n -0000227492 00000 n -0000227418 00000 n -0000235310 00000 n -0000235134 00000 n -0000237442 00000 n -0000237322 00000 n -0000239886 00000 n -0000239856 00000 n -0000242630 00000 n -0000242601 00000 n -0000246301 00000 n -0000246153 00000 n -0000248868 00000 n -0000248822 00000 n -0000252422 00000 n -0000252346 00000 n -0000254700 00000 n -0000254675 00000 n -0000258569 00000 n -0000258323 00000 n -0000266656 00000 n -0000283990 00000 n -0000283604 00000 n -0000303946 00000 n -0000319333 00000 n -0000318953 00000 n -0000331903 00000 n -0000331534 00000 n -0000341231 00000 n -0000340907 00000 n -0000344806 00000 n -0000344668 00000 n -0000352334 00000 n -0000352060 00000 n -0000358219 00000 n -0000358009 00000 n -0000360769 00000 n -0000360524 00000 n -0000378997 00000 n -0000378573 00000 n -0000380811 00000 n -0000380929 00000 n -0000381039 00000 n -0000381109 00000 n -0000389047 00000 n -0000392737 00000 n -0000392776 00000 n -0000392814 00000 n -0000392944 00000 n -trailer -<< /Size 754 -/Root 752 0 R -/Info 753 0 R -/ID [<87E3F6ECB915E00D00AD5A4491DBE501> <87E3F6ECB915E00D00AD5A4491DBE501>] >> -startxref -393208 -%%EOF diff --git a/Master/texmf-dist/metapost/metauml/metauml.mp b/Master/texmf-dist/metapost/metauml/metauml.mp index 997728450b2..95748cf7678 100644 --- a/Master/texmf-dist/metapost/metauml/metauml.mp +++ b/Master/texmf-dist/metapost/metauml/metauml.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_mp: expandafter endinput @@ -51,7 +37,6 @@ inputonce metauml_note; inputonce metauml_stereotype; -inputonce metauml_class_clipart; inputonce metauml_class; inputonce metauml_instance; inputonce metauml_class_relations; diff --git a/Master/texmf-dist/metapost/metauml/metauml_activity.mp b/Master/texmf-dist/metapost/metauml/metauml_activity.mp index 7843b1da91c..79ac5042e29 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_activity.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_activity.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_activity_mp: expandafter endinput @@ -95,10 +81,10 @@ vardef EActivity@#(text _info)(text contents)= enddef; vardef Activity_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "Activity " & (str @#) & " has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; PictureStack_layout.@#stack; diff --git a/Master/texmf-dist/metapost/metauml/metauml_base.mp b/Master/texmf-dist/metapost/metauml/metauml_base.mp index e269fb34ec9..22f73d3906b 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_base.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_base.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2006 Ovidiu Gheorghies, Radu-George Radulescu -% -% 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. +% Copyright 2006 2015 Ovidiu Gheorghies, Radu-George Radulescu +% Licensed under the Apache License, Version 2.0. if known _metauml_base_mp: expandafter endinput diff --git a/Master/texmf-dist/metapost/metauml/metauml_behavioral_common.mp b/Master/texmf-dist/metapost/metauml/metauml_behavioral_common.mp index 271597027b3..190980eb690 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_behavioral_common.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_behavioral_common.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_behavioral_common_mp: expandafter endinput @@ -71,10 +57,10 @@ vardef Begin@#= enddef; vardef Begin_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "Begin " & (str @#) & " has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; @#width = @#info.diameter; @#height = @#info.diameter; diff --git a/Master/texmf-dist/metapost/metauml/metauml_class.mp b/Master/texmf-dist/metapost/metauml/metauml_class.mp index f99b134c0d4..c3ac333b214 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_class.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_class.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_class_mp: expandafter endinput @@ -24,12 +10,12 @@ _metauml_class_mp:=1; % The guard values (such as _metauml_mp) do ensure that the file isn't loaded multiple times, % but this macro makes sure that MetaPost won't try to load the file and display a message for that. def inputonce text libraryFile= - if not known scantokens ("_" & str libraryFile & "_mp"): - %includeonce% show "Loading " & str libraryFile; - scantokens ("input " & str libraryFile); - else: - %includeonce% show str libraryFile & " already loaded."; - fi; + if not known scantokens ("_" & str libraryFile & "_mp"): + %includeonce% show "Loading " & str libraryFile; + scantokens ("input " & str libraryFile); + else: + %includeonce% show str libraryFile & " already loaded."; + fi; enddef; inputonce metauml_defaults; @@ -39,86 +25,106 @@ inputonce util_picture; inputonce util_picture_stack; inputonce util_shade; -string accessPublic, accessProtected, accessPrivate; -accessPublic:="+"; -accessProtected:="#"; -accessPrivate:="-"; +string visibilityPublic, visibilityProtected, visibilityPrivate, visibilityPackage; +visibilityPublic:="+"; +visibilityProtected:="#"; +visibilityPrivate:="-"; +visibilityPackage:="~"; + +string metauml_private_abstractMarker, metauml_private_staticMarker; +metauml_private_abstractMarker := "@abstract"; +metauml_private_staticMarker := "@static"; + +def abstract expr methodName= metauml_private_abstractMarker&methodName enddef; +def static expr featureName= metauml_private_staticMarker&featureName enddef; + +def metauml_private_isAbstract(expr name) = (substring (0, 9) of name = metauml_private_abstractMarker) enddef; +def metauml_private_isStatic(expr name) = (substring (0, 7) of name = metauml_private_staticMarker) enddef; +def metauml_private_stripStatic(expr name) = substring (7,infinity) of name enddef; +def metauml_private_stripAbstract(expr name) = substring (9,infinity) of name enddef; vardef ClassInfo@#= attributes(@#); - var(numeric) featureAccessSpacing, accessWidth, accessHeight; var(color) foreColor, borderColor; + var(string) featureVisibilityMode; FontInfo.@#nameFont(metauml_defaultFont, defaultscale); - - FontInfo.@#attributeFont (metauml_defaultFont, defaultscale); - FontInfo.@#methodFont (metauml_defaultFont, defaultscale); + FontInfo.@#featureFont (metauml_defaultFont, defaultscale); FontInfo.@#stereotypeFont(metauml_defaultFont, .7); ShadeInfo.@#iShade; - @#featureAccessSpacing := 2; - @#accessWidth := 7; - @#accessHeight := 6.75; + @#featureVisibilityMode := "individual"; % "none", "grouped" @#foreColor := .9white; @#borderColor := black; PictureInfo.@#iName (2, 2, 1, 3)(@#nameFont); + @#iName.ignoreNegativeBase := 1; - PictureInfo.@#iStereotype(2, -5, 2, 2)(@#stereotypeFont); - PictureInfo.@#iAttribute (2, 2, 1.25, 0)(@#attributeFont); - PictureInfo.@#iMethod (2, 2, 1.25, 0)(@#methodFont); + PictureInfoCopy.@#iNameAbstract(@#iName); + @#iNameAbstract.iFont.name := metauml_defaultFontOblique; + + PictureInfo.@#iStereotype(2, 2, 2, 2)(@#stereotypeFont); + @#iStereotypeStack.iPict.ignoreNegativeBase := 1; PictureStackInfo.@#iStereotypeStack(2, 2, 1, 1)(5.5)(@#iStereotype); - PictureStackInfo.@#iAttributeStack (2, 2, 2.5, 2)(10.5)(@#iAttribute); % 8.5 - PictureStackInfo.@#iMethodStack (2, 2, 2.5, 2)(10.5)(@#iMethod); - @#iAttributeStack.iPict.bottom := 2; - %@#iAttributeStack.iPict.boxed := 1; - @#iMethodStack.iPict.bottom := 2; - %@#iMethodStack.iPict.boxed := 1; - LockInfo.@#iLock(@#accessWidth, @#accessHeight, .6, .15, .55, .4white, .6white, .7white, .3white); + PictureInfo.@#iFeature (2, 2, 1.25, 0)(@#featureFont); - @#iName.ignoreNegativeBase := 1; - @#iAttributeStack.iPict.ignoreNegativeBase := 1; - @#iMethodStack.iPict.ignoreNegativeBase := 1; - @#iStereotypeStack.iPict.ignoreNegativeBase := 1; + PictureInfoCopy.@#iFeatureAbstract (@#iFeature); + @#iFeatureAbstract.iFont.name := metauml_defaultFontOblique; + + PictureInfoCopy.@#iFeatureStatic (@#iFeature); + @#iFeatureStatic.textDecoration := "underline"; + + PictureStackInfo.@#iFeatureStack (2, 2, 2.5, 2)(10.5)(@#iFeature); + PictureStackInfoCopy.@#iAttributeStack(@#iFeatureStack); + PictureStackInfoCopy.@#iMethodStack(@#iFeatureStack); + + @#iFeatureStack.iPict.bottom := 2; + @#iFeatureStack.iPict.ignoreNegativeBase := 1; + + PictureStackInfoCopy.@#iAttributeVisibilityStack (@#iFeatureStack); + PictureStackInfoCopy.@#iMethodVisibilityStack (@#iFeatureStack); + + @#iAttributeVisibilityStack.right := 0; + @#iMethodVisibilityStack.right := 0; enddef; vardef ClassInfoCopy@#(text src)= log "ClassInfoCopy: Copying class"; attributes(@#); - var(numeric) featureAccessSpacing, accessWidth, accessHeight; + var(numeric) featureVisibilitySpacing, visibilityWidth, visibilityHeight; var(color) foreColor, borderColor; + var(string) featureVisibilityMode; FontInfoCopy.@#nameFont(src.nameFont); - - FontInfoCopy.@#attributeFont(src.attributeFont); - FontInfoCopy.@#methodFont(src.methodFont); + FontInfoCopy.@#featureFont(src.featureFont); FontInfoCopy.@#stereotypeFont(src.stereotypeFont); ShadeInfoCopy.@#iShade(src.iShade); - @#featureAccessSpacing := src.featureAccessSpacing; - @#accessWidth := src.accessWidth; - @#accessHeight := src.accessHeight; - @#foreColor := src.foreColor; @#borderColor := src.borderColor; - PictureInfoCopy.@#iName (src.iName); + PictureInfoCopy.@#iName (src.iName); + PictureInfoCopy.@#iNameAbstract (src.iNameAbstract); PictureInfoCopy.@#iStereotype(src.iStereotype); - PictureInfoCopy.@#iAttribute (src.iAttribute); - PictureInfoCopy.@#iMethod (src.iMethod); + PictureInfoCopy.@#iFeature (src.iFeature); + PictureInfoCopy.@#iFeatureAbstract (src.iFeatureAbstract); + PictureInfoCopy.@#iFeatureStatic (src.iFeatureStatic); PictureStackInfoCopy.@#iStereotypeStack(src.iStereotypeStack); + PictureStackInfoCopy.@#iFeatureStack (src.iFeatureStack); PictureStackInfoCopy.@#iAttributeStack (src.iAttributeStack); PictureStackInfoCopy.@#iMethodStack (src.iMethodStack); + PictureStackInfoCopy.@#iAttributeVisibilityStack (src.iAttributeVisibilityStack); + PictureStackInfoCopy.@#iMethodVisibilityStack (src.iMethodVisibilityStack); - LockInfoCopy.@#iLock(src.iLock); + @#featureVisibilityMode := src.featureVisibilityMode; enddef; ClassInfo.iClass; @@ -136,7 +142,8 @@ iInterface.iAttributeStack.top := 0; iInterface.iAttributeStack.bottom := 0; iInterface.iName.iFont.name := metauml_defaultFontOblique; -ClassInfoCopy.iAbstractClass(iInterface); +ClassInfoCopy.iAbstractClass(iClass); +iAbstractClass.iName.iFont.name := metauml_defaultFontOblique; % % CLASS @@ -146,19 +153,30 @@ vardef defClass@#(expr pname) = @#className := "Class"; string @#name; - @#name = pname; + boolean @#isAbstract; + + @#isAbstract := metauml_private_isAbstract(pname); + if @#isAbstract: + @#name = metauml_private_stripAbstract(pname); + else: + @#name = pname; + fi numeric @#nStereotypes; string @#stereotypes[]; string @#attributes[]; - string @#attributesAccess[]; + string @#attributesVisibility[]; + boolean @#attributesIsStatic[]; string @#methods[]; - string @#methodsAccess[]; + string @#methodsVisibility[]; + boolean @#methodsIsStatic[]; + boolean @#methodsIsAbstract[]; numeric @#nAttrs; numeric @#nMethods; + numeric @#nStereotypes; @#nStereotypes := 0; @#nAttrs := 0; @@ -166,56 +184,86 @@ vardef defClass@#(expr pname) = enddef; vardef addAttribute@#(expr pcontent) = - string access; - access := substring(0,1) of pcontent; - if (not (access = accessPublic)) and - (not (access = accessPrivate)) and - (not (access = accessProtected)): - - @#.attributes[@#.nAttrs] := pcontent; - @#.attributesAccess[@#.nAttrs] := accessProtected; + string visibility; + string attribute; + + attribute := pcontent; + + @#attributesIsStatic[@#nAttrs] := metauml_private_isStatic(attribute); + if @#attributesIsStatic[@#nAttrs]: + attribute := metauml_private_stripStatic(attribute); + fi + + visibility := substring(0,1) of attribute; + if (not (visibility = visibilityPublic)) and + (not (visibility = visibilityPrivate)) and + (not (visibility = visibilityProtected)) and + (not (visibility = visibilityPackage)): + + @#.attributes[@#.nAttrs] := attribute; + @#.attributesVisibility[@#.nAttrs] := visibilityPackage; else: save from; from := 1; - if (substring(1,2) of pcontent) = " ": from := 2; fi; + if (substring(1,2) of attribute) = " ": from := 2; fi; - @#.attributes[@#.nAttrs] := substring(from, infinity) of pcontent; - @#.attributesAccess[@#.nAttrs] := access; + @#.attributes[@#.nAttrs] := substring(from, infinity) of attribute; + @#.attributesVisibility[@#.nAttrs] := visibility; fi; @#.nAttrs := @#.nAttrs + 1; enddef; vardef addMethod@#(expr pcontent) = - string access; - access := substring(0,1) of pcontent; - if (not (access = accessPublic)) and - (not (access = accessPrivate)) and - (not (access = accessProtected)): - - @#.methods[@#.nMethods] := pcontent; - @#.methodsAccess[@#.nMethods] := accessProtected; + string visibility; + string method; + + method := pcontent; + + @#methodsIsStatic[@#nMethods] := metauml_private_isStatic(method); + if @#methodsIsStatic[@#nMethods]: + method := metauml_private_stripStatic(method); + fi + + @#methodsIsAbstract[@#nMethods] := metauml_private_isAbstract(method); + if @#methodsIsAbstract[@#nMethods]: + method := metauml_private_stripAbstract(method); + @#isAbstract := true; + fi + + visibility := substring(0,1) of method; + if (not (visibility = visibilityPublic)) and + (not (visibility = visibilityPrivate)) and + (not (visibility = visibilityProtected)) and + (not (visibility = visibilityPackage)): + + @#.methods[@#.nMethods] := method; + @#.methodsVisibility[@#.nMethods] := visibilityPackage; else: - @#.methods[@#.nMethods] := substring(1, 999) of pcontent; - @#.methodsAccess[@#.nMethods] := access; + save from; + from := 1; + if (substring(1,2) of method) = " ": from := 2; fi; + + @#.methods[@#.nMethods] := substring(from, infinity) of method; + @#.methodsVisibility[@#.nMethods] := visibility; fi; @#.nMethods := @#.nMethods + 1; enddef; vardef classStereotype@#(expr pcontent) = - @#stereotypes[@#nStereotypes] := pcontent; - @#nStereotypes := @#nStereotypes + 1; + show "Macro classStereotype is deprecated, use Class_stereotypes instead."; + Class_stereotypes.@#(pcontent); enddef; vardef classStereotypes@#(text stereotypes)= - for stereotype = stereotypes: - classStereotype@#(stereotype); - endfor; + show "Macro classStereotypes is deprecated, use Class_stereotypes instead."; + Class_stereotypes.@#(stereotypes); enddef; vardef EClass@#(text _info)(expr name)(text attributes)(text methods)= log "EClass begin: " & str @#; + defClass@#(name); log "Copying class info"; @@ -263,87 +311,126 @@ vardef Class_border@#= objectBox(@#) enddef; +vardef Class_noVisibilityMarkers@#= + @#info.featureVisibilityMode := "none"; +enddef; + vardef Class_layout@# = - if @#layedout = 1: + if @#laidout = 1: log "Class " & (str @#) & " has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; log "Class layout: " & (str @#); - @#maxFeatureWidth := 0; - EPictureStack.@#stereotypeStack(@#info.iStereotypeStack) (scantokens listArray(@#stereotypes)(@#nStereotypes))("vcenterbase"); - EPicture.@#namePict(@#info.iName)(@#name); + if (@#isAbstract): + EPicture.@#namePict(@#info.iNameAbstract)(@#name); + else: + EPicture.@#namePict(@#info.iName)(@#name); + fi; + + layoutObjects(@#stereotypeStack, @#namePict); + + % Define attributes + + def metauml_private_attributeStyleSupplier(expr i)= + if @#attributesIsStatic[i]: @#info.iFeatureStatic + else: @#info.iFeature + fi + enddef; + + @#info.iAttributeStack.childStyleSupplier := "metauml_private_attributeStyleSupplier"; + EPictureStack.@#attributeStack(@#info.iAttributeStack) (scantokens listArray(@#attributes)(@#nAttrs))("vleftbase"); + + if @#info.featureVisibilityMode = "individual": + vardef joinCallbackAttributesVisibility@#= + setObjectJoin(pb.bottom = @#.attributeStack.pict[index].bottom; pb.midx = pa.midx); + setObjectJoinFirst(pa.bottom = @#.attributeStack.pict[index].bottom); + enddef; + + EPictureStack.@#attributeVisibilityStack(@#info.iAttributeVisibilityStack) + (scantokens listArray(@#attributesVisibility)(@#nAttrs)) + ("joinCallbackAttributesVisibility." & (str @#)); + elseif @#info.featureVisibilityMode = "none": + EPicture.@#attributeVisibilityStack(iPictNoMargins)(""); + else: + show "Unknown feature visibility mode", @#featureVisibilityMode; + 1=2; + fi; + + % Define methods + + def metauml_private_methodStyleSupplier(expr i)= + if @#methodsIsStatic[i]: @#info.iFeatureStatic + elseif @#methodsIsAbstract[i]: @#info.iFeatureAbstract + else: @#info.iFeature + fi + enddef; + + @#info.iMethodStack.childStyleSupplier := "metauml_private_methodStyleSupplier"; + EPictureStack.@#methodStack(@#info.iMethodStack) (scantokens listArray(@#methods)(@#nMethods))("vleftbase"); - layoutObjects(@#stereotypeStack, @#namePict, @#attributeStack, @#methodStack); + if @#info.featureVisibilityMode = "individual": + vardef joinCallbackMethodsVisibility@#= + setObjectJoin(pb.bottom = @#.methodStack.pict[index].bottom; pb.midx = pa.midx); + setObjectJoinFirst(pa.bottom = @#.methodStack.pict[index].bottom); + enddef; + + EPictureStack.@#methodVisibilityStack(@#info.iMethodVisibilityStack) + (scantokens listArray(@#methodsVisibility)(@#nMethods)) + ("joinCallbackMethodsVisibility." & (str @#)); + elseif @#info.featureVisibilityMode = "none": + EPicture.@#methodVisibilityStack(iPictNoMargins)(""); + else: + show "Unknown feature visibility mode", @#featureVisibilityMode; + 1=2; + fi; + + % Integrate components + show layoutObjects(@#attributeStack, @#methodStack); + layoutObjects(@#attributeStack, @#methodStack); + + @#attributeStack.left = @#methodStack.left; + @#methodStack.top = @#attributeStack.bottom; - log "Computing maxFeatureWidth"; - log @#stereotypeStack.width; - log @#namePict.width; - log @#attributeStack.width; - log @#methodStack.width; - log "..."; - @#maxFeatureWidth := lmax(@#stereotypeStack.width, @#namePict.width, - @#attributeStack.width, @#methodStack.width); - log "Done computing maxFeatureWidth"; + layoutObjects(@#attributeVisibilityStack, @#methodVisibilityStack); - log "max feature width: " & decimal @#maxFeatureWidth; + @#attributeVisibilityStack.midx = @#methodVisibilityStack.midx; - @#namePict.midx = @#midx; - @#stereotypeStack.midx = @#namePict.midx; + if (@#.nMethods = 0) or (@#info.featureVisibilityMode="none"): + @#methodVisibilityStack.top = @#methodStack.top; + fi; + if (@#.nAttrs = 0) or (@#info.featureVisibilityMode="none"): + @#attributeVisibilityStack.top = @#attributeStack.top; + fi; - @#stereotypeStack.top = @#top; - @#namePict.top = @#stereotypeStack.bottom; - @#attributeStack.top = @#namePict.bottom; - @#methodStack.top = @#attributeStack.bottom; + EGroup.@#visibilityStacks(iGroupNoMargins)(@#attributeVisibilityStack, @#methodVisibilityStack); + + EGroup.@#featureStacks(iGroupNoMargins)(@#attributeStack, @#methodStack); - @#attributeStack.left = @#methodStack.left = - @#left + @#info.accessWidth + @#info.featureAccessSpacing; + layoutObjects(@#visibilityStacks, @#featureStacks); - @#width = @#maxFeatureWidth + @#info.accessWidth + @#info.featureAccessSpacing; - @#bottom = @#methodStack.bottom; + @#visibilityStacks.right = @#featureStacks.left; - log "Class layout done..."; - fi; -enddef; - -vardef Class_paintAccess@#(expr _access, _se) = - save lock; - ELock.lock(@#info.iLock)(_access); - lock.se = _se; - drawObject(lock); -enddef; + EGroup.@#featureGroup(iGroupNoMargins)(@#visibilityStacks, @#featureStacks); -vardef Class_drawFeatures@#= - log "Drawing stereotypes"; - drawObject(@#stereotypeStack); + topToBottom(0)(@#stereotypeStack, @#namePict, @#featureGroup); - log "Drawing name"; - drawObject(@#namePict); - log "Drawing attribute stack"; - drawObject(@#attributeStack); + EGroup.@#all(iGroupNoMargins)(@#stereotypeStack, @#namePict, @#featureGroup); - log "Drawing method stack"; - drawObject(@#methodStack); + layoutObjects(@#all); - log "********************************** Drawing access locks"; - for i = 0 upto @#nAttrs-1: - log @#attributesAccess[i]; - Class_paintAccess@#(@#attributesAccess[i], - @#attributeStack.pict[i].sw + (-@#info.featureAccessSpacing, @#info.iAttributeStack.iPict.bottom)); - endfor; + @#.nw = @#all.nw; + @#.se = @#all.se; - for i = 0 upto @#nMethods-1: - log @#methodsAccess[i]; - Class_paintAccess@#(@#methodsAccess[i], - @#methodStack.pict[i].sw + (-@#info.featureAccessSpacing, @#info.iMethodStack.iPict.bottom)); - endfor; + log "Class layout for " & (str @#) & " done..."; + fi; enddef; vardef Class_paintSkin@# = @@ -351,31 +438,48 @@ vardef Class_paintSkin@# = nameAttributeY := @#attributeStack.top; attributeMethodY := @#methodStack.top; - %fill Class_border.@# shifted (@#info.shade,-@#info.shade) - % withcolor .7white withpen currentpen scaled 1; - drawObjectShade(@#); + drawObjectShade(@#); - fill Class_border.@# withcolor @#info.foreColor; - draw Class_border.@# withcolor @#info.borderColor; + fill Class_border.@# withcolor @#info.foreColor; + draw Class_border.@# withcolor @#info.borderColor; - draw (xpart @#nw, nameAttributeY)--(xpart @#se, nameAttributeY) withcolor @#info.borderColor; - draw (xpart @#nw, attributeMethodY)--(xpart @#se, attributeMethodY) withcolor @#info.borderColor; + draw (xpart @#nw, nameAttributeY)--(xpart @#se, nameAttributeY) withcolor @#info.borderColor; + draw (xpart @#nw, attributeMethodY)--(xpart @#se, attributeMethodY) withcolor @#info.borderColor; enddef; vardef Class_draw@#= - log "draw class begin..."; + log "Class_draw begin " & @#; Class_layout.@#; objectEnsurePositioning.@#; Class_paintSkin.@#; - Class_drawFeatures.@#; + + drawObjects(@#all); + log "Class_draw end " & @#; enddef; vardef Class_setDebugMode@#= @#.info.iName.boxed := 1; + + @#.info.iFeature.boxed := 1; + @#.info.iFeatureStatic.boxed := 1; + @#.info.iFeatureAbstract.boxed := 1; + @#.info.iStereotypeStack.boxed := 1; @#.info.iStereotypeStack.iPict.boxed := 1; @#.info.iAttributeStack.boxed := 1; @#.info.iAttributeStack.iPict.boxed := 1; @#.info.iMethodStack.boxed := 1; @#.info.iMethodStack.iPict.boxed := 1; + + @#.info.iAttributeVisibilityStack.boxed := 1; + @#.info.iAttributeVisibilityStack.iPict.boxed := 1; + @#.info.iMethodVisibilityStack.boxed := 1; + @#.info.iMethodVisibilityStack.iPict.boxed := 1; +enddef; + +vardef Class_stereotypes@#(text _stereotypes)= + for stereotype = _stereotypes: + @#stereotypes[@#nStereotypes] := stereotype; + @#nStereotypes := @#nStereotypes + 1; + endfor; enddef; diff --git a/Master/texmf-dist/metapost/metauml/metauml_class_assoc.mp b/Master/texmf-dist/metapost/metauml/metauml_class_assoc.mp index fb7786b8794..720117fc90b 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_class_assoc.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_class_assoc.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_class_assoc_mp: expandafter endinput diff --git a/Master/texmf-dist/metapost/metauml/metauml_class_clipart.mp b/Master/texmf-dist/metapost/metauml/metauml_class_clipart.mp deleted file mode 100644 index faa175494e8..00000000000 --- a/Master/texmf-dist/metapost/metauml/metauml_class_clipart.mp +++ /dev/null @@ -1,163 +0,0 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. - -if known _metauml_class_clipart_mp: - expandafter endinput -fi; -_metauml_class_clipart_mp:=1; - -% Sadly, this copy of the macro is needed to prevent multiple file loads being shown by MetaPost. -% The guard values (such as _metauml_mp) do ensure that the file isn't loaded multiple times, -% but this macro makes sure that MetaPost won't try to load the file and display a message for that. -def inputonce text libraryFile= - if not known scantokens ("_" & str libraryFile & "_mp"): - %includeonce% show "Loading " & str libraryFile; - scantokens ("input " & str libraryFile); - else: - %includeonce% show str libraryFile & " already loaded."; - fi; -enddef; - -inputonce util_log; - -%% -%% This file contains various drawing which can be used in -%% UML class diagrams -%% - -vardef LockInfo@#(expr _width, _height, _y, _d, _span, _faceColor, _topColor, _rightColor, _lockColor)= - numeric @#y, @#d, @#span, @#width, @#height; - color @#faceColor, @#topColor, @#rightColor, @#lockColor; - - @#width := _width; - @#height := _height; - - @#heightRatio := _y; - @#depthRatio := _d; - @#span := _span; - - @#faceColor := _faceColor; - @#topColor := _topColor; - @#rightColor := _rightColor; - @#lockColor := _lockColor; -enddef; - -vardef LockInfoCopy@#(text src)= - LockInfo@#(src.width, src.height, src.heightRatio, src.depthRatio, src.span, - src.faceColor, src.topColor, src.rightColor, src.lockColor); -enddef; - -LockInfo.iLock(8, 8, .55, .15, .55, .4white, .6white, .7white, .3white); - -def lockLockPen=pencircle scaled .8pt enddef; -def lockLockTension=tension(1) enddef; - -vardef ELock@#(text lockInfo)(expr how)= - ObjectEquations(@#); - @#className := "Lock"; - - generic_declare(path) _n.pFace, _n.pRight, _n.pTop; - generic_declare(path) _n.pLock; - generic_declare(string) _n.mode; - - LockInfoCopy.@#info(lockInfo); - - @#height = @#info.height; - @#width = @#info.width; - - @#mode := how; - - log "ELock completed"; -enddef; - -vardef Lock@#(expr how)= - ELock@#(iLock)(how); -enddef; - -vardef Lock_draw@#= - log "Drawing lock"; - log @#nw; - log @#se; - generic_declare(numeric) _n.depth,_n.ya, _n.xa; - - @#depth = @#info.width * @#info.depthRatio; - @#ya = ypart @#nw - @#height * @#info.heightRatio; - @#xa = xpart @#se - @#depth; - - @#pFace = (xpart @#nw, @#ya) -- (@#xa, @#ya) -- (@#xa, ypart @#se) -- (xpart @#nw, ypart @#se) -- cycle; - @#pRight = (@#xa, ypart @#se) -- (xpart @#se, ypart @#se + @#depth) -- - (xpart @#se, @#ya + @#depth) -- (@#xa, @#ya) -- cycle; - @#pTop = (@#xa, @#ya) -- (xpart @#se, @#ya + @#depth) -- - (xpart @#nw + @#depth, @#ya + @#depth) -- (xpart @#nw, @#ya) -- cycle; - - save myMode; string myMode; - myMode = "base"; - if ((@#mode="private") or (@#mode="-")): - myMode := "closed"; - elseif ((@#mode="protected") or (@#mode="#")): - myMode := "opened"; - fi; - - if myMode="closed": - log "Closed!"; - generic_declare(pair) _n.A, _n.B, _n.C, _n.M; - generic_declare(numeric) _n.span; - @#span = @#info.span * @#width; - - @#M = ((xpart @#se + xpart @#nw) / 2, @#ya + @#depth/2); - log @#M; - @#A = (xpart @#M - (@#span / 2), ypart @#M); - log @#A; - @#B = (xpart @#M + (@#span / 2), ypart @#M); - log @#B; - @#C = (xpart @#M, ypart @#nw); - log @#C; - linecap:=butt; - - @#pLock = @#A {curl 0}..lockLockTension .. @#C .. lockLockTension .. {curl 0} @#B; - %withcolor @#info.lockColor withpen lockLockPen; - elseif myMode="opened": - log "Opened!"; - - generic_declare(pair) _n.A, _n.B, _n.C, _n.M; - generic_declare(numeric) _n.span; - @#span = @#info.span * @#width; - - @#M = ((xpart @#se + xpart @#nw) / 2, @#ya + @#depth/2); - @#A = (xpart @#M - (@#span / 2), ypart @#M) + (0, @#height/3); - @#B = (xpart @#M + (@#span / 2), ypart @#M); - @#C = (xpart @#M, ypart @#nw); - log @#M, @#A, @#B, @#C; - - linecap:=butt; - - @#pLock = @#A {curl 0}..lockLockTension .. @#C .. lockLockTension .. {curl 0} @#B; - %withcolor @#info.lockColor withpen lockLockPen; - fi; - - fill @#pFace withcolor @#info.faceColor; - fill @#pRight withcolor @#info.rightColor; - fill @#pTop withcolor @#info.topColor; - - if not ((myMode = "opened") or (myMode="closed")): - log "No lock to draw..."; - else: - draw @#pLock withcolor @#info.lockColor withpen lockLockPen; - fi; -enddef; - - diff --git a/Master/texmf-dist/metapost/metauml/metauml_class_relations.mp b/Master/texmf-dist/metapost/metauml/metauml_class_relations.mp index 00306bd3882..0379aceecac 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_class_relations.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_class_relations.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_class_relations_mp: expandafter endinput diff --git a/Master/texmf-dist/metapost/metauml/metauml_component.mp b/Master/texmf-dist/metapost/metauml/metauml_component.mp index d0d531d872c..c124f771108 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_component.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_component.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2006 Radu-George Radulescu, Ovidiu Gheorghies -% -% 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. +% Copyright 2006 2015 Radu-George Radulescu, Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_component_mp: expandafter endinput @@ -108,10 +94,10 @@ vardef EComponent@#(text _info)(text contents)(text _subItems)= enddef; vardef Component_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "Component '" & (str @#) & "' has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; log "Component layout: '" & (str @#) & "'"; log "Component name layout '" & (str @#) & "'..."; diff --git a/Master/texmf-dist/metapost/metauml/metauml_component_relations.mp b/Master/texmf-dist/metapost/metauml/metauml_component_relations.mp index 3c8f68c225e..e6800a2acb5 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_component_relations.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_component_relations.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2006 Radu-George Radulescu, Ovidiu Gheorghies -% -% 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. +% Copyright 2006 2015 Radu-George Radulescu, Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_component_relations_mp: expandafter endinput diff --git a/Master/texmf-dist/metapost/metauml/metauml_defaults.mp b/Master/texmf-dist/metapost/metauml/metauml_defaults.mp index db1183a52bf..228df4c48c0 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_defaults.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_defaults.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_defaults_mp: expandafter endinput diff --git a/Master/texmf-dist/metapost/metauml/metauml_instance.mp b/Master/texmf-dist/metapost/metauml/metauml_instance.mp index cbe3b64f611..543920eb49b 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_instance.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_instance.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Radu-George Radulescu -% -% 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. +% Copyright 2005 2015 Radu-George Radulescu +% Licensed under the Apache License, Version 2.0. if known _metauml_instance_mp: expandafter endinput @@ -131,10 +117,10 @@ vardef Instance_border@#= enddef; vardef Instance_layout@# = - if @#layedout = 1: + if @#laidout = 1: log "Instance " & (str @#) & " has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; log "Instance layout: " & (str @#); @#maxFeatureWidth := 0; diff --git a/Master/texmf-dist/metapost/metauml/metauml_links.mp b/Master/texmf-dist/metapost/metauml/metauml_links.mp index 3b54368012b..06a9dbabba5 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_links.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_links.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. % A LinkStructure is used to compute the relevant elements % of a link, such as what is the main path of the link and diff --git a/Master/texmf-dist/metapost/metauml/metauml_note.mp b/Master/texmf-dist/metapost/metauml/metauml_note.mp index c0f1252cbf2..083b686f65e 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_note.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_note.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_note_mp: expandafter endinput @@ -109,10 +95,10 @@ vardef ENote@#(text _info)(text contents)= enddef; vardef Note_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "Note " & (str @#) & " has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; log "Note layout: " & (str @#); PictureStack_layout.@#stack; diff --git a/Master/texmf-dist/metapost/metauml/metauml_package.mp b/Master/texmf-dist/metapost/metauml/metauml_package.mp index 8394efcaf2a..2e76c41fd12 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_package.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_package.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2006 Radu-George Radulescu, Ovidiu Gheorghies -% -% 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. +% Copyright 2006 2015 Radu-George Radulescu, Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_package_mp: expandafter endinput @@ -115,10 +101,10 @@ vardef EPackage@#(text _info)(text contents)(text _subItems)= enddef; vardef Package_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "Package '" & (str @#) & "' has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; log "Package layout: '" & (str @#) & "'"; log "Package name layout '" & (str @#) & "'..."; diff --git a/Master/texmf-dist/metapost/metauml/metauml_package_relations.mp b/Master/texmf-dist/metapost/metauml/metauml_package_relations.mp index 5b740c0557f..87f1cc4dd11 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_package_relations.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_package_relations.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2006 Radu-George Radulescu -% -% 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. +% Copyright 2006 2015 Radu-George Radulescu +% Licensed under the Apache License, Version 2.0. if known _metauml_package_relations_mp: expandafter endinput diff --git a/Master/texmf-dist/metapost/metauml/metauml_paths.mp b/Master/texmf-dist/metapost/metauml/metauml_paths.mp index d0fc27bb332..d93832fd0f1 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_paths.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_paths.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_paths_mp: expandafter endinput diff --git a/Master/texmf-dist/metapost/metauml/metauml_skin_simple.mp b/Master/texmf-dist/metapost/metauml/metauml_skin_simple.mp index afafe88fab8..3225eb8fc3b 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_skin_simple.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_skin_simple.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. %% Usage of skins %% diff --git a/Master/texmf-dist/metapost/metauml/metauml_state.mp b/Master/texmf-dist/metapost/metauml/metauml_state.mp index fb9875e262a..08b5d3be244 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_state.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_state.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_state_mp: expandafter endinput @@ -119,10 +105,10 @@ vardef State_internalTransitions@#(text transitions)= enddef; vardef State_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "State '" & (str @#) & "' has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; log "State layout: '" & (str @#) & "'"; EPictureStack.@#internalTransitionsStack(@#info.iStack) diff --git a/Master/texmf-dist/metapost/metauml/metauml_stereotype.mp b/Master/texmf-dist/metapost/metauml/metauml_stereotype.mp index 64beff494d8..9251c308339 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_stereotype.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_stereotype.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_stereotype_mp: expandafter endinput diff --git a/Master/texmf-dist/metapost/metauml/metauml_templates.mp b/Master/texmf-dist/metapost/metauml/metauml_templates.mp index 4ce5fc44e78..940377bc202 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_templates.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_templates.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_templates_mp: expandafter endinput @@ -96,10 +82,10 @@ vardef ClassTemplate@#(text templates)(text theClass)= enddef; vardef Template_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "Template " & (str @#) & " has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; log "Template layout: " & (str @#); PictureStack_layout.@#elementsStack; fi; diff --git a/Master/texmf-dist/metapost/metauml/metauml_usecase.mp b/Master/texmf-dist/metapost/metauml/metauml_usecase.mp index e9edf9471b2..f9c666abf3f 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_usecase.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_usecase.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _metauml_usecase_mp: expandafter endinput @@ -82,10 +68,10 @@ vardef Actor_setDebugMode@#= enddef; vardef Actor_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "Actor " & (str @#) & " has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; log "Actor layout: " & (str @#); Human_layout.@#human; PictureStack_layout.@#nameStack; @@ -172,10 +158,10 @@ vardef EUsecase@#(text _info)(text contents)= enddef; vardef Usecase_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "Usecase " & (str @#) & " has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; EPictureStack.@#nameStack(@#info.iNameStack)(scantokens listArray(@#lines)(@#nLines))("vcenterbase"); PictureStack_layout.@#nameStack; diff --git a/Master/texmf-dist/metapost/metauml/metauml_usecase_clipart.mp b/Master/texmf-dist/metapost/metauml/metauml_usecase_clipart.mp index a4750b5f52f..3344454bc43 100644 --- a/Master/texmf-dist/metapost/metauml/metauml_usecase_clipart.mp +++ b/Master/texmf-dist/metapost/metauml/metauml_usecase_clipart.mp @@ -1,19 +1,5 @@ -% MetaUML, a MetaPost library for typesetting exquisite UML diagrams. -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. %% %% This file contains various drawings which can be used in @@ -92,10 +78,10 @@ vardef Human@#= enddef; vardef Human_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "Human " & (str @#) & " has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; log "Human layout: " & (str @#); attributes(@#); diff --git a/Master/texmf-dist/metapost/metauml/util_commons.mp b/Master/texmf-dist/metapost/metauml/util_commons.mp index 1229da6b025..3ff7f06e833 100644 --- a/Master/texmf-dist/metapost/metauml/util_commons.mp +++ b/Master/texmf-dist/metapost/metauml/util_commons.mp @@ -1,19 +1,5 @@ -% MetaUtil, an easier MetaPost life -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _util_commons_mp: expandafter endinput @@ -74,13 +60,13 @@ vardef lmin(text items)= current enddef; -def max(text a)(text b)= +def _max(text a)(text b)= if (a > b): a% else:b% fi; enddef; -def min(text a)(text b)= +def _min(text a)(text b)= if (a < b): a% else:b% fi; diff --git a/Master/texmf-dist/metapost/metauml/util_group.mp b/Master/texmf-dist/metapost/metauml/util_group.mp index 1a3380c9f5c..7dad82ba023 100644 --- a/Master/texmf-dist/metapost/metauml/util_group.mp +++ b/Master/texmf-dist/metapost/metauml/util_group.mp @@ -1,19 +1,5 @@ -% MetaUtil, an easier MetaPost life -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _util_group_mp: expandafter endinput @@ -57,6 +43,7 @@ vardef GroupInfoCopy@#(text src)= enddef; GroupInfo.iGroup(2, 2, 2, 2); +GroupInfo.iGroupNoMargins(0, 0, 0, 0); GroupInfoCopy.iGroupBoxed(iGroup); iGroupBoxed.boxed := 1; @@ -88,19 +75,22 @@ vardef Group@#(text objects)= enddef; vardef Group_layout@#= - if @#layedout = 0: + if @#laidout = 0: log "Needing layout for group " & (str @#); - @#layedout := 1; + @#laidout := 1; + + log "Calling layout for objects in group '" & (str @#) & "' ."; + log " Objects are: '" & @#objectsAsString & "'."; if (@#objectsAsString = ""): + log "Empty layout begin"; @#width = @#info.left + @#info.right; @#height = @#info.top + @#info.bottom; + log "Empty layout end"; else: - log "Calling layout for objects group '" & (str @#) & "' ..."; - log " object are: '" & @#objectsAsString & "'."; - + log "Layout with content"; layoutObjects(scantokens @#objectsAsString); - log "All objects in group '" & (str @#) & "' are now layed out."; + log "All objects in group '" & (str @#) & "' are now laid out."; % As already tested, @#objectsAsString must be <> "". % See page 53, User's manual for MetaPost @@ -108,51 +98,57 @@ vardef Group_layout@#= % executed, with the loop index parameter set to % the empty suffix" (!) - log "Proceeding to finding min/max x/y of objects:"; - log " " & @#objectsAsString; + log "Group_layout: finding min/max x/y of objects:" & @#objectsAsString; __objectIndex := 0; forsuffixes obj__ = scantokens @#objectsAsString: if __objectIndex = 0: - log "First object " & str obj__; + log "Group_layout: first object " & str obj__ & ", initial minx, maxx, miny, maxy follow."; @#minx := obj__.left; - log @#maxx; - log obj__.right; @#maxx := obj__.right; - log @#maxx; @#miny := obj__.bottom; @#maxy := obj__.top; + log @#minx; + log @#maxx; + log @#miny; + log @#maxy; __objectIndex := __objectIndex + 1; else: - log "Current object " & str obj__; + log "Group_layout: current object " & str obj__; - log "comparing(min)"; + log "comparing minx"; log @#minx; - log @#obj__.left; - @#minx := min(@#minx)(obj__.left); + log obj__.left; + @#minx := min(@#minx, obj__.left); - log "comparing(max)"; + log "comparing maxx"; log @#maxx; - log @#obj__.right; - @#maxx := max(@#maxx)(obj__.right); + log obj__.right; + @#maxx := max(@#maxx, obj__.right); - log "comparing(min)"; + log "comparing miny"; log @#miny; - log @#obj__.bottom; - @#miny := min(@#miny)(obj__.bottom); + log obj__.bottom; + @#miny := min(@#miny, obj__.bottom); - log "comparing(max)"; + log "comparing maxy"; log @#maxy; - log @#obj__.top; - @#maxy := max(@#maxy)(obj__.top); + log obj__.top; + @#maxy := max(@#maxy, obj__.top); __objectIndex := __objectIndex + 1; fi; endfor; - log "... done iterating"; - log "maxx = "; + log "Group_layout: finding min/max x/y: done."; + log @#minx; log @#maxx; + log @#miny; + log @#maxy; + + log "Group_layout: about to set nw, se"; + log @#nw; + log @#se; @#nw = (@#minx - @#info.left, @#maxy + @#info.top); @#se = (@#maxx + @#info.right, @#miny - @#info.bottom); diff --git a/Master/texmf-dist/metapost/metauml/util_infrastructure.mp b/Master/texmf-dist/metapost/metauml/util_infrastructure.mp index 457f6bf89ca..8e6c2ed05d7 100644 --- a/Master/texmf-dist/metapost/metauml/util_infrastructure.mp +++ b/Master/texmf-dist/metapost/metauml/util_infrastructure.mp @@ -1,19 +1,5 @@ -% MetaUtil, an easier MetaPost life -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _util_infrastructure_mp: expandafter endinput diff --git a/Master/texmf-dist/metapost/metauml/util_log.mp b/Master/texmf-dist/metapost/metauml/util_log.mp index d7adb3c8589..61c86ec8d6c 100644 --- a/Master/texmf-dist/metapost/metauml/util_log.mp +++ b/Master/texmf-dist/metapost/metauml/util_log.mp @@ -1,19 +1,5 @@ -% MetaUtil, an easier MetaPost life -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. %%% if known _util_log_mp: %%% expandafter endinput @@ -38,7 +24,7 @@ enddef; def log text txt= if (util_log_defaultlevel <= util_log_thresholdlevel): - %includeonce% show txt + show txt else: % do nothing fi; diff --git a/Master/texmf-dist/metapost/metauml/util_margins.mp b/Master/texmf-dist/metapost/metauml/util_margins.mp index 508a0e6bb44..7b014ee9e7d 100644 --- a/Master/texmf-dist/metapost/metauml/util_margins.mp +++ b/Master/texmf-dist/metapost/metauml/util_margins.mp @@ -1,19 +1,5 @@ -% MetaUtil, an easier MetaPost life -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _util_margins_mp: expandafter endinput diff --git a/Master/texmf-dist/metapost/metauml/util_object.mp b/Master/texmf-dist/metapost/metauml/util_object.mp index 52f932ddc34..fbc569dd6fe 100644 --- a/Master/texmf-dist/metapost/metauml/util_object.mp +++ b/Master/texmf-dist/metapost/metauml/util_object.mp @@ -1,19 +1,5 @@ -% MetaUtil, an easier MetaPost life -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _util_object_mp: expandafter endinput @@ -48,9 +34,9 @@ def ObjectEquations(suffix $)= var(picture) pict; var(string) className; - var(numeric) layedout, drawn; + var(numeric) laidout, drawn; - $.layedout := 0; + $.laidout := 0; $.drawn := 0; $.left = xpart $.nw = xpart $.sw; @@ -86,7 +72,7 @@ vardef objectBorder(suffix @#)= save methodName; string methodName; methodName := @#className & "_border"; - log "invoking " & methodName & " arg=" & str @#; + log "objectBorder: invoking " & methodName & " arg=" & str @#; scantokens (methodName).@# enddef; @@ -105,7 +91,7 @@ vardef layoutObject(suffix @#)= save methodName; string methodName; methodName := @#className & "_layout"; - log "invoking " & methodName & " arg=" & str @#; + log "layoutObject: invoking " & methodName & " arg=" & str @#; scantokens (methodName).@#; enddef; @@ -114,7 +100,7 @@ vardef drawObject(suffix @#)= save methodName; string methodName; methodName := @#className & "_draw"; - log "invoking " & methodName & " arg=" & str @#; + log "drawObject: invoking " & methodName & " arg=" & str @#; scantokens (methodName).@#; enddef; @@ -141,12 +127,13 @@ vardef drawObjectAt(suffix @#)(text eq)= enddef; vardef layoutObjects(text objects)= - log "Layout objects..."; + log "layoutObjects: begin"; forsuffixes o = objects: if (str o) <> "": layoutObject(o); fi; endfor; + log "layoutObjects: end"; enddef; vardef drawObjects(text objects)= @@ -176,17 +163,29 @@ enddef; %% joinObjects (p, q, r); %% def joinObjects(text pictures)= - save skipFirstPicture; - skipFirstPicture := 1; + log "joinObjects: call started."; + + save _index; + _index := 0; forsuffixes p=pictures: - if skipFirstPicture=0: - objectDoJoin(previousPic, p); + exitif (str p) = ""; + if _index=0: + log " joinObjects: calling join for first object."; + log _index; + log p; + objectDoJoinFirst(p)(_index); else: - % first picture is skipped - skipFirstPicture := 0; + log " joinObjects: calling join for next object."; + log _index; + log p; + objectDoJoin(previousPic, p)(_index); fi; + + _index := _index + 1; def previousPic=p enddef; endfor; + + log "joinObjects: call ended." enddef; %% @@ -207,7 +206,12 @@ enddef; %% setPictureJoin(pa.ne = pb.nw); %% def setObjectJoin(text eq)= - def objectDoJoin(suffix pa, pb)=eq enddef; + def objectDoJoin(suffix pa, pb)(expr index)=eq; enddef; + def objectDoJoinFirst(suffix pa)(expr index)= log " objectDoJoinFirst: NOP"; enddef; +enddef; + +def setObjectJoinFirst(text eq)= + def objectDoJoinFirst(suffix pa)(expr index)=eq; enddef; enddef; %% diff --git a/Master/texmf-dist/metapost/metauml/util_picture.mp b/Master/texmf-dist/metapost/metauml/util_picture.mp index b148f04857e..85ce68f7d41 100644 --- a/Master/texmf-dist/metapost/metauml/util_picture.mp +++ b/Master/texmf-dist/metapost/metauml/util_picture.mp @@ -1,19 +1,5 @@ -% MetaUtil, an easier MetaPost life -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _util_picture_mp: expandafter endinput @@ -91,13 +77,15 @@ vardef PictureInfo@#(expr pleft, pright, ptop, pbottom)(text pfont)= %% var(numeric) fixedWidth, fixedHeight; - %% Controls how the contents of the picture is to be alligned relatively - %% to the picture margins. Can be one of "left", "centered", defaults to + %% Controls how the contents of the picture is to be aligned relatively + %% to the picture margins. Can be one of "left", "centered", and defaults to %% "left". The "centered" setting is useful for Picture-s whose fixedWidth %% is set to a given value. %% var(string) halign, valign; - + + var(string) textDecoration; + @#boxed := 0; @#borderColor := blue; @@ -108,7 +96,9 @@ vardef PictureInfo@#(expr pleft, pright, ptop, pbottom)(text pfont)= @#halign := "left"; @#valign := "bottom"; - + + @#textDecoration := "none"; + Margins.@#(pleft, pright, ptop, pbottom); FontInfoCopy.@#iFont(pfont); @@ -120,7 +110,8 @@ vardef PictureInfoCopy@#(text src)= @#boxed := src.boxed; @#borderColor := src.borderColor; @#ignoreNegativeBase := src.ignoreNegativeBase; - + @#textDecoration := src.textDecoration; + @#fixedWidth := src.fixedWidth; @#fixedHeight := src.fixedHeight; @@ -136,6 +127,7 @@ vardef PictureInfo_toString@#= enddef; PictureInfo.iPict(2, 2, 2, 2)(iFont); +PictureInfo.iPictNoMargins(0, 0, 0, 0)(iFont); PictureInfoCopy.iPictBoxed(iPict); iPictBoxed.boxed := 1; @@ -182,12 +174,12 @@ enddef; %% Lays out the Picture. %% vardef Picture_layout@# = - if @#layedout = 1: - log "Picture " & str @# & " already layed out."; + if @#laidout = 1: + log "Picture " & str @# & " already laid out."; else: log "Laying out " & (str @#); - @#layedout := 1; + @#laidout := 1; if known @#contentAsPicture: log "Content is known to be a picture"; @@ -225,7 +217,7 @@ vardef Picture_layout@# = elseif @#info.halign = "center": xdelta__ := (@#width-pictWidth(@#pict))/2; else: - 2 = 3; % throw exception illegal value for @#info.hallign + 2 = 3; % throw exception illegal value for @#info.halign fi; if @#info.valign = "bottom": @@ -233,7 +225,7 @@ vardef Picture_layout@# = elseif @#info.valign = "center": ydelta__ := (@#height-pictHeight(@#pict))/2 - @#negativeBase + negativeBaseAdjustement__; else: - 2 = 3; % throw exception illegal value for @#info.vallign + 2 = 3; % throw exception illegal value for @#info.valign fi; @#contentShift = @#sw + (xdelta__, ydelta__); @@ -249,6 +241,15 @@ vardef Picture_draw@# = draw @#pict shifted @#contentShift; + if (@#info.textDecoration = "underline"): + save ydelta, height; + height := pictHeight(@#pict) - @#negativeBase; + + ydelta := @#info.bottom - @#negativeBase - 0.8; + + draw @#sw + (@#info.left, ydelta) -- @#se + (-@#info.right, ydelta) withcolor black withpen pencircle scaled 0.2bp; + fi; + if (@#info.boxed = 1): draw objectBox(@#) withcolor @#info.borderColor; fi; diff --git a/Master/texmf-dist/metapost/metauml/util_picture_stack.mp b/Master/texmf-dist/metapost/metauml/util_picture_stack.mp index e1a1a51bfba..edade327ef8 100644 --- a/Master/texmf-dist/metapost/metauml/util_picture_stack.mp +++ b/Master/texmf-dist/metapost/metauml/util_picture_stack.mp @@ -1,19 +1,5 @@ -% MetaUtil, an easier MetaPost life -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _util_picture_stack_mp: expandafter endinput @@ -44,32 +30,36 @@ inputonce util_log; % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -vardef PictureStackInfo@#(expr pleft, pright, ptop, pbottom)(text pspacing)(text ppictInfo)= +%% Style for a stack of child pictures with the given margins, spacing between children, and a common child style. +%% If child style supplier @#childStyleSupplier is set, it takes precedence over the common child style. +%% The child style supplier must be the name of a macro taking a child index as an argument and returning a child style. +vardef PictureStackInfo@#(expr marginLeft, marginRight, marginTop, marginBottom)(text _spacing)(text _childStyle)= attributes(@#); var(numeric) boxed; var(color) borderColor; - - var(numeric) left, right, top, bottom; var(numeric) spacing; + var(string) childStyleSupplier; - Margins@#(pleft, pright, ptop, pbottom); + Margins@#(marginLeft, marginRight, marginTop, marginBottom); - @#spacing := pspacing; + @#spacing := _spacing; @#boxed := 0; @#borderColor := green; - PictureInfoCopy.@#iPict(ppictInfo); + @#childStyleSupplier := ""; + + PictureInfoCopy.@#iPict(_childStyle); enddef; vardef PictureStackInfoCopy@#(text src)= PictureStackInfo@#(src.left, src.right, src.top, src.bottom)(src.spacing)(src.iPict); + @#childStyleSupplier := src.childStyleSupplier; @#boxed := src.boxed; @#borderColor := src.borderColor; enddef; -log "*** Creating iStack..."; PictureStackInfo.iStack(2, 2, 2, 2)(2)(iPict); vardef EPictureStack@#(text pictStackInfo)(text thePictures)(text how)= @@ -81,14 +71,23 @@ vardef EPictureStack@#(text pictStackInfo)(text thePictures)(text how)= attributes(@#); var(numeric) nItems; var(numeric) minx, miny, maxx, maxy; - var(string) picturesAsString; - var(string) joinMethod; - - @#joinMethod := how; + var(string) picturesAsString; + %var(text) joinMethod; + + string @#joinMethod; + + %@#joinMethod := str how; + for l=how: + @#joinMethod := l; + endfor; @#nItems := 0; for p=thePictures: - EPicture.@#pict[@#nItems](@#info.iPict)(p); + if (@#info.childStyleSupplier <> ""): + EPicture.@#pict[@#nItems](scantokens (@#info.childStyleSupplier)(@#nItems))(p); + else: + EPicture.@#pict[@#nItems](@#info.iPict)(p); + fi; @#nItems := @#nItems + 1; endfor; @@ -105,10 +104,10 @@ vardef PictureStack@#(text thePictures)(text how)= enddef; vardef PictureStack_layout@#= - if @#layedout = 1: + if @#laidout = 1: log "PictureStack " & (str @#) & " has already been layed out"; else: - @#layedout := 1; + @#laidout := 1; layoutObjects(scantokens @#picturesAsString); @@ -124,6 +123,9 @@ vardef PictureStack_layout@#= setObjectJoin(pa.midx=pb.midx; pa.bottom = pb.bottom + @#info.spacing); elseif @#joinMethod = "vrightbase": setObjectJoin(pa.right=pb.right; pa.bottom = pb.bottom + @#info.spacing); + else: + setObjectJoin(pa.c = pb.c); % By default, stack objects on top of each other. + scantokens @#joinMethod; fi; joinObjects(scantokens @#picturesAsString); diff --git a/Master/texmf-dist/metapost/metauml/util_positioning.mp b/Master/texmf-dist/metapost/metauml/util_positioning.mp index 758ab63afda..9f32a0a54e5 100644 --- a/Master/texmf-dist/metapost/metauml/util_positioning.mp +++ b/Master/texmf-dist/metapost/metauml/util_positioning.mp @@ -1,19 +1,5 @@ -% MetaUtil, an easier MetaPost life -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _util_positioning_mp: expandafter endinput @@ -97,7 +83,7 @@ vardef align(suffix theString, extremityNew, extremityOld) string objectsAsString__; objectsAsString__ := enumToString(objects)(""); - log "Alligning '" & objectsAsString__ & "' at " & str theString; + log "Aligning '" & objectsAsString__ & "' at " & str theString; log sign; if (objectsAsString__ = ""): diff --git a/Master/texmf-dist/metapost/metauml/util_shade.mp b/Master/texmf-dist/metapost/metauml/util_shade.mp index f8c7b1bdcdb..b5231164b91 100644 --- a/Master/texmf-dist/metapost/metauml/util_shade.mp +++ b/Master/texmf-dist/metapost/metauml/util_shade.mp @@ -1,19 +1,5 @@ -% MetaUtil, an easier MetaPost life -% Copyright (C) 2005 Ovidiu Gheorghies -% -% 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. +% Copyright 2005 2015 Ovidiu Gheorghies +% Licensed under the Apache License, Version 2.0. if known _util_shade_mp: expandafter endinput -- cgit v1.2.3