From 5ce5c7e5e1872f28067f3f9431923796f5c1cd69 Mon Sep 17 00:00:00 2001 From: PACT Date: Thu, 22 Sep 2022 14:17:23 +0200 Subject: [PATCH] Squelette de Rapport et README --- .gitignore | 18 ++++ .gitlab-ci.yml | 28 +++++ README.md | 23 +++++ rapport/.gitignore | 7 ++ rapport/README.adoc | 130 ++++++++++++++++++++++++ rapport/References.adoc | 14 +++ rapport/annexes/avancement.adoc | 6 ++ rapport/annexes/code/test.c | 7 ++ rapport/annexes/modifications.adoc | 47 +++++++++ rapport/annexes/moduleX.adoc | 43 ++++++++ rapport/annexes/moduleY.adoc | 7 ++ rapport/annexes/reunions.adoc | 21 ++++ rapport/architecture/ihm.adoc | 13 +++ rapport/architecture/interfaces.adoc | 23 +++++ rapport/architecture/schema.adoc | 78 ++++++++++++++ rapport/architecture/sequence.adoc | 23 +++++ rapport/architecture/taches.adoc | 33 ++++++ rapport/images/logo_PACT.jpg | Bin 0 -> 6704 bytes rapport/images/logo_PACT.png | Bin 0 -> 28732 bytes rapport/images/pact.svg | 126 +++++++++++++++++++++++ rapport/organisation/plan-tests.adoc | 23 +++++ rapport/organisation/planification.adoc | 66 ++++++++++++ rapport/pdf-theme.yml | 21 ++++ rapport/proposition/etat-de-l-art.adoc | 41 ++++++++ rapport/proposition/proposition.adoc | 122 ++++++++++++++++++++++ rapport/scenario/scenario.adoc | 27 +++++ 26 files changed, 947 insertions(+) create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 README.md create mode 100644 rapport/.gitignore create mode 100644 rapport/README.adoc create mode 100644 rapport/References.adoc create mode 100644 rapport/annexes/avancement.adoc create mode 100644 rapport/annexes/code/test.c create mode 100644 rapport/annexes/modifications.adoc create mode 100644 rapport/annexes/moduleX.adoc create mode 100644 rapport/annexes/moduleY.adoc create mode 100644 rapport/annexes/reunions.adoc create mode 100644 rapport/architecture/ihm.adoc create mode 100644 rapport/architecture/interfaces.adoc create mode 100644 rapport/architecture/schema.adoc create mode 100644 rapport/architecture/sequence.adoc create mode 100644 rapport/architecture/taches.adoc create mode 100644 rapport/images/logo_PACT.jpg create mode 100644 rapport/images/logo_PACT.png create mode 100644 rapport/images/pact.svg create mode 100644 rapport/organisation/plan-tests.adoc create mode 100644 rapport/organisation/planification.adoc create mode 100644 rapport/pdf-theme.yml create mode 100644 rapport/proposition/etat-de-l-art.adoc create mode 100644 rapport/proposition/proposition.adoc create mode 100644 rapport/scenario/scenario.adoc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0b1b4b3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# Node rules: +## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +## Dependency directory +## Commenting this out is preferred by some people, see +## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git +node_modules + +# Book build output +_book + +# eBook build output +*.epub +*.mobi + +*.log +.*.swp diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..148e1ed --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,28 @@ +# DONOT CHANGE/EDIT THIS FILE +image: asciidoctor/docker-asciidoctor + +stages: + - build + +build-report: + # You can download the artifacts in the pipeline/jobs tab in Gitlab web UI + artifacts: + expire_in: 7 days + name: "Rapport-$CI_PROJECT_NAME-$(date -u +%d-%m-%Y@%Hh%MUTC)" + paths: + - rapport/Rapport-$CI_PROJECT_NAME.html + - rapport/Rapport-$CI_PROJECT_NAME.pdf + - rapport/images + stage: build + script: + # Log Asciidoctor Version + - asciidoctor --version + # generate html version + - (cd rapport && asciidoctor -r asciidoctor-diagram -d book -b html5 README.adoc -o Rapport-$CI_PROJECT_NAME.html) + # Log Asciidoctor-PDF Version + - asciidoctor-pdf --version + # generate pdf version + - (cd rapport && asciidoctor-pdf -r asciidoctor-diagram -r asciidoctor-mathematical -a mathematical-format=svg -d book -b pdf --theme pdf-theme.yml README.adoc -o Rapport-$CI_PROJECT_NAME.pdf) + only: + - main + diff --git a/README.md b/README.md new file mode 100644 index 0000000..6a378e6 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +Ceci est votre dépôt pour le projet PACT. + +Vous **DEVEZ** modifier ce fichier (`README.md`) et créer tous les +répertoires et fichiers dont vous aurez besoin pour votre projet. + +# Important, le rapport d'avancement + +Le répertoire `rapport` contient un squelette pour votre rapporte d'avancement. +Ce répertoire **ne doit pas être renommé** ni le fichier `README.adoc` qu'il contient. +Le fichier `README.adoc` est le point d'entrée du rapport. + +Il est rédigé en utilisant le langage [**AsciiDoc**](http://asciidoc.org/). +La syntaxe est supportée par GitLab qui le formatera correctement dans l'interface Web. + +Le document final sera généré en utilisant l'outil [Asciidoctor](http://asciidoctor.org/) qui supporte les mêmes extensions que GitLab (pour les équations par exemple). +Un résumé de la syntaxe supportée est accessible [ici](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/). + +Vous pouvez éditer les différents fichiers en utilisant *votre éditeur de texte favori*. +Si vous n'en avez pas, vous pouvez, par exemple utiliser: + +- [**Visual Studio Code**](https://code.visualstudio.com/) avec l'extension [AsciiDoc](https://marketplace.visualstudio.com/items?itemName=asciidoctor.asciidoctor-vscode) qui ajoute coloration syntaxique et rendu en temps réel. +- Ou bien sûr votre éditeur de text préféré **Sublim Text**, **Vim**, **Emacs**,… +- Une extension pour navigateur Web est aussi disponible pour visualiser le résultat ([**ici**](https://github.com/asciidoctor/asciidoctor-browser-extension)). diff --git a/rapport/.gitignore b/rapport/.gitignore new file mode 100644 index 0000000..d071887 --- /dev/null +++ b/rapport/.gitignore @@ -0,0 +1,7 @@ +# eBook build output +*.epub +*.mobi +*.pdf + +*.log +.*.swp diff --git a/rapport/README.adoc b/rapport/README.adoc new file mode 100644 index 0000000..f445aa4 --- /dev/null +++ b/rapport/README.adoc @@ -0,0 +1,130 @@ += Rapport d’avancement: groupe “x.y” +PACT groupe xy (Les plus beaux) +ifdef::env-gitlab,env-browser[:outfilesuffix: .adoc] +:doctype: book +:stem: latexmath +:source-highlighter: coderay +:toc-title: Table des matières +:toc: macro +:sectnums: +:imagesdir: images + + +// Partie non numérotée +:sectnums!: +== « Nom du groupe » + +=== Membres du groupe + +* Nom1 +* Nom2 +* Nom3 +* Nom4 +* Nom5 +* Nom6 + +=== Tuteur + +* xx yy + +=== Encadrant génie logiciel + +* xx yy + +<<< + +== Résumé du sujet choisi en français (PAN1) + +*_Note: 15 lignes max_* + +Décrire votre projet sans le scénariser : De quoi s’agit-il ? En quoi +cette idée est compatible avec le thème de PACT ? Qu’est-ce qu’il +permettrait de faire de façon générale. + +== English Summary (PAN1) + +*_Note : 15 lignes max, version anglaise du texte précédent_* + +Ligula dapibus egestas. Donec sed velit ac lectus mattis sagittis. + +In hac habitasse platea dictumst. Maecenas in ligula. Duis tincidunt +odio sollicitudin quam. Nullam non mauris. Phasellus lacinia, velit sit +amet bibendum euismod, leo diam interdum ligula, eu scelerisque sem +purus in tellus. + +<<< + +*Notes concenant le rapport* + +Les différentes pages du document sont rédigées en utilisant le langage +AsciiDoc. Le squelette de rapport contient des exemples avec entre autres: + +* des images, +* des liens, +* des équations. + +La structure du rapport (parties, sections et la relation avec les +différents fichiers) se trouve dans le fichier courant. + +**Prenez le temps** de supprimer le texte de remplissage et les sections non +utilisées pour l'instant. Vous pouvez par exemple commenter ces parties non +utilisées pour qu'elles n'apparaissent pas dans le document final. En Asciidoc, +il suffit de les précéder de deux slashs (`//`). + +<<< +toc::[] +<<< + +// On numérote le reste des sections +:sectnums: + +== Étude d’antériorité et justification de la proposition (PAN1) + +include::proposition/proposition.adoc[Description de la proposition] + +include::proposition/etat-de-l-art.adoc[Description de l’état de l’art] + +<<< + +== Scénarios d’usage (PAN1) + +include::scenario/scenario.adoc[Scénarios d’usage] + +<<< + +== Architecture du projet (PAN1) + +include::architecture/schema.adoc[Schéma d’architecture] + +include::architecture/interfaces.adoc[Description des interfaces] + +include::architecture/sequence.adoc[Diagramme de séquence] + +include::architecture/ihm.adoc[Interface utilisateur graphique] + +<<< + +== Organisation du projet (PAN1) + +include::organisation/planification.adoc[Diagramme de planification temporel des tâches] + +include::organisation/plan-tests.adoc[Plans de test (PAN2+)] + +<<< + +[bibliography] +== Bibliographie (PAN1+) + +include::References.adoc[Bibliographie] + +<<< + +== Annexes + +include::annexes/modifications.adoc[Modifications (PAN2+)] + +include::annexes/avancement.adoc[Avancement des modules] + +include::annexes/moduleX.adoc[Avancement module X] + +include::annexes/moduleY.adoc[Avancement module Y] diff --git a/rapport/References.adoc b/rapport/References.adoc new file mode 100644 index 0000000..bcc4c86 --- /dev/null +++ b/rapport/References.adoc @@ -0,0 +1,14 @@ + +*_Note : Liste des références exploitées. Une référence complète +donne titre, auteur(s), date, journal, revue, source de publication, +titre de conférence, numéro, pages. Une webographie est aussi +envisageable : titre, auteur, date, page web_* + +* [[RefShannon]]RefShannon : *C. E. SHANNON*, _A Mathematical Theory +of Communication_, Reprinted with corrections from The Bell System +Technical Journal, pages 379–423, 623–656, Vol. 27, 1948, +http://sites.google.com/site/parthochoudhury/aMToC_CShannon.pdf +* [[VitrinePACT]]VitrinePACT : _Vitrine des projets PACT_, +https://pact.wp.mines-telecom.fr/vitrine/ +* [[TOTO]]XXX : *M. S. Otor*, _Best paper ever_, Livre de la jungle, +Volume 2, pages 33-34, 1777 diff --git a/rapport/annexes/avancement.adoc b/rapport/annexes/avancement.adoc new file mode 100644 index 0000000..05c67b7 --- /dev/null +++ b/rapport/annexes/avancement.adoc @@ -0,0 +1,6 @@ +=== Suivis des modules (Après PAN1) + +Insérez ici votre biblio et vos avancées techniques par module (réunions +experts, pseudo-code d’algorithmes, description détaillée de vos réalisations, etc.). + + diff --git a/rapport/annexes/code/test.c b/rapport/annexes/code/test.c new file mode 100644 index 0000000..a5094f7 --- /dev/null +++ b/rapport/annexes/code/test.c @@ -0,0 +1,7 @@ +#include + +int main() +{ + puts("hello world!"); + return 0; +} diff --git a/rapport/annexes/modifications.adoc b/rapport/annexes/modifications.adoc new file mode 100644 index 0000000..9028515 --- /dev/null +++ b/rapport/annexes/modifications.adoc @@ -0,0 +1,47 @@ +=== Modifications (PAN2+) + +==== Modifications de fond + +Tableau des modifications de fond apportées au projet avec validation +des experts et encadrant informatique + +[cols=",,",options="header",] +|==== +| libellé / date | Description brève | Validé par : +| | | +| | | +|==== + +==== Modifications du rapport + +Vous noterez dans cette section les modifications apportées au rapport +depuis le PAN précédent. Si votre planification temporelle a été +modifiée, vous laisserez l’ancienne planification dans cette annexe. + +===== Modifications du rapport au PAN2 + +Fusce ac nisi. Integer volutpat elementum metus. Vivamus luctus +ultricies diam. Curabitur euismod. Vivamus quam. Nunc ante. Nulla mi +nulla, vehicula nec, ultrices a, tincidunt vel, enim. + +Suspendisse potenti. Aenean sed velit. Nunc a urna quis turpis imperdiet +sollicitudin. Mauris aliquam mauris ut tortor. Pellentesque tincidunt +mattis nibh. In id lectus eu. + +===== Modifications du rapport au PAN3 + +Dolor aliquam elit, a commodo nisi felis nec nibh. Nulla facilisi. Etiam +at tortor. Vivamus quis sapien nec magna scelerisque lobortis. + +Curabitur tincidunt viverra justo. Cum sociis natoque penatibus et +magnis dis parturient montes, nascetur ridiculus mus. Sed eros ante, +mattis ullamcorper, posuere quis, tempor vel, metus. Maecenas cursus +cursus lacus. Sed. + +===== Modifications du rapport au PAN4 + +Hac habitasse platea dictumst. Cras quis lacus. Vestibulum rhoncus +congue lacus. Vivamus euismod, felis quis commodo viverra, dolor elit +dictum ante, et mollis eros augue at est. Class aptent taciti sociosqu +ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla +lectus sem, tristique sed, semper in, hendrerit non, sem. Vivamus. diff --git a/rapport/annexes/moduleX.adoc b/rapport/annexes/moduleX.adoc new file mode 100644 index 0000000..63da0e3 --- /dev/null +++ b/rapport/annexes/moduleX.adoc @@ -0,0 +1,43 @@ +=== Module X + +==== Descriptions + +[source,cpp] +---- +#include + +using namespace std; + +class M +{ +public: + void hello() + { + cout << "hello" << endl; + } +}; + +int main() +{ + M m; + m.hello(); + return 0; +} +---- + + +[source,c] +---- +include::code/test.c[] +---- + +Et l'équation: + +[latexmath] +++++ +A \in \mathcal{M}_{u,k}(\mathbb{R}) et B \in \mathcal{M}_{k,f}(\mathbb{R}) +++++ + +==== Avancement + +==== Bibliographie spécifique diff --git a/rapport/annexes/moduleY.adoc b/rapport/annexes/moduleY.adoc new file mode 100644 index 0000000..f5e1a2a --- /dev/null +++ b/rapport/annexes/moduleY.adoc @@ -0,0 +1,7 @@ +=== Module Y + +==== Descriptions + +==== Avancement + +==== Bibliographie spécifique diff --git a/rapport/annexes/reunions.adoc b/rapport/annexes/reunions.adoc new file mode 100644 index 0000000..815bc2c --- /dev/null +++ b/rapport/annexes/reunions.adoc @@ -0,0 +1,21 @@ +=== Comptes Rendus de réunions + +Insérez ici vos comptes rendus de réunions : date, durée, participants, +sujets abordés. + +==== Réunion du dd/mm/yyyy + +* Présents: +** AA +** BB +** CC +* Sujets abordés +** *xxx* : Nec, iaculis vel, mi. Nullam et augue vitae nunc tristique +vehicula. Suspendisse eget elit. Duis adipiscing dui non quam. +* Actions à entreprendre: +** Fusce sollicitudin molestie dui. Sed magna orci, accumsan nec, +viverra non, pharetra id, dui. Lorem ipsum dolor sit amet, consectetuer +adipiscing elit. +** Interdum arcu, at pellentesque diam metus ut nulla. Vestibulum eu +dolor sit amet lacus varius fermentum. Morbi dolor enim, pulvinar eget. + diff --git a/rapport/architecture/ihm.adoc b/rapport/architecture/ihm.adoc new file mode 100644 index 0000000..0c7ea82 --- /dev/null +++ b/rapport/architecture/ihm.adoc @@ -0,0 +1,13 @@ +=== Interface utilisateur graphique + +Il peut y avoir une ou plusieurs interfaces utilisateur (UI en anglais), +ou interface graphique, ou interface homme machine (IHM) : une interface +sur ordinateur et/ou une interface sur mobile ou tablette (Android), +selon le nombre d’appareils en jeu. + +En lien avec un diagramme de séquence, une description simple de chaque +écran/page est nécessaire. Il est recommandé de faire des dessins, même +dessins au crayon, photographiés ou scannés, car ce sont les meilleurs +supports de discussion : on appelle souvent ces dessins un +« storyboard ». Une description textuelle fait le lien entre tous les +éléments de l’IHM (ou des IHMs). diff --git a/rapport/architecture/interfaces.adoc b/rapport/architecture/interfaces.adoc new file mode 100644 index 0000000..97ad775 --- /dev/null +++ b/rapport/architecture/interfaces.adoc @@ -0,0 +1,23 @@ +=== Description des interfaces (PAN1 / PAN2) + +Pour le PAN1, il faut identifier et décrire sommairement toutes les +interfaces entre modules. + +Pour le PAN2, il faut une description complète des interfaces. + +Il faut ici une description textuelle de chaque interface, c'est-à-dire chaque +échange entre deux blocs. +Si c’est une interface entre deux blocs informatiques, c’est une interface +Java. +S’il y a des échanges de données complexes, il faut en décrire le format avec +précision. +Si c’est une interface entre deux blocs électroniques, c’est une description +des signaux électroniques ou protocoles utilisés. + +==== InterfaceBloc1-2 + +Description textuelle d’interface + +==== InterfaceBloc2-4 + +Description textuelle d’interface diff --git a/rapport/architecture/schema.adoc b/rapport/architecture/schema.adoc new file mode 100644 index 0000000..a4dde11 --- /dev/null +++ b/rapport/architecture/schema.adoc @@ -0,0 +1,78 @@ +=== Schéma d’architecture + +Insérer ici un ou plusieurs schémas d’architecture du projet. Voir le +cours d’introduction au Génie Logiciel. N’hésitez pas à faire des +schémas hiérarchiques, c'est-à-dire avec un bloc d’un schéma général +raffiné dans un second schéma ; ou des schémas en plusieurs parties. + +*Exemple utilisant http://www.graphviz.org/Documentation.php[graphviz]* +Voir la liste des outils supportés par http://asciidoctor.org/docs/asciidoctor-diagram/[asciidoctor-diagram]. +**(Vous pouvez, bien sûr, utiliser votre outil de dessin préféré).** + +[graphviz, arch-diag, svg] +.... +digraph MonGraph { + graph [rankdir = LR, splines=ortho]; + + node[shape=record]; + BlocIn[label="La source", height=2]; + Hub[label="Le «dispatcheur»", height=4]; + + BlocOut1[label="Première sortie", height=2]; + BlocOut2[label="Seconde Sortie", height=2]; + + BlocIn -> Hub [label="Image"]; + BlocIn -> Hub [label="Son"]; + BlocIn -> Hub [label="Émotion"]; + + Hub -> BlocOut1 [label="Musique"]; + Hub -> BlocOut1 [label="Chant"]; + BlocOut1 -> Hub [label="commande"]; + + + Hub -> BlocOut2 [label="Image"]; + Hub -> BlocOut2 [label="commande"]; +} +.... + + +==== Description des blocs + +Il faut ici une description textuelle de chaque bloc, sa fonction +détaillée. En général, un bloc correspond à un module, sauf exception. +Il peut être adapté de faire des blocs plus petits qu’un module. + +Il est important ici de distinguer les bibliothèques identifiées et +disponibles de ce que vous allez produire (coder) vous-même. Vous ne +devez pas réinventer la roue, mais vous ne devez pas non plus avoir votre +projet tout fait en encapsulant un programme déjà existant. + +===== NomBloc1 + +Description textuelle du bloc 1. + +===== NomBloc2 + +Description textuelle du bloc 1. + +*Exemple utilisant http://blockdiag.com/en/actdiag/index.html[actdiag]* +**(Vous pouvez, bien sûr, utiliser votre outil de dessin préféré).** + +[actdiag, diag_activite, svg] +.... +actdiag { + ecrire -> convertir -> afficher + + lane user { + label = "User" + ecrire [label = "Décire les matrices"]; + afficher [label = "Afficher la courbe"]; + } + lane converter { + label = "Convertisseur" + convertir [label = "Convertir\n en utilisant\n@@"]; + } +} +.... + +Voir la liste des outils supportés par http://asciidoctor.org/docs/asciidoctor-diagram/[asciidoctor-diagram]. diff --git a/rapport/architecture/sequence.adoc b/rapport/architecture/sequence.adoc new file mode 100644 index 0000000..471a7ac --- /dev/null +++ b/rapport/architecture/sequence.adoc @@ -0,0 +1,23 @@ +=== Diagramme de séquence (optionnel) + +Insérer ici un ou plusieurs diagrammes de séquence ou d’activité du +projet. Voir le cours d’introduction au Génie Logiciel. +Il peut y avoir plusieurs diagrammes, un par scénario. S’il y +a dans le projet un dialogue client-serveur, il peut être utile de faire un +diagramme de séquence spécifique pour ce dialogue. + + +*Exemple utilisant plantuml* +**(Vous pouvez, bien sûr, utiliser votre outil de dessin préféré).** + +[plantuml, sequence-x] +.... + browser -> webserver :GET /index.html + browser <-- webserver + browser -> webserver :POST /blog/comment + webserver -> database:INSERT comment + webserver <-- database + browser <-- webserver +.... + +Voir la liste des outils supportés par http://asciidoctor.org/docs/asciidoctor-diagram/[asciidoctor-diagram]. diff --git a/rapport/architecture/taches.adoc b/rapport/architecture/taches.adoc new file mode 100644 index 0000000..4eaa092 --- /dev/null +++ b/rapport/architecture/taches.adoc @@ -0,0 +1,33 @@ +=== Tableau détaillé des tâches + +****Note : 2 pages max - les fiches modules seront placées en annexe, +elles doivent être rédigées avec l’expert.**** + +Les différents aspects du projet sont découpés en tâches numérotées et +hiérarchisées (Tâches/sous-tâches, etc.). Chaque tâche est décrite précisément +et une équipe (typiquement un binôme) est affecté à sa réalisation. Un module +est typiquement constitué de plusieurs tâches et sous-tâches. + +Pour le PAN3, vous aurez à démontrer une version, *intégrée* et fonctionnelle de +votre projet. +Entre le PAN3 et le PAN4, vous pourrez améliorer les fonctionnalités intégrées +sans pour autant en ajouter de nouvelles. + +Reprenez et complétez le tableau suivant en précisant les différentes tâches et +sous-tâches ainsi que le (ou les) critères de réussite pour l'intégration au +PAN3. La définition des critères de réussite doit se faire en accord avec les +experts. + +[cols=",,^",options="header",] +|==== +| Tâche | Description | Critères de réussite pour l'intégration au PAN3 +| T1 | Classificateur d’image | interfaces logicielles finalisées +| T1.1 | Changement espace de couleur pour permettre … | au moins une transformation implémentée +| T1.2 | Extraction de l’histogramme à partir de l’espace XYZ… | … +| T1.3 | Extraction des caractéristiques … | … +| T1.4 | Comparaison des caractéristiques | … +| T2 | Détection de rythme (Module « Audio/Rythme ») | interfaces logicielles finalisées +| T2.1 | Découpage signal sonore en bande fréquentielle | la méthode X doit être implémentée +| T2.2 | Détection du tempo | … +| T2.3 | Changement de tempo | … +|==== diff --git a/rapport/images/logo_PACT.jpg b/rapport/images/logo_PACT.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ce133104a0a2fe7b6cd17119eba6efbc04d5f986 GIT binary patch literal 6704 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 F{{jl^8(;tc literal 0 HcmV?d00001 diff --git a/rapport/images/logo_PACT.png b/rapport/images/logo_PACT.png new file mode 100644 index 0000000000000000000000000000000000000000..34349658f800bc003ea1c966c703cca6a486f138 GIT binary patch literal 28732 zcmV*6Ky$x|P)xB7?`0SK0VD$cb|UWs`}NFe-F&a zpIq#14=uBw`>D0ZpJ}(uKF;1;KiJyOpJ!)QX2%mTvjl%S$u7I5{otinRn}i~3&DyZ z`m`V>p>M$w9#9d7zxQqQe)JtPYd!;zXOXtJ@sU%~pa1H-n}2pGjg_kyz@Zlh7lFW% zBiKR=Ja7cG?8FAQ-j5B zl}2L=E-p2}w(ier>;Fj~{=_b`^U3Bx{`!Z2hsNB`4%5TAL=%pS}D zWXG2L=U3XB&OM*iSKY`$tymP)ajn30T@r1GvXm%~(bnL3F0Q8#xxpkFjAp^WLe>v% zBoH;UP;4<{Ea=&l--js&fA`a!dB-1Fomu4>fb5WR?}tBYS6+1k*@LUtBd9Y=IK<f6{| z2LySC9;Zs2M_43akmdIoBt}3g1)he02!+R}>oMeN#?go{WYPS^%vrREImaFY`z$?Q zymaqVXI6OzAUmGFan)^?|Mz>&csZ*#vqz==^X`uqK_d+P`9 z*ljFh)8-8*DF_?~UrG9^RkjRmq$)x{qGhQ^tO6v`f|faL-N2KQF6$9W52Gy!kb6F| zR%grD7=FD*ss)322Y=W3JpY83F!1V^oh}aF=iHeiI0KMpuFvtKOYFlR{~EpP1_?bM zS6W1p;A9%lXsVu1nx+_0Xbde1fJng65-oG6NwTOzkmgiyaq-E3h7@E@-{vOPF(F@u2EB`d3QDy-0%$C(3{dfD@^DkmfBWI}y5seX2T7>u{2y#cz zHW||M@jQ=_#xOY3jX(QaA zLX@X8@^KdSETpSa<^By1uuJz6){bwYr)LhaFpNeWT;HcTK2Fu~ncLNkZnm&l2N#2f zLZUGkA{2SgY#uTZ`@QQVcK`Q}&FsevK%U`1x%}qk*M8~i%LcExo!#)+rP58>8K+H* zPX*8SX(uft8b9n~W!A#qZ7v7D@7>r5fyJ1kEEk?E!&meefMO^PtTrQPy554+gmQV9B0i4?d7X+#v1gyRg5rf zNr%alVwe8;R5o|05i&-?Dv_ZNc`nD?G6Rwsfb0m`rLJ7^I3dd0 zbcHpBqfIQNpG>-JtUKs^cH{6H&!5?w8G!5{(XMy>qkZV&YZz#1<`7`h4i-T-9sw~M z7(sV0=E1t=bzk}z>f|S{zp~%B*#7PZ7qaE<2kFw#Q>if6-pssOFSJ@HT$(sE=5;Z+ zq@UN^bm7eY%m8G^kijpUYj6CI^Xc8vW+4Hl6H!MXX*0XJhzHwS811XDX>Q1CAGlWh z@47D~ zF(mum&+Ko$_WwwJ_ZYjYF1ocql9Q35Wxy&kj#xCGxknzv9_N4YDc9DXbE*CH+20{t zvlcx*MAh%2yHck;+QJE|3`@gfGUY9o{qTe0h`rC6S^XJ+>==H@4ZlC_y7zwUoUz~C z!NFb2h)CGb*hru1#jn=b&>m-~>T=>G7n~)Ie$EG<@>w@NaLSc$e*1aV@fJz032^91 z9c-%6D8_0oTXyZ^_4i#dvrm5|kuyuMoj1zi`<#2!KYy5A4>^kE*(j?TL-hB|M!J%? z)ubj|!Z>H}`#=7NKlrS}_B#LAuY3+Qx0lteO-SECNQ;MIwiD8qOS~=PBwxSaSxq|k z^S}E?`;BAXXlDSjqk!Z!M~Qtuaw_-LQ!+AYslka8gwY@@m1@9sS6z<1V^!r3KI^1o z#33Je4~M?+P;4uvDqU)Lbn;<>BxR0K{N^VYKYKOyFK@DsTzEObJuA53xYPgQAem9! zPiOPaztBGXsc#`ytivJ*E4^&&G;s&|Ss9P>s&~DWaZk{645<*LX-YgaLNeN*Tl&oI zs?k+*@$21;TzMn+-f;s9nMIFNp_#XERF!o);UN|A_DlXB;)Elgb^G<3W8Y%)2i6is zmX*Vsc;TB*WZ4Cu7c&6aL1bwE*V**Whlxn>{Tic5MDDm~*Tbn*NvtL{7Ap)WNgT&S zQH1Y0^i(SNSq6<3bt?&Rh)Ds3<9c+oMg{>%UyXg<`&Pu6Z+%wnm;KKR?Ij=iJbRiN z@#rw!y>oa-B`iJh820?m{}nR;d8TgMCD+(%e{nIb`yOWLBO@%z9JVw^>5$S>?Pqg) zgqrFh*BU7M*bzu17Kz4Ultn3pXDlMmsNquad@`FeoHa;+z^~FtGun<|ZPuZ>bTQ$c zyYbv3Uc~(UUwDOh*#XDx%I(qx=ILNuB-8I}4h#>v3*Xg6a5Hz3pC^mH-qN}4@Y z_I}MP*!|^4pDGSpdj3vz34P-N`=c{H!``w=ccclhXe3+6sP4L$hg!p&@GoZ~{_b^R z1|WZ}O}c$$|84*IgTWQI-U%b)IHN6QYr#TQ!8V2n5eUbnk++c2M|m!3njx*kMPjVM z0|Hz?laK%w2OkYIiK+I_Vdc;|dPIf(S{HG1hyV|_Qe#zT6QbHhCyJOI_MtjC*bIfw zD2DN>%UE~7#yn!z=Pl!ex4aqgwwLb|d-|*054QtDZ3bGJT#qxypTkhnB$f`50PDJ} ztvkH>(jOim4%z+A8G!sHfpPKm_WmDU%w3mW$wIF}H8c1*c*c~iw*|9Fv3TZ51B0sk zn|jxr+vRE|15NkA(N6!8FE#8O-(SV=<@qz@$Yfoq`!9#9SM((592Rcz@cwC zk@{you*2?c=U=~Nule|w*jIH?$x{FtK*yD2N+6A-mP#V!Fg9-%hkftMcZ!$qbHEHh z{>-xZYu~qb{r9De+`XK+TCt?sOEx@=Z>Qqnx;)GVFk*lh%kiS0IkqrgVI#?UdsH#4q&g(e`1H)V|)3v z%YXHe&n??^U4w9Rm>zs`48uwixuAt2$e}lLutT+#C73stX4T`cH@ueK&%S4e*y~$fcbZ*u z>95(>sZs4DNGv&qwkydbNTYBK)U-o}WRo;B`a%{TeJFcf_!Th&kU!;Zb;E{q$pQpMOqn{K5f~s*6Po0S;P`{TzvS0KSdQ_iXY8KapI&W${=PF=6bWo|kj1sxjCUGnX~=~{QUJu$;2_D6G`lLam8F@c9P-YS z>HYc{Vg?|8ip@CtLi>xez5}Z^)15KeyzJoPW&pCC zGXCZNw7>t)i^x`PAh3cUF?3l?fIwqO$U!? zNQ^KzS&EOqQvp~(+vKzt%%<~-=X2P1|NUvdr)Nbq?-eJ!)!y=N=Q6Od$sAmK40R*W zwoL?#xhWl+BCvGf(PLezrWkIJ=9*MVa^Jh^25{W>faBvDk4NzEH zY@8!JgjJX_CM9t2Wk5|;sA)kZH-uVHQvtpgqLrjAEs-Z_N<%C`tHQf*jiF*R-NsTu zF_K4&C`eGm7#u8hJgO)}mV(Z))?g(FSp)zA16>&m#Ne;k#E(z^F!9%a^j9e-U-$km z*shIZIL$Uu)WLJ>w8)7`@r5GHp;CfFOh)g(h~hfRNC>@oYwxCW z_S2tDzf%JwyY_~2Zv2~f+U&Y}*)6in%bjwVL5|Lgu{T;-v=SIKQ4Eq`Y>KcME`oZs zhAUmNEF(!$5}lHfmfIvT1SBe;jY|W;I4~{+E!QOuLdG3Q!&S6>kGAL2k`80QW|Oid z?_dzPI0zt0BZi|fMzRLEvAAIcKd9h^6|A*Hrj5YR>(uEYBqpNcLfeJJneu_uv=A|q zK1?yX0bx+a;95g9*W?>Fuy1u1mwovgZ29cB{-PksFS^#Qxbj9=v55eSMbi-(Ru&gc zo+tPS{PO)+AS>U`goLV!bc-<*nhZ=%9};)PMt*nRC7A1P{@9F(^<;MK_4j`4^1nax zbI$KpG8@AH6&zrg78awkN1O|l8fE1^U1!)ASkhE=rMp0E2Do%itfo}wv z=dr@Jh!r9=7=K!joUk;;(=5FLEw^@v>8_f7M;=ijN6gQj-A?NP!#YSUS`RCZl;N zkO@mBr_5JnG*!p<9H7I?w7<2K&FG^H~0R-)$jVqSLMU2 zcn;lkqsU2V5|LuDsNw)iiOzErV)E8i7$g#eAV-i`O^XzRhac8JDq8IhDLHNFu(77_ z7SCqM?z^+wo=cg#%VJnCALh(HP8_=XR?e@zV@-wOk>4;lxW645!HlBOhvj>92ZwxWS%moYZmRs7%?4O1TOAmWpM5)Mx6{TN+(uNII=~+IA;PJ#jPu? z!POE^8-j^&wd>KyVx%83Dh-dBh{N9XCKiA5(|^{paqs&-WA8ctBAz!QSfm2tioWK}_GVtnb~J1%*uvE)=m1yA~HP#F&m_&o33C$sDm ze_ZL!P6?2U<{xTjZy05n=pnUj6oL*3pr{5_qC90ZkMV>{#TLq0V*!P99W<6K&q=LD zNQLn|QrBY~&4|hI=JfNtLk?oML-$9$_fHpdw?DYl-h1&Cti9zfs>2cUWI&#bF`GKR zQgn1oOo|XLsblD5F`iSnu8!F{LZ-`Gb|Ne+ZIQEawZO9$x3uUxWVnt)mgl&BjV(53 zu*>J5cb?3^7eDl8IUn}h7uxUs<0n``g#}Gbh@n$z2W>45f*KB?bkHU%60#UFRRlJa zDc>((r6n;Lj^m;Xq^6CBhcBx%rDaW?VD??YQD6S(4dJmz9`URP$oJ$wWF2w@-C-9tiqJ*T1`-D=1+mpdqmu-ux0{Voi%unA@qznt;HzGV z^X@nP+1Jf};R3tm`de9j`#t1Cql8!nYCTvqL#-h)GWy&eM5ZU5SN()U;#6o^*=e7r zr6n~P88LmTi>7W<31_oOXdbp5UiN|iL;s(ccF10KOZ%ELK2`D74bt7t>Bc29F&P%u z2@0*Arhvi6MPtbYWXhD447M;4CyGUVm(ipFKvjh}2C$Y4L4-z#kWF=m=ta-rge$h6 zjBlp_h`sgU{m*~ZDR=Cddh|sanM7p7IId5MCR1Rvg)Bn?JyZyMpV731#^PIvi@>0X z$;n-hv^Qj>iP`6bW7zWzuNo4sJbK_S{=Tld>GB7E^7EJ9`^&4TG-DPx6~a!An`Lx6 z0coC2Ir@#PmUSxURiFPD;)C0Fx$P7HvA5l~?7H`Udb#@j zN(K_B3Bj0+a4SAZ5+f~mu8RFiyuRr{`3cv-gEK??BEqQGP{w| zooBcx+GtGa1A@lI!Nmb235G;Y_)z8WRBQ3`BFG?s7AaM~3#&Elyjg_Xg@dpbQ5NDf z(74?LtnTwTe&sdKK7d?v+?y=d-^Y^NM`Rsb(Zo5(Mo+q0>|E zCTornV`;k{BQ=LLDr4?}&*v5Ieh1=JM?K@#$Nu+C_S$p5&)Qq=Wf!B^%kgQ9uct{y zSGA8UP0(3Pms=sqqVljvd<4blA4!6wQ6}2DvK)z_?N~BZM7e?->VQVjs02LZ=lsq2 zXLZE!M^*pW*FE-+U$u9g^CRYuXVfr^(xm2fqtgsg9>m9orzbR?W=bPKg*_eX1Tcg_ zKo)h-CL%=P7hVQEK{tM-!pi14VxZPHn|96PQQhX?cb?2E|K|tdnFtO5ang&$ORqdv zy!xL$#BhH%*N;DpsP{5^U@=?TTOiZ))VdkWMhI*5!t9b}tGckVfEd?E+%l*QYO)wo zOM@WCCBt@x*dwU&%TNAm<&S;M!~gbOd)JRIL5+{$V{lM}RETv})Ri$+p*&HXX{Y6M z97vn-`V?% zXYLSMwfEz16tDaCmxksZb{K;LRURB%&Aea^6*pi*YZKMl0K;i#GQu@+%jV^WV-1cm z6#tdxm@aN*E1&~JfJ4am=0T!I)^Y0_-@V<5MEjK=*$2=0Z_+jEnN{s&%z@3sxQ+ul zF6zxBWNySw6rk$q!CVFy|F<4PJ@VT7I_h>0gfJiKsS@e*%JGh;U zg?^1Sx82R!4}W=^-p3B>gWPfK>9%p@Ei6UhV_8EJji4{AAv2B2b6nxF*^aTGcOlKu zahfz)Tv?0>d>(2Hv85__-rv58=bZD;JG?Kp`jn5_N3Ohqp2T9?E$a0u(byPW)+t$4 z$|fsWY`b6P5p)^da>`>^Bo~XE1Ax*3SNdd`W>~@6UY|Gp_}q)dF)w)SQ-b4?+wGkn z`7GX}o2VO0LQ0ziEiDz#qf0BYEG_EX9@mjMJv=Q+tufJREZDmJIh78%EP!I9Mwwzf zx2FxREvkQg8PYN-ZJ|iIYphQ?IP+%n$`x0Nol=9W|MmrT@VECd9~XxN7pNeqI|0I2 z;=C{|tSSlv8*xMiROzLI<$;m)v}aW~_|(_$6yN~Z<@_&-C9ge}6<*G$r`S9?%s_P( zPFYHsQ*=LS2?&jYMq$ZC(FZ@#KjM@(v=NZYvc@Tknd?;P(Uw`woLj&8A16K~I4-|q z`8{WTp5)<2sTxhib&EPFGJ3oKm83MXF@nHH+9L5ck>oUD>cf`)iI$J++MMRlPt`UT zpY1efeu8W%HXXXXDmCE}jSaHMuilQ(wbSAemL0jcLU= zr4ySdLE=!B))$70Wy&;}?hrdh7JVrejMmh>8tr_X1zs-$#%0rQf5+x8eCJ6Imp%U) zd)xayxlBB;iUm|?(P5kfC-CU6+rHP=f~_Wv7$A$9#<$L43RWwQcMzK zN%8UV>s2ChtOkXPtX9~VwAmcML2r2-^LH|EOvpa}{&8{O$tSWYiAf8BqJqs)KK`&7 zG^VWdowD;4Mef8aiy9RaNjyA8(;<3XA2~SAb^mc5_P5IyZ}rS?U1)Fm=;ttxuA&Et zCl#LbNo+=zWyDE`C~MKICG()TNI^(;HN2F@|Fx*AZ3M zM@|FFbZ|_Ch9f*{NK6YyTdJ;))dqz?2tjJ|5={140x|#qAOJ~3K~w^TLn~@f#m6z4 zUN7L+KfQS8F|qFa&Uy4VGiq^4M>oI`q^hh~6=k@OseS=vCEacfR|RYl8oTELj=SMU z&x$U}>T8c>m!ps3!F-5H_bf)6BdE;M<8)!L47SGc+{$Fv{^T_xhFL~$RB91?z%Ckts@dsC5a{60Xm9?mL_mg8tlMIlAVMv;$xTXD0 zsd*=~@Ky{hLLihxC~%cSMLE<_%mSR1YgyD3%ysHmDQM;q7Kb_^t`*a6|6)g+(wWwx z=z<&}!gf~>T{TuDn{a|EqiK_f1V=cN0C~LHw_=KhsZC5~bZJIOgb-+5K*3H{2b2VW z(qctns5!jIsw-5dLRu;Hj-R~CK#!_P_%Fz4fM6-$mij8$oaL^vecU^V!{#nrOl9M)4M97Qo>Nvne- z(kYaoSd-=CafHzc7EK5&p~gZHfYCJaHo1g)wMqp=5|1H}lRaI6)Jp##Q;uzCyv%~m(d1>xip7$n z^90ve>TZZ96>+;wPC}Ki$W@dqEqYoYK$+s-hHb)TH=}p2B`iJT?-|Y`OvNKtg4F8C zLtWYfljfEvU++lN#Hm(k*obzX6b$<|EA5P_J8>$HG6B_s-~!#DD~GX_Yl+VOq21vC zVlTPH4&U=Iv#MPfB}xlYBM}HG3mexKK8LT1=!#%eCHu>`m{Si-!BSUDwIJrwJfl)hXd!3cqiB(RduN-9X)vR}W2W)mGcWD$>ytih>QNKO6( z>ZHf}Bux?)?70NT3yH|cFvMhpK?Q{>8fjYJPoq` z@@uI?8Oi84RWHDhl4lvAAJXo$r`;_@a!VqxNE)8Qma1f*_rL48%m{n^*B8W=P%>&# zJTJh(rA<^;zdn(n-cXEK$ZSStGmOc~gC$TxQBW#qgkOUoBqt%#;|L60svC*VV0*kU z^U8>rYb01nq8u7ZGFWl2d+*Nvm;O+Q*S}1#Zatd^N9pgHOS9P|s8rCh2p~*Ujk(yO z=e{KV_IvsX4&I+&k6mbo0jVtNuL9|y$;zy{Er2G>q>nlQwh#|NhRkBtFJF$m`j(4! zD1cmj*=2az&@CNAyG0iP9ukvilyqqlBRwA{tda|tF=7(G!ccF8Jx_Wi;^2KAoPkFn z2c7ap5-(sV?a&dDT=+x?lCmN}SW&dI>S7j(V+?*7GPPwSD8rK2iEckh$G~vhCdX1& zJvfzsNanOeMnsNOiUy;E7#8~7cvi7dH`%zjo4!+z=hatTG^HapHs}d^39XN>Jff%r z4rGocQ$>TYgT^T<0NSp@AOem$l08m4m34KG!A{JAU@lQ-lpg#^tvKP-r)8P^M2BUE zoJdB@>8@di2f6#Q%TC;30Mh>6&uo|*Tw_Z{?Jip< zR@2NH_>MzR35iY4?CN4h$yk+)GNdf&>;d+9`$;_io1fjvfLis?W7tkc(u{Ddz;|3S ztE2C@#GELR@H~&4qAM*o8eEsefqARISQ`?Liu| z2DsZz*|PV1UUBXhne(alK4EWG-TzQYLXm+fhMbaXtOjdDIRLdd*vf*n7PqH{IA+;v z#f$d5;h>|Bq%EO^#g;h`raASGA59^Eitq_@MOP{rNPIdEtik@|*Y+6?5PSQI{^i%) zOeL{+nJt<1OqmsxXeB@vv&TIgYPA~eG@_9w#J=RPzQ+Zlp7RfIAptpVR-A}YaW6eR4iy9;O;TJclL<;?i>{an zb{A6~e~CgN=~H#oc*N}7XT{Gh-vKnpjdu<1=GCdE247F~7f+RvOvcvBulcgz?&v7U zssZi?-!!8=p6pP+{>4J>GQeourXqu+@ROF=lg9Zkz3WI#A(pOG?Ojsi=n-u$G*PF8ABKo}$gDkgnL)x+$bK(Bn&D0h&kLT`5s(%_QP<5PEQuKw+v)C?FRlrCdyLg0#W&WSBZBs2nxDmqsj zhg}YS;nsnOS0BfaNQr%yw$2eq93v(hueKUL0i+m|7Z4HA>viE|hHSKf{jclnGY%m3 zqU-FM)Bf4syw|Jk{a0SkT(^R2iY$4KB`cjQA*RZjb(Rwn66YNZmLza_!OM=GLBUhV z?kBvI+*PD`{`B_@Lns4kUA-iM;^BA;Yed3sC%%+pzW=p>C13j3Hfi$5?z)#CH-sqC zPMazo=%Ub3Vi87QZP@`ST%_wmB}BaLC0jjT{QVn+o!duR@rcTR?sT@436pE0h|y62 zkurv5u%zt8~(Y$41xD zJ20QueE5AV{=t`oIB?m}Htqk7cb_u4YAwDI^isi?go+npv@XefM9I8gIO@i6(7s1j z@t^d0l_d*l`GVXndJZQBR7^PLlfPFOl&2WUw%~gqL!Cj4%rQ3MzI$)~>jT8zwEV=Y zj(@wo?99(Ia_t?=8IG72TXy$)X>Zy@7k<(5DFvA-2ESN98jGtf%2)ydq9iUdtWwgw zXfER5-Dh$ie?aCxXAhJgJmoyaZISMvn<$E~*3uXB5hW?N-+J?QJ>!P&op;`Dv*wcO zHsg#Cx*>5Imq7$cLQ*m<=6Fs(Vl6`^Vd)`H&gXaZ8(+(29TPi6vzVClC&XlL`^5Xs zq6Yo4jue`d80lG*Yls>n*dP7MI)AMV8vB>;+RNYjQL5u@yrFTrS_xI*P_Y_e%eGlm zIfB_tZR7;UZ28w5i?J3Lh2sVIvj=8Q|29Z%?rcWYLx_BOZfU#2SR_e8Zd0W2aRg*h zN@ujWU5_#A2gw^vJX|axxy{jJxFW#VoNlLw1Zd|8ah{R~J{wGjgI{_W{P2m-3-;c9 zz#ZrtG(=w25(Y>A*BO(0EGJsD{ zBV+wE8zNp0fwB!xMVdw^Mo;o!NXID>&$-4y z;v|+D4&Bya_>nb#Ie^&f@BY~N`yOM>{f{v}(Jb@&Xtmc*co}3Q#HN^kQN+3pS(@M& zi)-w(zJ=mG$SCS+v=U|LSCHu(chQ2G)4wgU+oBJ~N}!*n52BPpAjplz7(*4GYAP9h zY~42f{KlK^qN}5+%aBy$v~)x!EFKbC<8Be>|oyHzesO zJ_<8Ap(3M0PKLosRra418FbecLmVfx%Op3ef=pT_x(4!0!@N1i&7A&ixc!fK&RKCe zt?6m)tu44vQVg-pkO(|0*s^B*AN<*ofBT^|D>l-H#8Z;g=)xVBpd6>TBq<0bJUpy6 zv~&aGIP7}H|9MJii(?LWZTFo1C(N$jIz%n#8dkp&!vAEfSmWr zH(kEVrVfYJ=HN#S#-jCjz6*g*TV`ZZpp`-^N#=rfKqydH91I=?x2)fXlA=-;gXHtF ztx}<|QXmdpcE!x`-$wsIKJixFUdc>`PzvKabjoU9EnsA1Q&JtRp+GwzTYL84qbfk!h?L;{jr zlW9F!ggDV|Da+WF7KQ4>N`x-jY>^7>%9&HY9nx{^)5?Qr2^})5FY#Ruw=9b{LXyYH zQ~&VF4d-mW<96nV02fO_f)Ezpa}ic!jVT9a3tZ(u2|m~FVd+sX+NRgnzx(2X%o;;3 z4Vf||jwMqTWs7-^-NGY~4iOn+WDHdl&AC1FA8`QULvIv+))V#M8~(u#J@O!p(M@zY z0STH88eAV2MSzQ&$y@vF2< zPRpMuzuF#YJ9d&)@sH9T5;|4Ikm(?sZD!+;L7`EI#r`ys%C{Ij@eXAu7cjzTzbpbTX0}0b~{{1c|gWr+#}h zKxv*nt!Kz0XyRh!^J{-ZB|c9-*xv%M#)&Mr(~P6jgi-8XG89w1;T)cpUiV6RE%NZzoq} zn*d^Odho>U0>_Q_o^s2DzhGq5S}IvFu?ULheGdq5$*KYCWXiqq7UmqZ9|xRv3gV-0 z61bK~8Zu#Nn`9CkhG`A|c8VG^#3PA|#u%&h%&FfFk-2$7kHmKUyoG88wY1bI|eNhe$|ML#q_oLyXsmMF{7L4{2+W9jQp*uE%RH6X)Kb$x1hbQ=#p zF<6t)AffG4Se`bC`g=I+O|N6oXWqZnmGK7wVlTYe-tfI2UbOj&TkhD_7q#hUzdCR9 z!IgAth0{z3wV>kqjK||taOn>RSe-Oj>7;ZWxHm64ppvCku)aO89jZy#94wB5+k>!n*=l2pDrnqO0HA{ zQqf+$_LQ09zYX%pW9^ETPfLRoWZ@H~) zw3+S}!C0D*R6N9@+4Ow;^zEN>-dkrZO%S+*RB*k3AtF}W78`wd@w?v4^S<_J@l@~e z2{QQYAKKqva0$Z?+{J#Cc`UAVv1QfjKOEKg@#S{)Z|`J|TcHj(NrI2SN0B8lK~Q55 zL$j~Wi{E?_^;1uJ!VCNV?45U*B~_jNKPObUsnbkPU}hMSBqf7@3KEv2AR-3PWx;?f zyC!tq-Kx0+Q3@>FId;rb_3W-yc=Cy9YsV1{9cko~NFs zhwkcIRp+g5e&3*4CNqvS&I+aMBK|1oBi%!URKVh+u$e)mh7ET;(A)fvC4+U>J=B~; z+f6qid0d$HI!R{9sjYZu_Y>UlFYj~S0~-j&nk-|GhN}}QALa7kyj$&72$U6gCQt59 zJ42^0WWSfZVADQie?J`oqFhDR(cQ!k_59$|8Hl=|vNZymVd2fv`XY8^EtDI-W}V@W9y5|NOGK5Ml@?!26BKK%b4 z_Ji%U_rBDsRYqIu>G%3JqP_1Hdz_ffa-^8N)xjmuNocKH-`o9ckS@@-o$!}V2ZYQ^fT&1x6XTr|jzFF%@ReEmazodlaZ_xtX5XMZ03$9q^VD%dQ- zN=;kD#2X%^GJ4rf7q7YYWwYU2p!@B?GTL==1+>96`li+G0qcrLB`pAfY zjKD zyyPvLK^>c=WYrSMyefB?DJB=zIR4#dG4P=`J|@7;03`j`*WJ(G`BAp3TMisphH>MR zwIY!js-$R*ZTQQXtDpb!D1W>`St*pKi;MR#2wJ4H$XL;?v)fCLK^(dN!H;yFB+d{* z5K=}9jkIEBmRK;WFEOJ9QUFGw@G?iamEo?qdd8AC^$V=Uf(AC7bKGL zQ7VlN-c*As4wuC^Qan#Fxo$n~+B+VRiS4FeTt;68fmXyeA(_co8B!DtUy?1TvG-@* z{}(^p{NZ7==b@!fWTTl@6R!ZtTp{^cs{Ue(KedF71g^T_!#xQ61#5rd)uVR2LCML@ z;>B`6A{;?bA$2w%QLu)Rm3Y%_CeQyK8-9Nq3vetX#B|zph=?)7&Y*gkr&7uLSd+yA!XTRer@#VuDcysA7pw&Z3QhMjP&X;L3+j?Oy0QtJkx*+K*=~QQXS=a;2a{3Z)Wt-?95K zkAX~K*;49B44zM11nFH-N6*f&BBD^1QX*#{MlOJnMyrBTm|U^1o*sav&#P`W+#TJmBEJI#YM)+ds7Pz}jiH^2$t%Z6Lzp z>plz?4?$oYx*gMJ1snc&+rysZ&WkRm>;zf~T-5EZ*R*U0hamAK6D8Q?q!WJssGn%j z{Etkg9a3MSMY#yt3KsG?15>7u4a=m(6ycq8mQvQsWIfut?b55LqRFMmHhn1vLFy1u zN|P8TJT#iX!2%UfH5QR1bg~xHG;{vmQjI`+Bx!=NDH5N^WjXm@P+{7ojEI!-o;$Mr zYhM1%$K!gBJMZJ0e3?=|xPj%A7&MwD6LiQhHIGigVkmLwG-aOkSbg*D4||do*Zu*G zpxtgl8q+5N!XTtgOyGsovxw?5mLraO?!J%eGamBHcU2b*(~*`)bo+5;^X)UVE!_g5 z5(U?)!vjJf9iL?6YZvs&>JMk_zyB*Yb^l5#N);`En*k6D6)TIHMz`Q6(asS>hIuLk z3^7^P7r>+manwYR5riRDOQxvf3r#u9_sWCO6vw{lHHgFaIpyztzvN*DAC79YA#Si# z4r6g_Xiw7&U`nN=K6nWFTN&-!SKxkm(?<00?i;^xX5AP9Mrg2jrQvZbrxtz15voX@Je8O1pOjUoVKE8#a6UD`v#!^Vo2G9&_I zlHnsa3nCIISxFg?gg$tao8lqua=3mr7fXT1mv<1g$#;j zMXW;zRcL%m6pkRtSn=3f$F`_-^RKR8IIPg3iJ9|q*;Ig73?7QI3K0dnOjVbPA!tdx z)1aLtpajy>1StAMg+MFn?P*f$D2GEtp~r}gsqDC%-M;&|C(Yb~6rX#OxHC+MWQEK@ zDT}Bjxj{6Zq#Z|;{Q!@Qim}{r$z>bAk$!h2i>qaZQj3|KB&39*0)(`zX3Q!MJmy7z z85H06ja&WFx4SEr9O|xl(+80^+|5=hAW9>q1DGf~#zSc6Jd;&6P&1B71~pwGNpfLI zghL?kZOrq+d0ch!8+&fnoORDfzu>&dCZWyCdI@5)CJJ+X+`MH}B`HG$l#nD@io>U= zEMb2QAq4HXiAys)>Ctf=;w)xSEhnDNN+tf-87JL!8}@zg+kgLLx@Qt#V6UBsD;_Ny z(N7HzC~2Q8%P4yR)A0m8K2_i6zK6V-qlrmuvxRmBA6NLb3MT_n&u1b~EPT;14-bq> z|8V71&wHi2@x32r?azMAyftHNYZQyEqMTV=n&1j0p>7{m*VUR4>Wou_%SZBO-K_+> zW{mnD@93do&bt1)KW3>{p*221nKDTAxSY4E6=HxSzx$Yiek!g{6Bw8u^rNI=%68DI zL^Sw6u)*mWja9^zsZ>%~}@XQ^gQCh35w} z$rv*oQYlb=jR&(9a;qim|FV%h0+#>)AOJ~3K~&=quRi`sHxeoV7QgKb(JXlZurE*0 zw1a>VTIjHhh;43)GsA!$pk+FUG-W$Ez|H^rT>!>zzJ2R*YSBm}nhcq1aT61{gpM?< zkL!rz51qMicf}vy`RnKZqx;oIKgZIkl*I&8r9xs!Y=@W@84)3x`F@Qc%jXutEZ4bH z1wbMVu@*?F38Y3Nh+IO83>SJ-!hiwianl8t;C^(?77Y^j+dGfC@UvfLTfas*we%5? zG@HzJKW)0@$e*_*Rau^LpJ`OgWhs0#9v=0iNh3+9l!j1YmFYO9sbH;VdEuK+r}~~V zpOo{`Gq3h}d+f?umC?axI_lt~(N2;k1}_YViBW0Fa<9tdEqCC)^fMRV{UCi#tDkqi`{@~HeK@-MW|o_neFhi8R2|pupff`mMFo#CJ{oXI zhG%jGTd%NBvY^0Eq#%_L#}U|!e5gO8={m$FLs=NKilvd{`j4NxWoNEFbk4=wi89%` z4OFzI&kJdrDatcqW}CK*$miN4?ajM z#kaXjm5|ph;$pB#dy{S0Ni@!+uT>)_8x)A&MQXw80olc8(+Gf7&C-1}EjN2kyVJQm1&n%}Pl@tt#QsU4=NrpmG)qPB~ zBW@jEMZ9E~!_Rs>&-(lapVUknGXNQQ<4K~j+cSuTpiG50NpWa0Er?Awvdz53 ztQ)_VepSQD6kkic2r@d<^bo6~aTeAF7+txFL9a|!kVbq1XnnqT=glPgyc zc489Srd*m&hYX(*lhHI9L8yGHR*?bYGNtYbqMDEI`*;&=YKfe&8yOZWa<@x52z5Z3 zMI@xSG$)VKwrG=)65my**PHZL6qkPBWAnEda9nrS&bPk%6DR1^8%X1b`Q;i@%?4pm zrsnyqYOZA-1H_wA2@!KLiWzgr*_^<)5^W{Ie}S(B1c_CivV;+$X_%Y&g~V#i_jJL^=Q_pL8{WV)n? zp^$QfHXZr~`iWeNlJZEi7>g(<#sr?VR1k!Kvk56Ffs*tmmh_GXxb-D(a_+`^%TITJ zMBlmSj<2WOO*8=#O`R5E-XfCc?8pIcdG$BN z;Rl@p@W;bWbM32dWjM(g5@j~H1_?3q!hV|36k$Ow*B#Cc=Ab?UIznKiB6Co82DSA9 zb~*7VhCcQ0Pg|C`>Gyxh-Ez+PEN(l9BOI2Fm*Ipf;$CM# z7{FIKf37Z4DTC#O+}j?fvv3~!pZQ9>_rLBbchCQFuo$f%??dTJ99y5Mke0jRG!}oY{sB-m=$Zd{yRV7 zo`3()(=uqcpZJ!$@w{&nPp+nnAQP5YXZg5*$w>~{6IUi-(xlY9Mf8^j zF(%20-hzG_UWKdOB+-$3^W1NK?2@MCvDa_T|FfGY-g=Vow^>5$ zmzbiB1m=Z9j7^UdhE*~-OAD0e=G{hg_X3Aj5)Vhe@>wKHm~|uk>BpCG=iAPHT7krU z@%!$&FMSKWc0JoOOd7W_GQ$dx&gEo#fVR05QCAvZlfj5Y1R;&o(9A4hZ6OU2^80v< z`X0-9-Ur{zb1(gx5J&9ylx5t1*k;ayzxD}{%&Sqy&DcTY27%-xvLFKkX^+#y;W&+;G}k-MSzCik%yZJ}eQISlXN|Tev*m?PhscOT`1Q zVdeLKdcoa4ycD%+lqGo7(4?fqWEdr9I-qsIlkbou#fwE?3sIuKe#J`D z^h3;0KUsf?XB~SeLmz+h(<-)m#BqRqPkq&AhIUv^CM6oEl2c4}G_<{(E+(`PnEVE} zB}^%3%DfH46;{VXQ^KQ)q70NWL8lWF4_0~R%Z_!#Ur{xTFPO&SE1G8q|x$!Y$(sn}TLFtH=p(qRP|neg+Zbtc z_CrDp9u2Js_uYl%pFjIC-_X5Y_QJC!`+e5B4%Ny6l1@xT<<)*8W(ku`@fmXcJjsCH zN1p7plm`1yr66b2un`_Hi!#N)WQPYXy^2dd{#hnI_2s7oNbWx8o9^>_9_?0KbOp<; z&p-y_W2;dps=7ui>C8M}F%vCr+!Z~C@~v>Zy5Hp{*~+dm`K-EMq9h$HNtC4NX^wjH z>4>+!^l6(BeAElOe&3T_aMx=3W5aYZN(ZP7^wFN0qz|7#d_dAFQoMO8IBz}ac+jZ^ z)F-FdvAPHs!`!c_giIjP@UF2dg+Cpd@ zeMS%zN$D7vR?zWs^&`(hUkoJ#9+C)XXvI`X(VSOd-afmq*UOJbyyBQA-Gg@*-+0Hp z=YMbKJ1@T$H9p0#^eAU}&zkDGnanCjZ6vBxBu}K1GwyI!)QWv9s%TobSUS?;gvB=w zhe6?!37^SOGZA-~Ul}CcdLak?>BmoNQIF1jx3rKoTg)3AVmysmNrb=64($2PH*eC1-Tv4khJ)>v(5!}}+9xeI{X`)d zEQ*w+u%ckGAx;xrE?W?HiO0HEc(T7 z`gjB)By$;FSR&J!shZCLXZ#aS_w}d%5hooY_C4hUZkt|9b!dPRAev2v{0f~kVOqj8 z-NtE4j3W}zDQ0o{Qc0;}nYJ0LL&Je@ITdljb2jO%Blg>M?8Rrkp8M-#uwal53S}LY z)DdP5zleuYVQ7=lASEt@AeEzNofr67PDYmsm-u1o;vFj?vkw!ad&><`z)VyEa(W@%?YATgU!_pa-v&5$^n)q zV{$iHSwWi=8w9L(4f+S?lTOyrLNRc_ZiqL%g8R4KW$xU?LdXnFCZ6p<^8FMKsN|GH;dI8V;+Q&EhrvCQm)7-kNZ{it#jnc#< z0gjYBt(?i+a!3O>hcDDdL45b3MbU9OMMmrlfz$K_B?3HbW-!JPD@ofEjFOTrsIkp+ z_hrxHk4Bty)Dylj+z)=`)?al4w_WsWypaY$qeIQ+^_+|d507eCp&hkgll!S;5nJY6 zZVpGHa_iw6i*UK?+H@%uubdC_zo*!paY)GMG{T%2J$Ratj8)6+WS3&!*2M=KRoxi8sMORt0ew=}V zqNqD3lJjNBnS?>tdMI+&uh+(6&q2 zd7nL)xBE_%Uw6{uc1`Zbm%BB;{4IB1aV@O}*Ad1US<+;oKbQ+mM$@?fQLP`Fq>RKP zRH$w;^+Mikm`5EQO)hR}E!tUplP5Zi@<3}^aY{>jO!k#H^lhh8dDm;U2tmld>LTM0 zpXaXl;D57i;!$=vulh*Ikx5H6$%}@jcvY*Sv>jQ?o45JaB9Xn{3(;9klgaL_G{bz4*dzl3!T=W^*`V@>YKO9|Q|N)u$@ z;XFl*Wjc!JqzQgGB$-#^{?Jg`W(nKxv?I^hX-Br&e%mqefJ}L1XFG1Cmz+!OGW%IPKvG`dYR~jU`RAVHLxKBhZI`$9_{mB=%7`4>D`a*Ae`5WBWrPs4#9sM1oBHKE{{uR4~k&O7^Yzp2-p`fo0}>?#&b$5dJd-x(w(AM%op z)XxiI%0igsim7@AAh~N{h|om`S6+b^WJ+SS%t`5-D>M)d6&X^~9?CeZNr`}Z;FAU( zT5F7iBu$A-N@@+Z0G$v5Piul8AoP5UF+}YSNxMa#R>&+v3r*;0eBmKXhD$RnhJXMe z1lHxT6iOijg|Uz(5hc_nt3+v_Tx1+a!@PbJnC^(PB-i=!S;-WY?ViasZi?4EaMczi zCA>)&d*R+Ma0~CApxkUBrN~L#$lufz2NFq)WF*wATvp~~_gwje-PG?q>tMHZvcuqH zO0}I(Du@I+NIEKyBLIR-;#u(L07L*~6pEaQBf{oFlo~SONS#HgT!tZZl9Et(#zFxq zjYo_km$$bCafO_zK3E){=aE^9H5s<(hL%Va5+8>oqD(+0V9K?L$j~A{NKI-I0^y;A z%H188vxVTPJguGPu@qZBYQ( zBx1c|KJa!{4|+7KWlCX%hS|Wf!D0GDz%-*&L>Uv5S*;UZ`k(K9LNDN?&wui)l>;6R z*od~uyNxu0KK!CjEbqxO(vr$_QcFfAQjE-qOozd@}8br2$W2 zq{TP`1+7xqIm$^!Uu@~Kaz+_;QRz(5|ADB@)n* zd3#MP^Vyf~VdflGZ2bL0k5uGVt6eaI*zTN$1LZ8jr0o@bU-Hk7t}5?b={PGk{+W)3u@J@rNlVMT z@6Ad|napDVBatru_gLp(OpEh%M+-J<*E+#qb(ovSZ)I`+wybTeV^Ejr(`7`tkL#Li zS$yo_44?7xquD~&X3=|Z|DXRZ_W8#bb6Ye;+FvCiU{Xl#PN&%EMTaAfd;Z_-ty6l# zE5#xId@6r(P3pBO8!%{D#R@s2oGQut$m~OeKno4_ zpsT|t^TUYlIrF|Z>12`o$P*0?$VA>P-6rQN-rSMdX0ySLwOzQQen0d3mm-B`q*JFp z7~t=@6Z^j7UtS`fv+E^WDnK5W4Sdrp-{|iC_Qh;lnuj;g$6dC`$s@o0yO`v=-}GU3 z?Ki*AwpOzMg=;i(6;+YDE7Iiwv@WcQD_Z1X?$Fi7w`LYl#R!(j^%uI}5_1671>2)t zyqj}wH`m$}jh5QxdMMtUb7epx@-Es``syv+ojnyy|%B!xiqF z8X=V;pNBAc;W8Hm&1Vi37LA(`=IL(ku7cHEcc}}S{9FRx$h<+&&i<}+k8CZ}L%#3Y z3GF1>YNRbX*__4+nIDf3H#qX{<*uu^IZGjNi6x5-qscU*z9rjkA*X%yv*&H;;CS3D zNOxUw-05!Z>NULj<_rJs0o_fnd8-?__$r1cIt)e*T~wP*w{fvZ$ablhyA6%AZ*x&l z*vOeTiP#7Pa;7kMuOgr8!R7YdpjhV z$f2uT_p{j<*Uyn>-exUWVFB&z`P@U?wXT)f2tc?QmEgIb!=jkRQ5hU&tlgr#`*!U4 zsdt|t4tnN!J!m`u0C_U5`hWkQyWy+fWBR7sSWd{IpoE_!q^^ZP5+O;2z9U%$v*_=(Tstyss_!oy6D(uX1>AgET^(43-9i$Imp6`webaH$~_ zBCoz1Iiu%iP`M6<)L7Zw)NYQuBW3{7t(tFqqvf9g#0a2ZMVDQULSbj;>^B04+UR>V z$8j?_oG6GhiWv`M5*F2lh#F0%n4m^KrE-;K(q@C_vvznP`@iZHEc@tdMGp>JC_n(* z_4jW5>-T+V#rmsmU|X*QljAIreN5U>wqh}1wai4TPUK?zFd)OwjGBZx%&mcyg@sUs zMbJ2GUPYgq1uOiUuA8%QW(=H|1&A$Tko;%u41q%K0@@kk31+fy8w11^WdkidO)t$Gn-{4NflM}RQp^^DK2w;^1U(-tCnawV(#54JruAbTCc1G(jj|cML z-pIM2aC5fq+^=8?3MJuY-8C@-mW>mRwt!~0R^qx=#}%55%;6;~EYvzi8Bhy}q+?n+ znia(ck+8#o`?CK(pWYTPd|ssogC0OOwkAKl%6;cQ-p4ZQ6W_U#C0>;(5|?&RSVA-w zOOp;pczJ9ha`#DF@T{DnIPLafbpevQIcyYI=bK#?7C{!Q>hfV8!E8sDESev?Eiv69 zq7fqhZ;``5TZ?jThSn!2Qn#Wwi&q`wp5_Sk(4*e(6ECdsoR_|kZQuL0o=epO$X{L$ zy#2r2b?5((d6A)(I4Y5)>RdinOh!V6MUj#h=B&uAh;raN9+GwHX2doINY@ewH(Lu) z*o`#GHxA%uvsiYHB`^gz@``)zstITDvpjL_Wd109tBMvGMTTSw%XEKJ{ptn5AI9zZr9C>LLM$8W#z z^_|yVa}!%xk8(YsVl0DUiFVXvlyL%Tczq?JR-2m119pd-u`p&%i;A%pKlDhgq0{N$ zNkyev!e)*}vq7~|B}*+hhf)e*9X89|GA(me6l)xT&`2SOZ5t0oh=;`xqKQSuq_m8f zh}sTYGlF5?7aYl=&%USke0uqGUt*KNhMD2*on4Hr~<-vEFrZ_85LJ}xV z9Ji_JfKX_Xw8MZ`rk+j}@r(qaX}SzkE3;aq9DUBm5vRVO_iP`BrF*yF5#Agp93%kT zMK`bDw)?ie{OpghuF+ypYvQy{g^>APg_cdp#KwJEzR7#N6tJYcj5JMYMNK-WC`K@k~?(}swMsw|U|Q4uu=73(@9EH5o#q7#Ab zFm>H^y$AR>E!n#Tj{=lq_FB%td+)OB;Qbg?DOsq|sGLVCO@W65?sL+u0g`%q4AP8w z46sBjW{5#Ne0&1>7@|a(ph(VU4%(TaVGPsGQWuW8aFiD>BnmWC%Va1TaR-TqRgRWT z^SoGQ@C|HLoySkV@m+2?`(v*6^m+jK+kj;M?e5&+xWlOr1k^o?U#{Ze6up0+A&O@v_;*?n5uc0#e=L& zrdbnDlW0v-W>otJh-^lb#B8&0J0{Y}yluY`u}t-G+Yc^f?N`3t14%Ci`P;1vpMRoj zTz?DO8jppEBoKloNkNpCx1y+-3WvrZnI@uA8z%83tEMMuO9+SOVLi>%)D)#G56=C8 zKKi#>z~Is)3@jODXz>EP!G6T)FA@OJKcDSx{^hSx6AkRd6kApMSl3+1khhRhSfSHs z6jSX!Q4q31#Z1ntaM~9?)fO*2uvabb#UM}oI`pI$bMczBG)L-$NlNHaN_dDl6Mcq! zBsNyi^r5Z-j(GDwB0hBb?8|8N!<>8yc<_<`cCi0$tor#+sI;e;CmkZoSgIBhrx~N^ zI_8xY(&)5VG&rA;$#M1x2Us_faO(#?Uv^)=)QQuM?7a+oF4hyfN@t!TDoeH^2}4Y! zj8+vy!E7%I`qNYx675KIhLssYIDUKK&uE_gh0Stz#H(K{7CduDstXq4l`4!y6JYZ2 zeo1K&W1UHyfRV`!l<;Up>sV?O>#x6_TfX!y+_x|5xm!JeJn`#@)6XCdLPk0Th9L>?%eNg)+T-anQvgU)d3w4P(_LW2P8>C zAbcX1peg~X-@}&`>SmIi%kx=t?Qgi|{hz{}-vdc62KgJT^=F*zF8lH~*{M8$*I3VD z)lcfdbk=4%i%?QB6jacuBgiDy54k&;q`hbX`@P{cEO_@Bn|$BhJHOz5{PAa z9)A0SpE2=YU+YsPyPUiF4}X<5<(nO|DOB!)&DQwhst?KUN1s%kOU z`VBhE=kc5u9>vm6zT>eA8r^W`{7c^cfzj-WTNrkRA#Z>HsHfwU@Tdh98gUDQ!}9_X z>u8z?kd%WeCUdMYZTk1ylLP+swTROW@9l*iKpy|)uK2?{Z~4@hKK#H>uV5PyvaC|0 z)tI18ouP0Z+E=WYUPmT0mBAshIHMF>wzg%Y6^w|4=|D1-C5Wx&v){=tru4D5Jf`R3 zzH^DY{Qc(;-*rFzB4A11AZdLPNGRjeA;uvPLgTc=T9C#O2oK*$GO1Z_BeKN{*zOfa zGW?m|lwl7bPXtIVz4pqhKX~pz?dxx2QDW&wP^(l~-C9Ei1eF?@c65>$X#}AWRE;G- zVGyJ^JXsnc)@Qz z`neO_^>?zMk>U~IBQYhPSXok&kR@rZ#H&>|@-Pv`Yd}h6c zq%v#D;}bCXxx$liU6FjIBL-6R1TUwcU5 zPzX}(sLPDDi73f{Aj<&~x?J|mB8kzog=7LlE0je2CH&=!S-Su3>~QG*geT0lj<`#2 zxw7?*?;UjW&n_dFYOqL!_{NZn#OY$DewMtu3lfJU)|z@&XMr4I(c&dMFgC(%@d(@f z!y)Yb*4K}T7aTC$14wT@uIuj8-{)@o@(QOqLY~oN^-JC*LA^0O_sAb&bFM z9Cz!te@fq)DHh8BY?~=25CjYi%_BA$qxJO+Qv38VzZf z>NH6+Lm3ZhArF`aee;LtPbER4L%(rUGKWqxG?IjTpevO*KMI{KEb8y`NygM2F!Bsz5vK(6kK# zJmysgNSaLy(AIgJ0J+{r+2n$wHNQ$LjhS*0?SggJ!>1;FY$;$O5H!+=xG_zDWxlN7 zTZh09dOm5I7Az~WV0oOS)0WN>3W>`M0)f_=G|Pxc^S=_5$dt$W&NORWgPjjPh`rzS z=HH8>_S?4ykluRS)?KH++x_+%-)Ar~Y}+@47pK^G8V^C4FmI8cL-e4W%LPaaX7-E( zhs4tX+Ve13Mw%u>WK3gNP+deA1Vrr?SrU<$7)OS$f|<`?A4*i`asoSSN>vA>*3hs` zG$s1`2Z_>z4ec=&dJ9mV#;;bnzcI%Bw#6PN9Lcl(_0?yHgZ4SE2aw)+TvqbS%P;uN z7r$}B$c0z4bw~0HRmION9Wo4ELegB4*+^G_C7)8%))IDIA)C@BCPh*fA!V1-rPgWC zA*L#Z2>U8@k`A3XLKbeDEMkwG9lk5yV}Ujni&6oyT&9^sOvf!s_zd+8(wd&a0tpU3 ztdUki*0!eb77VcD(C4u0|NfWg0i?Gcx8=V0f9{5_eV?hD?_!}0&}oKeE!x=`PTfp8 zQk83>Yc0vz5gwKRiIhHx$Vjvz6h8ftql8aVgxJOxOeJkPB$T`m=fsRgV^=z%%ey6j zn$Gpu8)PKXk!pbu0+l(G5meAPXFzHa1(9=zAixT^$2VNJq>qEnJdNZ3<<+7GkluRS z*6L4w#ohd)U*O$(H$$zIz)3=>k=9{Mj0Lpz$g+$e2#`{eBoUdhNG*}dLl}$Ba)2nU zF*p)y$gCm5V94;9<7Uly+D_zS!a)JbNJ644smkZ-Z06qUtzviMkWT+i7_sndEZMU zp42EUaj7MBDS--zOhiP40761ax`a{+Yi-W4H3uMF-eAZ9q6=onJO;94${?`#27F@? zE~X}`beus}DvWfRjM+BJw%w7bZH9U7<=^SKSiSW(aJ?@7&8P3V{JOW?ec3fk-EuEO z5iBY7Q%Veh6?jr19i(YON}RK*C`HT0_?3WCsf5c6&1RD*?H~{YcpF)chiaBU9-G+W z{~4KUohWAs)0~|pD@eSD%fmFHgtii_uS(1TJ95-T-+9{apB_M-j9|Io8n^CemvPtC zH()4`Avo zWG6vJDP9yYC>?&5qNT!DI!^&dF~T~0rEzZK;la7q!-|}V-U^Gd;M-h?M*(Re*3%zU z*$_|D@yk5e54-;BE7|$|Z{1?{O%EVXIalnKPjk=xZ&`cSeZ&v0A-?5LWE;llG@1wp ze&LFFQW0p6G)^}D{W(uOPbb@%pxifkWnCaKg;?nXZCq)P)qRR%-t!hpZ#Zd-+A}?X zJkQ0nT-kY z=nJdFQD@erngbFCSm|&g%lU+hn8P4*RV}F*Ei1g|?8X7_ee)^ed3$V;^3XkiJe5Fk z<6Y(S=f7^<_`_e&ymKW(QlrRFHm|sMHQLo2xwl*t+Tr0Lq@rab+H~;n83_BZNla{G zJRKsXCQ3StVM(@K#?Vm*vfCFwv_)y|u=WhAwr6hN)Vo}pFzv<{pQY4nP z5MDN1MtYV%mtScfA-*ZSGe@3Zr3Ph{x_ z-n_-{j~+mtjF#ftm$D2w-p1HH55mYKVJpRNC8#uEK$QrUL|TK*QY0Axng9(-(lBYRzB|Wq z$l}2YAj2TgI4OypA#xc;3Y705J)iMLox%A_xUW9Ov;XNtmVD&{y*<$b$ln+U*WPi^ z4?h06E0+q7@ju+jP%7xG9--`e#5xx(2n>{jri{QhV3QO>LZCwohScPC!1Fvjspv#) zrkQ3?4$Y`r$vNQYHa=P$epsTNB}`;Zln&@0o=3-|tQ(!cFAZRqFXFHdyczNGf9UOp z9zgy+>+Uyv)LnM&SJ|VwfLfzTm5lieu#P$)@e7uCJ)>tUun1aokoXuWiEKn%5W&?- zHA;a`v(cCd&P8EC=4P$@Fk~ufkN{q-OfyRu?bPx7fbx>97~XwvcKyjYy?xLF$lrhc z;<+z%L!(WSdsecwuF*=z87MEnIEzSg7fN8rC)5=ViS&IsCM6RN=_|DMNz<54r$a=W zepSsahMSE;1hc7J;cLc|2566PppVI22bZ?+jTs^N8t;F77}H_7P{;Sh6GE7#Cnn}%P=mZECOnk3Q^Q5dZ@Y}$!9*S zkQf1V+o6B{Lh2aq8(T+p>0*w0`3VFsKK3ke@UEZfJ&_(jo?P+Bg*T7>^6XE{f8g31 z*mHO(OikdMm_U0-1U5<02qcb_n1B+gf{rgqJqe!5X?xl!Hja^j04z4O7;8~zO1cbE z6I+4ot8m}c1kqrX-H$np9bfs9G4X=EhkH+=2aqQ(NWO7}yY~F=amQu9sG=|qKj+*#bI0o)E1l68q#(p($ifz8p@oQ8 zWPhL{5Di+j=_>>+BZ`8Ez_qk#5kW*0ZQQtsB4`(ai&_Mujg52Xdgq>VPm7uF5bF7T zg!kd$@V;<fBQ<}O9f25>5b(Rx1t|D&R z{#`4`PLX8sy?OocDIKe89P8>KuGNUB(I*R}7^-QFz|E6rjW(^;5zo!yxn65uX@8Px z^_OTIJdAXyq!AS~nNo@T@Bm{AHxcs}EN3go4wU4@Tl3-m1B#msax{nVse0dsich2&)g6wcfp1d+E&lX94 zZ7|SPU~~N^5=Bo(AJynD#>t?y!fRIqxi~~5G|)5=ghI3B8O*^0^q(GK=-PS2^%=|6 z3bKnNS^8+cEiUn6d6`4xC^>nIR-_1;t{_rP41%ni1u3bgnlR%M2U*fW!07BW#Va!l zV!XU$r)dS*m5E=zGjAR}r@s%J+$tdykjbKYiw?vk##ajr|^LDx}fd$-ww1C#NRK+?uuAtRQ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rapport/organisation/plan-tests.adoc b/rapport/organisation/plan-tests.adoc new file mode 100644 index 0000000..b514ad9 --- /dev/null +++ b/rapport/organisation/plan-tests.adoc @@ -0,0 +1,23 @@ +=== Plans de test (PAN2+) + +Vous allez travailler sur chaque bloc de votre projet, et qu’il soit +informatique, électronique ou matériel, vous allez devoir faire du +test : + +* tester que le bloc que vous venez de finir fait ce qu’il faut ; +* tester que le bloc fonctionne avec les blocs en amont ou en aval dans +l’architecture ; +* tester que les performances sont acceptables… +* et plus globalement, tester que le projet « marche ». + +Vous allez devoir faire ce travail sur le prototype allégé, puis sur le +prototype final. C’est un travail dans le module « intégration et +tests ». + +Cette section rassemble les plans de test du proto allégé et du proto +final. C’est une liste des tests à effectuer, sous la forme, pour chaque +test : + +* situation/contexte +* action ou entrée à appliquer +* réaction ou sortie attendue. diff --git a/rapport/organisation/planification.adoc b/rapport/organisation/planification.adoc new file mode 100644 index 0000000..24c5232 --- /dev/null +++ b/rapport/organisation/planification.adoc @@ -0,0 +1,66 @@ +=== Planning Prévisionnel PACT + +==== Rappel des dates +Les dates importantes de PACT sont: + +* PAN1: 22/11/2022 +* PAN2: fin janvier 2023 +* PAN3: 04/04/2023 +* PAN4: 30/05/2023 + +Les deux tableaux ci-dessous doivent vous aider à évaluer votre avancement/retard dans le développement de votre projet. +Vous pouvez aussi vous aider de ces tableaux pour: + +* identifier les périodes de fortes charge de travail +* analyser les dépendances entre modules +* les retards bloquant pour l'avancée de l'ensemble du projet (ce n'est pas forcément le cas pour tous les modules) + +==== Planning Groupe + +Pour PAN1, remplissez dans ce tableau les dates prévues. Vous mettrez à jour les dates finales en cours d'année. + +[cols=",^,,",options="header",] +|==== +|Tâche | Responsable(s) | Quand Prévisionnel | Quand effectif +|Intégration Initale | bar |15/01/23| ... +|Intégration PAN3 finalisée | bar |15/01/23| ... +|Préparation / répétition PAN3 | bar |15/01/23| ... +|Démo PAN4 finalisée | bar |15/01/23| ... +|Préparation Poster PAN4 | bar |15/01/23| ... +|Présentation "Pitch" PAN4 | bar |15/01/23| ... +|Vidéo PAN4 | bar |15/01/23| ... +|==== + +Note: + +* l'intégration initiale correspond à l'étape où tous les modules communiquent ensemble même si les informations échangées sont fausses ou incomplètes. Pour rappel vous aurez trois journées complètes la semaine du 20/03 pour finaliser l'intégration +* Le poster PAN4 devra être envoyé au plus tard le 18 mai 2023 +* Le support de présentation PAN4 devra être envoyé pour le 26/05/2023 +* La vidéo est une vidéo promotionnelle de 2 minutes maximum, et devra être envoyée pour le 26/05/2023 + +Vous mettrez par ailleurs à jour l'annexe "avancement" avec les compte-rendus de vos réunions de groupe. + + +==== Planning Modules + +Nous vous demandons de prévoir les dates des étapes de développement de vos modules. +Pour PAN1, vous remplirez les dates prévues. Vous mettrez à jour les dates finales en cours d'année. + +* Travail Initial: bibliographie sur le module +* Version initiale: le module tourne en mode isolé +* Version intégrable: le module est prêt à être intégré, il manquera vraisemblablement des fonctionnalités. Cela correspond à une version "squelette" du projet. +* Version intégrée: le module est complet et intégré + + +[cols=",^,^,,,",options="header",] +|==== +|Module | Responsables | Travail Initial | Version initiale | Version intégrable | Version intégrée +|Foo | bar | prévu: 31/12/22 fait:... | prévu: 15/01/23 fait:... | prévu: 27/02/23 fait:... | prévu: 10/03/23 fait:... +|Foo2 | bar2 | prévu: 31/12/22 fait:... | prévu: 15/01/23 fait:... | prévu: 27/02/23 fait:... | prévu: 10/03/23 fait:... +|... | bar3 | prévu: 31/12/22 fait:... | prévu: 15/01/23 fait:... | prévu: 27/02/23 fait:... | prévu: 10/03/23 fait:... +|==== + + +Vous mettrez par ailleurs à jour les annexes de vos modules - cf le modèle d'annexe. + + diff --git a/rapport/pdf-theme.yml b/rapport/pdf-theme.yml new file mode 100644 index 0000000..4037da8 --- /dev/null +++ b/rapport/pdf-theme.yml @@ -0,0 +1,21 @@ +extends: +- default-with-font-fallbacks +- default-sans + +page: + size: A4 + margin: 2.5cm +title-page: + background-image: image:images/pact.svg[] + logo: + image: image:images/pact.svg[] + top: 0% + title: + font-size: 32 + font-style: bold + font-color: #000000 + sub-title: + font-size: 24 + authors: + font-size: 22 + diff --git a/rapport/proposition/etat-de-l-art.adoc b/rapport/proposition/etat-de-l-art.adoc new file mode 100644 index 0000000..83935de --- /dev/null +++ b/rapport/proposition/etat-de-l-art.adoc @@ -0,0 +1,41 @@ +=== Description de l’état de l’art +ifdef::env-gitlab,env-browser[:outfilesuffix: .adoc] + +*_Note : 1 page max._* + +Décrivez, en les citant via la bibliographie, les approches/produits +ressemblant à votre projet et les différences éventuelles. Illustrez +avec des images si besoin. Utilisez des renvois vers votre +bibliographie : « comme démontré dans [2], … » + +==== XXX + +Et magnis dis parturient montes, nascetur ridiculus mus. + +Aenean risus dui, volutpat non, posuere vitae, sollicitudin in, urna. +Nam eget eros a enim pulvinar rhoncus. Cum sociis natoque penatibus et +magnis dis parturient montes, nascetur ridiculus mus. Nulla facilisis +massa ut massa. Sed nisi purus, malesuada eu, porta vulputate, suscipit +auctor, nunc. + +==== ZZZ + +Et magnis dis parturient montes, nascetur ridiculus mus. + +Aenean risus dui, volutpat non, posuere vitae, sollicitudin in, urna. +Nam eget eros a enim pulvinar rhoncus. Cum sociis natoque penatibus et +magnis dis parturient montes, nascetur ridiculus mus. Nulla facilisis +massa ut massa. Sed nisi purus, malesuada eu, porta vulputate, suscipit +auctor, nunc. + +==== Exemples de citations + +Les références bibliographiques sont regroupées dans le fichier `References.adoc` +à la racine du répertoire `rapport`. +On peut y faire référence dans toutes les sous parties du document. + +On peut citer comme exemple l'article de Claude E. Shannon sur la +théorie de la communication <> +ou, bien évidement, la vitrine des projets PACT <>. + +Voir <> très intéressante elle aussi. diff --git a/rapport/proposition/proposition.adoc b/rapport/proposition/proposition.adoc new file mode 100644 index 0000000..8741809 --- /dev/null +++ b/rapport/proposition/proposition.adoc @@ -0,0 +1,122 @@ +=== Description de la proposition +*_Note: 2 page max._* + +_Décrire de façon détaillée votre projet : motivations de base/problèmes +constatés avant élaboration du projet, comment votre projet répond à ces +besoins. Ajouter une image ou une figure pour montrer à quoi cela +ressemble si besoin._ + +Amet, tellus. Maecenas a dolor. Praesent tempor, felis eget gravida +blandit, urna lacus faucibus velit, in consectetuer sapien erat nec +quam. Integer bibendum odio sit amet neque. Integer imperdiet rhoncus +mi. Pellentesque malesuada purus id purus. Quisque viverra porta lectus. +Sed lacus leo, feugiat at, consectetuer eu, luctus quis, risus. +Suspendisse faucibus orci et nunc. Nullam vehicula fermentum risus. +Fusce felis nibh, dignissim vulputate, ultrices quis, lobortis et, arcu. +Duis aliquam libero non diam. + +Vestibulum placerat tincidunt tortor. Ut vehicula ligula quis lectus. In +eget velit. Quisque vel risus. Mauris pede. Nullam ornare sapien sit +amet nisl. Cras tortor. Donec tortor lorem. + + + +=== Exemples d'utilisation d'AsciiDoc + +_Ici quelques exemples de syntaxe AsciiDoc pour ajouter des équations, des images, des listes..._ + +_Ces exemples *ne doivent pas* être conservés dans la version finale du rapport._ + +==== Exemples d'équations + +* Inline math: latexmath:[\int_{-\infty}^\infty g(x) dx] +Pour ajouter une équation ou un symbole mathématique dans le corps du texte. + +* Block math pour avoir une équation centrée au milieu de la page: + +[latexmath] +++++ +\int_{-\infty}^\infty g(x) dx +++++ + + + +==== Exemples d'images + +* Ceci est un exemple d'image: + +image::../images/logo_PACT.png[logo pact] + +* L'image peut être redimensionnée et avoir un titre: + +.Le logo du projet +image::../images/logo_PACT.png[logo pact, 400, 400] + +* Pour le rapport, les images peuvent être aux formats jpeg, png ou même *svg*: + +image::../images/pact.svg[un autre logo pact,300,300] + +* Les images peuvent aussi être mises dans le corps du texte par exemple image:../images/logo_PACT.png[logo pact, 50,50]. + +==== Exemples de code + +On peut ajouter des blocs de code formatés en précisant le langage utilisé: + +[source,python] +---- +def func(i): + x = 3 + i + return x + +for i in range(10): + print "---> ", func(i) +---- + + +[source,java] +---- +class foo { + Integer i; + String s; +} +---- + + +==== Exemples de listes + +* AAAA +** aaaaa +*** axaxax +** bbbbb +** ccccc +* BBBB +* CCCC + +''''' + +. AAAA +.. aaaa +.. bbbb +. BBBB +. CCCC + +''''' + +.Liste des tâches à faire: +* [ ] Pas encore fait +** [ ] étape X +** [x] étape Y (a démarré en avance) +** [ ] étape Z +* [x] Complètement finit +** [x] étape Q +** [x] étape R +** [x] étape `finale` E=mc^2^ + +''''' + +.Liste descriptive: + +Étape 1::: Faire A, B, C… +Étape 2::: Faire X, Y, Z… +Étape 3::: Faire W, et c'est fini… + diff --git a/rapport/scenario/scenario.adoc b/rapport/scenario/scenario.adoc new file mode 100644 index 0000000..3346782 --- /dev/null +++ b/rapport/scenario/scenario.adoc @@ -0,0 +1,27 @@ +=== Scénarios d’usage + +Mettre ici le scénario d’usage que vous avez construit lors des séances +encadrées par les experts SES. Vous pouvez mettre un scénario amélioré +(et non celui noté) si vous jugez votre scénario insuffisant pour faire +comprendre au jury PACT les différentes étapes d’utilisation de votre +produit/service ou si vous avez changé d’idées entre-temps. + +==== XX + +Nulla. Curabitur aliquet leo ac massa. Praesent posuere lectus vitae +odio. Donec imperdiet urna vel ante. In semper accumsan diam. Vestibulum +porta justo. Suspendisse egestas commodo eros. + +Suspendisse tincidunt mi vel metus. Vivamus non urna in nisi gravida +congue. Aenean semper orci a eros. Praesent dictum. Maecenas pharetra +odio ut dui. Pellentesque. + +==== YY + +Ac mauris. + +Duis velit magna, scelerisque vitae, varius ut, aliquam vel, justo. +Proin ac augue. Nullam auctor lectus vitae arcu. Vestibulum porta justo +placerat purus. Ut sem nunc, vestibulum nec, sodales vitae, vehicula +eget, ipsum. Sed nec tortor. Aenean malesuada. Nunc convallis, massa eu +vestibulum commodo, quam mauris interdum arcu, at pellentesque.