From 7f1a5430fb5c7dace67df7fbb4239d491842fee7 Mon Sep 17 00:00:00 2001 From: Jean-Marie Mineau Date: Sat, 20 Sep 2025 21:08:32 +0200 Subject: [PATCH] notes --- 0_preamble/french_summary.typ | 6 +- 2_background/0_intro.typ | 21 + 5_theseus/1_introduction.typ | 2 + 5_theseus/figs/comparision-of-exit-status.svg | 1867 +++++++++-------- main.typ | 4 +- 5 files changed, 1056 insertions(+), 844 deletions(-) diff --git a/0_preamble/french_summary.typ b/0_preamble/french_summary.typ index d07c6f3..fdbcaba 100644 --- a/0_preamble/french_summary.typ +++ b/0_preamble/french_summary.typ @@ -5,7 +5,7 @@ #show figure.where(kind: raw): set figure(supplement: [Code]) #let mp = text(font: "libertinus serif", sym.dot.c) -= Résumé en Français += Résumé Substantiel en Français #epigraph("Ellana Caldin, Le Pacte des Marchombres, Tome 1: Ellana, de Pierre Bottero")[Il y a deux réponses à cette question, comme à toutes les questions : celle du savant et celle du poète.] @@ -51,6 +51,10 @@ Il n'existe pas de solution standard pour transmettre ces données aux outils d' Certaines contributions d'ingénierie inverse ont déjà proposé d'instrumenter (modifier) l'application pour y ajouter les résultats de leur analyse avant de l'analyser avec d'autres outils. Cette approche prometteuse motive notre troisième problématique: #pb3-text-fr + +#todo[Expliquer que la suite est un résumé francais des chapitres] +#todo[Bouger le résumé a la fin fr à la fin?] + #[ == Evaluation de la réutilisabilité des outils d'analyse statique pour Android diff --git a/2_background/0_intro.typ b/2_background/0_intro.typ index 2e5a39b..817475d 100644 --- a/2_background/0_intro.typ +++ b/2_background/0_intro.typ @@ -26,3 +26,24 @@ Some tools however encode their result in the form of a new augmented Android ap The idea beeing that any Android analysis tools must be able to handle an Android application in the first place, so it will have access to those new information. In this section, explore in more details those different aspects of Android reverse engineering. + +#todo[Plan d'annonce] +#todo[Petit intro back platform classes, séparé de soa] +#todo[Petit intro class loading séparé de soa] +#todo[Bien séparer background et st-o-a] +#todo[bien dédier des sections/sous section aux 3 problemes] +#todo[synthese a la fin de chaque section soa des problemes] +#todo[Problematique avant soa] + + +#todo[ + plan: + + - 2.1 intro + - 2.2 bases d'Android et RE (completer un peu pour souligner les besoins qui menes au pbs) + - 2.3 Problématiques du RE (reprendre l'intro avec ce qui a été dit dans 2.2) + apktool et androguard sont réutilisé, ca fait supposé qu'il y a peut être un peu de réutilisation + on peut charger des classes, et dans le code d'android, on vois qu'en fait le classes loading est beaucoup plus important que ca + c'est connus que cl + statique + ref = nono, tout les outils présentes leurs solutions d'une certaine facons + - 2.4 State of the Art +] diff --git a/5_theseus/1_introduction.typ b/5_theseus/1_introduction.typ index 49ee7db..7653035 100644 --- a/5_theseus/1_introduction.typ +++ b/5_theseus/1_introduction.typ @@ -11,3 +11,5 @@ L'interet de patcher une app est qu'ensuite on peut donner cette APK a un outils d'analyse, cf @sec:rasta. Dans ce chapitre, on va donc presenter... ] + +#todo[Section méthodologie avec le schemat] diff --git a/5_theseus/figs/comparision-of-exit-status.svg b/5_theseus/figs/comparision-of-exit-status.svg index 8c7e228..eb5bdb8 100644 --- a/5_theseus/figs/comparision-of-exit-status.svg +++ b/5_theseus/figs/comparision-of-exit-status.svg @@ -1,12 +1,12 @@ - + - 2025-09-15T14:26:24.417367 + 2025-09-19T11:13:03.046367 image/svg+xml @@ -21,1061 +21,1189 @@ - - - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - +" clip-path="url(#pba1b9b9588)" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - + - + - + - + - + - + - + @@ -1340,19 +1468,19 @@ z - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + - + - - + + - + - + - + @@ -1705,22 +1861,22 @@ z - - + + - + - - + + - + - + - + - + + - + - - + + - + - + - + - + + - + - - + + - + - + - + - + + - + - - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -1878,22 +2077,22 @@ z - - + + - + - - + + - + - + - + @@ -1907,22 +2106,22 @@ z - - + + - + - - + + - + - + - + - + + - + - - + + - + - + - + @@ -1973,29 +2172,29 @@ z - - + + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + - + - @@ -2334,51 +2519,51 @@ z - - + - - + - - + - - + - - + - - + +" style="fill: url(#h1ea2640c78); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - + - + - - + +" style="fill: url(#h8ef8a7b23f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - + - + - - + +" style="fill: url(#hcfbdcec72f); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - + - + @@ -2496,17 +2681,17 @@ z - - + +" style="fill: url(#hf4b4446476); stroke: #000000; stroke-width: 1.5; stroke-linejoin: miter"/> - + - + @@ -2519,12 +2704,12 @@ z - - + + - + - + - + - +