From 21cff729a41e689140f927391b924df6127ea99f Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Thu, 21 Mar 2024 11:53:54 +0100 Subject: [PATCH] fix PRDFlow (doc) --- doc/PRD-PCD-Specs.md | 110 ++++++------------------- doc/diagrams/.$PRDListFlows.drawio.bkp | 80 +++++++++--------- doc/diagrams/PRDListFlows.drawio | 34 ++++---- doc/diagrams/PRDListFlows.png | Bin 107018 -> 106935 bytes 4 files changed, 80 insertions(+), 144 deletions(-) diff --git a/doc/PRD-PCD-Specs.md b/doc/PRD-PCD-Specs.md index 463693f..4b1c210 100644 --- a/doc/PRD-PCD-Specs.md +++ b/doc/PRD-PCD-Specs.md @@ -18,7 +18,7 @@ * 8.2. [Fonctionnalités optionnelles](#Fonctionnalitsoptionnelles) * 8.3. [Création et envoi](#Crationetenvoi-1) * 8.4. [Réception](#Rception-1) -* 9. [RequestPrdList - Demande de Listes ( RequestPcd)](#RequestPrdList-DemandedeListesRequestPcd) +* 9. [RequestPrdList - Demande de Listes ](#RequestPrdList-DemandedeListesRequestPcd) * 9.1. [Schéma des flux](#Schmadesflux-1) * 9.2. [Création : Datas spécifiques](#Cration:Datasspcifiques) * 9.3. [Réception : Datas spécifiques](#Rception:Datasspcifiques) @@ -64,7 +64,7 @@ Voir [_Doc_references.md](_Doc_references.md). * `RequestPrdMessage`: Envoi de messages publics, confidentiels ou privés et/ou de transactions Silent Payments des autres `RequestPrd` à diffuser sur le réseau des nœuds de la side chain. Les `RequestPrdMessage` peuvent répondre les uns aux autres. * `RequestPrdUpdate`: Demande de mise à jour d'une liste d'`Item` (publiée via un `RequestPCD`), qui sera déchiffrée et validée ou non par des `RequestPrdResponse` en retour. * `RequestPrdConfirm`: Confirmation de la réception des `RequestPrd` (à l'exception de `RequestPrdConfirm` eux-même). - * `RequestPrdResponse`: Réponse aux autres types de `RequestPrd` (à l'exception de `RequestPrdConfirm`, `RequestPrdResponse` et `RequestPrdMessage`). + * `RequestPrdResponse`: Réponse aux autres types de `RequestPrd` (à l'exception de `RequestPrdConfirm`, et `RequestPrdMessage`). * **Message**: Enveloppe commune pour les `RequestPrd` et `RequestPcd` lors de leur transmission aux relais et de leur réception depuis les relais. Dans cette enveloppe les `RequestPrd` et `RequestPcd` sont chiffrés par la `ProcessKey` de l'`ItemProcess` (cf. [Specs-Definition](SpecsDefinition.md)) et ajoutés au champs `RequestEnc`. @@ -90,7 +90,7 @@ Les `RequestPrd` sont des demandes d'actions ou des réponses à ces demandes, i * Envoi de message, pouvant initier un échange de messagerie ou répondre à un autre `RequestPrdMessage`. * `RequestPrdUpdate` : Souvent la première requête d'un workflow, un `RequestPrdUpdate` ne répond pas à un autre `RequestPrd`. * `RequestPrdConfirm` : Répond à tous les autres types de `RequestPrd` (à l'exception des `RequestPrdConfirm` eux-mêmes). -* `RequestPrdResponse` : Répond à tous les autres types de `RequestPrd` (à l'exception des `RequestPrdConfirm`, `RequestPrdMessage` et `RequestPrdResponse` eux-mêmes). Dans le cas d'une réponse à un `RequestPrdList` ou d'un `RequestPrdUpdate`, le `RequestPrdResponse` doit obligatoirement être accompagné d'un `RequestPcd`. +* `RequestPrdResponse` : Répond à tous les autres types de `RequestPrd` (à l'exception des `RequestPrdConfirm`, `RequestPrdResponse` eux-mêmes). Dans le cas d'une réponse à un `RequestPrdList` ou d'un `RequestPrdUpdate`, le `RequestPrdResponse` doit obligatoirement être accompagné d'un `RequestPcd`. Selon le type de `RequestPrd`, les demandes peuvent s'adresser à tous les membres de l'`ItemProcess`, aux gestionnaires du type d'`Item` concerné ou simplement à l'émetteur, selon : @@ -128,7 +128,7 @@ Ce qui est résumé pour l'envoi : Les traitements pour la réception des `RequestPrd` varient selon leur type, principalement autour des aspects suivants : * **Notification user** : Nécessité de notifier l'utilisateur courant, ou non. -* **`RequestPrdConfirm` to send**: Envoi d'une confirmaiton, ou non +* **`RequestPrdConfirm` to send**: Envoi d'une confirmation, ou non * **`RequestPrdResponse` to send**: Envoi d'un `RequestPrdResponse` ou non. * **`RequestPrdResponse` reply waiting**: Attente d'un `RequestPrdResponse` en retour ou non. * **`RequestPrdConfirm` reply waiting (from `RequestPrdResponse` send )**: Attente d'un `RequestPrdConfirm` en retour ou non. @@ -138,10 +138,10 @@ Ce qui est résumé Pour la réception : | `request_type` | Notification user | `RequestPrdConfirm` to send | `RequestPcd` to send | `RequestPrdResponse` to send | `RequestPrdResponse` reply waiting | `RequestPrdConfirm` reply waiting (from `RequestPrdResponse` send ) | |----------------------|-----------------------------------|------------------------------|----------------------|-----------------------------------------------------------------|------------------------------------|---------------------------------------------------------------------| | `RequestPrdList` | No | Yes | Yes | all the members of the `item_name` `Role` into to `ItemProcess` | No | Yes | -| `RequestPrdUpdate` | Info | Yes | No | all the members of all `Role` into to `ItemProcess` | Yes (other members) | Yes | +| `RequestPrdUpdate` | RequestPrd | Yes | No | all the members of all `Role` into to `ItemProcess` | Yes (other members) | Yes | | `RequestPrdMessage` | Waiting `RequestPrdMessage` reply | if no `raw_transaction_list` | No | No | No | No | -| `RequestPrdResponse` | Info | Yes | No | No | No | No | -| `RequestPrdConfirm` | Info | No | No | No | No | No | +| `RequestPrdResponse` | RequestPrd | Yes | No | No | No | No | +| `RequestPrdConfirm` | RequestPrd | No | No | No | No | No | ## 6. Encryption @@ -171,34 +171,6 @@ Principaux champs des `Request` contenus dans les `RequestPcd` et `RequestPrd` c * **`request_prd_origin_hash`** : Hash du `RequestPrd` à l'origine du `RequestPrd`. * **`item_reference_hash`** : Hash de l'`Item` auquel le `RequestPcd` fait référence. -### 6.1. Création et envoi - -Les `RequestPcd` et les `RequestPrd` sont envoyés sous forme de messages (`JSON`) via les `websockets` des relais. - -Ces `Message` contiennent soit des `RequestPrd`, soit des `RequestPcd`, encapsulés dans l'attribut `request_enc`, lequel est chiffré à l'aide de la clé `ProcessKey` de l'`ItemProcess` concerné. - -Les `RequestPrd` et `RequestPcd` sont au format JSON. Voir [Specs-Datamodel.md](Specs-Datamodel.md). - -**Création du message et envoi**: voir [Message-SP-Specs.md](Message-SP-Specs.md). - -### 6.2. Réception - -Les `RequestPcd` et `RequestPrd` sont reçus sous forme de messages (`JSON`) via les `websockets` des relais. - -Ces messages contiennent des `RequestPrd` ou des `RequestPcd` encapsulés dans l'attribut `request_enc`, lequel est chiffré avec la clé `ProcessKey` de l'`ItemProcess` concerné. - -À la réception des `Message`, ceux-ci sont déchiffrés puis conservés ou non, selon le `process_hash` du `RequestPcd` ou du `RequestPrd` (dans l'attribut `request`). Si le `process_hash` n'est pas reconnu, le message est ignoré. - -Les types `RequestPrd` et `RequestPcd` sont distingués par l'attribut `request_type` dans le `Message`. - -En cas de `RequestPcd` ou `RequestPrd` liés via `RequestPcd_reference_hash`, `request_prd_reference_hash`, `RequestPcd_origin_hash`, `request_prd_origin_hash` ou `item_reference_hash` (dans des `RequestPcd`), il est nécessaire d'avoir reçu ou d'attendre ces documents pour traiter le message. - -Les `RequestPrd` et `RequestPcd` sont au format JSON. Voir [Specs-Datamodel.md](Specs-Datamodel.md). - - **Réception du message**: voir [Message-SP-Specs.md](Message-SP-Specs.md). - -Pour les `RequestPcd` et `RequestPrd`, il est nécessaire de vérifier si le hash du document est déjà enregistré ; si tel est le cas, le message est ignoré. - ## 7. Fonction des RequestPcd Les Portable Contract Documents (`RequestPcd`) sont des documents au format `JSON` encapsulant des listes versionnées d'`Item`, dont les attributs sont chiffsrés selon trois niveaux de confidentialité : public, par rôles spécifiques, ou privé. (cf. [Specs-Security.md](Specs-Security.md)). @@ -208,7 +180,7 @@ Les `Item` échangés via les `RequestPcd` sont soumis à une vérification par Principaux champs des `RequestPcd` : * **`request`** : cf la descripton de la structure `Request`. -* **`item_enc_list`** : Les `Item` chiffrés par une clé symétrique générée à la volée pour chaque champ et pour chaque item d'une liste. +* **`item_enc_list`** : Les `Item` chiffrés sous forme `RequestPcdItemGenericEnc` par une clé symétrique générée à la volée pour chaque champ et pour chaque item d'une liste. * **`pagination`** : La pagination de la liste des `Item`. Principaux champs de la structure `Pagination` : @@ -260,18 +232,15 @@ La création d'un `RequestPcd` suit plusieurs étapes : 2. Ajouts et modifications éventuelles des `Item`. 3. Chiffrement des attributs de chaque `Item` selon les règles de confidentialité et de partage des clés (cf. [Specs-Security.md](Specs-Security.md)). 4. Chiffrement du `RequestPcd` avec la clé `ProcessKey` du `ItemProcess` concerné. -5. Traitements communs aux `RequestPcd` et `RequestPrd`. ### 7.3. Réception La réception d'un `RequestPcd` suit plusieurs étapes : -1. Traitements communs aux `RequestPcd` et `RequestPrd`. 2. Recherche des `RequestPrd` en relation via `RequestPcd_reference_hash` et `RequestPcd_origin_hash` de ces `RequestPrd`, et attente si nécessaire. 3. Déchiffrage des attributs publics des `Item` des `RequestPcd` avec la `ProcessKey` du `ItemProcess` concerné. 4. Déchiffrage des attributs confidentiels des `Item` des `RequestPcd` avec les clés de déchiffrement fournies par l'attribut `RequestPcd_keys_role_confidential_list_enc_by_shared_secret` des `RequestPrd`. 5. Déchiffrage des attributs privés des `Item` des `RequestPcd` avec la clé privée `KeyRecover`. -6. Mise à jour du cache pour le traitement des `RequestPrd`. ## 8. Fonction des`RequestPrd` @@ -281,7 +250,7 @@ Les clés permettant le chiffrement des attributs confidentiels par rôles des ` Les `RequestPrd` se déclinent en plusieurs types, tels que `RequestPrdList`, `RequestPrdMessage`, `RequestPrdUpdate`, etc., correspondant à différentes actions comme l'envoi de messages, la mise à jour des informations contractuelles, ou la confirmation de transactions. -Principaux champs des `RequestPcd` : +Principaux champs des `RequestPrd` : * **`request`** : cf la descripton de la structure `Request`. * **`sig_value`** : Valeur de la signature (parmi les valeurs valant pour `OK`, `KO` ou `none` telles que définies dans l'`ItemProcess`). @@ -315,65 +284,32 @@ Pour simplifier, les `RequestPrdConfirm` n'ont pas été inclus dans le schéma. ![RequestPrd](diagrams/PRD.png "RequestPrd") -### 8.2. Fonctionnalités optionnelles - -L'attribut `sig_value` permet d'attribuer une valeur aux signatures. Les valeurs des signatures sont définies par rôles dans les `ItemProcess`, avec des valeurs pouvant être `OK`, `KO` ou `none` pour les validations des `RequestPrd`. - -Lorsque la réponse fait référence à un `RequestPcd`, cela est précisé dans `RequestPcd_reference_hash`; de même pour les `RequestPrd` avec `request_prd_reference_hash`. - -Lorsque la réponse fait suite directement à un `RequestPcd`, cela est indiqué dans `RequestPcd_origin_hash`; idem pour les `RequestPrd` avec `request_prd_origin_hash`. - -Les `RequestPrdResponse` signalent de façon confidentielle : - -* soit des conditions ad hoc déjà remplies via les attributs `payment_method_enc_by_shared_secret`, `deposit_method_enc_by_shared_secret`, `commitment_method_enc_by_shared_secret`, `commitment_request_pcd_hash_list` pour les paiements et les preuves ad hoc éventuellement associées aux `RequestPcd` de la nouvelle version. -* soit des appels à recevoir les moyens de satisfaire ces conditions via les attributs `ask_payment_method_enc_by_shared_secret`, `ask_deposit_method_enc_by_shared_secret`, `ask_commitment_method_enc_by_shared_secret`. - -Les `Item` associés sont référencés dans des `RequestPcd` identifiés par `payment_request_pcd_hash_list_enc_by_shared_secret`, `cap_request_pcd_hash_list_enc_by_shared_secret` (dans le cas de paiements temporaires en attente du passage d'un cap), `deposit_request_pcd_hash_list_enc_by_shared_secret` et `commitment_request_pcd_hash_list_enc_by_shared_secret`. - -Des champs de messages peuvent accompagner les `RequestPrd` via `message_public`, `message_confidential`, `message_private`. - -Il est également possible de partager des clés de chiffrement ad hoc via `certif_key_enc_by_shared_secret`. - -En plus des horodatages automatiques, il est possible de déclarer un timestamp dans `timestamp_declared`, qui ne sera pas pris en compte dans le traitement mais sera ainsi tracé dans les éléments de preuve. - -Les adresses et les rôles sont précisés en cas d'utilisateurs ayant plusieurs rôles dans les `ItemProcess` et pour préciser les adresses de réponse en cas d'utilisation sur plusieurs dispositifs. - -Tous les échanges sont complétés par l'empreinte du dispositif de l'émetteur, envoyée de façon confidentielle via `device_footprint_enc_by_shared_secret`. - ### 8.3. Création et envoi La création d'un `RequestPrd` suit plusieurs étapes : 1. Récupération des clés de chiffrement confidentiel des attributs des items d'un `RequestPcd`. -2. Chiffrement du `RequestPrd` avec la clé `ProcessKey` du `ItemProcess` concerné. -3. Création d'une `adresse SP` pour le partage de la `KeyConfidential` et pour l'horodatage du hash du `RequestPrd` dans la side chain. -4. Création du `message` contenant le `RequestPrd` chiffré, la preuve de travail, et l'adresse du faucet. -5. Sélection de 4 relais pour le message selon l'historique des pings et des réponses obtenues. -6. Sélection de 4 noeuds de signet pour l'envoi de la `transaction SP`. -7. Chiffrement des données confidentielles du `RequestPrd` avec la `KeyConfidential` de la `transaction SP`. -8. Envoi du message aux relais. -9. Envoi de la transaction aux noeuds de signet à travers un `RequestPrdMessage` pour la publication de la `transaction SP` avec le hash du `RequestPrd` dans l'attribut `request_prd_reference_hash`. -10. Mise à jour du cache avec les nouveaux `RequestPrd` envoyés (sans mise en cache du `RequestPrdMessage`). +2. Création d'une `adresse SP` pour le partage de la `KeyConfidential` et pour l'horodatage du hash du `RequestPrd` dans un output de la transaction +3. Chiffrement des clés confidentielles avec la `KeyConfidential`. +4. Créer `RequestPrdMessage` pour la publication de la `transaction SP` Voir [Silent-Payment-Specs.md](Silent-Payment-Specs.md). ### 8.4. Réception -La réception d'un `RequestPcd` suit plusieurs étapes : +La réception d'un `RequestPrd` suit plusieurs étapes : -1. Traitements communs aux `RequestPcd` et `RequestPrd`. -2. Recherche des `RequestPcd` en relation via `RequestPcd_reference_hash` et `RequestPcd_origin_hash`, attente si nécessaire et traitement de ceux-ci. -3. Vérification de la conformité des `RequestPcd` en relation. -4. Recherche des `RequestPrd` en relation via `request_prd_reference_hash` et `request_prd_origin_hash`, attente si nécessaire et traitement de ceux-ci. -5. Vérification de la conformité des `RequestPrd` en relation. -6. Recherche de l'`Item` associé via `item_reference_hash`, attente si nécessaire et traitement de celui-ci. -7. Déchiffrage des attributs confidentiels notés `_enc_by_shared_secret` depuis la `KeyConfidential` de la `transaction SP` correspondante via le hash du `RequestPrd` dans l'output `2` de la transaction. -8. Mise à jour du cache pour le traitement des `RequestPrd`. -9. Consultation du `RequestPrdConfirm` pour création et envoi. -10. Validation des conditions définies dans le `ItemProcess` pour cet `Item`, avec le `Role` correspondant dans le `ItemProcess`, et dans ces rôles, les conditions pour ce type de `RequestPrd` (dans l'attribut `request_prd_type`) telles que définies dans [Specs-Process-Roles-Specs.md](Specs-Process-Roles-Specs.md). -11. Traitements spécifiques au type de `RequestPrd`. +1. Recherche des `RequestPcd` en relation via `RequestPcd_reference_hash` et `RequestPcd_origin_hash`, attente si nécessaire et traitement de ceux-ci. +2. Vérification de la conformité des `RequestPcd` en relation. +3. Recherche des `RequestPrd` en relation via `request_prd_reference_hash` et `request_prd_origin_hash`, attente si nécessaire et traitement de ceux-ci. +4. Vérification de la conformité des `RequestPrd` en relation. +5. Recherche de l'`Item` associé via `item_reference_hash`, attente si nécessaire et traitement de celui-ci. +6. Déchiffrage des attributs confidentiels notés `_enc_by_shared_secret` depuis la `KeyConfidential` +7. Déchiffrage les champs confididentiels depuis la `KeyConfidential` +8. Validation des conditions définies dans le `ItemProcess` pour cet `Item`, avec le `Role` correspondant dans le `ItemProcess`, et dans ces rôles, les conditions pour ce type de `RequestPrd` (dans l'attribut `request_prd_type`) +9. Traitements spécifiques au type de `RequestPrd`. -## 9. RequestPrdList - Demande de Listes ( RequestPcd) +## 9. RequestPrdList - Demande de Listes Utile pour les utilisateurs souhaitant consulter ou explorer des listes de contrats, de membres, ou d'autres items dans le réseau. Chaque `RequestPcd` liste des `Item` d'un même type, tels que les `ItemProcess`, les `ItemMember`, les `ItemPeer`, les `ItemPayment`, etc. diff --git a/doc/diagrams/.$PRDListFlows.drawio.bkp b/doc/diagrams/.$PRDListFlows.drawio.bkp index 70ae0dd..477696c 100644 --- a/doc/diagrams/.$PRDListFlows.drawio.bkp +++ b/doc/diagrams/.$PRDListFlows.drawio.bkp @@ -1,9 +1,48 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -239,45 +278,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/diagrams/PRDListFlows.drawio b/doc/diagrams/PRDListFlows.drawio index 477696c..1fd3bd6 100644 --- a/doc/diagrams/PRDListFlows.drawio +++ b/doc/diagrams/PRDListFlows.drawio @@ -1,46 +1,46 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -76,10 +76,10 @@ - + - + @@ -131,7 +131,7 @@ - + diff --git a/doc/diagrams/PRDListFlows.png b/doc/diagrams/PRDListFlows.png index b57d9da4c12a64d98d9f32ef6783c9001185adfc..d68154a1af9c8a7251151c6e31c44c4326f6fa8a 100644 GIT binary patch delta 36664 zcmc$`cUV;4nk5WH5|ErENJd1Gl4Ah^k`&1q%0Q4TNm9Wfs34$7R>_hx5+oNWDgp{f z&J+kDxyVKScKPeueQ$raXYTaOJo68a91r{Kyw_UqdUw<(;<|R?m)G!1meS_#0e!`*C`GiVh)`VRJwdzyi2e5yC zkfeDd;UNV{^*E`;f4ud#hlS*p|M0N-A;rCac<|>>Z&3Z?TYnxh(EO8!^R)luVKx0f zc^Jm{Paf)D_$LoJS)S8~xw*U9@rhse^1kcoeZ$ek1#}1K$m@1)wkn>U?!MsH`!09A zyd3ZU^$@%guPv2;iRP-760*fl;H0Hau(VH2(0xK(%_H)OE8)yKGJ!{AwAx?a$$&75 z=t6w;Vh)oFbSUL;DO-(JpM{}6M8fg9L}6~j>YPjT-h%5899PGkE%Y^EHcQmUFy#x z6F~$l@ez5Lb$u2S;eL8@xNC^`>7{nz9Rg3MW20q11GExlPJ2*hTN2s;Qk%m2l*aW)#*Q(;02_arQsn>=@b-MZ3>_d{P{& zM)Yn{!RyzzS8XJ1mJObHQ5U#pk9Jo^N~E~BJf8(cMc(ADiQ!w&JMieT7i10XO-3R| z?TF4HMabDhmg9+#X+I~ItY*C?lZ7qk4;C{`LoYzQm7k(TQH3VI=WY?A{F1bJ5c5w> zgnWlfOm9047G`I}#NfSu@Z)-rNtuP@uD=j^qQR>`!gbszS;+h?x9idVMv6^KfO;+Q zMHs6bzDM?8t+Odna^2LUR9K&$gUXKRPEhGN4m@|zQ&$d|U~o0OcUttMl@@hw*0ncd z&T&JiFDTVI+R$F%Jo8veP*pi2Tjp7^dJ5z$37u?*>m>OS}B*%g+EaOM(|vUq#~;&Xe$)_${3 z1dQ*DG3lTp3AsN;T(q%8IS9XLS~#YPZjOI zUFb{^&6FDr4QG^*plR$O(&dnN@Uk&^VK#!p&4USct+e}n&^Rf7e-Yg zh*mG8EhXdulGm81`8*h)RbQK_5;H>h5nP{7O}>W4#=E8$-+7cIqEBdjjl4C2YJYQ< zP&hf*1A(|aTS@XZI1{<`jBH`fRyf%}(6qd?>ap(9T=mV@VnsoLeAXk`5hV#HdUyUCi|hrw02$Paleqd(meUST z89D|`7+5W$ejgB04_|DjDDhaTqN~veN@DVR%&#ORE__s>awk>!X!9g9`0yF@Ly_QQ z*))L^8NBPVHU3#v#DBa=Up%xotc&eD<0rAJg2V*n;UAtPj!sXg%WK+1bWdn4`!oXudOtvhJ$CA--A@CYdqcivhdUEt;bp7Fj!><#2Jd zG`2}8hcA8iQ$O!zAM{K1(B7rExaKWVBx4Of#+)-6T(k9zu9+Y4$2O3C{#&$j%lD>~Vr02Er zPLua_`%v<2z5eHm#K7I_nLM}OyNnG6y3DFgzI?uqo)tlz9WN>s$AHCZ7W5+U;NdND z+H$WC&fO2kJh6x}zina>H}-4y9ydPXixe2Yb1rly|5oaJlwdivmG<{}MX<7_x1Z@o zg9SDeW6iiINdsDuR|JD~)_sf3mEdklRccu1HxyX{F z-EABv-j~5pv+WTj(QzI{TN#Rh^R**3h6OkIZ)XTa8sK9qXNqoT!VL=bvJ;2*fB#TL z9sFY5eIpK=IY@`0rSEWK8t+ zy88Ir$CB@u^$Gcn=4}PEDm&X%vqtZtabFrrUH>LeF!&dQ=qMd{!85Jog)DT|lw$1jpatF$s)mKvpb<49J@ z0>XSCAyep0ljSkBhJ2C~_9wl<_Ah0?gDhI+DD1M=KRzKB)Fkr$QalsZB;+upctMD@ zjfB<&tkX*G8w#3euZ~-3KV>@1mmHA;PZ?@IZaq!*Zs+mC)_eT?(qC*WSX;^}{4qlF zqB7}KCUUHOZ-%g0)kXP7r7%>$?sAbP=OwK)W%V7Wju#h~FG5Xz&sjpKUOqc<8UkCc z|BP^QsA;Jg*GB6ZDuBIU*e3YEPQWlfhE3)n=W?&dD1OBQ0u280Qwr96i|2LToEA@g z_fXim=&hrT){+J1L5h$VV+b4nD9oS(8Pir^slVUFgJ~%65p&|kG~@(`g~WPIHh8&+ zEy}Qse~7x<3_WXOsxY8A;0~qwakY8fWw21+=^10-4jyu}F5>ZTmJo8i;bwm?75-;L z$jqR<*B1ThVs=q5_<5)1U<%HsU+;oeFx+|0p=1M&GfF9!Q9ZCebGdyr{rFgIN}g_b zFkcHP^V^)eVh~vax~EX7!=WRV!*q`aUx7))sxSniSwPQQKM11Fd7pQ}K%v<3A)Gu*!{D`f;tyV3H7=zCRX6ZNGWowWx#>7d0?%!%f!bw7}72 z6cx|E)knSi)LAMnuQe=-nEM$p`Crxi93LZ?bPC*vLBnRB7r;V9!0 z6R4;K!jo0DYkIUskFo2`uvTYyx5}c;ubZYva=j}>v_hHQZmyWn>VBA*m_rZS?jqjx z5c}T&kxHjnRpFI;q$~@@#YS3JOiBxjUrV{ZS)FdNbQ&&w?Q}w_o%ZWKAxeU8%Y_)0 z>0q7n`6?`vk$FJq69t-Fy;7#*bH@DvZzCv-nR`(tg#Eo606bb{d&cEf=9SzR+_^EI zON`V|W;%`8E8GJc$@L3+z>SQ_fN~63XLDSud*GZ*xtd~TNUYTmDYy5`Ij$k+Fg=ub@azJ}@ zUksstK3f`D+n5?$pLwOpqtu17WkuL_Dtk{y-`x*8qmhV`Zj9JEha^1|p+Scy;JJo~ ztOiBLVAf_@5$YokwVBR%$e5xqTuzaE#zLRNFz?(rVDQ8zilLXAu0J93{N2aJtQb(^ zz0?n>ukEWQQg)YXszy*U;Bl9SJ=^nA!%|PR&z?t8epRiZj?+?OFs-mD+uOZM#Th(? zW?^2PjW%vgaHrtJ@QwN_VlIUC66ikcBZOs!&pl;WlSKbyD;U{$_4DcocN7VG2ugFb zI7!?=w@5$di$BAS!1kNJ9bUD^vdO;v{MFk5Qrr_^t)L(-1hDGn2T@hEBfLkm`R|4tW!!hSqty9I(s_*2|BQJZkLZW=ulcqAq!} zX|(C0%;byEKqSpVdvkPPfQJ|H-V#5=LxYXaZjAQf{utRRVdKBR;4^n2E8-;3t~=T1 zM-)`Tjp0*&B%DNxt@-+U?D{$6di~S30#gUNU-i`3y9|`3&399c#b`rCnTwmu_)oV! z)QVrAm*INcDufs0)?BDyAx?@EkwbVH6T-iT1(eEwwo!6nmWIZ1Whv1SYt~SG3jvAD zq%I-6j)BTAh!E~2j~Ci&HS_ttY^W%E(&{1?W^AOdo6pbx1rNr*VG-LWB}zri(N$Kf zMF=nR3@8VyN?wEu>}_6EPMce78fYDpigOQIY}n7^`)Eymzl8ZLoD|1Q3hMp5ZSh4< zXYuE5FSbxo^A_%`-2nfq5aA%7hjeNiQ=QQbdtOY#PbpBI9DfO;Xs-t$%62y@WO!xa z1GQetrzsa0V$y*5bsQ*W0`vp!*lJej@TbKVn^t59A>P?UFuaoYEsx<)nx3^VYo-IB zBTa8e-i{Uw0uk7E)8sAqb8zKm5Wt%Wu0C`eyd1X&tq}~YYOwqBUUl6yR0Sw#>(_xR zXwJ`>w(lPJsWW}i&2k<7l-NmTPxcZ%Yq_{;2St1O@7b`$E6V6?-&jt}!9=T;^Toxw zTrCdsYoWd5<>(Mh7}En)7V!P!DfM&6(>?coi;e?f$9_7j0#DE@E;eeL9WvJ_06Z5r zAQ2Vxb{&*3EZ5_%m5|Z4$h<^~wDBf#jVc4V# z6b&|Poa7u*Ww*I~?Gi>-=;85aFDk^bg=|U!!ADtF^C~H#3$p{4^7zTQG5-C+zgRyX zd>4oFV*EcafUjdvEredTIp|;2sPa;l;T9wxDggxqK)X8@j)d?E|4;mT z4}-U3ctGnP5|KP+YF1{wFiZX~l<>b-00iprzgNQlasgvrZ7G!L;hiI7X^Mf+@W|S> z^Un*j+a(TXj!dDw7th?R%{tPf%yjzcFY7Io(a{=wNB-xKdy+ezq=azt zX)bCr9MayY2-W4myk3zYPo~2PMcVNQhW0-7BUaD`^nw=_ien?%XDq)Zz~^+U@5lm( zZ6;Mki*<=~Xv+b`=yLy)Vxa#+<@|Sxf&T9_>tC)8^gr&N|6I;MC^{o>Jx;Xs*g&Kn z4I5fcll9UD*eUmZ#|wcgXeQ^g(-XV)rxfv$&L#q;aE6W%LOlH1|QGJuD3JvLm0KO$^*;JH+hlTkLn;9J>(7Ez2!@=Lt@E^#=95fq z;);z+x|;pBbAwL~#XRRVi;PQ>Va+r=H@=ospsq~3cTE8FLJxnY+`5U^wA`x7p_lzN zJgD*fg{#VpB3764bW+}Di}DHsBk~y3t^*Z0G{k)6p7?hcdav5l8G( zd@A1IdT4S*5!$I~-ZJ1QvUpeX&9cU7S=!&^2IV?$ZE=!mi1fWxZ~xt0|EjeT-}#TL zWAvD{@kV7&>r~af<3>b&YppWz`PaPUGpsy$8$zouc-V@c0E# zAlEy{(X6i6+v(_bA5Y??Rw<2QV-cPd#G_5wwiK}riVRL2_^ClMbhY!MhKvzz7%GDa zQP6wWiQ>F5Kq$NTQmnY;eb*Be{I}GM`D$`mqcBgzT&Eh1$r!Hi0@9EY!+b{iB=r^d z33(sEH!uVyx|s#^m3VlZcv@;IM(J{V!j|t7uigLhYE)uo;wCuOqQS9`9f@rldEc#9 zD=|^+Mc2S<>Oaf3lR$@>A}#aWzG<_{fU}doJ;cX;q;kFE zSf!I9a>dhUb@WS~-#;ZV5HD_A&0`d)Ry;`l#NBY;s^|Ga#*)bF1%0xwEHc ziUW&Q_a&m=r(m@4ny2GkZMP{38xtn$tspF8cl0xws-@%{`IJ?{JB?`73+ zW9!aBV6J;C<6@5oK}Yv}Dn(A|nMD5O`1R@&MEvvAy6(w3jb%D{Qa&1RW~}?7Et~z` z4VIc45>v4Y`K&<0#$D*E9hUAbc_AV|LR`e-NR}_S`I@^|aX(GS^8HORCaEJr!+L13 zH?u;QBcg5NZL~-{SVqMI-8YTe$jKga#9smYoayFUil>6;0=}sSGB?CAKwUk)#mUa zD3}DU89MM@rZD6rXtX;*F}OZr;^lWt?#mNapHLv2~F+9%Xd|@-0h$LnxV$J zj@M|F*Uyn1Y<6(8I4YEprNIbMZ4Hx~#77sggKYboDgEvk!rE3*ulyK;hL2Or>?r4Q z)K+sKRt&Po#wIrAWSw6=s!6;YQ1bIo-Wngw{EztrnNRYG#hjf^iLkd`T~+z@?KPdI z>*#|GpxkIbET*R^X<=w5MVv65YyTH<}OtXqjlSK0sukUrqa}& zdOIje9l_4QQf@q_b)11;{eG#B8M;)4PIU+%{14_sz#wxQ zAI2e1#86p;wj} zV5D3JOPlc)eDlzs5cN230Lw}8_{KGJdWOCN@c)N3wp#dqzRLzUQJA0%XET~;Tp3WF z`y5%YMh5h8zU7a{-8>jRq4X~#vYZl8oo@?6;5bTDz^6l22#Qwt=?BYXvibnw&k~9D z5npLL$8m(m&{qa3JQa1xDq}H(%6VFYX!#_PgBt@s@jKIPdlM+svNUucs2eZ}MVj&MAzU)?E1PyW|viP2dS0w%DZX zO=6>Y(KeZoS*7whWY5avqj`SFbI5L*5T;=PVJp9WW|B9kVIrRj#1zIXp}(6h(qNlM z?;~C403%F)VZPMf@M-!#tNEJ>T) z`WLYLkx~LFg#2|V!ro1a+$^+Jq6+OrJ+%=D1-qa;Aq*ETNII451N6)*-Ts3oER*P+ zi!C2!jJh{O0|@YGYMhmv$)V;;2!iw*;B$_QLVqOr8z!(!ip}$WU}k;L`kxg8{U0jl zzgrCSf2UdhVs&&0pbsGEnS1YZRQ$F3H|&f7KA#7Hi$oyRYN3z^yjx!L4a>zPxj3wx zqd~R%O>uvc2N8UbXZ7#{Q9L{-K)|drOJVz)xIt@h(Cz^c`FT~Jo-bb2YXq^7T~B4bXWWfV=(R z-}LB-TIZDct|XnI?Ujnw;^QY|4DoS18Wwt=5at708$dnJeK`B^)T!n+WTA@Qe#UcO z0tg*1pmbtXQg?D!g3lG5r{~WICB^K!c-5m);^E<6G&5MYwB{GTdVNkZ)oS6l(CmIR zH6-rioS5`{#iW~P>6FxI(!1MrOKtm+!O3jE@^&krJg^2aoi8zG#FAAAzqrJf)~X$5 z8H*}ADmOh4jJnH~M??rQMn%1mWa+yo=M5m=6{K zmwtA{rnH`&T6+HaR^t7L9 zsJR4MmG0fn(XUi@?XfDmUIMrp7Fr%G%7L?9y%X~7wYWyW-l_lyq9(46RqL#c*Dg#4 zZWwoeJlI}L;ed|yg-=k2%OzLHNc-CRJt}NkazW&~%C4KS;b^^Sp=kqU_@kX$J?blt zKLWBqb_E}aS5S}{Y@xz)hfH~*#?kOKAYOQSIYWRy%9Br5Wk~k7Le9gbaqytS!pj07 z^lO=NKE=CX2akUO?T#%)ricLuxN$SCXw{MzY;ayaH`MiEH>E;u-?+92h4f4(UjOYW zZdbV-1rqG_V&uCmL&qOkPfJHDbpV+w=0?u8MIglynL^w4t$cA49_-IM%^hg6VZTt}xUMGEu4rQ)nFNwVefOkZ@9CjGa%>MW&oHp?4A9)wmg-#+j>aGj~>UpZjP`_{s+kYX*Lr!(IsEW94?~cutq@exyAH&1GGhFj!WK1p!XV6~ z9?h6E-4a+*$jXfiLhWVIy}b`y85Zgbm30+b370&#zf0?Y2S%^A7kf?P6p#B`e!X$F z?aNZx`kfQowUB}+hm(xrFTVg1f0tV0N_kUm;QqSj&*#$Gz!AdG$90#KMGB8ae`fA; zv>o)jFWca)8fonYwSdV980B|F?&iHLTN_LWBp29DjM4sE^IFE#65$+p%{QlkKVVTY z^LI^TTY=&CQ9C{`;ZA~;wWr<~4nw}0!(|7@3TOhoyUc!{&hoph?bf5okWM`Ue$Qi& z2R;oyd&Cy;Ik=I%HHG}Xlg1|FzAOBY4pWP0I|-cM{kx@zd9_{2`|s=t@;WJ|-5(h? zL^v}`4{X4++aES!c%r7Z`N8waLeYy}?b?Xtu03~DvfR*mTpj``*t#|$D7hhe>1RQ! zsNF^x@3uoL-@v8VBxbJ^oip~e`6xD7hC*(ZvFiI?%rf`hA{({_3U{TQhKKbbjUyJU z#e0{c%D3SNF9>}73j~yBn>HIGf=;YXSCF&n-doK0_O|!#8F1)p| ztaH01`#a9!vHNhTxdE7OUff8~%f{UwBH8C4UZK`|2edyFd6l`iA4mF?S=Q;|bJXDF z;)sO$=JIe^38zRRjvD$yzq2C-v+30Kf=>?|c4@K%b`&XJ;_=d?Pu96-!oE>nl*_ef zb^G4lO@QHgb8vdJ(G3`^A^amePO!ZGdRLNQK^FbN^)rJb_>W$_N7(Ad2M(0r@q_fi`qui= ziOoQ5y`S$$ARV3V_fx$4yVBZI%XUVOX-ReZgjt6ZZ=()v)M-qSjcSd1?A%1;Ot(p$ zJ{3dbfjSp`Dl0;%dNM$$f%fV#lh?nGSF$cRz8(bbTvy~AXIBzxA1>5amGfOMtx_j| zw=pNX;QKx>oM(rtomSqa0P(i(ZzK(MY9N{4G=e8!C-1L7C^5WiSD^yIx6kD2OW+L1 z> zSmQ!H6%|t;pc3g6n!#_-Q;|qf;}h<1a!36B>0Hrr$-VXDeV7y8IDkVXdktlXR+}~c zPmcFP41vLF?`T$;1m4l_`0n0kqt}sLH%eLogd_Fd#Bz}CZ{XC8J@GkZ(l)9eJ-#zR zrfVs-TN$uUi+&2|!#$w~H&d$Ylj$dhHy$3`1&C0jV zh){48af-G|Sx&#&YL!^=eOm#v{=#K-bofE7(~yB_DVn_n6Nv4*_Kv9n2wTfni3}vr z?Y$b$S@;a|Z|dv3_j5zHg)WD{vS^Nm|HL!fU~y_8RLQaxs6(gMKvkLySSb@I@ZR5; z5jC%ZY~z@0{8ZTe(4k(*5A|6`8jp(|~C*3n^nucp@crZmNK@Mp${N^;f1m#h4Sq#Aar z1bgt|%41!UP86Ol+kV)%Xk<8ZwS#T~k(YfJ*3oN_9W}fbSQr#+DeeC9MlHunJ_M2{aDVj$ zDe|I)q6pQHWA5Hwx}1-JlX1PO&4r`l)e|4z!9$MnZMCqB=#6VI1X8ZZ3gG`tBEwfh z_(TTV8#_w_L}$RgF|YhxsJ|RoxSGfUj{HG5^mLOOlfB@|qEuRLwxsxAM|K~>r5DoT z_dRp@Eu|qR*j|p0he$=cn#A+F()gT>LS`43NIFaF3W~D6P)JYnhTqUNAQ5`HvvP&w zTi|UG%}g6lt0coyd1TmpH-z9^NL=3_q0-F%W}a)g!DY~B_2h3Ok-zJldwWC*cw5fY zh@BP3mB$~gm#xN_KrhmIh$Vq%=nD-17XMWMDUBF@#8^crk28N2YWx>m5&B;ti~l04 z`k!&mzb^**?{imHg&#M2*eBzQ^Bh}BxsSajw~r22Dx4kt8>=0M(r!pL@;{tfaMXYH zCmOT6{1ZG#t}Z>+UsCUJ?XHMKV;2oAq9EAx86kvg`s7`z-^s*2jCg(+iNrj ze!l>9$e?s!<=_3(aevMin6x-DC-h&W6LHorRFH}_I zb1o2GQwZ#$OFCO{l9?y`Y{Fe$6&sNkpEf><`1hTq%?LhtQ>{>-u0`HFJEHHqf5 zvd8#Z?^JuiExrUY?G)YlRr3U){4#u;Smj;-#%puKbYic;FwWG;zZvy)#og~Si|Oj+ z;AnUjKc-<$j7bpq1};mLXd3~y=G(5RAH!y6#0IB8{N)E&F)QhiyK2!LPd=YTW}w-=sx(KJV*$)-15iV zr94L^_v8|A9Si~2!H2Cn=dy)kdmSfOrtpCR_A1F^lJx5d;6IjuW8lugMD4I=a5bMK z&i~Agd`0jvTsIpy#O~~ZeyKcOvv8Je9g80yX^YrDF9sc0;-_yg@6;JgJ6#mD*-KXP z26okfvIjd`S3|`QEJLeV5J}5{XlK*bnASkm5KHO9=L;4Hp^J9}tlfcv?bB&p_7X@3 zlXCnIeTD3WP3Zg95a|nf^3HVXJ}dWyZX_=@?$Oo9{N6zC~KWZ_IwEx`{dH;>Pgl!dsREeplc z!1t_7L7z5Ukru2j0{xXAf=mN{xr?73^5tCSmmb5q8|Gv6Znah~*I~xXNwS{WIrg`^ z6UyWYH+YnKUkN18Uop5IK!wzY+?tC*j(vW`(0@%b7qkDCyXDaN#yBduUMFLHP{&O) zKqD#-Vv`l(Ay(w)5P2mW0V!Q>C~s0(mUa_({-*X;y<~xIdg7sEcXv4l^pZyORsu?K zyeq!9RjXd1jvW}9@+4M%WaEY2j))TCvBIBHe)*;m_+4X>2MZ}6bbAJU^8m>UiI3LC zwSbdzXg@B~p({}fxR5EC#qDE&14Ow8_+**IY^jgg1b|lI`5&SCcmZP$IMNKKnN-_< zj}IrI>Y|XI!(-9upgC_{I?#* zu#ew15waBWN=7FAO&3~>pV?cFlifgx{JfzcnlST9^t1M~FiyN0tT5NDvhNmAJfuum zajVytDnsxnj!P$KEW^3Vpo#sPg*?GcKGh1F57ZA_+C_lFYT;{~s^^lOX__J9vTi0k z==y^EE_GUAOoTNS{}?!AyCMwfL$lY{@iB@2lEMAtJS^vcJ_n4(yrsY3|EX^0?%Rh7^rh! zwyNi6hUv_oe->&vj6?1g&H>%JmkkabQ zD|TdE$=3Yy8?C1XG$?A!6BcoMES`CT%d=+LMMLwdhc9;4$8RJDH&_Fn|E7N$fOy^} z=s*i60pU0Au8&(#vX6=a$3-%wBJtNCh7tk1wefYWB!};d-3xU=t=bifh{TVdwY%Dr zv^z7Vn&uB#-Qw9#Y+jdyR;{&(bJ8-QQ**bbHK~T( zVap*lCW>QkU9@8n3#s>4VAu?l?0A0R+MEKqeKGPaSEKLYjw6v56p48fB5DK-5GQW} znl}GtCa~>{=L_4s7P#j^^gQwt7wm#ItF&7pNLbLq>98Tv^9TPXqH3oCx*&)bH1~|( zh&_=gOU?V8QIP>oQ8M1RB|Vkv;yRH3yov&mqky**P6fX#>pA}tBK1E(Q=iRGwBvuXD8*d6)QvOk^5 z{irIm0_t_3f910z`C9=k?=e>&a{-&?GL20NYv_x2*U{J7Zm>`VoE*oe(XNkmXteId%Ui+0`+Av@@kJ&<#o@+PQd{LGyhqjN2QR} zd#x(FR=ss$kDSDYy0;2S_rgj~kqrtX4M|AM7^7>tVp-TZq@%#6-j-YlY@RyPSKE_; z52UMGw6*kCJqSh=0kiR+u@j)Bz~13#bNTv`YY~5D^Jm9U|Eeh>C=X8v_(MpMK!r*I zeqz!s-;HVO;Ik87FbTE4$x^Ch0BKgMC1BSUxL2Iau|S+nKtLzPQS<`bpw|aF3*>3pg1CdDR^FP|)aj6U#!6eniv*k!@>c!&1sS$uzz-`)^xx(C zlyv>pa@Xo?>bioSXmo5j=2s=QTlt~%0@D0U!V&L45~HV6|1N|oa4%}H)yf3gPCdUq zpf1wN9pN49b_a~uK+i_*my^$SQ!i$Qh@v%P70oOx-mhJ1sA$z+HWB4Fbv3D3lBZ^rGRR99@34Jm1NcgT1Ld*Dr+yu{#2 zk(8NiBL^SB0jn`$6wpFUP8h=J!|Kft5%3NK6$vF9wOZYE($wqDgN0nCQ$t^d6p^zL zQk9cqrMLKtCJLX333^h^@FZ;{Hd3T^=fp}IXLi6)7iZj(EFcE$ulXFYUE~A-Ur{Yh zcBAzpZ};+ioZ%^y!YhK2%DBNIG@Xo{uB*JtXGy5fz(Bk*1*&~QJm6fz@|NF<^n3WqRrQu{| z`gn2CdX3OdzfPG#S2MoJ9dIICS!Qs3LGbEvZ<1~oJrG{0NAh%-9LK8iilxM0k>M92 zBSGNnW)M3$miktEbF3mX)#zh*v|3pwYGG09loZv2KX;u}=N*;e&dW*v#dI=d{7y}? zc#0qn!H*qfaZZ$6c9n>16$Qrkh~-#tci03zxw8fbn7%s*bLAzJ9@0*%vz4k^rM#E_Eg40IMW zBzubeN%evAYo=1G+#CgqhW2p0Tg@Xi7{?Zx-aQ-SyF{#?^b(+ccDw*Gh)q&lcwjec zwNjj=Ta)$4lab$XWLt}w1$iTFKRkcls{5M!+&S+^{MN#=Uyy5_N{QxtWHeJEEv3p54kf!f-!fS8 zYP=}vZHN$6{SvcG=(^}YqW$6HXTvu>bJ%M{q0zrkf~_2rq9cnfT5oFBIjIzfH5W+J z`%g~L_??Ne(cUYHYT79!4|{0KyC9~;_;P>*0nWblFxU+s_ugrreAm$&6m%BsQ^>`( za~%Z#+6J6dYE)Tgd)1EEx_^LV$Z$$<3hV+Q%I@1M{q(GhAkR`xomCs)OG9cb2w)e! z|7k0{w}+36yI$bEX%3QA=btdyyd(iSUmBm)e6+7t3Jt18f#U@78VRicxvk5=?5iWu z$&-YrPrN@3AJL<;Ddd+o&FgR=zpVaXcL+Gf*22lvcepL*FJWF+C1xfK;k8+L$C_VOA};wG>o95QJbsT$zKoBhYAOZip4|rmJt!S) zuXvu!BWk$w1Ed$$uiL)=KnSlsVUk!OMXGGqZ?6r>hRVAOJ69I}MLyabhEl(|BD??a zSm|J;{?TTYv4&V{5XczZle8sW$K~tYUdbBF^@34F*;D1$!fh#xpUgKoD(v39 zP4@T4`9BVXzB1Bb!&ZYF#>>56zF)2Femf36wZ#wHl$l)pg6T9O#LwN!D z(|L=9msu&EV4t-_$i@8@-v+dD?M8-9Ztfly{@_?hoYAZOYCQ^;f{1L3G!F^7#YGe^2H3Pij)GCTP#; zI^7>G?O65`C^rFrQ*NODhII4h|DaR_{V!-$MFjXrU@@-YqvhB`!GO799~D<~RUO}^ zdv2o#tdic=w3*2PIdjRSH#0B-B+n)>*(Jmkz{^N}NOB?tUXrk?qqnmRC4dMvaM_+k z9Um*x%F|F#HzB!{HggW?78twhXsWyz(&xrT9s`z7@61KuO38py^xW~8&qw2QhMDw# ze5yS-92~iD-sDvD8EK< z1Yb5R&`rWca&TsGaF*3w;RkBP@)?9fi-22P0`f%i72{&f959!ih5!K){cVMlEpYa3 zU`tq-ix!0!2n_~(AY$S*LK#vmu~F-eef8|c30NEKD!9>gBj8w+-bY5i@$PX4>1?QI zLOFV+fSm_KT9Fy*N5?6M;5fklziMy<<=&zEL!`f@LLgffhqrJ<0@&*t&U3)6?7zLr z<_^i;nev_K1V)DikSD;{Hc@%EeICq}u*>%VL&*cFkz~pM*cNWNj8>}P^SzC(n+_=H zs&=1&cP0s@REg8i2CkIV8Tn7txu<}9XdRq+Xm=M7;G*CR9u3MrnG2t-o1jOX3Af<_ zNmq>fOI=pyyeZF(#8CRFgQe(;2d2vDtxFh>V6W+3xkYJMrah!i&`s8-9~7uk$8&Av`_0PZ@- zy_G6OMoq=8P#EF@0p?~pgQ)~jXRM?U|-^D~n-UXCW$min3IJP1um3hJP}Zs{>y0eQ@vp0p+4T;>n13XR=P ztwvqKm=8*u6TrIPhFlg}+S`~x0HXIcgi1*#6N0xmeFnTS&t?Pf_!nYnWuiiNgU10{6sXOjd09Cy*P)H7X zHy^FZ$&HMxdO~T2PJwZ|o5kNE#Nx$4Ty2DSv{(t>v=9ajkdo03QZf!kT>r`t(C%?R zJkdp07Z#NOp3S~FQT;^Y}HooI)LyTZ95 zE4OYc_-}s609jFoX{EYD434oJD<3SAA1*LZu0EmNv;V0rI@uXj$9)YtFvL&a23OH! z2Jz~Z^~-X?_^fDIb4&JT$l!(-=sL)f5xILkr z_6Wv#y>P;`pe!k}F|g9NYXEm#H2*ZUh|dD;QVY9;xfTuj-+%<(Y~C^diO)J{Iu%?s zApve8XwelXgaYd6B)!d*QoMH^*FMMp*}19wvA{@V3ZmFt-W-h*2l=UP1{>c$vkE`t zKmfJdnEf%>g9?tpGKIieKc=_QFb*Ic`%I9P8J{UGhMq zYBdc#llGVlK3W3_fy0R%_C0Au$$|KfQ>;9n1w3K3SsDf#Oik3@r$sPD`B~`kc+Md~ zCV{t?>6_n7=%3&N17dfMB{(@X!Sx+Dg?ri91=KlKhi4uF$CBMbSJKwNZ6z(>dLeAQ z196790}*A}x>+;w+zWO^i+tU5h{bfQvj=3wzb7djxeXd&z9EU^egho%YTqN$X8PGV zVla7SaVxS0(U|Xp+MfIsFoTr#C~VDaK}wh zpiE?FMFlvrjV$p)+Mmq;ZK7bleIb`Y(8MSZuN6B-&M?HP;8%Hw++7|jwi4QY^Aeoe zbmJ=|K=34lEA8ADt@$7d(35b0JHSrN6v%XWUlU(Cb(=8e1I2QgYfJaK%-Tl4X1c4L zehBTZlw^czZG-bH`Q81F{D205Q>Twx8z9=i3nB}^8O+Qu)Lw)TTI_ivsRQiaZ_!jE zH6T?}ZH-1vL!1l1pi4C)R8q9qbI9P|9X1cb5h1Z)J&O))5>~eBuVfARt&ITKloKNxR)(k6R7)NNYS9-r*_%R;n&wIY`^zGCiG$_C4(yq$& zCxIkwBz@uwMsB%qFn1=#NowKX4@3)t5WY>at$F2_7we$iXDQI@xuu+?o^hmet?~W2 z@4fhOdm*^hp9iGlP3)K#NHfmx(t1No1KQ{Kh}J$*2fxQXZDwxy^4Y$PbLy*P1BOsh zn<2@?c1c0Mx_dQ`2`-K{rC5AKC<6qjd)K1~a7iAFN91q)whb^QWvX4nl1+-2ra8?O zcEPEj4?Xj*5o|k``AF-c=*u?XbZ<@|%7wKOAe1LBRKLc}5JX>K0@ZkhmoiqFlIIPs zH0B@r6j$Th96}OYUKQf@@v(=59J^0(+qksFJR}I#2>fi{)7Ju*eGQEBZ*lMNbw`() zrsCd_$}!U`23z7eBpY`Cgi~~JS3!WIt3A(doWw4{=Z z8B&BwW>#fb=HGdHo@c+`@8^Br{oDKZ+3#PwzwWGiyoU2S&*MDK<2nN8K->a4G|K_y zSnp|aUtA~MAXW0KM^I^n#q0Q4v-2^-to(VFVc@9I_&N`E+YP_0@7ei1SLeoaFR!>) z!G@tf;&m5xyf(8p4TtYVeDZVYvN+qlHUplPtw`e<$G7HieI(yWaz?fKu?M%0p`|(z z9d(WdvG>ZL_{B~J1xWslsUQ$>H#ZWk`1zCO(n13Az`y(sWCKLtU9xoA9wmRNO$O!r zK9KV=tM$LkZmVd)NiTzW{#OD*Yy&V1zV+W!q$xlj$R_@uZYW4@F6Z{4H-w?^ zVh{Ky|3Q5Ku37H>F77}`{<%O!+?&=WF^BIC6ZQ1oVb8|6{t0TgW7b(@!giEPBTxl}G-3x3o!-uiy}b}x{0@{ILu^NOG%LV3f~5>@M; z80zE0$0p+Ub+HJb3K2;5X_Zb2Lg z+dUqB*p03rMCafHKMzwh6g`Jy&Zahn;Zb3y0BPh7MvMB>1?X}%&fn0TK+6rc;XE2~ z*EHfU)&j>7(Ja7ysJd8!wb1q92=eaN(PK3*ENPDwP#dFIlK#M%6a(-CxBS|@h!`Tc z9|n*)Jr|r#1Hui%Oi%pwNvMw;d1df(;N41_a;8ni{l;a)J;D;Qr_yk;)fQUq;D*L0 zwpZ1yCmnx|^(qQ}@KBMK(}v(zGUIToal4o6N^5Z?%q}NHi$V`k)EV~M)jtvp@*vOG z{oL*24u_#VI1`n{#7j_KJP_#%$?#T@yUM~Kn`1hx84W6uggNkITr6qziZi8mYEi^G&d^~HWW|CvuhummK}4b`@$2Yf98X}muW4R5EPJrF1_ z04rOF8HOBK$!Fh@MyeIa*th@y@SDUedoo)i3i7^NmSYfFTWlb+mHqF*)pI6~yfVwz z=XL`*D7=WEa6cL^hZovBb1gEaQpt7+)EMHm_dfA2d2wU#Esys)+X&GqG&J|~Dm3h3 z!vmEp4p9kNl5kfEBxhkVFrwLs(spu1j`cP6zFpe;ZO3$O(jMK zNdC`e(@M-ig8qa*2m=hp+4VyFZ{%+2jEa`9{-Rtoq)T9gHR<8}eHdf8BKU9>tsHVW z$Xqe`$8{H)ly6ck;l?0iY;T4{ctIO7eR$GvkduN-f89L;kz&aineFr?h)Crs|9Z`Z zvI1UtSfVM0Nx&j{zS3XRa$GMtl^wYbebrrH#77r{Igc5L6Vl9s?DA9JNi(_>+4_Zq zNQH?g7ke$1ilcYRe<=#z0$qluw#UOj*wXp)bGIphoLdM85j;wivN3}dx&<@7NAj^)~zj-cbOeXQ)L!T^fM*vL;m9KJn!RweW6lI((c9M=YRuAkG`Q+of&AlItz{scOxSF zo@bi>X3S1Gw{9&UmnJ?>|+Z_4+(C1XyF!=SZhu@S>`t~v7fYr@T#k0`rL=K zNXygxp!-kv@s_#O)4%=0b-54*d>s{E1T*QYMA3$tIWPS{KM&3?9s5EI;qx%r5nGY83@ zKd()}1g6P*S#~wx$U@ZEM>^Dx0X?vi<`RjFDX*CCEJd_H?ar<5ye^C!{zb|qDVQHO zyu)I>@Dysw!O?4EfFT4bdp+4>$eO$2>9whcK^@d0kHw%6ywDqrc!-0|yA<|(u!i&= zDl_qin#v@xWDn8`Jhdw!Gz!_pLidh3jgy( ztt1fq-8l!axzAH4$Ec{jDEUq0mD#)XJstq4=i6&Wn`Ht7eDJNC4%{O zltp^0Beh4KjmQ4UxYIY5O6R8nG|SfAz9{l(;q* zYm?khv-{!jj2{hkruN3*9vqJma^9a64V`y?ILl!!SPUMIKT8P{n%;LGKDIgWwv{d? z0#Ln@;?yLk@pa&C*$@jWP0`g+;vl!TKJ?n@_p7yoU=xe41;6}UVqI|#CU~Y#<6Tr3 z3FZolY#)fYnBGpsfqnJqT^=l61~+HkSlyHu_Um^@L4NB?)yb>wfdKnWtwJyTwi~v6 z1wXykMCt?eqYAHdu790>IPx7Y#Y)%R%^Uq#Lvo>P=A!nup-(S0ZrorZ>}b5q24#F} zie3q%ub1p6qm*ohg7586`9_4#iA@DwdTivbWPTc9AS_(5DV=Wax?;g2cDi#qTJ!|c zi|OAN#VIUTBvu!YwtX{JHnoj~(>DcQhVVpF$hGXz$Ke}h55TR6XzJ#}6Tq(sXN?N0 z=_PUV31ugYa*AXm4gwX%uZ>5zL8!AS{Shi?Rt)Yqv+>Du++YG_CO`W+PqgjK7Tf)o zlBFNV0)N0@{MB;Ak-};Gx02<_x>$bzaHsx~vV6ar#T|dAVd~$6EW0_r)E7Cz zUFN`e4)B7=M*?4F?!boz_%7K=1NLjWT*$NE{G>ye0CoK-rF2jP^lF(mLOtnBBSeSD z#5ybsvJKZ+b_t_-UL;a}uq0Z=HPA|i(^2iZyvvzgoZ?R~co<|>ydvMt#=y3{L#r!3 zRUHcY?OY9It01#7RBM&qNor)z2XOP9{4hS((MM(&t6~I}Hb8E~RGU5?!qwubSJU0(y=O6~ybPMIJay`ZRb}=q@HL97u3|KP8QZIi zgEXa*?Le*xh z%(Fy?@$e_+hmM@4Vg?6ODyI4Il>?0{xBuAHr8o0(sMc8sR~oIg?8Jd4M>3>Ci(G~- zf@zt;=!aKZH%8a<{hNa22&BD4U?E9?%E(rL>wA>^f9*bo5fFR^mzn|XCUJS_+^)dp zo7}$HA`{{F}k~JCo&e zBLHEe{?8JY$bV>9Qem5^i5;qIhSHP94-RWn34D&|FQWm}fu*~N^Zn(S)Gwe|u;iprH{?QcH}_=ntA*JQ+@&Skzx2+g)=9kf zW%$=uN6|(>jg9a@>qTBkGtsZAZi*1tAWxn35DfDCAW(@r=NXWy!z+*gd$S__)$yV- zIXgRCT%9e8hU1xxL(M~)Fi)14Q?$(SRp4(r*7Gedeep6;e9mF}yZJ8(OJ;{Q90-cG zrHX~Cs#{_yPwskw!mRtefI8c$0RXq@@Gs-IOtqzIuXh9AuqPt!_ZZT80H^&Ruu90W z>)K)OkdWt@G+3%sw1Rv86rlH~T5GH$b%G#0kO019aR+F|qE*H`GspBwHv^UOdm+>; zxhbZm7G4g;v@P-k9)+An7?5V0g1&jwJgGSlLA87RVqT!nk z!JRlL2|_g3Vw8I#GDX}OCP-fu^8hM(*Ywl_1@^;bk|t|eCdeHnObd!UG0=kDH8;fzo7(GvX04)NC!Hvat>Eqgky z+3^^%P)&5xF3O&`=!-(a_hR;!Io8`skDUWm%hA78E!EiK6q2xbW65dzYFgFt=ZhLG zkUFRv0Zq&Gg8pSNawb&61V*lQ)BSz7*So^l!e1FJeG-YLJxSVp*6Fv;ky`bW{I-y# z_TNI5$Scp8uBNjwtunQSmEwCS-WVENqx9nzp*$dJDaMS0^igJ{s}}i5PcQ|#0Oe7P zL}c;;@3$skzAPuFE9{Phr0QFjOlx5sQI10IE63D9M4j9BI$P^t;P>0b>tL&jPuFx! z^()b~OB;=cdv_ZrZgAU_C{nKs5o4!My*9 z7-Pac8e!8kBZTb?|M8uX5~4Xpm>y?QfGBn?F;o~+XExM>kPMnyUGSLgUuolQjLtWd zx^hlW0jMEE;WQfa;p&7dgDJ0ps_i$1!`xzdiE9UbD$nY8Sz^z~TaI+Z*^6mqzP`Z#2=7<19>Z&vHr>4ryDHU}> z+$`U)*n+?97T@(O3aptA&|OqY@0s4)#)tncmwO0^Co8o+XsT59zdh-{NceIgRgD-Y zKo0MX9_X8lq(*T|uxz!bxJo+nF)6-&l9O#$LA`Q?4)yj`>W9kowt<|c5Ko$W|7f$Y z9$Sdl-OFg7X5@J=qQiMU|FTkq?B(0OW8~&_p3Wf9Jk9b5W2PlHA1Idnoo^t1b?LEe zDoKZ81@01pgvKUwP}XOiW=p@<6n3ZU0u?+oNP4V(v< z+yCag|EbfE|J%3w&rg+8sdjDKJqdhOkXPR_6+;PSo&Xh0f>U50GF!w{VIYVEJ#wIce9O9Z7;6L!){>SlkYqEs^o{DXzv0G{cFfRjRDirTr6EV z$ZVfcswm1oXXM%^F~YpHCkTQaCD1a6jU$<<2PLunN5N z6ly$RBxNXsRGfj`)#YCz6TA6yL=C{Wmcm6s9!i1SG@0Aqj;btyLT9=-tUd3ULu{DWg2 zNV0SLLmO=hDT00FXIq*$DAXBM2mS%I_o(2-%$ z)jXaNVq8}Jb2nP#?*bfnR3w`F0fWN~PAEwkb%g5Js#|%aOA!AVHJvl)mtM z4xr2nAMLur=Yh-2L{O!S&S+L~V;aHkDm2w!Xd)nK|B@Wk7>#wB zfHZY#%Z1F)0^yrmYr|WjpdANzfvhBA`}~nIxse7H#Cf3TQ((JFM-XPZ@ia5=8{;Co z!CSR;@-;vpbzTX*5BuFB?gIP>D6Bul_z4gCfjjISf%42`&T)GWWPp5u)Q)-7HC66V z`@$&dG-AIT?%iX}laaGc1d2cfYwl4247Hi=WRwQ;QSPmaC>cSe2_x7sOs!8TbzuFO zNO7C%e@syHbH~A6kObI}0!4$thv4b$7u4)wU7eTdDu*3*_C#Krx(i{hazPUI*X!)orQ^49a(?pR9!|0zhXfXhwy0or*0Uc|yzj zh~}v9&1gBHc^JV`02D^N=PKC*xqz+$60NE(ouSz%Em4$l-mDV3gW%5xG^li?hEzF7 z>|VOldNIwGBfe>~Zja*ChgH$+g4d0K74ke$b0^T_O<$tbEKEBjyp0L$9143Vfq>kO zfyBpY>BislKua=XL%c__7?Qm}z+D2R#z2(P3Nrz~Tu;+A22<|F~aAne~@Bpp1~K zUoKZkp42vHXC&`l-8)7t$}8*mI60C-1wT{q)~s~6;B}E|J2vy))Nw1hhz`Ze^`{Pl zag%)sywYe+#fA-^xWh*qj!(J`p&9OisvPOb>j>|zS)ZBGrn9#JaVvh@70%vqwuL8T zekAXm3Lc!yWGLgel&%#XMfQv|p15m03A!`Cr%K9;WB4zrgJ)THDv_;085i_=lW5(@ z>$n7*0I3e;KetfPzu9AkC1Gi1x}oSuAn7Crp#T7~%!FEdKN?ET>PrW8=lgXNVpVS!6(C$c;>-Us zc1FUD(fgqYs;JC5LbGXpRP#A&-1TW|;rY>6<^0$&>-BTm&!G(;>yfEU|cy&ag9KdWQ z!}y$Dq?z05lliB;-_v5kV;?SL>yBRKGxh zh&egELh8=+g^?}Dz3%SYzm{)ISHkbez7Re3SyC50S zam~03DsD}3?-%U=5pDkTdlsNfn)4gLExIF8O7yP*y_bP`ZoyH1illTy76BfZUxnX9 z#w%y}+y3j*RCN_}{X9WpLCx|&nXZJYmp2EVie6%fkUcvor2-gTg8ds8AW-@4g3o=$ z(t3yL3RJbV#BhlGNb@3^M(b%XmY4CVg{><}lcIVZ^&Fpw*~pEw9Sj(}5?!M{$lP+k zf8=M_!$x@(v|Lnh9FhNfXOYVYcd(#%7o3r4bj(r;mfkycHro2j6u%|Xy=K@?4`Pp5fuojK)~-0dFD zGVxcNFSeN(d|%@tutGUefwD4=UDrXQrpl!LHjUT3y7LD@UWoerPFJ;0Cm~h5k}V)! z%ldFwp}}VI+AXq;X)6*{2Zqw(`)yv#9`#*wsRvGFsi*Rwc!f3#u#O)&-tY(J1R&c$ zujz{zbHt2-?rx4THUpN8`rAzeEj0Hw{sq1Hg8`pZ?_P(?V1F6tn0f2*#na2 z($Q@E31D5B%l6(77ux#b)gX;3XJsN#BL`4IfpF$00qpkfOsM7Jj*1zX=*mUYPQP}f zFDTbAXm#`Lz|o*|k8oc<-Ly$@@PYipth!LcwTJ&sAF~N7#hc0R*SBWC<9X16zI;H7 zk`G|k&pu6833;(9ur>&}o3gL7v4nuJZ`0s(bzB{22}HnYJ*mSNX)O-j%=FQ2OoqGz+VJt)4G--uj88v~_?da#e&p0Z zd`iu=&r$sP^6P@7WXyUmVQd)oqdEzqdOyJ8?=Ox%-C*6G4!e=SR!!Qk1j^iiavSqm z1RHl)2nar8sIhmH{k4}Em~>86Vg%*F@YJiF4`X)d;(5;zq^C@508u^EO>$#nqIOE< ztWFc!O&+z4S44b%KAJYySX=V85-^_qCP;5QSCEW}4%}>vpxJ*sX4-}vi{ivgtB@so z>}YUZQ%Ip27D}h;nWwFTmjfd!IVhYvWLoYXBE7{rCDdlg7BAC403SQVeW-z3+V-fJ zrn9&Bg39U%WiQb7Upe<-oMW!5?m`44CQ(4-$mJ^42m>%so5hro-AdWzH;@jq;oS#gxlp`@WOJ4l5*x50wcfP5I@zx9iuXq`BAfMJifdcWnOdi2~7-?TbK-x%9Q#}P-q@|T-ySjvU!q^TSKZ87a7nMByC0q0!KM`jL3lc^N@6w%D znn=6Q*3o__Y@Jf(khG%qBk_FpWj@+e8N8gtc&xB*DD%da&c*6D4iUUiqQvR_5uIE) zJ;rV<)O1)uJYANliy<}E>6!S+iB+EcSF^`79tr=~=g}df9>4Zr9fmcuWuDt(uM%Vl zoG$uexL}RM&yu%KWMQZX<(Q+zf_Ui+n(S#i^ktb(+#yGu$}udW)i8-MQ_4St-60rG z<__24CX_e(2*RszS9e|&de_E;LQfjs3JqBqCrX5bOb+#WUnC43gcob#bU&j|6Mc8F zO&t;DjKb9rqi)*6*NooZK?KG0gQ8166CWIIu5P)Pb|fP_{?gNyeN_1p)Dd;GIAYy; z+NY57eN{YVcG-UpIsg5%iU&K0agBTyt}g~2rX9*P)jW3)caa)ip3%mcMGyPLQ~NCI z_G`TogoZFn8GWs1bbm?cR1AV4Sz-B-KC6fO9oXNREzD~xBf1k>!EEaALxm#7kE*mx z9O@LNv$4NLD8V$#+o3c5sHo=Rr8a#>^JxQ@1W)T%O#r`uCcCo=H z+&G-iiB%EOpG|xtcq$y)6SLdmjc7ReSV$zH42s>LNeTP^oAYo8k*6b~b5VM`Sp{|B zYfTHxsk6nkiqgAx(lX(o?bUOcNd4aw{~0B?AMn9q?-TU}7YGuSr*~gdr-J6Ex@dla zVyn!c(O{^3S7#P&rjk)et)XLAhW^QzOgepNf{SZ4s(Od@Tkb;1Spo}~eL=X?+h{TvT zGUT^vn_aWj;~AdqisK7(bYW54mfj&V714J1U(G`k!zCXyn5BQneZDAC1*_BA@!^fR zfFT-$U3o-0^p4_BZ-Fh!+achVP65wAWor%c{$EOg_BR(gA2RHHP+)z8VQ5@+S+S7u zR|Gp=@am4m(mUi{`GCu@dqzF%-h8|(UrDYY=68%*tK4!NHda|Q4}g8kYSA!?IU{eL zL5)JCgy)a3c!*P5X)!^|J;!U;hqsW;@x(+x1>SD_PH9*m$^Ty7{|96dYwDLiw;GJ{ zHc+%>@tloN#yq^S+_2?`tbWWKOq4ubw{W?lnWu>q07cF8#;51br3dMm<*WHVa|MivM<>&*sW^z#g}$beELfi zldXab&CB7j`27L!_-a_DJt@s;7t;NbYoVX;ztz?TI%+@+a>e15)7EPL zTtLHG`c|xZZ7c#Cp*7fDs%RcOe^=$_9hD{Pt^P>=eGm^$5Xn)pFQNM7HGj~L__;rs zTXnUd+&N^fnPP~+@VlU!2>j_#n+K-sOrQ06*5wXl^CLeb9X2n(r`$<9c$P#qb}8RH zo#BOb(yy8POdN@1?mp)DJ$X_0D=6qWednm-T}3)OPl>!a8-%l97MT9>c-rIrO7`Mx zev0E&l)DoGr6AF@-AU@D1GXKNWwIcX8|G6q{7P&njIg>+{KA&OVlV6qC!ufV#WQ;E z)Z}4u1jF75O9#K+GE$*u<#a&j35MzN*i zRgq*gz}if50Oh3A+lNt_1eS7&hu#TnOz3(-P~gYeQB9qerg7^(As|3Ehekqk#fH6^~b-xf=y;@J030$rZ>ij$dI8?p$v3 z3i~*Tu(+S!Tp3?(K!A%ibVq4!qO4|WznYEj3_u4&;+#t2x*nU~1n2WSbHjC_=X!Nresy zVu9d}9+@S(F&MMsC-l7D?4 zEHAScvkt8*{{Gzs)U???$B@fa-)VAps!8c?D_eSQA4R?$CK10lJH#NV1fzAJ?{erGwD?px(aoqoxZHr4 z%|PPScV`)$_P^^`7+7UMtf?|)_qYT*JQA(tM^CFbJngLy(C?lIp%^R89z~WREw}P| zy0c*s6Fo;YI`cj2-y9_zGf)3?627^m7NpEjM=hYXSOzdY7pC&(t6-yjvP ztv*jH5D($CJ`?ePU}9E)6#DwzFkkMPeCjn`DJ3HCxieIiQ%7&qy`=OfDh(p*^I0Wv z(dlZ7SQvw;QuvhaGV|0vlOd}>An&g&`Bhs-7KTusGfM=S4FDopR!E+7j4TgZEZO`@ z1QFq;$*0fuvi5848Cu=?+)w2B*I|JpI^QeNMp*53sPPiFmWJ=J=6b-s9P|9>%=m&y}nh-c|V`${%htYDL4E~GV)B9|4b5iaCP(}1U zrc7{Yu4%sluZg z-7V{UG;Zxssi)XR&sk9bI&GiJc=ZtaIrEj9O>La@uzSkW2x=V)J*hc)IsB!&mAyE@ z@lbAx*;G__y5_vZYG<_S4=2^Ovv(UCHWy`6RyU19a_0o%_YzZqTe*tx?s=m1F1nZD z($x>&g0l>k>Bg0d_xjwa@C2umMkW7&h|a1Mv<6=sKSITdeeBxor!kSuqLNz1psz!` zcQUi=V+dAphNCmUWwA&V%-bMLe}{Nq$2%DbRu4iak~o4hFI44z2n+so(Li8T`KMs{ z*hxj?VlAE;I~;Dvfe^Rb<{j5JsI^=kmY9plB<{ZoTbHiNCU}1m2AxQ|6$z!?s->24 zU30S)M2jXxD_OYm$LS1Q`ttY5(17C$shss}+L`=zp^LrI!>IFxqa~3U+ z-QF~d{@PkNJiYcZIO--_{rwd%Q+^FAZC=;at`%g$`oG)|0PFChwMi3X%BisXP3{-Q zE{=wf`TBk*IXvjpe2#guaGyi<^^;R~hBisCTRL00#{qi{F4}vM6h@cO!~r$g99XA~fk7y4&;QM~_vVIknAS z2>VvOt%^(W^0ZruKB+JyV4mc|d^U4|&SEIbwCd0@2`t=nqfj@p} zEO+K2j`;M3Wkb{3RZAnbw^J_Q<9b*EMDj8O#Jtm0>%5y-Lf7owvT7_;U6fn~W$<9eUcOGTq}2z+`V#&YPqqHGzE$Dq z*QaH#IKoEKLjX(7H?TfVt5{58tIQ`ZI%w+^=RLF9;)q$Zln!aF^+KX|NJN3p%%t<| zwjjPYuiz#>u}gOSLTFl0sL=zrQm<9pBrOvGbqaVF-)leW?t+|0YD6uJcbz52D9=pg zk6zGDAytsDr?l1#`BR>s7B@}!u*eDG8N^Sp3-c&}tByR`%C}02;?Y-$C>|<7T^fYf zDpU6!S?@67*YFv_wDr(S2?rhM`|csDJ*iXEEtT-a1F%i&SA?zfOUL4qCfMb7Cd$Mt z0D$h*6Vq!opQUS;K6`A44<23dU9k-{5DZyV`<>uVJ6C4Gf%ePCy(BBvar=7srnv3Z z{YZIvQJ?(Kn|y}M=Ty0sFaGqbJoIUwMEX~>AxS{FkUqS)R#m19xNv=9i{clSYaOqw zf;2A5&%l#?ffD~~IImYFm{WDAs!+4mLnF`G=%GRvGW{ZjJOl!*n+bEfE<7BKGWo7B z{?Ml`#%7jBM;x{ zV{&>+uKZKr)dQu9EulY;WFou5F6KTHD>EpqSuf_7bI9rKGNAa@J9dk=Okp$Uz5{NU z+OTXQEM7Dix;#`*ZUZh=n3X9gr@sXn+Rr6;?W*?U(}5foX~7PWj^}gae!`AxWojun z{i90dF=)bL!^OcN(lTTC zK)22AC){0>o?k7f+#I>azLX}z|Lfy{Qcplj-S^qtb+kQz&z-+AL7wz)v8we?kQq{v zPbTaA_8ss8A54IUXoCO7wb>wcJ3;qBur9@Sm*uxYy+eK3AzQwBHe5gLhFAN%yW-XQ zKfd~G)H8-S-^iQeK2^&}q+wU?Z1`Ypf}M|_ z>_-W@vhz)+mA!MD?W@i&@wd%g{5EUPK$5?SmmmH3@mPYKnDH|4_SaDeYsS~-QZu@H z8!DOm2Sz`ZWy=)p{}rsDX|n21Fu6RLpg?R)D9eUpLgA3ctf9NrFHj6wNV)3Ap0ydB+y8E2FVS(sgZX%G1UX+g z?S%tDR(g1_R0QAa+?WauUsBq#C+de>esT#c-=@Ap8O;qlV)ATE6p!t@txI6es95UVwPbhn9WtXVBtF)f0av%G;YB&WvV(hXzxbWw zP;?X?9j59zs89uY+tt}oPc;y*>))97n-7=a@DMj;55M$s^tvZh>@Rc|$=4Yuq}X{X z4sW9VUuO4gAM&2@213ryODnrfkma{ymPX(C)nD%%&^m25O(-Ai=_@>@g6|GGs8t)c zdcBkulwno~?_TA~gbL&RTFfgHIEd#4=}VK$DD=1UCC6-rNr!KcqplSDNzNYJ{Knhh z4T+Z;#QkJW;p`YBb(LCQ;)qh8a+S0xIUK2;m{Fu;p9n#Mkvn+V!pk5lv#}13YMbp@-=ePb_ym0*@xU>27r4c z(LVj=iX+~Puo~otVeCyP-`!pvTv109!dJU$$F5c4HJ&R-heqEaFKU}l188t;QWK#R zk3KBnZ3X8m#l!OXOQ%+Gt=Ny<0TWm!C#_1EaI(ccK>q&s_xXQwn+M!PNX`Fv&%3d2 zAL0#p+#2An?VF4G*}4xt!l=hG1YT_=4#ti}({WwddqDn3&zM9}kDQ zE^$wAGQ^UTupiHyhST-jKCJeU{0{hDw{{pdWO9<|d6SrSS#I3*!^IEYJ5L^A6vVfE z@VHv+{dSA}QNouhu&uukqIp;@1A1i%Abp+SGriq7pFHDGz^ z*7nS^S0)#m8I^eDoAo>DLr`_`^Hj7&(M!j-3m;h0q}b;|0IVjo6A zdHX;sPHEbbege7TAdJ7V{=TT~#%VTPTRnZusKHJ7kndQhr5!y7Fny)LW3l|IA}ils zA4qG9`Oqc;{d=lv z&ZcTA`H(-w(D@eETdm#LbC+P8JiCB}c3e+ZJ&yF1cE=ZZ#_q zf$`*^3Mpl$_s7%=L&Xj{9K_<&{;QMiMrl6>B@65N|I|z$4`^bY-&lTqqrJ2;*+*&4 z+Rt}^AtD1Vb~Rxmln<=j-tAE3=kXkN6W10h%Q;N4q8p13ty_QUV<0s;D6lyKar8X0 z>H6cwpGKPY(&_>q6P2++{2vQ`{*4ouQIE+zFepYq8VukR>jO;Doo)+52ZPc&`xDlbd_pbDt=~6xowI;EyvI6i(r(S%8gHZmarDVTv zUup44@kxeJgUDl9UGa!?>61vG<>8L{5UNiS33oB1l)ItaDk6A`Q)NK{kL@ar1xYDK zLem?Pja7Q9(*u5ft$$dZHBY1!#RL9(@aWN=8LGoIfz*%fez6>>3@0Nl)bq8o>y<}C zYkdB6blj^}^f@t%o6r~m2E?w-NziOMOG^dFcdtL2Ainx^A>3D~tvcQRTg%{JbryoX z1$Ot4m|$lVAkxx>bfgre%c~x4-J;{h3K7e5W9@Vs5E7neQ_oTZY<%+;OR_qJWnWaB zAcl&M_S5LIc!VJ*97FpJ%+oIxH!5n}MG0uk>>DoDxQjw?6s33J9WGpbCk&}uT={U- z8ZAzBO;K0_t1id|f8+|RiNet8i-X;~lSnUwi6}tLRD#|cDk=c2KTu)SG1Mw>WXOtD z&ys|pQQ(|#1^$)~ra)g;{~C@VTzwx5$bBhFSya1mwkM$%&vx%ROuHKlfyc!Zmn=6aaygZUJ}n+j&?!hdaUv@T zjw}n(PiSJOh2RjUpBRCmodP_%L^C;tgBtfv12fthnQjcPPYb`(o^s=ahM^&U@f*lW<9Qe77L2VB8JJW~4AG55YSvL5nW= zXc7Lk@gjIQVMO2ez0MMG9gcRVT3@H5!oG&4__nK?npW`4H4N#32)h=v-A=Hly9}9x zPGJ5?OEAJyY2c}>Hm4xePmX`xOrEQrbyJae~^j@SN-tc39X zq((qEi)Ooa!u_M+{^Gn^)Kni~IPzV35;3`xu}mQXwq_v-;hR@Xxv2Z#wfl}};c*9{ zO^zhQXq^?r-$)5aqmrh}0i0bcWp^qZn(o9p38xsMhY~CVS&o#jR4OU@lRM~1DcF=J za7-u4L^EoTGK!wT85KbmOF5JQhc`&-6wVZF^ltxuxv>Posd~qi3r#*QVRrG;+8V;R zzVdt5aazHHauIf()h;g^VUoXsfuNrC0*2D(f;){c5PRToJ1d2IbQ8i;ZnstFV0T>@ zvkvdEJE?IKU?I=D!%X^*BO@Wm`H0=S1>;j99j-ZUwwr*VMGix}emJ7g4y)d%N=4`h zyAy+>#$iRm!As29K`Yp)0n?B9UVEHS=P5YSePi8jA?xjao#%!yo^} zN*O}y8jeizP~)DMU`C&1iU>nXk>EyWA4)(^JdXo6gOqo~8GAGljyhi-mI8a1fg$mB z#PMvKPMj)VkRTH@sUS4z88a-*&VN#j@Kipy)8%)E&lA*@u-1b3*>^{B;r>jxK!9_u zdq~$Wbko^pG130polyIN0UL4)ObClKE7+>-|D$$#Qy}jyp`W?AI~D`~^t6q&$~4YI F{xAB|=WhT2 delta 36751 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