From af1be976d32076a5173afc6336a7a4b128c09af9 Mon Sep 17 00:00:00 2001 From: zhangwenhao <13519102731@163.com> Date: Fri, 16 Jun 2023 17:20:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 7 +- LICENSE | 21 + README.md | 59 +- index.html | 20 +- package.json | 26 +- public/vite.svg | 1 + src/App.vue | 43 +- src/api/login/index.ts | 11 + src/api/login/types.ts | 13 + src/api/user/index.ts | 10 + src/api/user/types.ts | 6 + src/assets/cover/1.png | Bin 0 -> 30594 bytes src/assets/cover/2.png | Bin 0 -> 41238 bytes src/assets/cover/3.png | Bin 0 -> 126384 bytes src/assets/cover/4.png | Bin 0 -> 164430 bytes src/assets/cover/5.png | Bin 0 -> 41526 bytes src/assets/cover/6.png | Bin 0 -> 944533 bytes src/assets/home/bk_1.png | Bin 0 -> 168763 bytes src/assets/home/bk_2.png | Bin 0 -> 63208 bytes src/assets/home/fl.png | Bin 0 -> 7046 bytes src/assets/home/fli.png | Bin 0 -> 7474 bytes src/assets/home/mf.png | Bin 0 -> 7221 bytes src/assets/home/ph.png | Bin 0 -> 6717 bytes src/assets/home/wb.png | Bin 0 -> 6346 bytes src/assets/login/2.png | Bin 0 -> 7320 bytes src/assets/login/3.png | Bin 0 -> 6729 bytes src/assets/ui/cate.png | Bin 0 -> 286096 bytes src/assets/ui/home.png | Bin 0 -> 228064 bytes src/assets/ui/login.png | Bin 0 -> 16539 bytes src/assets/ui/user.png | Bin 0 -> 72183 bytes src/assets/user/tx.png | Bin 0 -> 31602 bytes src/assets/user/xs.png | Bin 0 -> 29801 bytes src/assets/vue.svg | 1 + src/components/ImageVerify/ImageVerify.vue | 114 +++ src/components/common/list.vue | 107 ++ src/components/refreshList/index.vue | 93 ++ src/layout/components/Navbar/index.vue | 14 + src/layout/components/index.ts | 1 + src/layout/index.vue | 27 + src/libs/mock.ts | 42 + src/libs/rules.ts | 17 + src/main.ts | 18 + src/permission.ts | 24 + src/router/index.ts | 66 ++ src/store/index.ts | 11 + src/store/modules/user.ts | 39 + src/styles/flex.scss | 495 ++++++++++ src/styles/index.scss | 25 + src/styles/mixin.scss | 2 + src/styles/vant.scss | 77 ++ src/types/auto-import.d.ts | 286 ++++++ src/types/components.d.ts | 43 + src/types/vite-env.d.ts | 1 + src/utils/common.ts | 9 + src/utils/request.ts | 39 + src/utils/validate.ts | 9 + src/view/book/index.vue | 80 ++ src/view/cate/index.vue | 98 ++ src/view/home/index.vue | 153 +++ src/view/login/index.vue | 106 ++ src/view/users/index.vue | 120 +++ tsconfig.json | 30 + tsconfig.node.json | 10 + vite.config.js | 10 - vite.config.ts | 40 + yarn.lock | 1042 ++++++++++++++++++++ 66 files changed, 3375 insertions(+), 91 deletions(-) create mode 100644 LICENSE create mode 100644 public/vite.svg create mode 100644 src/api/login/index.ts create mode 100644 src/api/login/types.ts create mode 100644 src/api/user/index.ts create mode 100644 src/api/user/types.ts create mode 100644 src/assets/cover/1.png create mode 100644 src/assets/cover/2.png create mode 100644 src/assets/cover/3.png create mode 100644 src/assets/cover/4.png create mode 100644 src/assets/cover/5.png create mode 100644 src/assets/cover/6.png create mode 100644 src/assets/home/bk_1.png create mode 100644 src/assets/home/bk_2.png create mode 100644 src/assets/home/fl.png create mode 100644 src/assets/home/fli.png create mode 100644 src/assets/home/mf.png create mode 100644 src/assets/home/ph.png create mode 100644 src/assets/home/wb.png create mode 100644 src/assets/login/2.png create mode 100644 src/assets/login/3.png create mode 100644 src/assets/ui/cate.png create mode 100644 src/assets/ui/home.png create mode 100644 src/assets/ui/login.png create mode 100644 src/assets/ui/user.png create mode 100644 src/assets/user/tx.png create mode 100644 src/assets/user/xs.png create mode 100644 src/assets/vue.svg create mode 100644 src/components/ImageVerify/ImageVerify.vue create mode 100644 src/components/common/list.vue create mode 100644 src/components/refreshList/index.vue create mode 100644 src/layout/components/Navbar/index.vue create mode 100644 src/layout/components/index.ts create mode 100644 src/layout/index.vue create mode 100644 src/libs/mock.ts create mode 100644 src/libs/rules.ts create mode 100644 src/main.ts create mode 100644 src/permission.ts create mode 100644 src/router/index.ts create mode 100644 src/store/index.ts create mode 100644 src/store/modules/user.ts create mode 100644 src/styles/flex.scss create mode 100644 src/styles/index.scss create mode 100644 src/styles/mixin.scss create mode 100644 src/styles/vant.scss create mode 100644 src/types/auto-import.d.ts create mode 100644 src/types/components.d.ts create mode 100644 src/types/vite-env.d.ts create mode 100644 src/utils/common.ts create mode 100644 src/utils/request.ts create mode 100644 src/utils/validate.ts create mode 100644 src/view/book/index.vue create mode 100644 src/view/cate/index.vue create mode 100644 src/view/home/index.vue create mode 100644 src/view/login/index.vue create mode 100644 src/view/users/index.vue create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json delete mode 100644 vite.config.js create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore index 66240cd..a547bf3 100644 --- a/.gitignore +++ b/.gitignore @@ -6,22 +6,17 @@ yarn-debug.log* yarn-error.log* pnpm-debug.log* lerna-debug.log* -package-lock.json node_modules -.DS_Store dist dist-ssr -coverage *.local -/cypress/videos/ -/cypress/screenshots/ - # Editor directories and files .vscode/* !.vscode/extensions.json .idea +.DS_Store *.suo *.ntvs* *.njsproj diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6feafe8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 xyz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 2cb2a80..2e4d041 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,36 @@ -# VueJS-with-Vite - -Vue.js 是基于 JavaScript 构建用户界面的库。该模板使用 Vite 来提供应用程序服务。 - -## 推荐的IDE设置 - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## 自定义配置 - -请参阅 [[Vite配置参考](https://vitejs.dev/config/). - -## 项目设置 - -```sh -npm install +# 项目介绍 +[model-vue3-vant](http://gitee.com/xyzcn/model-vue3-vant)是 Vue3 + Vant + Vite 搭建单页面模板template项目。基于 Vue3.2 + TypeScript + vite Vue-Router4.x + Pinia + Vant4.x + Sass 等当前主流技术栈开发 + +# 技术栈 +- 编程语言:[TypeScript 4.x](https://www.typescriptlang.org/zh/) +- 构建工具:[Vite 2.x](https://cn.vitejs.dev/) +- 前端框架:[Vue 3.x](https://v3.cn.vuejs.org/) +- 路由工具:[Vue Router 4.x](https://next.router.vuejs.org/zh/index.html) +- 状态管理 [Pinia 2.x](https://pinia.web3doc.top/) +- H5 端 UI 框架:[vant 4.x](https://vant-contrib.gitee.io/vant/#/zh-CN) +- CSS 预编译: [Sass ](https://sass.bootcss.com/documentation) +- HTTP 工具:[Axios](https://axios-http.com/) + +# 项目截图 +|  |  | +|---|---| +|  |  | + +# 项目启动 + ```shell +# 克隆代码 +git clone https://gitee.com/xyzcn/model-vue3-vant.git + +# 安装 yarn +npm install -g yarn + +# 安装依赖 +yarn install + +# 启动运行 +yarn run dev ``` -### 在开发环境中启动和热更新 - -```sh -npm run dev -``` -### 编译用于生产环境 - -```sh -npm run build -``` +# 联系作者 +我的QQ邮箱: 774346441@qq.com diff --git a/index.html b/index.html index 030a6ff..fb99002 100644 --- a/index.html +++ b/index.html @@ -2,12 +2,26 @@
- + -m#2!9Y`~&)#{a&@f6W|fGw=sSTy1XNXgj_!vbPo@<_2@QuB#+Y z9SSPMTMrho@$l2Ew#hGDTRZOCtqCu+I|92@P>M%^ab?7Z&EhMjVMin~BITS2(IUR= zj*`2q2J&5^BD5-%^X0wqk(aKv^~t|zlWi<$33WqB)4 zm9zNMV)F*gT4bs|HryUCrQnX$Pj}`TUM93cK+G|&0narXm8zSqf{^CSI@4qD!t3Z% zeiN+#W*dfu@z?~J?{S=~T_v+^V=PS}^U~=B3qF}ahIwa*V-j#r`Xy}Ssy|(kWJ6dy z=bE~6TyMmha7`6qdL`)=TH;4og9M}LQ)fv*B%Vb{_+wu*vvNo31HBG6W*DFv`-J$W zV*Yq$09vyn>8`yX`aS6%QmQRiO_$l5I&~CE$>1=7QJMx+?`6Ic)R?i15d_Xl%yHS- zuq=WwS@2ZzaP+AYQZ?ZZ9ubW5_Fe?m&DYg;%-O;w65HBk0skC}O9!g;npYzbrkBr@ zw^I+0jL7-a3Xl@2{upW^!GLa69$G-lRjL9~RZLiR`tL8!*@x7I5RV%XT@e#Wui80c zQ-e16VT6%r&@R+p^9$7tZK^dN_C%DL;J(@H#v|=bdMpRIo}@fhCbD-hbZk-LbevA% zg>qyqO{Dvxq5JQT{Qvs9h(xsRGByb+^di#=;#y{qcz_;#JS<#=`C->hA>L^%m>%|( zV0VVQ$WY+748V7P_`Ch5`&3X*--ZQC>qMm}&u0zF5@P_leDWoKHjiLiP4Iz&=6;g| z&(?}e*{X~(NU$^wuS;i~cvQVRyjXz}7ue{Nj$pj@`ZpIL!zE!JTJMilIvLw`yYtKR zuxF!(z>-?ii_R^Z04;ht~-h6gltU7i;$_I>ZTz%dZeck3M$myxs?pRN)e4Muc zw(^#bc{Dl%tL$SsyCH-wy;Y8DX#ELM^R5UnunZ96l8T^Ng_nC_*x@Jj?JL0K`|>`l zU#Z2<+x`Q2`IJBVmg@cK*|>=ybvrHpn}V3CJdkde%8KOQg|o+5rHF=*3e=rS>FMIt zo1M~QEGFDfx*rm|5zeaZJS#M9_5jg?Ngl+Nb`=8WmsLYf7Y=(PIOVq&$@&nA7&z@Z z8vn f{B05h5wy?o>oSWp DV{PTe>BZD$U)M7(LK}fbC!zphdX*M9ts*EeLAT JP++<&X9?hnSE?Y4tq(>!VNdIKF}6 zu)5;Kw<^)tytA68Ch$X$BaqRa!^>4AUoq}}6mZUcR2T{RW>&r!xbL#46CY6ngv?2z zM!CI1>+|$g>~H0dodxN^BzEXD#Pl;{6YCnvz&t>O#_Zqcs-ON|=l&B92W|NloPu~0 z1HZ#lVPK<^y-N5gYPBTNr|j`|B@B-B-1U`6r|@Dts-2tlD|7Wxv+Pc-!%f_3cqsGx zaLYS;!mKRK4K$(K)+wOd1~1V}a-o9PUk>hjk8V&xSJm0xK~_1)*JfDr?xh!SL52|J z`>6Vm9QD#rHO6 ZqC7o{Skq8v06{|v@zFX>-hTFm3U&?zk^L~%< zq_BOq$!h6^)x5O!Zd`&Gcd6XPq+eOcJKJL@$ozA$c7wz@p?_M0G=>v5s-D7UB ypl>kfL={z|+M}!(KhTiRtopxz`FaYi_ z0GEL!@=%wLbnf~uU%<-vCZ}q*maz0vY=K#k&}JLjV><$8>@Vl~Qp4rAGur9nwf%uU zXmnZjYt()o9?)d{QYB079;}y+Q+Fmp @W!CXuAU6x^0=s5zsnJyy()&NBmz4!6UhY7_TO zqcPS8NAvNbZdA0O@3oJTB+@BxWLzlg?sPzm XnNnome~qf@HlGplVy`&G`VFqs!Se9P2A9c#O*10r{x!o+1}}otWIANYw E< zhLv5;5l_a4`1 zAw6ejjEu$Y2|wRmRMQvWSdJ6->4BmoT`%XSB=}uDaSlgssFrzDs-_!w9EggRTr6qw zYB)*NLFqfz%Hf@f^+R?+3cdYJM8fL{O0>@Vojj4y4`BEh-!y6=VBd4n#6kO0aHy$C z=nvr4mzDVD?w{f&<4uL{BIv>ICh7pNX1#kW8+$#DrepS{%;>;l5^xRyr{P#%4KR z)lLyGx8#^Q&>82p4E`wP^L6=lt@}E_^gG7_=Oy+Fp{uMF=(I)+aAvh$CLEw>Qa2Dv zI>(jQ8@a{sX5tDoKoQzt$NsPb2Nn}(&8gL{Yg~?fzdV%8%E51Q@_O0C#62QDRm)C# zu#cnkdAllABM1IT9OnB&=ivJ#w<$@%Q~ydZS*@qnt>DcT1EAdTWZCa{5R({{Xp{tU zom)g+<9icobC^#OUDFbUf@*b;!#4c&LWi>SWkGr?L4?WYXj!yiw~g%%_f}+3v8E0) zO86?}p`7E7LUkh#LgUt}_ZBW6AE&Yd@!fyWA5JPlwF&_m$m#d$dNhOE?a^qBPs?rq zy^<1haIA>HnOMa1p)%QQ-hQ(0bZb?aKII^@pLj#%Zi{AkDTxXJG(tQ4+O0x32}y5^ zDIe;ei D}mi;s)6M{;zm?+c-K18T4@wLZW- zw}JoyPmoHu;r6PzE6NfmOp%rdC63`(8vax0%D7Tm7MOdp1?qOpNM8F~hLSvKyie_4 zo~hrWj70VVq-5J+tXrsCsqtg7#ew4#sTIYTyWM1axA}jJRS>+Qa``u3J-GaqL?;IA z6_oIb0x4dRM%ANYo4UD((C3kqW1^?;_eH-Tpu`4HfJ0d`YN0e6KnNi9FkbJR$m_po zkTgl(iAs0&aQ+ncagyWx`ota#p?IU=6L2jBPsQIAA(^ry%xmgCd~0n{vsj>l#R^?l zUvMeT-805!EkA>eXkp?npTbOa`m*I5euw{G(9`La9 >nd$OdAL#Eji6aNMU09-6P~Zc0y_Y_4x09 zgg`7U3gDy|RX(M+TiG-z@?Iv*k|Eh)$3F4Fq0jrsxZG-@h`cAiw=WRWUk+E$u=e5f zn}^sM*(i n2-Fy@gHu_J96mlWA)vGI!%ybq^l~3yhyQ{yNGk)pm z(o};=jkb^( qh9I12jB*^y=Lo%Yc6|pxe8W4}m(@|+mhX=wXULgLqH31rpqSmeV7yhEm zVcU19f~R$6+coa&X{2=7L3{3OdH z$q+Sp)?Tt}Z41~qJHu(zX~iyX_-ax)8fVexkA$>`6=fXNX 2GcjAchO%?rY^M@Y6tCBk~jXOAFCG6t1>C#UYXbj~;**9({obX&|;jJ!YGlDo_*? z0<~_2opqVX;Pf9L&3pLM2NQ%?bDFs^K0x849mYiv7<+eV{BKV(W8{KnHDD{_%@d5n zxihINZ6>ete~lNbplKs&KEYnEqK%ud{=7FDCLK4x)5YT`PHU+I;!yRk{4D~GDw@+A z a}_vk;D{VShBuGlM5(e#9y+Br2zk!|Js=fel> zhw(A<^?qT;wl-`nw3r#`&IWGllml;&c_OtSo7t?-^q1PVtp3C-oc)nb?6zNDG_-$Y zVCfpX#E~{oeyaEf-SU#+Av3en>3)`o8c&=lk?~;{&GbJ(=>n=9Kk3?9KA8rp%mb zmX%OS4K04 hyryt~2bln@Tsog#OAEc?Z=2L)mKda3Z _ zG$oJtaTDFjx4F2GP_SJ0H0YaXpS#(%S`qQM`U+sz5fXa#FOw{JAmrO (9<_*15E_W@i^W=~G3JcV9Q_4%oOA5YRU& zZYR>o)Z*EZSo$=YbP`o&pJK+QPdqV%tK-dCX!RxjEvHo)DV-l^KVURLt`Ab@h6Z_X zY!DtZB+Aq}FV4qmYknx3je4y}Y6gP+P*yvtLB@r3(DxHsl|I(sqL6wgYbZFS9EMrv zvAuk8K7YMZOUx@c(^CdSWNwQ a9Sp#r{8$Qu zV?FT8&+lvv$zwr$@t5LsX7O}0I9BnUWY&>hbt*q-!LIgQdeY?9X9GvX8K6W`LRj2# z?+_&=X~2XW5lvckT)c|^rbddYmMezXnTR?*B!GEs GRci%(eXr%uZ2YDp{^WxTi8 zy{1N+ww+vfR&6~kTHo&rNi%_M<4i8_Kd4PjFqZ5vptQwwVSjNk|9J#lO8YWoR22p@ z2QdV8Max{Gs=~{9OkmAC5}dj%Q?n>ny(yO`0t2Av9LT9XEQJD^V~6ETNPFiSvM;`E zNNLsK#Dk&S2a} v#tcD6 z9_ms462v@Oh~nY1+%;I;MIys?E1nKWY1fkt^soE+E9@E5tYX+aeLv2#ug%a)?}rH4 zbsliqtmowMl8H*Kd*EjlJ>@Eb8zdijp-~zPjhFFPC?;W7wa$RrcwMh#**k_#w!<8; zvuEw^U$@d5I0^@27QgBud+U51l*=U3P2`OZx(lGp{>XVV)`2l1u}fa38piAOQDC(C zysI3Ky`H{Gl&Wkp#_nU75M!a_?qVToK(!?*8RT_TlQK_+N++jP^d{X&NW9S$_e>%C zk7ke_$Qo9Szpv?rC98vCqoMeDZ$zSE{CY3`y@1>eW-BIJy!1B`u RmYQetZOggIc4){ad`ck%MF7)Cw1a55@NTDQJ)?>LPTZ(8M zgUtKvP#c>QHJdO+iWNh_22V YcLg9Hi8y?s>RgcC!Y z@9=3A&IA^7i!8_A*Fa&|-s rJz@Gt6B*5x)^@DSR<_KLt;8V2~)E^5FG%* zwiid+U>X9UP9ifA<4tnyyzCzh+)5VSJG+eLA7MQYob^ERFSSnzVhgpLmRCLsELOrC ziXLw7Tu*9sL?-(_JT=n^Mo5Las?TWNsso?%9xv?cKZ_R7bQV-yffgyK!1@08V4!0h zmuk7)|L06eTj8h4RaZLlY|ef9v}}`enSS-GWtK)|no@&Ub4UG|$PNT<^ydm~@?sF( zM8QLqvrq!;AV Am@phS2Fb{7#|Rb4t02Z+BR8n~1Ua6c~Mn!qr3vJocJ&3Iwb z`xYlBOrk+ahq6>=U7f${94OP(P7!eb&S5<`%WK~35yNAdb0yaIT(?|b+sd^`;HJz= z3K$Zlxxa^Oua?dt)*5%bzG+>l46=?Xr8eA2!jsZitgTHHf7l2|1tr*jo%b)I>x`vl z66~RV0u?-NVF|)ciM6CUS;IbFZ {q%^6ES5{PFouO}(33nG0~wl^V_Rk#AsKNUfG8GeH=%g&WN z5Qs)a`jXAJVf})BTNodw$9Ua}SP_vyH{DKAOdU7^KA22UZVnr#3maR0 *t*+tJ2*nZJ{pD!P)9Wl zr8#CWUild4zs`k&d=wb?dg_GW&4Gu}|Bly-O|)ei4r!bz!!WN0_3Zb)z5QyTaQDwB z3*hsV37j_*_@)U)KrpBq8!~1;Qd3rFCxvyX-u=g7OGKPFsO9 FYEe=hAPO7A@7LOxB>@1%TM2JgFc@Inb=2eEVVcDTv3a-7tD-Wc&~RZ!3#O6d;Bn zT)uPFRd<2EQSq0o#x*W8NOWM*SB9Q2wEwEUxO(DeLKG#i=Zfs4uyWyxg*C$II>1Be zSeap)ySnST<8!%>6@y?Kja4gtfUWVwdE?N92+`Oo7~|!W6ieu4pw|)9b>`kLR4}3YT`hiH&IgX$On_yr%VTf7FUb}BS7 FhBSxr9_Z7t|yn4wRLI|(mswDLG*WZDEGdFwhIOl^4 zdpNv$GM|FaK5Y`XNS0gwQ4>N|<0N8DTbN#p#{uYOf^rl(4z91-r~1j~095Krccn*2 zh+pzUy3!7RSI@WluwvvQ4A(olk)-jNRnOjlr)57^@6^RH`+Zd^n=)i^f3Cx)g`_g- zdMx2B9e??mi=t5ke%`P}&*@G -}58RK>syCd?s_WpSgGZ3%Y*VCGJ95f!06mQBvj{nk5ayS#UbD*pgaE? -kVA!Sc>hrX~_{G&}RZ#;lnpx5)oBJV2Pm<{XKl z*drGQV3FWZCgc`FyCk!2+)1o4D@VhHNz~ZjAk2V?%uIbxr@Z3@#ywOQT02fIENQ=* zn+W4D5IS{aDH5G1QDFf#hpp=SsmclG{<@_i=@*AeFP}xw9G5DsjGavc!w>N?9v}es z{MA5*EK5&jLVZ2+Ba{9qxl}syzJHaE9!CmPuhIbbxz=g_-u`Zw96}r@iz&5^aZ*UL zf~-P8)+8%AhYXL_Zr0k9nHGHX;?BMesc0k4rUa;ApI9IJj_|9jH7me<9@c`efBo;L znE<}qH_8a&^Ilt-aq)-|sdJ4Kz)Y_j*A6 H*htZvLi zFJtLXCr7R80JA)^f=vb71T`ty-ydD!^Kf%SPGRE*F=1 ;e)VeP~DLtOQQbiEz&5HVwG#1_7bP>zUf=gRS(Fe2ty>t%Lifr _|#Hty%Lcik^&$i*Y3~4|=E>NT*jSa#|rveg$om^(LUm zOaYPV;d`K9fG!F)7j}2486T_e;7pkmk-OC$wwI>ROr>%%Bucz4!zI{_U9y fdrdzUL{PqEb7~b z3?8=o6`PW7P`CwV~rQ9A;Ty6E3=F$c_etPzn=wiTDA`tg5)D5v3(SsYg(U z{#bnS8QuRW5~@%l2}jAl@Z-V=EtLX{6^d}ugC26FaBU$*SjlkDXF@@n)2VUhM)&xv zlZ?o5WKeO;DSnV?ShSy Ae{bvi^e|ouiqY!hNWAcIKC{$bn8w@ z_R>vi9Q2<&Z&_)VjkGd4UM>A``gH11mW^l-j!&$ai~E^REc1NJH)HoC`Czg3cS2g` zxbwou-PuJeeaJE1(t3>S8+XO#bD}Y%$CtBr0EU8A(Xu13G!;;|cSJO_DuXDLHJm%| zuEJy_>!c1?qkVO7RW~;y-=sBSZiNbr_;?_RSRQ0zURb}2)QnIDUT$gjJu>|z3TBZt zqb0t9ZKbYppCn;@xH+XuCARTo;Cz(CR-5cYx9|oI&w)Vs6*393)&~zU6MD!T=(G8# zwSl2}k5$K-XGgd=FNo5D?K*GkQ1>d0MuZ8K;oPQg@pRh-RPn M+VL`L?t96y_m8GCrtnz^TNtc!TfL874jpXO&*{h 3&o^NY2NoD~oNXSJLUqk-@crpPJmZz#l_vcTu{^yT;A}V?vw%?c3 zG}(yS_8-X=<>t@$h8rxGcL0FRz`B63zDcHKNnIokxYS`0VqTFP_7}wm?Bb{K^adYf zhJ^VAC4yU6N+IPBa(}J?2O#}fuS$_R2|fh*0=en!Nzv#~f)uLPr2s_8_ow2{x)pEN zK-ps8T6{;lXu;p5@GWUJ(8XDewCzcvl@Z%1cRUE0ZCfU|sQn tHH}LHGfdSt!+acn=>_^I*e>7kZ9zrvCCEkBG98m#k)#F z;`cmK&x;M}XKX^Sd%I>5wMUO~XAIG89g_jccq_xs#;0&zqGC-iIdaU9hUcBQJ%Yrl zi8tZz0vJhFOum~-Ee70qxS7(;Q{3Zw%3`bkVHy=1D9klPZ&+^g+MFCRssaC!hI%0u zJJDLv?u#Ci@@EIK=g)-sL@z-TXk ?dhejMZufEH z=UU 0q<0w?8x%|$<;5m;i%u5$|Zv4 zo1%~sw^h<%OFY-A{r%67w{u|e4M;020zXxZ^49*7&!>%!dpFjbT@h_DcYsy0L3dm{ zPyrwaB+@-h2>`VOA{ZqDZX`ksYHQL;d2{!E)I sv2Oa2$L8#BWu@ADmTX5Be;}KileIPV3f@~Kn%^Uajh abS&He8koRxOTZ(vA7~c(>GuX>nk5bNXs3Z0H@jwOHQ!B z`B^)DaDPrGn94~mW0c8tJyaf$J@BD|oVo^TV8ALXarlMZ%wlXK^r~8e-c-OeE!!4m z?`60Tn`knOqKKfr>;L;Bh_X2}b-Gax+fV$fdBz3MmV9nxS4Q}Y@`xVmAVm(Gtv{vk za1`s5Uj=^1P~O?TN>x0pa9mmnL* 1naM>n_0 zopiOP^F~HmzO)=5);N6sXgYgAx_F>ryZgNlv+ugr3Cpc}$CS%jn;bvHVSL+8BS_-a z)n2oe^k+g9>>%B68GVgltX~BabF-lv=UBzDS#GAV2h)$&96GEW%{x&SeRJC(t@RV~ zn(yhTFp;-uV`k)WnxbvSKMd;@5yL`jpu^Q30z@Efo-#QAbZ;FJTMZ`y(q*$9auIN? z%a{P;H-fcMmGBAqTi#BxTbchsC6cxQQKi_d!TNo~Ok(T`fepT$`3Bp--?RT(&h3n1 z48F_9zmwYy#59C=7sH(cpBji2PWC> (&VS_FUp&W9m} C%|wY)B7ep=JQs$5wg>Qv?i6^iZ}4lhSjtl`+S3A7 z=!ZPr#Bq{JuE@4(OD2p>QUu&VfIBPAKUcV2A(P0asz~29diun`a6{=fCij+^_`->o zJP3t GoTLzP_Y8U^=LA9$dujRbjO-it+=~zfw>zDDWXxwDW01q!e2Wcv>TBx9d z(yQ!FzOB5)9 OBJQ zeo4Y5XZBt@SzTlzP<8&migQ4VXS9!}dsR@vM3As=wH$Oygl*N_F{yu);Idx7HJ!2u zwD2KQNz$vFyTPRWNgRBq^rTbpLl?rZJ%>Q_365j{>wBX(*sPlvd>~AhoA1Waj%F_L zvbYP#H0SZV(`I)+pq<|3!j|Z8YZE?j!_>rf#w>%qZ9&|*F&cX2)?(WRjXUCK$(`M? z(0ii1067 L+ACDDN4H}1sdDAWxHGu*rZJJL z;&Ml=y`~Vc$4k>`+afi0@avh)Q`5{?;Cj}~$urmfE*F`$jH1m!xu=Oo!4OaeZ;c2P zNEyCtq5@{E4keDCI|2(Eq>1YeNPrEnNjkU*X!?HRPXmeJA<^8$k1>$2VHpu}Us9}p zvi@1*LKUoMT{j+gJ`x$0WZXDevqh*4ps1fD4FBr^Vs2Rq6EG*}5K==oCcG02M5Zss zy;}VRKGyc^kj`d!e*C`n|7=u7xIJ^pu- qFq_yxdIVbX}kFUxVS27^bf}VAWQhq;1Ij(nK7nfhFn{;*?i&SzbXM?Y?)s zvhhD~;P#J8KWe- t9Xa z&&2RWGd^x$Z>Kw&XDM)4oG?pX%B>uisZZBA>1b+IFRX%2w5-xr3|eMnja3kdPkX>4 z7V|@e(I{WV_-=bR^!?=#8srB8)u?Q;1{sB_7IT7@i8DS^bSJ(thrg4{p$Z4d46*E? zcSQ<_DUfk5b1((uDI%GJi +CV-tb|FxAl(pLNPN;5NF{#~p2SR? zIIAdahrhlb@6s=;oHO)EJ|Vu7q=fXT&lIdzwiN{1c%KDg+)KGMyvI@9eyRh9)>azI zJ~$J7`b&blYgQtVkFE^Puzp@UBjs5df%EOa%|+A??K_#WmDLLxS6g^Q^J>TV90f(z z8*=QSyrGi0YO?SWUy@fGu%hx|L7JN!Se *Z9l&?LbNWHK zP^~#dEDnv^-Mh}hxLLFOk6Ak) WhmJnh)D zgr^L9kWn?zW&JKd0;i?DfDpQCYt2Z_&cFn$Tt)mRntVm(;F0~7M;>rSQigsaPWs3x zk55Gh5`uHb$BClY);0ViT (!M5$E2cT?@{_yQpLxp*{#o6`5#D}z}lpG8N{iP1IeIC5s{kWzkZwfWVF>Qd2 z4zw*!Y7m7KQlKG!+97b_3b|zGWC{@0-HO1m7(ZCJwe>)2RN;vsKr6*0;HXp8xf7T3 zoKwAQ^XHB%`dNPhGX@&^Kfm^F*YVwBPAc_}e`=?(Xkd2fpchiX$<=M^J%(S%mWT<5 z4mKM#!2RsJvjNdMBT^ChYU$xas9ZwLHL_P*d3fk8lQ2j_71W2PsaZS+!p#xHP72ti zk10<~)|_D7Zitse-)A3{&nBz(# Gjiu@e>628me`WV#mm6(d%znKO_in3tOGeNq7wZ1gD)$q`Z_^;7S_F2 zCgLna*-LYHA*}=))Y3|3eC}G^lJRQs2(@7#fEmW8vpR}~4#8W!OF+XSOL`;r7h^~g zuX8+tI%nTG{`wb)>pX$e8Cb`_0d&j~(*Hy&NGjQ=>elG(0lJ%#svG`+jF;M<5CN7I zv?#|&s`y^X8=BYJdewW+iwG6#^fR@6O;=lT=Lc1UaAXgU+{ZOrw%8%8GSJLY1T8Y1 zXYvwAUa|Wny3b*1UrhyNIP6P9-&7<+Ttxd?EhYx#Ts=7y0ml9lsxZHn(mp!#cgJLb z=T5}0lWR4=buggDHdi?PO(OxoT6BIvz6f(yO+JzBDqXM%de&dxCGl>tiLt`Mc>APk zKu5T%CVXK+>m#Q-6crfNUU9rcZZm%asxtC{VRgsFVv++?_CEY<=z@-7PUaQ=#FQ9; z>^uU$LL&!4%``&+#Q0w$7FT>W7gMH?W4~nO7T{&QMxYo#Q#_N`T)T8viWoV+aG$fM z$Y~SPHs?U E~tsq_5Md-fr>CDih&n`I+@gs)$JsnAhs0oKL#yb`zWPY zhN6EcXUj)R8;Vko%Rae#tMQ8g+(y@8llesjcl1KnbWn>XT&-xH{7bohu^ciW_Sp$I z@DS)%`6*I1VgZ?!yNE$`&5Lq256aqnV?G`_k}|Yf+&RD#@P4)i8;IA-(eCW+F F6YFYvc{1n`C=KLeXO!AA1TzEj(sj?3*FsvinMq#*_A+hz$;--o}&4b5^uN7APQf z2i}knFS -dWP4{qCI^?8Rl^OY~VTW_=jjK6pB z{tt=>fQN!7YBE+{)5y$u~tJP0od_ZNV3M!qFMW2h93t$@_=%3Wz1lo-Bl}dHcSY z&Y`k?4&FE5gmP15p?&+6&tr%6lPKG5-Q4>)A&>jqzz I3$UVH3vEC{P>Qiu>1tP3T HOlPy041YCkRxEnx0A3j8y;%z5`ivE4V&kp z{Igp=OjpT05z5)TO)BZdN$f}1lWa)Q^#;fe0UMdu=bo!|wa}XQrRG+WIJZ%84^8uz zU~VQL?FFxEMb*13zlP)4OnZ7^Vp9!x{es;xBo^N=>QSeOLt5C0{RfBNai6`_gYT|P zA-2>q+RQ3tB7LH3jFBwpjAHU^Pe%rAwkv ?Bb3(X hQSvTeEc1ZPQ%c!;)}BGllSc@#F18dB&)QvV008{@y~6+i literal 0 HcmV?d00001 diff --git a/src/assets/cover/2.png b/src/assets/cover/2.png new file mode 100644 index 0000000000000000000000000000000000000000..76436886a16104378f728def1a38f6f4b5459aa5 GIT binary patch literal 41238 zcmV(pK=8j(Nk&Evp#T6^MM6+kP&gn0p#T7|K?9uuDp_13sxtpiHJDDk~ @ZNHM``+8srsU3cPdblE ztu{YfEOk$pc|-ZnVt=6a4dAcnJRbhV+sCxu*E~a?PiY^(`Ss!7^qzlz;d;&CW9)vx zKhi(jddz>-=F|5NFW>oI-9P{R=YH`2|M!ypi2we1DPpQdWJoxHBvn2uZt;tkWfN!o zkP3M*P~h|`TIVS<`CW2?%U_()f1Jj#!#I-*+qpwDg ux?u58PG=Y3&+p)DN%pqS__rD-e+4Sx00 zq$7`TyRe|)6s1ia)yOBC`|)oRLLBm$;Df-}mV&5-i2l;1;#NfNa-wbSpjBGqmo`Bm zekKU!t?zm~2PXuxN$hbJ`YX9)A;p({P|o7w{}O{@l}L~E>y?ae6_^IAsqN$H{`%-Q z-^U%c;L<<&k!^y?*OXjuVe@cgqH>#=X-B`%ftRb~1vy1wLv9P?(9uX%QPkXoa7mF5 zS%|f!S}p`RqV|W)V?0no(}%9r{F!^`AnLhG*aS>ulhvm7>Q3d!*L>`Xl;CSQwVFT^ z@Q{Ww>L95E2QZ7Ln&!DAfZ#shFllu e?Ywpkf=V3e)+aDPLe#hj2mWMaf9o5MEizGV9U)JInHYIoV z@`SY_+1Jj5^24hK&_EQ_z1gqo<)r)z9jEszM;q!@6Fj1to33>=y 0R1|(prVBc5$?bcmU! !@Q=Z-Et-L~d-9p{2gkPeaaBF{ctbvcY@@ZkLpgUws8wkVUiV~9 zZtES2f5AO}cRK-`R{`wPN)et?^N)^((5BP+lY`-E{h*`g{B4|iYg&6a6+Y*MdCqf0 zs(ld(&HXtN?r^bM6v~sz5m><-k6T)r4PjybH`CYACTHM}rT<1P5j#Ha-CacI* Tl}SU8 DkQ1;zo;pBJ30`)gc?Ngma-DGs@{kF~E-!Ffa;(A^nSG(;;5dq_}~`%z50}1|Gly zAn^dd`&fBdBfRut)rz2ul*ixrj5TY=(i04cAU-4mpPEAV2w|ukq7?j70MiO;5y#nE ziQTIu SVDOB|l8AP|RD`H6LA__)z}a6xg(+t59~NXkjNmf1pxA z7F!#4(N0%W^`kQi7|xxAx1!UFwO6fx*3Ny#L7;cdcB#=-aK@Ob(P$x&QNH_A(b!P3 z(2`c^!fx(Nc5#m!Avp3ia!2F8M%3oDjW41J9zY3}ZAjgsvx#vxqVQdqzTzqW#5HTE z_~;ZeFc(Tzp7ZdauKfML^=`hsby62GLfy)F7Ji?T3jYp&|IhL>F+3BQL;vxQ89k-N z+_Ygiiq+W1Bzu`VHe>lWlV!#GyB3!<>RT{P!?$LyT=p;-DXU^YV3ew-_7u{W7_7JZ z3D7S2@wl%YA*v1a8SW-~QFXUps)gqD@-qFXTx((A=8TtyzMFC@)#9c2t^mdCHEFTY zrhSBr{VM0-dX`sBt=KCtvV%_oZjIb{X%z4gkb>%L(Dh}$Uka1#&il2Lxeg|xR}BTl zBW!8V3G<|?dYDJqI`EMHp58JU0ft|rf(V9IqT TwJ%oFoRT9*CAkcIG59}47d$!P z(B6H2E;59*rXgs-ZVcAt7-gnw>}9kCBI2DFnBPr_6Vs 7LH*+-hJDQ0 E6d8sCOQn{g#6ok}PJx10+aW L=K5orqQeL-(@3OqRvuarri-2e{KS4JW2diDE;Z@B4kT1y&dm|yt^Pti )|>Oy8yjjZ2jxTm}tV{QdNUQZ*B2mBX#0`XbbC*q)Ow;%rN;yQE3^$Vs? z;#Jy_mGnqS7uwL$w+-agb^l%6@2k4R>+U%C`5tNkjI=apFjS9JT2BZl`EklOs|V!+ zX&;D76Pv#1{2y|IaBaSSz*5g*iTUJLPi~50L!w)56MkSxJW{Y#d=au2v}#f^;u?AV zB!FN`Y(FPBr2~);NKv>=w$};O*n47bB`wla@@ORJnHh&v@_>zQsYTt@?R!S0iiP9h z)_v+ITXQ(xIhXN`7z^4JgBb4gx(dA*oNTi5kkjW2?WFVzl~6Ttf*g7&I?a{Zsv(6% zPK|SmoB=(V9PIA)i($ewbg%IYabsrJE>Z@2S C{x^~~9F826vCBP)Hr zFavY;F@d7@N&){ovCK`l*C-X$Yci-#M+5XW6v9cE3CGZ?K_eYv#~C{gLew)!Prp)0 zcG-i*$0s&KyPePuk5fi&>TQJVV-xs(nUg{kAyP|yjdNpLJ40vTkpqJPx%W4}D2y?y zO#ja#(m$OT$(nK$7#|q2Z4jrEX%%e|epIxQ?`MgRxt-hndMbxSc#ai<|J_P4k3)~m z1pM#i7dFnR7=Z)1k)uN7j601~DBxP+MU(*S*|BMl>pY>80P{(kY?TLznwK@d4M#Bv zi@D)Se-j<-&ddD15yn{TL4h&2Yiup7qHxE4(p@c+OoP8=0jW70gB?dnPvs3HH4_(7 zC*f!6T%a2weCtj@;LiFZ^h4iEek)qL8Gt849f#~vJ2b|EIKQ<0f3D$I-#?1@=K794 zOAY; q_)li(9s(f2j}Wwk&Su{ ze^OW%MpzkCAW{O3qS!dSHH( U9XfR2~O7u zFrTqZ7$9i1ax1?y!gEP!W N{+dA=5}?RohJ z>MuslOcZf~A9F)5a31;)%gNtT2M|jq@)4QhTT*{EIpn?0y=emYI)0jalMyNyXlH&X z|0Lz_RQ`Jq`6*I<6C&ByM;%r}b|YpS$E`Pjr2nZP3WW2gvyQTmqM!Uv!VF`0z<4V| zdK;o%z!Eob<*{{KrU~5I#k}fK!VgivF(Y9D$CBK7O*wMC>|dilv&EaeA9ydHw^f zAUwU}=o3TvnZe8P7;k=;mZsP6VPV#~AlIKM=VqZ u25~aRGn$Bye`I=^;gPb4=H72lH;_LyV{Vq0?{wtwQP(w}>P2$9vxA); z3@PO2`jrvh^LiagLzw@xir66b|NXBJ9jL`q6OyF$eTwT3@Wz_w$AfiAOWKl!?5p5S zQzll;GV;mN2^-epsY93(w)3laFGYh7`M>D3mcK?-iI&2kU&xfQSTA}%cMEVU{!J1V z%`s~E5sg NgT@&gegv@Ja3sPi(V{FW*ID{{=Ous(@#$ zi7-tKCg{O4(9AZI(FU3T+bJxmc3O?_7#|~Afsw#vQnK!-3OQjNT#H66&O)VVwc><* z#lJ2TkEI-s`_1_CpgK(SE%-Bo(rJ0H2*qxxxJDYPIB}Ct7)Et~ukwn`SMgZaH(|?1 zpEP^g#8LK4%K^u0Q36GFbUXFNuMEvGOrtUqlZ6Sv%xt>{IVDm}T{>j =4Upr7DVb#EKbm2;n1v!XbDQQd z*_dXoq0X`l%_6f7a8CO6HDA-K`QXLLkF#YLqRiyQQP9tR6q~G=Ls~HiK~}xJGE%+6 zy1IJ%<@T}o>n3@QD9pw(=fsi?-5(j=cWiu7BG>Tz$JhqO57L`(*8sJb^&mnBIA9vM z-sBcQeIOr+QZjW&cU;I#c~7~&=TRE=5Nl;WiIKD!zcx7 zhsrK$!)D8qR=OwUOitb7=P30B0Z)oxnaaHOfjkD9`PMDh95a4ox7G|YiWgF2p;}1f zX!zJBVUf^~*u-w7kK6#4<{j8@u#@Z$`%Y{KO>+OE^Qg_EjP3A_j&e(AzadDR1dK9O zb?Cmt27E+ks^y>W@l#lB>wyq8$^m#hnR`?j42$uYqmjG|RZE~K&+NNL_tz|BBP=!q zk(r27ByKO8{&atJ0B5Nv7_F*WG5dKTY;8(tuRhsr(W4Lt%yo1H1-eyZq9t=$jNS9? z@aAcr?naPg+ySTx5u6w+_7OUeinos7n&~7YY- 8$f`+UXL&i54FFJ*_9@xxxUH zS#iu6<3!r$07^)CiuMe~mIM!xmOB`|)k^T`lBEQrwW_{j!{- kg z-g$8T8hmeRW^oIjMo)sO<&(l-3FnV9iu0JpmRbCt=SnURv;W(gAA(Ptht%(u$gFgU zTaW>r3)_e}klS1czR24^*D~K^3nMy!>jHMo11giXHyi>-qa+$;#6-3y20@N~Uw)k$ zY2d<`X!1lTlvHjj7+|UOzyHt0ZgA?rwv&P>sgIJ>qAk!lh@K{VC0&w^vTw2B@S)O- z>h2}jlCGx&y@W67wby+y#YQ6k#*ClKDtZ0%n&QO#n_{d6^Up@+m8zfptjZNZd=(T$ z#H_&exY6bIj42U`J~ExYvifb~LX^9aH*d0?ZfAJ0ytZuT7{B~-l4h1CG$6qCSz6j` z>>}SS01H%avk9Pg{=XaWdlGCypJY<6{g$v$G1;V~>TdB}Jdr2SHGErQf+ kIm*Y|88xsd(_cG_|C!H0tVX^eDL@BUs(VdfzGS4P6N`Mo8na_qk+I z!7CfcBpAnl{z|Gbum2Yer(ecNhN-~0UrPNY^4(gVQqm;x&_PaZp?yl9gxiYImVH|c zy3;HFHy?X(e6!`1Lsv3(LaEQU?$$2(vwXDpQ`OJQuN-Bcu0_8YdAI@fZ8~YN%ZpO% zCBhdLE40BveNgonbJpAOw>8mw n3HvLcQe#{0>ynwEbvtgk{# z9T`*J>-PPm>wP$~{SFdh@uTU0Gv@;dLpg1)KK4y9*WvsJ*%(B9?Z!<9oIKE60#k2| zS^NHiXJrn2UeFgcMMk`n|KX7P0J>nn=NbFi>%v(PTugt2KspkU+H%tm?ISF`2QHYA zH}@=2K^8Ls^LREGK`jvWiN>X^Qx3{pW>*wv!$t 1BF`L*fhr6;q$PihCVt>N_)N4$d+Tq3o=&;I)gWw&1jK~9@JuSG$=^T- zM@$a15HOT6dnXm5E3Hc2oz392oaX+30?9TNh_Lx|M@o}g{h!9Osj6B|8~jWGh11|? zTP25U%u3@6q19Kya*SIIp&A$5rdjU=9xIHpm1xj@h#LQ8(eB|qTS4wz&WI@@SoG8$ z3w^*+4Wa;)c7&3CgxF(J9fpJEjfbXo>yzr`{b{WKSDqz*c+~HSBWQ1#)iw!-i}x7m zA|b}4U(rzHlW~M}DTY9LZQxzN{f{Mo^(J%Lm S(8F*!9pb9j5 EA>Y5> zo0@4e^1_@<0YBP;CU<;c&%wv Wsm+Ug;BQANV*B~eUyys;;m4Ti@FhNH|bX)j3=`xVewoMd~{gx z+PVD&$@iF1GDXc&l6(IAB*3&5sMbb5;ulJvE{&hPa`RcB1h0B)w}{y{i@|YuM^)wk zL58dM+jU^s$gq|1q?s`vGCsYAh0P|=VA ^$V?cTV|{|Q_?Liw<%_mH3#xQ*X~(v!n;4IM_2M7h)Cdo zy?rr2-
x~d(He2Kuw>i65RY*V-;Q%TF|A&)sRBrDN zqCuWk=xJFJ^?By{0P;z~tSOCWF}X`ITqA?GqO?`Ywc%wd#(Xi^! ZFaFS#HMt(5LN%B&8+a{M{2#cP36x) zHciOx;K0L -$5oBq5{LT{wBY8o7wGa2zsd2~0n|avJnA<9Wik`I I#e7F8v4cmL(olI5CcVp*A}Syb72XlK$aL3cEvey=9bD VBy}XJijj%>7~gw2o^|%msk~Rp zV<0C;x_x7xB~`~bN+kg@B@g(R*R)55&4c!fI$Kl&$tw1!0BdbbIugg&W8?Ec03PqN zIl0g>64FE+Si7?QqK0Rx$@4&<47s~;TUoM|`qDF%hY?%{h`^j6-u3)AozB1!?AGJi z9-J{^rF$nPIda1z9?QXJM19&AcnHSah#VeUWHR(qAID@H14Jk|U514~&gz`6=9GR8 zE0eMw5vtw9$5=ndtzpdEq0;OArJ^&Ik6o S(IBPX;YM|5-2f+)3S2XR{49 zPW_oiMM9RH9D=@@c1&pG%q#IAqL0@dOSHIeMJQTEUC6`5fhGR_Y(=mgDJU5t0092* z`X)QV`0;@@M`TWb3)e}p+#&wJ&;oqfOBcp}nkDP34IxO(fdI@03ElEOB)>StC-V4o z)7`=r8bfa53O}^yWlVV8^OHq0mNnXw?PvX^V_L5(>E#}A;M$kl^_nV@ki8MnO~3cN z%Yrv258aE_3fSnH2<(! ze-(mMuR1*!&I?6IqofB-Zv^?? z>Wl>Y0R$k74^k4T1H=^vY{0g$88rw5qn!&NApI6`>*6H=y|U@7fTdE1O5ge{;B4@U zN`<<+is0ee-ff~*@QF)Ewox%7`=oS3!d=Fwb(37bogZOm-=%(v!*xmeD@a}7|0lPL z!NOk3oU?yTN2vkAHc%4ms$?GlpC7=LzE;H5GFlB{jw51YNqyN(H+-H;A|PTah7f>} z_CPBxK--V==b)w#v1FvLu-nuq`v| !~b?w_@uF_W8Z&3Te5IbCH6{G*91> zzU=}vh>d!rfgP`5ydjBsjpv09*sbX!Gp{KLTUXM;<<8dKW4{|Wg6Z>Dm( PJF9u1>BE%@(4!Td8{CWYhCgDmp_6?=@43GFOyj!*5N1MMZoBEJf!b zo5u57E9qhu;#!t48L^`5n*21<$v*U5T3uU^Z3mOoa=c2%6Q7g0hQ0zCF@ir!c*W0G z*tgUD3?Iw9pbzk4ZOzMFxf(^Txl|r}HGrm;`s6{a0sDb9@B?M|i3W3ZG&hyP{_(_Q zn0b*c(5ziwE&$^QU=Z^|2PD#FKcR$dP3JuTJt6t2ahj@a?{rITGU9t~${Z5^(Nb6H zL#BM)M zKA9%=2~wzFj;#31$l&@qZ{GIHhu_JCcIelxCd})IuHp!jBTI!(j=e+S?gmMUo7clL zyu9T*i7sE;>xm)zeI{dCsxzcH{B1H1o9_V&|7K&BgGs2>HR@7}=o>84*s&YqXQ2*7 z^PJ@xUCj9M2WgnJ)4-DS4RfJ&Bn&vIh-y5LYUSihC>MkBh#u5(*eX_girIrod>#19 z%TD?9HUH5~=Sj5Uo-nf~%8lD{PKAx8bW*l>e6L*(HsAv^@*SbGn<-*${C5Y|84Z?% z>nHt9WcmuNq~D NjY?;EHSzhWedi}PqIk)KlEOuN&zwCdkAlH}C{R#mU;5m)ID zmOM`tM6xqzIDN4HY@g60!P`ciEQGmf-aK_Jt4(3+(ZHZfhSI+P;;uSn0{C?12K*Z^ zeGYPMTUuCTjCi`eWagyFotua4a Sab9*Px`YHNV$#8+luAVKk1MA&k1ppZ==&KK-A#ga`E&E5Iskl14U3_h`Xh z12owz5s??-7R`lH2S`tz$J)G{bPBZ+_A7{!>cX48c0mt}ciJcNf&K&;lO`W&*tcMe zYmGMd>{{W9L^E_<(LE1|`GLDFz_>kOW1>W#G{0p&fyC_Vd6DSOflnI9E5ae1o{LMx z$of||l?q_? KiO zMm~zgDi=F|8xqV)mbT923GmNvPJw?8s!sBW0-Xy-p+Y1hHXK4b@M#6czIM9CQbTE8 zx$<~@P2}F?9x*9tVFpg*pR<;(Ls`pPF9Zz2*S&%Y#oBXhNhy87I^{_3>N8ma%oZ#f zT^z+(G*2RvG+sI>Ju<#L->hF-S>X@ADK*?qLUz{cX(Sle{Rqb8iFnAm52s(`O9acz zPKTWM#$(Uc1zEkMysp#?$|i!G^0iT;d}-@LXG$IoUP{K{GWV~yGm=r8HHk7Ldqt4* zsyK|6>4pr9nj|ntCyMkn>Op{VNtPb-Yz&>bGX~-B9V0!kx$2btP5lgeZCNnf7<3gb?UEX)wVIz^ltp@rNjV5Itfi3h|j1J9=ymDDQq z6_tx@+z>08M)Su)`B?>RIjERa7 ABIIm16~SO)6om)cu9krWFj z`L=9qvyUaQf@8Zum8Nuh!C#&t|7=~>P_)lvfE8VeD%NnS((#Oywffi0_oHOR!7XC{ znb=t8Y`yE5qP&%=*-T$(rMGd>EZl0?Hh7=1C%^{yn8}B-wTeTf`wUcBXQ=)}d#Ez5 z*uYBLUB;EJ-%TUI0|n}CM)U8(Sa ;Fo8q@qQ zSL_fdj*Nsv>vZU4+79rnvT Al$7Gh8607_Rse?>BZ2ssyh$> zCx$dEx2DEPlM?=ep6S_qV3uTG&`Y!^%?VKnWv;$!n7m4_W9Chj58$*9S%m+STg@oa zjOU-1PFxj-7Od8D;5-ZH@%9$HCbOoIWzo}YT{kUneM_iN;w&FO*#k9n8u1va(qW=+ zeU;gZw(IF(Pb-Qbj*A#T`uYSDv+)`FtfP1Z2QD*~LRU9L`eD(}1CrBL(oziLsv!)@ zJn+xl&gVbr9t(gD##<+3DcFx4wch2dnrVm*j0SV?a>|Mw1z J^%F7?pt*KUe%5!x+>i^GeK_Y z$ZEZ^8__= v1PZKAT+8lk3`iQ|UdtL5iS1Ajq323q7yRw!++ zHxXr(TXjqek};Itm+bJ=L41AEAN*EhRn`DS psoP?yeeD!4A8)cWo&<)%k#C+7O`3!v<=riyJUxc3Yjt%{Iip9}IU>t<5+*&iu~X zw|2SWu)V>14*XCZN6 9_p-QS3vLnOffNSF!3t z`ip*8cQ23d3#)&E^;|EL5E2LGV% Y z6GYG?>8r=x^DF)B 0H+kRU!FwdHaF$7U z>!s8;wp!lV)=uN5#~ymW)Hl1-G2-E Lv#YJFAeZX z8bXBo8Yt6+H0t3`dpv)zk2wCnRM$910_aDO3%#%uR(EV^jOkd^-7 Mjf7jvUIb;`SpX;&M$aoVE(=0j_=A6rGnP3G$L=L^?(}Qp3@wtxv5OG)Rk)9;I*Z zVP1$<&oFkTPonVr>^$JY`1y!Gz2yK;$&;W~8W{@J4*24jz6F8Rx2@*!Ic(*dy%1M1 zr%tVk{;QP{eTeOcVl#fauQcE^oG`PSNmwz#fo{@u$EvaPC@;%P6!iX`c%r5yunIMi zPE5IjGqQvbGR#9jRcXIWND7}V?Bv3o+YQyG_YuqFEr$0jd&i6u5ATQ`pvaO*czKR$ zaM9(n6~E3;d%g?7%oA?y3a=NDyU+GWhKF)Q%L23cz1y5mok@0&mc@4e4KBNoZogw^ z +}WhYE3KWW~xP_2_U;+Q3pE*?dTnD**_jIn3L^PT_+6+3zWdGLt&<=#3IU zIfth1;)blmdI()=W!eJlDiSWEFEBYRul_3AM%bF4=QqQY zK%PKhBvcyadwmL*@8K05}1aSjyWVD^X?U}dlo%OS-# z&y=T()Kr=U=D21`aBxL>xb5}=>P~kcMl`KT-p; 3+I1M zX?XEnb)I=3Q0zk!vso&=Rjd!q@esm Sk*B+OEMId~l2AzsByd=6M4t1ghQrAM=EPWDS*XcTd6!LauR zP#7pGOc^rFyli @gWmyhrhidc#oiH3 zl}VrmZW|`}>v3P+k;JzV7hN?vrOPq;(I-eG-v9D&XurAFnM5_0)d8L9SCn03+@Yy* znM(kWpP}D(5K1qjX{ 1{w(ly-ey zGh UMKk5Qh(E_0}+XqKq^WUgiqG*9>X{hm`_qCnl)^G_?bq<;;bQG?#>qd&h) z`K&m!LFTyuhcCnc!Zpg~!v$=w>9w>c;3;>A`ow wppsZ=o_c>zr@!|##*aa<1R#O6J|eM+dgiqaBS)6|rROf8KE`jBptMI@ z%A&Z? UH)g89;YAo7LxY7FnQuV6q=gj}pJ)dPhJe7HzI8;XcAP zHQ0ZgZ@_wuI{sGIW%tq}_Xf!$oHd`jz;XPNcBRpuRbxumB|7>g$KfXN^N#mA$YKy; zM~#cbRgEouYV9GJ&4muv@@V*k5H*S(o(}bluj*V^n8cdL`^Waxqk)DH7RwC-TmS$7 zeP<`L8vTR5i)W$e^5yfa_d{Yq5)aC4+)p@^ZSTsNinK@ilt%znkcN>Q6%k|0q!BtF zWs)UqLGth`BHdSPHI(`t*(Rp#O`+&^(+dJuYmN=Jm#36NR9)IC(hyGq@U9wI9C!Op z(VPvOb(%RSPMd2T){bM!mzV*uWi(-TG~YvK4W)ka|KB&HB2I#Dfm?gcco&?Qi^g0B zXD3~5bDi+N-lzSE3yLm)s`>T?EUt)u_nknr 4%b`$_SrS6EA#YFDLk6RzZ_2FH#tJc_A~@8^;Za*gOyDS zmVbuIlh+SM!UjU3MS-K^pIErWTxL59UFFx0L<9C%eu|*`8M7U4&Kuu5J%Hsgs>8Lt z4iTchdXM(nlM& ~f=oh;Jxg)*NNJ)S14=blH3?X}#&ljo+wtGeS10ZV|A$Fu8p?(!Z)V)i| z%72jCbVH^xUfD@>ERct-Z=uDr8Fv<%g~VPwl4Y%|St_Qibw?s?%G)zm%c+4 |Jg{HtX98`%ALREI)Ol>g+f4qx7yprZgo*gkS!yZb$}s(5a$ z0%hC1(z}$Y-t~q96mj4fR>G8zmH +-3O^KW-(4rsoqPuqUycEko{}C F0WwjuoL7}$|^+(F{NZ`xrcE
5Nijt~{#;1FW->k>zVv>nfP`!p1HYf7GiqvJ#H7m)ety%;0#0Z60o`@U&-nlNbHw z;rXjA1xV1d=>>)6a8Q02pbCzstM1`cR$0V;_Kzg$gk^H4ZZznX30mH?L3(!MV!p{+ zijp_W3JoVgZg+pA!;{NyK@YF}U81jJ1xM1FGF|$zrP`^TfxCwWP|5W$LR1g>9{7T) z-woH$5n6rbs>1y?CYw4_1<6Ko{jD#q$jwa5hY&OAf%;xeu04-yvrUO&GcCeByP8eA zr|W+k{}rIf32F|*%LV@MV7_;n*$ WF{Vt+CG@6%=2xQS}$Nc=25}$%<=!JPS6&MYSjZ;$m)ym3eE)hUCAXu(=Vm#>f zqnKqv%IV(Jccr5_b5GviDC>?TO`?BL>2Mz#Qw2cSxcl4@HktC8P9q&3R`2pB!3J;L z#jbIkqus^|z+NXea@b3qxjOW8L>hnOl>#{_lZf%Lzv&QSXzU7Gz7Fa(gd|z^mxFa5 z=0CQU=OJC6TNEv6pVNc<(Un6j*S1`+ ?M*8%~p1)$)rlu1V8$cZx`Z>R< zUSiiqbb=ZKV#Fy~YY;(T@`{x=x)x>s2xUKCQhXfy$sWskNbrc+nN#IM;G6vM%x8#$ z?6bMODUl26Xn4^qd)1!=l(u_TpCf 6w{Y`gdF@XEE%?e1W^RK22!IpN6;#Z zT8KA0^u;_IEE>lPx++x&$fF<|17i;VGomm7Fp`x(XSfDwEIiQ3F>;q)3^5&QA+o4A znDGvUTiv!RY-LX1-ge%ToSmig{6R 8#TJ>R$mj|p&j{urwC=HzK>tLFc zhv!PooB&HqZQBFhpen+A;ZFdWt$V+FV7F+JU$HD;?o1kIGaifw^s4utAr?%EIbj6d zh#{QMop;RKKqZZ`?B?rDY_i%+8U^_=uaqiga4ao0|BZE(F6~XO;iQ*3g-5E@3XB|U zz+dy(?~T01JFe%r!4*%gU@(4dN64t&JqRdzXax;n18V_-r0El?(mi{SfU(#0G)$GS zOJ5&WZL17vM=kn~FXN_I0*}@fSRroBo(wk*^#o=;V47%d$U!G8Yuvj;LrI*c529GR zXuJc`Zdh|2RdKCU03M}G*D{1oXq^*4@$2sFFN=Lg90{f+jX1gOdkIvo`n)wW$gW}2 zLFU?EKKpPUc;15^v|G)CjaTlv2CT;5kc6&dl%I~5A-u>533@UNAs*xqJw@gSwhwjC zvdkWU&x!dA%7N~@HfFV34cndvJLnN=+z^wCAwQBD#RMGG2yU$U$^% ?tA_#w#_s4U*$m}W~Ft5XelV~9-B z@YBNP_@U_W#iQp46*@s+Nork;E9zUFQPs|GIPY~Z%J-&<5QmTym9`weW%1%ZV#s~E zGsiGH1<$1O2A6}(;_bf&BMuCHDifWa|0X*L;trOgtK5t?!D_!~Y-%_PT9mj(``4BX zz6`Ar*dW+jAgv~{w9T-LN~k%f*m)Y7+}x||rx`~V)N8nO^JamKgS9#Ba%t!*e1bp! ztEz@YvUe^YSm-xzMBS8?8tuwo8yJsXoDYHxy`V(bYg>Y>I6&H ZNH?Qj-MLIirPdeTE)VHK>68V={Ljo4oFrt0uTCT7xpoAU2t98qtTA z7vsO7G{UlwI5Hn~vmE?*KNQ?|R@qkwuKJ?EJ04T8PpYL;I*=y2*4TLoBP+w^+yIxg za|Jhs!UA-YPkzJ&P%uQ%fN;X*r|0K5TR=7WStqe&B-<)+r#VtLo}!M1O@BszB~0Jr zIeey!Bn0=VBupx7o#O}I8IR7Q%zm~>M&^gQ5LI>eu!0E2csZz8I2Igd>QglS+IP3X z6=w3(;A7i} ^s0LrMQr6S=X!Kg z;1L)&juS VCdys)`$d~qA_m)8M-E7BrHUFAK{ z7;{x*?@kM6Pjq%zp kLdIC4$Q*5 zw#QI{dglUt1B$UomYiOfKD`?|PT1v1d7>2hG^2jUMdv)NW=6nQg1!-luWeMexoRtV z#4ApoUadX4EV5Tm6gPK{I(nG>zWrGFzmys|oMWpwCts`GsdBzzQBN}Uqt()Gvsp0_ zgfrSsW9Thj2Y%?Vfcho^?<}c{>Nm>Kl`>Tnr_ZT$4uAj_7wr>gyX|vbSR~6;nTJNH zl6ld92;=`inOCm;Rt=|;5wvt#6O27Y@8<#SZ_7*wTAP=%-iop<0j#zwlii)5=jV-v z)r|sqn#e}p*72NgMMdHtwiB{*s~QKWk>xb$$$~ZQIotZtas>=|y9cYZ#{NY*B-3C- zC&)`a-BBId4N<26d$NeO^!C yyt7C#tauH zMB2DjA7X515<8& Lu|{+nYD7)qSiIm S|lBw2WpF+ zx4~Lm5Rtt58iCs9q{qzzVk6#HwaPhz7*MyNWh}*f;*owHjvHHu0@o*JiA>GPOLNO3 zZ5QbIpf{u>s0xIbp;jWoB7+K~xmg!XO{313Q>N07k7o!~EF|RAsI@*;-!afeDeOcv z!#9KNR4Yy`^_=YBl+&`3GT{3U;F-XWFOzG;ku=a~V60%tx?zhDh}WGdASaAf2~u1N zB_u|)<6JzRkXC)b?mo0orT*mv)P!Z~;O~-J)2~*nC!^ok_h)?nuc;sN{}IF3J?97f zRt#~x1WaD>ejF?TcxEvag2#r3Nr 2YVpMT4<+!MFty`ONy#trz6DtNG3xh5ND0@hmDQ;$UXUEmJb||3n;h|A)9*h z*qnl}PVzfm$5YHDUb!}9a6skf0;Q^onF|81w*21|gIksx2p^&ZDy7oRhg-T96HRB0 zmO``zzt9~PEW`(pyyDCWE{FF_0p~LC9+lcC@2m{GaV~W1GgD)BzaK74KqhNs=e4}B zP1zfX!bRZ~xojL3_P1jRvC`~J0CXS?)u{eFYd2j9;6-zP%s=S}GJsj8CVhCkigs@p zLyk0!hpmee%SsDP?jak6$mArs($ynp^$LD(ofE242sz|~Db3JTO9aU|{$S(@li7_q zOTho9fL*~49-23PtbnryE{rz64TGR-JvWgDrABPl6+T Lo0svh;>3>adij#^g<(mcM9B%AlU57YpuyHhlBg0PoaB9SXNHm?TBAUI) zS@2AH5cnO(+nDpq4< f8y26g{gs`!1!N4c3HENfP1Y0!ZA|Gh=U@d! zU1#jEKd5-SPsYnWMgR?a5oblLA1Gd(D#lc4cF@D&_~tLL*U&HA&ixYAn93-r`FiEI zyZCn#V7tO5#V;9RL*H=N#O*ry1@wQJ|BXm}dtXuV{b1?mc)=f^7}FK2T}SEIbdlT5 z=htu$Q~DJwT!A86^H`J`4_9%Q)_jzyX>_kGb|0|YT#5KtA0a6Z#l+(k-7;+n==NHN zvIZn5HYZSc7v5mY^Fh6aI2EY}XRvuP^+2cAU1{k!ytY0HP1jX;9IGMMwO!B3t;SxM zy0yKshrK!&p@Fb_N*S7~km0ZdQTlv#czV7>68oTFe*g0Q{vh&~ov9Cb3$b+aCFg%^ zz6b@9>juAT`eX6KH#|NpMD|2~8FGzY5y}QeVt?Krrg^OGAxkRCa~D%RBkWDJO)bv~ zSlb<`Yw_I!bY#k*G>4cVHCXrGM*d)*$UhYGx3QN9U6OrK1TJlNmTa&aa6lshFh(AW z5>;(!<$l}P>DL9Vg83!Bojr~Ve)%5Jg!%f$1&K^ZSv$Zndh9G}>p)AYeUj)h{sscA z`9F`%Y=C^R)UtO3loSv5gscF^PAU<#P5S^bK+eBqqE5Gas!=ZP`rqvHs8r#FNHCZM zfE`iH%|E1&2m<(LsXt$SAvX<@<|`A0epfHVQq-|8RN-mw2WIiPCzT2)Ao|PK9*|OG zK^#fCYnT4}JvMXO%BjP7vo53>D;$=M&U?V~$XJAAZ|7_=nXIQ=?4f?aMbHv3!yRl0 z6#2Prsp6g-?ZL5CNW6~+4u-H*0(;K#zS#n@BHIse1-3396Wz63m#w}dWh0C86Gsz? zv3$cdY~mzHPg^@d0~(%0yeNa1eEZWsU8ke94NGNaLL87gvE^gsb{nF5)cIeP$=cIe zCaZA#(f@U^ddI^X2HLO6>ous~g4y1Z@^41&%HR-&$+()hp$~WF4N+j&?}Ow`A(`D+ zDefk@vJu;OJT_iX>7Wc#vefcO!aEW#Uh?t;MiD%k(Ni$MlFx3+M$WX$umu-A5t8{T zCK4;98QPu}kLl`;gF(_7Wi1nuBrsv>MZWGl!mj287CH7M1S$`G&=q;(m%pyRbbt}M z-wlcBe 86$6UzVvht?C>t^RMOB3_;KPe+IBjONqM>P0 znzs`EM^6utpU!kp8HZHc8L`O1op-rc=1k6cJHCheS$a|Mm}L86Ml9e;#f;Ehc|lz; z_Y+xB)uZ%N&%mbXk!t^ug@O&d%99GV+|Ri$sr}^am&2}-%qKrULC|+Qo&SR6auQ8} z=79~^=u%g(UEg*iFWNq6E*UptmKx0f>Iph>MO_36pJXbuG8phz36?Hx22D62Bk-`Z z5>A tqgcVP6|Sykhw 5X%FiT5MKA#e zIFU)4Qyd`lgv~0{@X+oAPQGzd%dvwa|H&+7vKy=iFkn;ul#Qf>B}@%~l&9eX*l1JC zx@RLCsR2?^9-^hAbnQq9-TuIuJbux@1$?$v7=%`Rd> hle5lk?Eax^qo!@VT46lIjlRjo9?4`+MtCw+3;W&M_(I zKvw_)ZmU@mESLk(vt^+12I7I9YEQ`Xc#(KkAY?Ou4 V638 z7v^gV6L?b=SI~sTVJVNSQ+&eI5QVK{o8Kr0ukPr^H}jrcLBJBl+_i#Yk{)QU06>H} zQ%_kc=*8Y?d2WmGl}WfM6>w0$LX|}~11?JH*2B0WdfkuAI(n~(Zg0JL)XU$!i-4ct zl@8Ku=cGJlh+LOm{-qq5&5$8<_=nSb-_w+0TiHmKZ!uga9E-~5%39nU=J9tX;gEb) z0=eG?T2Mk^WN*?tQKII1^BloQ!ukQ>%ve4yX7s7c(aVHSxSVpdYZ~}lIXag}pkI-@ z5>#9-qz5(CPdo3@*w@0$#uIN-aTP?Z=tbs~QB^QmhRAs7SPYs T^c z2`|