From 75204803158b8044e44d556cc3cd70529f039d29 Mon Sep 17 00:00:00 2001 From: spaenleh Date: Tue, 29 Oct 2024 11:24:53 +0100 Subject: [PATCH] feat: add landing page --- package.json | 6 +- pnpm-lock.yaml | 267 ++++++++-------- public/illustration/children-old.webp | Bin 0 -> 39734 bytes public/illustration/research.webp | Bin 0 -> 88654 bytes public/illustration/teacher.webp | Bin 0 -> 123368 bytes src/AuthContext.tsx | 26 +- src/components/ConstructionTruck.tsx | 291 ++++++++++++++++++ src/components/WorkInProgress.tsx | 57 ++++ src/components/header/LeftHeaderWrapper.tsx | 53 ---- src/components/langs.ts | 2 + src/components/layout/BorderedSection.tsx | 26 +- src/components/ui/CustomLink.tsx | 22 ++ src/components/ui/images.tsx | 26 ++ src/config/constants.ts | 1 + src/config/paths.ts | 2 +- src/main.tsx | 1 - src/modules/account/PageWrapper.tsx | 22 +- src/modules/account/UserSwitchWrapper.tsx | 52 ++-- .../account/common/MemberProfileItem.tsx | 25 ++ .../settings/DeleteMemberDialogContent.tsx | 3 +- .../account/settings/DeleteMemberSection.tsx | 2 +- .../settings/EmailPreferenceSwitch.tsx | 10 +- src/modules/account/settings/ExportData.tsx | 2 +- .../settings/password/CreatePassword.tsx | 9 +- .../settings/password/EditPassword.tsx | 7 +- .../account/settings/password/Password.tsx | 3 +- .../settings/preferences/EditPreferences.tsx | 5 +- .../settings/preferences/Preferences.tsx | 3 +- .../profile/EditPersonalInformation.tsx | 2 +- .../settings/profile/PersonalInformation.tsx | 2 +- .../settings/public/EditPublicProfile.tsx | 2 +- .../account/settings/public/PublicProfile.tsx | 2 +- src/modules/landing/footer/Footer.tsx | 156 ++++++++++ src/modules/landing/footer/FooterSection.tsx | 28 ++ src/modules/landing/footer/icons.tsx | 108 +++++++ src/modules/landing/footer/links.tsx | 85 +++++ src/modules/landing/header/RightHeader.tsx | 47 +++ src/modules/landing/header/UserAvatar.tsx | 94 ++++++ .../landing/header/userMenu/MenuItemLink.tsx | 25 ++ .../landing/home/OurMissionSection.tsx | 40 +++ src/modules/landing/home/PlatformButton.tsx | 129 ++++++++ src/modules/landing/home/PuzzleSection.tsx | 90 ++++++ src/modules/landing/home/TitleSection.tsx | 109 +++++++ src/modules/landing/home/UserStory.tsx | 102 ++++++ src/modules/landing/home/UserStorySection.tsx | 56 ++++ .../landing/home/icons/AppStoreIcon.tsx | 28 ++ src/modules/landing/home/icons/BeLEARN.tsx | 86 ++++++ .../landing/home/icons/BuilderPuzzle.tsx | 52 ++++ src/modules/landing/home/icons/EPFL.tsx | 46 +++ src/modules/landing/home/icons/EdTech.tsx | 59 ++++ src/modules/landing/home/icons/GoLab.tsx | 25 ++ .../landing/home/icons/PlayStoreIcon.tsx | 40 +++ src/modules/landing/home/icons/Unine.tsx | 164 ++++++++++ src/routeTree.gen.ts | 250 +++++++++++++-- src/routes/about-us.tsx | 11 + src/routes/account.tsx | 2 +- src/routes/{ => auth}/login.lazy.tsx | 13 +- src/routes/{ => auth}/login.tsx | 2 +- src/routes/auth/register.tsx | 68 ++++ src/routes/contact-us.tsx | 11 + src/routes/disclaimer.tsx | 11 + src/routes/email.change.tsx | 32 +- src/routes/features.tsx | 11 + src/routes/index.lazy.tsx | 96 ++++-- src/routes/policy.tsx | 11 + src/routes/support.tsx | 11 + src/routes/terms.tsx | 11 + 67 files changed, 2688 insertions(+), 352 deletions(-) create mode 100644 public/illustration/children-old.webp create mode 100644 public/illustration/research.webp create mode 100644 public/illustration/teacher.webp create mode 100644 src/components/ConstructionTruck.tsx create mode 100644 src/components/WorkInProgress.tsx delete mode 100644 src/components/header/LeftHeaderWrapper.tsx create mode 100644 src/components/ui/CustomLink.tsx create mode 100644 src/components/ui/images.tsx create mode 100644 src/modules/account/common/MemberProfileItem.tsx create mode 100644 src/modules/landing/footer/Footer.tsx create mode 100644 src/modules/landing/footer/FooterSection.tsx create mode 100644 src/modules/landing/footer/icons.tsx create mode 100644 src/modules/landing/footer/links.tsx create mode 100644 src/modules/landing/header/RightHeader.tsx create mode 100644 src/modules/landing/header/UserAvatar.tsx create mode 100644 src/modules/landing/header/userMenu/MenuItemLink.tsx create mode 100644 src/modules/landing/home/OurMissionSection.tsx create mode 100644 src/modules/landing/home/PlatformButton.tsx create mode 100644 src/modules/landing/home/PuzzleSection.tsx create mode 100644 src/modules/landing/home/TitleSection.tsx create mode 100644 src/modules/landing/home/UserStory.tsx create mode 100644 src/modules/landing/home/UserStorySection.tsx create mode 100644 src/modules/landing/home/icons/AppStoreIcon.tsx create mode 100644 src/modules/landing/home/icons/BeLEARN.tsx create mode 100644 src/modules/landing/home/icons/BuilderPuzzle.tsx create mode 100644 src/modules/landing/home/icons/EPFL.tsx create mode 100644 src/modules/landing/home/icons/EdTech.tsx create mode 100644 src/modules/landing/home/icons/GoLab.tsx create mode 100644 src/modules/landing/home/icons/PlayStoreIcon.tsx create mode 100644 src/modules/landing/home/icons/Unine.tsx create mode 100644 src/routes/about-us.tsx rename src/routes/{ => auth}/login.lazy.tsx (79%) rename src/routes/{ => auth}/login.tsx (96%) create mode 100644 src/routes/auth/register.tsx create mode 100644 src/routes/contact-us.tsx create mode 100644 src/routes/disclaimer.tsx create mode 100644 src/routes/features.tsx create mode 100644 src/routes/policy.tsx create mode 100644 src/routes/support.tsx create mode 100644 src/routes/terms.tsx diff --git a/package.json b/package.json index 221fdba0c..791754fd6 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,8 @@ "@graasp/query-client": "5.1.0", "@graasp/sdk": "4.33.2", "@graasp/stylis-plugin-rtl": "2.2.0", - "@graasp/translations": "1.40.0", - "@graasp/ui": "5.4.0", + "@graasp/translations": "1.41.0", + "@graasp/ui": "github:graasp/graasp-ui#theme-secondary", "@mui/icons-material": "6.1.6", "@mui/lab": "6.0.0-beta.14", "@mui/material": "6.1.6", @@ -34,7 +34,7 @@ "i18next": "23.16.4", "i18next-fetch-backend": "6.0.0", "lodash.truncate": "4.4.2", - "lucide-react": "0.454.0", + "lucide-react": "0.455.0", "react": "18.3.1", "react-dom": "18.3.1", "react-hook-form": "7.53.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a00cd5a6b..b8ad885a6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ importers: version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) '@graasp/query-client': specifier: 5.1.0 - version: 5.1.0(@graasp/sdk@4.33.2(date-fns@4.1.0)(uuid@11.0.2))(@graasp/translations@1.40.0(i18next@23.16.4))(react@18.3.1) + version: 5.1.0(@graasp/sdk@4.33.2(date-fns@4.1.0)(uuid@11.0.2))(@graasp/translations@1.41.0(i18next@23.16.4))(react@18.3.1) '@graasp/sdk': specifier: 4.33.2 version: 4.33.2(date-fns@4.1.0)(uuid@11.0.2) @@ -27,11 +27,11 @@ importers: specifier: 2.2.0 version: 2.2.0(stylis@4.3.4) '@graasp/translations': - specifier: 1.40.0 - version: 1.40.0(i18next@23.16.4) + specifier: 1.41.0 + version: 1.41.0(i18next@23.16.4) '@graasp/ui': - specifier: 5.4.0 - version: 5.4.0(vjdrhlzhwm6ubakhpjfw4ipwji) + specifier: github:graasp/graasp-ui#theme-secondary + version: https://codeload.github.com/graasp/graasp-ui/tar.gz/d71a22dc8812a0edb741beb1af8bb92c6a237bf8(hemuic4puwxulg7qdtnchj2rge) '@mui/icons-material': specifier: 6.1.6 version: 6.1.6(@mui/material@6.1.6(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) @@ -69,8 +69,8 @@ importers: specifier: 4.4.2 version: 4.4.2 lucide-react: - specifier: 0.454.0 - version: 0.454.0(react@18.3.1) + specifier: 0.455.0 + version: 0.455.0(react@18.3.1) react: specifier: 18.3.1 version: 18.3.1 @@ -228,12 +228,16 @@ packages: resolution: {integrity: sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==} engines: {node: '>=6.9.0'} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.25.9': resolution: {integrity: sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.0': - resolution: {integrity: sha512-qETICbZSLe7uXv9VE8T/RWOdIE5qqyTucOt4zLYMafj2MRO271VGgLd4RACJMeBO37UPWhXiKMBk7YlJ0fOzQA==} + '@babel/compat-data@7.26.2': + resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} engines: {node: '>=6.9.0'} '@babel/core@7.25.9': @@ -1412,14 +1416,15 @@ packages: peerDependencies: stylis: 4.x - '@graasp/translations@1.40.0': - resolution: {integrity: sha512-oP/Gnbla4+IDpAlBeAn1vywvLLaFpDHo1OSQ75ZTs81Ljsy2mVbnUyPf1PEbiyBd2ZezdovhDg7AlPuGxIjqEQ==} + '@graasp/translations@1.41.0': + resolution: {integrity: sha512-MW9EUcme8o7oDAbpcEJwAbRhNsZTJpArSe5DOm1+JkIm4z138MozbF2ObHNjlfh3mAgA8hCnRb+MX1yDtDWj+Q==} engines: {node: '>=20.0.0'} peerDependencies: i18next: ^23.8.1 - '@graasp/ui@5.4.0': - resolution: {integrity: sha512-zsh972/kXWd70P0l0OClYIUyF6BgRW+MOPGsLsqWqnS0cVpgaOYlRlk0bP6Bh4ajdgomTf9sYDTaqTM6lIprWQ==} + '@graasp/ui@https://codeload.github.com/graasp/graasp-ui/tar.gz/d71a22dc8812a0edb741beb1af8bb92c6a237bf8': + resolution: {tarball: https://codeload.github.com/graasp/graasp-ui/tar.gz/d71a22dc8812a0edb741beb1af8bb92c6a237bf8} + version: 5.4.0 engines: {node: '>=20'} peerDependencies: '@emotion/cache': ~11.10.7 || ~11.11.0 || ~11.13.0 @@ -1640,8 +1645,8 @@ packages: '@react-dnd/shallowequal@4.0.2': resolution: {integrity: sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==} - '@remix-run/router@1.20.0': - resolution: {integrity: sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==} + '@remix-run/router@1.21.0': + resolution: {integrity: sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==} engines: {node: '>=14.0.0'} '@rollup/rollup-android-arm-eabi@4.24.0': @@ -1985,50 +1990,50 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 - '@webassemblyjs/ast@1.12.1': - resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} - '@webassemblyjs/floating-point-hex-parser@1.11.6': - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} - '@webassemblyjs/helper-api-error@1.11.6': - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} - '@webassemblyjs/helper-buffer@1.12.1': - resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} - '@webassemblyjs/helper-numbers@1.11.6': - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} - '@webassemblyjs/helper-wasm-bytecode@1.11.6': - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} - '@webassemblyjs/helper-wasm-section@1.12.1': - resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} - '@webassemblyjs/ieee754@1.11.6': - resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} - '@webassemblyjs/leb128@1.11.6': - resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} - '@webassemblyjs/utf8@1.11.6': - resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} - '@webassemblyjs/wasm-edit@1.12.1': - resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} - '@webassemblyjs/wasm-gen@1.12.1': - resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} - '@webassemblyjs/wasm-opt@1.12.1': - resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} - '@webassemblyjs/wasm-parser@1.12.1': - resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} - '@webassemblyjs/wast-printer@1.12.1': - resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -2470,8 +2475,8 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - core-js-compat@3.38.1: - resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} + core-js-compat@3.39.0: + resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} @@ -3569,8 +3574,8 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} - katex@0.16.10: - resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} + katex@0.16.11: + resolution: {integrity: sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==} hasBin: true keyv@4.5.4: @@ -3676,8 +3681,8 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react@0.454.0: - resolution: {integrity: sha512-hw7zMDwykCLnEzgncEEjHeA6+45aeEzRYuKHuyRSOPkhko+J3ySGjGIzu+mmMfDFG1vazHepMaYFYHbTFAZAAQ==} + lucide-react@0.455.0: + resolution: {integrity: sha512-XQoi58X4COfjy6s1P4TVsXMhU2r1KsfUTRFyds/yJvdzBNOfu0F9RRIas626T8UaNZzEv4llF7ivh4uLkYp3rw==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc @@ -4086,15 +4091,15 @@ packages: react: '>=16.3.0' react-dom: '>=16.3.0' - react-router-dom@6.27.0: - resolution: {integrity: sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==} + react-router-dom@6.28.0: + resolution: {integrity: sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' - react-router@6.27.0: - resolution: {integrity: sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==} + react-router@6.28.0: + resolution: {integrity: sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' @@ -4870,9 +4875,15 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/compat-data@7.25.9': {} - '@babel/compat-data@7.26.0': {} + '@babel/compat-data@7.26.2': {} '@babel/core@7.25.9': dependencies: @@ -5579,7 +5590,7 @@ snapshots: '@babel/preset-env@7.24.4(@babel/core@7.25.9)': dependencies: - '@babel/compat-data': 7.26.0 + '@babel/compat-data': 7.26.2 '@babel/core': 7.25.9 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 @@ -5659,7 +5670,7 @@ snapshots: babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.9) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.9) babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.9) - core-js-compat: 3.38.1 + core-js-compat: 3.39.0 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -6292,10 +6303,10 @@ snapshots: '@floating-ui/utils@0.2.8': {} - '@graasp/query-client@5.1.0(@graasp/sdk@4.33.2(date-fns@4.1.0)(uuid@11.0.2))(@graasp/translations@1.40.0(i18next@23.16.4))(react@18.3.1)': + '@graasp/query-client@5.1.0(@graasp/sdk@4.33.2(date-fns@4.1.0)(uuid@11.0.2))(@graasp/translations@1.41.0(i18next@23.16.4))(react@18.3.1)': dependencies: '@graasp/sdk': 4.33.2(date-fns@4.1.0)(uuid@11.0.2) - '@graasp/translations': 1.40.0(i18next@23.16.4) + '@graasp/translations': 1.41.0(i18next@23.16.4) '@tanstack/react-query': 5.59.8(react@18.3.1) '@tanstack/react-query-devtools': 5.59.8(@tanstack/react-query@5.59.8(react@18.3.1))(react@18.3.1) axios: 1.7.7 @@ -6318,27 +6329,27 @@ snapshots: cssjanus: 2.3.0 stylis: 4.3.4 - '@graasp/translations@1.40.0(i18next@23.16.4)': + '@graasp/translations@1.41.0(i18next@23.16.4)': dependencies: i18next: 23.16.4 - '@graasp/ui@5.4.0(vjdrhlzhwm6ubakhpjfw4ipwji)': + '@graasp/ui@https://codeload.github.com/graasp/graasp-ui/tar.gz/d71a22dc8812a0edb741beb1af8bb92c6a237bf8(hemuic4puwxulg7qdtnchj2rge)': dependencies: '@emotion/cache': 11.13.1 '@emotion/react': 11.13.3(@types/react@18.3.12)(react@18.3.1) '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) '@graasp/sdk': 4.33.2(date-fns@4.1.0)(uuid@11.0.2) '@graasp/stylis-plugin-rtl': 2.2.0(stylis@4.3.4) - '@graasp/translations': 1.40.0(i18next@23.16.4) + '@graasp/translations': 1.41.0(i18next@23.16.4) '@mui/icons-material': 6.1.6(@mui/material@6.1.6(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) '@mui/lab': 6.0.0-beta.14(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@mui/material@6.1.6(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mui/material': 6.1.6(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) http-status-codes: 2.3.0 i18next: 23.16.4 interweave: 13.1.0(react@18.3.1) - katex: 0.16.10 + katex: 0.16.11 lodash.truncate: 4.4.2 - lucide-react: 0.454.0(react@18.3.1) + lucide-react: 0.455.0(react@18.3.1) react: 18.3.1 react-cookie-consent: 9.0.0(react@18.3.1) react-dnd: 16.0.1(@types/node@22.8.4)(@types/react@18.3.12)(react@18.3.1) @@ -6347,7 +6358,7 @@ snapshots: react-i18next: 15.1.0(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-quill: 2.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-rnd: 10.4.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-router-dom: 6.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-router-dom: 6.28.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) stylis: 4.3.4 uuid: 10.0.0 transitivePeerDependencies: @@ -6538,7 +6549,7 @@ snapshots: '@react-dnd/shallowequal@4.0.2': {} - '@remix-run/router@1.20.0': {} + '@remix-run/router@1.21.0': {} '@rollup/rollup-android-arm-eabi@4.24.0': optional: true @@ -6680,7 +6691,7 @@ snapshots: '@testing-library/dom@10.0.0': dependencies: - '@babel/code-frame': 7.26.0 + '@babel/code-frame': 7.26.2 '@babel/runtime': 7.26.0 '@types/aria-query': 5.0.4 aria-query: 5.3.0 @@ -6913,80 +6924,80 @@ snapshots: transitivePeerDependencies: - supports-color - '@webassemblyjs/ast@1.12.1': + '@webassemblyjs/ast@1.14.1': dependencies: - '@webassemblyjs/helper-numbers': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/floating-point-hex-parser@1.11.6': {} + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - '@webassemblyjs/helper-api-error@1.11.6': {} + '@webassemblyjs/helper-api-error@1.13.2': {} - '@webassemblyjs/helper-buffer@1.12.1': {} + '@webassemblyjs/helper-buffer@1.14.1': {} - '@webassemblyjs/helper-numbers@1.11.6': + '@webassemblyjs/helper-numbers@1.13.2': dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.6 - '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 '@xtuc/long': 4.2.2 - '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} - '@webassemblyjs/helper-wasm-section@1.12.1': + '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/ieee754@1.11.6': + '@webassemblyjs/ieee754@1.13.2': dependencies: '@xtuc/ieee754': 1.2.0 - '@webassemblyjs/leb128@1.11.6': + '@webassemblyjs/leb128@1.13.2': dependencies: '@xtuc/long': 4.2.2 - '@webassemblyjs/utf8@1.11.6': {} + '@webassemblyjs/utf8@1.13.2': {} - '@webassemblyjs/wasm-edit@1.12.1': + '@webassemblyjs/wasm-edit@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-opt': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wast-printer': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 - '@webassemblyjs/wasm-gen@1.12.1': + '@webassemblyjs/wasm-gen@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - '@webassemblyjs/wasm-opt@1.12.1': + '@webassemblyjs/wasm-opt@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wasm-parser@1.12.1': + '@webassemblyjs/wasm-parser@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-api-error': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - '@webassemblyjs/wast-printer@1.12.1': + '@webassemblyjs/wast-printer@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 '@xtuc/ieee754@1.2.0': {} @@ -7218,7 +7229,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.9): dependencies: - '@babel/compat-data': 7.26.0 + '@babel/compat-data': 7.26.2 '@babel/core': 7.25.9 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.9) semver: 6.3.1 @@ -7229,7 +7240,7 @@ snapshots: dependencies: '@babel/core': 7.25.9 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.9) - core-js-compat: 3.38.1 + core-js-compat: 3.39.0 transitivePeerDependencies: - supports-color @@ -7451,7 +7462,7 @@ snapshots: convert-source-map@2.0.0: {} - core-js-compat@3.38.1: + core-js-compat@3.39.0: dependencies: browserslist: 4.24.2 @@ -8807,7 +8818,7 @@ snapshots: object.assign: 4.1.5 object.values: 1.2.0 - katex@0.16.10: + katex@0.16.11: dependencies: commander: 8.3.0 @@ -8905,7 +8916,7 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react@0.454.0(react@18.3.1): + lucide-react@0.455.0(react@18.3.1): dependencies: react: 18.3.1 @@ -9334,16 +9345,16 @@ snapshots: react-draggable: 4.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tslib: 2.6.2 - react-router-dom@6.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-router-dom@6.28.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@remix-run/router': 1.20.0 + '@remix-run/router': 1.21.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-router: 6.27.0(react@18.3.1) + react-router: 6.28.0(react@18.3.1) - react-router@6.27.0(react@18.3.1): + react-router@6.28.0(react@18.3.1): dependencies: - '@remix-run/router': 1.20.0 + '@remix-run/router': 1.21.0 react: 18.3.1 react-toastify@10.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1): @@ -10001,9 +10012,9 @@ snapshots: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.14.0 acorn-import-assertions: 1.9.0(acorn@8.14.0) browserslist: 4.24.2 diff --git a/public/illustration/children-old.webp b/public/illustration/children-old.webp new file mode 100644 index 0000000000000000000000000000000000000000..88c5c5b04c1a648828392b99f7d15ad692842eec GIT binary patch literal 39734 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 aYjg*yrN(UF#a5-u`!%R{t*LxgfB*o>be+2Z literal 0 HcmV?d00001 diff --git a/public/illustration/research.webp b/public/illustration/research.webp new file mode 100644 index 0000000000000000000000000000000000000000..5841516a524056d3d460f228b3bdc33fd786b0b3 GIT binary patch literal 88654 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 z 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 gryYcjx_A@ z;zW-9%#<8&k0e}&^ttK6&@m_pU4FNI7Zyx6B%^xOmO^kfpfM1vX9x#A=vY==OsP`B zVCkVNMiPt74U<1~DSA+A7fkf|!tObxb37j;OB-5%iENCGsZ`-q*uwD`|i6bQyw2nQ-CTMxX)vKiD+%Mx0Z-c|nUAe?O9BzLY z1a3u=7aB%nP$gz$>qWtw@EZ6=BhLbQ5oL)g=uc^V*v>i-`nDH^*T^xj$D{1>eQecg z&P2v5t!uBxn9*EjN;g`j0ZkM>9vAPlv55w62rCFIpPSlH@GS*uhA|vR0Jz6|U;8HC zPOcq|rn*VF$h>Y!hS!K`fYIrVk{gjvDN>BDNT^j4#kcTf-}?jR$mxsZ=J^@o*I6;; z5hp!2u|a-cI{5Kz4Ed) z0-%HZ47#^MwG}keqJ)VMmqexy#`}&ayqaKvr7u&G49lewwbX@PKlyRP24(!>^fDwRo+*{1jKdvt_j(>y3b;7PoH8gvCru~?sN6fn7A*tE$qh}f8ek7}~WHPIF0E#o*RLRO(3 z<06hte1Heqvuj*)d{ye@Ub-D8Qx~gR<%$+&wwY4BNoxVYdLmJ(Ay)&+*QK0jOq<)r zY!h*X(3}xweO{803lbic%9<5E=7{?Z_%uSyD1N7%2YF2B%B+v1r-qa8QlTy^BS=Ev_hJhawypc_!oRaZ-FrROM`l*iw!-=7(-Z%U7h`2@TLd9MJSCW;ye?3Y&JbZ#^mjK@!{4Je=wK-A?~>K zV{?F#dRy9-j>D&dL2GaNa=9yL=?Er4ZIRbKn99;CrxuZ_jd^u?coyK8BqwIq$2U+3 zcg}uwJP@H7Ot6Gl-^Ay(%W#q+x@8cIMix(K$}h`>Seh?5-7aV?W@a0pE8(0dNti-T zPTQOc58~O1mU2KD6|}^U^O*%aR+*59wYH;l_t0NAVt$K`3Dl!uf%g04N0yI^fSIVQ zt{A)z?)Gu>Lu*fz!~lAP$Yk8M=JhDUy&-tbj;3?c_StyKA<6_iF&2Yyi+L&B)&cTM zB+Zv-r5-$tk=hvR$FV^N(W397NX9!fc=Fh~&?=@LoRnuDN-i25=d$MVSq^4QH{M@V zLg+#MuH7v%$mWlI@l6@^-J8ZA&?W;*NCTUxqLa*pPI)UH4EK0xXb^us<)F!haG*Ly ziuU5FAT_~3i02fFZ1@_xH}yG0C_F+!33gMw`Y8p}33Ia>+0ixWO>);seU4|E?jD4N zO^UE*DOy+7{T7wEPw2!ONgD$-MzLlvZ5_ke8{$^qx9m5>k;_k4%bzs38#k-$PsT@; zn`%FzNl1|SBsMO3 z@QiUc*q1w(wSE!(N+4keM!-w2?{itgb&!l!Kc8R-#b0M^|3@dG-rv<-ApBn&p6=o# z6OL?xcUbFjCF3%Y!z?UsX&Rv#<|$WI@O&tHS@9aEju(^RXgAu_v;(S=!G#8`QM+ct z1~S39`qI3k+F^V+FWOR1S{O!UQtH!1>zm7$-Ev4=-s86mgAR|A1Y)BUq4AHj9(gQ_ zu+3QEK|g-9PhwG-c<{vOTXzurgw^5zRcPP*x3)_M5!~;LRTCUkol*M5B!b3!+!o>@?&>iX& z2iB`!C@@2+xI4YLSQw(2GzC5EE|)na-1{XhW|Ybc!*QIyq(kHCNUc)r)Kksk`SJFQ zAq9Mm1pnRufl@6_pO-2)17k*i_G?eVF5y6=vPE29oPctN3P-&-AJD5thEFYE{-8Ov zv2*cp=*k~8_WO@T4UvshgJMl(%TKAq$&n2C%;h0T5V|#Hh5$HqEK->wE48E3*FEP{ z>)S;t$cXK@`(xt@uee<1k=S#r;BcF03Wxy-#YLQRR(Nn0VeXdrsRm-IK1FO*U|e|f zkH{VwVXXw%B0H@mq1rJhLfGcL=<*Y3$vS&i1bORYcrqC6n~y^c#$h85n*!L#3{Dit zjM2oyutWIp)Z={TD)AKuCmF@Wnf;G;p|CG%!1EWq6P~`-cJS2Z>Vk!-No6kV*y#GD zFd{3W5@=Mj>7F360g?!{Dax5ZxvL>%_$l={9nk7lsEk(;3m+Uv60Fs~U{|-e-G7u( zNY7{Qfah!^#;6fu&^iWO6#la6+!tMhoHB{hu``4%)UwM15gU))@s>JYsqw+eZ5T&2 zHIl`eEne@#!S@ZwvRR8cvmnK|&*KUt1+xPhdN`{(((f}Ze-^#%pB~8jtC`K@iG}@+ z@~sP9yis$@YkMi-`*$d-%zYM9GC6o*yrcAm!sFlrMOKd_%;z%8)v#VYKmJj9l|&Bn zex)d0UJ#_|>wA*S=g^-mBmr912VK12zSJdl+ePt)2kyRsJKN~VnDENg!BwtRxQdQU z6MfuI_so9}Q71)Sznoeqlvrr%MZjk8tz~S?7F*h|Slrh~V&a)?6q@9%!V>ylJke)4 z(&m?{dP4O+8AFy0y32zO_}Fwxoo_YqOGl%BFu_YQi3x~i$r2Cc?N)wTXLPqqE@28< zn5*mHBvjlh>*(wPftHj*!}*#h3+t#^I@5Q|{=V-FGP}-qYJ$M0 zN%`8=Ul~)2+)l7?7uhy2cun%()%+IRZY2R?3-3ez(baXrhf=Z# zxT>U0-yRIcnM&B_G1@&MLWj*X5v6k((kZ$`%BLaV-IL=^a_(l^Kx1Da> zw?7Sm*<{_y#`0$qwvIKhF=9i-@_H@MwOz`V;6`5j)0W7W2hjLEo^S4rPfy>&Ih&y{ zQa*Fl)*6xR;2C&gkp{F_4bXfBh^XB;+ae{WWCPoYta~5-u(S|gNM_%9VTGFN9#_VG zi(ZIJe9V;a{WogKU;L!H?6Md4_Z;&ahspN|I=;#*s8Z}e_zxFlxqHo(XkJD5age~1 zklSo19heEU2gpm@c@M`rODRZz5pk%C5J91j^uh*#RAd-wG7>Hvaaqcm;*G<*C2nzk zU=@#6s`n98Yd7x^&8QlZ=2Z6(nN~l!K}-;xy!3@=MUeh`}fN0bPmDtgdRva11Xj#Jn;vZ(w!PqpJ;t$&e}Lr-=*2f)D^=ytN) zm$y?Ilv^sFU(3svLh+EM`I~Hk^J(~FKLyQ>FDTppXQLb zDyj;gj@_np99drcc)VlGIBSvN0_&#h~=c)m-3j7JA%jDC1tl>o>hWx)#<^%eFxzX}24}chKvC4vyyaS0K zXd5GALLs0ZyY1UKMx|~^Ylysl^bJf4lpEK~k!9mwtfg4VZ7`bk2(>0Bi$7)$R}@yj z!+`*J-acZzH<2VVdiT)iv(nWBSN9BmrL&BRF(g?i-N~iR1OEqp$6;g`-3l2gn))8C zZxxhk#}IA&Jt|n~@j@XK+s-R2IQN``)&vH8PWGV6!|0O$6qsAxdpt+^Q`e_2bv(&k zs8fl?V=recM0n+krNnGMve9!0TrmSByGV55<#+U;(}UFX)J*hC;D zT7Iv(IKO>mQup9 zUF6tyhvAjkNbR_Pv2?@u=PT-dF128;2e(+zE{QP!h6wrWYx}vU zUFL*fY(ZGtLFFoc;`yJM>J#BUD9HR5py^pxCK6BA3xxI&1vY&UzL2YBq;A&NTe>6lhJr;tLnT8>mN6J| zh&pKY$!C7joVKtLIVr~zGGvq*B}wY$DfhLrnvb(B-wgmTF9qNBV^}S{FV_@}uzie_ zYYI=FnY?LqT)Ga@(y#^MRgz7D?_o6xMd&}07yPgDfKX#b4)_*#9s2wr0EYcRMD!OV zvOHhjYH>*V%l=EaSl}=di=2Cj@w^JsXva`cUCZdN;b@n^vb zO>kFU;UHMite{?_03whZaMBT%CMl+Z(cMxI!MWS?-ucOo;MlW^7a(`g*+J!-&=S&d zV}pY`EFC&N`6(8N_a%uS$7xjAQ1re4;(4FCJVicX_fvfG->+G-i)vyVbCvY%zneQS zYOG0geMfN9+IXmhR#85(m;rc=$K0V)VQIqXO+Yh}DJCS7v(sbYjlI?IE}OVH`ycoh zU1c49z_A02y=mt`Tba|=J8|_9tg8&^q}Q6s@fCNQ_@UBdR#h*ZpK$~SNBUC*>NdD{ zWQe!N=l6#KH3gC^Bu!uo{uT|{05GIFW6!}ggz+3H&`N}}8E|?I9-DY%FehcE9~K&c zxiwkMfNT-(Wz z8;`geDav`f7u!3@IH)iQO6)Wh6YVI?Ciy&EdqiyEIZqhtLO@Y}2!Ifp09MH@6h;lB zxE!YjbH)@Fx)PK<9*J62n2i`-jC_pYJtP{qfYXDWEekymt81rvcpM!mwFO0I?BJ`+ zibVB&yX-WG(j~@>uwC_P&nAf7>+)B@WAC4$4r*Pop3RHW1iPD3$Q!h%u8?R}adC>6 zW&Jj9KC`ZjJqM_xyxqfBU>_hfUC#g3vrS)cOL{P6Uvd+4W#k_3!);b(jr76GRx#{Xxsdxls7*hTu@I0Py0xK2W{k( zH6P+^#Qd$m^1MgN+#cwiwz2n6(?Q@;s|;X0)F8fW$YEg-q_7EzU%Om$;(>$iX0U`z zYt-S%^)u?6%R!60s7UGiOKo`|9?vUeE&ngW96B?Q_V$^SJ^AoUTn3-OU~Y?%2lPnv zXj@jT$*Y+rtz3KYHp8RFo^*^ADbGYw5M;UcPXi!I*(?jBUWviVZq*Q>kG4!o!7G17 z(}g=s**HOnmKP+x!Ito9C;w}47QgOqMm&1Tst=VqIMSJm+8fV&{A&?{s#ZDng0$5Q zfOFE&Tj+0lCG{hmC}Epl&@uT-q+LjY^Qawd&$$x6!L+fe8%zje=bg4L5!}NU^8+)( zLAIjv(Pu->MKNG{4`E*ye<#CSgR76_r+@v=>M`S`P6=h7$mFHHgxmG*&<#K>p=(0o z2JeyG(2@%tit4c+a{JME29eexIS5xCKv%3W-34FzbAg``^53MUnw$%C2mdGTNtSOJFtn(*Wf4V{QT+x%2&^&;wvqn!U!TNmollCNN_aKI8oVd-VAk^$NMz2Ms88fN1`K)ClwJ*l zmL>8@02|%*LJE@m-P+4vx!*p#hMqRyH9AF6Ykc+Ewa(5YE`T@SNCn0J0b+2~V#SsA zJ&EcvmnnaZu($v@`Fj!unP3RSR@pbi97-P?s!)2NA;0i|O4vtVqP5zP0uN(%;kMIa zq)glzPon*%tP*-0-T?iS+7B)}-Ygw$%5F)WQJHPT!qt|I{{V7S@tEfBwwl2Onm|-9 z;lH`MK`c`!8~r3uksXOod<5l>I4L=!AB3P?q6>y3hwhkdHP1w87z)vj&JkS3Bc4Fr z*r?K*isLNO@%ncwdyTs_7AWRxF%I~Cb|6(ORpK+#DrAYu{baw#l^=SmUhU%JV6L)O ztdJK>mo)l`?M>%JIy#KL>=0r!{o@2nOiywLb=+x_-0g9~B#9Lt--ZZH>wyPCyEWJIO#PSBeD>w32#>IYV> zJvTTjXq2ymJoPtS<&r~sC;H$%9sB_JP`vlxeB{7NRnE)G@r1<9C*`DWaQt;`7C?sR zh%eISpou@cUqRQ`nBUR14du&=*5cD?VRJPg!;c;8qJXF{@>t`u-#F4&CIHN z?m%)Mbp=XCH{=i~qSIoy#H;QZ@rDWji||jP!DZr*_%Eb%mm{)xmzW|4MX%|j#q--U zOHWlS;f46?TRL)Gmqy|!XFP4c1*o)|nb!3#2$g87IEYk`dC7P`TRlrY7}NXI3>5>+ zna?q2LZRz2!yVkM!Xv^u;RX-e*i=k7l#r^vThPolup8{l61~p+ujl<>{SBhc)(-qT z%-o^_!kQbO2TOchy%CH>c2mc&#xG%~^DaaB0#WKfSA7@nD zVMimCg>U)p{%IL$HLSwC@TZ-qi}gI#I#OTDq;oFK8PxB?Fy^u6$o%=r=4(Qu>D;q~ ztSFxJu=47cJWx2eFj1hFuwM{d&JA0+rk=+gK+t>TITUw*KQ;n&gbwpoeb_X>TxB8K zBoLYjJMekkVXEZW%LD^SjQk|;5ZJiu0Qw0Sbxr>-gYjKl0DsUy$rjrXs32Se$PQ2g z9Gu*>O|Thrly6n&dq&2nKy`cKM-D(6%1q>@x^_t@4jF~r7O}w20PZW>R3mg5Uy&J^ zwc^`z=R&$yV6Qteto~ThpploNxl|z%3_xA4`nVH#7jE#xnW(nNC5X8M$=bAZ>hO0G zLsz2_(U`zK+#LK}tOamrbT>y8OMy3Cq_7qsc@eaC4Dr8|&J1!_iXDXCxU|$xxemD6 z1_UNh!70xK3A?H}0%hKe3jv1Z!cO;oX}RYhm`DCpm8QLAc(a z3ouZzi6bm-%W**!8n3x0!uaYT{ZkN!8*cYE1P~PK&a?TotzOy;Ux3t%9|#XX2COkj z@*5+dUzW=P1l(%9E6c%^1~YHAFaevjsf73qN&)CC9}un}fg|m!ZU%*9F;X+zjV7Sz zKhZKdlYIUXdvfo@YmxnYuH+_YfyqFdyg}0tp%;=6KD3O6e|>`i zL~b=aM58C!?zU}4k9-Wv9^NlG<;?`EIKP+e%($M3?S-u0-KmC;VM)k60O>N|6)e@ro)fnWE39_#MfYW?NBz&9z$YW?Z;^vsp` zEUgTETMQ7}l3l%EFprl7E5JjiAdJs|NG=NgCf-TL2w%Gx4PeVsK-c-bP>agp*mG=<$z*|Y(4dmpMJ#3UAwsUo*1Ch9s1qKq%762GtK zSmz2S-bGs#H3w9<%L$2oF9(&@d~9`sSkxW`_fWlD#Izf)>$fVK3@LuqQXQt`ki_7W ze|qz=UO0+DBK|i0G@9e}t!%dbC}}+*6Hrq-Wst$z8Wll1S;svRA|w*ddYfFVTEA=$$N#eq9AMiVNO5F zdX|^{g!a;8%hm3yb$Yy+DFb#t4j{2@+ud)ZqovdBZg!Ri6iF9(2%-$!hV`XiZjk3T z&MBcp@&p|5&no>!V>;i5L5kdQ0WWiW#)kb4TY19AI!4NZ)xL0R(yqv=fR zMdwaDqN$jdTDF?e8m?SX^z8`nWa6xSnC^f1Oh@Ez}6duRPRctDFCDbp_=n9C#)W(M}s4@Uv zIy=|9#}$04G1_?H-|FBWwuDOPHj*+<$%r%qFfmCb( z(ce}y7=+o5c~Q5lH?6z4SjOKsR#!3Y^y#;1Kjar6+gHOb8~Ka(iJIqIVM_dFQbUmz*~Oq@jSgMIA7PLuEud-G z3QL&6HDds!Pn0})xYUG&!bX~*+7vEe;dLYLj{LxI7k8y1wLyY249VoMI5Uds)fH7c z-v*+qwOY#Vo#d9u`2m<_%Cd_}dqu?lM!JU0MmS6SE^ot;IoIfd;&m;xS7vj7WdCJU z!zKKb4`DGLF;n8aQL@XsPnpE66}MB6*d~|z8LtpzgDptFDDb>oL#YCQ>;+GhzSJsXmfNqb%@)e{Gw`Ic z5XMTEa2!&n* zFByyvq1B8h76tMSlDkX&js)GuQ;HW57rP!7mN$&&{QudtB12PNOy*vxQ@g;eq=-)D z?qm&)!_sCo3D)y@@?}JnQW&C)xb#Iv@krFFjc){Ja8#krv<4xGsIj zhLMy7awzmb%u(>|oSZ61c9P?~BoMU;)Wx!z!Mf%u_mi)CR$pI2H{^?2G8`t~tEl|n z0wAuM?4;-kS1Gaf*|%LqM!CesWs@}?ZfLGP#dgl68sW0@F{y__bF@!Vm@3aUljr1$ zo-gK4d^Xo8jU!El`qc*e7V<`-dnHkMMQG}tKdd?6gwkf~1lO zdNm7_%!5lkmOqSQ_-oe{)f`xc3B#rT(iCffZ5}tA3Jjt#eZ%AFi`f6ZgioT^-bbO! zii)QTWu;4I4p6@{A6lkm<9G)hdkZDT|9#_JkstFZS&#(Y_l1Bd*h*>V7n6QCD>4Xa|*J~Wjq??jsPRr z$URu3Px>QuPmx*RBjB%=dZ644xxaI+jWN@{InqPf4krr4o6r&)zQ^ChCq+?`{u(_)%oVcD|9Fe#^e4)RD^U_WV z)W_N;tsS}WNGz4!wu9o%M-Ob%nT|n`lNc)xW`=t)bzyXAL~Lh$Pi6oFFo5+|wZopt z!ymvDB0TNz?pBI603L@7;7ZOu>q`>-;yne@hV|&FR$QNb_WV)7it{myh2jxb_(6N{ zlQ6fehX`L%Wzv5oG)~|wNT`A2mkT|6SY~HxKW<)6_~c!Mk&OHai=eiswx@k$#ScOf z$^cGpbH#9<2KHf71Zk}Y7zp5B8qC_mez`sH6$Ya zxeGdcT+ac)Zi9pGN;KF0&wVEqhF&)&u=S)E!`n+7h{=kIAL>EB^!m((a`I;NLDG!2 zDy!z5Kui2uwh!BSR0uVkMRyZtjU(42*jMFc{Bhg%@a-}SZwd1=kCNkUvW-6_g!1}h zG;X}1MECRk2^+v_EoCaglG47;cD?e}DiESV65vF>NG6N*-dv7=IhEI6$+{4v+Qlyl zRY^#Ycs@7|stIBQES|&Krh^RX<<|s$3Vgy{au<^JtUv0y53DI2y*)O8cLc%rJJM-PVmWJ23iGz zha4#^AG&~gbQtZLPU^5QKKe1{J5^dS<6&j>>o?pk+42Dk{fvFQO!e{^(8)?OikWy* znmVo0S(4C;*4(P>Yd*v>KS1(>uYTgPC&4gx_)uGoIHkBXd5BoHXL62DeJ{ABfk^an zUPgS`!_+v1cY$iZl)M*PW!$(li(WU^TO*)u3On$m20(JcX=sxTpI)%FnA0aq=ohgZ zkCN;|zVtip!@K~hZYP2Q^67q2@2Pgc?hr#!PEp8b$pTHtB5csE>1Vf2k@{@tzHnjS zOdmE=VC)c#>_N?0r<(zEYlOS15}#e;zqO<5~HyuwhOp>*jGW43fzx?V&i%UTMIka}yOVvSdkND9Kp%4^)THwLC4q zNQa@4+(u*WS-&zx5Hc#g)XFlwKHRuDZF&gZuC|G+1tlTi9E92;#2?t3H>2&hxp|qj z0W!74dYs~mjEn<~+NUDgb>K?mGDJX&y5oj}~a z#-a(S6$KAFc1ixLOi=;068E}OBiH#Z^va9wYOBb1%=_ndApO?zo3@Syi^F-?H)-FN zqASXioFF7Bfq>0@ZySZG#S4l7Ex|uZ4ekMPssE`txO)jK_BJLCfLIg8`U%S^zQk^C}&}vlo$e8zEC>bt5Uf#N{Zz5iaj; z0 z9TzrW99f|?U<#tmKTU6YbdpFmF^(QDoI)f984pI{Qd9LW4p;ZyjTPuOe9gqJ&l`w5 zD|1=tKuQMX4RMUfe_-W2SYDyRv*MVI^_|=8z(!4;_YQ|nYe5OZY=0{*TH<`D86MH3 z6$U1-OAXQ442ZD(4BTOS=gK}QRu##|a3WOQW+obwscGk>?A+-{Dh`pOEE>b+C228r z)fM^RwN~Y%Q`A3vzFFe0Na{ub`Bvx~X9j@jG(+!dq&(=ilb_DJ1Zq02_463f_K|

