From 0c1cf30996618b639124bd84d7612da64fff7d96 Mon Sep 17 00:00:00 2001 From: valere Date: Wed, 17 Sep 2025 23:39:43 +0200 Subject: [PATCH] first 3D model --- .vscode/settings.json | 5 + app/app.vue | 21 ++ app/components/{gameBox.vue => atropos.vue} | 0 app/components/boxItem.vue | 263 +++++++++++++++ app/components/compilationBox.vue | 338 ++++++++++++++++++++ app/pages/design.vue | 16 +- app/store/dataStore.ts | 51 +++ app/utils/cssVars.js | 6 + eslint.config.mjs | 23 +- nuxt.config.ts | 2 +- package.json | 8 +- pnpm-lock.yaml | 41 +++ public/ES00A/cover.jpg | Bin 0 -> 16877 bytes public/ES00A/title.svg | 59 ++++ public/ES00B/cover.jpg | Bin 0 -> 20549 bytes public/ES00B/title.svg | 59 ++++ public/ES01A/cover.jpg | Bin 0 -> 26278 bytes public/ES01A/number1.svg | 50 --- public/ES01A/title.svg | 50 +++ public/ES01B/cover.jpg | Bin 0 -> 34324 bytes public/ES01B/title.svg | 50 +++ server/api/artists.ts | 70 ++++ server/api/compilations.ts | 36 +++ server/api/playlists/[id].ts | 23 ++ server/api/playlists/index.ts | 21 ++ server/api/tracks.ts | 224 +++++++++++++ server/tsconfig.json | 3 + types/types.ts | 28 ++ 28 files changed, 1384 insertions(+), 63 deletions(-) create mode 100644 .vscode/settings.json rename app/components/{gameBox.vue => atropos.vue} (100%) create mode 100644 app/components/boxItem.vue create mode 100644 app/components/compilationBox.vue create mode 100644 app/store/dataStore.ts create mode 100644 app/utils/cssVars.js create mode 100644 public/ES00A/cover.jpg create mode 100644 public/ES00A/title.svg create mode 100644 public/ES00B/cover.jpg create mode 100644 public/ES00B/title.svg create mode 100644 public/ES01A/cover.jpg delete mode 100644 public/ES01A/number1.svg create mode 100644 public/ES01A/title.svg create mode 100644 public/ES01B/cover.jpg create mode 100644 public/ES01B/title.svg create mode 100644 server/api/artists.ts create mode 100644 server/api/compilations.ts create mode 100644 server/api/playlists/[id].ts create mode 100644 server/api/playlists/index.ts create mode 100644 server/api/tracks.ts create mode 100644 server/tsconfig.json create mode 100644 types/types.ts diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..58aaa72 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit" + } +} diff --git a/app/app.vue b/app/app.vue index fa4ee3e..fea5e1f 100644 --- a/app/app.vue +++ b/app/app.vue @@ -4,3 +4,24 @@ + + + + \ No newline at end of file diff --git a/app/components/gameBox.vue b/app/components/atropos.vue similarity index 100% rename from app/components/gameBox.vue rename to app/components/atropos.vue diff --git a/app/components/boxItem.vue b/app/components/boxItem.vue new file mode 100644 index 0000000..ad0e27d --- /dev/null +++ b/app/components/boxItem.vue @@ -0,0 +1,263 @@ + + + + + \ No newline at end of file diff --git a/app/components/compilationBox.vue b/app/components/compilationBox.vue new file mode 100644 index 0000000..342c549 --- /dev/null +++ b/app/components/compilationBox.vue @@ -0,0 +1,338 @@ + + + + + + \ No newline at end of file diff --git a/app/pages/design.vue b/app/pages/design.vue index 2b2dadb..65aad4c 100644 --- a/app/pages/design.vue +++ b/app/pages/design.vue @@ -1,11 +1,17 @@ + + diff --git a/app/store/dataStore.ts b/app/store/dataStore.ts new file mode 100644 index 0000000..d6a0108 --- /dev/null +++ b/app/store/dataStore.ts @@ -0,0 +1,51 @@ +import type { Compilation, Artist, Track } from '~/../types/types' + +// stores/data.ts +import { defineStore } from 'pinia' + +export const useDataStore = defineStore('data', { + state: () => ({ + compilations: [] as Compilation[], // Store your compilation data here + artists: [] as Artist[], // Store artist data here + tracks: [] as Track[], // Store track data here + isLoaded: false, // Remember if data is already loaded + }), + + actions: { + async loadData() { + if (this.isLoaded) return // Avoid re-fetching if already loaded + + // Fetch your data once (e.g., from an API or local JSON) + const { data: compilations } = await useFetch('/api/compilations') + const { data: artists } = await useFetch('/api/artists') + const { data: tracks } = await useFetch('/api/tracks') + + // Set the data in the store + this.compilations = compilations.value + this.artists = artists.value + this.tracks = tracks.value + this.isLoaded = true + } + }, + + getters: { + // Obtenir tous les compilations + getAllCompilations: (state) => state.compilations, + getCompilationById: (state) => { + return (id: string) => { + return state.compilations.find(compilation => compilation.id === id) + } + }, + // Obtenir toutes les pistes d'une compilation donnée + getTracksByCompilationId: (state) => (compilationId: string) => { + return state.tracks.filter(track => track.compilationId === compilationId) + }, + // Filtrer les artistes selon certains critères + getArtistById: (state) => (id: number) => state.artists.find(artist => artist.id === id), + + // Obtenir toutes les pistes d'un artiste donné + getTracksByArtistId: (state) => (artistId: string) => { + return state.tracks.filter(track => track.artistId === artistId) + }, + }, +}) diff --git a/app/utils/cssVars.js b/app/utils/cssVars.js new file mode 100644 index 0000000..771f110 --- /dev/null +++ b/app/utils/cssVars.js @@ -0,0 +1,6 @@ +// utils/cssVars.js +export function updateCssVar(name, value, el) { + // if (!import.meta.client) return; + const target = el?.$el || el || document.documentElement; + target.style.setProperty(name, value); +} diff --git a/eslint.config.mjs b/eslint.config.mjs index 934c3a1..f0f16dd 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,6 +1,21 @@ // @ts-check -import withNuxt from './.nuxt/eslint.config.mjs' +import withNuxt from "./.nuxt/eslint.config.mjs"; -export default withNuxt( - // Your custom configs here -) +export default withNuxt({ + rules: { + // Garde l'ordre correct : class avant @click + "vue/attributes-order": "error", + + // Contrôle du nombre d'attributs par ligne + "vue/max-attributes-per-line": [ + "error", + { + singleline: 3, // autorise jusqu’à 3 attributs sur une ligne + multiline: { + max: 1, // si retour à la ligne, 1 attr par ligne + allowFirstLine: false, + }, + }, + ], + }, +}); diff --git a/nuxt.config.ts b/nuxt.config.ts index e2f7854..6c69276 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -2,7 +2,7 @@ export default defineNuxtConfig({ compatibilityDate: '2025-07-15', devtools: { enabled: true }, - modules: ['@nuxt/eslint', '@nuxtjs/tailwindcss'], + modules: ['@nuxt/eslint', '@nuxtjs/tailwindcss', '@pinia/nuxt'], app: { head: { link: [ diff --git a/package.json b/package.json index 4644e67..f2196ad 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "build": "nuxt build", - "dev": "nuxt dev", + "dev": "nuxt dev --host", "generate": "nuxt generate", "preview": "nuxt preview", "postinstall": "nuxt prepare" @@ -12,11 +12,13 @@ "dependencies": { "@nuxt/eslint": "1.9.0", "@nuxtjs/tailwindcss": "6.14.0", + "@pinia/nuxt": "0.11.2", + "atropos": "^2.0.2", "eslint": "^9.33.0", "nuxt": "^4.0.3", + "pinia": "^3.0.3", "vue": "^3.5.18", - "vue-router": "^4.5.1", - "atropos": "^2.0.2" + "vue-router": "^4.5.1" }, "engines": { "pnpm": ">=10 <11" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 799984d..e7d4e94 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@nuxtjs/tailwindcss': specifier: 6.14.0 version: 6.14.0(magicast@0.3.5) + '@pinia/nuxt': + specifier: 0.11.2 + version: 0.11.2(magicast@0.3.5)(pinia@3.0.3(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))) atropos: specifier: ^2.0.2 version: 2.0.2 @@ -23,6 +26,9 @@ importers: nuxt: specifier: ^4.0.3 version: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.3.0)(@vue/compiler-sfc@3.5.18)(db0@0.3.2)(eslint@9.33.0(jiti@2.5.1))(ioredis@5.7.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.46.3)(terser@5.43.1)(typescript@5.9.2)(vite@7.1.2(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1) + pinia: + specifier: ^3.0.3 + version: 3.0.3(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)) vue: specifier: ^3.5.18 version: 3.5.18(typescript@5.9.2) @@ -1142,6 +1148,11 @@ packages: resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} + '@pinia/nuxt@0.11.2': + resolution: {integrity: sha512-CgvSWpbktxxWBV7ModhAcsExsQZqpPq6vMYEe9DexmmY6959ev8ukL4iFhr/qov2Nb9cQAWd7niFDnaWkN+FHg==} + peerDependencies: + pinia: ^3.0.3 + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1608,6 +1619,9 @@ packages: '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + '@vue/devtools-api@7.7.7': + resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==} + '@vue/devtools-core@7.7.7': resolution: {integrity: sha512-9z9TLbfC+AjAi1PQyWX+OErjIaJmdFlbDHcD+cAMYKY6Bh5VlsAtCeGyRMrXwIlMEQPukvnWt3gZBLwTAIMKzQ==} peerDependencies: @@ -3690,6 +3704,15 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} + pinia@3.0.3: + resolution: {integrity: sha512-ttXO/InUULUXkMHpTdp9Fj4hLpD/2AoJdmAbAeW2yu1iy1k+pkFekQXw5VpC0/5p51IOR/jDaDRfRWRnMMsGOA==} + peerDependencies: + typescript: '>=4.4.4' + vue: ^2.7.0 || ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} @@ -6106,6 +6129,13 @@ snapshots: '@parcel/watcher-win32-ia32': 2.5.1 '@parcel/watcher-win32-x64': 2.5.1 + '@pinia/nuxt@0.11.2(magicast@0.3.5)(pinia@3.0.3(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)))': + dependencies: + '@nuxt/kit': 3.18.1(magicast@0.3.5) + pinia: 3.0.3(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)) + transitivePeerDependencies: + - magicast + '@pkgjs/parseargs@0.11.0': optional: true @@ -6571,6 +6601,10 @@ snapshots: '@vue/devtools-api@6.6.4': {} + '@vue/devtools-api@7.7.7': + dependencies: + '@vue/devtools-kit': 7.7.7 + '@vue/devtools-core@7.7.7(vite@7.1.2(@types/node@24.3.0)(jiti@2.5.1)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))': dependencies: '@vue/devtools-kit': 7.7.7 @@ -8923,6 +8957,13 @@ snapshots: pify@2.3.0: {} + pinia@3.0.3(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)): + dependencies: + '@vue/devtools-api': 7.7.7 + vue: 3.5.18(typescript@5.9.2) + optionalDependencies: + typescript: 5.9.2 + pirates@4.0.7: {} pkg-types@1.3.1: diff --git a/public/ES00A/cover.jpg b/public/ES00A/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d5297b2c6110a3f7b8ebdadea3aa8f179040781 GIT binary patch literal 16877 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 + + + + + + + + + zero + + diff --git a/public/ES00B/cover.jpg b/public/ES00B/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e9b7bdfb827dc4d2e2de52f65ac98e0dc35de1b9 GIT binary patch literal 20549 zcmb5VWmp_f^e#9^a2X_Ma3|>C?t?>chv4o`kl^m_?iSqLCBZ^)cMa~cli&aD-n-AU zU$*J#q3TFipQ>}}?Nc@Hi|?BNpbS_V41j`y0(^!10p3>tVgMLu=zk~VfQ6hN5I%f> zh5dj84-bccf`o#CjD(DgiiQb9MZ-WtMh4;lF|e>de*B1nj*EwbjfaW-5&NGKC>V$g z><7dT9}uxokx{Y#e;@Dt01N~uGAJ(?C=38J1{4ei)cYXd6951W18FT3;Qu+GpdoF9 zgGYc+2_g0W-_-YI016Bg02&Ab1OT8my?UsrqyPZyq@aK}0H!bu5CK{WQyKs}4h8!i z5Jw8Y69Z!dR7e2QvzV)V826d0f2(gk)%nb(O~1GDFKM2fOu#bVOW0%y+j<41Yv+q3`ohbDhDJ; zDMQ14M+7QU0+58IzGK2dC&&Vkgdqh=fN(stxaC0*9TceuDF7PM;18rCAi#IZ?;prW ziy#~jHE0BF7A2}l;Q$DeFn|;hQJ4+@AWc^WC`0%^kYWO$@e&BR4*^BeQrP~|u;akp z?*Ld#6$W7d9YjJJAOiVN0svy>)OG;ar0-Bt3D}b+MbNgtx)j-nV{;Q45|3?j3+~LZ zPi(R^)S;#5fa)^k2So1xtW?4Kt!Dv7Xc1{?DFA}q&LpHY|4f=xD(OD3fA+BYyH;bDdF3Pjm=iKR`$bxYGp95?xNXFJaR1Q3eAlOVvZ1zTPD;1V(KEl_pZlv< zM%Bq9oIT>6-3Rwe(}q|fz8gJ#ouhB2QYL1`CX6hz)}0B$F5FI-!eZEADc=D`98Pm{ z-Un2R^KvW6VxpukP+Nzt`2m^nGxru2z!0`0)*< z402xI0p+PB=NQRe@?LVxR_7s!K(0%rLCCYieE+bdG3UKOo#O?bqaR8iF&{bT!HbS> zh(Eb;?To@M^sKqoPgH2W-Vm8rZ{GFl@G{8WT^Y(*m)r528&gbv%RN2cE(qHG+&R}& z32E^{QU5ieqF5+70MHK&@TWnSyk6}>`;l6$=K3)q2+-W0ob%RF*tolTb^*anwmgfTh5lxlIUx_*k>}#cUh(2E+AH0k(+Z zwbH2kzn3O*-ag%5n7VOJithhO|oaKE}AQIwZT-CDM z{`K-1A2V6GN~V04-B9+ThH1@9-;QhN3%bzXo0pNBT;ow619!IB`GJOALte05&x&pA ziLhklFf!yxW&s0coaj%tkRFL;yUF$=eKlX(de#H}kZ=3r0-i&z_%pxm10Og}`UwCv z(6qC)c;$ffm&2N;-9EA8$@7Sp-B5m2>twIU6nXiy^03=4(VPlFhTKJTj}1Hvu{ikS z38+XfS~}w<7xA7rcH|wPbx-z<6e@-krgnE5unoYcm#lcq;R6M;=|^xjdCAg9t&GUl zRWC01;e2VFX}WS<6>uMSxb3Vmmx}gR_%k-|Im z@y;}LjSP9N#~wTyx-JfBE9h5V`RKjU{JN3}TLRxLOh_XA72hBMW|( zmoLN}yAL)+8lLs>giOQOVM<-a7;Y@F%r~#O(60+e4tEyPunD?ieBC5`2qB~?-P&GL z$=ePSb5?F$UW(?U{aw_Pl?@50raBi@l~9CoHrcTCt_CD}k2x`GwIsQ#FB;j?*H>uf zrOh?kmIu{~^D@O(Tg@!EkF>H7O%t%V&>tsPc3q9hwHc;}+kc&Supforr~xY;`B7mAj$ zEFkTgRSPho(yWxFQ>Y`9ch6{Q_BjLJjm`V;-`@1_j4fRKn4geaV#LDi-T8C-dDtXnQG80(KD20y4P;h19;=_KhT z+m6>@+gdF4CdmVo`Wj!taZ_cM+*l2Ax9_FHJMig~sO&%GRZ)eOYeTtZk2wOJo^wqd>m*zn z6T{VJtCfXFOIdnJYMvos%X)?}uz=(xu`0SuIzo?nYES)~d25!={liY1qsKPGv$@bS z7jJ_*AwP7p_{Km40KkhmXHPjgvC69_b!YA;BpAIhbV*KLE@i27H99Yt6WelFR7$I- z!UHk$@aYHh@pY0E;wv*!4zwFvaF;f?ByrODtF9-I8Tsxlb;M8i9&~f~50Mc0(PYcryqx+dPCCvPw}0aC63W^8 z>*4*YPW{iqSazE@Gy9p9Yg{(Di#O{Z@ zZ>-PgUHfmLRsXcYK&A-ak9QPH^ygbs1{?xCL!P%sOpvLq<~q0F)|xikNL8WE z?n^QKpe^ZUl?v_Dj9p7=NQ~9?>8x4|e9zqcRo&jxH}964cYyK1hWqh9y#Tm3lrG7i zjOrW*MdZJymBUBsWd-T}RjY0vB{BiZT0f*lYAuHgrm72^^~m1Xp^gH^wpj!fxq zvV6R_y%ckH=O<(ubC{cE@J&wU_InDSdO)wZix7|pIf#U~NX#K-^*l0j{Oe2c^Mb_j z=vC<2p2VDp&1J=&*lq8Vfq4PM?W^0wDo!iST-6&*GYb}Wl$Fw>vw9S*{_;Lnu3qxA z3;L?s^P{_0oPIudi!6n>%XyDH^5TEDfPnyUCLjO`7V5t@2xyr9Y9ZJg1_Sm35EF}x zm6V(X8^i|3E-dnq0*CTD1e+s3fIHL&=y$*@L-Z`|%@}cJ5eprwBN_VWTv~f8x`86$ z+@(qEW?iGru|VR$@3G!DHR@sguXEq!qBsn&SEXqTwpdqtb{0wbZvG%A8p&7?Ut$?PcfeP%!u7EdjUJIF_BQtn%Sf)YOHA6DLodPi!5jQL!1nJzjrM zJ6AEnHMK~fzy@4~=QQY6G^Po#CG6*-eLVMzu!MUv8TOTu9XpOC$B=N}8ok4idUqn!{C zXDXdmLuaUe?!xaLNm7#FrzzlJ;JVaW%s*;FALf4gt%QGDGJ0nfYYcMMO9>3PC3AQ@5#pBQn@!Jv?~Vf{d0 zr?a?wjH0lBQ2EeS^OoFD8f}y0FCFbtR`1V zlWpW`l@EF5%3vhe(vOA$nAPB$0n6~3yanxInPk%61OZ?7VXVKdKbviHQ8TP!UWr&v z1T`(Dzl@No>?j+57@MJWVsO??WsXGSwT_@7>TDWvlJoP3u#{KovC`Eb5hIccHO4q!5$ZZPkvU0v6#?E@3M> zV^>ZiyUCAGk^;*ET#Xs7W)V#2$vrf5 zlYuK2GV7qA^vjq#-N=QY{NvmYon;M|5i(Mqy8fMV;SggRvxJO$9_7iHm8VeL!g#Cs zO7&{(oKV(z$`*|T9dTJ$g^E@tzk-gQGR;0HTgB1UJyi$Sn!Iw> zka3f4qfOy(bSiYyH~mvlyE$mCAapdOouNP75Q$_VZ(AW}B@jpZ(c)gwD1m+bONZk8 zH`bqVSTfZfga$5mB}CWD4fwO;5aGYyw41E%M(lau15~nNU9sUTbLimiiFctb#G2>z z1F#me2|TtPT+P8>Crl3G`d&?h0tb-AbkS}lZEmZ%Vw{@3t=}K@nYTPSsx2p>Y=8PK zYOJDNuD;h;X{CVB#LK4`GDkwq8~NoatuVR9TFcg#B43i~qRfeqg*fV{>uIN!e!f!U zB4!`Q(aOtEsfpcIIv=%MnJ6-Q^v|9$gKE}L|D1Wk$H=OH+|Qs9hwNbNlMr=~Szf=k z2!471=f268-@AJPl^RWFzE$d1>D`|!othBjZPB66lo3dQ$o+f^1&Pa%N=B86K|C<* zbnSz2S$@BvML7a;%Uz+yF~YA^8=UcD_XM75=d2aZua~5DNj6YBlWqRweS{3zSQEv9 z5fTx5O3hX`Mzw|l>$#ieL?(FqlK8;#KKbNj>0>Uw#A<_rdx#;c8H4D&xoNkZcOwK* zJ&R^6IFzm3_M}JVwm!&Inla(zex!*IC;dpBLpQUWKup8@X>^J5FZ;&He;o)JPFC|( znqDQ$R*uart95k)AIVo3u>+tyG%gxv1$TznNn5MRj>O->-O(s3n}7${8^&4nrkJK} ztFe9Gw2kFrqw}M?dzX8^Clac3knKe`3>f($skI6Rtrg+SEuuT;FuobUTU>3(FE~E| zUm#;{AhhK7%vjnb&#VLq5IS{0)S}oTXZ#*Yz1Qor{aFsy+iI?rv6$F5ghD1zD@S{Z zwPSi>oRjH8wRZo=F*jK03)&(^C_8Fpyfv5Ostspt0NawnIfJ!IBH?7l*RhO0ExEUz zB$TZ9MgI9QXn&d8;(Z0!1nTzVrH?uD_^=PWtY>_45vO+Z>>DByC@6yDjkU3DH&?^k z82vOJ>kJP;LS6on;p4=5+>N%M%ehuJT7S^1^hCfL{t&j)4fQ!sEZWZHVqYJpIJ-a^ z&-v}>pz=%KwaZ1~TI4Z%pSi7qWX+VpuXk#MB;_przT_0Rc&dW2SQYepqZ@rvB`LQp z_cZnH{QBx00GSl&A$crlzy}!Ee;KU*CPe@gGzJV16EY*Rh`?eAE0Ke+MGYPQXF`PV z2th$6M8+b1)mWbg>`SWN!l>~f-9jDRe0jk+mnz3(Yl`r#m*&G1=IOQF{ldPN@EY{p z?bqCip=aFc+<31v**np}*juB)XRPi_>ifml^%uN`KSvI9I)!K_ehGWx#g#lZ?Udy= zk~m6aG3lRV54cj;t52;`VV=O)xVedRU)FB431|y3`9Tr11z|0ic%iNQk~cKvXhPYT zF*)cnNQw!lO_wYA9Y?7G=-xt)*#z=%0T=}fDBkE;;NLuc#_4uO^t%zwywX&c2cM5K z4hPn_Z^)48Dpv=xZMe%5ZmzsBZf-&YGFL;0V+8s4cB=C$NO;67sbw#Hc%#jVlgv(x zxUU3`gkYTPhOp-o`iY4MWIk`UNcmu^%bBD+jvaq4m|*yAy%=>ELgy7`)Ou>|oe`b3 z$sI%GzW=v+cjDq{ae{CRH9ixJLvJ;%7>K&CL+;?n5JUDb>hQ_AW;L5^w_dA}H5%1r z-QMOeKTj(gI%dmd64k2~KksHftJG3LxP;sOQ;Ix_C&!}c$DLASEQQIw!M9o}p}OIF zF)i}(&y9Ct8^whI!z0K0nz*yLR@%- zlYES1%u>vC*9-yvn=v7OF8c!7#GkuQiCCQRk%4>YcKyavsA+cFxn2sXvMEVS+oqAu zSWtq9B7+CCl{!v(w_C)yH-C);)A_K*y0?wuX5%gzI|wZ59-a#eipd5{a_=ko? z#Q^<`PU7AlWiuuYLjQVM^|-CRRod(N|_Ai3xeb8mC_zeq zc3-BHAImK{x^@~i+$JDYI{!G;#RQ5Qc`6`AbP|-z@)*0R+7Ng0#@sUNQ6}F*j=6_; zw$MM%hJyY84f6pO9^pU0`_HpsF+TwR2kwGIu-TLh9fd{x>)1zA6M|oA-nV*WY zzbO06z5~Px2lKCuc^}E{)0R*b=pOu_a~Tpfw|B=jf7?8(m}TlcxA|G8NcHJPy@+%# zj_o>Ksc&mnY4SU4lSurJ*=(2ES131ZG+(m#q(f?ag>v5k;-zgHpKodx zolQ04Qzm@D4IhFxOfXK^UtbX)a?GHh+iycP&fP5w;S zwz{$Yv?9Bu@%Je<4$nmgE5``#_G}s2@0;;2VXgW6X|DN+x1=!NN(?R*?-BamUehOjYnjsf!#@HThEwTEa{Cm3up} zPle0Bz_moMDucxLX8sm7H&7l=8TCplikH_>D;PBRSR3_BkhLZ`=1yy2F)umTMZoNB z9(k!77ZzuNiM4FC)v+3lQ$Dgnu1Qv|kMcsur1r&(7?r_sMf|~rhCYLRnfr*ZUtk2s zc6WhtaOl^gk^#I%Mpu~qvE2zyKflo8mSXqkHXh<&hW~sj1Dlc=VTn3M@2Ygr( zl7*Zo?%;%AmQ7ZRyO9JUHg`0Z_^e*>=5L8|CYfUF$vLg;iP6Fv%-vm{8HT{ow^02h zB2`uT=QIu-y`_?E&d$QhKj6%8lY!Gz7g;6tq=oU3GV;2;3zJ!PMO3Uon|vpU7Xf{} z*&@$W`cv9W`Jyoja_pnij8i3?;~=e8Cu5sTuEhBEC47)4Ns!_1DeRhGM72>{?LtF@ z6!CWc1>RH97Yx;S96#MsUHnwC-9VOEa%u7f;5qyLDZwnn4kJ-9x$p5{ zDJ)gFB%37bV=dDZ9yBrPJIv(VvV-MR0pbcTn+PR#uhBk9N?&QeLM&xRASSw4JhdC+~bupB6>5i?Si9OR4A!xm@`_MzXdv*m9eSHl^ zoZ>Otr@|0x^#)wObSL>*nB>P#Se#Cx>22ObChq{38Y!s&u7v=*2`Z3H{i7nzu6gfe z&uIMw(;zEeZX(U3aq^v+l!mX|2n~GeR{L9w=AOY|q>7Bvo&>g%gjZRO@;9|~s&4PH z2u!A+$%JB~v35=^YFDh3+0lAxIeLqEOViNy3mzPbayjL5qgbU`&IzJ&WXV*}1~wC6 z86-Ope|VsO#C%O0@%fjk3`T6YmRT&7tTi`UWp!vVGb?QY1Ybnl%;+{buMhwu$U~Y_ zO=sw|XnewXKgBF~7aT^7O6B0~fqOzGu-2eJV|Xhp$GmbA49A!O$xnwWN-vJmy z94lEwYyrnlykS#^uaI_syx>qdR)}SYpdExf20M6N?jyTV*a zR*fO+e+PI`?l9ODQJKzMv%Ldi>0Q0^ne#cO#F*g{d~|`iyBhSgHL6MwTYx=nzCU+h zQee1&%r)!ou15LJ?M{U()}mv35+-^?O{l>p1PSFH9G&z$9|ziUW%-5j3igi>-3t{_ zFU#C=uRs0HZBwDbXL7gB3EKSY7ViXk@){S7LLI?p#j<3&WlF8Wq#^8%?o~}B0p0- zIP`GF$clEeu37+F$pGCf54*TbziM>S*if6P2 zymcpn(O9wVFHU6>jrE;?td-3O~fzqYT4y)fB zv6Xbo3L^G&Z<*~lWye06Ewh1?>+X$JH5V5bH>iI0NW{ez(WQ#BaYuihxF*-7z)^EF zEBrn|(1JFwh4C`#aGu%P%*bBPm(Tzg{dO6NHX=1EW=C~Yqjp#jL$-{dH|h9^kD$%= zE_Gba#>VMW@T%;L!fB6a%8bI#*CFy@NrtU;O75)L z6F9mMfZswPU8cEP+ZRh>J30_-zxuDw|2wUmT~g+EC(g+$#JjqFD&$Yq86`6frY$b* z=6fT4K4rEl(xS02+mTOrt(riqsHEsVIiys>C!S1+GT<^|wVh>uSQp@D?O~U&)z8?2 z7%qIwIA-4@F{=gC5v}2@mrYfNl^oeRHXh$u$7DZedTlJ1%3xc<^cs35P9)JV$new7 ziaG_g!T-=}NpOba%wTG3MuMPoWv|I&kEU7Od**6{=8@OZEqx9OO^l%%Ktllds%oVi{NB zzn&Yd>$$t4Y_4dUFw@#3oV{~DKj7o~YErbj-iQ~8y@>DC8T{7ZwEVGvXjf z@2bkWZa!&O`VA>6Vf}8fFVwzW5_*e6yXxe|;PGL(YR%H^A}W`T(`4Ru;8`iWUu=yc&_R;-_i?Iy!8>4M_~*S7#pc9jeC|1^W#`BZ2Z`6%%f2FPo8_Cn^8O=} z6D~h&=vDgLF*(KV$UREmHGyBx&{O1&9|Y=gLNc2$P#@r-;NbpuW)p)9@)pMe$!iLW zKu{hCi-Jwr$sZP5)F?hbp-$|3!T-u|!U;h#ob`MKYI2MRA3Oh^dG$1P*odySSYA~u z5rM%iaKVob?3z{YfRV`Wl;u8(5+W|Gn?yJdLwkyK_7~j<`sZ4kwa)eeSzY&Am%jVe z0|v?CpGZ%Y)cA#Fu3dCG?xtpOxc=%0!2d+2V&r%g3oj_X9@Q7MT&z?RIPv1Kn|!HR zFiA!A{1^+cmZY>bI6`)@C-!5;T2e6rN2>T#3QC^Ye^}^Yw+5D58z6&|Y>^CoH-(Y3 zS|mbfv*6L8z@v-qvfy1~Tg7J;79~dyP;}~x_ixrFSNiPGtq4WsEa_lti|h8Cc5dHi zi4Gj~p3n89Rr1<1vIF6ob##^mq5LBXBpB_SBCUqA2Q3-KZQyyPiqHsB5sLF}+UL?{ zlTuEX&z{!(qEXSy+!Uj~vY7;abIGMc;Te^M*m;6HAn=} z;A>mDY{92wF!(jvXkT5q^20~;$m}GAP=+WR|GO=(!aWs*eYc`f$QWz8tLlT@>~XN% z<4NuYSsC48&@;teF-`_XFQBLT2L=|a2Y>U|r{S{5gt3Kb~*jvRjXtm&oH(cpVQ>vX*Q6 zv^C_e3d-+W7cI`q3HD8>_(MY5*US4srlQoW!x+a#!fWq0gNRp_;E9$RvZ@kKQI2~^ zj0M!-y!rvS67i3!+1Smgq9B~YWO=wj`@{Z6)nu#7BPP}i0wDC&PAOx|D!%w@4U~uY z+NrkB&h05%(Npvp68Cp@724KgyMC-{gFA#}zTeJ{PD&269X&u_W8wBPy_)>I{U41J zgc$@GZ~>d|fI1Ohy^(E8?+c^jXVa2tjol9bOxEtB*N|7 z1ZB8rEt@2+;T!!SrM@H=`vyHkT^V2}Y>MMxq3>mSdOU)MKtvGsp1ObC(D$tWikzql0t`);32)mDD{T+Ecz zlaQ)Y4XHZvf?QH7j$Hqv7t_fu$Qbl_*(Lq2;y>Bh{|XTHLkRhwOsZ`0?9qQ(-Af=e z+3MM(cIDKX)S4r&^F~N{Mt0^O6~g&O|3BZU7Z4?f?T`XfQt@$aL{b;7wjQ%QU7t%A zdolBF5RI(GOqTL%IBjKCSE{^FzT)m{iEs5LebpVUmvX9lDFHPHuK&wr#4d%W#+d(0 z&yMthOEI0_r|E8T9ltM%z_?`E9jYZRzWWUdQuiN`LYl9xk24uYHRu;wUms99{L1QH zha85-mHw3Mf2~l8a88E%@Q2QLC^7k&e2Cm*VvWTLXqJ)^(LPiB+3Sd2s8@XIlsL->b=XAcO*2 z_Pq$}dAZQu<=wamGLe%v*H!9y1xp}F~l!$3wbh5uT=+pxN1%7Y*h zL_h%aQ7t|!rmdGo&aVrh=p~Ni%dEeO;1rXjpil}MSj8scNM58`Q^bz&{E^I(NiECr z5FHQGQ@isZ9-eH?Mt9L~*`0xkiU3NLQNB?=j84$9*|@hGtN~8^j8!&2H+5m2A`Y6@ zW<{IlMA54K{0oV4ZS=H)dU%YFY}AwIEVPYWRvsG})iFORL-`2OkFqo1xUmcukd4zX zxSW^5{#LD$zLk3VuEIX}iOB?&c;4@_!{^!}m6UU-=0AkA@`TU) z&^gEX!>cG!QOkZm?1@$_IpaM{OE)Om`0z8l!(_8?X%+6sxcCdc56mFxLmHU|^S5Gg zvAHo_q^1;;=itV)Eo``U(}dFtljuikK4Tn`cpT>g{?O>*YHmaC24m40D~Z(&g2E?O zG&mv2y8ii98GC#iB?FN)IvHx^q_kGkbfzJ8<&XLUK3fMOW)$7wn=eQYY$|RISWtUwnA~< zfU%qIZkR=0{j5cbjOm5E>ADCRHhz2bER9D{u0JR{1wn^ zE%_HS8nVSe)e(Wgy*Vm+(~FR4HBPd1rcozLn_44p2u9Vyz6cBA;&ifwm`>gya1$Cf zkz3QFpf=4i_}#XT3CxugmYmucPUH%?qrK!wrR<_X<>>rm-Aba;#Cv1S`pc6Y1{6=t zNT2P$w&AspvkY~e`h6$<7fOV%`Y8}?628Um z+CzCXG5n>`VqA)px@{>al(LHbnF>+1HOEZoNIF+m$!9Wicff|a;gMVgmO|e7cw+-iIH{SQmRW0_jF!k0>3~g zSIjmdK0=OM|7*}6_%=^y?I)j>e1X6ljC87KkR-fTHw+3MP6Qvd&FGDXD6uXBra|~D zcJZI2f~nRUmUT(mw0Kw!|08T!CDJ|SR>@w+97Jhk znn3@#r=O{+B=CzDKNm<$k+9m$OQ8DN>!rHFyg>6Zbh5<)xa56~ojg0;X=$XMA}rJe zv%eR`oKVqbQbqB_ABfr7&>HfV!8~v-jtoPjTk2}b?x=wlBP0AVe|T_CAho~@i7;kDB6Ey_sR_C zEnom~J#1u*8iCCaeIo#iQg+n7h(mljgB3M`6Ltzzr8;LxziaGzGg+1iTa=`j7#(K) zY~20xC&4>lYWN1PS(BgXv>xXhwbA(Vq?CJa+C?Y`GvR_gx?a@;7?5z7AqQOaB#40I z%hs`e{MnxLzBb;kTW9|UYA%is>M@x+e+N()#kVlm<1`wkz04S}W5zd%@+03B6n_2F z*+jstL{BLKo7ZS)(g4<*^#2*((T$W;V__50;wz_Gy*AcsUw^84H~8Xrk(<(dK)t+c zv~?m8tG?JH!lA&BYsSPMqlJRUPVuo#E;GEqc#O!SF*D55n9?+WXz|{7yv-*Hd(pwd z_|oa`rZSkL#ju+U9lq8cmP^ks^)_Uo$oJrZtJeH4$<&+Tj0@s$yyJ=bjze_+(&3`r zTzsA7(p~I|w%f_vz2sRB7X;t@w<#Keg#ZBHu{2>b`Udly!G1m)q9q90HozP+2hHm$4q+hGuFme&YJ(6cuM04gBNZDtj%lIN;b|$W!#oT zuysOzR`*zTwP^8x<(8%3#>gnAF)U40=54Yf8y>?D0C3V$lo)gfuTn(2hQTCC))rh2 zB2ppoQjOiHe~y2MYd)2wM){DrsAM8e#D;oBXbMMWVXpu3`;~B3Zkgsjr9QGQ#uPh@ zC7&d)tkylLg`us!QKBPJaV4u@U(>8}w|$a2!auW*&vMD-iQgh?n%m;L2{0g+lK89; z&dBCrC5nPBV`P$*JAo6Svb|3&u`YxJOOBjib7ryF++8EFlx;2K+I*KX4r|;JU{F)* zF+5Au``Nw?O9#|j)NW-|jwIMY~z<5dqCQLvWQuEdc zJeUxA3VY0_DCQ1=Q~dB8Xxg1d$=W15jBJM191mX|l*5-|S?t-I|IOK{S1kT42yqn5btz zFfCUJF-#N->zDUMdM^1RwfO)mf?{#;#ny~Dx37OMA?%M>Yi>mdUvzkcGa*gq*;547 zXS^H28M+dgDMMsSSpSJ`)Mt&0QODPOM3oDbrH81{jZ^6raRL4Sgk|pA%^ZvdKhfeU zV|!Gzt$PB}l*2#dhMY07MD}u`zC&$_Ca?o3^L3E5_S4tsq~iXoATm}~{SaP0q+NLC&tAviF7}ZWNwo2)&?n4jkRVU48an-k3!yQQ8w)oNak~S%X zG$KycH(w=4BP>fedRH7zHmdBHxjf_bXG7)r)Nyzczg`M%j9zh4bs5kt}3BcehFsz zl>rRP_u{3xa7F2GpRkM4GR;jLc!nuw*JXKrG z<+p9tCyFRj3a?R?;ER4NTyfWJt8ic%s{|SWX=a>ep)u=^X>B%Rj}XoT^fTae(hXs7 zAMfF9X`{vTUU(T*(8E?`KdO)>r5qv}66lkWglot2S~w!|CnM#rN^sxeWt6wJ=#YbG?xV;i8PH>mO1`bA~yA}N0ay?gf=nDKNXao%63McJ8)s(WL zv;4ZaAm(5*>yEf-h`{O(imI>6vdpPar@1HKsA@D{0!wT`hINj1;bMw5D{3?n=sqMQ zD7Y#x$V1#7FPVXNY6ojw0NS3v8;cAvOipa2025p1V<{vhS9fS*^9|oVzyoL!f1%$2;1z9{9M!nU*?bsdk|tjV{y{B&>}Y) zycAYfBc;40@UMi(u?GhWRYTMy*+veB0-WQE1$dEv;Q+!79GY{aAa3T8qXDiF(ycNW zP}c+(V}L8MYtkuy=qQR)@+sZHdW-40Au5JoA!rY?*_;pr%=!=2g~?K-?m5j9xR?^N z+KbH+P%n+s6?|H%W$)$|3$AkrbP5g8o9T%3A}k7^iN0#}bWy1?n?-m05NxZthvb7h zf*?xZA_ktmIkem2{y}|_qED>;((E2BS;V#a9A;mqPBkZG`%(_mXd7)YUw2N9e1+92 zCgwqv8N$y=6@5?;Vuw7feb^l6=U+iCQy=dKS>5nsMuSHK(+D#99kCa_EZWAea?FHiVTIv+bH`R7!P>~oml6_!C@vB<;~u5 zc6ZZd1p0ENTxld9^^5kFcWb1Yd^%e zJV7-7YPM>CLHoemi=Z1w;U7z{C^V=kFyk&v9>RA^Z%12gm6MwurjLtw;bk;a(I$rlv6@EUa;*Ao}*s^ z(%a~l0IPY9)9KrmW-y4kVc7(_DAC-;-o$PTCnb4k$ z(%8($8C>5&uN%7=WP$m)P0a+4k)J(IW_Hxe#gLs!kg z5(F2NqDVx)ZB`L%Qb|e^H^6?~7|11p83v<2@pXIzy(5_ATU>V%!o!~+7F94WarjmE z4VO8lAO8dP#@1_ge*2g7uivV(Q1mdh=E7M{Oe&mj$zK^*2o{Ov{~6 zY09T?$`MUCf>)G=?zz*>2v_?Sw~5*T*~)ug5+AZZ-fpr5`oIm?!NEZeT~VwV0jxC9 zy|W|SXd98JfTK308caShc%^DXKV7`pRFMa)MJrcid9sPb_M=yC<35SxnMaeisPKGS zfm@6;pQ{&dl(gr%x6~jJ?dVaCz6(t&mi~QIi1~SfNT*Rvn~XF>5s{63zNXb-Z=0X_ z8IgU)atoqlJx!J2C1)E6VXa^v+*f@E_~3swR@f1E#&ZrFIDUQyz%*zV-!P}PExPj7 z6pXusRo59jN&UV9uzXh*c~p(Nmu0+;SNmao(aL|baX@Z#kl~n=rSkU4f?)K4j9AW ztQuKcfih9uw!&JMDKNJXCvo;12%GC4Fv)0>o=6^@fZ`jNTn=oA->z?z^fzFDCG_Or z7l~vsadwV$x91z*Lz$oMh#W~wVHzCW16b1!cta_8afL?tQ~!bh>2yxLP;+pfNnWmQ z%TC1jS7+@VGpaOMsv4$?pxNmGd~SI}t4=~>V|WgkuNL94KQgsM2LuNw4GLZ!$y!9R z-=OL}Fs+R_3iBScZ$&EPM?^qcn3$ImF+eT~sxPHMQZ9q!Mz`2wPP*wKfz71|R96g+ z1*J)pf+($m2<)O*@%fCtf%PsEuc#V*1XTVN5%L=u7eZ1z5ik6vz#-B+W@|jgNc$#qDZ znDq`@Lx@aj7}?UD&Y?FezTY9J*xm6k?e`FsY*{SSZ)7B`3(`^Q4aV%gO*uK`!6qqe zrSM^lJ)|2}RP(K=jl))b>7LU=ibKdQL4@2;AyJ7BC0D~49!R2y?!T?#0wjO|z}Ns( zniL8zG5!xAy<0As=OFL+&ed3s23^C-0JCr>_&wp{v$ zgOYuS2E3g}CgGN3$og4$GA=ZT2%-*p+X6`{ZfT91n-?kY981Q;k)i`eL9KlQU*Z%E?l_U+MU6GHj8jICq z0TqVmRzzsuOHhJz397==5+nFCNYD@`=|z7;>Qb1<1)G_yA-U1#4Q5RjO1gwF2|$Oq zU34v#VAA}B?eikv;+E)x)o0JIv<3x|{7|>kpFsAA!WQ+O97{JjK@>$rcdSnhf#xh@P~Qy_7ZO$8jE0}+>yJpsUi|oAo^!zoHx!WYIvod-A&@z zPv}|~*}49H3u~?~f#MXF2s0H&!fd$tCF&?OfIO@)$yTxD*sx4JYF`A`qTQymZWu&@_@ootO)-8!YB7LRF;>%N3 zdYBg$-s)!#ceB{`Z?|{!wzTgCgo!5KNM$hd_`0x-NzCFBvMF>U>x?@B3 z$9`NQGb2nJ1~Sb_bO(tRmZ;F#RB~GFTV9W=5zc#`*P!oj;GZW41HB0{%ulZkoZlK0 z+g~yoPH}giH8!8`AGfA07&9bG`=WlE6)t16|P7@{_#n?vg+zN`v)I^ zklzCRzu+Sj0E3KG1o+?58z}@nvOw0}{s%rneibAHY>y%W&!CGTGwJ$9L^@cP#pd;h z>M#kQ77W$q>9+Z))z9uoAE)Zc`UUI_kxjQbBf2vc!U_;hNcaZ43X|{E?@b(b2e-LS z#}*Su(nudw_odF5-UuL{IQ=bn{eWmLaYH0V?U-?^=>;nwMqF-U7)3GTn`a=gtxIN_ zutzaRLEFOQRR}HkeW(kU{hG-X_W_{8q^sq$HxbF4=Y3PJHFF$epsXi~+vyeQ#W>@% zx7y4bMb_Bn!(4Eq&&y;m~)1b^9p}{#azJ;*wRvlWyV&bcahQxvx6XqgY?|03-Kic00j+C*PVl;nOo$2bI zDmBo+V#U#w-Xr)sV1tn* zE!}+6`RgXomh4mZN;EQrlf^>bBUhgw4;cU&e}EO||_ z@UsrG#8CrQG?|b@th-)3zjNR%DU@&Sna=n2I9rdvTF^{NU&LG=xVScivZN3vnhccN zOAM7eK)ROsh~N;&I`e-8bPbF0+oBN8ZQBfBXnVsDRHrWg0B_u>7cf9ARYc8Ib-P&@ zI2{fK6Xa(R6Sg zVW=j@VDUR}o?axD4bI$f<$bpC4a-8IXxhB2wlLOqAvia2yZ(Nr8F$N;Y?eY#s0h6#o22 zk}IQ|GjC%1`a-Y;Ed(!=6xnAzBTNAFDa5O+;7fE4Cei3zx|a1XFbYvXLIhrK(HVnm z0R-fDmM=(JIfgmM%H|0W0|2Gj03_1f))dO`QCd7hHdE(6QC?BqPDsu8{K9|@ z%XuC@a9ct!P)SKQ3nawuUc?_6d#p0ws9;CLe*Au;*>NM@ zJ?GrP1)L$9ozyT)y6R`@luVd6EX@dmm%-dgNRg$4kWQ2M7b` z9C z9I^2pkqj3F&L=cjNMHyPAq`$3K|*$An@6N41PIXzp&Sucj8LP>#agumM-@K77as}T za*iv*sJ)$?$R!l`wUjk+ zfGQUp4egXF(Md-#hy@G{0wNol0eh=3>lb6hMU2FGF;xh4f_D=JC{)M_{_?E{$r(py z5pk$E{h-Ek65%qjgfcuQk`m0rDC0j5k^lEKez)bJqqE_RI99SD=O3A@<@9C@LQP3z=Ct=i)g(e=~P+tg5F{vK3T1frd=) zE`1|>1suXy=fIQ-3OasqkIc3xWR7qpk} z{{UdMVY9v^q4C4oEs~DNp#?b@B!Nm{JI9P}@0`PqCIBA`gRwo0KsTs7%Lhww0qJsNHq%oLTZdz1c1%hA;zjq1qyad51ym+X? z{jbC_02++E!qVO+Ynf-H6;1`gd5oL3C6D(po9LaUYQs?!Mv_}+m>OGHxlv+NWHtRp z^pm(oQ>atucy}v%mkygG(ozl0$^g(n_jeKiT+;6$pGGG#S4^ zBl#8^e+mV*xqv{{V8eqtP~&F(J0?A>JfbQU!n7^bzZbp%B?X_Z#>> zQo~BL;wI|gjE3t(LYS>s&``0M zZ2ZSLXs+|sJ#*cZ=>aPP-ab<-q9$8@rCXxkR{sF0h4B)o&==Y%t;c^7m?|PL48VvV z+6jX*O~MN95Ya4-<1@P>-YRn}XMS&>R<7U;EiIy!JfiN^Z2IvJfD482%6(j_%;#d5 z0Imv|zOUH(LgfKq2OZPa;6xNvB|ewXSqh_WwWGMe0|(^~)U2T%fh1lXX?a;$j|(im z#KAd~lUF=(-Z7gv2~CW$vackVl%cswDT9bXY6+-kDa;WPxAydcxmp@!Ie}q50s$3j ze5n1@WdZh?SIGH2C4@k{R|Clv^&mVxs2Ej+Vs@A@n|!^w5{Mzm`;BCSbwgo2O_3?( z%rtj{VGxUe%&RbdP|I&WgZ}_}a+W!a6UQ?0$#F8UymGdJ5I_KH#}m4QrD_Kw5zaR8 zC=i8NZxaXvsIDQhuM;MS42m~TGdphS!RZtuJ@Y0$VQNhGFEKM+RHam}Sy4=TZWM4_ z3?ymUgmH+Nj5mk-ght5frQ-eI<85%{f7HvvEi=3AAfe=rUv9V>vB;&~=rTfT}0%PE>WVsrSZjK(=IAXP%onRE_j5Qb8- z(Lf~zNJE0^C}(i8gNJ8%R!p3Z$S;8#LB5=&YZCj$CC{-E@S>JAYXbtdZu^Z{5VDiI z{h@C^C+V2tBgj9qESorA+AvA9T>?$=HS-$W{2?H0RFoTmV+|l>r!&b2Wr35)29m%Y z*8c#=CE+e=^#P#zzza5@XR-@xf-#Y)@;vm};s9I|dF=|`Snrr6m2Ox;1+vX{fo`2l zoBP19K&-Xw@PdB&P5 z>u?=L7uq@tS%tb5)@m-Y+&tz|)7J`fA2L*KCwK$o5cV(oivxO?iC!ZsZFU^8ss&X9 zPFzGhT}l(TFeOol+3_l=Slj@&Gi6YN+eH!A|_)jwVVnvtY$o zTv(Nej)xOUzY%pGXhCf=6u zH5&6Nk6%xNzqh1mj1Z|jTqN^g1I%>VyI;f-!Kg)d+5lZpYEmz3q&z@jDiw{f+dT9L zVi|Q%V*z{-!O^lk>6ux{Deg-0&r%Us8%3(EiblxP2I}V1vxbbp1S0BEQyeJ)vf=dY zGC)&NC@mwvOiTbZSBKsqZ%J>`FI3u7%zd*sEAVo`VvdhKVYI-PE3NQK9#9^9$|x4M zHyz5C{TV`P1W-;hh}kX+mrgQ}=qug{E_{1t1Z>nA7!^@43%KZk=^h6V=mrmdUj)=m zb1GMIfTeDBy3AfEIgbjhJ<9{i(Vj=&N4&bH&+#v z014^QST?e<^Z7N}(Je}sq2Hk7*Am8UjZHl)w=5ZgVO~jRm^1?b zJRGx+<5I)R<$zoo2ImP`pNI$*Xn5s?xCIZya8{7-fF;1KORzW|1Nj{JjM=RzIT65L zh-$n;b4Z^x`hEt0^>xxOiPIVN5Frw%J74gcmDt-;^mnQ9oNJbRN}_{C76g-0HB@pFx`2U1BqO7 zCy(S+j!i85#34XY;LJpBZX%c#*mCf`vg{D{hZldi4Z@e!Wce@RQZ2QuckCTM|{*wY0Pp}={TyZ0lT!s_!A6=-9jVRAlV zs(>n>iE^j|o`bYd#4>3A0CAmOi^~O@cbM{@pXCA>O##fTaANj2BP-cIW-yDZ%&4Xy z$P2$^{4)_s67n=yp3<8jM0y|XK*YLfU|gDV_=Z5$OsQX288i6}qbR10$ve7`|EkkH*-Q}??;VgEQLT{K#^BfWv2KxjmP+Pe2 ze8w$KSawibzUuP%j>xLoyMLGbF7y2k-6H#Uv=iGEU&$gRGSJ$SA jyQ=#sw^MgD^iR*59@G3z{c+nq!P0-3+JB+n`M>|!Y@-I^ literal 0 HcmV?d00001 diff --git a/public/ES00B/title.svg b/public/ES00B/title.svg new file mode 100644 index 0000000..4ef177f --- /dev/null +++ b/public/ES00B/title.svg @@ -0,0 +1,59 @@ + + + + + + + + + + zero + + diff --git a/public/ES01A/cover.jpg b/public/ES01A/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bdb21bc8b71c66e1a254d81a4473169022051a52 GIT binary patch literal 26278 zcmb5VWmp_d&^Ed(3&B}5xGwJQ?(S~EU4sO7cXtTx?he7-fL1B_y7xsgn)#Eh=7QQjDikEMnOYCLA~NRx@ACH>01Xa`70L@53Jm~6gMvnb`a1+5007=8d#CpQ7APPLGzj(s z+iJkFXeb~e5mPu~EFxkz0E$+a8WUYQ zAtDJ-9*_zNw1@&!heYCIc`)%N=u=XQBMFlN-~a$I@DKnR0EGk#5QhbYK;x20KF`^F zb{UE>CSwJOlSYVvk;MKz8EHL*qgt5d{R9>uo!IHhF+IWxkwyc3-c3 z?y??#gP+d|qoWQ88r%;H4V0Ys*MAkaAO(}Lk^o2mIPcE{m1|Gv1A|V3+|GO(h9B|FDaq1^<)%kfa)=KB@gOPw>BOKrp3lcn3 zqtOZi!OVe-~-0*D9^ zh7|`0OGo@S0XM#y`^A?^`#ETu-u2PJw~OKPzQ^prOb+uLfElOX!sM*t6A&aE00>A# zd*^)`#|jF7^pI!pmXg)DENIodMGSz01eh_IV zCNRM7;9)QsnPqQEw~SuYp<{Hl1Hgj9m?4%74mPD(q z2slwFTqU(1zvbN?H-8RuWKAGlOStcsTM{#-^7~@z9kwjyWnH))tK>eL8|o}i0_Vvs zgUiC)b^<<0Crkx1JY-Fs0ZBl@kzg=XTF;f+a9PFY6|-S{18C0bJAPk|j#K|ym6VyL zbN1C!kCnK5!9ISs!@aHUE&1&^{Xc{bOlpg9-9EOxKJJZx5$Q2<7F%=mhIh3S2Y^Vi zvArA>w5K2Sy?#hp9Xrj?uBAuZ{kC(ixc=zdu6}!65tsHBPha$n*RtR1`IfMk_m9+U zn_R7TIx*+QPS*io9BE8G)7hN90S8PX40sn5QPGk!7t%ST$6qil;_#Z0>)AH@=gY$s zgTr~=aE9Gkm*_nqnyUmNj#o_Ab zX#E|Qr1yPBbh)yS3=IeYfB+<%DA$FzRn_-R#|s;H+tINm*J;mnR9(%FUwpzxulvp? znsiS1JTExnvb7uJ>vamaRG650{b_A;wUJCAtQKm1&GJrgfoOmbQUKJ+79q@58pq1M zUt-P?Ppxl-&ySuN!d70F)$4C7b@>N=-I`_AdATvC3r%(=vXJMipGO=i&^RM3nef=W zS-1^kWDwy1I1mumzpUci5r2E8hcE4SZw|Mg!Sgj!+d}8F75`hF+Qxp<`Cu^rQ>nnq zHca~fmIsG82pXr~lu{lMZy_QP4Gm5d37l868h2FAgvTP?CL;Ugfma1f#J8 zprL`mXuwOql;hJgvq=tfh~03nKm9eIzV|Pll{B}XJCzEzbyjQ@2A|l{Sa5txyWTtEdgFP;D1O%GXyuLNY6S{K^9`85o#AVub9LM-)*Wn#nf0I2>Qf+WWrp^g6Sw$4UKuZrpL7ZE=m6Z5 zMAGGfoFOt2Ve1ve-k-B=X>LQewNcv=-*)rr^j#)2StJqtxY~b41E8`;hCjt<+DwdP zAD3H}CE4bPOMe25XToFD6ly?0l2~6tPN$?k=e=bUDXiqn#NKyweK~Ez{=M2CTy5m+7Tl@b*#gYvCAkb9)J`Kk)PCilu&^K3m6%A@I0*Vua~tUSJcTK z`%?LEEKAs}kn-NAr%P0OBIna=nt%Z#WSdo-(`e{uZA624y)?bj2}p_P7GgA6t@15U zVs+Z1@||0=f_XJ8-`c9;(oave_*ap2Jo!CZwi#qEIo)5(GrT7vs)uEFeC*&4;H z+n;)VR;Ho}aIip1ZOYC87Fqx&$}I0LM?%Jk^e4-jV7plr0Y>*z%3rs2=G{DTz85XC zx566ZnU(-mJ{85zvFHPRhw(QVZLln2~$19FH=NyCGr-NgM&r14xit2e8yI+ChYEqlaH}~0g8e;@mj=rNh23t zE@z!L=lb2n&;HtxQ0OG$2@w$%^W}~iwgjXxk>n)k5P76jHkJlGmtTC#$AT-kKmGy) zE{{F9y@-oOLp^iue_r|Ct=T#++#fc0KIP^q)jE(XlgN+aN+X#~C#!F;Ea2>kLQFZw zmSwb)IXcEk`reH8X5=#0z$vrSyvb7OOBD zyC_6l`Q4_2d$;tUV1P$iM|&MZT3j7pR`^$hIKJbZ@qIoo=Q-0bkgclFaFeaAaa*eG zY@@4k>1sPC)fvLn^|V0z7QCPb%~(K~jNi!Fq3R->d7hWnu1WG%86!5SP3pO#y{4hRfMgN5*xOGzq=dojbyLm$0Qgw=3amH()P)Ah9nt{S-<@w}xroIPpdL@{Nk+0KK zgHnx}I%Tk)8b&P;xaDsyeyD#?5$Xu|Upq}7#(yxV zmjADn6$ah%4Kx86qR{(Sc@_19~BSNpe?144}U{t`KW{OiG|U&@c<+L7D}uI73A|6 z4)DaEX6=XNbIqy#hA*!LOxoyfq)^r0RwFH0?|Ksy&-{ppG-;a}pW}=(>{cT|(12K528cHq3+|BLg#b@?~s6b73RP9TcJP#%7x7J%>7=+k7xn z5RG)o3K8+6eM2*HELDvfLuu_v-lONkq*+L}fS&C8i zfEWFx@=LAS-N_`nB}c``aYb4dD%~oY-QeC%I;Ek-ut5ehpL{@30bxTbaL*T+DeXWa zT(7O?vIUrSsAIw?m-eNuV4D9#^-@*09H~ZDwCB2bM@`*ZwG?|utE0SqNQLoiZYY8` zk9~z8X@!w(_YGCl!B#h3l#Jd)z{p5!hA)WaC>AY_=*yoM9mQYvWLwyn5^?68d&S=) z_0uxisRbkTmyj?#A}2~qYej!11cWQEBlE?Wy0Hg@5g6F6LN%9|!-B?}Qh`nm{3Q34 z);*EF3C%Wgbjz7P0tX3u>#0#j8|v7{{2 zkGm`w2o`AL5=JQ5+)9Q~KNk9ds%#46#9I?OU0hB>6HGRZOme%W6UgL^*s2j+c8M$F z%)fr1uq)n-)6Kuir>@}~PVEl;EC*f-J1UxU(07B$zMWLTa%}Ezqe+P~oVr~|O-IpB!oo0WZ^1(_v|g>@v5mA8YcNnYSt9$z@)GLd#UZgoop61pm=#=(7n5qJmuGfX z-g?Zm9+_>Bb?l$)f_tAYd_!%C@N-azB6BM#!_k*JsQ|`Xp5ikGR!@yhwh52B2B?P- z?3etz#{E(TzIoG)qLkgk?V%DwX}ry_I97nCtw`ieBYIPZlP*Ipu!=lq(;ymgHqwLRn{%qKnsh=Kn5VmnH zge~4dtr^rW>qnKfVGQ6{pc3-o6rrX+?fOv^lhJA(=hb?N}~v zjN#HZYYi>Fk=a~i#MW=EsS&aI&b&lBzmxZt4{Xw|w&)E-{V;|V1%KIw`33D8yHshH z+1#B&i~WLCut!@8Yq}{HO@%J@IA!T6$Lf!ui-VC^u13w&(%<&(sx!as+f>iFm|`qp z8II)5l;Xlxutkg~L!1`&+G(~;39xfZw<$*EtAf+b_^ z3+Z~qTV-+{qCnXM<6JP~E;HZqQzFiz!n$S5RK1&@R59jQNZ@J#V+Un->?OlJ&eL=) z!mj*_5%gU&65=s2IxoVDk%x?2lB5j zi@iSPsLCppD-ZiZ%k22vywot1m>OmzesZBdXNS#TWwIw>kkoIzZ+>kkJ!C(>F$k%Z zn~qSbRxK;c^3Fo&xu&P!>KkL^#cpiz5)2QQ_M%sX4!Gn;u;C3dSXfkO{9SF|H~QmC z)KAf-0gfox@KCC)s9}_cUv>%Y^qnuoH3*M#&iWgEdg?sk8H43tWSl7Mr4cH4{4i|C z+Q#8UeIM%F_|n`pJ&2{&c9E`RCT-LBZeB|2C?BGavIM`N2)SiVqdWx45&aZbRJZHf_28K{iZ|#hjsK+Jq$*dyRy<#P#<2 zm&`}K_~Ml%aiLbD*YRH?d$1DLbXm#{ELaGR1e$b&Z$Gu!x#=1!N>hH;H`^vwBJXEY zUYo`9l(TqVv0<`kMHt8{VY>>0JEM)Y-NGl9?O zkrVisOj5&8)zctz(7Vl3o5$~JBlo*4Gas-|I%8^*FZheE9D(0%`}IUHfSG0RgkX*U zQ(z7cMb=ZsQ=t(Z_Yu4H$^I1PVI!c}U+-#o;m^z$>MHLLP1(d}^v}z`J+FtB1ySEh z{H-dl@`%2OC6&84T()L*S##t;51Y2q2%NhyO~Dz5G+QHViS>Zg-S5hs-3uTZw|RM% zEF#jSy5p??gX4?OceFa`W;E0G*HIgKbjCF;t*y)J8+tUwsa#QUF}Z!!MfRWOmF!d7 zdKYt3zzX*4U|Vy0vZP><%C)Fr|I@ygnnj@{%zU)&Mt|wI_2A!CZ<5_rjdp(lj}ErV z$#pWv#ae4W4{vwbaYBORhJxNAq->rPMO%gRTud-n0@X1nM@~PAA;me=&$(D95sN#M` zi*MM|Zk5z+<;MGUOueSgOFPYOEvBxV8byPOOr}ILmsibkRFg07n>9Q8@aTf#*OIU(JUXyf zUlp-plu7f5xVxY%Z;ml1=>k3m-kqI}UDqgnA?tF4e~dHDnpm{0iE_>4YTh}s*-fOU zOjd(rN>~)HOPOT6xz5)lUYnj=O@W4D8B9T+1I7`G4jSvYQAxdQbjc(uM|%0B$)DgZ zUgah7ip7=&oN?LM^Uu#*1!LZ^aF*QWb_Sl`9in+{)i&ok^-(m`WxhXBd@q&D#y3e8 zP2EitD;RTeoR)wyP1gw)w>(i-^Af89N0%yxJj_=kpvI6gxGgB2D2joMei=-bX{W}kmZW5waeIk*u zM5*=oWsIMg+;)mJ@vZa<>u*1HP+X{5xoCv%49EXcp);ZPMo#cfb75E$kC?QI8glc_lUr`N!LdcA0#UOGwN`2VVXVSfSr zKSKUkm``jJ7)+%`?6fQX(Zl4oQe;T?YfA3lY4A!e!mlX9> zUb~OZy}ZjL`xrL4D7B_>s=Qgz$zKpni_s@L#Ixgov1HdYjvalaJn?D@&Vr_i4s6XY8J9c= zTIMXNA3x&mKYIQlAQH8(8bDyAHyB2t6Wh`LA!%!pk+B+5f~49di*xU%Ux8z( zYs~i#eE>qkf?$9!zz_e{_}yQG22Bb=X8~i7v5KgWFdI8#k_)Q_!ic&g7BuX#nP5T0 zluZZb{}+gW6$0Ms5N6eAR%uio(Ph+{bVU7se5tn3Wz@)i|8L}q#ryCjBlD4I|I6UM z6~)urZCc!lp5FZvk(YV>`B{-%>E?3w@H^!*d%<0c!9dZn!Y%bKFTTD!@^hQ{`6iMl z<_Ekrp6(mJW@c`glimNk}gIU<`6!Usb{aUIm*j}G-IQJ91~Py7UXDB0agf;XiX><&+a~LX}>9V&pMSpFM(Z2 z@t$}cDx@d#efb;i&E_YTp<%9RojC|2Dps}WQ=F!X$>_1@C81%r4qg|gm3E=x%CL?# zQxvg#-d4(#hq&m%?`T@&;7TtELV4wx1S3-$kQx0t4CVnK5p^OG4Sk1?hlgF6i|4qK(THcf{V=k*QfSJE@fsN!)@KJcJe%Z|*2p{t zTj-N52H4+ASBOGFrq}|!@ohsEWs^mKl$^cUw*Y=*EZsU!cT0@jglsV|m*a^SZO2(_ zi4-Rc%jbu%CZ#C?QZ@{OjfvUAvhVZ{wD}@y&fj+~vNy~gG?h7YWO*u^MQxc=g-svG zH8QWJy#EmOiKNgUOicY``9}WL;LoBo9DE4jR5hsq&;1u$SH;RRChsgq*OxlxW4b>$ zYa6o+Fk#0hk$6tA1luZW+~54QJomT}flF}E3g zJqb_2}F2#M^TQSlkOn%Qx&S-V{gZ>PW7^*NgeNK= zj|hb?B390Huf}WfF!9XV+Qj+D^%v6lmM36X6b7r5Cm!1wWgb-*)_yBi(JW!DA?MDg zb{D&J`>R{6lv?wY9!}B`G=)d3>+X`2t$drY*k(#~~tz6 z)Iy}|dH!rbFaG_JkES9OwyQ*(wQXnwtw>NPE8BzJR=u-qScg+_*MbM?bVnDDC)L9VOOs6VsM*(D}Bv0s@w zCZBUt=AgE;a9*=OM!Ls`4vk`RFX7~6IM&><^e`N+Hl_MyaoIQw_;nNdjReN8i;6R% z`e=xH4P5!jn%$A;hp9J~Aob1mG^%kpQ{HMULqkn{UI`f1gk#bTB%->+KGaS&S|2V@ zPr$BV`^~w={e=-l{p>HGnc9e9yz#tLKJuJXW!~H^T*9`>Ln%G1o=`>+X^6GNiK50@ zsZM7tZ~qXv^{3uXwyIDFePMs5nr5!yerTQGql-*J0_Nm`75F8bm%i}TbHB26r#mEVhD$X`oo@|W$=5mC8b1W*pnULSM3eCuj_5jFm-z zkoORgrU5QJVW<9Ljw1=dHoCYd2OVZGtG?P^)*cCF4Zeexj=626ut@IqKE)J{*H*uw|!2bml`xT6ee%+xeta))~cdW-UQ}Z?`*PvFk_{_4kF)!uF z>i!pSZB4|DxOY02Mu^WZbrDF(o;IGIn)}E?JpCzxa+TiuH(kyLwzI*rqWY z_AxY%DV0S!+|DB<- zR$iEIim!`Q<^FEZ$&&6bApDiMaK*e8IVcy;qDHJpxANKsiRfZ<8X?%mBvbn@VE<2v z!%%R^RFPs8zDD?CyR;-Vp5oOgQ^KMeil;uzUjVgvp_tN@KEEPw@;tQJdNcQqGoZ>8 zXX{W_R1QA09kb1~)PQ$pDsW-Zfo_fCf}A`dyU}5ZePFzjeapS~$Jm?)8zK3IW6%6n zABBw(OZe|l?c}cEt7+cmx4!`OBW|&*PtRUouK1x+tU8N+19Dz9sCH)`#F^6;GJDIm z0Ha~~?WK#1Q+(wKnpTEm*qoLc8C>K&Xs`mLM(Sr@yk<(*Q;v$Dt9^8czn~FCPV-MQ zXR2K}%x_|@#D%I3slEGmEVnB1%XhEChhu)syuhvb7NIFy+9GG4?#l>jl=LXALDvl-GfySLAgel->g=qa!sdOCDp&UtBvK`0NC` zK6v@Bne-`g)kqzwh~pEpKk2`$hO4>la0o_UD}-lv&IPhnPUB8WB)8EYxn*Itb8WC9 zJ6RFCR@d3Zg}7;z?mj7eNMF)DHX|yZNu+IJu4dodll(mAML+UJBelve^`Lx7K#I0l z7hrM7NgI;^vqn(KQ*@~L9Q%{~#(i~b1v$+!XGXa(*21lx9>~j%?XqrHi-OQiJLkm7s(OB-uit7Uz9AA4ksiP{%SFzs z4w+0U2-;QCen4gb(D};5ZgW2V8Dn3C8Ju?%#vk!FFA(PFPp)a!8LSo1Lem{ns+~lZ zwU>=sY{X(=LjItnZluIvB#dP^7D;_eI0(O0e@|r223bcL`A+EgthPNE^@sZ>T2INV*sEtX>}4jY6C0I+xse97 zdBd8YeN6cZ&^1IcZ$tF*B(uX^DI!g%FS|BwRcQ49b$?K?iD%V}>U+sss#3=Mbz5J& zy0T|iRPTlzif$R~jFtgm*0<;*!nAN|_48GA)7`eU?a{Kp%h!v~3dLl6#2*VAuMe!E zEL#`C`r|tbUa2qe={8U5Yw`#;N9N+bg$=eTWZAiO+Rr00U}v-IG63hTnspgqXWxx` z8t^+b@eiDMM<@OdG=WCSBBEmK3=T{rDQI9G*uA-(7yds!MIq84iYAJk`lEa@52=Ik z#5-?{v6ZAMjJ0{5wDZk8Z3HPt9RCXuBg6UXj-iiv(D@GI?ZoNrmU5fQfr_P}Xd*21VoCU{HoYzeNQ7@EqdTQE~ZAWKcNi;L~NP~DA3@r@_vI(f@b_p2OB zMO!W8ynz=bUgIv56L)g?s{SVJe#HanO71{w_~oKN zE+m&_g!V#Eh5m`9pxpP5GMC+A)NjmcAO#P0NDoK%3wPR8wJ6pdNSr`28pcJ8SYAbC z%^@7GWi{iLikrNF2|?6>>6NOCu8`XJhCSxPJ$IdgFN%TWH~BGfoc)eTGe9!^Cj6n0~f-w$^0L_9Hgc%-?EjgC?had-ymJYUNXhwKuX z+NIp2#H3GNOM9 zd-BHAmoPWoXV52!U}QCZo@@kpy)5o4Z1y1JD3U4vvJM8przadv%u^S+4DXg#=_BMS z5tH*Pk8u~Z<|iJ_rOH0v2vlLf@0d<3FxZDWS81M=ZV%k+vhHVqQWnMPTH22fF0lA}BDh zX3tz@f3ch_L|tOI&|?)G3dGL$-#1B1H@|R_3Z583j1=223nMa_3#n#Jzg`5Q&&7dt zxO`*dP8m%_8x8lc&5TH#%E^!{Xf5vy&~aN>CGHAl!06iKfY#gujT{}juSR}L<#L-A z1CfMl}^N-LsQDpM}dlkrBI=gwmt$;a#q{8oY-d~ z9ay=?1i{0r$7Z8iA*51L7!StS{>o;!lndU>x`ZD#-3}x;=Pq%5;l5Yo<3ObS;NzyU zP^k=K#nKad=4oQmbQV~a32@P*tc8HsRGJ0g?<=g`)15?B35A1Iez$)T(!MSN>jUdHYjw3VM`awyj1%xt zNT%{9-HRuCQY|GbkAhhV8b57HuBowCq6Tg0emg2@l$9r?aloaEQx78{hdu7-P5jOIo7M>w{fow;WhwGsK9Wi6BK*N>0=6Wfn(Ry# zH!6&mI;|d9Y7Mxig6DU~PTj>!58?wK-Z!DM^1lFP)g2#F%zhT@huyOhK?F)cyafqw##aZus^G!^m-Y_2&AT6GEz4#`YZ-lIz$y&qCF?GlOv>t);V)dI6hRMyOwG0{g2_LT) z{=jKPZ`&lf0Hu4j(fv?!Sb{biMmC#NE=4DXog@uhY?IrGp+~`-#F%3>xlnL^oc%By zO_+2ro8-_i03IhI$sP_&+%J?vR~@~7B=`$Z$@C8*n|UTs$2j?;DcQl+#$$kH9AoRW zlTeRIwCAlVZ@Y>(E#pb^2u41Nk)x=$+Po9mn^wlb%B{K?lfiE$ogORnrLfZcC1>ms zqt$RV(k%w9{3=mNkUW!hqIyC}uNsSO5SsS!^P*2f>-fVonj)n*6+UZP9?? zLkqP%T)Qz1%RI`r8=BD*x_hy5J6XnwN3zh9ild>l!$R|#yu+e9(_*zdaa~hq7t+4~ z(^C`7lEJkvN55ddt|gqY3wCaZe8JJqQh`skctp?A&K)an7@O!uLXa6x(l1ZTh<@&| zLzbZqA}lgVUCmZhE=QggB;Y#q1G!7G;ujR?843z@<5sVK%YB#E=^Z-*Igq3!hJ4!3_oyA1G*dQA((LQtxFH z-`0i;%3_F8gyOcnqVT3S>{RKF7LWSKe8q&Pot7Q%89n+_q9kLo5q#$-uJ}-~6WePj znwhLzyWjJ~gh!=5v3R^<7)?gLD)SlWB)7hrKXk)w&z^K)E2n+W+>l5Wi1r2->AW*v z)xSMk6nTgS@oK*R5YtYBpl*(`3ukc_jtY$7%nOxB&L2u7f<0NFKgpJXS19F`6BX}9 zp_k$!<&kL}E;)}Pl!1nn{s|RXG*m&dQeFWDkqgvDw8X8|!t~n<__l9W#{~Qi8%r0Q zJQ)Y_W@6qp+1SOos4Cnr!qgyxXajfbk_4e!Jk};`3)q#{>VhpegKYT5<*IjVyf6wS zw?svc6#IDyG0Z7xqp=NU$0hIP)FP}Er@=K^{>_}o17F6XlN<@+F!v*i56g`b0kzy_ z8eBkd+7R&}LgNQbZ)vUm$hJUfFZ((fNy}$buSh6Z^ykCTLnP~%R%hacEQ|(jTj&YT z2Ql*C0k%Mu_<%;saXK7)IbWPQ$wRxlQBcA5K%guJ`!>39IyV1bz_-$vyJ5F;{7Slw836FeG465(bt z#bPgLfeOj0syu0@oivZ4Vvx@OxS{c(ijwKq2Xb#NqL7`ST@wDBS*EW!1LfozM;xZ1 z0_+MR;Nb(=6P;;{!cXREXcFpXV{>zxzCosLfrWnoL2~xSCXy7(R*jz6XyPYg^W&&@ zkO_K|*D`D5{uCu8cirNEA&pbc*cPsLf+EC=s(8LEK5c zKw0{sj3aa8*{aJsNKZ1ZjeMB1KQ7&L*j)^LkZhe4u6j>q!T6{E3jBac{p|JXdYx)b zL@-g50V!R>lBM{Jto=!hBnL>eLgI~=Lf6C?T~2#Px&T?k8r@oraxUB#T*of9yTQq{ zjbHpQ?i4p4qeNRkFp$iVZ6f~>ogD(^-~y!*q8um?zy}3(VO$`~Oavs~Lyw0CR7){) zzm)gx%OCfB{oPDLO;}bck$LaIu0+;Q%PzCv7}z1L zoCaqgm%`M?3Mn%8f_IqE3(Bnv4h;;6!z*%-|A0hGj+d@O zZaBwT#$lT8iG0bzClcZ2Z!R9~_fGPVu5;>={Sv`?bz;KVx~sdton);S7d}$Ut2>Dj zcV`8qIB*kOzGCZ&A?4Oa-rr78UMEHiNsSL)rZZoY6y^hapC z$HF<@uv)@R_9ySWsSHbAOzDW##A;no8NzPbQ7e&WYZfa}0OQRENXy4+N9QOTMz1A` zU}kaU3rtpgz6Ro`(QcC!>d1rp5+Y%MY#HYEI0kQVVb_-+~#(`I#I6@B? zh!Oh}sZuC0Xnk(*4!xUY1LjXIWc4x`f$kq0LX}r5bxCxwC-CjWG-9`@Db=!~dZl1= znM0|VIfxR?yjYB1M6z7;3fK(^h3H+iSWGuv!V~fAoy@{0sKv7Qq#~Uwx2LfPZ*<}h z!XVjy0Yxrp64u#>o1F2aJYOUH&}__yeNuMonrJb7?=zq2UHrzxZ-))AsHCF#*u ziI<`CIpNa|d}<4lRN@5}EekOo#p?yK`kch_dBpLU8!US?vP5>cois5a+#L$aq$-l@I za!kdW0t)HqS0g)CbNvGy$}E9Hy)sTRLzw)@)80%$E;d~RxFutwC^*})-prS%q=N7Q zA{4k^Fb;m92YwrpnxI@gYj{VI5L9YKVHy5JrFELoVRI@kxJ0)1=YFtqs4$y=cPR`Z z=)Pzw{!Sl7*>R7gp4<(83Jg*g;&}`v{W#Xo%^^v*deFtiH2&Bdq*8@j7LG}hlveSC zo^)tq$xKFQB|{IRE&WM!HKc;{6B<37NNKr5;V@ZQf2=0)PQ@YtTr7QtFe8MgK2kOx zgu~Lmr?#WZ6i7feC5TY}L{aO2484zWLak$EG!*e6*;lQR+$01^Of4hevIPi1<~#z9Mzh9tm2!0?bH@vwmR761&oFiFDu zr3@rMRw+mX5C9Jgh9U`qhoH+qg2>BtwQpy7E=$ z9}NNUz#tJ&g3JfTsug76p`?HG0N=Stf&)SQMtpRT0*;da;Go|x!O}av*$eBCqZK|9 zur$>>Z3*zj+Gj7V>y6v+kOW~;bU07|)JN`cQ@$_E4Qc%WB2@3f2>_^nX=U8E+0CUZ z4ibS55P6?V23f>6Rf0=%JON0P1BD@AX(*sm6jn3{HKrh^ofUXb60i(x5F98;goJV2Li;;-86EWa$20+w*IjBmmY5tO5vv#}>yYTulZCyeoh(Yyx};5Gu(VDvm>DpH+k;NE!kZ z9RkC^=C}7*ooKB=0^S9_4iD0l##XX`ph?w7TNfvY0EI89|8ts;OZ=}D!*aymXnXVVFCe7o z{J!IN{wd%6x8K+OD}Ri?>3l>!e&}-79-9zo$K`vg`!d<8N_;Qr4wZOE<@;8Q_3g`t zjhPAU?#RI;w;Qx~&xkPM!O!gjM9Zc0ro)3L#F6O=F2~;^_~!1rvjNbJKV;69?anSH z9lHbE7xSr`W8B3}6@;9)62<6?84e=)72m^`$psINK%g$RXq}Z?=~H5)V5!^dlVoq` zZ>a6ZF7s56O9E&0Xb@P>V`b$zWqsQS@V(a~+>+i@9Vb2+KLZwZgofoC7Cv=zHE z?T5xiCJ~|W%WgYNuTLFMtTv^5lH?xSS-#>(|B-Gea^_)TTOEA&V+QY@9-M}D1yY>; zw&R2nFyCl+n^8>vz3NbaPU_1RJ&w=FA4=uRbdzR5$@7~jA-wULA;dS)NikPnfg$gQ zr`zg_fo_Mu+4t{`BcQ*4NsxUlDSP*yJZW!hct0Y@J5yh;#urreK#zlMTFE9NN>tnp zxKF~bIv%%{$J}GSqv?5y;-m;;<^dOiW6EWEucC_JTPmRZxQgvT8)G)Faz}iu8nu(LR9`znvHAF9C@wGY4Fe^ z+J6=wtX9*%Ar_Zkp2x6ixNrTr@U*f+o@{Fr*>%Qg!am|n$o<_UD0;MkoAK!H-zN?8 z##{w6*?KY722=A9CmGlHHXX@G+V|}#I%HcJm61A-JS1`T7Y?dsGd<{subp!zdCu!1w=kO-g*Bns&;=iWz#DX2Kc~W<03!z2wi+Q@9j=A>55s(k=)_tC zExWfhZK!tFWWV2_(=w8Ym+{XGYkmuxtR5D`+#X18#M=`(KIJ98`uMYq5Nt2YI>6;m9!b{;L#W&+!Ri07rbY|7_gMlvSRRehVs73yO(p zo5`=f#Opio2+r}*^nseTbGv=j2EDHiGR1N|zuhR2Vdwxn;4xDdqeS0$dz#`uc z+hv|FXyQ)pB1|W4a&nXVvd&&e!Yr(!{6E2&|AN@S8}_Z+0UJJ!$(l8~Ee96w2b-lT%^E%X*7u&L z_oJN<>~@)-x8vCcL#xqJNmJxTk+8Us4}Z;e5;W2fH%9o zl*BnmA~TBinqIY3=Kf(m-_Q?fO$^#>!`osYVMB1v0f%@W#8#(T%yBdou0(E11?R){ zN)>cy=NU*TTi>KafPVYAd-NkySMrc$*Ncp>zqYMa>j;@;Ha)3T`-rrprZoZfhVzxk z+3ZDpl_csJfq8gW7h{q{Xwqlrvk|1dGlKg(o)G!OSiS~Qi1yac2ggkh*crym*3~^l zVkA=>AXNuA9rR{?ws+=uw}=Eu%Y1O$T9-&?+?4qfG?s7_9`z%!5BpK>B%l#(5)n;G z5H`WVT_Mg_=NAEIh`?;~9v@EI{}b&b65D#XcWtK$9-PVzx%jj=COej`nHZIoxWkVp z7IF0N-_6M~={y%JGI4_$PC_?{A&Ac9!#%NfNjwibD|wiIey%M0hb6MWhDh4S3@#n` z!(tnD30Ii@5z8}?#PeW>U$oi#v6GT*+b0V)X0B%??lq&_TwwBS20&Oc4-OD=;EH3P z*!jsW*Cy9;;cRSqq1)QpKC1>tf(Xd8hf-{CXYM$egKC>_+j26+(h0`IQwDs`QbtZD zLP`9$jxFEt5tG9Y`F3#}nFco}5+=mR=GX=pZ-Li^k3ZmL+rWElqjuUkVG*`FwlgH= z6+Cq^eXdpGiL_o2Ndb#@lygnJ=Zx$yhCw+$$~N_QPPqEq2`?@bzJ4 zeecEL*yQ>Tj;uPIlj>I>Y+RTL27BC{@OSt|Z?9O;8&=Q31{4EI z@qRuciV(UL*R)M0CKSfV2P*RvM(9zT`*Q=Oj)3JVSLPtLI*S3EhnTP{8xgrGJSbsHU|wHm+72DOqcxA&JW zF_sRm__YP#jz1s8U-57)l~Yi)%E}8G?e$eRlTpWIkt`!K^SNI{$5Af*Y=Yj6s#w7>s8-s8LemLut3*cNIJ7eqG`xk6&WVeuUI zo3`TH(^ukDRd3caQ9URVn1b0}C4U0hxHQM<3ar4VzqGn<3{5}-j>N$Ze$bEcIAaC6 zV?U&CiYCQ9h7sz<+dJbwNt0q45qv+G(p~De8p~^ucPN0>aZ%P-cy5R^}`EvY=+JK0lxczS^Mm=4VdlwC*u!AU!vTLWQd_1>&B{C_+}>SAsA~f))$? zDJne6Q`9%qU87w=M*bxYp}%O|9Mj?lEN=@vCG43_$j~4I->6+o1gbRp%%IKL_KYh7 z!(NasBO^T#3t%}V4+L!rY>mq7g@w>UHfQ+r{B4OSy$H&`6O4bBKzKnkpE-v05-wSyOq;?)m^3`{gRSI03~of>C9i9<;) zwW^7{?p2CH`Cy}rw-v5$n~J43Mx|o^0G<^vUALZprT+l%H!`V$t4=cmi$){D*duK~ z$uK=K*h?tQ?je&foV=0)C^9Y+#1QZnYN8nPFd*IdAMzpQ*R(XB(A=r%nVUN54mDl8 zOxjZ|RInD#LE;fmi?@pRimIfpf9eg8Q8KLc1y~Q=UcWIk0NvLx28Ovv@p(IO4;qZM z5l&^}81$CyiRTjYX#}947z_m;LOlNf2k;mCW;cuU2eyn6DuJXFkhqO!`KTqJwVJqV z+g3sj{b;%-4#zbZ0Ewu)i*Gt( z;Mg*pm~83xM9{)!Fu(wq`kzqiE A)EDQ|2~}iQo_TZ28P8DHl@;7+x+ItB(+>j4(E4Qm{A26#oF^ z6BA3)*%&JZyF^6@w$f6@t;96KHrb{nXv`(tEt|kR~fgX->_zK#*Kr#OS)=P8?XdRUkOOoRnLLWs|JCrJzEzwwUxMm!A zR}lAVgOGmw$lC@plc(SH$@V(7`2P;2VT zM7+;+J?bo@!cI0?Xz)xtp@<{y`+TuyL7QxkGE$m==M>xc#Ya zfm(MLps7n6D|ZS7P!%)nanc!1RgQnLl(@NPAIZL_CL*@Q{{WC#Rf$Ax7sjAQHCJQC zpkBdkXSZIl9L*dhkQL%>^p3$aO1S;vAr!^v&%e?$IYXA6d5BeeIOm^fWi!6206SZV z(TlsyO~7y>@z#m<@iweC5Uu*1e+*a((hal1>;R_lMV7f45CiKRRkiI?1+hRYtK^gt z1Oww!F%%+it;4W?7^|=2$nsND;Hi_N*m3Py+M+bKJmCI7OKpN#>3bi=6 z&;(;7NWLJ7QZRIMB9b>xYywa$Qf#avDq&_=+ZNYR3!hXLDs0?8ZF(2$m^teJJ=+Y- zZntNyr83j_#d(O<;g47jxpgkU3w>pY09ssD;1ngBafy(&cq)Pv+q;Xf{r>=NIJIa^ z?@AE;DxtW{D&6B9&Fq&Uk_`n>dEOb4pmsBD#Rgbw2i7Ry>l=lxO4jP?V7%O+s{|%G zGk73Vd}<7ipm|{RoIw8o>{>pz3?SIF^_u;-pfC&+EdhDndyPyK4J%089V*3#WOzy| z7pTsG61$oMlwdfyw%L)m@RvbkYU-thv?wpuCn}0+AQ*-NFg0fa!Qo|Q29V~vhGZw1 zSB|QUh8V+srUvi@ryWIk3S&<&r+9_M&3Zr$3;|b8{{WD&wqw)URaN3QfXMH1$b8~a zx^v}M3eq*%)#LSvz+os*CHyHX3^Av@5K7G! z-sOi|2XJ}bnm#3p)w-;~Lg$=CYVy5HqbzP?4&ZlXH{pg2KSTFW@7B@fyiA6b)ty%! zA|riaS-VFrA#w~69v=N5wzHk>#(wg_K417FaTzYq=y;BftvxcGasb%{E0t$Ch*u)m z7@G4397{`vDK2PmUO*ud6$CmL9XEnjX=}b_QNF;k%}d(?uxjHDn`s4lIhENGu-A(q z`Inv-EatByMFk^Tn8{b>Dtef%Yt{u{m`%a1uTv#TUQ-d)O_5Gof(1is{{UkM0ZGTk zW~dlqyn4Z+Dabh&Z~HCmw@<9(oG2rpEa3{yZUzmPkaGSeGB2Pn9|9xD@pfz_K-01d#4wkl+Yo<{1GhifY=wX?lPbSq2JV@c3}%H*WwD zcX-sdv;@Gbw^bL=?;W35>N~~&q_guYQLj{Sm<%A~%dAFPj$=p$8Vw!AgE}P zrCXo8N@XaqYdm^HY$$B|qgYFBUYNSYYyfZf5hmD7A;H)0aWp6cY+SI(Z*wxcIB_jP zp3{-5i`E%=#j)O%2fbtKQ3xKP<{wO^SBP)`TY|j8?WjZ^La;%N6sOqn7g_6y9vX|F z2)hcdmxe516-TH2fKy{Sy@Sd5f?&-?nuVunEDj=!GBC7@XsW{M;n?$a3$P=<5O^M7 zG)}>xYWzSJ=7poNO3n_WW%#rPkvkX^8%h)2UT3%4v3-ntTRS|7MPi8bHRSKwUpOVl zbTRbKm(MUZQkXOo>CB*B>vOV~qF`1ObEtMHU6=Q%akQ%MUCNeI7;tRAF@#uM20wn$ zmd6ZwBXK$E>brz0HL$#$#-$M~%PbT~1+zh`hG$*_Np%HS{{XS8De|jP zz)TT{E9CJgbZJ_%y!BG{%(u$?Atj@wc@4v8G#V`H5z=^0Y=c$NE0kb_I%vX+pD=@9 zaO0TvLC7trJ-N~d6b%`#_5)zrRthgF*{*tyk<1LZp|N`6rKSCFoo>khD=|twAU0CY z;I9#CW_!>8RL39kDpeFB)L5T0D7jg#T;eVPO;z!&i?;6|D-;35)5guM}mt z1}U}JEv)m6z=AQ4A!!~64sq*20$^&;DfC=WGtr>*h#VxJ2dplDmnLGQU~5E>N!ett zBZWD1^%s*v09>laJlY19#@z8O{O^La2S8#jJVLo)VD~{`G|jNM*^KHIT5r{vY8Itr zq$p9H@3_fKju609Ock+;A|}{d2BFD=YvL(|L)K-=QW^&?c9f0=xN>475j5#hy0n*y z&1P5%K~D1xXjhgYHAiF+)@Q&6*cKA$VBi_ zkd`Aql?FP{htf+z|op{U{ zTV)9<+FjuKq<26)2bA0CsD~@8Op2IyD$Bu86j;wt1JqWAU^he51mun@ z>k%QPWFBA}Of0Tnw=Ns{&67hoUPi8p{UoIDVaHM>rI54>AfBC;-O zEtICWxU?5fre%?XI_51#eIra*hT>ZAR^=;lxpOWhSkvK&GgT-C%lg0x!I#%}6;)d~ z)0ouRU7T|PAp}@q^p$iC-f|+jBm=OwTaF|co?_LFP6>>fc=wL$4h1T}Ef}b138~30 z-jh#rRT}&Tt=P;R`b?&o^IUU#jtB5-wH~Jw+@+X?CW(c+i7)j<01+7r5!AX2^d-VQ zSYL^Cjv>fq-gLpGeKx#(iET_D3v_WVoaeZQaGYJi5EDJeHt=GjTzsxjHk~v|cLJZMV2I*@g@~%jYz#hM+79S}d@; zt_LBjh;6hC5CFKHm|`j`yk62^EnYBGLJDZ2F?F923d@~Jz9nzOdF`A-l2rj=ZBIaM z4LL4Gv^XZOJ|OM}9&i3NP}8x)t4>go{}>j1QCej`+0ZiWh1 zN>XufN~dsOG>6Qg_0%r*FVl&y=VuUrr#wJfHaVhG1HVbBo94-Tt&LUuFaVQpzfdCv z8g9rxAZT0rP@&sLDCH p|4|;vyAJQsk{|6xN=gQ*%y~#-XdD2boNYU9p@-@IK=( z18Gy~C{kfpEu%zGOx#<_o!ozX!G}l83&tUy`J=&<%Oemwa;(1xii|ZG0jIgo)lsvG zbt{)C?L>5ZYyi=RQtLx^B`-c8ggIVsBqj_3+jKo~INUk1k2MWLjeypMB2x24%sJfC zGDr$nTNlK1A$ktXuTV)`n5qVYV^22+vSFUam5X8W#H?`9_)jF#;q)EBt|sC4O^cVz z1F&O!LE;?D50)~EE=uN8LY!gx%d(W&a5CXcR2CsrqgiG4k91ga=j{!latV^IZ7q3N z);z#10@Zi^dqIY-+XdO&0##epYxbrQXyb3)L`8<~$3`I9#2gr6DB(rgOep-pMI4&U zwN{FatuPId9m3B>7(gBb_#dkkST2s=5VBY)a47qa%v5G# zIN{WY5tTaVYTlOMD;@){C1;Q4Oh{celH3H~&rC6E7ECvE_ zTOTR)7{`iEU7VlnN|_H3AX>0_g$_K%V(@9HMld+yBMKtNkK9dIq04BosYtV?#tYEC z%YL%v%2|gz%uOhxqv8^B3ux3znnkc$9}w@1>AhTbsTj+SpltBB@AsKaN+lVnEmJkc z)q4*N3^3exO`Zj-NRQGb>z{wivvCvy5ScvEMhp8E zIS!sI&$L@)1F^VRxXcduw&YX5^$zsQ7V>AtnDU~6k!Wc;jds^1cW}F+UOHlJuZRRw zqbUJpH^%l*Zq0^35h?Q+^em>9H+%X3ejVes(@XtS8WQcz2QuQ z3>M>D1&fyojYtvQqn}nQig{5SKJ_V@WR?yC(AZve2Fi`D)X+Ux!U2dBR`PDtWkg#@ zoD#2Mf9dTi#J->dFv(>#%`oy`sdNCXP|q|E6M46d6rUs;Vy6UAaQ&dSBOUW7z$*iB z>{x9^-Ae{+bBSdGb&=)~TEf?GSf$viUpzmEs*Pr!x?ZI@DWYO^RB(vfB3No6tULvn z)u`I(GQbBdH%>1(EBEOOU{?*@6G5uW=g;0&F`5DLwuL)lCzoCDOT^U1A?Vy6$2)7gZ}@;e{KR#+1OL5a4==DQjVNqW=JV#+GGeBdZjeFG)j? zO)WnfnHE|za@ZR!hh1OR0!UilFz&FZ7+Y)nf`kw=b^BS1P{F5r;!r5T)mk2&kbF^h zJ`ScQI4Ty)Iy}Z*flGdaN^vuy1w=Pi`#^GoppW1s#Cnn`YQMLACqK!$Q@g z;^UT=K~=aVHDO(U$gc&dOLt68lC9B!#G`87Q$F{^L!!lR5n5<&@O56YgBCh?D`wsZ zt*Zi2s3FI{aFK5IN-fymcgON85MG#=5FELujL%dv{Xm}P-uUozJ!L|WCqT*Nl^+wlc~3}gNKOIWZByzh}C9B2*aUiTSMXilEHCMfC~>I1TX zAMe&YQ><`QzSw=E`(DeCsJ7PrEoDdZ?z= zoQA(Ky&&_p2&i%mWcqtcDXv?llKP6JfxS8Pj~pc#w757pPk4bMmC&d65vm3$pl<%t zl9za*u~L=dHGH?(1e8Kb*>hfM^S&Z5L6vNlhZBmoa`J1`JRY?k=LOvOf7qd;^fAK_ zg8H#qY=DY_^}!D<=mkxzR0dwG?eP~-otD$jn8C%AyuD#|BT`zZ4BLm+DV18S<#|}Q z3g1m zp>gdkaV7@=N6;cbCdubfYli3wz*J!2wUOecA){iR#8w6nwZ{i{R>F^2X|d=x8I1sd z2{P5id;$Ot!(1O&T8?@12uj4Pc$CW>;E10VKX{esj#{d~FHOc%2M#U%CRFgS+mT-N z8o9B|wbPf@U0TKBrMN-n>i+=pIY2M#5|NNzL~skMdzNlLtv_foZo8LMg+0MR#9NrA z)I`}9sHDuT3%XLzAfr)C?G@szLdVt~Ts$&Yczlp(5|x^D?JVF4 zm}y>8m~3)e$t|M5*5xI37ZMRrLYE2$8i=GLwP1RMgG)^^=sL6JT*hJz)vQ!^<_Th; z>Q>cPa*M!3nPlD}Zhm8Da;jCh<_p2c`yIHANK(sKW3DaiC|d-vgJNM;P`)mq5Df#) zRr4K!EfLuD17g}U;%3f$;-Xtw#JIH1z~|pgXI2Z01iv_?{<9+9{{RR9=h7o^$BmD8 zrjwh?L@jHxNCW~gVU1V$1h{0nLZgjj2K6W`Q-kjsg{)Fv(s)FEu_zF7xyZu6@B!3U zpu?66Cyl0-;STP=$?3u3X%O1tVd^9eAWyKalRTYA9mpe2ckww0sSG5lpj}Ee+3}B= za6F2{)&&!2xODNrXp95tW}#zKHl81tqU|&j3%6Qsio>ne?x1AW8*-$STH4VhLso-QC8ziDx7gJ9_LQcRXu9ypm#7Ul$}>Jc=d zi>(*GtTBv@XHd&(fq#}@ihAsghyvGl6C9b=Q1kHwQjG&h@daU}=eQ+$7iKP0wOv<_ z`w(FV13RvLp%fL1vtIuIBoszy9Xy_&nUb=bz#n)^6+>n%t;H*|E(-VNR0_Oof9$AT z#pH-YgeeC90LV*$N{fpoFanJJA+A#pJL2GIqQgaX+_8(y2rN}R3)>L~LC-PfTISQ+ z*^VFMQDhqg#|H|a|l7E{{Zr4Cbzs0LT$b26I@vyqpYSWw8Rm(RM;)pd%(=L zGGbb}PHq6=D7Gb9!$STYK_c*R5bLOzZ{!ZtI9!*+J`uXJgI}457L?bl(E72s^`x!? z<4|oI07ACjzN}CpxD8%8i0y&L*YgoM2Pxb_7OQzpc!vitu-87Kw*}^m#5*Eb&jakS z2ro@VA<5hda%ZWSh)QP&kJh3N;goj$ChEm>M7VFf>SxMT1)jc;yr63A{CmKcurl3q zQu&k>Umv!|C{~mo#Wbb~_ znyR+)o9FEqSJ4n}&RdwTJ0Xfzi{(+(7|R&Q{*f%U?B-Pg=*BX?`zC3fw|YfYa{kcT zyySqOENsRls95Q)2(9=mhPXk1k^-w^!EbT52hrkT0KL%-iSg?P2BB!JLNJ_vkR|}5 zN0u#Uao30@fxRBG=D_9RQ*l*eSd2(Cb6JhC@NkC)B%E<*vt%}>Wa*OQ!xd)72W-gu zURVa^^z@IlbJMuE24#WV7ciHE&F8M3WA@v1DO5S>3Z70LV+EsyJjx>tJR? - - - - - - - - - diff --git a/public/ES01A/title.svg b/public/ES01A/title.svg new file mode 100644 index 0000000..bc691f6 --- /dev/null +++ b/public/ES01A/title.svg @@ -0,0 +1,50 @@ + + + + + + + + + + diff --git a/public/ES01B/cover.jpg b/public/ES01B/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..036b8bdb0c11c7cb2c68f5d9dc8c4a6a75aed432 GIT binary patch literal 34324 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

