From 694de11e67c6d0ea9b5d55b5e688f9d7fc861650 Mon Sep 17 00:00:00 2001 From: Rotondo Eloise Date: Tue, 4 Apr 2023 15:38:11 +0200 Subject: [PATCH] Changements bridge.tex --- docs/rapportFinal/centralisation/bridge.tex | 30 ++++++++---------- .../imagesBridges/GraphLossesBridges.png | Bin 39626 -> 25468 bytes 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/docs/rapportFinal/centralisation/bridge.tex b/docs/rapportFinal/centralisation/bridge.tex index 567b2ef..7b041bc 100644 --- a/docs/rapportFinal/centralisation/bridge.tex +++ b/docs/rapportFinal/centralisation/bridge.tex @@ -10,7 +10,7 @@ Il existe trois différentes manières de déplacer les \gls{actif}s en tant que \subsubsection{Mécanisme de vérification} -Comme évoqué précédemment, deux \textit{\gls{blockchain}s} ne peuvent pas communiquer directement entre elles, par conséquent lors de l’utilisation d’un \textit{bridge} les deux chaînes ne se connaissent pas et ont seulement connaissance des évènements se produisant sur leur chaîne respectives. Il est donc nécessaire d’établir une relation de confiance entre les deux chaînes pour qu’elles puissent accepter de communiquer. Pour cela, les \textit{bridges} emploient un mécanisme utilisant des \gls{vérificateur}s. Un \gls{vérificateur} est une entité connectée en tant que \gls{noeud} au réseau de la \textit{blockchain}. Ce dernier agit comme autorité de confiance, vérifiant et validant les transactions sur cette dernière. Un noeud d'une \textit{blockchain} est un ordinateur connecté au réseau de cette dernière. Un \textit{client} est un logiciel permettant de transformer un ordinateur en noeud. \cite{EthereumNodeClient} \\ +Comme évoqué précédemment, deux \textit{\gls{blockchain}s} ne peuvent pas communiquer directement entre elles, par conséquent lors de l’utilisation d’un \textit{bridge} les deux chaînes ne se connaissent pas et ont seulement connaissance des évènements se produisant sur leur chaîne respective. Il est donc nécessaire d’établir une relation de confiance entre les deux chaînes pour qu’elles puissent accepter de communiquer. Pour cela, les \textit{bridges} emploient un mécanisme utilisant des \gls{vérificateur}s. Un \gls{vérificateur} est une entité connectée en tant que \gls{noeud} au réseau de la \textit{blockchain}. Ce dernier agit comme autorité de confiance, vérifiant les transactions sur cette dernière. Un noeud d'une \textit{blockchain} est un ordinateur connecté au réseau de cette dernière. Un \textit{client} est un logiciel permettant de transformer un ordinateur en noeud. \cite{EthereumNodeClient} \\ Il existe un grand nombre de \textit{bridges}, chacun avec leurs propres spécificités mais ils peuvent généralement être séparés en deux catégories les \textit{Trusted \gls{blockchain} Bridge} et les \textit{Trustless \gls{blockchain} Bridge}. \\ @@ -27,13 +27,7 @@ La vérification native commence par l’utilisation d’un \gls{noeud léger}. Un avantage de cette solution est qu’elle est reconnue comme étant celle reposant le moins sur la confiance parmi celles existantes car les chaînes ne se fient qu’à leurs propres \gls{vérificateur}s pour effectuer le \textit{bridge}. Un autre bénéfice de ce mécanisme est le fait qu’il n’utilise pas de \gls{vérificateur}s tiers entre les deux \textit{\gls{blockchain}s} et donc la sécuté du réseau dépend des \textit{\gls{blockchain}s} elles-même (ce qui est avantageux car elles sont robutes et préparées aux attaques comme la chaîne d’Ethereum par exemple). Un désavantage de cette méthode est que le noeud léger doit être adapté aux consensus des chaînes auquelles il est attaché ce qui le rend inutilisable avec des chaînes différentes. Le noeud léger nécessite également de la maintenance en cas de changement des règles consensus (utilisées pour valider les transactions). Un autre inconvénient découlant du fait que le noeud léger est programmé de manière spécifique est que ce dernier n’est donc pas réutilisable. \\ -\pagebreak - -La vérification externe consiste en un ensemble de \gls{vérificateur}s n’appartenant pas aux \textit{\gls{blockchain}s} relayant les données entre les deux extrémités du \textit{bridge}. Pour se faire, un certains nombre de \gls{vérificateur}s doivent signer un message provenant de la chaîne d’envoi pour que le chaîne destinataire le reconnaisse comme valide. Par exemple, pour le \textit{bridge} \gls{Wormhole} 13 \gls{vérificateur}s sur 19 doivent avoir signé\cite{NomadDocsExternal}. Ce concept est une primitive cryptographique (algorithme cryptographique de bas niveau servant de base à un système de sécurité informatique) nommée le système de signature à seuil (désignée par TSS pour \textit{Threshold Signature Scheme})\cite{BinanceTSS}. -Contrairement à la vérifications native, les \textit{bridges} vérifiés de manière externe sont faciles à développer, peuvent être réutilisés sans problèmes et leur maintenance coûte peu. Le désavantage conséquent de cette méthode est que la sécurité dépend des \gls{vérificateur}s tiers du pont ce qui peut fragiliser le système car ils sont généralement moins sécurisés que ceux des \textit{\gls{blockchain}s}. \\ - - -\begin{figure}[h!] + \begin{figure}[h!] \centering \stackunder{ \includegraphics[scale=0.60]{centralisation/imagesBridges/LightClient.png}} @@ -43,7 +37,10 @@ Contrairement à la vérifications native, les \textit{bridges} vérifiés de ma \label{fig:LightClient} \end{figure} -\pagebreak + +La vérification externe consiste en un ensemble de \gls{vérificateur}s n’appartenant pas aux \textit{\gls{blockchain}s} relayant les données entre les deux extrémités du \textit{bridge}. Pour se faire, un certains nombre de \gls{vérificateur}s doivent signer un message provenant de la chaîne d’envoi pour que le chaîne destinataire le reconnaisse comme valide. Par exemple, pour le \textit{bridge} \gls{Wormhole} 13 \gls{vérificateur}s sur 19 doivent avoir signé\cite{NomadDocsExternal}. Ce concept est une primitive cryptographique (algorithme cryptographique de bas niveau servant de base à un système de sécurité informatique) nommée le système de signature à seuil (désignée par TSS pour \textit{Threshold Signature Scheme})\cite{BinanceTSS}. +Contrairement à la vérifications native, les \textit{bridges} vérifiés de manière externe sont faciles à développer, peuvent être réutilisés sans problèmes et leur maintenance coûte peu. Le désavantage conséquent de cette méthode est que la sécurité dépend des \gls{vérificateur}s tiers du pont ce qui peut fragiliser le système car ils sont généralement moins sécurisés que ceux des \textit{\gls{blockchain}s}. \\ + La vérification externe consiste en un ensemble de \gls{vérificateur}s n’appartenant pas aux \textit{\gls{blockchain}s} relayant les données entre les deux extrémités du \textit{bridge}. Pour se faire, un certains nombre de \gls{vérificateur}s doivent signer un message provenant de la chaîne d’envoi pour que le chaîne destinataire le reconnaisse comme valide. Par exemple, pour le \textit{bridge} Wormhole 13 \gls{vérificateur}s sur 19 doivent avoir signé\cite{NomadDocsExternal}. Ce concept est une primitive cryptographique (algorithme cryptographique de bas niveau servant de base à un système de sécurité informatique) nommée le système de signature à seuil (désignée par TSS pour \textit{Threshold Signature Scheme})\cite{BinanceTSS}. Contrairement à la vérifications native, les \textit{bridges} vérifiés de manière externe sont faciles à développer, peuvent être réutilisés sans problèmes et leur maintenance coûte peu. Le désavantage conséquent de cette méthode est que le bon fonctionnement du système dépend des \gls{vérificateur}s tiers ce qui peut le fragiliser car ils sont généralement moins fiables que ceux des \textit{\gls{blockchain}s}. \\ @@ -65,27 +62,28 @@ Les \textit{bridges trustless} utilisent des \textit{\gls{smart contract}s} lors Un \textit{\gls{smart contract}} étant un script écrit par un développeur, il est possible que certaines erreurs puissent s’être glissées dans le code par inadvertance ou bien qu’il existe des failles dans le programme permettant aux attaquants de le détourner pour un profit personnel. Pour minimiser ce type de risques, il est recommandé d’effectuer des audits sur les \textit{bridges.} \\ -Une faiblesse spécifique des \textit{bridges trusted} repose sur le fait que les utilisateurs doivent léguer le contrôle de leurs \gls{actif}s et faire confiance aux \gls{vérificateur}s externes aux \gls{blockchain}s. Sauf que dans certains cas, ces derniers peuvent coopérer pour tromper les utilisateurs en récupérant leurs \gls{actif}s puis en disparaissant comme dans les \textit{rug pull}\cite{EthereumRisks}. Ce modèle d’escroquerie peut être scindé en deux catégorie : les \textit{hard rug pull} et les \textit{soft rug pull}\cite{Hacken}. Le premier cas est basé sur un piège présent dans le code d’un \textit{\gls{smart contract}} empêchant les utilisateurs d’utiliser ou revendre les \gls{actif}s frappés, seul le fraudeur en a le droit. Il peut donc en toute tranquillité revendre les \gls{actif}s et récupérer l’argent. En revanche, pour les \textit{soft rug pull}, les utilisateurs ne sont pas coincés avec des \gls{actif}s verrouillés mais les fraudeurs utilisent des techniques psychologiques. En effet, les escrocs rendent attirant leur projet pour que les clients investissent et hésitent à se retirer par peur de perdre leur investissent (souvent de taille conséquent) puis les créateurs de la fraude disparaissent avec leurs \gls{actif}s.\\ +Une faiblesse spécifique des \textit{bridges trusted} repose sur le fait que les utilisateurs doivent léguer le contrôle de leurs \gls{actif}s et faire confiance aux \gls{vérificateur}s externes aux \gls{blockchain}s. Sauf que dans certains cas, ces derniers peuvent coopérer pour tromper les utilisateurs en récupérant leurs \gls{actif}s puis en disparaissant comme dans les \textit{rug pull}\cite{EthereumRisks}. Ce modèle d’escroquerie peut être scindé en deux catégories : les \textit{hard rug pull} et les \textit{soft rug pull}\cite{Hacken}. Le premier cas est basé sur un piège présent dans le code d’un \textit{\gls{smart contract}} empêchant les utilisateurs d’utiliser ou revendre les \gls{actif}s frappés, seul le fraudeur en a le droit. Il peut donc en toute tranquillité revendre les \gls{actif}s et récupérer l’argent. En revanche, pour les \textit{soft rug pull}, les utilisateurs ne sont pas coincés avec des \gls{actif}s verrouillés mais les fraudeurs utilisent des techniques psychologiques. En effet, les escrocs rendent attirant leur projet pour que les clients investissent et hésitent à se retirer par peur de perdre leur investissent (souvent de taille conséquente) puis les créateurs de la fraude disparaissent avec leurs \gls{actif}s.\\ Comme vu dans la section présentant les différentes méthodes d’échange des \textit{bridges}, ces derniers frappent les \gls{actif}s désirés sur la chaîne destinataire. Certains attaquants peuvent profiter de ce mécanisme de frappe pour effectuer ce qu’on appelle une \textit{Infinite Mint Attack}.\cite{ChainLinkRisks} Cette attaque peut se résumer à un \textit{hacker} générant un nombre élevé d’\gls{actif}s en utilisant une faille d’un \textit{bridge} sans verrouiller ou brûler d’\gls{actif}s sur sa \textit{\gls{blockchain}}. Suite à cela, l’individu réintroduit ces \gls{actif}s sur le marché ce qui fait violemment baisser leur coût ce qui engendre un risque financier systémique.\\ -Les \textit{\gls{blockchain} Bridges} sont devenus un outil indispensable des échanges centralisés très rapidement, mais il ne faut pas oublier que ces protocoles sont relativement récents. Créés par de petites \gls{blockchain}s comme Syscoin et NEAR Protocol dans le but de rentre leurs chaînes interopérables avec les applications décentralisées d’\gls{Ethereum}, les premiers bridges datent de 2020\cite{Bitstamp}. Par conséquent, nous ne connaissons pas encore le comportement des \textit{bridges} lorsqu’ils font face à des scénarios sortants de la norme comme des attaques réseaux, un retour en arrière sur les transactions d’une \gls{blockchain} (souvent désigné par le terme \textit{rollback}) ou bien pendant une congestion du réseau. Ces zones d’incertitudes peuvent donc être une source de risques. \\ +Les \textit{\gls{blockchain} Bridges} sont devenus un outil indispensable des échanges centralisés très rapidement, mais il ne faut pas oublier que ces protocoles sont relativement récents. Créés par de petites \gls{blockchain}s comme Syscoin et NEAR Protocol dans le but de rentre leur chaîne interopérable avec les applications décentralisées d’\gls{Ethereum}, les premiers bridges datent de 2020\cite{Bitstamp}. Par conséquent, nous ne connaissons pas encore le comportement des \textit{bridges} lorsqu’ils font face à des scénarios sortants de la norme comme des attaques réseaux, un retour en arrière sur les transactions d’une \gls{blockchain} (souvent désigné par le terme \textit{rollback}) ou bien pendant une congestion du réseau. Ces zones d’incertitudes peuvent donc être une source de risques. \\ \begin{figure}[h!] \centering -\includegraphics[scale=0.30]{centralisation/imagesBridges/GraphLossesBridges.png} +\includegraphics[scale=0.50]{centralisation/imagesBridges/GraphLossesBridges.png} {\scriptsize Source: \url{https://www.treehouse.finance/insights/blockchain-and-interoperability-globalization-3-0}} \caption{Pertes en millions de dollars des bridges les plus connus.} \label{fig:GraphBridges} \end{figure} + \subsection{Le trilemme de l’interopérabilité} Malgré l’existence de plus d’une centaine de \textit{bridges} différents, les développeurs et les utilisateurs voulant utiliser un \textit{bridge} doivent faire des concessions lors de leur choix vis-à-vis des trois notions de \textit{trustless}, d’extensibilité (\textit{extensible}) et de généralisation (\textit{generalizable}).\\ -Le mot trustless peut être traduit par «sans confiance». Si un \textit{bridge} est caractérisé comme \textit{trustless}, cela signifie que celui-ci possède un niveau équivalent à celui d’une ou des chaînes sous-jacentes, il est donc pas nécessaire de faire confiance à une entité externe aux \textit{blockchains}. La notion d’extensibilité signifie que le \textit{bridge} est compatible un grand nombre de chaînes. -Un \textit{bridge} respecte la notion de généralisation s’il est capable d'échanger n’importe quel type de données accepté par les deux chaînes.\\ +Le mot trustless peut être traduit par «sans confiance». Si un \textit{bridge} est caractérisé comme \textit{trustless}, cela signifie que celui-ci possède un niveau équivalent à celui d’une ou des chaînes sous-jacentes, il n'est donc pas nécessaire de faire confiance à une entité externe aux \textit{blockchains}. La notion d’extensibilité signifie que le \textit{bridge} est compatible avec un grand nombre de chaînes. +Un \textit{bridge} respecte la notion de généralisation s’il est capable d'échanger n’importe quel type de données acceptées par les deux chaînes.\\ Pour illustrer ces termes, il est possible de les appliquer aux types de vérification appartenant aux \textit{bridges}. La vérification locale respecte les notions d’extensibilité et de \textit{trustless} puisque qu'elle est applicable sur tous les \textit{bridges} peu importe les chaînes reliées et le niveau de fiabilité dépend de la chaîne la plus faible. La vérification native ne respecte pas la notion d’extensibilité car le \textit{bridge} n’est pas réutilisable. Néanmoins elle respecte la notion de généralisation parce qu’elle est codée de manière spécifique aux \textit{\gls{blockchain}s} reliées au \textit{bridge}. Le critère basé sur la notion \textit{trustless} est également rempli étant donné que le niveau de fiabilité dépend des \gls{vérificateur}s des chaînes. @@ -112,7 +110,7 @@ Les deux acteurs principaux ayant les moyens de nuire au bon fonctionnement du \ Le premier cas impliquant le \gls{vérificateur} se nommant \textit{Updater Fraud} (fraude du \gls{vérificateur}) fut déjà mentionné lors de la présentation du fonctionnement du \textit{bridge} optimiste. Ce dernier repose sur le fait que toute transaction doit passer par le \gls{vérificateur} et que par conséquent toute fraude est originaire de ce dernier. Sinon si cela venait d’un autre participant, le \gls{vérificateur} n’aurait alors pas accepté la transaction. C’est pourquoi, lors de l’intervention d’un observateur prouvant une fraude, le \gls{vérificateur} est sanctionné par le retrait sur son solde d'un montant équivalent à la récompense promise et par son exclusion du réseau de la \textit{blockchain}. \\ -La seconde faiblesse liée aux \gls{vérificateur}s est un \textit{Updater DoS} ou déni de services de la part du \gls{vérificateur}. En effet, il est possible que le processus soit interrompu si un validateur arrête de signer empêchant l'échange inter-chaînes de se produire. +La seconde faiblesse liée aux \gls{vérificateur}s est un \textit{Updater DoS} ou déni de services de la part du \gls{vérificateur}. En effet, il est possible que le processus soit interrompu si un vérificateur arrête de signer empêchant l'échange inter-chaînes de se produire. Une solution a été implémentée pour palier à cela comme la mise en place d’un système de substitution avec la présence de plusieurs \gls{vérificateur}s sur une même chaîne afin de pouvoir prendre le relai en cas de manque de réponse de la part de celui étant rattaché au transfert. Pour éviter que ce scénario se produise fréquemment le \gls{vérificateur} ayant manqué son tour lors de la signature (que cela soit accidentel ou voulu) est pénalisé de la même manière que le cas précédent. \\ Maintenant que les possibles obstacles au bon fonctionnement du \textit{bridge} liés aux \gls{vérificateur}s ont été mis en lumière, il est également possible que l’observateur ait un comportement malveillant. Effectivement, malgré l’absence de tromperie (puisque le \gls{vérificateur} remplit son rôle), l’observateur peut abuser du mécanisme de déclaration de fraude pour impacter le bon déroulement du procédé. \\ @@ -120,5 +118,5 @@ Maintenant que les possibles obstacles au bon fonctionnement du \textit{bridge} La faculté de l’observateur à pouvoir couper la connexion s’il conteste la transaction lui permet d’effectuer un déni de service appelé \textit{Watcher DoS}. C’est pourquoi il lui ait possible de fermer définitivement la connexion d’une transaction si ce dernier continue sans cesse de couper le processus sans raison valable. Heureusement, la fermeture ne concerne que la connexion et n’impacte en aucun cas le système du \textit{bridge}. Cependant cette attaque semble irrationnelle en terme de ressources et de temps car l’observateur effectuant le déni de service ne gagne rien financièrement contrairement au processus habituel. En effet, si un observateur prouve une fraude correctement, ce dernier peut récupérer la récompense du \gls{vérificateur}. Mais ici puisqu’aucune fraude n’est prouvée les données se trouvant sur la chaîne d’origine sont conservées et sécurisés. Cela cause seulement une perte de temps pour l’utilisateur ou l’application décentralisée voulant effectuer l'échange d’une \textit{\gls{blockchain}} à une autre. Une réponse à ce problème actuellement mise en œuvre par le \textit{bridge} de \gls{Nomad} est la présence d’un groupe restreint d’observateurs autorisés à contester, de cette manière il est facile de connaître les observateurs malveillants. Chaque observateur possède une clé permettant de signer une attestation confirmant la présence d’une fraude dans la transaction, chaque \textit{bridge} stocke un ensemble contenant les adresses des attestations appartenant aux observateurs autorisés. Si l’attestation reçue par le \textit{bridge} est présente dans l’ensemble alors la connexion est rompue\cite{NomadDocsWatcher}. -Sur le long terme, une proposition consistant à la mise en place de frais si l’on souhaite contester est en train d’être étudiée. Le montant doit répondre à deux contraintes: ce dernier doit être assez haut pour dissuader les observateurs malhonnêtes mais assez bas pour que ceux ayant réellement l’envie de prouver de manière valide une fraude existante puissent le faire. Dans la continuité de cette solution, il serait également possible de récupérer la signature de la déconnexion générée par l’observateur sur la chaîne originale et de le pénaliser en lui retirant les frais qu’il a payé tel une garantie\cite{OptimisticBhuptani}. +Sur le long terme, une proposition consistant à la mise en place de frais si l’on souhaite contester est en train d’être étudiée. Le montant doit répondre à deux contraintes: ce dernier doit être assez haut pour dissuader les observateurs malhonnêtes mais assez bas pour que ceux ayant réellement l’envie de prouver de manière valide une fraude existante puissent le faire. Dans la continuité de cette solution, il serait également possible de récupérer la signature de la déconnexion générée par l’observateur sur la chaîne originale et de le pénaliser en lui prélevant dans son solde le montant de la récompense et en le bannissant du réseau de la chaîne qu'il surveille.\cite{OptimisticBhuptani}. diff --git a/docs/rapportFinal/centralisation/imagesBridges/GraphLossesBridges.png b/docs/rapportFinal/centralisation/imagesBridges/GraphLossesBridges.png index 79294db83dc35a1c4414ceb92761279c2b615378..f15aead60377043262b6719e3912220e59591906 100644 GIT binary patch literal 25468 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

J&DJYvXxo66EJzkkjR zDcUxq)VhkSk>jq_bn4|(IQJMjf8wc(P2&F$KR@J> zRV?y| zuS_jw^Pv0LhF5l#f76{W97nvpp#8QVf402zL`}OvE}JCLR#f)|%Vp z(&g?SIvo#lifuOu9>c%#7)iN%%ZV5)n8h^N%u9A{+%*~e zHpz0zt};z4_@K>Y%uIRv*$dY7)j#6Ziu&a19X%S#pPH|Aj60PWTyA%`&3dcdrTJkT%w@qIpckFW8^c~8xf$IJs^Uj_lP0Wk9n7vt@p}{b1 z*)7+%P`c3Y@gvr&-;8=RH@&%lGBw;ibI0~}#=zL8v|$(T?esH3*wP&G*ci^*8)IUn z6SGm`Vun5n&fR;~S@BHQv!h37Z=&1cTt4dMoo(D-;K+Eawp;zc)}f}X-WHc>{O^AS zn*hsLQNM$*d#F~>WheFHz#&r%w&P^tHHz+D&(LmdJ;9_#A5$A+LWY>os28e)|T$s#B;dJyWzI{ zMYcBm2++Yqx1IS}6NRf%_R($<2U4U&v!>UE0@K*^YcM?3>hc3Os!uI_TQ z++|{RlZ8MPg%LEI*=qd^0nv#;)!h5Vw(HJX*ZX(j4OQn&IZLPNDNq_YDzloD<8v)9I)caJ|AmLrsbu{(-c zs|2pjqxDTZ5ZULfjj$bm2+EVkgc-#QOx85HW=m(65~|-9?s>_hHr2de*&g>=&Sz`% zc_~min%`zA-b(JnABb`ddGlhQ>MZj%W;R+y(e+-5DxK5(n~(BKMC zngMW4u=s;ZwRqPmx=;PjO6OZ`qvS%1UiZopb`I5gs)P$N+|L?kCc22;#~)Q*p9Zp< zb`$kRWs>`1?hZNz-Hn9grOmeRyxKfG#p$}-aP*JTCkDR??HNw@c&&NauU1y#4*dGw zPRbs`_H^DJee%BTHd3^0G>RO|-6GjBZRX>Nn9W+zfHP6CNPK;~kK3SS2_gJU=TH4Q zAZCU%?Fo%jmZMbg5%RxG#UOZBAXA~7QX4U$v${UG0j@3os@{b5o48FOwpMG;h`2$D zR$K)&#nC84#9VZB3K`L+G7?N5`J}ifFtqODVSJIMYDo8pXv#iVU*nyvS^M^gKgV_ zTe6#C-!0G43HKs`T4zd9Z?j_w{u=5f&q7?@{%up=ov2Z6Gw}*sosQ@qUSX5l=zX}z zMto@M0L(|9SV|t_N<=CdCr52>%^$ujd%xv;RGT3?^GS2V4jDR#I)S&?wy~=Gy+UH$ zM9^a-;)#5u>o4m#PZ#p*6G9Gv!*1+~5(OQJnINJ3x=KN*EZO08q zn%+sYUYp?Les&gT1G|oiX}l^oIkSVb%&+S&|0u6Wa;AbsCY;`8MF|+)1b|$lL7@Uh zNPJ{VblX$7#?is^!%b_=iqZuyX7s#kA%tAatCce^l2A1mZo2xyei!#mgoo~UYQ>u@ zG;6~nMt$Bo%#UJsaN@V~$J96|{b|SO=KC12FcpLjFT#U;CD3fQ$S%y;WdiLE-7u$J z>3CmHyOYbsIUS6;D>9>&iuC@#Qd*y&+$uv(>hom+SIj`s-NR$l%t7qmUhlk%z&j@} zL)B=w6uzdh(Zp@iyp-MEDdi`Ip3>PXAkcCRzG^*qCRrVcY$&6dn8`(D5~hv_3JAOe z$wlz?;{ShGobU1U`^lh8I@`?R!fn7PK;Ybu zw9ZcOC|_@q<2K~r`-D@jpykxm)R4%(1VW&f+f|NV!|2@8C*+1g?{#~F@=^g%|0+O8 zfnJGI#8&o}TV?J#tL1eR0}{~!`mwX0NTFtL7^sn|Pvq1TA;AXSR|5az6f@BalN$cP z4&1Q271#l;FBMr-yr%Sl8*OV##}sY4Hf4dUS)kjD0WcFTxL37FH$fD7{&!H$*V*}( zwNaPHhuuW0q71Ktb)9<26HmHeV6QAcdlOyzQcc#fD*@8rg<*XPct{TG2faTYqfiva z)h92PYPcyy!GWu?e2yQq-*Z%y~?tOfzsY3=&o8w$U zBhP_r-t=uTVbUR{UdB2?ByaMo_a79ul3p*nVhbup1@0$@6B2!1dPE-E4ql!~rm+rh zuEfKo>Z6l4a7=tQ$x%CDS^2q#0|U)%5F=WqFWE^CE6;)Vn5;6>!hRO`bYf0fkdhn@BwNF1@E>QdD>>i93 zVRTq)fA<6>c{qmODF9v%?=hc*b$IQ+M)2^UReQ4 zOj~&P4gp#!ETS@zomFZ>d3bndYhY{qVB<7fqxDWwfzwT!aJLTanP&05I+xfeNr9J; zk~+oopqN3y?Dr17J9;$0Z3A$L9DV5N{xo82=wJ83H(7Z4_p5+Xu~TPXKvdA$0Ebf% z#ZAJo18oyht9AimZfj6vcao2vj%S=ei6->IJ0WG|I-mRT@fnT|M@1QT2!Dlp+kf0@ z>qb0xvNT-EkSp}0Xy+4GSyKM25ooj)cZsVz!PfMKA^_7V7;-%)EaABN-q zn$19&$nB&b-3guIdK==76ezlkDuT;lc6T#%In*5rOtQKv@Oa z5FB>Z4Y#$;g)0S|ewuBP1MZnj1(#WMv}Fo7-G=_v|DON+r=w@)~ QT0lVii2mX9LudZ{Us4VsJOBUy literal 39626 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