h!dI!0x{?QU24V)v3-$2KcBZF+!6@*VeJCQq!!OJ)W zkp91b%gRChbXrSZqr3pap#mFBVd%}CHY9G{+rTmX%&^*pm8#@L!j%O}5#s*6VT8`d zV$nrLnxBJvu{zmm`_;qE;$6D?GEjbINCP+bmpcK`?HM6I`2*9EwkE( zwNcS}ft<}F^|UiPWaOcZZJTtkjWv`;fXZjMbJ1)i&Jb-f74@=b1DC=hhyGA>r}|G8 z{~6afLTe${F|G&G+c%ZX9J2dvNzhWe?P?xUpE*tRXEj_z9}{P5X7GP~kFrcJ-TW)- z+0!SFSij|s7PC^$J1Blf*Y;E|i!ckBkSR;ufHTIVfjYsjbY3WGL?gzj&EVLAn3|o- zocb=9kki4P1I%f`&!LmpHR7H@qfyh&uilY0jd0eVJ}LFTsT^KoZIJtz*LYFCJiPHHJ#4d=UUEK-9lIfUJvmIu)f7C@_Kne@0$@Lh|qD za%_Aauy?-rf~45P5Jm(sMQj*r18M%D{0>35q@B{>K2Q7p-S{g?Z{U8uo;*zqM6Z(M zCh8BdanW+lh#z1_hxnp33%Zvy)`dtH`XM`Bl^sJE4xqA}P%ym#3CLACR^e|;R1b3; zA9RC3A1?39Kh^(OZrKys@9xf$ga02o73;DB@Yf%`%2=dF`B2web+uX25bd7ZkCZdG z^cIf6pUiN24R|a|EE`mEh-rJ0k=3u85-G+fjB4K2@wBHvW>u1z7uRc?YLBP47;@-QQCZi0-FZy{yd<3qC;UN zLe8O=v^2}SfsP*Y=p8Y~b~mshGCFr~E}+r%&gKtJy5(z33~C8`Yks2m61_=*;z$6J_c{}yr~Q0 zzD~m<(%W#Wa^2l5A_3hM95wvf-;^@)`hdPzs;7o|!s906MSFt0sGJ&y*Zz-F7)YFE zZ&-szQR|?NT8ZC$sG!iE;L6_aqyDB%J?2*-TMV`^jCRGIW~14TM)T0pA6mhtC_*hJx@rI$lZp2R2o=OtV|Sfd1GCNQrrOqI zRaZ51HSkF$)j&rzJokbckj;Z7{ES9KNXB;HN7pzMl03~}z%SCQa2^Cg|pq{g} z(D%D~2qF8`sju*z+a?ABQSjvTo>Fi)B2sMOnu*j>xtP-E&*NojiOj09D;ug%Ur;|T zHo_YbFSWchT{@M?x1N|_d-dS9?i8s@l}}g0DT?}*(|7=;Cq)<pk?45vLE9hTZ|UQcPvCv6yVWvX=*O@ zo*rC4>+R!C>k3~}vgTODajoT8y;MqeClCaOI>#7(fiTX;XP0J^uC0a^NtmGy{plD| zD;I`+BPEfe0p6MEfWwd#U8^8Uw(72%5CLmmkk~IZ-m9Cn`QDXiGNT*tVWdzg`HkD| z!CwmEroQrXrioC&_L2)FD>dz_j-od#@Ui);{UpFc&Mf;PKLp zFas%4%b*AhGvVmhC?0Ni<*SnkbS!qP6UN> zv%mhP(_23T61xWIECw9ooW$r6xUxGDP~P(SOsKYjvMC9#5p+)~2?f62?<%87MJ@>l zpq_dj?91hUg`g5J@YM@nh3dR61i<=&J2@EL!i6cy&m73n zyQ$;?rL@EgUN0N0u%ac~!~&64Z69j$ax+mHoA3d(#!vj-){iqBEuykcIv{~7g*k82 z3EaGVyVh`^w>x@hH+`wrl@WSY56IL9EhXmq);W!qo9d7wv6rdfu**cS;!Ye1;8$ju zvwZ*qhUZC`!S7^h17iCYStztSE2Iaceirf8jKEp=66*tVTI;5pkzR7iDAdD#Oz&ND zH7*phsg#b(MZrKwkieYl08R}kRSBR@QUgv=Pg-^6zGr4vQDjsgMoKTD@L|t@kl+li z`{3i1W&c0GF%9)@PAH#&-z-8MwaarNSJTY6mqfR)6H6F|{jJ-uhiPO%$WRAAx#*V2 z^WVNewao91Tle#9ivJ&WPlH9^bp&WAUJ>2zaqz*cB1V>E?IoT--Q&wCDotXqYqgG2reAnfRo6E|_n)hvz)|K7UE&iG&cMw z=wtR)43I3S;qg6GPj1NBEd2jQ4s)@4ELV$^{;_dDCi;3B@F5J8AaIW6ON1Q172fr+EsRUty6nFuM(@Mg#2w|5 zms86upNXt`f`Ir>i*~7>^M$iixA>WQ&qp{P`M3M(-;XSJ8?OHi^gaAYIS>(JxaD4( zhd-{wdg#tN&y+sy7|@MDF`jYiDvExHL+TTm-zmkriww%T+2dzlfvZX&<7UwOOm!(s zNl$X5J~P1}QTyznu65p%6KYq>i}&$atkh0KM=ZK=sQC`cM|Y$(PU5>Ey%b~JsHIw? zZ{w=^z%zrXX{kOLT7Hkaky;jGSx8kYX#C+4KG&e!a@z5Bq63gAlmbKCV3E*%>&-Bs zY@!gcD;yvnWKN+0om9>=b>w=7HykL0<{LgtEfELXHIEXr2H~*d`cvJ7?rw&Z=!^5w zfSAmHv=2~rjiL$<;T=B>-1Qm%8J@y&CiNzxoAz%i=YZof^*RA{xwYeYaG7+T(ceF% zX~@l8VXSa<%?Ni0`TW%(+Z6GzVh~4u)q>D53`i=MW7O&mn_CJ42QWiC0{I^U-D%Z$nIBV9?a zmtYpcP~c|iL=o?<@_JW!_cC*=f3Cv@!kyZ!O?T4@UT?=HP^}IGHD^g@M2dpTKZ z)_Hwu=hA#C^`i$Qg_$tZjwOT`nS4phw5ZK(ruRc+0{aedzXr?Q8o7hdVqW-WtF9Df z%B#Lnx-R0%4inxQX1_4mg>j25azmIP-Sz;x@jD>hMUh-kXFZ8&_@vpbWm6-XM!(7_ z=G*dRed9ktqQkb-wZ$qopF>?q;FVSv-cjhaa z!jm#yaR|KkU&k;-rTW(Xsi8W0eo5Iz?^HdGyAJ44m(BE6G`g})M&x1Na|*} zabRw63W^FMw*wd8kWKA&=g zB(Icw!fzr4Yor+y!)75CF1Wqk(?U%n1tOs~yJL4-ddLDx?T9U=P<;xjNF9Wm;qZS< zHF{9X>+P|?%pOmQ5m|}(fFgvm9;W}XH(6W zVAxZvSMxEI(VEFBppU)caj-MXi7wDhxw5_k_CGDD+%npzx3l@0fuWbUJk?cXp7uE`KN+P#!UK6twLgn0+k_pGE3@B(> zvh3MQf98p88OR-{Ub_{x5q1NR8vTV*nwm-zuj0pALKF%Zg+T8zHasZdxKgCB^hhK2 zJ*ea}6OQ?1*32ulZ%o{S)N&)d4*{jz%wTV|TyhA9bbp4hkX4jj6t?XIQ-J$1a18(T zBu{^gPp<#?r%=YG_bR&qt+80(6`cnli^NDkAcD@1p^>~W~O&KVQ zJRlq~c`MMJh5EMr10%<}c_-bUCtzn@2{^!;GPO?`0F^0ei z8Cl^t_&bjQ*v|8HMx(1xJm+AM6M_R(BHNm=bC8C=LR4@~yqq%on&1;73f(-Gdqr7- z&p0W(?+Jc8X0a<@1S}s~!ADTIo-7xbH<8~|aBdLDMDU$UR4PYQ-on7}@|kBI`qfJs z)#qrG54~NPE>FMk16Jd)GYr?EewAI5Y-Oe)|PYz5Tep=}pml z$oC~#{o)t)p6I(WUGJKgT`~x>vp2v~y=o946tF{g^kni~!G_;Zm}5s`T+DLcVwR4D zQmA-f%%y-Q25}9t4e2pyxaSP%J|kGCzI4K(B_G|LodC%YD}j2#6bI;aN_hkH_sVW! zf`Zu(jb1(>EQNsrYLpJWLR3D|>9Ec!*V%r9w|!|Ju$^+nY_Qp~T2aiCOg^j}lhU+> zpla@i^X-hR38abttY_23AtqlGc08$2`K@N(Fa?che-BcN1$zd)7d>zN^-aX1e>qJD z6DexnbB>x+Oas+^=4A_QeOJS<>@49Nd+Nz9bv#Ab23;NHXNT%g$c-NHbx$SWk3^6x z2{>O54{|sHB#$riUf-*~0liCDk~Ev@iDy|F#PgnB{pC}rQhs6GGSYw*;;pTXnCS7j z!%O;ET^v$FAF&@1G~s{XoyZ{1k};P{bqBSbhrOLODl^m|b(?sI--Kg>?NAXYWfhT=J(JC-JL% zU=_$9OO-c&ew2U%L^TkR4R`3yifvOV;6cM!L+)<)wQHh{mD&lVyYU^ zmqdS=Y9k@7!twMB>oc$B=(%Lk+SYy|{WEHKi1`h5SJMS8ER-rZ!;j@5LeP?3lrZGF zD5j0fCf@{aRb;AWTh5H6n8m&n0@y;C8siZ>#8UB3KNiHBGtXya)>FTFdwR?}n*wY+ zHmaD>co5KYxyy0&91mxs2r!pG{WR+g zkWv1yqqe~3zbQ_d5v>o9|RU5MNC1C_)(*+*h)Q?^I_#e?pwy8ElYBm4MqP zq=x#2Ui}qd)g_ADB*N1NnL=h`woEH36Yr;seoV2cD-Pn(#qIV6+1dD13|bzhAvs=$ zM01b&52-7seMo7)5b1hckEl&bE|0GN?8F>m6hPF|drT7@{UF+iHX%rcMk}r#tRa^~ z!7x1z!PK#Fwv}#xy=^k8H2ffGNQt6OBjaY55w3Wuxbk)SyR-+jxh03@!b{DVcxP zU8b`(2jU(pQP+eNzBLpZTN}#iR}G;W&tdhZfb}Cuq<8IK(xuj3GzIl*U$uWe9g{g- z9OH<=PZ!Iltg?Ja8q#QV2~xsGXlITfr;^?u6KoEYgg1kx9i%ZO*O3FIQNKrh*s`OZ zKADds{sB)1KbCZ5PJC8j4#`4d`Fd`Xv}akjpx~V|SglRm zhT9|wUV+R6fyqFRHf9mfmnb$2!`qsLIw>&jqq^YQAJCq=11!i7p}%1}Dzr*Un-)$Q z7la+XkXU3BGZ$^sM}VANH^?OilAx+pd%$~!U^bCHn^d(#(^pqa1c&Oq(;gb8ME}o6 zLB&%wkA76A&bBW^Ae!GXO5ArM z0l6`#e8}m~KA5n?*$z4$-a-?ytozjNz?PRn?LEhExW4#g!d~4&@T_!5?EC%@5_@nD zFC*|3(UHcnAu!EYtTzD@#05IQDQoJ{hksTex<%?|%>zVMPxT`;jF}KG0k@#JSp3hTO_WDi z=NX&Bt;bUp!*!C&4@ovw=VA^tK13y^Tf}7#qYXLDx?PeVm3fxF5^p4bzRY$?IIsZh zxnuyacxScTYFyr*0nLr=KQMk^D$ezp8d+(cAz4;S0+4&}BXEaU8mL)$#vv_nR0L~c z!(rZSt#`ozKMP&!Ma^R6qDxW6+v`;k?Wi*~1Cu*x^$>+SV^H&*&3F=VlURckWY0g; zy@utd&Uey=9V3JJy9cl_l*(2(S@g@w?PLGECLj<#WEmFRwu7mWo`g>`#u!5aZMkmu zmMf0$&-*IlOXhhhOug(1Bry;BIyn}^62}eQm$IK(o#GRMJ}taT&(M*N<$^cu1dFT~ zd-edHI(4{It3+@9|NF-M#Zxn!KcO73{8XC5H<4sy>{q_tUBD%a$vJ~YibV6Fw3V6} zv9+Eoy-fYss9hQ0e0%;Gze#I9QYcVOzfdqT$~n9#iS|)1xPakdwrjO9659l;AZ<(; z*8Ig9AB-+xZNK2Ib_EQw1+m3~>go200!~CS+jW=8iKExyjLfrmtpbmfWQtd-;YN1J zQY42fh;^y*DD=KT&E_`?Pj@90U&Ewg#$@UpQar9Y{YWIy^W`k*DU(~-3UQ(sZJUQf zo066#+%qCO+%m6uj*#3=`o?AOcK`ewLs0$Z>>SXA?B7ig?8uHMfRJGnBxcI^1RF33 zj=;*ZmqJpcSk#ogiI|j#RX0L7-CDf8%P>;Tt;j*Ruc#~$ zw`@yWX^9N+d6|$4d$lrdO=}vb(Wax*c%$9AXcYH~sH*xf2CXo%PbdNC=)-vcy_UFc z2~ZgF+>(=h$r8RoJu(&!D^iHCnK@1q(taaaO4;?Um7qA*P z6x+$Qm=HJtc!t)L?L3socw6J-KKBta%uo)lQ#8WfTe z+e{lQztQ2!?SF^GJq_BB9fL9Hj>vQeP10>?IW6sAl4_`jEEiyP(U5=GEx%s;I$Ggn zd$nV!Fdwq&iOXC94VHRIjpGA2BP5N>P)=d_S%RWapo7F~>Y3n^5^-l%{vEDot!nlL zr@1(o9={bjjlU*vQddb$PEV{5qH1b4zv458AEYyR09a6;+qT+SmVb1U(Dcq>%||Y1 zZLywv8*vzX7H@r>5+j93(&#RRdfHGzRG3c1L1;ik+1`IlUu(K7io0m4O+%cRQHwOwf zzl{u~nhss90IsI9Cy>L~nzC;(fk-wP-82LsRd@ffL0XTe1%M@WfT~9fSo`QKsF6=X z#m_qZ*}*SFIb9Fjc?aZQ*RTE6F3zVrlq_|@w9Se|1@ZrCGkY8#KLPu^)zC+zm*zG; zH}9uv(D=P;8vRwN8vI?}rrm?R*GJ~9)X*cB#vVdY_aCDd$nA@#9oRxmTQU;3DUjMK z!R4pf9Ywz*|nuYJPybNO%v#i?R;xwnMcZzn))H$dx{F#aCjiPk+s@yYizk zk}Y`|QI$qYNMMS;1iKO%>|&reL>@JupTb9TH{}jAE50qFhADrL+9*y_Zmp+AtWpnn zCSVlI_7!rj+t|OhYj9?$?$oZ>mU?_SXCWZJ-vj+GUYd{jH!?c}Z_CtkphT-S`7r%N zVChftfy_a!SgcRh26Br`b)R;xS7m#TJGcfSDr6&|#yp!Uq?78a;Df;Fsc`%GsGG^j zdiXLvX|&;m&_$A@t-c1Jz3!Mv59ayIeQk(~EuK4zTjy%GuOuzsslOA(-!bD#LE>3p zDaBy+E$`j+hzy=M5zaidG=;{KLfc%54S~0;K;r_>YZ5ia!l*YPRtzdKP|^ZFH-io& z9Om*W9dV>kJ`^#~6`?7Nb8hlzZ`;TM)xjm9DO=}EDf^raFc}*NHFS`r8cDiF+C@2k z5Mw{0`NNJ4yj)Af=GA0_ZaZb#{piO}UAm`4?#Ek_upQUvxs#kHM$N^*c4g5at++PY ziMQNEg^V+UOgPTQI28Ia$GRo6S#0yBb!xa0CA&gIy#7&+&hk1^10UhoHk1RUIPH50k@^GBl zbi)^D!UYyjK)I~_PhguaATIEPJ`m8wU6H;5Iw#tdl5hF!{D_Mb$maW0xvbC6pny43 z*F^ybPip-C9(Ai7%-JHNQxNbT3Ma54*+y!_E%zje3@wZlH0ewGp=|B{;X~*r+vJx`h0bjc&6^j}OcDhS04W-lY^%-*Fwiq;r%o7V zZ*bkIcg~K-f_Dn*Rz2r4C*vAz_g7wG;PVP-c}KLDD_^)|eLr#kDxNjlkb*|6XDUFt z`Q8_uGcGp{_TQ0GUq8X8O0Z}-!i<-Dc{U%s7l?L2*pG;T?_) zK!OEiqSc+=79q_z$(Z)WOLG6veM=y7*N4+iRMifc=Zw1T$#jxw%AT^^bE zv)(K_dhl8zM%-3?X+#;%JM<4(Stg5GWiiy~PW!rQT;Pw|F^u6QDHz1fqm1kqqoItJW};edh(q%htN41T?@!S^bKsCFH z((r@gIQ0PpCpeBqQic$gU5n3S3m?HSj)k->ZgW@0poeS*s@(=zNC%k@Aq(Q5bt@`3 zaOiD;A7?rvdDdxhKwR?Z%QVb`l}1Y@dB>v1#~X!nhplTtS7*uH9aIFG%OW5)S<w;-WfD@B3co;rX{;P7PvbRTh4tO@K}M2edxCrus>?LYYIkqbLgXeY=nWne zAN66j1JH;x!%`ns_U4^*E^DV?pGh270Dp{pBo8@ig||dbwigA%pU3{R+I;I3rX(b* z5O-O#?L)cTgxSdknbyPo$F+z{w)@|19;LiILqnI;)WPY2#U0tYU9O%7fktC0bgn$s z4eU^0Y;!jChrL6xd>UjxxYy)6*NLIOLM4U~j{5mzG4SK``L7T9^ovR*1w{}l4F7o* zrb#WfDGsQKM2$$GW^oRTeZnp%ti5=Pkwy}(Of2c8<7dY|Zf7D2$r1n_d~$9gYuXVh zw;Er+;nETevYhI&brH~8-zhgp#5*S1ZLSqWRk<0$o3#Ok_R7*(k?sTU{)$vsXjzv( zS>Ty9Ja>eMJBDio1J1$BgYu- z+EaDh*kSp2C_;)K;lAuD=GnAo4e7_utFJgX+@s*zrvkolxxtS9`ev0@3)WGe!5IB( z_BmmK_SY!sg1D`c144twJR$z_w$Y3*mJyuhc2atH> zu~WJfgChX4_B{-Y-DVvA2iVi&{w+5-yN}b1y-f-BD%s}@oYF_h0I2P}Q6Fo#P~4)!`!g{c>}PoTA&hhK)4tT*|08VDc&9RGilFlowq;)I*|EnNlc_9oSEx4$ zql@{pk8qM6$26zT!|Gc!=>5Z}zqu&iu*Z!)@{T}fu)0!6ls6Ut|Cd}or)hs!5iQze zy^+;m;>uGj*&U?3ax6F6cyi?NKjrI6G1(+j72kyke|I;#6#?yp0~?^a!$1m zez$$sQ2j}5!KUe=mwMm~xHCqKIU=WQT_|=dz7zf4Nhyt6WJbFSYY+S>JYKoDv@iC62v}VfW@vyEh-@3I7qHiXwYH{@((vb zqQ8gQ9vc{fmV`kC&r2x+vldGQZe@6D2knHsk3`BzUCSN`jy`Qh$Q_V4hbS3c0e5q; zjO^aYV0Q(70Ex?FGW#^1QnMR@aA#1=^6LZfQE*Qq%z&442+-Kx-6`u{i#VyB)PW!E z^is}={)Vp)9igb6!6{us`=JD3=t0o0j$M#6IKCn{Omc4%+gFDPIoaA6+Z*;=tKLi5 zyi~dDc6H}32tr)mA`$FEjfA753u0R~$9GFoaM1>3JT@-D8N=WSYILDz?J?Y%%XYr} z=PP$;CkG397RT8;w|*vM&3u`SKWSPX!rCtijm8+vQ(aDwk_$2nudcI*|PNT+4Jh8wfQBbP2Y;fc2JyGc`wERBlV}fy_ z<#{3i?&>XuzrXfu)?C#}l**NSjv!27&en$O6x(FPcfbgqU$CkSg@2H`?2@M8F`}X7 z%mQ*xtVwdHj}%Y&1!~>@lEBoGo8d}R-=J*&b(geQI!GjxkvsNrCIe45W(|9F6%mp; zBqh!WnO<83=(3xl_!(yHPAc(ay`1Gi$bd?vzem`|4s~uL0I??P7gp`AWj=f{Jdp_1SfJ<3+CK}6Pd4IJH+ZAMaFslw`(*GJxwY#3i~HuQ+z}QcwCNTl1)3V5jbzWEgYWB0pQz|*ZKCU zUt0gJNoCfMRUyo%uOlPu+gP1Al4B86AZtv@>#=o#{o<_w-+X^^?wpFl)yQX+S93m9 z3|9wWBf(bnr_P4|PwRM4B#ynvjwgM>Ty5$%|HE!f0ex`^2kNcDF2nJXp9(O>Le{sy zW+17X*7zdMUdTc8LEE0~5fhvgMJ}v=3MQ4+&FFFd@F9T(ew~#q-415PN0-JY1$Q5* zB&94`G04r!H+eq|QO*JwB_f>y`{wn`nIeE5gp zrxv&NJDqv}4Xu*AB*ZSRfDs$#4qOU5Wgyc*K)@0f=t@1}&|lgx6p$8FBYTf()k^V< zmsO}32}|G7o(ReH)tp(O6z)w%iQP_21hPbouc6A#hH^}knt*aJ1Q8otY5HuVe{`Ic zf%Y$JU%e~n`d4p0~6X=kV^Kzk@98X_p|f(!L@4VHDE{*HW7<3 zY4`$06aK*Y5)0{P4q$4GmX3e?kx%&hgLlVf~b)2F~ZRZ+ly+N}nla%ew8-PLP zlz<0WV;yy@F|@*Af2+-reZY9K?-G@tIw(YuazE_$k^%>&TV+mC+yKoS%CK)IE@v1 zN9zX{cm&@-n_)EK;|DKq@E1Ee?0-P8$Sd%9Z#*NDs$qk>Em{CVITSMqc{mlL*g}EW z;T&KB$ZQ1`(X=ITed^E3lJ&VkpTj>X;c(N&f@tVJU6XoPCz{sp*X6!FPO^#d@57{u zL5VsGF$_k6so`}xigVzXNyzx^yC>)w@sf<;n!ae4zqyCWeBrE;B9Ah#pJNSgd6zpT z`#g0&>xda*@Mf34X~F+QrabD|0@83he|#@}A$w&46!(+k1_ssy^*Pb!l{Pdfg_YC} zQvhzgjn-~T*!id}vrdIrqGnb@PJOGkW^zmEE|B|PwVVj-uB&-=DzPPE&KyzPH88IE?MCKB6ZO1mQYX{OC!M-Vo^9~T+L+CynBR3pDIpl^}oEc)p~x-cmB5upl9 z;bj-i@eSHnqX1+|`T7-l&a*rc+f}-kPI9z*-k;v`xdl8F&Y9nb7RY)*f7*rRr_3#t za88wmIw-|@tUSMFy>58Em$s(l`A-SG(DzP=)g`j)6B=3q%<6J05OUGRlHk5XPglmR zTT3%Y{Ta9zew&=hxd7PE8G#&gJ7nTVXyk?~Zj85#+4~&YGTo5_k#&M{F~Ac^N)E6Q zxg5-vP7jvvMW=?uRIQNgw&+C&Ic`lqTht<2PnvMyH0Y%&6{K#>_&VwIXL=lUHpo0h zV1^d2e2CCBN;9q`OG)mXaalx^;s4@=KjN$ITS;8qNdA5^4F`@pT@B{w;&0riD3hya z1J<9hD%=_@Z9N|~tD(pgwZ$Mdfv#bF@=lxQX2mvYJHC+mSkb^}L<=n$mko{v@TgHG z#PDPNW9E6~D^=Wg4S?okRlXaesh?BB#*?>e(Hu=d6O0-#-a{6gbHRVK}n#2G*ey5ic2*|pKh98D++Jti|B9##u zm`fs}azg-Y_OFywS6A^SpY8tx>p`;=%TYyT{|IZQ#W@?L=^#199yLj*gK?u*cS$Is z7ub6OxrygiuWJ5HOrcj_@JURPRAMVL?@WwBV{4%ebnA4Ys>>l*C<*Ami8Qw|t#hx@ z1v!dNON?<#s+yfO&bg;vK4P;#MR9LY(DiE{7`oqfVL{p?ZA8El3DhpuKti{c{JQ0A z1&Iy=t-p#RMHH>_^fKF_|#Th+`w`a zr4;-o*ofp@hvA^-{C0>J5mv95317y=&j)bW1a+~( zrDO@>L!uQ*f<*7MiOJbw?EJD~r|ZvLASWz-@*WaQ9+j=!b#XE0P$BfWd?l~pB$?%VCO(PUTNJA)mbFPxLf+Y*P%8C(*!D zJRYc0RnqbTV9*;xI+e(@3b(c6_cHl)D+V?YIB3`q?le14)=a*)458pj+~HTS&$fL; z8Q4ZOymb0=CJR{hUq)kGh~H#R;!3%E%|*SZIHSN44h>#*Fs!xw9t<%JIK>*?T&3sV z=q?S!vrm*FF@3Lsr&BY<>%pe40#G!TKG7-%PjAm=N_;eI)ubS#nHB$gh6Fr_sPku< zK0;#8^#f1J?vgPh~%_&Hqg=L(7;Bh4{+sAc;>?r3XFL_TD@?mG|?aw8F&ThpN)g)akym>P}E|14?2g|RA=%g1r zmk2uAM%a%Zg3|6h@|HbLVU9X`k%(j2sNslIOqmF}-e_vVtPcH!fEV(Yhw*v4lf?JT zRBA^r9aLj3D#{CE;;_~}3(iw{#e=f(O5DJJNRl4F^ZxjrMV-V#Om|_9TR`?IbuwA7H3&qF6@d<2; z2rxtp)eVP~7)Ko9?M9~Tz!)b7Am5Be2|97){k~*1^n~gcJk`pmC<}MSuG3UTW&&Ar>4`*F_-ErVlS>+3gpDxk&cn(uXrgFc~h@c+* zWI!7g(s&ex>97U40*wuUohHmuK~?>*Ii!UwL_L@o1NReGvLHrf!3t`0{~3S2w*A*f z2-ck+roYN1hhI{V3%j23WIc<|o)L~Dg`0#qLP#rXS2uE%8OS7E+S2e2wExl@ecoG| zx#-Zo?WHksHft2MdVA<3yGo0>;T!_WXtgtS?J6*}5F)+zq4!aO6>N&vDSL!yT;}9IKdXO**lTmUxBic6-_5WBEFIt3hL>(tZy(1C7Yu8s zWfR)I0LIm8+yj3){W?lmOxEv|d>$Qj4Z0|jo7{QxI%(eSdRSQ)kT zWWB8UkOXT!zrSntb9^H{u&Wj7UyU(sPQ%r2Hez!EjRHhF2zgKgwA*CSRbx{?iP7}S zTeZV}EQbsZK@>0_#AW6fop}WsDi#0Ebx0CA6e)2b_J&-r=&vmOz=dG$x|vTyz~^@c zS)HkAcaQrbMad*eDvuPySWFtDRi7M&$-h=a@6@&Rp^#a|lr2<8rl}nSQJ8rr?%M2d z^(2Yti_$?yM263FtyF31R83lX@Meq27kxO|LrIdq}isYsI2e z=FpRZt3x7mSkxnD*Z|x}%2L-tj3&t&hf-7SBUu0UJp%yty2*j+_oig)F7q(KU#~7Q zlYvCT0kKd9b=S1wnu~_hvPH}id_H-!<%HNTd4 z_Q)4x$TjvjxR6!ISVdI~Z&%f=+0mp)9|FeD{X_e&-oUejC^aQg)w;G@O0wi{oL&V9 zVf6!%D1C#%(ZPLbu(|yo#Q2-h+J|IN29UCJ^R9$rcQw~h5ZRrsc~6^9O-#YXyxWMm z_r2rMm~N(LuDD^E)L(sX%k%7l7r*>r@<1&P^#rb4y1$JXsm7}(u#*chRm2xi+*Gag zph+z%hc!v59iGEO9%#0SC$L<6=FW*IDnBb!Vnm`tv;us4Hd5#4);fD3`0*a;7IOD` z?26{!wc^fdJ__Tc)>r1I=GU^sTyD(i*BbZuQV5IGKQ}v+0?ohZPisQsqvl+F{qv@xBlU%&gUpS%OT{8nk?p z_jcUj@4$Yl?*V62&p@yvbBGhVRe^11o-fE zcUh%O;K4Te`@~NG$DO240eD(}|CY@IyP^^(tdIN7kbyJ{1i!I+9?t)eH-#R>i5tr; zZXJ=((@st2!CG(4UE3Qj$MnfNgv2WZ(beGqg(nwiFJC_(RHzTsIji6U`(u+4%Oavk z@=g37{ubfe&YV39*rqcivG1{bE=c?q-~q=bNBy@QY=n+~1K;`Juj=2Xbbr;k)zXRJ z>Gv66bgqDf5d2fy`{Iw8r12=>{yuIn)TJZupDPrc4V=u?1n^RHJc4$?!$pv!k{k18 z*V;TOD|4-hHdyXj0t@N3uMU~m4n?^B#woZ<7wcPulRJm2^DIz)c1>)W7Sx3>05kKo z?QF%EH)t;(wBZ_B*Hz$0h1Qq6OUi#qBXMC_U|w+Kd(|Z;9d6{%eA9MV&t}8^afk0%?{y(yoe1{xMKg*oH{JRX~mG^x>Ul&E_mo>7*S((aUp z{~r&uYhU(-p>>ExdluqbMHP`0I<%)d6K0$!9|VFix#G=;owWEDZ^Q+f@swQpN`Rw3 zA}18Xo3lm0)YKNENSN`ST=0i9qz@sO}E71n>wo)Mq~@*FJE7|c>s;Wmtt4eJ}JnFCrV@t zOTcT@*XGNB5JnbI&Oxkkdwj}K(>Dnp>L!U!G+Z*QUaA+kE-?;94EU}xP>@DT9fzsn z;)ih&tpOkJ6?}#!9spg1=UBolR6M-rTcRxWh#QUQ*_dK+`JsZgyE9tu{QJ#Zr+*=f zVUQRA9PKurE;H{xb=3};NQ~Pkqa8m1mkVUO@w7m|vN}Vh2XwBEMcp0m+4R37hq0Nx z(NrZ6f9uiGCCEjc*UUQ6;2F-^F0(wrmM0d^oqoAJj?H&a0JQx_}Ck)xA+IfHH<@s2x#i549<^SXXO%v&3SPv@#;sFc(FtD8QO zcIBGo-{J>Z2m_67;g$)gwx!SD`@e&B*_CHlByg%whj0F8Os+c{m$s{%To3vocn0vX zz*+so2X4;){<4jfpsjmI7&r()4-Ql8@Lrbt0aeU)$hn5+cD1XX4=#qIg}>@)`?ba_ zcYcn7dDe`(6^Mp_W9`ArEsDAzTGv*i%`^n*1RGF7vJ(v zRanoO5GzXcffzPm89krnrASh-sP3-_TCS?_6suzh?@^`*E4<}VlYo;Ez}Ow- zoL;}eF@?{b)bNbGwcCi<`XVp-RSA2SIk_|}hA3l`bGmZHptV1t4oMKgkL_&}976%H zb53H|0&|b5?{6FKu;x8{fT*$n9I>v}bhBv9&j;mBrE9-Retw$ot$Er;zJ!s_t>ae? z2U%t6=y8K}!8wp8NBwr3d1;(6(^6IyxQcl)pk|*~9!74I-EI!L{*)u=#>JulQrgnH zO~#i#goOJK!eyl~)_H$AoDGL21M+$p(I|27%}`%9h@!)K_Nth(t8%&0M_)rMx}tfW zdMlPO<@!{Vw{PopOIKoG^64jgM@I;E5hAB1Fv%$sMzm7+|KP_@nC$RyqQt6m-hR-L z3|I+}o})9ZS_^XVD;rR-$*#KVl)hSIikD9_Bz9v*uFwTVk>m`>Vwf>>fGvc5X2JB% zdq~L^5uTBrS9tQ?1TCCdu{*FQJ6I~;^-ByhnwTI~hyCn$>lW$NW1+0E2Y_M>xhaah z-K4yV>tvP#ipyHLZAK`kBDQ?g)Zi02^1NZPmqu0{<1!JBHA3Jhj!PAZDwOLy+_DuO zKmg|ZfaC5jYz=MVTu=s_tylZIt~`|NOpOu)%t|ku`);#KaO11LZc;+)AG=n1E5}tO zA?$&M$2)AyRC_~=bgksdK1*y%VSbM_O)FCLuh`eIW;@1z5FF}F3}Msv0(6okAo)n_ zLyKdk(R}YB8D;jGeQH5{cK5QDwrWX?WUn31aDAfgI*ipC`G}931M>0b3YLahNf4|V zI#tSGv*8Zl&g2ISvo*>M3*c5Y?3$GZoTq{!6{*Urro+{)EQ?OkHgZDg@}pqu@!qIA zO}j@92hXr0^zN?87to`_Gd>oYvl}2U=?KE?mojzFbQE|5^u%MADkX2N>5zL*=g#4= zcRvYy+5B`IdeKi$Iic1@EvJCP7{*%^6iJ~VvK)mYue3|8IE$#trHu6R2FLoGCjhW~ zM*Z{&$DnochKupAa|jwt9g93U_e;z3wKOK@M2rAgU%-*;9o0vD-adv_yd_kB6df$c zq@DHUqLd+Ql%MMgSB?Po8ibP9sXXs@Qrdj+DC#?HeqUvk`yn62zCo()Wy(s5E_}%! zPDnXTsKXu4s>l@<-Lpo*!x!z!E^oG0zS6eG1xJ;qo>Fp&$F^)l^h(veUYdV-!`>7v|U zR8nRe0(96)nk=CKpd~umE0SzUO^)G1KcwRLs&<(>Kql?S0Mj&Ex6%zW;r!e{A8;TRR2y1}&jdE5ck9rZ(c886hE9{OtP_&c z{iIjrG!E|T^V$|VO=Snwa~7wmc*PAocM|ZO*VAEN`T(X3y9J6Fu={KJ83>!u17lZ@ zvITcj=Owz^>?`X?>oApydg~PHVozDP#CO|O7A>uk(Mf46akW|21*By;7sA`MZ+Brm zfc4ZKM)U&YJhObcAoMV!bUM+b$1WPfJ*O3?Lq-ocR_e~(|;+p0>U=1uj){e?q^s2jNIqze- zrwZGcqpe}x9E=auaMyKGX(x>|DKCqh+n%%vMFrz_73LSN!vARRD4+~lgL)qd@KvET?xH1q)H?_}>QQ)krjp#hY^ z@WYz^JVW9Q%T+KhQrV9@ImDi5m->Z5J~U-l2sg(1G>H=-lOCsCTFp3{A%`{W@Uss| zU;M!q`d*1TRTb`yNArbK(B_IMSD#j72A#qOH0?P18>eR4Z=|7TYE%aZTXX2>bVp&~ zUN0p3!^)PE)a{u9^b&KCk|unF085V!B&7FQb_3;GIGk7&b;y=%sUfnXCEXuYq`Es}8&&67U3 zH*$x%%%eFv)jx@qBC8A;?%qavXZAq&yERp_RzAOO_`BP*oAszrVAeh!?kvG#$A@w@ zi2aON=X9MV_jr4xX5+Ue5?pKIfxx}MWdQ_Y_&{}XmdJ!uPwp*0AGrK_mehk+^cWlR zXWXxqziEwBxG^}Rt`RiVnyBP@e?Cz|g(^xd-nIpJk=_$%n6|u$>W09#(Ny0_b+mR< zSB}zFa~DzMeW>&&I&J;5%Ijo(s>aj(2lr)tFP$$n+BYo7n%wizGgdA7lri_`-63UD zfp(-Mk~;o|L^aZonBIJ%|ODI{d!@D4rn&9lWsaw> z^u%F>5%wvGZa=DHB$yC+$$!OqGZlNfR)t6AJ~Lb4%9}v4WDolFOYZ_TbwYLj(0bA> z5#mr?R2E^5fFx%RPIEY@t^5~pDf!}SPvhDGM#REY;@j+QyLCues@%AID2*kR3>Y(ko&}U`= z#^oo&L`CNVPi?2nlZ7rB+YZ6-GEat*Q>r8*jWI5E5x)=Uw zkHXnf%J(!cBB+iuuK|P&W=o^RniPbb$ps^8&XZ=*<`{Kww?M!oRQ^KHL7n6#p7^Dl z-IDRgMGO5^Xf0CRy%s$)V0`VKZgt)^-OmUFq$n;Q_6L6DtMP=MsK-|K(U1GG$aJlR z;%%K%w%BWaM`u%2(E3zUao(&Iq%1;*e3noUBJNvm3V>+kiW*g@@E!0BED8xWgMu58 zo-gxgaLoZBF4k+XqJTA#Lo@M8Y{*m--o~Zl+UEbgO`Z zo-z%V8~HVpTxynVq_`-IkG>|ix)AvT6a+E^ramO#z|?zZJNlc4ldi$c23&TJgFC*g zdCh0i4tHy!G(csJ$=kL9jH9jRn@#+Cxaj3*NzFabHXzggyB7wb1R)c^T3!K6k_auW z1QBCBFkX|uc+?_~@qt%}DLZ}N2bsogIc(A>mrE3gMgA||(HBM5Y zHp8u?hloJw6z(f9Fp~qTY3fX?ppj2e|C7s-@&(WVyoQ-bY^l}%C{z=Jl`u?8Su;rm z1EGh#BpXgr{Z;`vDonrMU8zwmU>+k7{8c1E4QXRXPoDID=whOg*?4+IriJMlrEtu8 z=#tU=9#5KHvrIqc-zipPo!N+%>g@qk|yAzD+c zNlc7S-~lv3b-U*4g0r_Bbzau8CMAix*S)4&cmx>h?u{|vNWYNGd(+ubZLLGo1 zi3YVSuO5~kN)l+dkk*w&7`7Vhn`IvN>2Ilw9c!{!T4eJcC0z?kW;}#7e|dMB2+~Lm zB$-Cw0KKHAm*q0W&wp~grSo*8JrEvPrEI+J#1~h6<&cbKs|y#=dtXByX9n{8j&1dr zmU-bE34l~}G zS)|I06!_rlPLioen7JkggBn9BJI&k^q3Ru4HMHWdmh7GKJY0X?lPLw&oun`w;G_M|5s%TbbP^|;RssHl zgw?ENycAC8G5M+pp{qY5Q=kZ|k++curohpygT_KX zoKMTzG-M2_!@sLHp+@^O=79LPZxy5m$vFx|Udq9-te5gQk1wV^b``;C_NWRYhMr)yTUbF+@KjztEW`I82= zy5SVOS}gIyEf@XoYV&83ju-@BEPFt5rQ949vL_Lc{BQH zK>Kws5gzbi88b>zXc~+iZ$LMm8Th)&Pto6kA>31diQulPC9#q1lsTe<4%v~Hpng*I zF17c?pW5_%jBLy0$!PB3X*m3J6OT3i(vTMPwhNjWYYK=``j~o;Lzk^(i*G!~t_F8n zenGG4)-|hJV0aF*Yt|VlBf~Ke%1-WC|PV6zhQ6@bcM?NlUY2U6*rXVoK&?C8iWw6( z!^?K7+wwGdoU`R?Uv5PVFy3J^`18-d^1LaYhhPW+P#YKN2Pye)*_fk39WIEtrR8ck<>e$?KQc)d+ zdN#_(#I^yP^2!oi<2RkZr3aDHm0fL;dL{V{1G6y?vFTq7r0cj z8h)O({b40r)E{<5eFqF5gpAQ&_b$}7uwKnNWbyJ^$LOr&ObPLdu!M&(rbG(9(>P&Rgy9 z)Z9`%3imttb}=NmV$Ts5d=BUaxGg&=2wOm{=+i<$w@N&ko3sP2Ue;FgyU4(~%4I1y zJOYI|f^>K#^x$_uVyJnMwGD0&PkEuP z#Kc&uZ$Y^zJ!erAS(r(W5A4ITtW#A9zN0(JK0_l52wXlOin9pX48AzF0TY)DFh z{2I;7xz^cwa8`rZPd)6rewexx*VBD1C!%d1gjT8253W$hbP-Y|C^hlr##cw%1-3@q zi~!?-2kt5mVoOF)oNc`@t+4+VNlabc3CI(f(#~@sH+&nz4@Q%c%F{64((`Cx=bWT6 zH+@GCVAxAM3M!+UOTPG|)4aR`SBpG#191!t%NB191u!V@V%Ho1{i3IfX#+*pr`r@O z)%4CeaRsKb3wN*$6S8lgXrwGXHt=d?mk@qH0IrHHa(2Fs?F#24& zu)mbJgK4<;_S8Ep-@J)*Wr;>@T5s;x+9D;ZY19{v*?U|$@$n-6%%z;7xPaAd02J2l ze5w#tVUy(gD$Y^;?yRt^f}OfS0|=wneilbaodCj7)>XSO@Bft#mit1r=8Dvv!1{2o zA93H;=%JCiq8=qi++>1IuIpmzVqq#VS)?m?v_){qBPk?jwI|Es*Oa8!4W@A4k%K2} zJwNETL1~#fy0B5m!mnT0bedAu)Q$c!U-d{y>f{rB%|2N)7_=?lm1>XO-JQPYlS$Bi zUl)Cq2MU)p0}`aVe`Cm=l!+>9^_8PUuX9Aw$U!lSsbiMnbyIute`ciwZ2Z?U^cJ~| zwViUHw%21^dXP-2WseDi4Vvjk8Px-&2tOpo=nXhw7dSLr8Z8MkP8}r!CBzM^U+x1$ zs!o}VvhorWv!B;jm|_pRAv4*xnz!Z{jEaI_(aNJ)`{Sahdertiw)T+8upG0ciP_|5 z^C>ovStA<|YMTD~GqR!n`XNCLRW)e#kfbMu z*zWTbVUXvaPsUEz{WYd24Dr(i%v1x6BS*{ueIn1Ax9S89RrJ(j4RJw2#B=dfmkvLT!*{67Rq?hoD^Y>D zq;$9Xxztb%D^|}`t27n>mv9|f-3)8y&=#aPdFH!zE|X`8_2V_J-GGQ0>k#$6c^q23 zLA>V2MdG*_Ku6%y$qw?vWc(GxziZqQKe^O6{YiiWa`Z<`i+CPh#F6F(?e$*?Kf8s3 z;>?!#(2yk=Lvc0Ed8EcO_%P;#EU08IxTmKG28pJS&=iKih393;9K*U|!KtSjW2n`R z9mw7+FIvtf=o-*A!*^xCMq^KI;Xw(v2HGTNs)0p6;XbTQw1PTXwUk6rBLa?)NT|6a z6hG%oqQX*w=OV!*j0KW6!`%@$R}J`iZEWbOf&F~FPxGX}NPmU$4gP2*jYUC9_dM*& zy`WnG)c3vqC|CV2vgT-s|Jj3S7KerVt}pb84x<#Y6r{MT>WDLJrtd9S)75IyQAD*r zQ6K;m8)s%5Ofi>?DdFWy)eVK#O@rf2!wY4o*16915S+Mc1N8rDR7{rFMI;tGwJ zF;%aj1VWHKrfNB>q=lGtgTWd3JV#s=a#$!cpkdk&_*o#>M|)}~=blh?(7tyM$=|{| z=lJ8%P%?))N*iirhMTHiEgdvN%MKUZVAk_mBFl|*D&vKcr=o%p4n?zV{{C4~xMr}+cdQv&yN;^t%LjBsU-;msXA z$2~8qvk5o%)sE%a!)a8K7ln^@Q~^q&TqD4=XK;C5>+zfqjy0uYxS3DT(5CSuW`B;| zKXIK3KnX(oB&!p)t41lg{LGUXhJN4I6 zuabZ*Y~vr%*IK5_u7@L7O{D|O(zTMW62w__m=?|f*yMQDLu{d20bE1C8wnitjNw?_A_Q&z$r%)=^Z39X%rN*tIY%x(Lf-`~`{bxT1s$PU`TX?i=AS~3oeO!+mbv-!<}A=9AYHiwpUa^eV73$hCHwk93tg^P*3S#jQf+J7HuaNEqwLeO1qvH`1_TzcLw{>DQ z-{@@Da5U_MW*&z=o$(>(Zm9`=F&;|dj{Byb4L?Vjv6E;?rorG_-v7-pOn--UIWL}E zylzyj`8O<28LfyfdM;S}hUzm7hDUk*8L_&^r}SK+UQW=ldnsguO2L119IZbafulM$ z$SZZy2IQxlu)U}dYR*R)0X-)*&}mF4Zku-HX{~8TX=hg)U+)*%DY$PN{`KlpNvVb- z2hsXJ~?W3B^@*n<) zkcoC)D?&(cs_QjlK|6rAwe41LsCX9FUH^kML1r`))X{jjKpIgL5`LwW=Y}|4RUsWDzuab!SB??o1M8{#j8I2l~yP}gERTY^kN4uTcy3()OOa?uU?@y z-;gx((3&V2tTY{-mAK+=B<^(@agU<8ER zk{RZ^2S|>d?*MbawtTid^ecku9Lf=@9TKSqGfdShcRKAgd)>To$UNyPYTWY3eEwYn z-wlax9#Gbu?O@=XSPcYXO0{n8AMT9zBl=DqB)!RwPf^A~8zG{qp~B<9C=b5wHI00oU^^8*hW-G}A}amHY*}_(O!T>+PyJXB7+J}z8If3o-68+#k%+{a zv>(~07lysPNt9CRJOiX;ZTutkqL6CGz4dNHN%JpI-3)4D!wygf!XJf$8FP?S| z65Cu2R2UJUNBi1fVXXGLubhaY*1sHjS{NY;-^3V3a5B6Uj9YX%fUHq@1H>n+=Fb}m z$#@M_TYE}r`8%MQuJ}LlkfMb7p-{R7CA_8>sajXS2X|7^LopRw0U76Hp#W4}-#7~u zF(l*k(lmjm(M6FR7%~JcNYC8UOH(R{!eT>%7#^i=i#aswW@xj-S}0{!N7-u|C@B7$ zkTR$G?g}kL^abGo&jlV!X^XqbSQ^B}q&2p_HyCEjMfsU0S0HOP6n}Hz56M`Z|2wNA zekBp@%G0*Pfc03sD&+#Y<|(3hr~EjWlK*0ygwY8f9Ly1lXqO7^;6WXe9&)cVh(nGA zG2HThM)&x2D{qE|Jx` zV^U6+`VkuyNJ>P2q$l>Dbu06{AN8SXg`i+dHOZM@^NK(W&w#;0CMOC(tew+QOD%xC z36J=SuQ2Ai5GPi|kaB^;&2p=*>h2#ld(x{lHtL=YEO2PH{q7<^ z?a0B=1q3!3lZJiYp%>gaPiuLz9tKM6S6yPKhxON&I-+&5D+RVjNZ`5JQnb{Zo(%w# zO$|d4>!rRWy4r84$Hf2KeU}kcZDzRr!!)VGgu0x45CfmbsD@j9w_6gl$i5UwrYWuV z@6VbFhkrN*C~a9Yox9WPMxwG9D{N?J?WEH9vx&&fr5`ws1X=vqVDREZMT*IjKYI4c zOI9yfQiPJZCZ%d|80@=2-A;3qDc7{XIVTlKBeU39pdm=$8NGf>s@yFkA;7cbm0$ky zzVKwsy+Ww`>iXlSSVpLk-6uHNTX3ylM%YM`(Fj>P zlNBdNDtS1DTx({`SoMH&-xSR~QYPIFyH8b%z_d2&EhuJ?2PL)*08rFBI{9FB0Dnf2YmQDqb<* z>7Ai;ww7Y%@(;r}wyMuBOLvf-_VhWx^+m(+Wnv#^>n=qQ)H`{@{ZN+{{Yp$v*zdXH zYTseJVi=1O5aoq{*kX|+Ci+OLb5>zv{-qX8tz#jOuntBBSYSGM$$FxuC8y&mc@wYm zug%RJaDy;s2w6zNqj6uNJqU85Zw@d!2Rm{?(X2KNrJ5^5UW7B98l{I*@Q!C3=Ix}^ zPqHj9^4>BsY0bXOl&q@D?_OpB9!uv7<|MR#oQE2Z9)^rfo|R0Gua)I^>23T@Q{oN8PZ{{em-d$wxZ_Vc{*Ha z&q@0ZhZyNt_>yxS)W=gCBIIZuz7oCKDf${y21%&tG-2y)ON(P#(Qwl$8l)UZ;hxq6 zmmX#lgzRxh`Omw-*z*hcWhX7Fj6@6oJx25}M6!+m>+zq} z2@fMmZ&^3e<%n{cpVYEYD6w}2C2I(-WJd3(=*)@Q-wzS-1{B}`cTagk5-b0LIR)VW z4;^o$w_e}ZPpVvYRa0gv%-TGFnWvlsB=0%z{B3jp%M;Pg%197C8DAFkMC+UE@sYtu zqRJ0@4uKxRKPO~qt)`lP zA+PiN^Nu1B71o48oc(b_6Z7o0hB8qZ6!)zW{0+=|X(07A8>$TPxlOnPGQ%K<_CG+J3>)I8nIX%W9 zyZ&kZK|=7o;+E?N zMYMtk5xLoj${y!KhwH=qYMD)0f{Ear;sO^BrI0cO|IT_Cb~4TxC*pek(&}=70X?EcbJ#(r;!(DI2Mki z{)_>5A8MTEOi??Zv;-o-#jINb3f}__K`IsEjaMI*X$iLntaeK!g$yO|&1x~ehug~F zwL5d}7S1)QpNTbrYrUccCgBUy3HwPb+N+xyAq|ja_JI)+dvv&gFOJ!|^&&nAfFNN* zorw&ZZaee$^;*7E&8E6&#Q3cznPF#);3Oax1$s(Lsg;Q2*^s^pgx&xpOjzWUX;Vkg ziY9h$XPGZ;62d>~eevRXN6*2Z2$;Y2hh}?Kv0+}q{zGrXK}(f9=~Vtko63)}U5&YY zLH*(RccuBaz=5Zq26`d(E!2$M1x_vh(B58})0rEY0o`~$TXKu-Ic@jaUot8=l2+ZitEpvs`4rSOb=guO6v+5c&51Mt`UE#&XO!tdtLLmQ64rkOGNsIuc89gtAxP z*A#-Z?`5P3%s}zGmtykAuRnZsTU`qC)Soh#(z#&S)3AfV zUPE{3v0QGkvmxkRDEUb6J)^Grbwb^9kNcVAR6odOhq#Rv$~I}Q>q#REavT%A6)N{l z8%n)VK_0Np^B^xMOm3>H!HIFYxvH(%WnEYw#w`Q7-!9%t3Pi6ivMzgvhKiqljf0t_ zz15Qa!p?35hUIZ}#JL7L{Oiv~lb2-ipGf$2VX?eRfKs*>(V>NugB6|=VL&7|mEOS{ z04qV8TuHqDoR_V8cninfKZs#RNVSW~={x?u zUUl7u9Y+2L>jy3M8JkBk!%_!jWfiKyg%g%;&5*(YSS6*}XPZf`V@)8TDrCQTQef2J zJx9nh*%}nJ9r=ySeGakvkA;Yc&zImFtXmoW2p}@c!6VdaELV0oH!FUnl_+(S4m2QR z80)tsPw?W$j@K@sZ?sM^9+9~5fyLz~48Lq+o+T)dq!ng44HxY?tFLPBUGtUe>%UR; z*m*ROEeYyhgd#l2u1P?~NQo)A+ewgVPS<(-2FbG}nN|#2jmmkX-TIfPd0 zXr;Kb7Fa(T&2j6CCNCqcgf`45-0LWaI2ofF4kPW`ZLC(1zN z(ti4e+Zkb;2^(&`W6mew%nH$4g?Gz-)`0CQ_?6l7fzeYxumjXyNt#0dy+YTF~&wK!02eyf;m59&shWNkS|eIG8u&M+Oe>vT9K|>G zhVC>PwxiyJAVgk!_}?g6*V9{SsdvD%ExpmKRL^}JiSEy4tOTa=G$s9_oU9Sl_I&g? z<%kX&bpkJB2)GEa7_Z4|ptwj#ZQB$Mm$$fgJcz~ap)?49q`joCkC6C;%jQ~Una&{& z<$|mYI?)U==p$>hyphnJtZL6NfN{7Tk5r$uHIq(=VaW|OtPU@pvJ=~5^i=w!oyyQK ze@Ezt6_ZDF-# zGMuzI*l!!ShxzsVJ-lSNrYrfSV>Hg-sMPThy;FE(UNub!@U<>=>f!z^_`8qIZZ3(4 zu2ft_X@59O>iX%2@`Pb(Whv~Hvsza%$!!hX91iz36!kfFf}Lc07yq&%hq z-in3!!;Tae;Xb5QG9~t=?3_`JlK~sPrXsrc`XXwK5tO3>&iTbGcR$r@oYGk35B6@x zO1vM$6mt9Ux(8<+s1C9TzQtiQYLgxX_nsiuskZnZd^loNNm-JpCUnb)4}xSk2*P3b zi;lFW;`@KGXH<(1Tyo4qzwZK>6&@2L-ESJzJ&#~CBr|XT{!Or^{pm5z+G4?_@5+7- zZ}gX{Z7HTRG3f3)NjK;wUK+JjW8GS}XrB0y{BJ-r7(IVc_ugW>*6s7qjYpIPYRUCm zLv;79Be6dbTIVr&hP3ov5cd*=!HhB{N`HIazOp1bLUS?2q>Y4o<@4z* z+0q+0l3cw3&z;ybF2=cmMjgc4{|FAHUas|+q+n1fIY8pw@ZItq3n{8s6cfL);0C9Y z@tuU@cV)?4{H2iH6>ht2im2a->aqAC$fw{vQsk~uvsO88#ig*OO}b?u@e_U+mvXW| zBJWeN<;bF;5JdJwOSo5aRY&7&t{C!hms1f-bBm37m!~EaJx|w!RX$!tr40gs`Y>Dr zN=+JETc7%$bY&lXfGqeoj1p`_tWv@kB}Jn^>SR2jPHG71l<&$_{k-6XV1>y>HGGms zPbUa(!i0($%Lk53eS*Q|z?j%2IMlyhc&3?*&0Q>5uUwhO9C5^x9 zm4a?wc64{feh&+=-{D%VqD^QAX>{iyQlimCWI#93$oIQ80I=|nasj1^wCL+{*#@Wm z-)?G45_I-~C{^gs@m**GF-}YDWg!nP$QrnWDuMNVR&*MDl!5vKn2Q|G%I>CbLcXeM z!Dn4mCc(=}*)>vx=2W;(5TeYdWIdH0xZNP`KU4Uk6uk0v^gadKycs1LR3?kGj3s{I z7o1iGw3*K{ScHr5KnaarNF@y{4uDkJH)wAP1QLpnacC%)(dy*N?WCp&rfjLap_j72_&$MG~hATPE}xxKAdU z(-?o@ldLVWO4$RYYdhYkbM>?Cyoe2t%S^qzvQ) zsvUg^`=q6h`Q5_YzLuc71Mn*VgR{!)1G1}TF7QEy_6#V(yPM6BmmH;*-{E5y(H9em zX-^uWLZA99zhxjbS9g&sWem<#SjUwnt~}@`G!r^vgcwTniE#S@fH5pxlCc~B6$3a^ z8YPW>;(VI2;3L#%rEJNmm{;lcy17ukUwepGRd8pZ3jehNbPhge#z$XiA0!zlQ<}P? z)Z_9Q9G?HCVTFO~euwZWiNWa%DG^8BDgy{tcUj1u9*=2!>3co#^lyuQgJK79t6h%E zng8?ckd&sq3&UZWnOjpR#)T3HzOM!EY);xi~+4(QK%0 zFCUd?=`tn#NeQKGH+Sxfn0%iJNa`M+_l90V=FLMxkXsx!5l?J{9jGhQl@-)P zF;NHrc}<1^7KViEfsJe*B`C(VR9}PdjAzp*rci_!U%e!_a!7Si&58IG$vLZ&Sjyfp zY*)n(*Mej_X)GwN?^#WXf=W~OY>?RPfTqctxo%24(cD(6GM3`{9i#JV48m2ru`Fl3>&R3As1W&OGB$lam$+Ta=wP}#ib#;uc!cG7^YvnI%i$$@$kR-Ii^ z-OOO-VRR3&ev)e@imyaRjGc9vwfG6R^1yjD#q+((sSHW#(Fd4)GRk;3ci)^XZfg<( zku$Q{$;oMpf^-PSPJ>+c)<-2dDQonEW67-G8?5;bSStqxBGb(fOX^Wl?PzrmI;3zEWGJZ0? zuM{(%3<29^7oyh0bY<#^N8u6soKp-no|Pyq6qb@A`v@w*Mi*m`ka^6uetd#l6t-#` zv~;VT;V#ZAyKsyE)?ZR;?RAh{re_I^Q~ZJG{AqZT8&Ra6{Q|AkD~y4|T2DJ*olAot zNt1t(;;RP_fP|=$-6>uT-lalT0^>;kVVTcycW*!}U$~up4^@dr__h1~P#fAqWgim@I>mtu&tP>u_E63A0@U!MoJ*=+P8j}R$ z7j8zbk4@D1FcVae_I<8d?*T)6^eQpHg@3v~&jb8$Hzp;6R*aH)aP$p%n8Sqe!E)`IAYF6< zst?k2(HSoHFU4Nqrpw4qlgH0LQ1u}mc{nbh|7pmBgrE5L99 zxxPPw?)?B(c>rIIyC$)VsK|bw!cJ(&aHFYORMG5!&U5`lifHIWrNS#|J!Bo^qZ9;z zDncJlFz=M~saRk9-^>l}JQ|?|q656r0G@^BxZqf8Z9))tWRm1AYd->v8Ir2qH;$NFJgBY((@9I2{(UQ~H7F1{9r4sva}n2f?H z)j<+eX(9FdHr#4qMagQJ?%{a&Ds| z#uo)@II^++nV+Ck1y(Ogz*Xhho+ihYdzqu2T)R-c4iF#a-Nd|A%LGhP&Dz?_lkTl)Dx}|wG~&wd3erSNXs6V z{;IngpC_0TqU?nF``Z6l97L@KMVu#rEQZCtDdycFq9z7aXlo5y9d}$INaKydWWySe z@{5fIoIHP^oTVU!gz}b$3g-gUvlBm$d9AwBT8r0-ZT7wadw(`U&hKu{{0u%0Cfl@m zqr~GN4GIJg{Et26X%vXzJZfp(dwFYdPaPKxKxfKcisX#rpTMA95 za!U>LB8GCF-Y@NiCcG7qPjY-xs9+()Cu-8m4vCc`t3$LTCfj(M+=O9gP zP9Y-!D%l)CrbAqFaVc*#yU3m{yCV~v^qWPRm@fL-DqWd3_k#{&IyZdGuIS{VtzdkJ zAA5&6O7yb096i$`jSIkJVi*QXYq&`h zxJJZM?##sr8$7qk^5%*&ZrLkd(d^wou$!x-^Eewm){FVZU!e0o^Xs$;%fUCXrKT}U z_KF;1SVTi1BwpUF^%7|QoE(Z()IULT)+PT;VIDpKt5?s#OI$w zk2T%8e7pXjuo8BkIv3)D06p@X|LA9?h=ai1Eq3wpkmk>^zuM_^YO;#F@dZ99vp+ib zU-_;}CR;ON<3Vr|h6U|Kpoh6+lxzr;K^$yZ9Cu&3c8aKCJmw_e{)tWFkYGT8gKick zaYM&dEM%3yM?uh1d+xK|z0}E>?x2Rx2RMLzOF9d2;LAa88zGhLM5SzFqv4)q)cjp3 zJdU|5+PoS}0kHRbL$fF7wZ$Pgg76=T;YNy>F_BQ443Z3$kE6u#;;g7qjrSIo`Ngq2 zV|KVST78wB7U#1st+?!6Wp)pFL?hat7oD@S3Y@O_;+i9p8DKD@5g}IL9%9Y^Hk386 z{ezvi%0P!6Y-tK(tcn)t+px$hl6+@kl)VqFzrJ%i@2iwsMqQl~7_lye2Ug{f>^pFV zHN^s7a&hh}i1qYg1_KmTW{?p$HvPdEbC|O_=R{S6qf$z5>K#_QK@>bZ4D~W#?PmcV zaSp-Pyr>waf0QVVX&JY)cChOmuqYh#kR81ztpC61p9p%06Hwa*4#0qaBSYIzZ^5bv?28;D||aN(4;*{+I%1e{J*f z&7PnKes#HTHnJu%2yOjG(>^K{>i`){^BbyDT?_~%{2A1y#=u}3|JNwp5A|Z0 zg=F+504*F7kq8zSG26i}>?3PUf%}LP)-w~9^K(aSyEmx2z@00S1sT+3n7ZmUZT5zt zX|m6}1f@7TQq?M-O*#ek>4u4kzYSbAU78Mqxx0HymGh8_jiX>mk-E+3Gt!9|HQkR} z{_WD0A-PO+KklO10XQp`s<7FroL6>v$s#azhul|X9YKIMPKG$-j+Be56&9GYZDeC7 zjhfVCLHBI6D;1Lg5yYM^!T|2_j=Jp}05?F$zf#ykqRER)Z!=UbFIx{Ln5Haf@KpKvV(u*N zRkUx#N|UV9KRBRkVKl8Mgm*>1cXc0D#b_GWb-?KZnwysB<$Ni-QEm$EMPSYgXh!mYRvZP?Kcqio1$G| zY%jmNyQz`EF2>lFBGJY8K(RbMr0;5)w_NgNOj9;*pS+~kYfRe$0IgoS|;qDwwbkXeZ9PJC95gHH(3)dBCPWnM#)Gw+L zY~JP^eZtV!4mJW1K`nfASsVHE-vb8G9Jfl{kuIne@KxeVDi5tU{d*FnC0=|#yt98w zxw1Ej;&j3N2!6@kMxvo<)#MxUeby=e>gz zZf%On^GNDrl}_6!GyuUJ>*-sI^iyQcw>{BVGv?pEEYf|sxxzt?FjgxwsQZ7W-IW1B-Y!3Q>~@Ji^U?w&fzN(PKvT~TQB<}~7>p@e#SWC^f@K462>hCWKJdj>+%H_pPP(rHrhTj1hHHR1MiRiY07O?} zokkMlrMHYI5`zIRcJN^HU0~+2*e{FR$WO)TH`Gts%SGPK{t+cY#dZ)ilWIcrZR*(4gf4f#Szxz=^U^&WP_|E|pZJzzRAbZ7 znwnjP2t(r=yO1lN?uHS-cH#7!-+sua4Un5I5|1UpL(``nHYiGSm5Usiq%L9}k`MpA z=97$ zo=FTKwV?Uu?m4|Q>B_#6;FXqRasf!m5VNVNN$q=)#ZEnptTXd$iWB|eCsJsf03*7C z`QZeazYZ6?Pl(tRL$Q+Cy5PEE9X%PT*422&S-76zTW$5YepRnLGJzyMEj#V%?R0#^ zR&Jf!8*!Bq&G$#obcnNb(=UcmRY~`cbqsUN5^0?Ma${4sO2(Ja@5jrx?-30q-gvyU z0@#(OL|O?3?eJzE{TL*Hg!39hC->I2Tz4^(9j|tBO7PJjR0~61>i#zSy2<)t0zy0`D^hX02YaM zp(E940sx8k(D4k5$um8?KPN-mVPJ;b4hhZC)W1GTx8DZJy)QqDl4|LV>Bl1M-&zJ8cv&137KR2Alx68IaCeQERs{-<+ z^sI5WA~aH9B7H_0f=}o%GFb$(A@d4}xG|fCFFIy1P(D62 z&8UWeC+RImH9T}5R@PQp331%x5RJ=7-p{mH@?R|GmRF#%=9YoA$}8H^hRP?u1IgzV zhWlIWa>x>4tExNP^)X?&mw-e9uJvupC8`=w-kJ1ecGiYNob`wGx~NcIs`FP}5Dx-? zaHz`t29+9z#hc31`K=1As=VZFmYp_E7aGta?BP;GWJV??N^YP1L6(mUXdnCz7_KB` z{SF4dzFM$SCi+74V^kus0{*r&mMNNDFnQXh`>3}`vIgMCo{Q>8ox++sdS|ZlH`yEO z)6mumyK=3-n)%G0kue){!I;s*L>B0tRycBnlkp@ES~3E@)h0OFsgMo2ByxBNRSOD1 zu=3X84`n__*LN+BaPu3H-E=_@sZ6fwNBGpPncIktC2k|OG8E`i31p)3LLuxl`M&|C zuE<6_$^D8===1@~0!#((Z;PTt^JpNYB7X+0`#DcK!zkP(+19Lrc&mImL{$WJ4K+YIZ1pmeM z3IWJ1y<4J+$k`C}DGQ9R4BNIv=XNsP(*KgkTX@k4_H0YOsGX2xyr_*rQdDX!*~it?C3(~3&%JdxNG`0??GjbXf6e|%({Ndk###0i%7-l>On&gKf6 z#An^k>fNldNq|_X8llrklBv28yXs)bNSMIrr^!w#*0rR#=NoP(P>5%5%nsYbG^}V} z9IX|WD8wy)+M#9p4zZ>$*iXqkO=0&~mY{JRPsy%G<#lI-=K0qZz~st#9qYTj}k{r)U)3#N-tmusWH zSVIPb*Zq}|l**qBRP6g$6ziU^$552#L@1M%OdYs(qWnIwJGkjE9(Iix2Mkei#9}lP zgOtA3Pl-S!t-;3fujNLn@v^jJ*R?h{xZfOL@CZ{;GS@$RQ5d*}3nT=yO?&njd8N)s zVh1ZQ2otuT625QagnDl@Rd;|DIr{Rq9344uYP(~H?ic9K{_}zaH=*TV=+GTq&F*ap z5Nr3-DQP`vbgO-sOW99Cx`7N5)4EKxCueyd>}!84cFA}G&3-3TqgO)lTC(mEdfKr1wVhxbJ6LlJu-!I`vtZbEVd4&YektraEc^Sa{@fS|8eQPfJL zK|%#$6vw6eN88!&DI}FZ&1{LmsrpW#!EHSOdZbqR+T@-l9;pJ*KtPmC>#7;=qwa6T z8O(R>_kvEdY1lZ@?;Vc}dq)&siC;Zai2O}sp=Qfnooc>&Mf{|}b6Hb(_RF8Cj- z#7wt7uFvS{*XyWfi7uG+Xa=IC$ssEieQ)0?gK27mNa*i0|Ko|mQs96f@}*KrIQ!zh zPUBROCy{5Ylz%JkJg~#iaeKcB%mM7us_*NUXu;MIQo$^I2<(SiKeu;%%kXxVJhp^q z;<0ZtqS)0yDbk4k0WN}C0U2}1hZa{+#oHYyt*nk5I?X|i++P~Gj63rgED$mcIMtH6 zLG-9&*SBxg{b&_=EOe#7sta@G>$?cRM9o;y=J0cm;*x)?eTu1W0SHuZW8E>M9jN}a z%|c1X6R&|*CV7PY!`0>uT$dn_VyrEZ za;ku6+g1X4w+0x6GsbrlEqyZC%14|Vvxtu1Om+A-+lSAnyI88T=bVxl?x0N^P6riS z_>N0jQap;B^FfRTf^A2BsS^!AOc@;(!{V9p9dH9SoeOCB2&cIiTPgLzN>bKcNTpmg zs|eX!8`{af?9GG0afZujs(ZE278!;Q_tJm4UtQ=DAgGDynq)_iyRVYh6kZirMggDS zOY8a~;l7WtZsWwS7Ggqda^3k$2f-2maFkBd{y~pW<~)W3h8##4LNY9kkL|K}c&+<| znN-l1@Vfy{nkesMj^{u^d4yukuS<%3%@|5Kn<=_YG{#jxtX_P9g-65}4jA0x{|FKT zgdGvcn4}~{ncGB9t&@jWKc^t9PF~1>Tq@%CNFWL3C%>4$#RxZw@H_gG68ZLzc1y_^ zx0^yF;)QzI1&$`=+`Ku!*4rK}g*S;43pu17ya=I17vNp3#-D|j3cp3tw<#l?P+i(^ z1Bc4=PugsoNLVXsh^@)D3J*k)!t~$}X!OHM0y}U`F2}9b64|PK#Mdie$4pLfk{SNj zem;q5-kOn3-Ypl0Slz|ldN_eijkG5a`%-deT1_f`!mYjgH8Xvz2A>iMpDedX2276n zq!tXZ=%8JIy*c4&Gp>RXOq}^Qe)C12;lbNr#fFJv)n21w;9>vACuG^n$oqrdh8$fB z)e!W^29xGg@57_FF0`M+?pI4M%O^r0$l{Q?MN+waO=BqBOzF+jLaYs(C~@7f)j1lG zk4B~aX7!RyqG7Q3mo8$O{q&Sqt!cs>Iss4~8w=3m!`Lj2(S+zXmAw#5Cve@2KFz3I zpnBc6r@8DRHq0{UCw}T^ZcDiIv2`LXs5!XG^%N$jL46Me|3SQmMbu>#xuX5-ep>E} zU$q}|bAdVKW~IJyO&eMQtc;UlrrBo}1EV?!9r*c|{2}|TZN1~$&0ePiejW}6ch>pF zgL4lK^3!}WAc1rKAT1+hIYr8xUd|qan+D}{ZzI2-#k`}!$O`Uciqoxwr?W;1jBt)X z#~*-M%DAa{we85|W=b&xoZ{NC8Z=z_+C|u5;!h|2Zx4-sxH(It%9qITB#STB1ql`? z$uOREMqee=&}q>|A2(aKfdn7~Q{90gyFaYV_Lwnv`=u(J{8`?vIn`4-KFw}JQlBWD6tl%>ddx>PW)&V|ozWi56^NS^{lU)JEv_-g;g9c79=Y>o)R;Ajwofih7)A z7h-LrwNr`($xW*M=!jml%(gkFjZsupe^5bf6NVUry9qZfh^sXF)3@COaggG+)ya#2 zHmLL@IPN`I@rS-jR!;&3^vC(!CClSYop3)?T+nL}MC}M6FIu?UpfTKrQ&n>ZA!~KYJ>75S zn6XgXPiAnK7(+Co5cCDH_Lor?kn_QoeC99?w4nM+3}R3_@;Gn(3fxYb!|C0uP# z4$U$dXC4Ngy|foqdTIM~VtdUD^HhHvo!-i_W+g|G=-mCO%mn($O%{q9aPrHHedQtt zURFhj4@OPdDj~pgvF2KBzjic`(ZcTNdAGzM6oN2!MuTvPZjf!@bV4gJ9eqFO>zk){ z-wAZOvho{HCf!Kn#)@2AbL=Dshg^}&n~>^|0?3HLz-;ff+_X*jO@y%nr|gItVfaPX zD)$8siA01TFd4JCw8qC=Q7NCjLvkF+-3ANWT^w@cOROR|h>H3Q5!c#H)0kIg=h>QY zz}AsYzdGdrE4%U33r$}tK{ z^K<@m6*;v_t7!D8X?j|?@gba_vo8gyaB4ssEOc<5o?ZCt7hKH^F!aIg(vH*_%eRln z0A~>Hx!Zl?-;X|0B)9{*V!e<6Ya76F9$KjD*uMYNSb|~A_os|Fe$k{gDF>bnQ7-$) z!NL|WTEcIIaV$@-YW*$#FGh$*^PK;|l?56Nwc^+<*Z`12d2dc#Y$-Qn4jQJWn(+J; zJz@?k`0)3JzGdP*x131gL9Iu~$Yq-kp`FjpFiJ%ZLg0=@1HV3R;Bjdif~MlXD97HY z)JiMNT?v*N1X+rWk&FO{jAo}sUr>n8g6N}!d@VcaJTdJrSXH?Qq0@s^BmD@iDRBiH z&8x{7JZ;P#gjS(f%V4DXu-K}hq?rl)!7jYd1Fbug02bjW2@FQ3=;9BBI>MvMg`R0+ zK7D}Mx|yTq?H}Xn-};1_KTEq7OjUEd#->h2S6|Qu7V=KgdheA$wk||Uo@`3XCS2EP z=lt}F9I*;gWi)kSFSKG^ z#SDr3*-==GF6^VXHX5CV)78RFWKCskDoDBoKh(uUr_gm6oNo)0&7mnMNJ8~NB~lwoblKxX7#(wAWjsB8Uz ze_a{Y0$=?;OPT3PyEq{!xaaaBV$KM>;GYfz%*brCGfiQEDoJ}ls4BC>7`B0b=$=aj zpP}*J(UfI;ax#Dei2Z1^&l>1~IV1(x6Am-K>2%l@y%yZqO#z|lkGNAEjOP4;hf2*c zI*(w7xGP6`D3EJo))iT(>@FTjZ~7nUflm~+UG?=GYrDk)^+fqJwN!X{NBFbva>+LZ zfX#NyBY_UTnOX>Xc-8rpF04xwGS8x{@mcTNpohJT@BCYCv>MWF2LVnV%T1)0pU)g3 z&?_8EMq8fl1W6BlUaB*Gb6@iw5J%mS_p z2de{%P?{#~3Ut6bo~HV#&sS&bx7ak))HKLRFe`IDgq?+US$c9B~{i{IN(Z5in#L%q_)9!>?0r=ROIjVPG3^<1D z=zHqgXM`3PkgxRvoZ|ERrz3 zj(_FWFn`4%SJx@4)A-OyG*%wi-yQ-3GJ}5fi_#NT&o?{ZF5ErHTCDh*s`*takw7yP zdzd%u5zll0F&9N123Dhi#vO@PG5{RZU(Sg39uf|gb7<68{@mZ``WXtkvhKE{yiED8 zUgq9n;R~gq*V*m(Lbb)F8UB{LWGD)D3J~(sc z%h8Smx$j58ivUMr5Ds^!3zQdWw1VmWkn`Chsze;?L4Fjm_mgdQ{2X(vNdB`pTV9e7 zZzQL>M9IQm+`j9=pdPWS5xD6y4VoOYMr7(P z4y<536gAP1a$tG3O6@|>&TjlOSl)xPH>@$Hi}grn{dzs;ucK)CnRvq#*hJl zOWTZ%`~NFT8SZSp;oXsiM6L9SN{a*PlwfBM2a|sB1_~|8Oz!zAS-6Ii4Tq;#DRL&N zT@06QL7hEZXnRqbo;E7WMftt>--hJgKsXvigskz@xp7*n9j~*GaBK-owDY6bmw2(` zxI@&gyYQeL-S%YK3^g^fr*w7|W2IV5pV>tp4?>xVuZOBa>s27-8%Jhwnf91L?VM~D3x{;3$jlv8lSEeX@8|T3GLLf!A~}|JgSJU z(RY0FH@E^Zhb*KmvV*yc&{r}O-i6LH*Z&8|1bb^bjE)!mUVz@Isb8@1U@v1CE~HLd z)wbjcx~6@D_T1$~9PXJW{~bFI*Gu(fkd&lCLFoq9dQ%!A@mN1Jw<;>iFxEAzW_TTB*wgr1C}$`%p8ZoRG)ghiSamaX zL&NA4o`as!@z_6U^z=TwG&bmq?NR!6-F zfh*!VdkkEBW!3B(xIQPIif|QLid`~MLQxx`h&VcPK_k$O6pMWuzsRIsD46$X<^MB< zc!ZnYW4?2v%79TsFb$f~r)_nvNgG7Kq|VFpwp|AU6)Jwn)R-A*Znk~&OJ(KqV70BH zpZyLQbq9#C9H&e#?CEno5cPV%nk!{%uBTKI$-bHnZ?pf)XR&;1Dr@JC-Kdu|(4S=J zW?<&K?3?)r^3awXYQ%KlW~-rP_%{S$-PN;m<;FvMAzzC<`XE;6wF@)_pYivz!p{jh zDduh?Lep$o7Kz%~K!~PCDpT?LSq2Z$p0x9uaCptk>&RgB|eiF%!=4)_(is@EzF^-&mB39%;$TMD?+HqwGS}2^@(NaLo02Zl} zL{e#gM65Wn?LdhWeBd$-d~ea97wW<&9HWxlEKzX`bDZ7IvF}s(dLDRXS@CKN5@OVDn z861#g?Nxst<7;Zs;q=|E!gyarLB3Jp5A}JAIgraTp1CaHo%n;j%fD|2dId$8|#vnTNiUhTr-U6XGX?a4^HDj0%LBmGw4S^~GxI z7k3C#w^iwre5B&RU~)+}qF%Spn~+M!6((3r)~<=~a7ef1^(@8V2U6B{TOrs%Aqs-l z8w(3y3~d>!OWw)L)Me^POOmjAry^iSVg%*3ZY5Oiu**eWTC>;oCZga>nc>#$j@V za%G1`BgN-Z7skgshg8UIeD``!zhY_UBRHWSEgf(o-5<<8zA#BOtkIMij3)1MVw$=! zh_p?#mq8!)*HBaWmcOY_1DDXV}B|TSe0U!4dO_m z)pEhTZt4;~^0GGbA24QMbWM(irr)=EjaDasQ_z@I1UT8*aVY#IbEMc`C_s}UdH#5I z(*53?>9_m%FTne( z_GhA=7FStUD&%algZ1oxhGmVqgFh_f-V^P|Ak80u7)9QZK9w<3#{bnF$St(fu+$#| z9|svEb+#7HPE&h~1b_ZS*mJV0@>w%d{7xlv$=o@kP!$;@? zXbiP3rbD zH{^fJM0ST~pb@UwP}8K1RY;wUC|!=|iw)JsS}OD=3qa<*@YfEZtNna{n^y@PT*hR2k*vBVgnue40o2Os^H9*wYu@g%(K`_rA`} zbNPBKcV$O5spTk5x~6g*%Inup^)QJXDWdP@dLX36JS3jO6cKcTUDJs)AB8eA>OkwR zl_V=8nHl+DFkDmXK;&7VJgM@IoG0@_0PnFENwt6w#mXw$J??mpg0a!4kLG)73bpx) zC2cdSes$hkeOd*3_4tsdB-(B8SpUGcrwjC%s!CiAd>%U1uI}h-V<+uF6br9q4mWvZ zOYQs?NQ@FpHp96Rv{|NWHPj0?{+ZE)@5e`~88oVe`x54K^>6^`Uqru`=FuBs%c&V^6iORtS#_u<&wBve>at(K<1sXJKN_5A~%CapR1;MhDpH# zxQ5%wZ`l;YMHVXNWol_J<)F}elM)@_IM}Sz>{eNIF#^NrB0f6J_#38ahAUdZNm2c4 z*v3LGYRByA2gpRwSfY4T&EnlGBJFoc&rnpN;i%!2+vPQlz4isZRG!O#G8I`BSFB0> zMbpoj?S`~p!MN1(>m{cveFxG3`y*_lD1*6ftZ%(qzEfNmAbEo+3;hi4l0O|x-v+;LVnvLMO zg~>`!-U55HYt>FG&1`+)iPlHBt0kiH27Y|*o=Hl$(3HtzIn5FNgGFPv zQjcyjb$lc0{&!s3Putesl4ZaPf z&+k|5%Cps0mx>Re+^_RUXyc2^>7#Vnj5zEJwsESxi}e)FZC<= zX0i6OJJIK&fqiyYZ~+5xKDJj%t?P7IEVuggF!X{MRIa}MCWqI9VAA+by*a~iItSl>65J-0ul)Nt#?2FFSeuj1Q#NKFEWE#M~BvClrv z)8I@>Od>WUx`eI?!Q{J#Je(8E!;h#PQZ;kA$7545tD2VVVkqjXHd`otn6!9{vp@rrIOhL2UJD*#Q=%duS22ON^n3kFIqqIm3Dxl0g= zrGWQ~2r^WF$T7<=rnx(=tThxV;qVYGb;e3rYHgcG1WlIF7iYa%vG29Yg1?$3UGof} zF4mD?87(_N;^fkeN%wk6akxi>O*m%qyV%-7(4qj;O{vpX*`^Au0|yvHj2A&|WJ4{ZCtkmz+bn<)u9(^6 zpensxrGJPZEN3ysvgDbn7tAi8Kq}Qg(xJCBmXj`e%H)YWsqt5FDlS3jk>q^W$iJ7~3%#UF+Y#o*;A|0}Ng1Hm*2~La|%JXxz-g7HpUi`k8Uf$f=g6<-Y@` zecBls)RWs-3V9mfz|6u>Bull+P$uce^Lut2WwK2!EeR)!_3QmYa*EA;sGcgNle#sl zESal`kRd^(*(6SXqL@&%VRBkP+v!c}^|@wWHC}o3#mI6HkZArpD%=D#dPcx5Ec-M7 zbFkw@%yFBi4}LjD{w;5V#E3aR^ybPPMNNs4aWMQIi>b}N8_Kd76mDc56*!0&^6YV_ z{1039r>KnW$a+U9cuHRxwUny33wN<6wDlEEBKbjC1CPJ6ktj;vW7D4H)$Z6Z*fa${ zo8I%`UCJ+)vUwKyl9P5PwP@P|mB^7s#MMtj&lahMA+OV#NY`Rcl3jR8<&1~n3FX-w zgNQfT){~PEyHI;&O79zYs+0mt@M9-m{TMEtde4vZ$U45K?hOp#A-$WTnwSw_i^7)!%Q##;Wf)m=hLZfIm`~g+X!8UI1m+H7{kE~i49UgK^y*+Ij05IuYDbeu=3uWMB?Da|hy{W0W{nQ<1!F2owg z^%m8-N6QjN24dg~MXr>pBQF2iif;m?h_boykDPSB?*P!IM;~D+25RYQGvNBo>@Jva zIz}s+h#d57pYF-MfBDIvR9$Aw*GJJoJ{ioQn~{K?A)rM9g~Htm=L z-p`=`0mzSBh{UcRV2Z~;hPEwDi?9XLh;Xgdm^{-ymeM#eZ`~WIly{{C9P$U}+}m3EQIe-7EM-5mrxk*~uS{$UjYFng>?U zG7rTo-O(UpFKe>3cil2O+YMwtlaY_)M`g5M8M-@J`?gQy-TW~mg~!i1w=v~Z*8}9RTZl= z<@KgecdKyz^Mzmrn>)vJKdyZ3kfgCd(DFcCnX2u|tVsFF?DxRA?o4GyTrTmhP=Oxz zu@j6F&C!{khXNd=bpW^bUHCZwXW{`Gz2}dI(WkTEN-SzWjKRl(w(hN{XY{DntBFW> zy$lLxv}5p1T^FupRqhj`p^w-Vqw(aRFAaTrT=|YEjv~uc<5@4+D=OmO5|6ghv_dw# zlHC0=A*bEJhrF=$V8L|2i=urf2yCxw+$+d5nhvI1+(re zl~R@x^~k)B@?3eBw$&m7c(1=J+ud#C^!Un!paT^%ZG(B3zw89pn-jtN5ORLqk zsjbz7>m+=?i))qQTx@Im>)T@Nu6@X8D_Kp>g$_aEGj}BUsVD7`BWC=dNE!$QO6wj- zh#P16nmiSx2DFMf8MPRhlZ>0Y3CXq!Z}8)zEs>!O)Z=g*<_*0HbR`GsNY_%OENK}* z&*!#_#4q#&TcqpNd~fnyvEGgd zh2S_yO_eMZ{=*w!6ysLbptmolH~Q^SlEhLU)gs9&E!|`BoR@BMilg3sXR})k&IL1$ ztGT*u5?ZZ*y5K(`OW`+tR7F=ZmlKxki529LUbRxX=DH?htL2QP!GM@p}3yYzHUV5wUZ3-GDeZC1vw5?w=91~L`#YvHb21g`}snt1Z4n_~>dC6{n4yLMv zHvz5`m%|Cc(aYx~i=66lbyg4t zBU0#=YBCi^YL5;cYt<1r8G+{m^ru%nv?uCJ?x(KZGmlvPo)8iph~ED>sE~}eXryLt zM)%(7C%OcoNsk^Y@{AF3&GCQor^u$6n8v^@_OYU% zNN7M^rQBz%yq_a70}gBzwKKt(q;%Hu52N6d8Be8Q(sADS5;j)I_42fWGrRe{2#))W z`&q$}dPX^Ptip+whW)6N?Cv2*^+B!uu>B_d)7KP5>%f0fyY5l$ zJweVIP=q;>SrkJ`%=qE}(+ID@qi*bK;`q9d^MdV0r!!G?J5mtC`he|~RkoeddWAxf z9nrh9lw5Bp5kE;C$|c;3=Inh;t7;GbZ7F!1YvtdujBojHiW{au6FulDo_>Cao3=j< zAhZ5QFYnEr54^ZwFbvR4PiEG%9_@2M^28){8P2&<+fmQsk<%A00%-xovmumpD!iEu zX$pF(2V9!os)z|OyVZW(p3A5_#kAn;6~(n}&-z%eXpYB_Zn*SWZq-_f&~Dlyph`_1 z8JM22HasJ=$PGx#;vUYVhJXudld$!hGai0+6JAid)9nBwtera$wc>}N!6cZKV0g1V z5F;VMe@H;wGD!5l1j5Z{AP%}7}Zt08ib(QbRC_CP~L2CuB#{rNXSCTuz^ zXF@$2nTWm4Z!eY=hMtS4%|gP+%KDMd41-Bppl*RF=Fwc~4}+&cCvqV5lujvtjm14q zZpb_1y;$#dP;fQ}x8Z$yVcHZ5si#PyG&bytAHmT^_|Ily#AV3cfS2|^$#|hmB7{%V~N<9q2D8Xac<3F3HQOnhhVA&?hwuDEVIFi zn7sKBc&*y>wJCpc9=cApuz#0v41vq;p}+pNoEqfXK;C;e)Z|@~(!DNkDMJAZp1*Xv zWXeF5#Qbz1ySIF%ljZK7u!hMi=Q$<3(Wvjv3)bVD+ttRb6|hVbJvt(UGo?IzU~ifX z3U4hoE0k1|lR1CP(FZP3d?L-PZT`=~dKLVxWKqRHBk&_5!2ZtjuydnO7xtI$wNeBZ z^gEw>|C+I=qe?pU?CXVn4&WB9ycog5{*^b(G2haS{!M3ezEWu3Bp*MgqXUh7U-ifg zsbw<^;hd?s%0^LjFmlE607G$N=)N#thUgP+*FW+SxKWi=rn!4ROBNnmLCY)c95n+$QJKk8j7Dn}sl)rSxopph+<&$EFX_6@IMhj*)1CEBjOiJig^sfH za%rM23Y11gUvis%$1I4DrRQ~i7_p$pX?O@IjFba6dbJH_QKvdgISuVMnfekih_YO1 zsU!8;HICMwUso$xb~*Bo46o+g2RH z4(u;20RRfSx+&Y`0l?y!n2KnwlzdFBF=V1K4EdHz66g-ilvh`4aO#9Y!tWZ_G4^I_ z1-4L(-hRJ4iVag+nZ3on?JlV8OfVRL8a|if3u+3D=_R)@Y@Jj(nJ~7Rt5?Ohuny$p z`ZUL@lUF*XZR8|(0TIg95JPBiGGINBchEm!lXZWi#hd_+Fh5@ILFS427eY_Hq{+`V z4FfW-d>zz<$Gjucf__2QxtHUsVM=LDuQRI}^Hw65W9;UTqk{ zq6`=V^0b#v%vSgvGXj&Yw1BfCMDW9qWgUo{25W>gGqNgEx~$< zMYx3$xjg&%!uHm`o}1LxZRXy(WJl&w$3g=o!4<`_MQH=)_(>D8&#QNoXw_0jnGx|m z4xWUMtrXI|`|YNds%KIuSa73-8T5i{&2}Evt3kG7qYVOpOgvx;;7o}L%FSD%j*z=- ztwG8TE4H?V3NWOC?=$ft=o3hl#E1dYz8F7r~jRc3!nE(%da475oisV4r zn>^fX_)i+R5A%H^fS;{-PsFBrDl|XFdUH4^Lb>eDpd#D-VsCsh2H5vSjAua6aUf2J z7xEVCBr>B9(`C<&O^-81BzrV%hNaS5iT3^K~ivMAerS7r1s-*9z8T< zIoL(7S*fl2-eitD3xv!GtuX&V5Sr216@Uy88!g{k>5MDm4q>(OS5OsBv%mRa;*m=# zpyA>4(>NQjD#V3`hLxD+l#1tE&>j(GKkWT6mAu$RXR3+NSJgULe(wx3Qyej&#f#g=RoPgxwvFSVqgE`l(|AMwX4dcqTJzow;++-R_6Gy-t0orz&agQ|o>;pwvh}2}{T-CUHVu&I@6{3X_BGb>#H-D*JO{ zE_qTGvN=uEO7>aP?kep2kZmb{g>IwS(z#uLForHkfCTjupFI-T?m|pk5hzi4Ja<6u zcKwAJV#3Qb;}S|s*8GQLmgL^>(rCJ@{7h6`Ka13N8d`pt_o*LX`lBY_Y4kaA%ZR7 zGrg+!wXZh(C$!b{gzpOm(3UV|=C4=+Xh=4Ui+rzE;p5HbgYzJN*sHqS1;BJcz|2$2 z{ea@`h&W{7*f-Pohl?yJm$#vMQ|+_Q75Qf03f0nCv~-~7Lj%nOVt~?UFc&PDAHUsl zr462SYt}P6@Pi@vh^=^Lv{uYc|7MD+$vgR;Zo87LI!={x30e%l63J~`79S3D#SgYH zA0O=k6GoJ#2+buMu|Mnebj8wVi&rZ-9$5o5!$(HR5o7xDsmn$rn=51Eg#*C31!F41 zzThX<1KrTUrZX3f&Gn%8dbYJzba|9^&n~_}f`eA%Yk^q4XZ1wqO3sbvRcaPyNtE1Qta`PqD zI!EXYA1kQg-%r_H4}n#+mRrtAqv~C)eCSjsBlH!0kBtW{(shD>v9@T*^G>VU>_HdC ztzlay7dTw4p3-numC=wzcdO$r^U}?&d(0!5yh&n*;)6M+#Wd=&X^Amsq;jme zA8nXd!gN=i)ec!*5-ZzMy%mCJg+>(6c`sa0>-G(9K-gn$hs@YQ>k={+Fhy*Z8l3o_ ze&)9-gGEamDs~r%29HIwCD`zfJp~y$4(O%@c?=zGA%t_>w2g}Ayigq89bg6Xh;jBm z&jngF^_oThS02cIijDORizvVoD%`@6U&ey6{)B)2RY56`fp1m#k+4Q!JV^X(4=g69 zjtX9RA>Q^H(7o=@ulcDzs(uNHOAmJgQ-Ib7jG0rUzG*!MCNou^kC4(_&<7E?ky6ms zb;PV7se@D*;sLFTV0xNM+tS)SpU?lIWIMBeWnA!a?MX7dLQq*H)Rmbbd&Jl!ZO9WU z#uGA?pN*e1OJdR@Im2T30ueBP>wx|r;vN9U(TY@qs7|z*E3<_{uN|sk4nT6*`E07c zK)e$eJZ61~8@#amjgk`w`osKPY9W`*|B%e>y&!ufHG106q)eU@(-YNk=GGKKaIpprgYJ23CQ8IQsG*E`1c+22n zM`9*A#QBfz(1SKtI1;*`w`TQW1o6wDG7gxXw~B5m>%iQiJQ~Z$LTl{kLS{gT-vOe- z}s(OmbwT6C=vvb5upBgotc zo$k9P##%|`V7A;1@t6wn_Y(TOfiCn_Gry>G4^tx!A-k#2C76J)!Vb1G2;4k|U|R8k zJU4 z*W%i)YFmbAsfM+yRH=nCyp4iMpQT@KWV;>8n_%Od6Uas=cR|zGcMV`f|xIele|?4ko-u z=6C7IrPQ?RAk~z>$ZUiCSmP~gB9455cmxyL==s(_PDOrK;Dm3fKEcGAYoG!l0wQbjb85X_fZ0$(xgCEPd;bMn;wb48 zEn$>^Yub(kfzwTX^)%B4!>FV3;f{>*bo-y>Z!>xk5n3;^>+QJB+=oHF!SsvVwg&Cl zcDS+#K)+k+%XDfs`z<0Wwu5Szo_seq2YIml#)%I{RHY%aA15Sy1(WGr5-Ly>H%W*2 zEak8)`ZffxZ*@S44WwFoRGa7CgTnHP0Cek(%L25s>guH$Ow7T3lkjkZHXtfzRjX;) zZp#4OwhG~?&n5$JYD*q;jdEr4hH2@i7*HngznuLvqFV_#x%im$pQw--HJ6f7m!em= zi}A7wO05I21~BMbyw3FcF^ANKF72W_bZ94Gus!?om9unOVVP(6Vg;(nbNo(TS&DNC zKEE-dnaqXP6^Vfb`Jfbm{e5B{d*jj2_T46ohJ9D&nb%?TCt~xY=;2SzKhVIOvn75R zsa*#X(TEnD!OBp!s#3uNU4O@2pgarKm5nKhU=nc(8Rlm3F!v`yP8+4d{kc9E{J`{P80H}#+bo#rG+J#v^_q4zp%NO+FR0!HX0*+hL$7ePLua{u~?*SD!*%fmCbs3{dIGOB=HIp%5yD3zP&VRQS z1D8vQk72TLEG)2*22Ht&+IN~tr{6kfsTeM%R#0+QMyBBSkG2%hyM>&XNysU|7Q2B% zh08M7V#Vsg&;eUC!aze1_6EmN-=Oc2AsxPSd4scbOO0gYUL$uKwGCw6Lgb(M|3m9-` zy-AekekBp*FFJ}TEV>BHtHtgKgy?HCHb2VP*6Y#Q;xG1R)on(ZP6^uN69yBC1V7Snn;~FPO_&=|4vX<&zxw})NTj;(H%ReaIH=e za)q+!vcc~99wFIDsg2TR7$RzkXEN5g$w}gZ@|&LoQpeWapEFQGhi|W@rH~r+5vA+R zI}}d;qWuDL!9bRACFZCT$;_JF`CT0UCHl!T%%LF-FTn}gT{05+lngLHU<->9z#9?# zd)4E3uTkegv1M$MuR91WZ%Ph?h?yoM6_~7x1|a>3FpD}b)6(%O(R%*xz@knM^F|K= z<;EZ+9$+-lF5{n?3mMGFaeN+@62NfzD^S(cFqt11Sq+4Q>3^1ip&lv>LAytYN?C3B z!uQ|T1giy|*&Mb{F{jHh2a=@1M)G&{5S)Ig&9&%b_Hl}wD$$Jb7GhF*0ASp$rpcJ^L>~kFGJupNGOU0%L7N<0_*1Hq0DFc!8|XPYTg- z(N%~+>2mP;7Uk1DkDvOx%f%ehY;f_-^bShLaHQN5-0HfjciHBm4Smiyfju#6+7DpSF0Mb!FIRSg!;VH-yU! zl~>-!o;xW8&j*JE^;BNFHSx_kB8*()e*k}DC#7v_IgvV6m-AQH(^uzS8K8D6}kAp$@bR)F~PhRB3obbB_{QwlN;(gXqY2KKIb$ZF1Ti<8#cnxI7F-!N zL;V`*D<5J3o7&6p)gv=nk?p6>rL-x(rMr);9u!-hy@wS&mF6g%*eEtMBMLIZq3=_EN6Jm5(t?yhheDGKWs`74e49EX^hpN) zB-CtRA+UM}tukgzboUa*FDg_rq$Qr#JB#UV2u8@8FC_UU(`C0-vkTGD{;)oF#dg{^rQdx9xg?vb z$n8EBZj9)CKM^*ypM19^gyGGah0eYL7h^n~S4EuodHGPL(Hv~OX_!Q%iB-+_XxcFh z#6t(&RZ$j7Y`<^?1g?cv=;ZYavtbl_7y-PAv8hNJwpFNI^Kw&#Rb#J3?*O++J3%c3 zpb=aUW(Nh~0t|L*Be=Kw*OlN2{G7*7N`HX&3gs#&5@WDVpIF9C3bp4H9t1+kAen{{ zE!6uXI!ytdVqv9?5hftMVkP1Q&I3b)G6p|(#m$ZOmr)zXoiU#bJ_kd26v1OINF2_~)n~gpa<5wUdcHN`p5y?uV78?wW=g*WFg%8{?1Mn+%OpsN>y@4M~ zam&ek=SbpCT^5>ODiX)#+17xVXmxfm#?YFA7O0S*p{rdAa0!v6|zK zQ^%10%iOLOB5sH9PX*Si#(E3n^RO6h;Ahw~n;JP8lNUF=VBIg~R7C?U65G<79r4v5hV^EdN!fUjC<)k9RT}1%nR@w*{ z+LXO4(iYAm?lkj}VRo-l;J-e!5XB&yZ<3*&>tKOa+WtDU;dhEdw@zdUYQ-{3@dnl* z0oxxb>@71|UEjbMYT8P#RLm06@;cH_gYNia47^(Vs^>ovc@dXhNYv9_P+ZMbDi85u^-jee zu7d{UxI-!p{$e6c!*bUov?z(gjwE_TS=-TmVHI1{syrSA$pNLVK_3|0$=6C(Gg6cj z;%Nq0p91L8de1eUu1g2{V%5)j?cv4swd$Y)u&9|1UOr?vfHT~(evx@aK3skk*wFT& zke{SI$*0<=Ul0L7e-pv%P%0;~jdMbjwi~oz43QNQ*YWc1OsFI3Rx7Fxems;Q>v6%L zW-6b|RXU{N_@~7j)q*E|AVG!qm0DVKB)o^h$N}D#>~^%snYGGlfDc6l=67g-h;^bA zloLrLUt6xtiBe|_RhH-hUes{LGLgxA^2e3Ysihko`e{Z_dimy%ZM&_2wn(Sw$^QKq0F-dvc|YDG z2c{oonaQ2aFlF?-A_T4w21F}kt^nHRj{U58X$$CqwiPT=rlSW%CDb5$Ez03y^x_bS zQ(JC`a!b6k+{3YasWGf4e!T~?i}sV#!HD1^1U*FdjMD4|y{33^jgEK~5%7^9;t+Aj2)KQq&lBdCME~-BNBX|qi zan4h(r12uOi@cE64@wwA`5X6@2Ylw=Ep6UL@uM&3BCmPW0{xV`1TP2HDp-K?FA zA45A6RF#v#k`bPO@Tn>1DZS}cB#$3-pA{yo0^`b!g?nZyk($Mr$%C}ithLlsxMWu# zW@L$5Y^ZqrX#?k0Hk6?MaC9 zh0+-~g!EH)9|a*UVGDD>8UW|`a&de%7B}7&)_duJu1sZ9uKwNGj0J>B(yywSUKdTF zi{Fec0%T0aV*s@w))(@Lz~X>4p%`cBSSI&}6dc8@dQb^`;X1uqDiOa-9rUYRDPP>z zMi+8mFxn-ba<#tCu)oxEQEC3qxGZC=z{2M$gbgT|>@KXh^W0C36IsMfyx+|={s5df z!m;{B4~iMC5aXYek{9m&=?oyB&&6i5$~F;NLe3?PO|jj2HY?lUvJKm2FB&B2w~0c$ z^Jt#};o??kl3+=NDpznz+p z8i-1Qeo;R96gldycoTI)94LDve`p-<^Xf=}UaJ7K*3SXn`X1Mdtzo)zYXJqY4QX5p z_t-8fcKmykdaK+kkIm+_LQXDy_DJ)JK8~55^1cUsmfq+O>|zX)FRXH!`cq6gO!b zfj8k=^CedU2MZO#alnyG9N(Yk-#DQFhb?sI_53+-9477Rwa-sB%{2`uA~4MHrBOE3 z3_0|Mc6jgS+WlSQ%JWBpdw2{S7ewyg<@KT|YZowcwxmU;lRYsS@wylpn6B?F%ez_7ixMG$wwx`IJr}UtuHYf6Oe zlom_d53=*X$`?0uhJVAtnV*VhwDWKMfsw3_e6emZN{69Bh38W8nlvC_>gada<@*jC zWJMiFshn&?xA*Q>B={*Eu7Fo~v=33R8(J&FVGjCgTBVef0}axfE`^ylR9mqnHo7f^77jdiyci3!mmDWCtJ63ZXje?s8m<&`uzJJOXajJC3_VRguAY{ z0=*E#s)*eU0+#s=0;BU8!H_RWJe;*)`ff~w!@yCNH3X_?(1~AnXwfcMf4FLF$Nsc2 zv%Q?<_mYPg8z{wD@$ZMv8Dm#OSY&fIbr85*6D`B}dM^o0=(wl$r`lWtk)ez20ieib z1Q8^GZ%vZqb(CpcculYEf0*DQ5N+c$Zj8q&o#f>jO{K1Lixgvnbo}&R27Op=AZjbE z!lUEyT}t1adA(9vYRWg$fNge%1US?5p*KVrPFhZZchQd}DsVCmVGC>tIpn^dQgWc{ z^MC^bg;yJ5q!t(F$)zCevN;`tP}XHZca1+|Wb$%bF0d|z83nLbm8&gej1A4dIKrZ; zeSDhWK)-o6;m4>qZZE)ZCA#yP$gW#<-$5Cqw5>S}y(GW1i0qfiN5f9bi5u4*5R_}R z0fME1T1=0qeDkW(fZC43-nyp31r(ZaLucu)d&sQ?4q3Ja#ddnQxq1V6o!I5Zl1p5I z^BXEK+`d!0*e@aAQh1vBu9l=UdU?vma!mxvFx4o+fS&KmSNswkjp$mialJqK>Hz1$ z8N>aV;grVBO{W%Eazi~xS6>K_k=wu4LS8TF229_VeaM>`fCP$haHSTgfGhze=rh(P zcH>x}UAU{D-yY>Kew z|4v$TlghuP*BB{PXv%}K=Yn`Bf7wtrddYG7oVwWO3*Z*VkvWVZ#gUpnb;}Msj+I~CK#kc{i0eKUSGkSZ??MQKYpsG=tHX9_5;~5|TuZ207vv*K7llS=4dp zt~O5rc|<)%{vF+nZdR$E`Q9X@Kexl8E_O>14|Gl&05AcVB9M6dib+`J&tw2{IJh2i8D`9UiAfvePiBIqPk;r^>IGLC zLw5f_TsnOR1+V(yPVz1`Ob7ii;J6@OhuMr7Gs9`4cAj>d6SR4Z|K&b(ueX9CWi@(E zCEY&*(xzC?oDHfAxS(O4DStaB%8T@GGS~V*{}n9sa+9VV$LjrMX4=;_C***T-n9k_00K2GI8vXpN(2cBM^ugQQZ*rSR zsbVA8=p$i1QwAbUY>3zk35Cg@z+VDDRD?QhYE}7zO0~ARmY!Ue(FaNipxba{vqs(6TUlq@EXu^oty7oq+T*z3fg77_lQ8#wW?=VupeV5Z#Zx z;7VUJE}`N_NjPy-kfKYxJA?BgcRd=upHSTsdM$<+dZ)M2*_jMvYcr3reYZru9>IoM(fGgJ#v6TQK zfZG9{B<>=0I(X|cpM1eq@sYkUkmUfOXba}*)0IV^76leIjGz_;Asjy-Vn6TbuM=Tz z$R#%AJU4BW0cnkiv;Yo<-m5amxhpjk8cYN0OznXSw76E900rbx6dHugVVzt6(03t& zoK4hV52CBVqSi7 zR$L-5s(olkPp~Pq@Npux`GR@b^2>Q)FTI!4tIl8RgfCYY+@i}m7C$fsL0H8VmAc$QFB74dpW@ zP!w^n7Q<~<6>5quQBJu!<~9hvj{-iQ8A<^6lK;e+M`4cK0z*W^I6-EshPYw^BV3#4!t!Q!^(`l)&!+GOk}yO~0&cY4 z6i>)qf>I2alrWAm!qb!)L+IC)B}d?p0w5#A{B$rXOA;MWu6!yYqM8pQ5!I%yhyzUE zupCYhhiE0EM>b`0bRpfp66Ns(q1=LM?Xcob*{<1DMM2J*NdOvyKrBE7z+>ZBijwnG zlUnrnFwUo?!ndrCpodg^4-=sq%T5i0w5%i-5yrP&TD+R}h`HDMu?afz>22O)<0T=uL6z$QZV!u z#t>LN9Iyj7fB+3zr@Wtqv6)v@hP|>75M@@` zOGp&`Eq>I+;${>2rW%GG z@2TXAxC7Bd0)6FB608{Lzz1UWo+Sk=(jgR6QQY?bI$(~80Oa59dS;u6D*dCAPQrbU-J z4%HW616Aw7Lm({>=E-Yyv5hLnb)O;3K^Y;td)I}<$XrfJU6|QLBT%7D^B>R961bpF zy=qlC8Uxn|@IqFjXQ#WGeK$7Kosc1@)I(t&IdNV+Afs3%dCNaMey$P85Q0tP4#KpNCHh8;c)1CCS;3~9iR)(N;!S}@J!0Z$ zC(`zcr2wX6T|uk{@z3E#rr$ndIw}Ch000+_!hDZqefiOxo5U5e} z;9DWS4S3T8;4-EBG!cuKkeRtwJOFmgm+fppzX4Qh@lHRBD@JCnpAHrV|KSGu1ZsyJ zV|wRuNq#F0|PX2mk?T(IG!7Qj8*g3qtiHnOD7V4cogZen0N`XwTA7^lnu zS-Xr}bR%qz#=Z;>DFj_K1{W>?f0g!p!OWEH#F8wUdp}%~Ih^W=rjfIe79yb2ntC*iM0_RFwFq_naRt3uji zZ(=-=l2pS1{d|;RFePn6wulM>sefHyYVa z@VfBK6(^tWr!5oa@~MfpV?x?Q1!#&07m!Z6t|RYYyVnAQY}5qhq?T8exKdX@JG%@d zJcO-5K6332eSCtzbnqtO2VBlqB(iofC=vyy>WihKdUqV006>pp=1C6 literal 0 HcmV?d00001 diff --git a/src/AuthContext.tsx b/src/AuthContext.tsx index 0f7fd165e..bab3694d2 100644 --- a/src/AuthContext.tsx +++ b/src/AuthContext.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import { ReactNode, createContext, useCallback, useContext } from 'react'; import { getCurrentAccountLang } from '@graasp/sdk'; import { DEFAULT_LANG } from '@graasp/translations'; @@ -11,14 +11,14 @@ type LoginInput = { captcha: string; url?: string; }; - +export type AuthenticatedMember = { + name: string; + id: string; + lang: string; +}; type AuthContextLoggedMember = { isAuthenticated: true; - user: { - name: string; - id: string; - lang: string; - }; + user: AuthenticatedMember; logout: () => Promise; login: null; }; @@ -33,23 +33,23 @@ type AuthContextSignedOut = { */ export type AuthContextType = AuthContextLoggedMember | AuthContextSignedOut; -const AuthContext = React.createContext(null); +const AuthContext = createContext(null); export function AuthProvider({ children, }: { - children: React.ReactNode; -}): React.JSX.Element { + children: ReactNode; +}): JSX.Element { const { data: currentMember, isPending } = hooks.useCurrentMember(); const useLogin = mutations.useSignIn(); const useLogout = mutations.useSignOut(); - const logout = React.useCallback(async () => { + const logout = useCallback(async () => { await useLogout.mutateAsync(); }, [useLogout]); - const login = React.useCallback( + const login = useCallback( async (args: LoginInput) => { await useLogin.mutateAsync(args); }, @@ -81,7 +81,7 @@ export function AuthProvider({ * Auth context accessible via the router to know if the user is logged in */ export function useAuth(): AuthContextType { - const context = React.useContext(AuthContext); + const context = useContext(AuthContext); if (!context) { throw new Error('useAuth must be used within an AuthProvider'); } diff --git a/src/components/ConstructionTruck.tsx b/src/components/ConstructionTruck.tsx new file mode 100644 index 000000000..28055766d --- /dev/null +++ b/src/components/ConstructionTruck.tsx @@ -0,0 +1,291 @@ +import { useState } from 'react'; + +import { Box, styled } from '@mui/material'; + +const MovingBox = styled(Box)({ + // animation: 'shake 500ms linear, move 40s linear infinite', + animation: 'move 40s linear infinite', + position: 'fixed', + bottom: '0px', + right: '-100px', + '@keyframes move': { + from: { + transform: 'translate(0,0)', + }, + to: { + transform: 'translate(calc(-100vw - 100px), 0)', + }, + }, + // stop the animation on hover + '&:hover': { + animationPlayState: 'paused', + }, +}); + +const ShakingBox = styled(Box)({ + animation: 'shake 50ms linear infinite', + '@keyframes shake': { + '0%': { transform: 'rotate(0deg) translate(0,0)' }, + '25%': { transform: 'rotate(1deg) translate(0,0)' }, + '50%': { transform: 'rotate(0deg) translate(0,1px)' }, + '75%': { transform: 'rotate(-1deg) translate(0,0)' }, + '100%': { transform: 'rotate(0deg) translate(0,0)' }, + }, +}); + +export function ConstructionAnimation(): JSX.Element | null { + const [working, setWorking] = useState(true); + + if (working) { + return ( + { + setWorking(false); + }} + > + + + + + ); + } + + return null; +} + +type ConstructionTruckProps = { + size: number; +}; +export function ConstructionTruck({ + size, +}: ConstructionTruckProps): JSX.Element { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/src/components/WorkInProgress.tsx b/src/components/WorkInProgress.tsx new file mode 100644 index 000000000..84d9c3960 --- /dev/null +++ b/src/components/WorkInProgress.tsx @@ -0,0 +1,57 @@ +import { useTranslation } from 'react-i18next'; + +import { Button, Stack, Typography } from '@mui/material'; + +import { useButtonColor } from '@graasp/ui'; + +import { ArrowLeftIcon, ConstructionIcon, HomeIcon } from 'lucide-react'; + +import { NS } from '@/config/constants'; + +import { ConstructionAnimation } from './ConstructionTruck'; +import { ButtonLink } from './ui/ButtonLink'; + +function ActionButtons(): JSX.Element { + const { t } = useTranslation(NS.Common); + return ( + + + {t('CONJONCTION.OR')} + }> + {t('HOME.BUTTON_TEXT')} + + + ); +} + +export function WorkInProgress(): JSX.Element { + const { t } = useTranslation(NS.Common); + const { color } = useButtonColor('warning'); + return ( + + + + + {t('CONSTRUCTION.TITLE')} + + {t('CONSTRUCTION.DESCRIPTION')} + + + + + + + ); +} diff --git a/src/components/header/LeftHeaderWrapper.tsx b/src/components/header/LeftHeaderWrapper.tsx deleted file mode 100644 index 16a809967..000000000 --- a/src/components/header/LeftHeaderWrapper.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { useTranslation } from 'react-i18next'; - -import { Button, Stack } from '@mui/material'; - -import { buildSignInPath } from '@graasp/sdk'; -import { Avatar } from '@graasp/ui'; - -import { Link } from '@tanstack/react-router'; - -import { useAuth } from '@/AuthContext'; -import { NS } from '@/config/constants'; -import { GRAASP_AUTH_HOST } from '@/config/env'; -import { mutations } from '@/config/queryClient'; - -import LanguageSwitch from '~account/common/LanguageSwitch'; - -export function LeftHeaderWrapper(): JSX.Element { - const { isAuthenticated, user, logout } = useAuth(); - const { t, i18n } = useTranslation(NS.Account); - const { mutate } = mutations.useEditCurrentMember(); - - const handleLanguageChange = (lang: string) => { - mutate({ extra: { lang } }); - i18n.changeLanguage(lang); - }; - if (isAuthenticated) { - return ( - - - - - ); - } - - return ( - - - - - - ); -} diff --git a/src/components/langs.ts b/src/components/langs.ts index 01a5ef4c0..021fac245 100644 --- a/src/components/langs.ts +++ b/src/components/langs.ts @@ -1,6 +1,7 @@ import { DEFAULT_LANG, langs } from '@graasp/translations'; import { Locale } from 'date-fns'; +import { ar } from 'date-fns/locale/ar'; import { de } from 'date-fns/locale/de'; import { enUS } from 'date-fns/locale/en-US'; import { es } from 'date-fns/locale/es'; @@ -13,6 +14,7 @@ const dateFnsLocales = { [langs.de]: de, [langs.it]: it, [langs.es]: es, + [langs.ar]: ar, }; export function getLocalForDateFns(i18nLocale: string): Locale { diff --git a/src/components/layout/BorderedSection.tsx b/src/components/layout/BorderedSection.tsx index ba8a09b1c..357447564 100644 --- a/src/components/layout/BorderedSection.tsx +++ b/src/components/layout/BorderedSection.tsx @@ -10,21 +10,21 @@ type BorderedSectionProps = { topActions?: ReactNode[]; children: ReactNode; }; -export const BorderedSection = ({ +export function BorderedSection({ id, title, topActions, children, -}: BorderedSectionProps): JSX.Element => ( - - - {title} - - {topActions} +}: BorderedSectionProps): JSX.Element { + return ( + + + {title} + + {topActions} + - - {children} - -); - -export default BorderedSection; + {children} + + ); +} diff --git a/src/components/ui/CustomLink.tsx b/src/components/ui/CustomLink.tsx new file mode 100644 index 000000000..64bc6c213 --- /dev/null +++ b/src/components/ui/CustomLink.tsx @@ -0,0 +1,22 @@ +import React from 'react'; + +import { Link, LinkProps } from '@mui/material'; + +import { LinkComponent, createLink } from '@tanstack/react-router'; + +// eslint-disable-next-line @typescript-eslint/no-empty-object-type +interface MUILinkProps extends Omit { + // Add any additional props you want to pass to the button +} + +const MUILinkComponent = React.forwardRef( + (props, ref) => { + return ; + }, +); + +const CreatedLinkComponent = createLink(MUILinkComponent); + +export const CustomLink: LinkComponent = (props) => { + return ; +}; diff --git a/src/components/ui/images.tsx b/src/components/ui/images.tsx new file mode 100644 index 000000000..db175c6e0 --- /dev/null +++ b/src/components/ui/images.tsx @@ -0,0 +1,26 @@ +import { styled } from '@mui/material'; + +const baseIllustrationImageStyle = { + // needed so image does not bleed out + width: '100%', + objectFit: 'cover', + objectPosition: '50% 0', + + minHeight: '0px', + minWidth: '0px', +} as const; + +export const ZoomingImage = styled('img')(() => ({ + ...baseIllustrationImageStyle, + + // add a small zoom effect + transition: 'all cubic-bezier(.75,.1,.24,.94) 250ms', + transform: 'scale(1)', + '&:hover': { + transform: 'scale(1.05)', + }, +})); + +export const Image = styled('img')(() => ({ + ...baseIllustrationImageStyle, +})); diff --git a/src/config/constants.ts b/src/config/constants.ts index f020dc6fb..6bc934dff 100644 --- a/src/config/constants.ts +++ b/src/config/constants.ts @@ -19,6 +19,7 @@ export const TWITTER_DOMAIN = 'twitter'; export const NS = { Account: 'account', + Landing: 'landing', Messages: 'messages', Common: 'common', Enums: 'enums', diff --git a/src/config/paths.ts b/src/config/paths.ts index 1372b8227..54c75212e 100644 --- a/src/config/paths.ts +++ b/src/config/paths.ts @@ -1,6 +1,6 @@ export const LANDING_PAGE_PATH = '/' as const; -export const LOGIN_PAGE_PATH = '/login' as const; +export const LOGIN_PAGE_PATH = '/auth/login' as const; export const ACCOUNT_HOME_PATH = '/account' as const; export const ACCOUNT_STORAGE_PATH = '/account/storage' as const; diff --git a/src/main.tsx b/src/main.tsx index 0765a7fd9..fcf4c315c 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -115,7 +115,6 @@ function TranslationWrapper({ children }: { children: ReactNode }) { i18n.changeLanguage(lang); console.debug(lang); }, - // eslint-disable-next-line react-hooks/exhaustive-deps [currentMember], ); diff --git a/src/modules/account/PageWrapper.tsx b/src/modules/account/PageWrapper.tsx index 0a6a9401f..1a5150449 100644 --- a/src/modules/account/PageWrapper.tsx +++ b/src/modules/account/PageWrapper.tsx @@ -1,7 +1,6 @@ import { ReactNode } from 'react'; import { useTranslation } from 'react-i18next'; -import PersonIcon from '@mui/icons-material/Person'; import { styled, useTheme } from '@mui/material'; import { Context } from '@graasp/sdk'; @@ -15,6 +14,7 @@ import { } from '@graasp/ui'; import { Link } from '@tanstack/react-router'; +import { UserRoundIcon } from 'lucide-react'; import { NS } from '@/config/constants'; import { platformsHostsMap } from '@/config/hostMapper'; @@ -35,12 +35,15 @@ const LinkComponent = ({ children }: { children: ReactNode }): JSX.Element => ( ); const AccountIcon: PlatformSwitchProps['CustomMobileIcon'] = (props) => ( - + ); -const PageWrapper = ({ children }: { children: ReactNode }): JSX.Element => { +export function PageWrapper({ + children, +}: { + children: ReactNode; +}): JSX.Element { const { t } = useTranslation(NS.Account); - const theme = useTheme(); const { isMobile } = useMobileView(); const getNavigationEvents = usePlatformNavigation(platformsHostsMap); @@ -70,12 +73,8 @@ const PageWrapper = ({ children }: { children: ReactNode }): JSX.Element => { } headerRightContent={} @@ -83,5 +82,4 @@ const PageWrapper = ({ children }: { children: ReactNode }): JSX.Element => { {children} ); -}; -export default PageWrapper; +} diff --git a/src/modules/account/UserSwitchWrapper.tsx b/src/modules/account/UserSwitchWrapper.tsx index 2f0cdd95d..590297feb 100644 --- a/src/modules/account/UserSwitchWrapper.tsx +++ b/src/modules/account/UserSwitchWrapper.tsx @@ -2,11 +2,12 @@ import { useTranslation } from 'react-i18next'; import { UserSwitchWrapper as GraaspUserSwitch } from '@graasp/ui'; +import { useAuth } from '@/AuthContext'; import { NS } from '@/config/constants'; import { GRAASP_AUTH_HOST } from '@/config/env'; -import { ACCOUNT_HOME_PATH } from '@/config/paths'; -import { hooks, mutations } from '@/config/queryClient'; +import { ACCOUNT_HOME_PATH } from '../../config/paths'; +import { hooks, mutations } from '../../config/queryClient'; import MemberAvatar from './MemberAvatar'; import LanguageSwitch from './common/LanguageSwitch'; @@ -14,35 +15,40 @@ type Props = { ButtonContent?: JSX.Element; }; -const UserSwitchWrapper = ({ ButtonContent }: Props): JSX.Element => { +const UserSwitchWrapper = ({ ButtonContent }: Props): JSX.Element | null => { const { i18n } = useTranslation(NS.Account); + const { isAuthenticated, user, logout } = useAuth(); + const { data: member, isLoading } = hooks.useCurrentMember(); - const { mutateAsync: signOut } = mutations.useSignOut(); const { mutate } = mutations.useEditCurrentMember(); const handleLanguageChange = (lang: string) => { mutate({ extra: { lang } }); i18n.changeLanguage(lang); }; - return ( - <> - - - } - profilePath={ACCOUNT_HOME_PATH} - redirectPath={GRAASP_AUTH_HOST} - userMenuItems={[]} - /> - - ); + + if (isAuthenticated) { + return ( + <> + + + } + profilePath={ACCOUNT_HOME_PATH} + redirectPath={GRAASP_AUTH_HOST} + userMenuItems={[]} + /> + + ); + } + return null; }; export default UserSwitchWrapper; diff --git a/src/modules/account/common/MemberProfileItem.tsx b/src/modules/account/common/MemberProfileItem.tsx new file mode 100644 index 000000000..17cd85d56 --- /dev/null +++ b/src/modules/account/common/MemberProfileItem.tsx @@ -0,0 +1,25 @@ +import { ReactNode } from 'react'; + +import { Stack, Typography } from '@mui/material'; + +type Props = { + title: string; + content?: ReactNode; + contentId: string; +}; +export function MemberProfileItem({ + title, + content, + contentId, +}: Props): JSX.Element { + return ( + + + {title} + + + {content} + + + ); +} diff --git a/src/modules/account/settings/DeleteMemberDialogContent.tsx b/src/modules/account/settings/DeleteMemberDialogContent.tsx index 504c2207a..067d086a0 100644 --- a/src/modules/account/settings/DeleteMemberDialogContent.tsx +++ b/src/modules/account/settings/DeleteMemberDialogContent.tsx @@ -10,6 +10,7 @@ import DialogTitle from '@mui/material/DialogTitle'; import { Button } from '@graasp/ui'; import { NS } from '@/config/constants'; +import { mutations } from '@/config/queryClient'; import { DELETE_MEMBER_DIALOG_CONFIRMATION_BUTTON_ID, DELETE_MEMBER_DIALOG_CONFIRMATION_FIELD_ID, @@ -17,8 +18,6 @@ import { DELETE_MEMBER_DIALOG_TITLE_ID, } from '@/config/selectors'; -import { mutations } from '../../../config/queryClient'; - type Props = { readonly closeModal: () => void; }; diff --git a/src/modules/account/settings/DeleteMemberSection.tsx b/src/modules/account/settings/DeleteMemberSection.tsx index c7d99fd75..ce96c222f 100644 --- a/src/modules/account/settings/DeleteMemberSection.tsx +++ b/src/modules/account/settings/DeleteMemberSection.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next'; import { Button, Dialog, Stack, Typography } from '@mui/material'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import { NS } from '@/config/constants'; import { DELETE_MEMBER_BUTTON_ID, diff --git a/src/modules/account/settings/EmailPreferenceSwitch.tsx b/src/modules/account/settings/EmailPreferenceSwitch.tsx index 9a33f2d47..fa1bbc800 100644 --- a/src/modules/account/settings/EmailPreferenceSwitch.tsx +++ b/src/modules/account/settings/EmailPreferenceSwitch.tsx @@ -5,7 +5,7 @@ import { SelectChangeEvent } from '@mui/material'; import { CompleteMember, EmailFrequency } from '@graasp/sdk'; import { Select } from '@graasp/ui'; -import { NS, emailFrequency } from '../../../config/constants'; +import { NS, emailFrequency } from '@/config/constants'; type EmailPreferenceSwitchProps = { id?: string; @@ -13,11 +13,11 @@ type EmailPreferenceSwitchProps = { onChange: (newEmailFreq: `${EmailFrequency}`) => void; }; -const EmailPreferenceSwitch = ({ +export function EmailPreferenceSwitch({ id, emailFreq, onChange, -}: EmailPreferenceSwitchProps): JSX.Element => { +}: EmailPreferenceSwitchProps): JSX.Element { const { t } = useTranslation(NS.Account); const handleChange = (event: SelectChangeEvent) => { @@ -42,6 +42,4 @@ const EmailPreferenceSwitch = ({ }))} /> ); -}; - -export default EmailPreferenceSwitch; +} diff --git a/src/modules/account/settings/ExportData.tsx b/src/modules/account/settings/ExportData.tsx index 6b0fec88c..40cc0e1ed 100644 --- a/src/modules/account/settings/ExportData.tsx +++ b/src/modules/account/settings/ExportData.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next'; import { Button, Stack, Typography } from '@mui/material'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import { NS } from '@/config/constants'; import { mutations } from '@/config/queryClient'; import { EXPORT_DATA_BUTTON_ID } from '@/config/selectors'; diff --git a/src/modules/account/settings/password/CreatePassword.tsx b/src/modules/account/settings/password/CreatePassword.tsx index 5a5b203fc..06cc670f0 100644 --- a/src/modules/account/settings/password/CreatePassword.tsx +++ b/src/modules/account/settings/password/CreatePassword.tsx @@ -10,7 +10,7 @@ import { FAILURE_MESSAGES } from '@graasp/translations'; import axios from 'axios'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import { NS } from '@/config/constants'; import { mutations } from '@/config/queryClient'; import { @@ -31,11 +31,10 @@ type Inputs = { confirmNewPassword: string; }; -export const getValidationMessage = ( - fieldError?: FieldError, -): string | undefined => { +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +export const getValidationMessage = (fieldError?: FieldError) => { if (fieldError?.type === 'required') { - return 'REQUIRED_FIELD_ERROR'; + return 'REQUIRED_FIELD_ERROR' as const; } return fieldError?.message; }; diff --git a/src/modules/account/settings/password/EditPassword.tsx b/src/modules/account/settings/password/EditPassword.tsx index 67b237036..5ed72e17a 100644 --- a/src/modules/account/settings/password/EditPassword.tsx +++ b/src/modules/account/settings/password/EditPassword.tsx @@ -10,7 +10,7 @@ import { FAILURE_MESSAGES } from '@graasp/translations'; import axios from 'axios'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import { NS } from '@/config/constants'; import { mutations } from '@/config/queryClient'; import { @@ -113,9 +113,10 @@ const EditPassword = ({ onClose }: EditPasswordProps): JSX.Element => { label={t('PASSWORD_SETTINGS_CURRENT_LABEL')} error={Boolean(currentPasswordErrorMessage)} helperText={ + currentPasswordErrorMessage && // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - currentPasswordErrorMessage && t(currentPasswordErrorMessage) + //@ts-expect-error + t(currentPasswordErrorMessage) } form={register('currentPassword', { required: true, diff --git a/src/modules/account/settings/password/Password.tsx b/src/modules/account/settings/password/Password.tsx index c0d3c725a..1cccdcc4b 100644 --- a/src/modules/account/settings/password/Password.tsx +++ b/src/modules/account/settings/password/Password.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next'; import { Alert, Button, Skeleton, Typography } from '@mui/material'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import { NS } from '@/config/constants'; import { hooks } from '@/config/queryClient'; import { @@ -18,6 +18,7 @@ import EditPassword from './EditPassword'; export function Password(): JSX.Element { const { t } = useTranslation(NS.Account); const { t: translateCommon } = useTranslation(NS.Common); + const [isEditing, setIsEditing] = useState(false); const { data: passwordStatus, isPending: isPasswordStatusPending } = hooks.usePasswordStatus(); diff --git a/src/modules/account/settings/preferences/EditPreferences.tsx b/src/modules/account/settings/preferences/EditPreferences.tsx index 91104b586..3faf667ed 100644 --- a/src/modules/account/settings/preferences/EditPreferences.tsx +++ b/src/modules/account/settings/preferences/EditPreferences.tsx @@ -6,7 +6,7 @@ import { Button, Stack, Switch, Tooltip } from '@mui/material'; import { CompleteMember } from '@graasp/sdk'; import { DEFAULT_LANG } from '@graasp/translations'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import FormProperty from '@/components/layout/FormProperty'; import { DEFAULT_EMAIL_FREQUENCY, NS } from '@/config/constants'; import { mutations } from '@/config/queryClient'; @@ -20,7 +20,8 @@ import { } from '@/config/selectors'; import LanguageSwitch from '~account/common/LanguageSwitch'; -import EmailPreferenceSwitch from '~account/settings/EmailPreferenceSwitch'; + +import { EmailPreferenceSwitch } from '../EmailPreferenceSwitch'; type EditPreferencesProp = { readonly member: CompleteMember; diff --git a/src/modules/account/settings/preferences/Preferences.tsx b/src/modules/account/settings/preferences/Preferences.tsx index 1135da9c8..a190d17be 100644 --- a/src/modules/account/settings/preferences/Preferences.tsx +++ b/src/modules/account/settings/preferences/Preferences.tsx @@ -6,7 +6,7 @@ import { Button } from '@mui/material'; import { AccountType } from '@graasp/sdk'; import { DEFAULT_LANG, langs } from '@graasp/translations'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import { NS } from '@/config/constants'; import { hooks } from '@/config/queryClient'; import { @@ -24,6 +24,7 @@ export const Preferences = (): JSX.Element | null => { const { data: member } = hooks.useCurrentMember(); const { t } = useTranslation(NS.Account); + const [isEditing, setIsEditing] = useState(false); // in case there is no member or they are not of the individual type, we render nothing diff --git a/src/modules/account/settings/profile/EditPersonalInformation.tsx b/src/modules/account/settings/profile/EditPersonalInformation.tsx index defce5f93..784adcbc2 100644 --- a/src/modules/account/settings/profile/EditPersonalInformation.tsx +++ b/src/modules/account/settings/profile/EditPersonalInformation.tsx @@ -10,7 +10,7 @@ import { MemberConstants, } from '@graasp/sdk'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import FormProperty from '@/components/layout/FormProperty'; import { NS } from '@/config/constants'; import { mutations } from '@/config/queryClient'; diff --git a/src/modules/account/settings/profile/PersonalInformation.tsx b/src/modules/account/settings/profile/PersonalInformation.tsx index 6acd9d9cc..58977425c 100644 --- a/src/modules/account/settings/profile/PersonalInformation.tsx +++ b/src/modules/account/settings/profile/PersonalInformation.tsx @@ -5,7 +5,7 @@ import { Alert, AlertTitle, Button } from '@mui/material'; import { AccountType } from '@graasp/sdk'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import { NS } from '@/config/constants'; import { hooks } from '@/config/queryClient'; import { diff --git a/src/modules/account/settings/public/EditPublicProfile.tsx b/src/modules/account/settings/public/EditPublicProfile.tsx index d9ee63906..2e176c410 100644 --- a/src/modules/account/settings/public/EditPublicProfile.tsx +++ b/src/modules/account/settings/public/EditPublicProfile.tsx @@ -15,7 +15,7 @@ import { import { Config, SocialLinks } from 'social-links'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import { FACEBOOK_DOMAIN, LINKEDIN_DOMAIN, diff --git a/src/modules/account/settings/public/PublicProfile.tsx b/src/modules/account/settings/public/PublicProfile.tsx index f56bae01a..89155bda0 100644 --- a/src/modules/account/settings/public/PublicProfile.tsx +++ b/src/modules/account/settings/public/PublicProfile.tsx @@ -8,7 +8,7 @@ import { Button, Typography } from '@mui/material'; import SocialLinks from 'social-links'; -import BorderedSection from '@/components/layout/BorderedSection'; +import { BorderedSection } from '@/components/layout/BorderedSection'; import { NS } from '@/config/constants'; import { hooks } from '@/config/queryClient'; import { diff --git a/src/modules/landing/footer/Footer.tsx b/src/modules/landing/footer/Footer.tsx new file mode 100644 index 000000000..17f52b89b --- /dev/null +++ b/src/modules/landing/footer/Footer.tsx @@ -0,0 +1,156 @@ +import { useTranslation } from 'react-i18next'; + +import { Stack, Typography } from '@mui/material'; + +import { PRIMARY_COLOR } from '@graasp/ui'; + +import { NS } from '@/config/constants'; + +import { FooterSection } from './FooterSection'; +import { + FacebookIcon, + GithubIcon, + InstagramIcon, + LinkedInIcon, + MastodonIcon, + TwitterIcon, +} from './icons'; +import { ExternalLink, InternalLink, SocialLink } from './links'; + +const partnerLinks = [ + { + title: 'EPFL', + href: 'https://epfl.ch', + }, + { + title: 'Swiss EdTech Collider', + href: 'https://edtech-collider.ch', + }, + { + title: 'Go-Lab', + href: 'https://www.golabz.eu', + }, + { + title: 'Swiss Digital Skills Academy', + href: 'https://d-skills.ch/', + }, + { + title: 'iHub4Schools', + href: 'https://www.ihub4schools.eu/', + }, + { + title: 'BeLEARN', + href: 'https://belearn.swiss/en/', + }, + { + title: 'GO-GA', + href: 'https://go-ga.org/', + }, +]; + +const socialLinks = [ + { + title: 'Facebook', + href: 'https://www.facebook.com/graasp', + Icon: FacebookIcon, + }, + { + title: 'Twitter', + href: 'https://twitter.com/graasp', + Icon: TwitterIcon, + }, + { + title: 'Instragram', + // TODO: this link needs to be updated + href: 'https://www.facebook.com/graasp', + Icon: InstagramIcon, + }, + { + title: 'LinkedIn', + href: 'https://www.linkedin.com/company/graasp', + Icon: LinkedInIcon, + }, + { + title: 'Github', + href: 'https://github.com/graasp', + Icon: GithubIcon, + }, + { + title: 'Mastodon', + href: 'https://tooting.ch/@graasp', + Icon: MastodonIcon, + }, +]; + +const internalLinkActiveProp = () => ({ sx: { textDecoration: 'underline' } }); + +export function Footer(): JSX.Element { + const { t } = useTranslation(NS.Landing); + return ( + + + + {t('FOOTER.TAG_LINE')} + + + + + {t('FOOTER.CONTENT.HOME')} + + + {t('FOOTER.CONTENT.FEATURES')} + + + {t('FOOTER.CONTENT.ABOUT_US')} + + + {t('FOOTER.CONTENT.SUPPORT')} + + + {t('FOOTER.CONTENT.CONTACT_US')} + + + + + {partnerLinks.map(({ href, title }) => ( + + {title} + + ))} + + + + {socialLinks.map(({ href, Icon, title }) => ( + }> + {title} + + ))} + + + + + {t('FOOTER.OTHER.TERMS')} + + + {t('FOOTER.OTHER.POLICY')} + + + {t('FOOTER.OTHER.DISCLAIMER')} + + + + + © Graasp 2014 - {new Date().getFullYear()} + + + + ); +} diff --git a/src/modules/landing/footer/FooterSection.tsx b/src/modules/landing/footer/FooterSection.tsx new file mode 100644 index 000000000..43c18289b --- /dev/null +++ b/src/modules/landing/footer/FooterSection.tsx @@ -0,0 +1,28 @@ +import { ReactNode } from 'react'; + +import { Stack, Typography } from '@mui/material'; + +type FooterSectionProps = { + name: string; + children: ReactNode; +}; +export function FooterSection({ + name, + children, +}: FooterSectionProps): JSX.Element { + return ( + + + {name} + + {children} + + ); +} diff --git a/src/modules/landing/footer/icons.tsx b/src/modules/landing/footer/icons.tsx new file mode 100644 index 000000000..e3b49b16e --- /dev/null +++ b/src/modules/landing/footer/icons.tsx @@ -0,0 +1,108 @@ +type Props = { size: number }; +export function FacebookIcon({ size }: Props): JSX.Element { + return ( + + + + ); +} + +export function GithubIcon({ size }: Props): JSX.Element { + return ( + + + + ); +} + +export function InstagramIcon({ size }: Props): JSX.Element { + return ( + + + + ); +} + +export function LinkedInIcon({ size }: Props): JSX.Element { + return ( + + + + ); +} + +export function MastodonIcon({ size }: Props): JSX.Element { + return ( + + + + ); +} + +export function TwitterIcon({ size }: Props): JSX.Element { + return ( + + + + ); +} diff --git a/src/modules/landing/footer/links.tsx b/src/modules/landing/footer/links.tsx new file mode 100644 index 000000000..b3384b3bc --- /dev/null +++ b/src/modules/landing/footer/links.tsx @@ -0,0 +1,85 @@ +import React, { ReactNode } from 'react'; + +import { Box, LinkProps, Link as MUILink, Stack, styled } from '@mui/material'; + +import { LinkComponent, createLink } from '@tanstack/react-router'; +import { ExternalLinkIcon } from 'lucide-react'; + +const StyledLink = styled(MUILink)(({ theme }) => ({ + borderRadius: theme.spacing(1), + padding: theme.spacing(1, 2), + backgroundColor: 'transparent', + transition: 'all linear 100ms', + color: 'inherit', + '&:hover': { + backgroundColor: 'rgb(0,0,0, 20%)', + }, +})); + +type ExternalLinkProps = { + href: string; + children: ReactNode; +}; + +export function ExternalLink({ + href, + children, +}: ExternalLinkProps): JSX.Element { + return ( + + + {children} + + + + + + ); +} + +type SocialLinkProps = { + href: string; + children: ReactNode; + icon: ReactNode; +}; +export function SocialLink({ + icon, + children, + href, +}: SocialLinkProps): JSX.Element { + return ( + + + {icon} + {children} + + + ); +} + +// eslint-disable-next-line @typescript-eslint/no-empty-object-type +interface MUILinkProps extends Omit { + // Add any additional props you want to pass to the button +} + +const MUILinkComponent = React.forwardRef( + (props, ref) => { + return ; + }, +); + +const CreatedLinkComponent = createLink(MUILinkComponent); + +export const InternalLink: LinkComponent = (props) => { + return ; +}; diff --git a/src/modules/landing/header/RightHeader.tsx b/src/modules/landing/header/RightHeader.tsx new file mode 100644 index 000000000..4ea187442 --- /dev/null +++ b/src/modules/landing/header/RightHeader.tsx @@ -0,0 +1,47 @@ +import { useTranslation } from 'react-i18next'; + +import { Stack } from '@mui/material'; + +import { useAuth } from '@/AuthContext'; +import { ButtonLink } from '@/components/ui/ButtonLink'; +import { NS } from '@/config/constants'; +import { mutations } from '@/config/queryClient'; + +import LanguageSwitch from '~account/common/LanguageSwitch'; + +import { UserAvatar } from './UserAvatar'; + +export function RightHeader(): JSX.Element { + const { isAuthenticated, user, logout } = useAuth(); + const { t, i18n } = useTranslation(NS.Common); + const { mutate } = mutations.useEditCurrentMember(); + + const handleLanguageChange = (lang: string) => { + mutate({ extra: { lang } }); + i18n.changeLanguage(lang); + }; + + if (isAuthenticated) { + return ( + + + + + ); + } + + return ( + + + + {t('LOG_IN.BUTTON_TEXT')} + + + {t('REGISTER.BUTTON_TEXT')} + + + ); +} diff --git a/src/modules/landing/header/UserAvatar.tsx b/src/modules/landing/header/UserAvatar.tsx new file mode 100644 index 000000000..e44e74ee2 --- /dev/null +++ b/src/modules/landing/header/UserAvatar.tsx @@ -0,0 +1,94 @@ +import { MouseEvent, useState } from 'react'; +import { useTranslation } from 'react-i18next'; + +import { + Avatar, + Divider, + IconButton, + ListItemIcon, + Menu, + MenuItem, + Stack, +} from '@mui/material'; + +import { ThumbnailSize } from '@graasp/sdk'; + +import { LogOutIcon, SettingsIcon } from 'lucide-react'; + +import { AuthenticatedMember } from '@/AuthContext'; +import { NS } from '@/config/constants'; +import { hooks } from '@/config/queryClient'; + +import { MenuItemLink } from './userMenu/MenuItemLink'; + +type UserAvatarProps = { + user: AuthenticatedMember; + logout: () => void; +}; +export function UserAvatar({ user, logout }: UserAvatarProps): JSX.Element { + const { t } = useTranslation(NS.Common); + const { data: avatarUrl } = hooks.useAvatarUrl({ + id: user.id, + size: ThumbnailSize.Small, + }); + + const [anchorEl, setAnchorEl] = useState(null); + const open = Boolean(anchorEl); + + const handleClick = (event: MouseEvent) => { + setAnchorEl(event.currentTarget); + }; + const handleClose = () => { + setAnchorEl(null); + }; + return ( + <> + + + +