El_Mc+@upTj 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 + + + + + + + + + diff --git a/server/api/artists.ts b/server/api/artists.ts new file mode 100644 index 0000000..7e1e6d2 --- /dev/null +++ b/server/api/artists.ts @@ -0,0 +1,70 @@ +export default eventHandler(() => { + return [ + { + id: 0, + name: "L'efondras", + url: "https://leffondras.bandcamp.com/music", + coverId: "0024705317" + }, + { + id: 1, + name: "The kundalini genie", + url: "https://the-kundalini-genie.bandcamp.com", + coverId: "0012045550" + }, + { + id: 2, + name: "Fontaines D.C.", + url: "https://fontainesdc.bandcamp.com", + coverId: "0027327090" + }, + { + id: 3, + name: "Fontanarosa", + url: "https://fontanarosa.bandcamp.com", + coverId: "0035380235", + }, + { + id: 4, + name: "Johnny mafia", + url: "https://johnnymafia.bandcamp.com", + coverId: "0035009392", + }, + { + id: 5, + name: "New candys", + url: "https://newcandys.bandcamp.com", + coverId: "0033518637", + }, + { + id: 6, + name: "Magic shoppe", + url: "https://magicshoppe.bandcamp.com", + coverId: "0030748374" + }, + { + id: 7, + name: "Les jaguars", + url: "https://radiomartiko.bandcamp.com/album/surf-qu-b-cois", + coverId: "0016551336", + }, + { + id: 8, + name: "TRAAMS", + url: "https://traams.bandcamp.com", + coverId: "0028348410", + }, + { + id: 9, + name: "Blue orchid", + url: "https://blue-orchid.bandcamp.com", + coverId: "0034796193", + }, + { + id: 10, + name: "I love UFO", + url: "https://bruitblanc.bandcamp.com", + coverId: "a2203158939", + } + ] +}) diff --git a/server/api/compilations.ts b/server/api/compilations.ts new file mode 100644 index 0000000..90b6aea --- /dev/null +++ b/server/api/compilations.ts @@ -0,0 +1,36 @@ +export default eventHandler(() => { + return [ + { + id: 'ES00A', + name: 'zero', + duration: 2794, + description: 'Zero is for manifesto ... ;)', + colorFrom: '#ffffff', + colorTo: '#48959d', + }, + { + id: 'ES00B', + name: 'zero b-side', + duration: 2470, + description: 'Even Zero has a b-side', + colorFrom: '#0d01b9', + colorTo: '#3b7589', + }, + { + id: 'ES01A', + name: 'first', + duration: 3487, + description: '...', + colorFrom: '#c7b3aa', + colorTo: '#000100', + }, + { + id: 'ES01B', + name: 'first b-side', + duration: 3773, + description: '...', + colorFrom: '#f7dd01', + colorTo: '#010103', + } + ] +}) diff --git a/server/api/playlists/[id].ts b/server/api/playlists/[id].ts new file mode 100644 index 0000000..c72f80d --- /dev/null +++ b/server/api/playlists/[id].ts @@ -0,0 +1,23 @@ +import fs from 'fs' +import path from 'path' + +export default eventHandler(async (event) => { + const id = event.context.params?.id || '' + + const directoryPath = path.join(process.cwd(), 'media/files/music/' + id) // replace 'your-folder' with the folder you want to list + + try { + // Read the directory contents + const files = await fs.promises.readdir(directoryPath) + + return { + success: true, + files: files.filter(file => !file.startsWith('.')) // optional: exclude unwanted files + } + } catch (error) { + return { + success: false, + error: error.message + } + } +}) diff --git a/server/api/playlists/index.ts b/server/api/playlists/index.ts new file mode 100644 index 0000000..20ef77f --- /dev/null +++ b/server/api/playlists/index.ts @@ -0,0 +1,21 @@ +import fs from 'fs' +import path from 'path' + +export default eventHandler(async (event) => { + const directoryPath = path.join(process.cwd(), 'media/files/music') + + try { + // Read the directory contents + const files = await fs.promises.readdir(directoryPath) + + return { + success: true, + files: files.filter(file => !file.startsWith('.')).reverse() // exclude unwanted files + } + } catch (error) { + return { + success: false, + error: error.message + } + } +}) diff --git a/server/api/tracks.ts b/server/api/tracks.ts new file mode 100644 index 0000000..a7bb894 --- /dev/null +++ b/server/api/tracks.ts @@ -0,0 +1,224 @@ +export default eventHandler(() => { + return [ + { + id: 1, + compilationId: 'ES00A', + title: 'The grinding wheel', + artist: 0, + start: 0, + bpm: 0, + url: 'https://arakirecords.bandcamp.com/track/the-grinding-wheel', + coverId: 'a3236746052', + }, + { + id: 2, + compilationId: 'ES00A', + title: 'Bleach', + artist: 1, + start: 393, + bpm: 0, + url: 'https://the-kundalini-genie.bandcamp.com/track/bleach-2', + coverId: 'a1714786533', + }, + { + id: 3, + compilationId: 'ES00A', + title: 'Televised mind', + artist: 2, + start: 892, + bpm: 0, + url: 'https://fontainesdc.bandcamp.com/track/televised-mind', + coverId: 'a3772806156' + }, + { + id: 4, + compilationId: 'ES00A', + title: 'In it', + artist: 3, + start: 1138, + bpm: 0, + url: 'https://howlinbananarecords.bandcamp.com/track/in-it', + coverId: 'a1720372066', + }, + { + id: 5, + compilationId: 'ES00A', + title: 'Bad michel', + artist: 4, + start: 1245, + bpm: 0, + url: 'https://johnnymafia.bandcamp.com/track/bad-michel-3', + coverId: 'a0984622869', + }, + { + id: 6, + compilationId: 'ES00A', + title: 'Overall', + artist: 5, + start: 1394, + bpm: 0, + url: 'https://newcandys.bandcamp.com/track/overall', + coverId: 'a0559661270', + }, + { + id: 7, + compilationId: 'ES00A', + title: 'Blowup', + artist: 6, + start: 1674, + bpm: 0, + url: 'https://magicshoppe.bandcamp.com/track/blowup', + coverId: 'a1444895293', + }, + { + id: 8, + compilationId: 'ES00A', + title: 'Guitar jet', + artist: 7, + start: 1880, + bpm: 0, + url: 'https://radiomartiko.bandcamp.com/track/guitare-jet', + coverId: 'a1494681687', + }, + { + id: 9, + compilationId: 'ES00A', + title: 'Intercontinental radio waves', + artist: 8, + start: 2024, + bpm: 0, + url: 'https://traams.bandcamp.com/track/intercontinental-radio-waves', + coverId: 'a0046738552', + }, + { + id: 10, + compilationId: 'ES00A', + title: 'Here comes the sun', + artist: 9, + start: 2211, + bpm: 0, + url: 'https://blue-orchid.bandcamp.com/track/here-come-the-sun', + coverId: 'a4102567047', + }, + { + id: 11, + compilationId: 'ES00A', + title: 'Like in the movies', + artist: 10, + start: 2559, + bpm: 0, + url: 'https://bruitblanc.bandcamp.com/track/like-in-the-movies-2', + coverId: 'a2203158939', + }, + { + id: 21, + compilationId: 'ES00B', + title: 'Ce que révèle l\'éclipse', + artist: 0, + start: 0, + bpm: 0, + url: 'https://arakirecords.bandcamp.com/track/ce-que-r-v-le-l-clipse', + coverId: 'a3236746052', + }, + { + id: 22, + compilationId: 'ES00B', + title: 'Bleedin\' Gums Mushrool', + artist: 1, + start: 263, + bpm: 0, + url: 'https://the-kundalini-genie.bandcamp.com/track/bleedin-gums-mushroom', + coverId: 'a1714786533', + }, + { + id: 23, + compilationId: 'ES00B', + title: 'A lucid dream', + artist: 2, + start: 554, + bpm: 0, + url: 'https://fontainesdc.bandcamp.com/track/a-lucid-dream', + coverId: 'a3772806156', + }, + { + id: 24, + compilationId: 'ES00B', + title: 'Lights off', + artist: 3, + start: 781, + bpm: 0, + url: 'https://howlinbananarecords.bandcamp.com/track/lights-off', + coverId: 'a1720372066', + }, + { + id: 25, + compilationId: 'ES00B', + title: 'I\'m sentimental', + artist: 4, + start: 969, + bpm: 0, + url: 'https://johnnymafia.bandcamp.com/track/im-sentimental-2', + coverId: 'a2333676849', + }, + { + id: 26, + compilationId: 'ES00B', + title: 'Thrill or trip', + artist: 5, + start: 1128, + bpm: 0, + url: 'https://newcandys.bandcamp.com/track/thrill-or-trip', + coverId: 'a0559661270', + }, + { + id: 27, + compilationId: 'ES00B', + title: 'Redhead', + artist: 6, + start: 1303, + bpm: 0, + url: 'https://magicshoppe.bandcamp.com/track/redhead', + coverId: 'a0594426943', + }, + { + id: 28, + compilationId: 'ES00B', + title: 'Supersonic twist', + artist: 7, + start: 1584, + bpm: 0, + url: 'https://open.spotify.com/track/66voQIZAJ3zD3Eju2qtNjF', + coverId: 'a1494681687', + }, + { + id: 29, + compilationId: 'ES00B', + title: 'Flowers', + artist: 8, + start: 1749, + bpm: 0, + url: 'https://traams.bandcamp.com/track/flowers', + coverId: 'a3644668199', + }, + { + id: 30, + compilationId: 'ES00B', + title: 'The shade', + artist: 9, + start: 1924, + bpm: 0, + url: 'https://blue-orchid.bandcamp.com/track/the-shade', + coverId: 'a0804204790', + }, + { + id: 31, + compilationId: 'ES00B', + title: 'Like in the movies', + artist: 10, + start: 2185, + bpm: 0, + url: 'https://bruitblanc.bandcamp.com/track/like-in-the-movies', + coverId: 'a3647322740', + }, + ] +}) diff --git a/server/tsconfig.json b/server/tsconfig.json new file mode 100644 index 0000000..b9ed69c --- /dev/null +++ b/server/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../.nuxt/tsconfig.server.json" +} diff --git a/types/types.ts b/types/types.ts new file mode 100644 index 0000000..0c966e0 --- /dev/null +++ b/types/types.ts @@ -0,0 +1,28 @@ +// types.ts +export interface Compilation { + id: string + name: string + duration: number + tracks?: Track[] + description: string + colorFrom: string + colorTo: string +} + +export interface Artist { + id: number + name: string + url: string + coverId: string +} + +export interface Track { + id: string + compilationId: string + title: string + artistId: number + artist?: Artist + start: number + link: string + coverId: string +}