From 875604196987876127dd3108b600124608c5e241 Mon Sep 17 00:00:00 2001 From: Lal Chandran Date: Mon, 12 Feb 2024 19:50:11 +0100 Subject: [PATCH] Fix #3: Added the first version towards EWC ITB conformance Signed-off-by: Lal Chandran --- ...teroperability-profile-towards-itb-v1.0.md | 387 ++++++++++++++++++ .../itb-service-integration-architecture.png | Bin 0 -> 49310 bytes 2 files changed, 387 insertions(+) create mode 100644 ewc-rfc100-interoperability-profile-towards-itb-v1.0.md create mode 100644 images/itb-service-integration-architecture.png diff --git a/ewc-rfc100-interoperability-profile-towards-itb-v1.0.md b/ewc-rfc100-interoperability-profile-towards-itb-v1.0.md new file mode 100644 index 0000000..1f9a9bf --- /dev/null +++ b/ewc-rfc100-interoperability-profile-towards-itb-v1.0.md @@ -0,0 +1,387 @@ +# EWC RFC100: Interoperability Profile Towards ITB - v1.0 + +**Authors:** + +* Dr Nikos Triantafyllou (University of the Aegean, Greece) +* Mr George Padaytti (iGrant.io, Sweden) +* Mr Lal Chandran (iGrant.io, Sweden) + + + +**Reviewers:** + +* Mr Florin Coptil (Bosch, Germany) +* Mr Matteo Mirabelli (Infocert, Italy) +* Dr Mikael Linden (Vero, Finland) +* Dr Andreas Abraham (ValidatedID, Spain) +* Mr Renaud Murat (Archipels, France) +* Mr Sebastian Bickerle (Lissi ID, Germany) + + + +**Status:** Ready for review + +**Table of Contents** +- [EWC RFC100: Interoperability Profile Towards ITB - v1.0](#ewc-rfc100-interoperability-profile-towards-itb---v10) +- [1.0 Summary](#10summary) + - [1.1 Background](#11background) + - [1.2 Introduction to ITB](#12introduction-to-itb) +- [2.0 Motivation](#20motivation) +- [3.0 Holder Wallet Conformance](#30holder-wallet-conformance) + - [3.1 Steps to Conformance](#31steps-to-conformance) + - [3.2 Interoperable Profile](#32interoperable-profile) +- [4.0 Issuer Conformance](#40issuer-conformance) + - [4.1 Steps to Conformance](#41steps-to-conformance) + - [4.2 Interoperable Profile](#42interoperable-profile) +- [5.0 Verifier Conformance](#50verifier-conformance) + - [5.1 Steps to Conformance](#51steps-to-conformance) + - [5.2 Interoperable Profile](#52interoperable-profile) +- [6.0 Implementers](#60implementers) + - [6.1 Holder Wallets](#61holder-wallets) + - [6.2 Issuer Wallets](#62issuer-wallets) + - [6.3 Verifier Wallets](#63verifier-wallets) +- [6.0 Reference](#60reference) + +# 1.0 Summary + +## 1.1 Background + +This specification describes the actions required by the EWC Holder Wallet Providers, Issuers and Verifiers to perform to validate their implementations against the EWC Reference Model [1]. This ensures that the entities mentioned above are interoperable with each other at a technical level and can be used to pilot the EWC use cases. + +## 1.2 Introduction to ITB + +The EWC parties' implementation is validated via the EC Interoperability TestBed (ITB) platform. The Interoperability TestBed is an open-source platform developed by the EC [2] for self-service conformance testing against semantic and technical specifications. The ITB is deployed to implement the EWC Operational Testing Environment, offering a mature and streamlined testing solution. Using this EWC Operational Testing Environment: + +1. **Holder Wallet Providers** can validate their solutions versus the EWC's latest technical specifications (defined in this document) by executing conformance testing against certified EWC Issuers and Verifiers. +2. **Issuers** can expose their services for testing by the various Holder Wallet providers. Once an EWC conformant wallet successfully tests an Issuer service, the Issuer is considered conformant as well according to the EWC adopted specifications +3. **Verifiers** can likewise expose their services for testing by the various Holder Wallet providers. Verifier conformance follows the same criteria as the Issuers. +4. **Different LSP** Relying Parties and Wallet Providers can test their solutions for interoperability with EWC with respect to the EWC-adopted specifications + +For a service (e.g. Issuer or Verifier) to become exposed over the EWC Operational Testing Environment, the following steps need to be followed (these steps are explained in detail in the subsequent sections): + +1. **Expose a Service Rest API:** This API must be public and expose only the service's core functionality, abstracting away any service business logic specificities, so that it can be used in isolation. In other words, this REST API aims to enable testing concerning the implementation of the EUDI wallet protocols, data models, and trust frameworks. It should not be used to verify the full functional flows of the service. +2. **Build and deploy an ITB Service Client:** An ITB Service Client is a specific service built to broker the interaction of the ITB test engine with the Service under test. The Service Client consumes the REST API (exposed by the Relying Part - RP) and integrates with a Messaging API Service capable of communicating with the ITB Test engine using a predefined protocol. +3. **Test Case deployment and user roles:** The test cases implemented by the ITB service need to be defined using the [GITB Test Description Language](https://www.itb.ec.europa.eu/docs/tdl/latest/) after being defined as “a test script”, these test cases are deployed to the ITB test engine via a secure REST API. +4. **User creation:** Generate the necessary user accounts to execute the tests. The ITB instance administrator must define the required organisations as entities inside the ITB service and issue them appropriate user credentials depending on their roles: + * **Administrators**: ITB admins + * **Users**: Wallet providers and/or LSP Service providers + + Using these credentials, the end user will be able to login to the ITB platform and, depending on their role, execute (some) of the following actions: + + * Receive reports about the executions on their test cases (EUDI Service operator) + * Execute a test case for one of the available test suites (EUDI Wallet provider, LSP Service provider, EUDI Service operator) + + ![ITB service integration architecture](images/itb-service-integration-architecture.png) + + Figure 1. ITB Service Integration Architecture + +# 2.0 Motivation + +The EWC LSP must align with standard protocols for issuing and verifying credentials. This is the basis of interoperability between **Issuers**, **Relying Parties (RPs)** (Verifiers) and **Holders** across the EWC LSPs. The assumption is that the user is familiar with the EWC-chosen protocols and standards and can refer to original standards references when necessary. + +# 3.0 Holder Wallet Conformance + +## 3.1 Steps to Conformance + +EWC wallets will implement the EWC RFCs for OIDC4VC [3][4] two “official” EWC testing RP services: An Issuer and a Verifier. These services will be integrated into the EWC Operational Testing environment as a test suite. + +To check the conformance of a Holder wallet solution as a wallet provider, the following steps must be followed: + +* Become onboarded to the EWC Operational Testing environment by being provisioned with an ITB account + +* Login to the EWC Operational Testing environment instance ([https://dss.aegean.gr/itb](https://dss.aegean.gr/itb)) + +* Navigate to the test suite “**EWC Holder Wallet Conformance Test Suite**” + +* Execute the test cases: + * Issuing test case + * Verification test case + +* Communicate the test results with WP4 stakeholders (email: [triantafyllou.ni@aegean.gr](mailto:triantafyllou.ni@aegean.gr), [esther.makaay@signicat.com](mailto:esther.makaay@signicat.com), [lal@igrant.io](mailto:lal@igrant.io)). The result of a test execution can be downloaded either as a PDF file [5] or an XML document [6]. + +The Issuing test case issues to the Holder Wallet a credential containing mock PID data following [3] and MUST be executed first. + +The Verification test case generates a request for the credential mentioned above following [4] and MUST be executed second. + +The messages sent from the Issuer and Verifier back to the Holder Wallet follow the specifications [3][4]. + +## 3.2 Interoperable Profile + +For a Holder Wallet to conform to the EWC Operational Testing Environment, the following RFCs MUST be followed [3] [4]. + +# 4.0 Issuer Conformance + +## 4.1 Steps to Conformance + +For an Issuer service to become integrated for testing with the EWC Operational Testing Environment, the following steps MUST be followed: + +1. Onboard the EWC Operational Testing Environment by communicating with WP4 stakeholders (email: [triantafyllou.ni@aegean.gr](mailto:triantafyllou.ni@aegean.gr), [esther.makaay@signicat.com](mailto:esther.makaay@signicat.com), [lal@igrant.io](mailto:lal@igrant.io)) + +2. Define based on the piloting requirements the credential issuing use cases from this service using the following template: [https://docs.google.com/document/d/1nZ5Fv-Vtj8xlr9fZSzxSQ-6xs5mU7ZaCxvbmnhaN2Tc/edit?usp=sharing](https://docs.google.com/document/d/1nZ5Fv-Vtj8xlr9fZSzxSQ-6xs5mU7ZaCxvbmnhaN2Tc/edit?usp=sharing) + +3. Expose a REST endpoint for requesting the creation of a Credential Offer. This should be a GET endpoint as follows: + + ```sh + Request: + curl -X 'GET' \ + 'https://issuer-service.com/credentialIssuanceRequest?sessionId=123&credentialType=myCredential' \ + -H 'accept: application/json' + + Response: + HTTP/1.1 200 OK + Content-Type: application/json + { + "qr": "data:image/PNG;base64,iVBORw0KGgoAAAA...", + "sessionId": "123" + } + + Error Response: + HTTP/1.1 500 Internal Server Error + Content-Type: application/json + { + "status": "fail", + "reason": "credential type not supported", + "sessionId": "123" + } + ``` + + Where [https://issuer-service.com/credentialIssuanceRequest](https://issuer-service.com/credentialIssuanceRequest) denotes the Issuer exposed endpoint, **sessionId** denotes a unique session ID generated by the Issuer Service. The Issuer MUST keep track of this sessionId and notify via a second endpoint the progress of the issuance flow based on it. Finally, **credentialType** is a string identifier denoting the credential type the Issuer can issue based on the piloting requirements of this service, such that when the appropriate value is passed, the Issuer will generate the corresponding Credential Offer. Furthermore, the Issuer service MUST respond with a JSON object containing the fields: + + * **qr**: Base64 encoded value of the image resulting from encoding as a QR code the Credential Issue request (as that is defined in RFC [3]) + + * **sessionId**: the aforementioned sessionId + +4. Expose a REST endpoint for polling the status of the Issuance process. The ITB service will query this endpoint every 10 seconds and will stop after 1 minute (in which case a timeout occurs and the issuance process is considered failed). Specifically, this status endpoint MUST operate as follows: + + ```sh + Request: + curl -X 'GET' \ + 'https://issuer-service.com/issueStatus?sessionId=123' \ + -H 'accept: application/json' + + Response: + HTTP/1.1 200 OK + Content-Type: application/json + { + "status": "pending", + "reason": "ok", + "sessionId": "123" + } + + Error Response: + HTTP/1.1 500 Internal Server Error + Content-Type: application/json + { + "status": "fail", + "reason": "no issuance session found", + "sessionId": "123" + } + ``` +Where [https://issuer-service.com/issueStatus](https://issuer-service.com/issueStatus) denotes the Issuer polling endpoint and **sessionId** denotes a specific testing session that the ITB queries the status of. The issuer MUST verify the issuance process based on this sessionId ensuring its correlation with the issuance requests made in the credential offer endpoint using the same ID. Furthermore, the Issuer service MUST respond with a JSON object containing the fields: + +* **status**: a string representing the status of the issuance enumerating over the values “pending”, “ok”, “failed”. +* **reason**: a string denoting the reasons for the failure of the issuance (if any, ok in success cases). +* **sessionId**: the aforementioned sessionId + +The WP4 team will handle the integration of these endpoints into the EWC Operational testing environment. The only responsibility of the Issuer is to build the endpoints mentioned above, document them in the provided template and share the filled-in template with the UAegean team ([triantafyllou.ni@aegean.gr](triantafyllou.ni@aegean.gr) or [esther.makaay@signicat.com](esther.makaay@signicat.com), [lal@igrant.io](lal@igrant.io)). + +## 4.2 Interoperable Profile + +The Issuer service MUST follow the EWC RFC [3] in its implementation. + +# 5.0 Verifier Conformance + +## 5.1 Steps to Conformance + +For a Verifier service to become integrated for testing with the EWC Operational Testing Environment, the following steps MUST be followed: + +1. Onboard the EWC Operational Testing Environment by communicating with WP4 stakeholders (email: [triantafyllou.ni@aegean.gr](mailto:triantafyllou.ni@aegean.gr), [esther.makaay@signicat.com](mailto:esther.makaay@signicat.com), [lal@igrant.io](mailto:lal@igrant.io)) +2. Define based on the piloting requirements the credential verification use cases from this service using the following template: [https://docs.google.com/document/d/1nZ5Fv-Vtj8xlr9fZSzxSQ-6xs5mU7ZaCxvbmnhaN2Tc/edit?usp=sharing](https://docs.google.com/document/d/1nZ5Fv-Vtj8xlr9fZSzxSQ-6xs5mU7ZaCxvbmnhaN2Tc/edit?usp=sharing) +3. Expose a REST endpoint for requesting the creation of a VP request. This should be a GET endpoint as follows: + + Where [https://verifier-service.com/](https://issuer-service.com/credentialIssuanceRequest) denotes the Verifier service exposed endpoint, and **sessionId** denotes a unique session ID generated by the Verifier Service. The Issuer MUST keep track of this sessionId and notify via a polling endpoint the status of the presentation flow. + + The **credentialType** is a string identifier denoting the credential type(s) the Verifier Service is requesting the presentation of based on the piloting requirements of this service, such that when the appropriate value is passed, the Verifier will generate the corresponding VP request. Suppose selective disclosure is required in a test case. In that case, the credentialType should denote the requested attestations and credentials in such a way that is meaningful to the verifier to generate the appropriate VP request. However, the definition of these credentialType strings and their semantics are the sole responsibility of the Verifier service onboarding the Operational Testing Environment. As a result, their definition is outside the scope of this specification. + + Finally, the verifier service MUST respond with a JSON object containing the fields: + + * **qr**: Base64 encoded value of the image resulting from encoding as a QR code the VP request (as that is defined in RFC [4]) + * **sessionId**: the aforementioned sessionId + +4. Expose a REST endpoint for polling the status of the Verification process. The ITB service will query this endpoint every 10 seconds and will stop after 1 minute (in which case a timeout occurs and the verification process is considered failed). Specifically, this status endpoint MUST operate as follows: + + ```sh + Request: + curl -X 'GET' \ + 'https://verifier-service.com/validationStatus?sessionId=123' \ + -H 'accept: application/json' + + Response: + HTTP/1.1 200 OK + Content-Type: application/json + { + "status": "pending", + "reason": "ok", + "sessionId": "123", + "attributes": {"name":"test1","surname":"test2"} + } + + Error Response: + HTTP/1.1 500 Internal Server Error + Content-Type: application/json + { + "status": "fail", + "reason": "no verification session found", + "sessionId": "123", + "attributes": "" + } + ``` + + Where [https://verifier-service.com/](https://issuer-service.com/issueStatus)validationStatus denotes the verifier polling endpoint and **sessionId** denotes a specific testing session that the ITB queries the status of. The Verifier MUST validate the verification process based on this sessionId, ensuring its correlation with any pre-existing presentation requests under the same ID. Furthermore, the Verifier service MUST respond with a JSON object containing fields: + + * **status**: a string representing the status of the issuance enumerating over the values “pending”, “ok”, and “failed”. + + * **reason**: a string denoting the reasons for the failure of the verification (if any, ok in success cases). + + * **sessionId**: the aforementioned sessionId + + * **attributes**: JSON containing the attributes successfully disclosed from the Wallet to the Verifier service + +The WP4 team will handle the integration of these endpoints into the EWC Operational testing environment. The only responsibility of the Verifier is to build the endpoints mentioned above, document them in the provided template and share the filled-in template with the UAegean team ([triantafyllou.ni@aegean.gr](triantafyllou.ni@aegean.gr) or [esther.makaay@signicat.com](esther.makaay@signicat.com), [lal@igrant.io](lal@igrant.io). + + +## 5.2 Interoperable Profile + +The Verifier service MUST follow the EWC RFC [4] in its implementation. + +# 6.0 Implementers + +## 6.1 Holder Wallets + + + + + + + + + + + + + + + + + + + + + + +
Wallet + Link, if any + ITB compliance +
DVV Wallet + + +
iGrant.io Data Wallet + iOS, Android + Planned Mar’23 +
ValidatedID + + +
+ +## 6.2 Issuer Wallets + + + + + + + + + + + + + + + + + + + + + + +
Wallet + Link, if any + ITB compliance +
DVV Wallet + + +
iGrant.io Enterprise Wallet + https://business.igrant.io/ + Planned Mar’23 +
UAegean + + +
+ + +## 6.3 Verifier Wallets + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Wallet + Link, if any + ITB compliance +
Amadeus + https://tid-wallet-dev.azurewebsites.net/ + +
DVV Wallet + + +
iGrant.io Enterprise Wallet + https://business.igrant.io/ + Planned Mar’23 +
UAegean + + +
+ +# 6.0 Reference + +1. EWC Technological Focus: [https://github.com/EWC-consortium/ewc-wiki/wiki/Focus](https://github.com/EWC-consortium/ewc-wiki/wiki/Focus) + +2. European Commission’s DIGIT Interoperability Testbed [https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed](https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed) + +3. EWC RFC 001: Issue Verifiable Credential - v1.0 [https://github.com/EWC-consortium/eudi-wallet-rfcs/blob/main/ewc-rfc001-issue-verifiable-credential.md](https://github.com/EWC-consortium/eudi-wallet-rfcs/blob/main/ewc-rfc001-issue-verifiable-credential.md) + +4. EWC RFC002: Present Verifiable Credentials - v1.0 [https://github.com/EWC-consortium/eudi-wallet-rfcs/blob/main/ewc-rfc002-present-verifiable-credentials.md](https://github.com/EWC-consortium/eudi-wallet-rfcs/blob/main/ewc-rfc002-present-verifiable-credentials.md) \ No newline at end of file diff --git a/images/itb-service-integration-architecture.png b/images/itb-service-integration-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..4962089425d9b4adad487978e9c1d39bf28e1ef5 GIT binary patch literal 49310 zcmb6Bbx@qo^92eM2u^_DArRbxyKC^^?hqijySri&7R3TkW!47s1g(ubQl!Wt2hKWaAnI)#0d(D z7)nZ1Sj8>lVA0)6<+AnWd4{{DGWEdI?;ASD+-uR-ik;>4Gq81f+LomcC5LrdwzlPq z2j%7Eb&+b8<*oXbxR#4r^dBP{{llzCE&b4;5$CR@SQ6&8ultOD8^`~Yl>D>t=*2f| z#F8*F=ruf;dhMP)vh64UAA~M~K=S|TS4b$!I5s*Yl;_W~NECK%mRJTp`;l5$6*-pc zeX&#kwfH32wN9?QtA?_ZmUD<)={vM95?oREsG)gclYg>Th4nvW;KPcMb}}IcpWZxn z-r*FLI(ce(UzS>4H@(+xfxeK%pwQ$)l=pg;c8s4&DVVV+v}Cgo<|3%a2(cq~ktBEr z7eVT8+!!q4jn% z4Cy@vb$HHNnR0oFcw`v5On9iyo-qC~46&8vHJ*;nf#;{s*JpkEoJS>2F#cI$T3GTO zL`SXS*$L*E7EESGa@A=S)v1>rHHt+u7OLjLScr`12(UVfPeP#s`<6DY<#eT1K5M(a zzB=_q5E720j-oJ%eMFyVc)ftbWUkk`*xU;k!H++e^ITC zX%vAo>f!au$T59itEGpj%YuXN@me+e*I6f3XnJ^e+Rm$OsWB91*HHeaaKoy%UE&=@~F( z9FnQyQ)3axVTuRB1VFuc9qTis#Xk~ixdX@$pfR!pTE*I z{JhSFCLvuW@p&@LTQo>1Q9M>AfqIn_gB6y$I@*ehdn6dV0sK93TvFeO67keb5>{)9 zrMAR&Y1GaoXT-uL%8Q43R{wD{w>~ZPVL^!rt763;Quc0>8*%J0y?3_IGg11NLDTe1 z^fNWDf3;}ugS1`AoY{@INr|;r{FE8N?q3A^X2KHdyxaoJY{A)k4YnjR_K&;$IADmp zsUPI?vj2WX>!;tMKL2-vGUNdz7gU#LX=+% ziMyRRyFE_F$({PKVagjNg|i-26T#x>lF0cwtUEq|=T;U&l-VkNa0@F^O5cEG$2jMk zq{b?fS8ZuTk>1kpNB#B`DOht9j(Ac$r1Kf|hSR{lnUh&pfl%Q}ihe_tB3u)><)5u3 zZ%;1hsJtcxaqyh)PF-q9#3~aMl}PPj14*(p>oQ$Ah&FmcZA9}*0{h|(QivW`t$iM6 z&~9GlHDhi!D-*L8P#d7T`DVy3Jx^*4u?KTbF>*C8Xb3KoQY`Opk3-H()zb3M4p6xB#UCS{s$}$k;ia0==Yc34j&37 z?Mfgy6XrWk?(#R>^oI-wNqM~f3e+gxfz91}c&m0?9>G{77)g4iowx{B+{~LABDqYu zHjI>k71vdETxDl8XdDzfVP7y2f{Z;e5#>u2-z8@b{)guXPEjTUODyCWZfV0W4p~fN%MlhSxvm(AGaL^a^VLRW>Gn%w<2LA z`6WmL!>ND#OH7X3H{LL0sE18i?Wi+gAu0Rh2g_egIqXk4_RDbdQS8I5Oc}C$s?YNDy{D`x+PE+$j5@o8Ibg8Ofix#RH{E*0m-XHR{*b@)jC-w! zKoX*n*7cjymM?b5vt-VnUFU(RlXO?~1;CBvAl4D~(=-d0As z+YSitrSYEL-MMn^*M0<`b)HDOtu#8}!G%RGj3p8_(P6^;)9FbxX*io}T=lI;lu`tA zv6M-LuFJH-uLUVWyT4<_|7EqEPZ*;A<+ia<^05EX90W}YJ^1A{QKEQaB>ObN67#&K z#VODBvg&uH$)>aWrvvR}UF*mw_xB$LhG8xbxMztme<0h#&FL=r&95J~9$($OJni#5 zxT(5Uz&y6$M(8NimAE;|D|NqJP2DcqvAZRV60x9hZdo87OX4=353QSO#jQ~Lh#^7Eap^}faeElt;}~ zmlnOgZMkr658?Msk6UDEwvTM(&AbRUDYkfP(g+;`$(#xP^s!u6)lP(1Ler_|$m%I9(_Wp`tYSa6>1N)PnVaLMcM^M< zSjH6gPji?*e%KULS7b6YBy%e}?CxDv*_&d|U(ZyR{_+oZr!iy456EQ#e>>!q1S?Q? ze?_KRy@bDQtPLp+euuSH5OrY@$u%B8-Hk9;U6i)C`Np_tPC+%ePMdbNu{7e8yWeU_ zb*OU>XX$PSigqR`-jFl5MEclKJJV*I07qcfCCocCjZ0;sx5oCM!)kQ=-`G(5G9&ED z2(4hR@#I^C5D&%`)VQX)G7}h%NdG7-TIV6%U%=BS^J3&0l9Q(oHtL-3f0*wXh}f{G z)nr{5Bb(&Ku!X{^Vire^5N*V@S4vF%FjEO;e?MSu;d(l_pFKJ{9z2$_nL5)jc6fQd zut(_R`H)Yg?S3(b#tr7tSHNzytS_PKNG1R1NsAP>aXZIZKe2jtc5_Y?7iYC<;Ea5j z*|kj1*sWn)gO|cW5-8hJa&iL=ZW?G}MY=JVC*e5c5fM%bR9|8&XzuLiO&@T#Uet@X z62Bs_GFa>jwVRdIi1HXG#Q7Urd$M}f^ENdn`V7b;>y`zsuK`x1wVt1`cHW~+6QM8Bs^pH)=rI|{t~PGsJb zGsEKRA%HuW875cyiWE@=AW~M~8x>BcpYHPPP|C=xjdpq@;AJ7lmUQpX^q<;MIt>SO z6}mi`@4Ew%*IB%S#9Q2~a|a7>~5a#$ak{j#=&B(Aun3qW^?!ANv5OQig%1Ow{Wb=D~ka$qUN8JEEW#&_+diL$SVryu+ z9b(;Y+8)?mkCoyZ5+~FuhbtEkg!uKn&nd5Yud4dP_9&vA!_+p?n2Vq{XM#z9Dis)I z{pUMoe5Z~4xj&LsCzG_==FZJc1~w$!IYZreiy$E_%fbA|LJiGfdo!5 zCHc4Zd$f~l&ieBjUIsD6jxX%-2`1|iJrp|CIVrye$pIFw{!CR!G$QIqMd3MPCDifJ zL*yxs7|Q_!F(C@eGJEN*{nj@eQ4+Ztv6?<*&6(aA-z(dv>;49*YW#kgx)+zt@^qx~ z$i&GL?h8IgdI5suW%|uldhDBr$I2!|gHcOBY07k3l6B$t@aSrBwhGXZf}8GVD$gg| z8^#ZJ)4y|+#yXH+vBRNne)as((UWOm*ayzR@4L@h9X4G{Uk48Irhsbgf6!z>Emgl_( zFzwR(CUi=&XudBl#05C$ZK@QWlNP>Ki<#9SDMi1GT1ldfEmU-g0rT$tFOyH7aSwGr z$av7BrX#lM1fB%oX;;G<1Tw zs(qL0w-;-e=UhI3*ZzCM244tzYI{byKT1#0oKq#!pEa zS>l?bB7e~L6Cw^9GR&Xa-I5HfxhB@k``F0u6MyJ%Hm86b+GX|6Isepk#MbSA$o6Of zVG=W(iqH?9>nOwYzlbiRMgoJF$F%9@yF~h%2YdG|fvogLuI6%yh>qkh@UT>i!}FA? zZ4}d1xj;Q!#KvM&)?(Ci;>!TzmSRq>z9&L#LP4ziw$ms$`h?zsOLsboEoVsOE%0=m z4@9cYhge&M-zHcI#Z@en^0Ty}$L|}uOn#G?G9WXPuC4n+s5eZx|BN_X2oz3yh<;lI zU;U0IPU8#5o}Xl3htMfC4{IRT`5#WQAUqspB-UBaA91^4sQ}yr$EV(kAlRb-K1CAJ zGx-~(5XU6Si5&_M+_o@&zmcS98jY!njP6cW#9{kTMBXLb|Fa zFb&adVg*OXHV-4*C4Cs}AN=jq8)lZBAL2!#WWVGL96Gu-dw&r4iULS4N_z8F%rt6p z(eys@A5{6UR~I^Bl(j{WRRoE^W*z>5N(E(YiMpDJiMI%U`$)Tmp#9N@4jHaH$>_`Z z(K0V$#a^nm4|nJAx_Z8LeQ|eJ>-u5pVaz{@>u4t@w@RKGYYXG@!dHuqNTpSlpBLw& zmxS!JodYL0$DQA<$*8CUZ=$Qby|u;B z@Y;pM5G4BCzs>bA4V;OUq!^x1d?XUxgpP`<_A9xo!r0DLC~2qG8c1!Zw~=R zXUQ&MBxM!vCIZ(sT8ds2+H9l!^*ShH5=JfZ2(G2afC;~rI)Y{V62nmR_Td$(3OoGr zlG90fk>1>08z9h7Izpx+<*|}}$;!V-v;EJ8w<3mvS$mx=>-NN4B8Bs2%qhNwF;`A( z7SuwN7^3rc5OP|I9<}&#C&l2z?lS+e@J?>xw`87FLQUo#U-J7wbFkm9+`4Q ziM>|LS0HNt@wR;O{QLgj(xTRB=V#kvJzbytI)6z+Jl*D3f>d~ueF)e9pExKrqkUpI zzge^F9q^QkPnnS?g;n)!qm54Q9EfyxlY5JijAz}R|i z7*1dxzFG)-@veXR`+LT0Zc8<(>Fv+Grh1z{-$$DS;$*7jB@Q{5sbJ*Tm@2zYZ+7c*9Y)gSLn|GZ@A4V!df$@2;=hi&t zJwtkx*;am8Wz>L_W{NShnJip+Nt}$mhU!!UK)&o-N*9zX53 zOVF;{>nyzImKYiuki#g$#@yCc&5+mZ`?EAq8kRaxHB1wYO*2)$vzv?9oN4yEC}-&v zRfT@~Vtt$&U7MW2@noQIe>7cEjLm+?t>5hR&m%!`8%`+vH5{y1Z)+wcs9#5?#}@T` z@(W68A*Yh&Vn(GSL{6B9D}KCZN~ zp~R3_AmIOVuwr(7hDc;44J5_@q#bVjg+sr(ZCn1h*GjyGb)UUTAk;vj;y-TQuh3?8 zJzDrq^soYd%#%619oT6A4})fw1m$}tDtK(B5F7I@f-)+e09B^Imab~taYbrbgOonJ zC=@BDq-4ydLEn8l(^c<13f!mm`^96u-Gc)iOr&7Qyp2Z(=qZWkoDaI)=*n0WrHzd@Y1%eT6kj_7VE3lWwYLS%2U)Q@4eZ`X z1cp0VW(k}+5{L`h$}fw1!_dFFn+t8B zr?=$mz57`oU(j}mPc?7Mu8+`lmiFVvB?7c>Yru%WuM>^Gj087 zX=U5q{gG>XOG|C-Md+$sV^W^cieW4tMI&14Y`^6?RV_9ZC5H*HMJpt`h?$e~TH<=i z^BDKIaUIps%76J`i!%$J$jk1lvhoC`(7~&1p>mDtOtk1(JVIZ;+hPGD?rID&dKXi? zH+&eQp=!t5<_+^yvZ*Ya$gYdd>S|uOUk8$QXDamtOPibT9Ev7xvAkOj3|mgSM-ylZ zGty@9);<~b@8(03Q&7;SbJ{NXE_j^}ZQVfAs+BQSfQ^7S?@wFXw=CL@xoX5kN$`2E z8HIVZk&^T@K>cxu`0V21@^>(mHQQ$^)l^3yo00EZNJz-aT2CZeeqo^xb_$9y`nwCF zD)ue}qhu!n-5&c&8bCY8~e{urUO8xdFLCfi~*!cMP3TPyMHd3m$ zZzg}!4vf-$lGZ}+NtKTA3Q4N3syeMPH#Z-sx1OJ_vz%dYuEW;C0p-HYQ#_m;1G{vhw+NzEnbC`^{S9;q$|`;FQ0i6cb*zO#^O|PQ}Qp(D0~F zQIss>&Fn~j@I*;^;rQ)dNod2Y7r~6#v)SE;JHZ~l{=35)n)KS4q?ZHUPC#P2CYqtD z>NRQA@6Y5mWiXKSG$VP9x28-$ZozvGkvI~Mfpg+z3Y5Ga@rVJKR3)NIAd6~Lqzlv= z-H&k_O!%M6_y-_aeXiHvBQqT+Jj8NtSkrpm$uy?~<7pep^VwhXnUFec#>_tVp;9Ls zFa(9+dNLtO^wBi*J_>4yZ>bV~&4*PCt0HkBu1S()ip~7a=ke3+m-{WbB9@_5WHi~B z1|(V&vW{*9vKK*|28;Ad4LSSPw>KRpMLIw7_ArYjw^0nb8J$$m3MF^jMR8|pdfafFoDbf01_g3*gi7??u+*F(GG z6(xaO)mslu>aUAHBG;ors;-ZLDDq-~`L&i1I14GDeHn!lR*+Va3riwH(2cZ7Bt`_l zMR`lL5mJmGpm9Z6i-|I%Qv{(G8KTC~vWCAV(H#UA$NH`FCYB`|zM-!f_lyKFjYc6D zevbq7OK&|Nsl*c?SRW}b=}3kDvk6D)A2!aHOE|==q~ut;hB$^+tQbv6CGg;>h!@Yt zI1Pxy#oov99=^X)|4jow4pTJ(C4 z(|97fNR&r1Nx~7;|CaQbYV#=SU+1}H5C~%R`{(gJc_frbg zqSRQVAjdxKw?A1D`Au1Ds<+=wf!T4%aCuz_9rxhs(|I1ZUPD903O>2TiRX>=CC}BE z%1^Dw3NFE({2`0Q!iyHS^h&)0kNe~HcI*}0_8T#AB_$<%A!;Wl--)rYF%K}nG|YnQ zvUf}dc-*k)RnB-{FS-)JH9lU=57n3q;S=c}11jCP9>e<=%48_5V9DqHFachxq3?sI z)$&rS=O?K4=f`6zAi+m7)&L;w^1YkLUVw@fxHI$Dt2}P7k%%EEe!Ly=T|zw>(0^hX zFsUi%o@r@qZN2qezSkq`c)VWDj*p9r!`3fsX=&NlUcOVq?%-^{l|A3+Pw4AQMuZD& zv-MhkzX_GB>ymm^Qd*J5Hrl)h5_^Haka2G~RhFA!HH6y2D;40S8sGE7xxh+5ZEfv9 z`{SYQGX*+A&X}2kDtrFK?ho+rIH>CT_sZvSUw>PJ4oAW(Q%g$=-}k1Ahy#Z2qyxsh zxVZS;=~o>F^}YshzlERYQB$9mhK2^Ze(&+M=Mi8eNPh2a8ijp3VR5l~Dzy(>kWWGd zAHH-PUQMa%)BCPRb9zC&a1Eq7t#anJ!8Y&vk`LY&V+?+wL_S<2#w>H|18i(;lg~GO zf;O;jC!O%D1gH}2hxIizHIKZ@w{r9yXg((}o_gTn^$s+4pSC#L-SG^1BCva#9Jg_L zXLwy&=;`QGj+?f#UNy`YW&1Q+4J6U`J;)x-R;`~T$P4Vk-5lEbY8x=&-B~xVv$J2K z@tp|Kc6>tP|NgaM{@%JluBhg+W%<#DUn1DhhC&nT)P}fPmydNE`|YPslz-(6j(?rY z<;oR#3fOGte2l=LrlFbp;BBzn=Isc1j`V)&4##xebK=Q{P=8NOmcPD#d}Jv2o}R94 zQZvVcC6-%VT|Ii}!n>wVOHW_^5&XQ(X=@WGYHj7GZHrp8u^sI1FNQX=wES#tW`;+k z-)qL^5=A7~hSG89l3rR;LfMx*X2#aGwzifDm8&30PfMH5KH7|pi)%Y!#zrEhNDVH$ zMS-h3{d#tO{+S*pQdMI_qzc$dD~<+SEUfP^PR`DnrKP1*J;`Ghby*MyWD&|=NJv{xPrxY0Ii1h_ zObtp*akky}xlDmNzc=}vpwEL%-q;QeBjdOi-|#%u(r1T;`Odo z@0fv(jt=(3qxJ4nD5`8MV;;5ikNkXNZKuVn!+Fjk)0U$eo8aJJ-b;^Gd9dgYd|Xr8 z=kL}BHa0fC&mCT&f(d}$mQ$0?WBvT(vL`3?OE-i;gM;z*EYFG0%s;ZZ=X>8_HLV$5xA1@28xM-`W)asT_!C{H5cKE|g z!1xQbFB^kd3zSa%n>tUYb7)z-x?$Pf-3?V%R?eHZ&YIXA4D)Tz&(FU*I5^l7A{H_? z-;D!NDRA8ZgQkKh1r2drl7dhZS1-yO-nO8mQuC5X2Bb7jc7>wJv!}|mtUc#aBYCv8 zUAN8b6Q00cc<@JH%!zsl=x5`EQD@49mWW@`__VjnBa41lD;3KNM{#}g8v1o$r_Wb5 z{5M+G`NF(dNUPWP_m$sDAQQWOk^>PVGrm6Cn7W*Soul{H2KzWIPl4sy2Y10{H!U*HF%&(?B75F&AY^^l$gkFF4Fa#1D~brH6~T zsN$+q>(f$--!V(BQ|oQ;qYGX8_)>Cpo<;QbgNKA1Uo&uF~O zNZJDqwQ0}>^y4*DW@cuYPE+;rI(~Erz^pH$+n{cpT0c#BMHW{fI_DbZ#tZu1r&5qw zrdXvjGI^cHm<^F!^fzzbSpBOF-`lfLQdVwyI2*9%B7os<&o*HCGr-tB2ypBV$Pp3_ z4rkxg?^JFdeRLRR5G$2EJ$XG^Kh(^5rCGY%IXR1YJd~;JBg}|q>_YoP@wy&$uiAaf z&PMA1IU{zyfDkowDl1_Uf(XH{k%T6OvH|%KGlDz}kQwBXXUouk^Ko&$_fe{phOtmzxgp29%IL-?Cgy6*F+V5KeYri`-;aNRT#mz312EYBa@X&{t0hK>TKS!42MZf;J;_wmx$*chc=DvbHh@wKv= zTJO{2y{C3Y9z51@`?HU2)6tO)4-e1H-Aucjg98g?Lb3Bm7XKlciZwHjXdm(4&QAf~ zUfV~V+7H&ofLi`z7=!kG+b^e;a@xmL7Z zX(ch}{>^k<>L2mBV*RDZXxny6saz!Y^ympYfZq7@^Z~&BMgS`u-kU1b zZ1rFV_FVR z)4(#adV9s&PNQv4Rszu+uI5Z@zI4I8OylA9Tv0U5a#2_bDu2kpSs|O4jqBfeZ8p$eoapK_GCufmzYK_c4i4fB4wvn)j&nS`XYP?%~0M zj6=5q*1ZWB=?740k8jf5G2=(m={A3lWNb^>ohZ7#)wiN`23s^DaDO1gNHUQW*6CHX zebw}~JQ$B9ewT`=Rj*y}Uv&PI1#|k4latd04JK+R;0dNr54T(dsK7|l=H@g|HKrp+ zhcOJaw4W+x@@DqIhXAI^WYmko!piyrOMtboadH|}X{7KtTiDL6tr-@|riTof7=dB1 zu&@-gwIfHi*MR}NF2*EO)YX;M)!{oXb|?CWhkgq<%Srz{Hfsj5VE+GNG zxVZQNG{E(-#C8v*)v;g``h)Z;`wW;A^z`Ih!NH8_a-)Stdq9O0b#w+Lh`hUjpLlL( zvEre4Z{hL*C<2^VCXEfTWl>I6_6>0or&sN&1r5< z0|^HZxfjN4*RlvYDF6;==;(lG6I@%%1|ZCHM!0Cgz6V?Vr^BYSz{ANWz7HcmtxOG_ z0Cy8Lgss#fq(!0m6VgCBtXTyU)bsHLQg%W2QvXa z2SV-e@DRK`cV-_j)mBs4(vpZN3$db!OG+D_Ow{(}kvKAmSpa05i%ysf$)&Cfh7Shr z=|dp{o4*fTfC4BfE8AmOWp_EH4ilF&HoFZ_4uIw>Y6gbFf`Z`9f#h{3p8ml>z@viP z&$muNtSRZ}L=Bnj)1ygj7nfF67L}GFgWUkI=MUY{(IEgs z^NGSL>v;}J`K+j!{et>>oXVNc-roEI*_F%ZknH3|8`IU_!5}@Yp5Kn{It31EZeMzw z-aqO9NzH1$KHB&BetBbalNl&hK3{{m-uVmp9UUFjLLj7loq_NY%{*&^b*}*Dd8u8Q z#1uuCeI1`}x7Qt-ZvM@*iG!R1IEStGzV?gM#`koy4%`G31~)*U8Ub*$oL-wMLs_Oq ziysZwvKXUQ`gIH$nAwz(I_Wp(DJYCg7!RAaucio*tOZz|Z0n5`h0wM+9`Ob{H@LK^Dp9 zVVy`>MWvg2JEIFC770cXDV>6pSR5|{LIIX@)M3+5V=+~-w83(hiu{%q4`t1v$&M#8 zFe#khpFZT^rl(40+3~*eKWK6&ZtX6p&}+R*OJy}}!#gyIK?>~x>jwpht>yRSXo^%5yNiG8M(kToSxKoc-yy)H~ za+bE?RXe=)<>lkQSf|JDtofrT2l~!4kG(?YZCauq9=udk56?5Mu3QF9&h0Bh-XgpP zg-u`P01F-p22wC^x!StA%lZYRx25If(fUtk$)L5j6j+#T9j6TekUV)F zW{qO`9{@aC!=(AEk*ceN>p93rS%0+i89DUWQ1V0+)=;%o1)gB z298UtUEkX`>1cu+G%SPx#oVYWx&K8Zj==DZbsG)jD+;4*#b?dCO4Q;Q{`nKj zZy&6~kZj~vO7hZ`{WOH))l5qn#u{G>1S_zNk-ECNeu^2Oua%jq1>Gcd?_jeAxxt!$ zeSrleaL1a8?xbUjji@C_2$)Rx=R|jKX0J$E5lcn&(!F)*=JeyZ61ibPloM?CDClb< zkaXub@esPSw0Z!}UT6OtU-9+rK1F^ccP@|+!EmDeujdSzB0X$4W6bEgzr9$FCSpwy zYxBE)Q3+^iB_oHd)CHk;Nx+(znC4}z*>Vz~mV#J}?St`7_#}lTrXoCI?G->h|A(3a z(GYrIV8D}^p8haP*_+UpNiuaNl7h^Lx`ZMK4{lKxwAWo7OUUB91&Ba&zyj9Puifh5 zeEv;EjvQhd_n#XWLcfog?xIeZlD4op`qr9-zIL%^WiG6&&PiU0&Ds-<9+)g@I`H)Kpmy3xORgVWr_9UDL=#p4+dNa^@UOKS_NP8P*_bVSmX^D!M=?*owt zk?A1BPfttWDp!o)|KAhvD0JkgD*2zdA|M8}TKA9brR8q|dwwVTUe&z)k%_l%@>UAf zHO5J-d-T6{`mmj<=at>cdhG7e&dQ&qR^zDmp<@;lj=x_QGU_d8S6pslo zHN0narDM9Bx`cVW;uv#~B{>|%$^B`gj@zQmF9uwnN>`0#K|GYd520%slrRbZlW~C* zp107rJ0T@4U*vFYQ%J8T(>Yn(m?5_Wbi?AMhS&oLDMQ;Pjs+UQN~>uW2^NaOt#!lc zNazPhODVFSV`X#6^`(p&Z4F}^Ud`fgTdV+dj^Vw_G~Xjz1jO#?4X1*`F!zDiF~5Mv zCUz|kVeYpLP~lpq+F8-k2>fE8FUrzfTgP$u*cXqhC}|pELk4xD^!YxrDs4^&adK$#h@- z{tnhiNZ`KSE4AlfXWowge8<)B_3CaL}D4*ESq<>n?EzJs8o3$hIK)JT( z$%Or!%rN8$8n0UN`|06hbUcdnlISly0Z3fRv8<@FG`iPoZ()vCxKW`RhKLl-&Nl?%K zdY9ShS28v_H7)LGM0TrO2&KT}yeC<#QlX>&x%e zpP;i$krHM^LmW?>6#Ks*VYUy(5{o;^W|o{X`;*4>DsOIZZNGwS<=Uuv4tV_r7WU}^ z44MLy^}m%7byb4Y)RaRPCpZ}KNZ81(&R?_@#N4!z3dDY$hMhBu(Jgs_K%+PMy2(_r zIyDXH!tFbcwpydx_+bOw}3CAk$k73OA| zl8AnjPkB=iY9!@h-dNuSUqN=kN1B)@lq8?s&%e$tCY;zf^Ty01`~QlVGW~qabe%n^ z^sNF$^UxpIbUK^Iru|uvZ}+qTP@ue??w5-IjCH2?nsfm#$gGP6rT5eo(9 zbM~|4rAMvDBVub3gu1o=%XfC}+eum)xfB3;zJIZUL2AgxZV^Ute20opI}n6l$z&bPFLeB-uD3o86Z#T3Pl7w+IC|_l{sM!=iX~ z`na;0j2jXl?8rqxxpG~)st^WLW|3pf6+~JB)S9z~_EsI$snG&jwO{Z#KP-T6ij2}*`3)KDPegRYzfpzJ_8D+4t(=YC$S zfW?R1yNqHst;6b#gM&)Ep)F?aU#2~kK3`#f78L3s=ZKcHskIT9$&Dcg>&Oz75(45{gQC6yv3)4B-2WW# zpuGCL#^1^KoFJA}R2-3RGi4o82T5x5rBQ2(3J~4W^>VfM8Ie0w$GpS4q(6Gen9%-0 zZ6ll(XnH~DrWJ~<>%4@$YmHr^>Z)3QLm69x#EU*D-rJr5fVv2PW_bFm4ux>@=t0__ z8!G9;UgApyW>mq0m6xrdf1@lovg^Y@%cYy7C3HEmol`~3yNIO#I~F~Jn4-97;xF< zZH$YZd&sR=)mrs7yYG{S-jZMW7pPo=Z{wHy{b^ir`4>(uzwQ}S3kqa(8__*Ic(}#H zsC3}7`?^*$d3UX>3k>#DKoH1T5Q=mXgLi?HHhz9Czt>b$vX&q}d$Cu_#lkApKP;X% zHSV>6P?Jn=vZCe<@5xaPQW86+Ks=j)vt_RC^3K z^2RLYYJB*e;nBvYrbFo2v0LY4sL@}DLoFvq{P(!d?ztM!=gTc``(W$J3C2Av@A3x% z(*1}pB|RfrSjMKVx}xw@7XQwLhcphIQ0YvKYZn|s=vcapv22Ea+<9*<8pTDhFW(?&m;ZlWHLhe2)r9Ta$l2eVaVZRwgBxz$v1#>XLV zYA2`1=f(q;_bD77+&F;RtE`HBHL3D+xvzg-kp1*s)%OObUsF>ijq|@e|1jc%Q#l{K zyx+6$qTJ?8tBFZvC@b{^q|YcI#Iwr_$|`yAXseg6omA)!HlF+zI2N=%HPm~!9ckJr zOsCG`jNRI^SbCgamK+|;&udC$`lhb*Tfgm^|0Mtsf<*`(HZY&ohk0*LvY*M>Ig>*^ zg{ClB;)vIzaz5QinCLmZg^LWn3xvO23C8`C#T8drQbHn+UdKa-4D`p4uF$!bFEEaR z=kLl;;qeb=rBi#S|HUu^iQp?`f_Z-Fm;_gTkJXTP5oe5(Dn?pq&70q!ID6v6i^%8& z+g(C80iDPP`N_{c`xXT-ji08E9#Dn!TA~u4k(EbyW78h*U(Ev22`J5& zlJ;lMPcZa#bx>HD-W(uo+D7j6ov#-UZdYLRd~Uwr=(-Y0?e0!~Pt2X#x984$v5JzT zBZ%Xzcx_t>JcJXF!BaeMH*4A1L@{bVg+k5No4jF7X4r(J+lagpa61+Iczw{hX7}xT z630fiuD2L0(bK;EM&kEx++U!9-z%x>4R7i{ew@RkLcP7uECybtW4a+a7Xir`+a23` z1DqzPaB2^c*~!RJMODm{Nix7K&D^P(Wor;tL%KF&wwTFdsa-(D%X*v#ia+hYBD`uAfsIymLG+(hf2_q79UVDc0p6h zikITrgB_JFkh#2U56}5@5^5})(lLn4C~C`QSgWC+l34qT4=^d7Kz|w_vAmZTkQ$pa zHL9NX)c?GzNu;VuLeOhg7Z051;OhWW+R&%Ru~!E5^E7F!@L?!5<`oqJ^v8~r2}EAd zmR437>pWdrWZ;~NJQqPyc(p|C@41?}>oJM^?d^p4%r_nGGkODkrRvIetD)b0&k%Xm z!>_k8Jf~E@`#vzY%#<4~_eSr)yW4bZuLoy8XUt@~1ti7_{GAL&?*B+fzH)uupT_>( z=Z1u#2vc_9)%K)Vp zXRjr2*V|7N#%b#eQdv%){Ov+}DO4i1hbfF6Zb*D9SyMqh%~Uz#nKXacYgiTKq#A@* z^KWl|uG(UXd0O@7hKYWZtdV`ge81~BQQJ&XEE z%|L#BLTzaz%Jetd4i2_Wf%6UPfBxWgre(2#ud8R|VyS+8&@{btA2g_9qBmg>%o!mF z207vK$@;)tC#+roS|)?PWyBHQLQI7npEBFiroE4~H+uj4PAHq%Tf8*U9_af^^3hUH zYcph(`9Z(p<9&{qzenL9S6sR1Jq_88qA_K)AFT)%qWsJX2Zix#N_8bEopNW@gC_%Q z!tyslc&+_^yHk1ox~%0BHAVtHfWK*v9D zSb^8$1J8Od2eLhnF*eRwYNfaJ=xOK#4x@l_Q9eEf&|R4Sa;5Lz%#d9(nIFLpay{3W zIeDa6e$=@BjR`i{c~Ikwh)lO9L8-=9@SejOV)E>BU~ax4mxjd+GhugtnVKOh%cib= zZ8^q;U0zogCw%;gZ8^2m>L`;KZ)FHL4~hHYYW|oRQ>sjPK|#SGV8fz{W{dt_2EBB5&X`)g692Yhvp==X7;$}=C-SA} zr~wVXvjA97)_<0LGh9eXCnW`hhPNlTTuNFIC1c-M%`xWHDhsXl)s(7h?2S#X@6-4R4?4T8?iT|FVv)w>uW9M|&JsFL)mNMOVGSLqMO9A@&b?LuWNh?y2lDXLUr` zG)M87gCrWugZMi-u|c496f#GJL&Mj8F}35b;u9lHzENyR8+yz{8NOnWe?=#p&LIblYCzn$x4_C&pq} zSdfsItmjxvKx4xf^ruhU`MBZ}xPQ5`#tL2&96z2V54Id~q*+?tUewLtfgW;nV&b4) zUBn=>k=tRYU^fntytg~IzVDT0RI;RK_P4BI{^u)OHZ|3%^T+GdDnnSrckjq-s#_q` zZmoKrK0a-ApgZRCW1bA*_Y?_qH$qZI#xF-MRi(FgM`CU-<(i1XhVd6ih@1{*vZ<)CeBD+07(=w(oyG5#DF^UsX2FwDN>h_gt2OOYIw$LS z@B6OnaslUv!{c9F)XXAR?<>wG7QKc_6DQ;=xE{Nv}9f-;TUTc7W_X%ePvix(bhF6APB-C zq`RaW>Fx#8I58cEs2}-tsGyh@o|0d-0XUL;J6j++cV*^ zg5j)N7aml^Ua-5dX45u36qKB8FdbaJYHhpc>KTDeAQ>*;6{<8s=DKPn_%KjzZe4(C zyLDE5cC)M}Qv5eIZTg9~l{h&(Ti_Vxsn!tQ_TfCAaH$f$ZesT6;UbuFU|lIwmId;y zh3dSGWzH&Nu8l;_iUFLGwLhr=fH%BpI!q`SQ55j_jt8W|;gLUbie8t`D|l&Ynq|kq z5jkQ}$&mZ*ewxF_zrI%THSFa((*7l-9Jg`o4bwB6E@dKvRF;IDpnqIBLczrORwmBv zV)-dEf4XEPF+YoZ`^r^rku}b#FN_q!1X&adA`pT;xZ%KPWog+t6D)s2A=4e|PieXl z&+5Sj!wHR|kYS^3Fhacb{-enl=X7{R|L;tmkjE5CZ zvp-$V%MACCF)>C~tK=BmMz9+F>V3}H8#Y4UiCT~A2_`CE1|WG|q(TdLywfg5ghoKt zEoC9n{;k>PbL^k5|J`V!U4??)5kyC=A;mSJv-C$~;9Ji>UGhVt_Ni$tvE&Z#5Tsm7 z^7pri6TV~k%QGnPvTx<$6q@&Q2Y1O?B-(%gN-Mx$3+WS@@jnG#ok#AC@R~p zl7c-^;g}qoBt$GHukF^fxl5P9XtN%^za@%KM<=Y>DPVlDvB905&N_bp=Q(CMrN`US zs?~_^KRY9y#*l2sl4;Oh~`iT}J2 zK-_Cot=|6Ra?N5-bVp(!9z%nOE)N$HD;G5-KFgUOo%ffZ{(|HQ)4y-9*7Y%gO&S41V!QTukf$XK~x`ZSrIA?dgZ468E@8 zOFg4L@29R|G~FK!WpQuOypyeMpRzu_0->NtY-+du;Dkg)!y{lM(lp8U=4o_JxwC_r zUtCNTuUAlSq`(~cW__e>eX7@2+)z^Rz~7|q{N`0^Fg z_0>hcc>lvcE z14k-?16st>_j0{!MOML#$eVyepqG zGKnNnQj;p*lm@)A3U!8>CYOVvgL;{DVXOce(ih?eU14&4tJ_f*@{OCO{KIOy!%1w` zI|nmsaVd^x4_HUH0gHQ&q7H{<+C!1@I;Zf>HaOJbnWvbq#_*VyEGaCV%r0`=Z8II= zOf+7`iT^&Luv`E#wUQ16+Bvs6+MW*~9Hx5+zT99}@F_h=njS+yCr{HL=Va zAzgcOOsnbF^2AW4b`5%gxyEbL=K;rWF@=w^UQ_sUKH{iW+OcYlj*P_(X9zY)h10wi07f)eMc6e6cnIx+syGmZ5n9_%)!td)|@gh_u zF340>bW__;P$->DXFrjkU=y6#-mt}&Yjg*xG4K4PT>6U6z{qIb z(z$Yd0?zGUX4Sl9Eq5du&9{4SUb^Q!ql677$Z9MWJ%*GrqEJNDxQ302r|{m{uq9*3 zDYH6m9h{+U{-5HYy~;DP;zAE`;5h zzVEA0ngpx0D>gl%_AskQEtw(teq;<$Acc0w19Z$I4-Xuv$3l9bJkR;7;}cjys?F%r zMv^>`$Y#=?@ZEWDN)>p6<$f)u4Pkt5UXYG{qOIUO)9tz%jsa^37oKF}2+lzNPDO$8 zm$;>uXEu9hM&{Lv<8#^!feK0p6E|PmAl~}B#o>Q?^2^! z8ggo`e^{`o1Jn*}A2|_7fZX;683{-L4H@b+qMDwbuj5B%i=Nkhq}qy7b0t|+S6$E$ zU~yt^hwMj+_&_Eo1V`o<$^+tJMl-xfy)2_EaAVEaW8l2 z6)V9Z5^M6Nk0fMX+(a^9-SoBe3~Stn|J>HILb%hEj&%t`+31e zCXT<7-|F!#4BWkLn&rqPuRz48kf0LZ&y*aSKnN0mq*PUB%{cmrqhB>HH}MR zG|Hd0iCHc+Bqe(YPEJmiiDMAZU`lo6EWZAc^>7a8N0gMIlQ)0>+B2Y}RRQ8=My<_a z2xa8weejb=~IgJ(xdX*x5}}+K|UAQnD#v8YAxN>FsefYzGtheok!jt zjYem~x?PWOp|UKv3970@E?;v=5h=o@6BtoGONM7I$T&7GCh?fkN!9rdf@lijD#bls zLDB18S8u;1eR4s@;3NbUt@{riZ#Nci2kWYTa?jIAd5jCl?eV8k2aX*uv0$u3MbB@1m7+4}6BUp{2gBk*leU%J;fR92oYU0=IlU& zDd^$f)ON*yuQGLB>G5_4??A1%-S}S0Q&u!gvK(`n{H}e^3OX|2n_qT~QmHmjtJl^( z$h;UqLBZ1;DZn#~n;y$=w9pSPr)0bQ^nNioRq8%;W^r?Ked!~O2+x8)9SSNHMA$Y7 zkI$DOP7*Ez%uRB$jN_u$r&5`SEvx6sD0hfIEM6Wf=!SDoDukMWWTrrNPnk0MSDG*V-o~{J@*hm4PINnz1SP@yf+um4iDJ=#-0*_p3U_zUQ8?^LoQ=E8otyi zXklx$awgO&w)jV(sXR=7WZ-23&|Y*6|H%&&(e!mbV(7D@)Vog+|i2iJ^6+ z0#5#vWah?<1({zBpmsDtjsXS(TbC-XwKfImtmNuM*oJYEYN_Q>fr_uU@|Q5c(ibn# zeZyK@#Qo|#Su+34t6(ry@mg0Ztyj3nBwCSE-(DeAONvE%7FHHz;gDWx$jbKbfzT1H zH--rbVw6Bybp#rJk#otjnBh_+1i#6Ql6Tt^;XH!L|IBU4eLXgnx$>0meT0BANaLAh zH1o?q>_NFs>dWnEe0AOXI989>m6G8_bcA!KWDS^5qsSJwQ)qU6=8)}u&=1S3@3-fy zwXHXNs~@Ul{`|?;pL;RbQlhkf4!9brn4YLpKGvuz2D4AZKHfLhTtFv@6i-koKv?W{5Fw=@g0AKJI zFUFrt?(k|qBr&xfxzmBWFZ=kJ}Ki< zp9UTkjy~wwhe`QdzK4laHA&c???{=I)41!+X1UtDW1Tk=QI+^Iqtx;m61-wKgP!kn zrhD0XOXf)2_{LL{Jo|Cq1m>rgy@svp*feGp8~>g%^5>$`iX>OxoAU4LkyOxChH8(O z7f`v`>s{uQhE=AXp@R!gS%}9EIaF~2Tg zSaQJ$KlFl=iR1otrnw9W&wln(X*OmkX z*7+vRB*;fu=}CbSp`tHUUegN`=Acx;>_YN2R5yIg@a69#=cprQ)(eq0!c>Mw!f_$l|kCE6Bu8>ZU4oa;4!QS4v*^yA+8E}_I}gW z+}7G~vRXo3z5Z1DcX82VQX(WhL&j3<&D(dVae{PMX4EE;hQkV$Au`e%$F*pw4vW@e zCr6>UE&Tr^0%r7zavgT79zcMjXSnWd`lH96`F)H>`)=rtr{w|0Q||%7>E=Vo1xZAv zqocF2H8ZP^(?RTvD5BYSd!k~KRN74Ys|P(FwCu~~k4~jOG(9Y0KDoJL#zeUeZcG(j zkM*SNM_m@=7z(ukX_HL2jp=h9e&pWY2s>Fjb=Z*0QwLi!Q(Alt{U_is-b znjQt2K(e1Xaz}JFmpfA&<;muR(g#qZgN}O3-ZEIAY3{|u-;AH2Zrax1h$e!5Bx3)( zpkVYDk4_G4&A!&o@QV7AYEJbw`&`=Y%;RA=rODf0$5G|a@mg!?o+zrzsb@q_#Jsna z7v3Lsn3$gYJ&%8(oXyt1&8wXZgy|{ufmx$F?p8;N!Um)A+b62=^TU7GCkAZ=B7wK# zRr@|C0&4gFNdBaLD29EQE$eTMR#T*U@Fe1;wB& zu`x+Kx{}r<%OZSos8lHE z9D#XPi;*1{IX~;i$Q0^VxVZIhZtY|JL1;G1T2RyVb$34PECDaGyTAeAatl)ClJrGi zp4l5}Nd-N5izV(44!s{V974t)vSZ`8P(8g0q{X$w-o#O=usD-NeRrai*&G~e;h0wa zpxaFHS?(oBWqhn$wb-QuwdBCyYcswfT(}oh_?v?wztR0_rsk4!{B;le-A~TXdwS>< zU4&gC-;3yyxcRDDtHY}M0=FI(V^asiNCf+*^jZXQ(S#TJubIwrVR#ZsIY4QG6C>b54fZAgl5)W~Y8;H_ zX+wV>!M}YCW%zkJsj}Oz6qlkQtYyT=p1d4b)sQu_j?y2F_HEDY2^x_lZ?Z#nY3mW4 zPU22ijV7GWg@JN?;<=c!hkzN?^$9$Jnu#j@+cHU-+|0`Q<3ZO?Q!t*`s;Yg&Lg8yo zf@C~RF%^zUm8UC5Xp?e;7vf*ILn2)0*^k;%Cqwg?G&Px+xFX@B%Ub`jRI#vpk`Phx zla33Z9LVXLE(*(q6LT!4MAAUL*r$_)sH*VR{&hkg7M<_gQdm;s^DyUo>IIx8xR=s# zSXug|MRWxg*>WgM*BxSu)Ub7&(`P$-Z5`A0YzMPZja5G)vYd6YiSvpxkJ_T!txSRB z%k1J-SK&R5DA+mI_btiXp3NaCU7rA2{>*568W)O><8$en>YCbdnz5=q1$rvgtLu1f z^EVY^Rb@Z6<6Wiu2*M?csW@#3FY76%9(M9))-dpdeBr^dw=xJ^n{)mKOA>QvdS82i zcKO&Yio9-f7;sEYn)&V&=P1eU+=nx|`^L$8tEi~If@p6RtRdr4)KBV-n*{1aC(XyU zde5^14&XYWn`KZd8}m4!hRVoy9$f_Zfk)ueDdn-_hR6+(LpvCBpLQ@QLB!lVZ34#x zvEcP0noK`!7jbrnv+ENDzO~uOe0wPg%TsOeA3UL#FnP0*eXXScnaNBR5t%aUA`hb{ zebFUi993l$Ri)=ZAQKld(qiTDCCkyLE3^SE%DeSzSe*Yh3ibX;Uqot6fd1%68QN0> zW#4w>^L`2#Gu#3=Of~0}VQnv)M~@+@wbnfAlSKC}uroU42V2c){^_gIGGHaL8m!2| zSPWxrac$IH_wr6~;sOJeCI97P#MG!L69B%j0+1aQeIBKxA-)@JXWG?2Wg} z;%&6h?qy0GCHRJsSn^u9sMpoEqoWr_BafM1rv24y#iz{F-FiPaEgtohKWJThh)NQ> z`d)p88Ps$~t5RF?U*1ElyBX7K4j!3^8XJFLKVLd}`Z<50GJzBL*%n7$Yv#b#J$_Sn z^DP#W1YAg`9@LH-_83NLo0w8}SDZ2E%a^L&aN)QRrGd?}D?Q2LiTE_3tlf`Nvr zJtYb?{c{!bWm)cV-5s1IAP|n9_BuNCdVsON`M7CR+2b@{*HoH1vgDmrpCIo*J=lex zF8$FN!0^yN#9Wy#)0gwh?kV9vZaNzGN_nF~n2mSin2*PhpSq<+p15}4F-P%+CX?O* z94pAZP7sD@`HEhNuyc!ED#>%%(fRTZx)(9pyQ_mdrz2elYI*&^g@$#7R8dh$1kJ_K z@1uB!0E+}Tcm1Q>^6OW@Fz)fD?5=-b5-vByR^Qu;&2+$0V3E8gc(CaK)^xvLlQ`~>PZr?kj~o?d75jLHoWb=Efw6!3f`#LrSym4E+=XAK&J+02{1$2w~WI1ul= zggm|2hMW^Y0v^j{e&{aNm5+8rO$FshO5p~{0ISDl4NO+*n2_t z)#?#RDEw6zCVwK8&338zJCG)pxcs+S%4!B{_NK8~@v!OTHc>6>{^K{1ssPB2s^0l2%RiN{#5-T%vBP`u> ze^U8)I7Uj>crINYV=)lNKd4w*F_otx^TV#AzrLRPit;T+*>1*t=O(f>-la3>jf14* zGG@TxY*lc6mPZ&+vcewEW(jz0B)3skjCkS;URvMN|G2BodBJX@uJC&=r|2B<=;4;u z5Mx5!srR#n!x5&}@q+K^7KuRry;hsN$I5p(>P*z@=I2xX`6F5%iA&x& z6&#rbisqLYZC$a>LWi=arA~EBBP2I(E00?$MQeI;*CpfOeQxRBTkmXFIOg`!X_zE;)7PVk|w zIyR&>-Xbs{<-FB9h-4&mvwT@Vhwq z`apqlFJXB}jM{ZKQ2Q4M*<;K3`B%{6d>hkw+_{EJ->|^YplnKL3qDn(inN zl1WeFkpzu_y?K`P?J7|vQbUx~h99~`u9znTfh6sX(^*d%i;plS5Ww57# z61AN;85~Pewv~4Cm_nP!(7l<*rErFZt5CTzgfd?DfX&9&iu;T5zqfLB*HttLM2Q%N zY7!?uXPM58&-Z0=r~llo@;~chI_VaR`+od`8EmVeuI}*XzT^oWUUgmV_@_ljZ_#sE z5>D2Pl)8@+C$P1x51t?|Tyf9Iq?1E6V$ouqUo$he0~CH#+*ledNbblt_z+GhMfBwO zC{EUDejUrvcz&knA~7m%whuEWy{;*D#|Lg&nfspJM1}E^1`1)FN0;N8I!abXbWst; zQQp;n#`NOVQzQB(X}UqfD>+~2rGK5B*8{4g4m+m*qF=jdyIGySl8i9)edWQl?XTmL zCVS(b|4J;ok}#BJ%Q`a_DwDf9tmG?P4977}JiV|UHYnnHH*>fMW}l`!HoXr}VK_X9 zeyW3(YL8i+oz=m6?KeXJ_;d7HbXh$cpS>(@V>x?FXPGJ8W~3fOVpWe{WlkGe{ZYhB%{W#$>qlgI#@JMi&?Zb%x_G zQ&a!66}#}f+&2LBaS6%64ss?NTShGSch%7=&#@8|=%#D*Bg&Po$fDuHYD&zT7phSH5cb2e6+NrhdH3IzmG70i&EqXv2hX-- zfgDvoajH%p0N}^Jd3%^gc=+k+)y*g9LmV@RWc(5;+#_0jP@%3QJx3>OCsUSV_~+HC z(?+4LEQdXTxK^gahdh48f|H)x(n>vh4r}K2tCm;)EG_d}&l%Qiv_k|qVLdI#3o)ev z)ldgwxO`u4!o32?O<3;QWF}4L;)3L1Gc6eVIKc)8C+_<3a-FCY%=8Bpx!-$YmZL_$ z(n5!1MQq<2$k-`^4F+4zd_Gg=k~T7>9~GUmIb$xVC-lnFkOAo?m2w?ws1Qa0_TI<& zuoSP}aXII6C*MUUO)#UGQG?&DOI4k1VKsig2?$C~{~{~eIh2V*f+Hw002~O&=;_0| z1bt?pP$&?Uy8(%AXmm7mHq({7_bNk+(*fWPpezHO0aK>7bS2$8Do|yZ7twCjkO&2} zTN(Ad(fbbSmpJcvXaGSq46BJYF{uB)Y*tzjYS41;r4`UKQ5b2`NQAKVgbf@2*01^o=STCE z6cc zzWVF1%|>&a*|@XZdm5_2>fK+m!|-4G>hasogB0S0DE$qu=M#Vee3o1Q1`jqx^Sm{{ zgyOh(64Y{_9`I5Q2=v6ahj00j4eG0U-&O6)Eq^cEWVm>n&#Gkvy1Ybvp_T9=A^QH< zq;qkrxZV%iQxCnip?%UlTNdx$^F{7!U>5MHU@tLI3m`>`^fo?S6S10y8jqwpEwxf= zP+LyHg)QButcy|2e8e10kHl&@VHL?1sz%F9y1tipxqmDl^u9)3xwAOuJ;!FJ%HGf2 z+@=K>@u*hB_K>9DQzsw8!*H?;erD&APt!J_A%C$WpD<3^q=-VJ znX5ToP5QlG)ZHrePVck%9|#6f2{iLyHS*e%(tfwM`G}s*@Yg;aDlnW>q!3*Sj=YQ) zZBc?16$m&GM&H^bxBBp$Z$;y)u}W3nbZz`J_?4z{J)`5MsiTfTsJ?21TjxNg z!T#>~9l_h2cs8dP*@{39AMPoTgyR|!{Dz~Jo62-A?QPs{{EAcVs)QvVa5?lENn?8# z!q2j%KMXk*hr~1$enO>x>l%c_ucW}19VmQ@`Hjy+q z_G+Uz1R%Sxkvks{C7^7O^h68`F_&HVt672%W+6Pk8@g$9wg_~s3L4^3;CL@Vdy56a z(TrrQdU|3;Qr|FseRu2*+>u3$%-6XiOU*Ubt ztZdW>@K-=2TeY#=oY^8Uvn*Koa~W;6FSYxvr-)5)f7Ywd8bH(lqj{}&RX@k=Xp9Dp zK0uy!eskRdP|Wk26RBK%mXP^_DBu9*@HF5EUS%}|#{PN_<=O)wF!Sq*#8G@qjItG* zPNPF4DGDIu4FR0`to_L6&rWC4OxunQpy_1PWmYwO9nT%H(JkIZ*mEdz2wZYh|a?*Tq|dJ_J$xYbJ% z>eo&xm_3pe7iTDOj{9145?4cJF88x0UF|B!Zd@{mVV=88Gevuu6RiCUD1fWL$Y%Hm% zSs6dUOQX3{J@&{md^Sx>@QD3bKfYAXSB8N|n!xk^J+ z-`c3}gD(<23}e$N z5_ag1U#*l6b$dD-Rp02BrN zU!LjGMaQ3laU24k6eo%(`piz@fi5uXwW!PXo_}o0GW8;YtyHp^5~K_L10wJsR5E2)ya#(2)b`?W+}Q zSAY(Y%Q)0eE7`KF*jTo2*~4bS=JwC7KES;Yl)bc;82>Ywl=-c;1TIpsx4vPzYQ5Ew z>U<90^3@eQ{?a9q5Q_R1A=s? z+R+Q~#4klOuU7+Du0Oq{!bSO3gfn0}6RcDCa%gY(yam-L1B4Ae1xjVX4*5rmr9J*b4#PLY!xw-BnC)!*y>9xMZLiY0yT<0 zw!8PuL!ep4axa{RMqWLym*JtSwJUe9L&>RJ zQ9z#%{3Qfnjq`_;mJ29^GUm8L?@OZK?uoeoKM5R#;Ad2<6lld1u<_lfUl=S?f7ww1 z2)dA>{T_7BKwpZKi4$4N3WHZHd70Jzf0tt*PN6q;BX(K^TUh`)mK_a!74nd0A6+ zTBC;4P_ZK{7f{K-gsYg;qg{X~gf*-lQB<_zkYJkb|GmV|X5Lv>sUIKyONG&)p~s^e zZ*NqM$4d>+uB6lHokIS}gt)=HztAQy$rmqRBk4wnOp)Ax=LMOGVwj%RvkKt;^xMX@S8a1Ckr1jFpVmL!2$>c=B zCm zd|ZpCik}EfnCsDI*WsdZ1m48cnkFu`2j)I)el2zlbcpatTTXTHBSI4upjo3nDP^D+ zl$Mbxd)}W{Q1~ua1|RlS+;Nhy^60mkX42dhKO=$`hVqXeXxdk5A6K_&7$UN2{~Z+qT|n0 zF|oKXt;g9~PyIsmmY+|X;J-6qJs|CZd!VL)VZZwJq^YG^ZQ7F#4J$c&q4_GWGBdaz z2|oCMD0z5pV6=`@#oWq@0kGj(x=%CKDIXhn7WklZ<7=!&<(-5Xsg% zsq;*@>`{9zz|*5j7aKR$r*bC({6wL>KQbL#Lc9f$nzYMqfQu)&FyRUivC#5))lbil z=+;<3v?#=RVqdC2a>ezi5ox|0?PpO$Mna1o<5-=~p-AwlMuu#0y?gROpv!xaW1B)( zu)1zgoK?i*QQ2DBn3Je%n^QILqw4B7%#r*x#b-xrM!@Y4KkpFb zXbk`Stx&)b!M~64h4_jE`j$J$^1XLO_M2CWY*(*)`S^Q#CQznq8EC)XzEy5$h z`)9%$LYWPx-9x;o6qnF}G-D(pk)D~y^=#(y;8S9PcDEYR7$93X@n%*5SIP;HDa#d; zivMc8Bz1Z7=|zAa4qDE?U+ltIUuBM*FHu~W#CI}0XKorVEzKGx?7%`i*VEC!(^~ez zJfQM`6f0$RV84^ad;L-lWZxC)7On?#Z~tDv!;{UO*YuWK#?0I_MIW~3AVThbo?Yzk z)1KS;gb|SS|5)F0e0Yhb&yvpEIJ8m<4$SRQRjWiupg1_aLogojFb?sX{{*}sNJV}X zOs?L{vhkwL^+16zh9_9Fv{u$Nl=z*&I!lUtSAM=8n{f3zO49I2j1HKOSb@T%`tpj3 zQ`3`^D9(;>BK5Mje9&K($K!aU9XC5@0pU&RF*9ej4@qfhjY}(b_im(@REVNZui;+Q zYnLU^e*8&Us#RC!@L#mm{zteh6V_EkF3Skg6a|M@4E%9YT(F5BERsGG^#oTOd4 z-%(=LXe?@NCY*ptQ1jZkTL#K!cA&tK97zj&#ORz8by8MU9c0D{puzNx6~h9yu5As4 zg`r(tT{$-Ws!)6G5Cw%F#v{aoE_`b^j6iWfL4X4H@Mv=b_n^xRt~BIIwF8EhmknFj ztFEn%OMd$d#mzIK+6T|1u=2Mq`x@uVYPG0y80xh3M!eE6_!__Mx{k3pr zhvNw)9)LptStA?3Cs^6f;))9r^U9+}@4i~9nS_L{JT6pW z08FURlfvo+%xj+2An`*zyGK6BIwW4dFM%~m{p6=4?+tqCxUO3q-ETR$ey@D)jY=vi zT0EHgcz7tc*3WM^Y4{uhWTtiH!20)`Dx;yAi>GebwR=?+JxuZOS}$S(8`xFCV7lzZ zUR%$-9~ugX-R&KGM_pzWF#qfut|weuI~Ae@Wj9k;fs}tPElnL0dzTy-(Tr2+o< z2^+_8NZ=|aCADt{h_cT|d^c-tz5KCL3n@uaZXEXj383J zc@rPiX0{_AIN>PhJ@NLyrZBtF^7_M4B1J0V*wjfDzd?(YgP{8DoZcmIE&V3M?96Ms zeJjJm^BM z?$@Rw+nFILE@ZD`+j0$sba9F}u!_ZJv zEgoK=b9&+&2DBRel&fhDc&IUB zl4?g#N_@g_M<OPkTpN9kzl503@&KdnjA@ys8mAH z1nbi6&o&K|Mf}$|c73?#PTeRWQ<_@-;M234IYvkY@-@%1|f%IcNdXsZ08 z8o{dvA1_^7?nHSgv;K6B9N7D6!4zIPNC+Si1l15=Yn1}}0thPpY5A3<6|qT;yyKFQ zyAxqM$o4hWqn~sXWObLQKC`0XSo&V^EdezpQ0!i}=o-ewrTnrZyW+pVidtXKv00+x zoSs^>u%T}GbsTo}cWU%YPEnWy9-dj*zm`p4Y7M?bpWgi{&Qld2Ft-Q`jG}P!e8%UP zGk?12#`)ZkISl8jm0r zli`m{oT?_2@g^Eb*AI*&K-iUzNJNr}gSI8R8%2}*N+pC>AYS-N+l$PS1GjN-Xz%;j z4vRBV3=>CwsioaaLwT9GU0Kg+f*F^^rabZ8fh|v^HNoF^N)C%@oG>`|*{{8^8@>)F zs${i3J)*%__IAUjzzXDy%oeyW%3kf?)DQfHr6u4SbSC<633~uiGZKpXhHw~GKR^pD zE~29=LR6swGCdg0y*(s^7ZJcIBSeei6i7N+#yN#!_w}*g)Oaubb3x~{h5$HF_jtH3(+84g9yjq9DaIxtxJmUb- za(;s)b?%4_3nm zVeldlgkWIfx?-21-R9%15iJzCjn*cDf&NuQ$c*PIgU`Qxn79jlIUc(-cZVSA`O!)O z4z6Kno;mqhoqs3<(e$e^1wuMhH?BO)OUfjtV{w#m32pKng^O#h`HAt1i$@SvW57atjikN31!v9fT(VY2sWhx1o>~W57 zn5t^*sKA2OZ1E9hTN$W~n6;4tiyYXsAN6isRDv7;j~$BY9{&zacz{U(2~OFs9sNRg zf*`V!N%;Kk0Z4z188s>?jX-bsLTr&(1X70j9B?ufw+Iw}T%wq=(>64K$|5IP{=F9W zuQm+9I)aw55DMDR_2OeeJIZ$xAM|`xiRt5<|HCgGiyKjbz;(3~_hHd~;?{=1t%N!C z0Y%`m7}X1|xS*iEB`3$=IbrMg^X^JIfvDBnEDZ>c^)X+$!hOW*o-^9WAw}#EhGY}@ zK~}m%h#SO-!Q3Kz$VITx=iOU5m%@Il1Ru4a$zhu5eSoP z93=;SWI1pvv1}!cT~>sUXAC+G4E`S%01*PFG(fKLIkWvAF4eiBzGcT9)QIOt8lnGH z_zQ4cOaO+kKeYdikgH<_AW{KIG`MuZ!kKpwki8)R=<+I9e(m4JOshg~Q~V$j;$LtZ z{_{A50Kkt&9FrnEMlUHU+HFiqN&?Jm!069@{&y8g!Uc2&2%_<=SL=W+4Ol5$xlC20 z;(+w|EL8C(6Xb#;dmZvpz#&wY4)oGkOVz?>t;z&k_SKDg6%1{_ufl?J82l;@)c~7E z%aVqg+UCAP)t^v+Dl76$zJW+0w2gp7_nDH83&dw!KIJ&k1J0^Ta!Z#k_ryw*t+oOO z2ipm-k;~%BK%*%R#L$CQ?``WeOQX@cTCD_0G6eV_O&Ga}y)R2kl|MQHlA>ZQxd$3NnMDYU zN^En=L`K0>!z37R+W1k#CM+oBXMHGd@eB}m*8Cn^*^6cHc3Ucc0QL;mD zMN5uN)Tk7&)CIR4sO#zyXWsb1k;#H|84@6}c6Q?i42OBVu33}>Zz#bk6kDXsi3ZFK zU}JvsCzfJJ;E_^|0~tKLI0Zh31YG0+>Ih*{mPrM?THvJa3ruMXi;LHu9kRh)7U07x z{TK2{jDF$(o`1%7Jz5^Oh1W%}8i7TH5pdTh#~ONE4Hk1mFnt zTUy{)d*N{a^zT!^3j8+5CK^=i!Ovj?+$msF{FirfD1-($8{ehSyLSRW-HKLH3cDw6uP3@ksz; zYoOT}6_^1awSV3Pg@v?0X@%mek(GoVI6^`G2dv89w&y^c8;vC(pjQSKy+5BH z0Ir`E*#x_$;sL-(98)IldiQf%n9k%6?A+vqwR}=UbXmf6Fu}kK1MBVE6JUWW^$8Xo zZ24S2@ST#cmr-MYr?7*A18|uJvn*1-YpfxeKfyylK+x^=RwRU+JS0RvH!cheg6#jQ z{~ilk|5-gq&+)HRP3yXmfZcbZTvTI^%5tXF7Mr-pV2xG1QHEskYW@80!t z%vFG!D55AsXc@S;Tx$l?F-1`%_=)rL@+hE}`?DH(MBxy_b>LCi;l#UW77T7-5)HAJ z#^{>-f$##>m7kd8fI9%PmQnJZysL}C_8MzyZq7r?(sIu%m@GgVHd7V-T)>7jn@sdO zgS#U#@RAh`(FHz6I;V5s`cV1&3E;k+w_>NhS&Yc~RT?9<)|{N% zZ%wK@(O)`!Z%DOh%P!@_tXh+s;K0&X)Fr+pOK2YFc%v|Ju2!r{@;dOFs{>7FE`%01 zf?%mBD<7BiuHD=!*I~+0a^pwFC1nZ_8btCbxbVROF7>&S45T+UshZ;+8<}%wCy%JV z01^I$o1aJ!?-(U^IJmVWJc&Ug?y85t_K(M)s66n?{P}BzA;G$4{$zdQ&HQB#W`3{# z-<99-$?uR>xmWF)DtIz6FYB#sZ6re_rT9?Dy0|%6dr{sYaK=jGu8Y1U>r$4E0369HPkv%x7AnPuMb^asR{Hz+ zVEh)xsA9g4mT{w!O0IGK!1qX?2#pB8@R#u)jSwtq;6s=9t#fP5Hd-iZXs1h`O@-eQ z8|Z~UX}c1c@9YqQJ4eJBdd?-nmDlW-ye~Ddz0UIrLg9K{_P;swqJC0X1D4*jX{;|Z z6?^-<@3?{M2$8k*H*@vzarMhlv6PajvsZcM)tsEMOHew|g9; zfZ?IY!B!UV7uDxr^Iqv_7nH~i2Bd|u8q3sLeOP2*JL|-I*?NZBU1b`pqrI?Lwz;ih z5luue)%!kG9-uz`bxR(_M>Dl3jL5Ma>jd8*d89K-!(Y(^Nh!FJOJw3%=B@U1+Ojq$ z@xva{okxueqx;6jdU7)6&bIK!`0NRnXhXQnvAl%+|gI;AKjE*vQa>e)E6&lr8HG|L}?Xdy*P!k=b6C|Le0 zgSD$Cu;t?)!6>FmNc26K;h(6NOfUa+Yvy|_0*5xf6Lisr8#T;(j6)^z^AtvnBy^ z^E~zT6m?G%La|z!uf6+m-A~U>*0(-7t|L+xCxSaG-VsMuK7X|a(>G~F4kKJ`p^Euy z7t8lSQMK}*k&o*A!JXocR=ucTkbrUcOork(JG=W+AkIvS3nNt( zwCdc5WbOE;f|Ys$MqXc6%hPRnz)RRA&r1!AP`E3fJ*~WxxCjk+;9#(a(<*$nGhyZa z;QW(O{dZ*cBgYTN&4@p1u1SL*JQo_lRRQ8*ad51G8|&-*2Nxb~{B!mpk3`EY>F*vl z^nO8&?MCWaC2pGC!P>%0@BBKnqCckNT48iyF{h>ZCzU@{8C-%RL6)DreyokJm}R`y zpSW<`r$ilGl>Pq-`^u;&qqbcT1(j~3JEXh2L|R%pq`MoXOH#T+kd~H4x?$)ZX@`_< zIGgu-&sk@kKj()mm&`cx?C05g-}}0+@InOhcWQ4-((ne$y)k1j#c-_sa&;qA*&i#h z_t|F}=C85$OC87SB;xBAXDGpv5nn-8mU{8w~(MJTgBG4FNOWv{c{~c_i6wMmpdQ1`cHjJ{|M`k~BHY+CMkZ z*)lF7-#wU^YR7|9fLS{_Ys25Wu2Xx}(oZTWPpy5v1f5)628z=#KEErrFdjR~mS3sw z*xng<@ju<&g#;SlB?NI?e;yAUHk({p8nwU|QLAjl(sJjyh(=K&tQXVGzFXbHj>t@m~+pBE1$AnRwZgP@bKa9M{5wcRT4tq z^PEyRyhMHm=E`x$8Tw|_oWt1}Odm1laP8u`T9b41Vr3}Iy#?g!6p%#zl~lzkMI+rTMi&X6S^Luf zh_J9IJg1p3k)8(L)m+C#E}Wn*I`SzA+sahPY~VLpRHF zArd)$wg2Xglq5y=&FW?N^PnC|%(s;-Xb#2{Qc&~TssZUs3#S)L%a2({Kz)%4jxnir4e%*h z0EweVL@>`leY%}WRY&a|>F+S2q=407+XV!=91Stsosoa@`uT)-M@ag(>=aji9tL7T zwP4;@<;e^0v-zXHgBV-Cd))%a&%KyA9r{j7%L+}e?C(`rJY#1GXzecGW z!-=e1A3e@ptG&pljzz!5Vn>rhH`z^)SYRl(s9F(oMMdy{=@O|{(cja4x<6OZK}sWV zhrnDdgk?T@-*|1{wCNnUN1BgqP82BuN!d<$2h#lm@?0CSz#D5klV|_2r|)}}I5V`~ zaYr_8O8T+zkX;pHqeG9mS?(#VBnk8e3Z>k z`I(^vTz53NZx-^Z#~ZIS}l&3cs@EGhEf|Ds^|C`3w! z@p6+%?-$!%5W0vZ!GUKm29>GGt980;ziDu;`W|CDUJzsJ@r6-zDL>VWa6{#J#?m&A zR(AW%?~c2_Ti8VIk84>uqF!;FTK=f8UDmK}h}pjCgA_<{kk`<_iU{rnwXcjI9!1Z< z8%KAKN3sqFiQ<)=f#W;bv9k}2y=k70<&$_jzoVH_N_k6~dsvQ=gV(vb6yqGqTLkr7os!4xG{?4E`jnF)D zFua)BFejX5do^y1Jp^BJ?S~>-HNKCPFR9p6rG$D}Z`XorJG* z3FK@kRawj?(0C#v%L)on$b7>Y!ZR^>qY~&j9uUxPUz6Ig#xhp+vza)7*x)%g>CV+{ z%lyAv{Fn7NX^(@kZ1=OhskVcvL~XytF6vC=bK9>g_a3*_Hf;Rw!g%>PDem$s38F#a z4G}M2V)W+Jt+<1-`bE5B3ok0Q1xB<$8$hBbA~Brtiam6&c|@Y{7ku0AubM6~z47j4 zqggC2DlCD?DhrppE&Bln`jyw~!pjd)Rcf_+Y`QtVNshX?Em=xc{hUod2h#SMhPIVF z5O_MJIO56n2en^+LWk4=cTfffctuG?>Ys(*+5Ofe^cEHhNYXJ1>gW8w)qJ-0wJY0{3qkWq#6xjoFQ;JVBOjZ;$#Ghkuo0$t3^RiYKh|Aa zBAULB~wYrAJ3!l4>;F*tKM@%?_L9E={ev_|+1>wAUu8RFuOURLt=W@Yjgs{Tg z99o~5z9MT`Wz(mYfbQL9;K1>5Vy`(gxy3)m=h!kcx5Koqn*gVUF$#u^?{YJMiMQfJ zb};$?L90c-=NEdAzP~BVnMsSAEJc3J> zov^qobG7=EEq>5>;JGBPDETBx$l8orhH;WdXrt8Xk4M{>=cT~h%0|8 zHfN4m7?AcC6y)s=EW>P-*oHY1? zC}~Ajb;MO`UymMnE9h)=j{k}#idqac5lYq^YL7q1MAZ4vwQ)>bAM+=@0wMp+JC{up zuGs2dV;hk~Cux2MS*dnbof8Qa@mOb#f!i&P-S8X)U(N7v^P&s7_7-Sp3P`$guQSqL zB0U466sWF2L-=(O^IAgAP}i7y4>nI@x1>eC*FjsmRY{ZSLG!QnK&KB#A5mZPJ{i8c|WcSP)?5Ckl-^gQR zBaIctY2&>nBoxR^Z*0H4^_@Al^*P~=tZa^Mx`YNoOejfXYOVt`^Goh`9J?p1%4X;0 z#)rqo`s^Fgy-X!QB+L|7+kX~>c#3U#rhW8(+m`|TxaiA6;7=eVor#A3ysr#Ggfn}0 z6)=#kx;QRePZ6Mt9@fn%nHTpIlb!#cX3vdvjc8*IawwN#w{5-iN)URCr>!KpaD+r5 zA56S87z;w6D68bu8`Q}Dm`Em5MZXfDrXW+a(u!dd8pIoLb+zD;oT;ZLMoCIFe<=C2 z|EGXnDpLalP3{cC(kic@;%m`V@d7xx!P3(BmhEko=+I(|TUM$MmgL4qhg zpbOpyAsZ3I4bKerwDcI;rM}y7QRVdE5QtfqZT;j&t^Vn<%3Te|l|yHzn}2Jn(Pwu! z(!W7`Etq<4GswH|Q9fDz=WM-BW9A~rpwES*w%AlPKLb0*8OaJwk8`OYNNwmN%zj*$ zOZA^Y9nrZ^MM0!eERL;xXnHIvs0dk@s~|YQkfw`T85_;Hx4nGSxdi`s<0Y_; z`HtHD`D`=k|4wRLhU%xV6}uuHW>RY2uVI=qwK{z(z=>mW*9T|E$Mfn~$m()5D1e0- zqh2uf**&XrcCWUT!viz9JDXfaP~xg|_g&BWFS;#b_oA$s?XyZrzMAFWrJ&SuJiU+w zxZuUb2)AITZJM18%hLCd{F33gOty6A_L>VuG)PTYYA*-BtGHFMJ!s zQpl0r4TD>810-=iMU;Weu9_l+FQhI-Jp=sJ9-P9(uj?AQCO>HPa(nn!YC){CfHC{G z*R9ty>ST-3vxP3x^Egyb#icOxjusf|+WH@GZ?E`rW(Ph4Wx9-Dowyt|mJ}tXg_l>; zDF9+W(Cdc3GSSBF*&dp*y&o>Ke1#h{6Wv(%8FY14GMxT7kg>sbUw>4dj@x!~qYGba zfLqG>*qcx#@)=@6yNUeswzpoP;}hl^>82guWo>#18x7_dVss7QSJHL>cepOJi%#6H zpMZ{_fDu&TzZ$Urh6!d>H^aqt^cy{%)8!;LJIIqu=Esb(_v!>~R=)%$>pun~LY4O% zFdw9!aSAUtvUrnR6!4Ulm7(73T5M#3?$JknM?U5HEqGDAU8szjjt43IBY{lVLl3A9 zd9>>*kLXwF;nLmoJE>FY+b4e5ATIwy_%MK#-06lHMG}?jxbWC@sd8|)O^zQ42Qx{5Kopc{(}4fb@VUp3oUUx zu}2w!@7G*lyX zAM+(wg9%%PW6Gu}TSmBSJ{WIs92+BM^)C3*u+yLOZ^~4^(A5uNS*w- z8-oAqjyH|L5$Jb>{cdeu;39rE&=4vpRB*p7;%h%XGlJ(W#+ zm4}a2*QYtM?CBJV42)nY?@lJ?Ar$~6Z}HvDb(=rbw>({#5lXv=*|V**6NzLmyu-r; zbFV2*QmNgc_rg{CA?o=|%NPwYD($?(H`3APvr1VGqv!)Bm5t;YIlYecilEM@ zaEJMN&%Ra=8??nU4CCh#pk}T*#n~xWNI0l~)q&~Z_ICdGjHph7_YX7UpZS}E<@5PQ zHo+;+)7uWyzA!wsdN)z6fNl4f@+FC_n}gIWEA?e3;os(DVXJ_iUfi9QG3fTVvtc2O z6bTXY_IIDKWX}nI9_W=RhoO;hioW;7a;E|?p{%HeAm2(|<9g`iOc z*D}RFtL6Dl$K2+KfzUi7YcjG7*pWdUr;6K^nt2y$Nm1Q?dd(QJr;coXQ}|v`;l|a4 zE9`l40%&PZN8f2;ehGV>H)$_kcp|@kS`GG8>4~1eZ0xR|e!F2yLE6L?bH=q6O=-^e zzDl<9y)gZ-S6tb*LGr~@YYd}16B$HSRSre|kL;CqJz-YD8p98Bvo7ZrhnNk@zVbKv~1*K^*2whzSSfLPFSf9 zoVu^8PSy9rLNH zS5HIh`XRt?MQ%jWW1Vd&%C8q8peh+!pNN|3F=>LQpW1kf~ku z8;s?Yo>zMQbqd5ezi2MbIl$Q>srEFjk?-L_X#zIDlq2NCJeCw#G>^L$%CC#Ch!M6~Xe?^?(*w z@qldKZ&s_q6+ruRlG=N?-uR39x&ehwGbKo+j4XqWb-C&+T!-1Z3AhgSaHBo{ zjF_9iiC-Kn=x|Kh5wwb5P5_!z(&+c|2N#DlH(jHnaeM(LtTM?ETbe3cTCY!>tjpTb zZvooW=(~oTx!lqS?XWPjFy)F}S>Fb!=LHY~OOSORFfaKsJ|Wc2WT9&u+WVWAXTrCf zFe@LFB9gr%b82mNqUog{ochoCYE~55oZw+iX?!)p_sM~2z6ZF=3!3u(n+x#c_<3Tb z655MBTw!F<0Q{LHG*>$1G_^=4Gapb2PoCDMdT%@%aVHAV8Ut;Ve1flf{?O4>5*|GN zHT#S9IgDjpAxh0NwVYbID*)ju~gAO5xt48*92z^19RnmcQgwU=P)npLZx7lK(5 zDj0C2a5>Zz_gS*LT>J4tAoG#j-4RNvso?!1FF@t6yu4$mh`pSAfIf)PX=QWKI& z&NBGDM1N348UKAaVx9ihdL!^bo5(6~*Q;{(7Je^Ujn-h~p7LNqI`5LVmv(o)FHQW{ z8qq1}x8ow;*ftvCeMPX~B6~V>VUrM8IXsyH4OCy=jO+a=oMO~IP|D9EKi0;n9gU$G zh1lq(7eUr+y0%BesxrOqB@XNWa!9+kAiW$W|6?VE$>N*4J43;j$k3o45mJ}_B@xfz z4QsIbw?{gS6!2m}5%#mCb!R!Iv=neqRdjVCM%QvZXUn5vO5{(P&f}A_SN()!0|z}T z+;904RTQTzMf?cEmcBx4ivYbcW>%8}>{z-?^OIAzZH57$%0Cz#1sE)`J#Vu3?A^3_ z67YuyhUv+5c_hg7AW$bhQIZ;`%Z$g=jgQ5**hxY|WBvHoQ`;DXR`V{dfzEOGG|QV? zZ@k_^LZ!o&g!ciLke!{KD)%P6SiKvJFc#9UDos8JNi95Jw!f-xWcRq%Pi4|nB3Tx{ zC}aRucsv#7GX$e}tzNwf*==zvdxkH_2@j3>0yF5-+%!D8u%d#sujf6qy^m4`Se0p| zttrPswH|^6i^KVcMZ5XX_mA|gHqhgASrG&;>#)Tw%C%*$b z`N*PD0QaMT3_*}t)4V;AE&a8hzvdJ2CoR1%O2wutAW7lP!h#tu@5ay=srpGX=$!rF zcYdy@!H~%w6w(M4`QZmjNu>j5tRQbn>&c1uN@Eo-X+WmUQ3n}lhph%aJ3&e%4}Att zsGLRVak9xSh|W$LI|YHna{?uPc{51T{vXJJTAcXy=7PY0o`2uH5*=3kck`iwc)2b# z(nd6TDp8VtLZ+EFCAm3~E0a%Qu)Hj_?TpIz=Scua)G!@Nnlolgx8!pRwmG^NEJZ&s zxfHAd#BN$mpPD%(#h!)w!%ru)$vSVWp~XQSKKI3v-LXQw)eeSW6uCR zby`}`{m=O_cCEU!wA5Cu9bGLlLX7GL`eX<+xLRsl8?WC;y2&3NqOn!~5#tQ_eog88eVoR>%l%V&cQxmq|4ZO2@S z+;piz7MSu!w^+BUK3V7E!Z9mb6n`Dow!=E4532p>WjMk1=XDy9^JkQCd-^vCQ`7C~ zh(U9pM#m$j29k%-_`v4b+KTTQKI{75YL1~ngeAuvrTqO9>3!{6$`Camp5|J5H$KvB z#8tbqGWY7{){szZO5FtVvijZgEG58UlvSioh*%=;El^djzcen^!g+5oZhoul@RZ@n z=N4&6F9kV+?fYEn&w`vW(7EHV8N_<(vw6aHMCq_zgI*KW=4I`_F+rW{VMAwUs0g42 zA_jfwdc#SdE|RtLu-5^Y76gj4q*tq#^S_*F!gw9}Y-^804DU+?5rZHDgTg+kK2wT( z!lVMeBCB`ZWPHtjg5busbR47F!eDnNoH-Q5g~41YQNtjp26WPD4p{>z2+^=D?LO_! zXl;y*ZUq1yHJ4(66VM?}0-9Rzwp>F@qcp!;_M8h3wR z5+iWAY2#Zy6z|}nlAfyjl01tgQ3wJ=)l$cIT6%X*QJYmR-bMB2Q?Ik{v#?rIW)oYl zw#9dqxC{*NKbB%cRFGPrUTH)c*fRTq+MDR0pCVg?! zbM}}6PqF|t62ZC3&B}nASF3>^9{#aj1{LL%yiG3(EHbVstp0bQ%*p%5;&e}0m1l?W zrI6Q49 zuicW8)X9Xx1zFL3WDo;)f1)?BaxD|bi7^GMv*2hfTBpe8wS1pHRHL?$hS|J^>E8+zTA z6hA#Yyux>E58LK3M+@CuAVlk-=M|d6LKk4Ru<0=QZbM{WUHP_N{VjMRz9hA{J569PNM=h}kL_Cg`r`w0ms}HZ7E;=4Xa=gw| zYvdE~d)sc$rr=iO!%46HAOL;@P-FY;f2<8XaA^HfS_;5Q(yK!cukC)(BJjq_hXL6M zb=*^o9kH0;u_X1gv&!zbj3wbL{GDqMGzkEVZ^Gx4C%B9quL(?`Y!GSrp` z`^P0WtKlnP*um_RS1&K0f6VYajd(N}t66gTl*J%WKF6r%KFZvB_2`GKsAyCzSk12| zWi1dMnkYHEX7t(BfyD}DAIX}b{G;uwMn^#Kb>njXH!t~!(7^J$^NyN*Q^Vg{hSKMd zwqLc#Vo2a~uQK)qn3zBt!xNb{2e*Kc5xrQDh?^9N%Q}_}7%`c;&{nk`wG=t~*ifC* zp+E6SWG_`*T*&~qk)Wd;+G|c%>?$x-+5YA3WO!owl#KRTtvEr{?RABln>vZmybYh* z4^X-Q+RRgr>fsW)Qv{L^+wvzsfaKW=WJ?G8?Zw+eD$tmZPn^n9$WjIiI>6Z>v-1O) zMD}7;^x7n70K6L`3}nvY3N|cCzdvpM9@j3jgQY*IufxI z<01xVb?}{kr1?lL2m@6*gen8p0=*1XT1d#%?p}3E-zQ@im>iBDF8tINIvIX6_GrXp z@?BTZ-|zYU-D=VCTio9!_uW);wls!Jo-pRJhsdc!#gENMSxR#jzkUToc%lTjkUVUA z+m4}p^FK_C*B3h;VZ8pcMfdA5qoe3%f&~sBnFNaFHBrSTaxQV(uGmq*^x51wDq%T8 zD;bXF+o}Q<@M}hbNIb0(t48E4KTv8%#S5uE51RC5$IES1qJy>n`}SW07Q@+FlUKb) zQpH*VJ7l~6wsEIExFm$C$yy5dWp1ZqTM*h1&V+fyAC7J;`gDZ&JNGD3B>@U*or2x$Di&*sr4BJmhmangI43n8iG{ELg zsN%nsRL9L@QoocKvW?_;{!sp1p1<9Pck6U}&B3}$S3A7Mi!)RtqN1o2Bm&W-ZCVjV z=ErecVWk(vi+*}7Q~Rc6Ns){AP>Jc>TR7^dDXci)jOy^_X3l3cc7&C62eh;|laq{H z1O~H&()vo@Ml!wy#I@FtkQKYO7cZWw4z=5h`0TWZsioW3&Hxk!6$|Je;EZNQ#F$m@ zC*EF~?$)w2gWz<`*n+QX5@%UzIQe-hKP<%k<3ONV>=%a4#xK^LVP|iPqrZ$a&uJ|? z-7ENL_Brc@y8Nj<>y?g>&A0CUjXjgJ*XVFE$HSe-6185XQ`}_N4 zlc9XRGlZ`pxmJbewF>h_Qr)T_ZSGP>U@Q2aU5~d@z!JVtvs*PyD*D7D`Lz0BGV{&f z^Vex1iR=W5Qj#RUYEBYP&$)07{kZ!t?P-ZEEmjpTK`C(9&L=g+)kSikknZ$?|N9iX z?i78?9pO5J4Pan_47dQ!^MU$giOC}958So(zf(c84>YaIfvDV5&RFfkEUIYf(bMQHtZh0|N2StF1#^})U z6-;fony9FSdT(wGB(&U;w}2gp86`Eq%GhmIjdA#wysDKraVFA)ElyWch6$%DD`$Kp z1o4yPcm?fWrxhkd_NI)IZZ<)Ux6Z~<^$BD-b>~&OQ z>{s5)+c9U~`DSMIcL-A<07{L6=sAvCe+*5cc0v3dgPIBoqR{m<;2Tb9YxDxPVs6{_ zkjw-u6d9_@{e3h3OryB75e3>&;M}ZF;`QkhU{k*IaK%6lYaz3t2V|2_vCnc!bT<@w zKa1#J11fjR!#(uT4|UK*70F_^#+~Nt#>UbQ0(+Xy#?Shlk6R;7x$xCvId7ePqva9! zZ3qtU?>!t?e)%re@^jMV1gx2|n^73HH1A!{I8=cig12&zOM$b4^Pm9t&!jh+q^YlDp2 z6WjH~^H+FekE>*1ZaD&rA62YOZn)J#)kV3QDmICGGAAc%y-&tyFr(t%QM08X`ER-7 zg9CyLCBdlq*$zJky$7XVds*s?RG>C>;DY<1Mm(Z7 zt}8xR(@8*zwOSDh%Rm1*US8A6icfOl@Ix4kg!>D%76boq2{aI`65NR2VVo?{Wg$L@OIHhL`PC;zpo zl%*3xi+N)2{P(F}XNJ1UobVp z{W@XKu9EdeNG`I%EKVDAwBLf4LeUo`cNdJdczzeJVD(c>X$fl zO5@=z&F|psnRlBrygg?i*uEwCE~`#$z`6V~@5+zNKUj2Si2;iXCBA zW)J2m2ovle3dvb)Y_MiJnwj6lDit%%a&eERZPZ6k6IZJjSrNvIsZ@xnyb*2#2hgR* zW^3fZyo^fSaR*osKW5pn=W?!9I(4K(_}Vly!Z4vH0;V^ZM~u#3BqllXnb6WUqWvmX z^m^$`x00Xl@{4YJR(y`1n~YQToLTK(w@3q4xq&}FN=r+t`3_Jkj??wS(6lO{?cTSB zT6W<2^r0gNS)$!~n`}yUb_e$cRURYwAWA;kFRQGiGtEVH95W`n10OqfL{LE-;Xr)< z#vDWB=Wg3>LwXHIhuGnI6aEy|OvJB{GM0P~+!VQG zS66E`dTv{k;uU~uGR&bFORDL;%1icLR{{NTsh>xBoNPHHbMbDXA!BYCSMVYFB3U^6VEmjRFVze)IXh zF!4T-!!n>2NJJCq%jJDz$MhRyk2673qi0fbK9u`)`luRUXF6@TH2+K+4%?z?ieaqc zsPP!Ump0l>M|YAG!30jUiLX+IHJZH7cd^ezztK|>OBCk*)=W4cwLUy`P}^w$2+Obb zM4y&~-`Np))L|0g?0Mti!Dj%BSV!!b7CQ>Bxb$Zi)DG|+(g->z8JFYOM zDpB|&N)BUf#L;DLys}Uwp*w2IqyC#QKWuw@`(bA9+~13@fhIUL)ufsLEV|OX%Z`$e z-I=ls89`D&`T8~g9Fyga`9nhQ>E01P(X7J;Vh{z(R#-5GWS$ivPJy_eObCD`q`6No&$f0{;do!J zfTS-te+s>AeB8D^L0Hb95tH*`2X(mdIR!1897b6v1 zz3<+lAcbr4EFKWUpEMOcj&X$H5(+{m=F0lkV4|RcTU0<2hGB9yl|v=>Z5)H*!?)HZ zHEj@X87otOZx0kGK~!x|TokXM|4YeYYEJ`H8ds)l1V0ySQIXJyEq71p(l(f+UMD_R zeMte1Vdvfov}(Y_`0f10Tmmt8s?17+*~zOdzvV(j7mWcIkbW8RMU`Y$Na=~f_~l7! z11z?90DqDdy}uz7La(lY+Ft~4_D;fBPGSv}jbpywMiYV-W5kzZS%SKu#)&|ZBldLB z?k%w&nUX0SiU+nR$6>^w;owb*ax94+5WphBi(2?UETT|qz<<`j`J}D1EhGK=2Yq)n z1Gom7?{>kdVwji}IbJ$>yDvA*sv zIF!}d<_rS7yw@4zinVAKvAulTY82O+mEWKsCd|J2Ml7; zv$9qu&L08tT;6_*7MGT`kV_x=dSZV5uOc;;MbhcOzW~*1Y~>5DW(M{|qj{%Em^}1{y76I=yjR2iIf5F6rWOs&flMmp62D zbQI%SyXxB8SC<-5#WXcFgAA&);0Xx{TT4r`&$B&RR+woM8D39JPOeAF6j&T&Ou^0; zY#Z1$}WvOU2#LnmQ@Wpd`qfJ}My4$@QPHL3#6CQr4 z*6DpNd4v+50XbyD!>$-4Fo4NC_N?dZSkmKt`4hKAsB zS%9RP74%^iE+uaP+Xz+A{S}m>C&ez%s#G<&bf4 zaq$oOaM6ejM;hDjcz-^Z@~mw=rhj8MinZPImkso=X(!t%>+x{Lex_7I7U7E+v5M$f z9(vNEEss3(9{S5^1I*@9@>~|(hVst6^Tpdf*FT+KLfd>U8{l^Du1{+tqoP*)mOyXl zmdAEp1?k6Bk)n&Hx_V~4gGdhR)vT^V*0X`Z!D=R*n!+CrBM?ijcIU030yx^lh*#O@DThWM&4>YQ;H1-1h}DF!znp#%OH5-bX*jApWS+U*isC0 zZLYm|9OZ=yEzZv3Ax$sYw^VR3Gar<1xC2Eluv5rJf!m$@E{|MOQ!^%Dk4_>m{nO|2 z5KkU1$o8LR<_LIT)KWCtrG_ka1eS@yu=v-v!FEW9`9kc_6`#N`3gHq3N5`rAPFc z9d8^@kXI{YzAew9Zsu!~R zsy7-pGQ|f#5G^U&>sjG`jRZ$Yp`Htk z$IXwDE1FtZt1hHq?u86uxa>|{HbHiv`eWScZh1Tib{^ozH5+MVKcQtt`$1^gsEP^U zpdV4?TtI7kLwAxC8dp)g5G@i>qjyXO#?yAh$9{It#%IVHgduUZ