+ + + + + + {user.name} + + + + + + + + {t('USER_MENU.SETTINGS')} + + + + + + + + {t('LOGOUT.BUTTON_TEXT')} + + + + ); +} diff --git a/src/modules/landing/header/userMenu/MenuItemLink.tsx b/src/modules/landing/header/userMenu/MenuItemLink.tsx new file mode 100644 index 000000000..e915894c0 --- /dev/null +++ b/src/modules/landing/header/userMenu/MenuItemLink.tsx @@ -0,0 +1,25 @@ +import React from 'react'; + +import { MenuItem, MenuItemProps } from '@mui/material'; + +import { LinkComponent, createLink } from '@tanstack/react-router'; + +// eslint-disable-next-line @typescript-eslint/no-empty-object-type +interface MUIMenuItemProps extends Omit { + // Add any additional props you want to pass to the menu item +} + +const MUIMenuItemComponent = React.forwardRef< + HTMLAnchorElement, + MUIMenuItemProps +>((props, ref) => { + return ; +}); + +const CreatedMenuItemComponent = createLink(MUIMenuItemComponent); + +export const MenuItemLink: LinkComponent = ( + props, +) => { + return ; +}; diff --git a/src/modules/landing/home/OurMissionSection.tsx b/src/modules/landing/home/OurMissionSection.tsx new file mode 100644 index 000000000..d1ea643e2 --- /dev/null +++ b/src/modules/landing/home/OurMissionSection.tsx @@ -0,0 +1,40 @@ +import { Trans, useTranslation } from 'react-i18next'; + +import { Button, Stack, Typography } from '@mui/material'; + +import { NS } from '@/config/constants'; + +export function OurMissionSection(): JSX.Element { + const { t } = useTranslation(NS.Landing); + return ( + + + + {t('HOME.MISSION.TITLE')} + + + + + + + + {t('HOME.MISSION.CALL_TO_ACTION_LABEL')} + + + + + + ); +} diff --git a/src/modules/landing/home/PlatformButton.tsx b/src/modules/landing/home/PlatformButton.tsx new file mode 100644 index 000000000..34f918e28 --- /dev/null +++ b/src/modules/landing/home/PlatformButton.tsx @@ -0,0 +1,129 @@ +import { useTranslation } from 'react-i18next'; + +import { + Button, + Grid2, + Stack, + Typography, + useMediaQuery, + useTheme, +} from '@mui/material'; + +import { + AccentColors, + AnalyticsIcon, + BuildIcon, + LibraryIcon, + Platform, + PlayIcon, +} from '@graasp/ui'; + +import { NS } from '@/config/constants'; +import { + GRAASP_ANALYTICS_HOST, + GRAASP_BUILDER_HOST, + GRAASP_LIBRARY_HOST, + GRAASP_PLAYER_HOST, +} from '@/config/env'; + +const PlatformProps = { + [Platform.Builder]: { + color: AccentColors.builder, + Icon: BuildIcon, + name: Platform.Builder, + href: GRAASP_BUILDER_HOST, + }, + [Platform.Player]: { + color: AccentColors.player, + Icon: PlayIcon, + name: Platform.Player, + href: GRAASP_PLAYER_HOST, + }, + [Platform.Library]: { + color: AccentColors.library, + Icon: LibraryIcon, + name: Platform.Library, + href: GRAASP_LIBRARY_HOST, + }, + [Platform.Analytics]: { + color: AccentColors.analytics, + Icon: AnalyticsIcon, + name: Platform.Analytics, + href: GRAASP_ANALYTICS_HOST, + }, +}; + +type PlatformButtonProps = { + platform: Platform; + direction: 'left' | 'right'; + buttonText: string; + description: string; + caption: string; +}; +export function PlatformButton({ + platform, + direction, + description, + caption, + buttonText, +}: PlatformButtonProps): JSX.Element { + const { t: translatePlatforms } = useTranslation(NS.Enums); + const { color, name, Icon, href } = PlatformProps[platform]; + const alignItems = { + xs: 'center', + lg: direction === 'left' ? 'flex-start' : 'end', + }; + const theme = useTheme(); + const isSmallScreen = useMediaQuery(theme.breakpoints.down('lg')); + const icon = ( + + ); + return ( + + + {isSmallScreen && icon} + {caption} + + {translatePlatforms(name)} + + + + {!isSmallScreen && icon} + + {description} + + + + + + ); +} diff --git a/src/modules/landing/home/PuzzleSection.tsx b/src/modules/landing/home/PuzzleSection.tsx new file mode 100644 index 000000000..fc8754cca --- /dev/null +++ b/src/modules/landing/home/PuzzleSection.tsx @@ -0,0 +1,90 @@ +import { useTranslation } from 'react-i18next'; + +import { Grid2, Stack, Typography } from '@mui/material'; + +import { Platform } from '@graasp/ui'; + +import { NS } from '@/config/constants'; + +import { PlatformButton } from './PlatformButton'; +import { BuilderPuzzle } from './icons/BuilderPuzzle'; + +export function PuzzleSection(): JSX.Element { + const { t } = useTranslation(NS.Landing); + return ( + + + + {t('HOME.PUZZLE.TITLE')} + + + + + + + + + + + + + + + + + ); +} diff --git a/src/modules/landing/home/TitleSection.tsx b/src/modules/landing/home/TitleSection.tsx new file mode 100644 index 000000000..f16c9a618 --- /dev/null +++ b/src/modules/landing/home/TitleSection.tsx @@ -0,0 +1,109 @@ +import { useTranslation } from 'react-i18next'; + +import { Button, Stack, Typography } from '@mui/material'; + +import { Image } from '@/components/ui/images'; +import { NS } from '@/config/constants'; +import { GRAASP_LIBRARY_HOST } from '@/config/env'; + +import { ButtonLink } from '../../../components/ui/ButtonLink'; +import { BeLEARN } from './icons/BeLEARN'; +import { EPFL } from './icons/EPFL'; +import { EdTech } from './icons/EdTech'; +import { GoLab } from './icons/GoLab'; +import { Unine } from './icons/Unine'; + +export function TitleSection(): JSX.Element { + const { t } = useTranslation(NS.Landing); + return ( + + + + cover + + + + + + {t('HOME.TITLE')} + + + {t('HOME.SUBTITLE')} + + + + {t('HOME.DESCRIPTION')} + + + + + + {t('HOME.REGISTER_CALL_TO_ACTION')} + + + + + + + {t('HOME.SUPPORTERS_LABEL')} + + + + + + + + {/* GOGA + IHUB4SCHOOL + UNCTAD */} + + + + + + ); +} diff --git a/src/modules/landing/home/UserStory.tsx b/src/modules/landing/home/UserStory.tsx new file mode 100644 index 000000000..c65bbf87e --- /dev/null +++ b/src/modules/landing/home/UserStory.tsx @@ -0,0 +1,102 @@ +import { ReactNode } from 'react'; + +import { Box, Stack, Typography, styled } from '@mui/material'; + +import { SECONDARY_COLOR } from '@graasp/ui'; + +import { ButtonLink } from '@/components/ui/ButtonLink'; + +const InvertingStack = styled(Stack)(({ theme }) => ({ + // common styles + alignItems: 'center', + // base style for "normal direction" + flexDirection: 'column', + maxWidth: '60ch', + '& img': { + maxWidth: '20rem', + }, + + // larger screens + [theme.breakpoints.up('md')]: { + '& img': { + maxWidth: 'unset', + }, + maxWidth: 'unset', + // space elements + justifyContent: 'space-between', + + // default should be row on large screen + flexDirection: 'row', + // text should flow in this direction + textAlign: 'right', + + // style the first children + '& > .MuiStack-root': { + alignItems: 'flex-end', + }, + + // override for "inverted" child + '&:nth-child(even)': { + // reverse the direction + flexDirection: 'row-reverse', + // invert text alignment + textAlign: 'left', + // style the first children + '& > .MuiStack-root': { + alignItems: 'flex-start', + }, + }, + }, +})); + +type UserStoryProps = { + caption: string; + title: string; + href: string; + buttonText: string; + children: ReactNode; + image: ReactNode; +}; +export function UserStory({ + caption, + title, + href, + buttonText, + children, + image, +}: UserStoryProps): JSX.Element { + return ( + + + {image} + + + + {caption} + + {title} + + + + {children} + + + {buttonText} + + + + ); +} diff --git a/src/modules/landing/home/UserStorySection.tsx b/src/modules/landing/home/UserStorySection.tsx new file mode 100644 index 000000000..c8d406539 --- /dev/null +++ b/src/modules/landing/home/UserStorySection.tsx @@ -0,0 +1,56 @@ +import { useTranslation } from 'react-i18next'; + +import { Stack, Typography } from '@mui/material'; + +import { Image } from '@/components/ui/images'; +import { NS } from '@/config/constants'; + +import { UserStory } from './UserStory'; + +export function UserStorySection(): JSX.Element { + const { t } = useTranslation(NS.Landing); + return ( + + Tra Nguyen on Unsplash`} + src="/illustration/teacher.webp" + /> + } + > + + {t('HOME.USER_STORY.TEACHER.USE_CASE_1')} +
+ {t('HOME.USER_STORY.TEACHER.USE_CASE_2')} +
+ {t('HOME.USER_STORY.TEACHER.USE_CASE_3')} +
+ + + } + > + + {t('HOME.USER_STORY.RESEARCHER.USE_CASE_1')} +
+ {t('HOME.USER_STORY.RESEARCHER.USE_CASE_2')} +
+ {t('HOME.USER_STORY.RESEARCHER.USE_CASE_3')} +
+
+ + ); +} diff --git a/src/modules/landing/home/icons/AppStoreIcon.tsx b/src/modules/landing/home/icons/AppStoreIcon.tsx new file mode 100644 index 000000000..ebe5ba92c --- /dev/null +++ b/src/modules/landing/home/icons/AppStoreIcon.tsx @@ -0,0 +1,28 @@ +export function AppStoreIcon(): JSX.Element { + return ( + + + + + + + + + + + ); +} diff --git a/src/modules/landing/home/icons/BeLEARN.tsx b/src/modules/landing/home/icons/BeLEARN.tsx new file mode 100644 index 000000000..345d07647 --- /dev/null +++ b/src/modules/landing/home/icons/BeLEARN.tsx @@ -0,0 +1,86 @@ +export function BeLEARN({ + width, + height, +}: { + width: string; + height: string; +}): JSX.Element { + return ( + + BeLEARN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/src/modules/landing/home/icons/BuilderPuzzle.tsx b/src/modules/landing/home/icons/BuilderPuzzle.tsx new file mode 100644 index 000000000..3bc9e3e59 --- /dev/null +++ b/src/modules/landing/home/icons/BuilderPuzzle.tsx @@ -0,0 +1,52 @@ +export function BuilderPuzzle(): JSX.Element { + return ( + + + + + + + + + + + + ); +} diff --git a/src/modules/landing/home/icons/EPFL.tsx b/src/modules/landing/home/icons/EPFL.tsx new file mode 100644 index 000000000..ee4f87238 --- /dev/null +++ b/src/modules/landing/home/icons/EPFL.tsx @@ -0,0 +1,46 @@ +export function EPFL({ + width, + height, +}: { + width: string; + height: string; +}): JSX.Element { + return ( + + + + + + + + + + + + + + ); +} diff --git a/src/modules/landing/home/icons/EdTech.tsx b/src/modules/landing/home/icons/EdTech.tsx new file mode 100644 index 000000000..06a54d61d --- /dev/null +++ b/src/modules/landing/home/icons/EdTech.tsx @@ -0,0 +1,59 @@ +export function EdTech({ + width, + height, +}: { + width: string; + height: string; +}): JSX.Element { + return ( + + ); +} diff --git a/src/modules/landing/home/icons/GoLab.tsx b/src/modules/landing/home/icons/GoLab.tsx new file mode 100644 index 000000000..02196a6cf --- /dev/null +++ b/src/modules/landing/home/icons/GoLab.tsx @@ -0,0 +1,25 @@ +export function GoLab({ + width, + height, +}: { + width: string; + height: string; +}): JSX.Element { + return ( + + + + + ); +} diff --git a/src/modules/landing/home/icons/PlayStoreIcon.tsx b/src/modules/landing/home/icons/PlayStoreIcon.tsx new file mode 100644 index 000000000..d279cec11 --- /dev/null +++ b/src/modules/landing/home/icons/PlayStoreIcon.tsx @@ -0,0 +1,40 @@ +export function PlayStoreIcon(): JSX.Element { + return ( + + + + + + + + + + + + + + ); +} diff --git a/src/modules/landing/home/icons/Unine.tsx b/src/modules/landing/home/icons/Unine.tsx new file mode 100644 index 000000000..92ec65b33 --- /dev/null +++ b/src/modules/landing/home/icons/Unine.tsx @@ -0,0 +1,164 @@ +export function Unine({ + width, + height, +}: { + width: string; + height: string; +}): JSX.Element { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/src/routeTree.gen.ts b/src/routeTree.gen.ts index 74664038d..b0af57eed 100644 --- a/src/routeTree.gen.ts +++ b/src/routeTree.gen.ts @@ -13,10 +13,18 @@ import { createFileRoute } from '@tanstack/react-router' // Import Routes import { Route as rootRoute } from './routes/__root' -import { Route as LoginImport } from './routes/login' +import { Route as TermsImport } from './routes/terms' +import { Route as SupportImport } from './routes/support' +import { Route as PolicyImport } from './routes/policy' +import { Route as FeaturesImport } from './routes/features' +import { Route as DisclaimerImport } from './routes/disclaimer' +import { Route as ContactUsImport } from './routes/contact-us' import { Route as AccountImport } from './routes/account' +import { Route as AboutUsImport } from './routes/about-us' import { Route as AccountIndexImport } from './routes/account/index' import { Route as EmailChangeImport } from './routes/email.change' +import { Route as AuthRegisterImport } from './routes/auth/register' +import { Route as AuthLoginImport } from './routes/auth/login' import { Route as AccountStorageImport } from './routes/account/storage' import { Route as AccountSettingsImport } from './routes/account/settings' @@ -26,11 +34,41 @@ const IndexLazyImport = createFileRoute('/')() // Create/Update Routes -const LoginRoute = LoginImport.update({ - id: '/login', - path: '/login', +const TermsRoute = TermsImport.update({ + id: '/terms', + path: '/terms', getParentRoute: () => rootRoute, -} as any).lazy(() => import('./routes/login.lazy').then((d) => d.Route)) +} as any) + +const SupportRoute = SupportImport.update({ + id: '/support', + path: '/support', + getParentRoute: () => rootRoute, +} as any) + +const PolicyRoute = PolicyImport.update({ + id: '/policy', + path: '/policy', + getParentRoute: () => rootRoute, +} as any) + +const FeaturesRoute = FeaturesImport.update({ + id: '/features', + path: '/features', + getParentRoute: () => rootRoute, +} as any) + +const DisclaimerRoute = DisclaimerImport.update({ + id: '/disclaimer', + path: '/disclaimer', + getParentRoute: () => rootRoute, +} as any) + +const ContactUsRoute = ContactUsImport.update({ + id: '/contact-us', + path: '/contact-us', + getParentRoute: () => rootRoute, +} as any) const AccountRoute = AccountImport.update({ id: '/account', @@ -38,6 +76,12 @@ const AccountRoute = AccountImport.update({ getParentRoute: () => rootRoute, } as any) +const AboutUsRoute = AboutUsImport.update({ + id: '/about-us', + path: '/about-us', + getParentRoute: () => rootRoute, +} as any) + const IndexLazyRoute = IndexLazyImport.update({ id: '/', path: '/', @@ -56,6 +100,18 @@ const EmailChangeRoute = EmailChangeImport.update({ getParentRoute: () => rootRoute, } as any) +const AuthRegisterRoute = AuthRegisterImport.update({ + id: '/auth/register', + path: '/auth/register', + getParentRoute: () => rootRoute, +} as any) + +const AuthLoginRoute = AuthLoginImport.update({ + id: '/auth/login', + path: '/auth/login', + getParentRoute: () => rootRoute, +} as any).lazy(() => import('./routes/auth/login.lazy').then((d) => d.Route)) + const AccountStorageRoute = AccountStorageImport.update({ id: '/storage', path: '/storage', @@ -79,6 +135,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof IndexLazyImport parentRoute: typeof rootRoute } + '/about-us': { + id: '/about-us' + path: '/about-us' + fullPath: '/about-us' + preLoaderRoute: typeof AboutUsImport + parentRoute: typeof rootRoute + } '/account': { id: '/account' path: '/account' @@ -86,11 +149,46 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AccountImport parentRoute: typeof rootRoute } - '/login': { - id: '/login' - path: '/login' - fullPath: '/login' - preLoaderRoute: typeof LoginImport + '/contact-us': { + id: '/contact-us' + path: '/contact-us' + fullPath: '/contact-us' + preLoaderRoute: typeof ContactUsImport + parentRoute: typeof rootRoute + } + '/disclaimer': { + id: '/disclaimer' + path: '/disclaimer' + fullPath: '/disclaimer' + preLoaderRoute: typeof DisclaimerImport + parentRoute: typeof rootRoute + } + '/features': { + id: '/features' + path: '/features' + fullPath: '/features' + preLoaderRoute: typeof FeaturesImport + parentRoute: typeof rootRoute + } + '/policy': { + id: '/policy' + path: '/policy' + fullPath: '/policy' + preLoaderRoute: typeof PolicyImport + parentRoute: typeof rootRoute + } + '/support': { + id: '/support' + path: '/support' + fullPath: '/support' + preLoaderRoute: typeof SupportImport + parentRoute: typeof rootRoute + } + '/terms': { + id: '/terms' + path: '/terms' + fullPath: '/terms' + preLoaderRoute: typeof TermsImport parentRoute: typeof rootRoute } '/account/settings': { @@ -107,6 +205,20 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AccountStorageImport parentRoute: typeof AccountImport } + '/auth/login': { + id: '/auth/login' + path: '/auth/login' + fullPath: '/auth/login' + preLoaderRoute: typeof AuthLoginImport + parentRoute: typeof rootRoute + } + '/auth/register': { + id: '/auth/register' + path: '/auth/register' + fullPath: '/auth/register' + preLoaderRoute: typeof AuthRegisterImport + parentRoute: typeof rootRoute + } '/email/change': { id: '/email/change' path: '/email/change' @@ -143,19 +255,35 @@ const AccountRouteWithChildren = export interface FileRoutesByFullPath { '/': typeof IndexLazyRoute + '/about-us': typeof AboutUsRoute '/account': typeof AccountRouteWithChildren - '/login': typeof LoginRoute + '/contact-us': typeof ContactUsRoute + '/disclaimer': typeof DisclaimerRoute + '/features': typeof FeaturesRoute + '/policy': typeof PolicyRoute + '/support': typeof SupportRoute + '/terms': typeof TermsRoute '/account/settings': typeof AccountSettingsRoute '/account/storage': typeof AccountStorageRoute + '/auth/login': typeof AuthLoginRoute + '/auth/register': typeof AuthRegisterRoute '/email/change': typeof EmailChangeRoute '/account/': typeof AccountIndexRoute } export interface FileRoutesByTo { '/': typeof IndexLazyRoute - '/login': typeof LoginRoute + '/about-us': typeof AboutUsRoute + '/contact-us': typeof ContactUsRoute + '/disclaimer': typeof DisclaimerRoute + '/features': typeof FeaturesRoute + '/policy': typeof PolicyRoute + '/support': typeof SupportRoute + '/terms': typeof TermsRoute '/account/settings': typeof AccountSettingsRoute '/account/storage': typeof AccountStorageRoute + '/auth/login': typeof AuthLoginRoute + '/auth/register': typeof AuthRegisterRoute '/email/change': typeof EmailChangeRoute '/account': typeof AccountIndexRoute } @@ -163,10 +291,18 @@ export interface FileRoutesByTo { export interface FileRoutesById { __root__: typeof rootRoute '/': typeof IndexLazyRoute + '/about-us': typeof AboutUsRoute '/account': typeof AccountRouteWithChildren - '/login': typeof LoginRoute + '/contact-us': typeof ContactUsRoute + '/disclaimer': typeof DisclaimerRoute + '/features': typeof FeaturesRoute + '/policy': typeof PolicyRoute + '/support': typeof SupportRoute + '/terms': typeof TermsRoute '/account/settings': typeof AccountSettingsRoute '/account/storage': typeof AccountStorageRoute + '/auth/login': typeof AuthLoginRoute + '/auth/register': typeof AuthRegisterRoute '/email/change': typeof EmailChangeRoute '/account/': typeof AccountIndexRoute } @@ -175,27 +311,51 @@ export interface FileRouteTypes { fileRoutesByFullPath: FileRoutesByFullPath fullPaths: | '/' + | '/about-us' | '/account' - | '/login' + | '/contact-us' + | '/disclaimer' + | '/features' + | '/policy' + | '/support' + | '/terms' | '/account/settings' | '/account/storage' + | '/auth/login' + | '/auth/register' | '/email/change' | '/account/' fileRoutesByTo: FileRoutesByTo to: | '/' - | '/login' + | '/about-us' + | '/contact-us' + | '/disclaimer' + | '/features' + | '/policy' + | '/support' + | '/terms' | '/account/settings' | '/account/storage' + | '/auth/login' + | '/auth/register' | '/email/change' | '/account' id: | '__root__' | '/' + | '/about-us' | '/account' - | '/login' + | '/contact-us' + | '/disclaimer' + | '/features' + | '/policy' + | '/support' + | '/terms' | '/account/settings' | '/account/storage' + | '/auth/login' + | '/auth/register' | '/email/change' | '/account/' fileRoutesById: FileRoutesById @@ -203,15 +363,31 @@ export interface FileRouteTypes { export interface RootRouteChildren { IndexLazyRoute: typeof IndexLazyRoute + AboutUsRoute: typeof AboutUsRoute AccountRoute: typeof AccountRouteWithChildren - LoginRoute: typeof LoginRoute + ContactUsRoute: typeof ContactUsRoute + DisclaimerRoute: typeof DisclaimerRoute + FeaturesRoute: typeof FeaturesRoute + PolicyRoute: typeof PolicyRoute + SupportRoute: typeof SupportRoute + TermsRoute: typeof TermsRoute + AuthLoginRoute: typeof AuthLoginRoute + AuthRegisterRoute: typeof AuthRegisterRoute EmailChangeRoute: typeof EmailChangeRoute } const rootRouteChildren: RootRouteChildren = { IndexLazyRoute: IndexLazyRoute, + AboutUsRoute: AboutUsRoute, AccountRoute: AccountRouteWithChildren, - LoginRoute: LoginRoute, + ContactUsRoute: ContactUsRoute, + DisclaimerRoute: DisclaimerRoute, + FeaturesRoute: FeaturesRoute, + PolicyRoute: PolicyRoute, + SupportRoute: SupportRoute, + TermsRoute: TermsRoute, + AuthLoginRoute: AuthLoginRoute, + AuthRegisterRoute: AuthRegisterRoute, EmailChangeRoute: EmailChangeRoute, } @@ -226,14 +402,25 @@ export const routeTree = rootRoute "filePath": "__root.tsx", "children": [ "/", + "/about-us", "/account", - "/login", + "/contact-us", + "/disclaimer", + "/features", + "/policy", + "/support", + "/terms", + "/auth/login", + "/auth/register", "/email/change" ] }, "/": { "filePath": "index.lazy.tsx" }, + "/about-us": { + "filePath": "about-us.tsx" + }, "/account": { "filePath": "account.tsx", "children": [ @@ -242,8 +429,23 @@ export const routeTree = rootRoute "/account/" ] }, - "/login": { - "filePath": "login.tsx" + "/contact-us": { + "filePath": "contact-us.tsx" + }, + "/disclaimer": { + "filePath": "disclaimer.tsx" + }, + "/features": { + "filePath": "features.tsx" + }, + "/policy": { + "filePath": "policy.tsx" + }, + "/support": { + "filePath": "support.tsx" + }, + "/terms": { + "filePath": "terms.tsx" }, "/account/settings": { "filePath": "account/settings.tsx", @@ -253,6 +455,12 @@ export const routeTree = rootRoute "filePath": "account/storage.tsx", "parent": "/account" }, + "/auth/login": { + "filePath": "auth/login.tsx" + }, + "/auth/register": { + "filePath": "auth/register.tsx" + }, "/email/change": { "filePath": "email.change.tsx" }, diff --git a/src/routes/about-us.tsx b/src/routes/about-us.tsx new file mode 100644 index 000000000..122b83195 --- /dev/null +++ b/src/routes/about-us.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router'; + +import { WorkInProgress } from '@/components/WorkInProgress'; + +export const Route = createFileRoute('/about-us')({ + component: RouteComponent, +}); + +function RouteComponent() { + return ; +} diff --git a/src/routes/account.tsx b/src/routes/account.tsx index 1622a8f0a..f9d8797d8 100644 --- a/src/routes/account.tsx +++ b/src/routes/account.tsx @@ -4,7 +4,7 @@ import { Outlet, createFileRoute, redirect } from '@tanstack/react-router'; import { LOGIN_PAGE_PATH } from '@/config/paths'; -import PageWrapper from '~account/PageWrapper'; +import { PageWrapper } from '~account/PageWrapper'; export const Route = createFileRoute('/account')({ beforeLoad: ({ context, location }) => { diff --git a/src/routes/login.lazy.tsx b/src/routes/auth/login.lazy.tsx similarity index 79% rename from src/routes/login.lazy.tsx rename to src/routes/auth/login.lazy.tsx index 8e4510c8b..7db3386a9 100644 --- a/src/routes/login.lazy.tsx +++ b/src/routes/auth/login.lazy.tsx @@ -1,3 +1,5 @@ +import { useTranslation } from 'react-i18next'; + import { Button, Stack, Typography } from '@mui/material'; import { buildSignInPath } from '@graasp/sdk'; @@ -6,27 +8,26 @@ import { useButtonColor } from '@graasp/ui'; import { createLazyFileRoute } from '@tanstack/react-router'; import { ArrowRightIcon, LockIcon } from 'lucide-react'; +import { NS } from '@/config/constants'; import { GRAASP_AUTH_HOST } from '@/config/env'; -import { useAccountTranslation } from '@/config/i18n'; import { LOGIN_REQUIRED_BUTTON_ID, LOGIN_REQUIRED_TEXT_ID, } from '@/config/selectors'; -import { ACCOUNT } from '@/langs/constants'; -export const Route = createLazyFileRoute('/login')({ +export const Route = createLazyFileRoute('/auth/login')({ component: LoginRoute, }); function LoginRoute() { const { url } = Route.useSearch(); - const { t, i18n } = useAccountTranslation(); + const { t, i18n } = useTranslation(NS.Account); const { color } = useButtonColor('primary'); return ( - {t(ACCOUNT.LOGIN_REQUIRED_TEXT)} + {t('LOGIN_REQUIRED_TEXT')} ); diff --git a/src/routes/login.tsx b/src/routes/auth/login.tsx similarity index 96% rename from src/routes/login.tsx rename to src/routes/auth/login.tsx index d8a0220e6..566550cc0 100644 --- a/src/routes/login.tsx +++ b/src/routes/auth/login.tsx @@ -21,7 +21,7 @@ const loginSearchSchema = z.object({ url: z.string().url().optional(), }); -export const Route = createFileRoute('/login')({ +export const Route = createFileRoute('/auth/login')({ validateSearch: zodSearchValidator(loginSearchSchema), component: LoginRoute, }); diff --git a/src/routes/auth/register.tsx b/src/routes/auth/register.tsx new file mode 100644 index 000000000..e8272ce63 --- /dev/null +++ b/src/routes/auth/register.tsx @@ -0,0 +1,68 @@ +import { useTranslation } from 'react-i18next'; + +import { Button, Stack, Typography } from '@mui/material'; + +import { useButtonColor } from '@graasp/ui'; + +import { createFileRoute } from '@tanstack/react-router'; +import { zodSearchValidator } from '@tanstack/router-zod-adapter'; +import { ArrowRightIcon, UserPlus2Icon } from 'lucide-react'; +import { z } from 'zod'; + +import { NS } from '@/config/constants'; +import { GRAASP_AUTH_HOST } from '@/config/env'; + +const registerSearchSchema = z.object({ + url: z.string().url().optional(), +}); + +export const Route = createFileRoute('/auth/register')({ + validateSearch: zodSearchValidator(registerSearchSchema), + + component: RegisterPage, +}); + +function buildRegisterUrl({ + host, + redirectionUrl, + lang, +}: { + host: string; + redirectionUrl?: string; + lang?: string; +}) { + const registerUrl = new URL('/register', host); + if (redirectionUrl) { + registerUrl.searchParams.set('url', redirectionUrl); + } + if (lang) { + registerUrl.searchParams.set('lang', lang); + } + return registerUrl.toString(); +} + +function RegisterPage() { + const { url } = Route.useSearch(); + const { t, i18n } = useTranslation(NS.Account); + const { color } = useButtonColor('primary'); + + return ( + + + {t('LOGIN_REQUIRED_TEXT')} + + + ); +} diff --git a/src/routes/contact-us.tsx b/src/routes/contact-us.tsx new file mode 100644 index 000000000..02b2e7e1f --- /dev/null +++ b/src/routes/contact-us.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router'; + +import { WorkInProgress } from '@/components/WorkInProgress'; + +export const Route = createFileRoute('/contact-us')({ + component: RouteComponent, +}); + +function RouteComponent() { + return ; +} diff --git a/src/routes/disclaimer.tsx b/src/routes/disclaimer.tsx new file mode 100644 index 000000000..92f031fa1 --- /dev/null +++ b/src/routes/disclaimer.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router'; + +import { WorkInProgress } from '@/components/WorkInProgress'; + +export const Route = createFileRoute('/disclaimer')({ + component: RouteComponent, +}); + +function RouteComponent() { + return ; +} diff --git a/src/routes/email.change.tsx b/src/routes/email.change.tsx index aed1dc323..0b6249257 100644 --- a/src/routes/email.change.tsx +++ b/src/routes/email.change.tsx @@ -57,7 +57,7 @@ const EmailChangeContent = ({ newEmail, jwtToken, }: EmailChangeContentProps): JSX.Element => { - const { t: translate } = useTranslation(NS.Account); + const { t } = useTranslation(NS.Account); const { mutate: validateEmail, error, @@ -78,11 +78,11 @@ const EmailChangeContent = ({ return ( <> - {translate('EMAIL_UPDATE_SUCCESS_TITLE')} - {translate('EMAIL_UPDATE_SUCCESS_TEXT')} + {t('EMAIL_UPDATE_SUCCESS_TITLE')} + {t('EMAIL_UPDATE_SUCCESS_TEXT')} ); @@ -94,20 +94,16 @@ const EmailChangeContent = ({ if (statusCode === HttpStatusCode.Unauthorized) { return ( - - {translate('EMAIL_UPDATE_UNAUTHORIZED_TITLE')} - + {t('EMAIL_UPDATE_UNAUTHORIZED_TITLE')} - {translate('EMAIL_UPDATE_UNAUTHORIZED_TEXT_LINK_VALIDITY')} + {t('EMAIL_UPDATE_UNAUTHORIZED_TEXT_LINK_VALIDITY')} - {translate('EMAIL_UPDATE_UNAUTHORIZED_TEXT_LINK_GENERATION')} + {t('EMAIL_UPDATE_UNAUTHORIZED_TEXT_LINK_GENERATION')} @@ -117,8 +113,8 @@ const EmailChangeContent = ({ if (statusCode === HttpStatusCode.Conflict) { return ( - {translate('EMAIL_UPDATE_CONFLICT_TITLE')} - {translate('EMAIL_UPDATE_CONFLICT_TEXT')} + {t('EMAIL_UPDATE_CONFLICT_TITLE')} + {t('EMAIL_UPDATE_CONFLICT_TEXT')} ); } @@ -127,11 +123,11 @@ const EmailChangeContent = ({ return ( <> - {translate('VALIDATE_EMAIL_TITLE')} + {t('VALIDATE_EMAIL_TITLE')} - {translate('VALIDATE_EMAIL_TEXT')} + {t('VALIDATE_EMAIL_TEXT')} {newEmail} ); } - return {translate('EMAIL_UPDATE_MISSING_TOKEN')}; + return {t('EMAIL_UPDATE_MISSING_TOKEN')}; }; diff --git a/src/routes/features.tsx b/src/routes/features.tsx new file mode 100644 index 000000000..4584f92c1 --- /dev/null +++ b/src/routes/features.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router'; + +import { WorkInProgress } from '@/components/WorkInProgress'; + +export const Route = createFileRoute('/features')({ + component: RouteComponent, +}); + +function RouteComponent() { + return ; +} diff --git a/src/routes/index.lazy.tsx b/src/routes/index.lazy.tsx index 9565cc8dc..968b238c8 100644 --- a/src/routes/index.lazy.tsx +++ b/src/routes/index.lazy.tsx @@ -1,70 +1,102 @@ -import { useTranslation } from 'react-i18next'; - import { Stack, Typography } from '@mui/material'; -import { Button, DEFAULT_LIGHT_PRIMARY_COLOR, GraaspLogo } from '@graasp/ui'; +import { + DEFAULT_BACKGROUND_COLOR, + GraaspLogo, + useButtonColor, + useMobileView, +} from '@graasp/ui'; import { Link, createLazyFileRoute } from '@tanstack/react-router'; import { useAuth } from '@/AuthContext'; -import { LeftHeaderWrapper } from '@/components/header/LeftHeaderWrapper'; -import { NS } from '@/config/constants'; import { ACCOUNT_HOME_PATH, LANDING_PAGE_PATH } from '@/config/paths'; +import { Footer } from '~landing/footer/Footer'; +import { RightHeader } from '~landing/header/RightHeader'; +import { OurMissionSection } from '~landing/home/OurMissionSection'; +import { PuzzleSection } from '~landing/home/PuzzleSection'; +import { TitleSection } from '~landing/home/TitleSection'; +import { UserStorySection } from '~landing/home/UserStorySection'; + export const Route = createLazyFileRoute('/')({ component: Index, }); function Index() { const { isAuthenticated } = useAuth(); - const { t } = useTranslation(NS.Account); + const { isMobile } = useMobileView(); + const { fill: primary } = useButtonColor('primary'); return ( - + theme.shadows[3], + zIndex: (theme) => theme.zIndex.appBar, + }} > - - - Graasp - + + + {!isMobile && ( + + Graasp + + )} + + - - - {t('TEMPORARY_MOVED_ACCOUNT_HOME_PAGE_MESSAGE')} - - - - + + + + +