From 58600473bf383ac1c64dca38f0d4dbb9a375dede Mon Sep 17 00:00:00 2001 From: Xety Date: Fri, 22 Apr 2022 06:02:22 +0200 Subject: [PATCH 1/5] Add Media on Articles in Blog --- .../Admin/Blog/ArticleController.php | 36 +++++++++++++++ app/Http/Kernel.php | 1 + .../EnableDisplayScopeMiddleware.php | 27 ++++++++++++ app/Http/Middleware/VerifyPermission.php | 2 +- app/Models/Article.php | 41 +++++++++++------- app/Models/Presenters/ArticlePresenter.php | 33 ++++++++++++++ app/Models/Presenters/UserPresenter.php | 2 +- database/seeders/ArticlesTableSeed.php | 10 +++++ .../assets/images/articles/default_banner.jpg | Bin 0 -> 37266 bytes .../assets/images/articles/default_banner.psd | Bin 0 -> 140002 bytes resources/assets/sass/_blog.scss | 27 ++++++++---- resources/assets/sass/admin/_article.scss | 17 ++++++++ .../assets/sass/admin/xetaravel.admin.scss | 1 + .../views/Admin/Blog/article/create.blade.php | 26 ++++++++++- .../views/Admin/Blog/article/update.blade.php | 26 ++++++++++- resources/views/Blog/article/show.blade.php | 1 + resources/views/page/index.blade.php | 4 +- .../views/partials/blog/_articles.blade.php | 2 + routes/web.php | 4 +- 19 files changed, 228 insertions(+), 32 deletions(-) create mode 100644 app/Http/Middleware/EnableDisplayScopeMiddleware.php create mode 100644 resources/assets/images/articles/default_banner.jpg create mode 100644 resources/assets/images/articles/default_banner.psd create mode 100644 resources/assets/sass/admin/_article.scss diff --git a/app/Http/Controllers/Admin/Blog/ArticleController.php b/app/Http/Controllers/Admin/Blog/ArticleController.php index 6c5b7559..3e21c4e4 100644 --- a/app/Http/Controllers/Admin/Blog/ArticleController.php +++ b/app/Http/Controllers/Admin/Blog/ArticleController.php @@ -73,6 +73,22 @@ public function create(Request $request): RedirectResponse $article->content = $content; $article->save(); + // Default banner for the article. + $banner = resource_path('assets/images/articles/default_banner.jpg'); + + if (!is_null($request->file('banner'))) { + $banner = $request->file('banner'); + } + + $article->clearMediaCollection('article'); + $article->addMedia($banner) + ->preservingOriginal() + ->setName(substr(md5($article->slug), 0, 10)) + ->setFileName( + substr(md5($article->slug), 0, 10) . '.' . (is_string($banner) ? 'jpg' : $banner->extension()) + ) + ->toMediaCollection('article'); + return redirect() ->route('admin.blog.article.index') ->with('success', 'Your article has been created successfully !'); @@ -133,6 +149,26 @@ public function update(Request $request, int $id): RedirectResponse $article->content = $content; $article->save(); + if (!is_null($request->file('banner') || $article->article_banner == '/images/articles/default_banner.jpg')) { + // Default banner for the article. + $banner = resource_path('assets/images/articles/default_banner.jpg'); + + if (!is_null($request->file('banner'))) { + $banner = $request->file('banner'); + } + + $article->clearMediaCollection('article'); + $article->addMedia($banner) + ->preservingOriginal() + ->setName(substr(md5($article->slug), 0, 10)) + ->setFileName( + substr(md5($article->slug), 0, 10) . '.' . (is_string($banner) ? 'jpg' : $banner->extension()) + ) + ->toMediaCollection('article'); + } + + + return redirect() ->route('admin.blog.article.index') ->with('success', 'Your article has been updated successfully !'); diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 42f3c5f6..4b1f5a8a 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -70,6 +70,7 @@ class Kernel extends HttpKernel // Applications 'permission' => \Xetaravel\Http\Middleware\VerifyPermission::class, 'discuss.maintenance' => \Xetaravel\Http\Middleware\DiscussMaintenance::class, + 'display' => \Xetaravel\Http\Middleware\EnableDisplayScopeMiddleware::class, // Extension 'role' => \Ultraware\Roles\Middleware\VerifyRole::class, diff --git a/app/Http/Middleware/EnableDisplayScopeMiddleware.php b/app/Http/Middleware/EnableDisplayScopeMiddleware.php new file mode 100644 index 00000000..0ac2fbdd --- /dev/null +++ b/app/Http/Middleware/EnableDisplayScopeMiddleware.php @@ -0,0 +1,27 @@ +auth->check() && in_array('allowGuest', $permission)) { return $next($request); } - + if ($this->auth->check() && $this->auth->user()->hasPermission($permission[0])) { return $next($request); } diff --git a/app/Models/Article.php b/app/Models/Article.php index dc100536..9b41de8e 100644 --- a/app/Models/Article.php +++ b/app/Models/Article.php @@ -3,21 +3,22 @@ use Eloquence\Behaviours\CountCache\Countable; use Eloquence\Behaviours\Sluggable; -use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Facades\Route; +use Spatie\MediaLibrary\HasMedia; +use Spatie\MediaLibrary\InteractsWithMedia; +use Spatie\MediaLibrary\MediaCollections\Models\Media; use Xetaio\Mentions\Models\Traits\HasMentionsTrait; use Xetaravel\Models\Category; use Xetaravel\Models\Presenters\ArticlePresenter; -use Xetaravel\Models\Scopes\DisplayScope; use Xetaravel\Models\User; -class Article extends Model +class Article extends Model implements HasMedia { use Countable, Sluggable, ArticlePresenter, - HasMentionsTrait; + HasMentionsTrait, + InteractsWithMedia; /** * The attributes that are mass assignable. @@ -38,7 +39,10 @@ class Article extends Model * @var array */ protected $appends = [ - 'article_url' + 'article_url', + + // Media Model + 'article_banner' ]; /** @@ -50,15 +54,6 @@ protected static function boot() { parent::boot(); - // The Route::getPrefix() is undefined in the testing environment for mysterious reasons. - if (App::environment() !== 'testing') { - // Don't apply the scope to the admin part. - $result = strpos(Route::getFacadeRoot()->current()->getPrefix(), 'admin'); - if ($result === false) { - static::addGlobalScope(new DisplayScope); - } - } - // Generated the slug before updating. static::updating(function ($model) { $model->generateSlug(); @@ -93,6 +88,22 @@ public function countCaches(): array ]; } + /** + * Register the related to the Model. + * + * @return void + */ + public function registerMediaConversions(Media $media = null): void + { + $this->addMediaConversion('article.banner') + ->width(825) + ->height(250) + ->keepOriginalImageFormat(); + + $this->addMediaConversion('original') + ->keepOriginalImageFormat(); + } + /** * Get the category that owns the article. * diff --git a/app/Models/Presenters/ArticlePresenter.php b/app/Models/Presenters/ArticlePresenter.php index 794c0fe7..ef66af25 100644 --- a/app/Models/Presenters/ArticlePresenter.php +++ b/app/Models/Presenters/ArticlePresenter.php @@ -3,6 +3,13 @@ trait ArticlePresenter { + /** + * The default banner used when there is no banner for the article. + * + * @var string + */ + protected $defaultBanner = '/images/articles/default_banner.jpg'; + /** * Get the article url. * @@ -16,4 +23,30 @@ public function getArticleUrlAttribute(): string return route('blog.article.show', ['slug' => $this->slug, 'id' => $this->getKey()]); } + + /** + * Get the small avatar. + * + * @return string + */ + public function getArticleBannerAttribute(): string + { + return $this->parseMedia('article.banner'); + } + + /** + * Parse a media and return it if isset or return the default banner. + * + * @param string $type The type of the media to get. + * + * @return string + */ + protected function parseMedia(string $type): string + { + if (isset($this->getMedia('article')[0])) { + return $this->getMedia('article')[0]->getUrl($type); + } + + return $this->defaultBanner; + } } diff --git a/app/Models/Presenters/UserPresenter.php b/app/Models/Presenters/UserPresenter.php index 0e555eb1..901e7f10 100644 --- a/app/Models/Presenters/UserPresenter.php +++ b/app/Models/Presenters/UserPresenter.php @@ -231,7 +231,7 @@ public function getOnlineAttribute(): string } /** - * Parse a mdedia and return it if isset or return the default avatar. + * Parse a media and return it if isset or return the default avatar. * * @param string $type The type of the media to get. * diff --git a/database/seeders/ArticlesTableSeed.php b/database/seeders/ArticlesTableSeed.php index 00ebe60e..f26c2c28 100644 --- a/database/seeders/ArticlesTableSeed.php +++ b/database/seeders/ArticlesTableSeed.php @@ -114,5 +114,15 @@ public function article() ]; DB::table('articles')->insert($articles); + + // Update avatars + foreach ($articles as $article) { + $model = \Xetaravel\Models\Article::where('slug', $article['slug'])->first(); + $model->addMedia(resource_path('assets/images/articles/default_banner.jpg')) + ->preservingOriginal() + ->setName(substr(md5($article['slug']), 0, 10)) + ->setFileName(substr(md5($article['slug']), 0, 10) . '.jpg') + ->toMediaCollection('article'); + } } } diff --git a/resources/assets/images/articles/default_banner.jpg b/resources/assets/images/articles/default_banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0624584f60ade0bb58476efcca551dfb3b9a9fe8 GIT binary patch literal 37266 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

#3dK5yW7<~_fa)gI$K5&vQpprK1Yz#kaQov zO_cG-@bY1b(emU+WdpKhRXZfM{&*}04DSjzpqd5*f6lppiPHG!>v!Zs2Tx>jjmW`O zi)L{b!iCwn=~&G)yB#ADupxAFbh8PK^=T&f_Jg?iv`l?l=EI=k6B`it_wisbPU2lp zR=|So%HsxH!4!BLo9oRCvJo+7gho1};-(nxS7* z?ACJj9t?AKGhRH0e)F&)N3CO!7!+ZvAPx|sFH9+|gC4HR3y+G1^x5khGvqYa_cjIK73n^;L&0Ee!8)8>-RCB&|oI7}exE zs{Y{SfZM;@oOm^=G8Hx*i%Ynpb-Nn#_Q2l4EFC>toxI*DYnRc&QJKc*8Ms!HSUj~y zmlV21Q-kPo9hmEEhlHH0{&tu4G$Xck(=P}Im-)gW5uaC|Eb%x|_h^_9$Wq-Kyb_ZI z^Z|MmG9#sJ;wJoSq}inw7_JQrHx#lpOAO$a#X?19r( zQU&Nw>AcE&g`@WKO;othM$V$e^)+ z8FDyuUq$mNUqn`H*WItfSQn}cN3gB;2b7C*)wNbn@Fzss^XFzlwukbrN6F-u=9iZv z>uIFiI;S3-mG$Qjb4FyI@LR91t$w;boOnjZUET2MHvvigm%sy#dlVLEQuf$*I4P2U?Vsr6PY0M z^!|=ZuF?3~hO6mp?%SGM3}8vMZ~kFP-8lclk_wp6QRGwoXBOh4m6|d0n8!0e9I4oJ zM6ZwZ&IFqs+vc8~2{yD>(=Vp~)Q3BtEqH-1$zhM6x1P@CnRl8HH8&6UBJKw~#?GcJ zLgae-yr>R}Hb8pS9ixS`oPhizo4T~*Kc>>u1 z_m@g)YEc_&#&F`0+ydKJDfRvU0tfVxSWtsUk_}y*6b)rg817XB>p+WT%@Qnjh$7&N zmC9ZnO;^>+<{ybbIZY3*^8yrPst|P67@;R?q-M;e+Dvy$-HpZg$lZLA?9G>LBPlEV zz+x^HT*4z#YAqQWB2wJEBsWZ?UFN}=w@@I#4kmEM+cHT@hhD_T7>g!+4h)3dJF7U> z%*Oos&PgWD#y2mOl7gduIKj5dvO$rClxyq;hW>2jY+n?OWMmDG1)_jkeoCkqtKkI2 zx6)Cf48FvsrzvHeGcq!DpgvsSaKi(ZGjwCQGtLD+ z?HF*~BQhg&o+(!QnBS}$CU zD!cmYQM$`ghmt2Ne((0L2(a%PVfa|N#FFEsvMu@7Ui@LIi+MZyohx(9a9BM8K7n9C z(h5#9(Z@yn!T<4kkj|SE}HE zofLTK4vfg$0tU%ck6E4BP-%&SW|GZG-kY)+&y9VrqQ}19!f;{Z5X-iWec<%8jL>^F}b<9U){GDO1;Y)i}`_-=~5VZvI<9Zk6XWInhQRahe#UMk19X7Mly{6J^40=Vo zOT%j2TiZ~9Mn|Np6>#QMB)xiQM|+l0&XE-Grb|IG=@sIWmL9k_$7DzuUCRHV;8~SK z*T@&Y8#eW3yakNyr0V0c$AL93Z~O#Ra>8ce%9@Xx#l$<1rVpH7<#!d3MggNdWmN7@ zpz`~09ccb9!=ZjAKY!su|LV8ctzCwYOH1xHPwRGU%Ocj=Dtk-Ia4VY@)6=$vC?7peUqVQ`PJn}Kx>jBRjbMD&Z zX`%Tbg`%ffv&v!%Am`-XJ!4uE9S_t%eJv1f8F&md2n8RZ1MDhc&F7;NN7oX#DQH4la4@5_ce(?oB1foIwQt7LDEH zY*XfGBtuCj)_jcZ36td{8P!GvblIxy-6QvekHarO2gG4{&{;GdIF`5V_dt0uqoiF^ zQkF)zrus1S2Q9vn7R$}eo{strT)xs)^_xgaqAcrv&i#9Zs@oF{%b^GmALzL?uoEooPd@=fC2+qF9_0CT?bdoQZfD=(gM}@rz`6gno+O@(6 zduLbGu0gSZDarTsTy=^AP zu9d%`#PPQ^^UWl{I)DLg=^5X2N6*MY5<t`TWK=#L@b*pAn%bV9{J-!^e&q8UyZb(E@V)|MO_XW5U6#FJSRWQ^gfBY1 ztUMh!1Yv%SeCGj>GQo7f5WFQNxtctHl)*Ob3_QsqZx1|?6pP(BNQAZZzOgsj9mCUa zH-Q)q+K%DvQFuj&)uFq)hWYtBZx8dM8q9eBbh-Igqq3pNV)6DWCEkcC90)xXNk9}y ze32s~$cTkNfKUT3`331}gI((V=}3qagv%zp=H{3SQHKjXMv;qVo?QDxB}o|e-tGK@ z`q|x2`eP@4!d-u>27W4i|MxycZ0%ASTC-O;QXNN>`)^g+K_-+dJG@S_s^wGMG!L>c zid`A(JD%J({+x<3DS1_bELY})A_?hfX$axPsTtK;!4bO!qD3b&6EV{su?8nurbTPf z;%{d3JMxQR7?~;L5cujykcXRx+o9h)I9?q(#OJuT6!g;m8jW|ryFOz%-WJm{m|s@< z&jQ37uQ_+uml%DH;8X?va6!aMih?v)Gus}AGx+cnSogi3hqJa3h&|Aoi3A^r3YcZ; zo)JcxjqntzPuEs^k(xl~5Dq{h#}03pJJn3K3hvvUln44TDbE^}Ntg7?1^o-X{rl>t zza(n@2Y2EB$2ad5wf)}~T!>#epMTYJ>mNtpf11qk@4Ad#74Kh~82<4F|F=Fx>@H;f PeV4H-RsQ=fAejNB30Oxn^LP(lkrg~CY7O~fS4q;1kP2}#QJfI&~x zBWjhSqJl(3L{QA33Mfd^BZ?wO5K8ZDN-4dkxlNKbNi+ZNZ|~=MW+qKbImh#V-}iIU zbTZGg_PXu0*Is-7_FOV)T4a_~TsW+TIGd#0=dg1({EAFZ&oORdL zvkUH8P%t@q>cvw>TzJQnI~JBNEUd~8-LbHwv~tQF7oD0PEt^v~g=>+sP7PU>ss$IF zdWjlBH_nWNrk7O|hRz=|VRS+E`13;(Cy&XVFmC+h$>)W}hO;MSg(qcYj~ksmVaoXM zl(Az&-oI0)j^OITis;-a*IxQ*&m4CbojSj&s(eaT*6p|7KIZmuW6CP#Wo1vEJUJ^o zHf!wI(Qu5eytA|_|Blh6m8Ur+zMe}9D+?-$%BzaXN<-3{Kc{R_)kUYCDnr3PuU`wx z14E^iV{9MC6qGH@x+A|lD|<{hYapR$K_FAUsG`KW7A?psEGb-ASXxzyT=sx+gmmW2 zKy*NJ3l|P3Sy^@2ZS=s4$bgcSv+pb~%(}L)vTRXBLE&Y$;mK(OIbS}%tg5VXe%S%~ z9W=Y%+re=$yAb!MOs^=+uPUpUT~<~y)s1_^*B6>TUE@4CboLEJrO~q6E6=$wtG`HM z1QOZ`FU_wioH{nlpoYhf9-BQod(xEbaZ|Dl(NpL3Vh!#wlTUN0!ziMiJd3i}uLB7&2>$cLUmsCMuFU(4? zCdu36m@=cZvMRr{pm4^eQz48gDvB~y3dR>qE{u*IH+Sru(c>nKkB-g{N9T;rFDN{} zVB(w!`I8C?Y>;NoOcviy^`&J6iL{wSC!arV!q~Y5qw^FLs{D0{^WkP{!k)Etb^gM_sW-A7RFEqr7iJCA z+`r#4-H%VcA4H99?yqLx#CO!x?k2l6V3d;FnO;^>Rxz_IS~zuFvRH!bx#8?2ZF_8Z z9hFTL`?;)OL$_b#g9`S~yyzdFf2Qt0*PxLg6o+y#7_LK!Qou79t{@bLaxoaLLy1zr zGZ?NQ6o+y#7_LK!Qou79t{@bLaxoaLLy1zrGZ?NQ6o+y#7_LK!Qou79t{@bLaxoaL zLy1zrGZ?NQ6o+y#7_LK!Qou79t{@bLaxoaLLy1zrGZ?NQ6o+y#7_LK!Qou79t{@bL zaxoaLLy1zrGZ?NQ6o+y#7_LK!Qou79t{@bLaxoaLLy1zrGZ?NQ6o+y#7_LK!Qou79 zt{@bLaxoaLLy1zrGZ?NQ6o+y#7_LK!Qou79t{@bLaxoaLLy1zrGZ?NQ6o+y#7_LK! zQou79t{@bLaxoaLLy1zrGZ?NQ6o+y#7_LK!Qou79t{@bLa&gdbjYxb%vapoTMc&Q_ zAnhk8r`V5FHuGDbuymisJfgg!sI=;uMOEdCsvr&(OQf=D)*L<%XE|n+RuvYOE?TGt zUF&&zNrmo5S=m`dcZg$JQI%xW>~t1Z=;I5sFS~IzBxlSCL@LV4=FTdtT2y|`oZUW3k&Z!7)uANsoGq{;v zQ93HWzcfK&7}FyHmlCGZAW=VdAhjTxO_X((uVN+bC&aj;QnN* zwcXwix4-$7W~I(@pL`zSO&7?Px5IK>VY24VrKN=5!z?AuqdfY<9|e@LR@vwH?em;( zDaw40Vs-A}-Y~~Ze87Jh+tfT@Q~bZvW@91MOh%J#@6zp^^UcLBY$+LOX)Y>57o+VLUnE!pVlsoR`#3O1y$L!SvNHuf}DfcFK5lPL~ir3d1I~(QrEgRtddXX z7FJ$ga+M}uT8f>awhi(zJPxxrGcHZCb=bU$vPI=7q+w@i_y=<1WyHB#Bj7=d*)Ssi96gUr!WtnUsiF~B_&1k{1s@F>--fynVugOEu5Rb z$d=sUw-r`Y4ZwcAPfle&V$MAKp}3^r9_{o`yF6$>#9Uogs#p)NDl2CZuPjWiX(LJ~ ze)~~J&auUEKl%|2`~3dwcD9`@LuMq8^ov{UwVPQ-+iQQ89&7KE(8H{h_|5PI{L;LA zga`9FZJjYUl(#Fv?)56AgOGSW^p=|`t!9Gwe-ihJ5mv?4g%@Hvc21 z-g@8IVaI;w(PyTecKUJG{^y)=<14=OkLib<@xZK>cUuc8&;RI8mwfrmOaFa#^s+xb zRyE;cZ(X;kuOFx&2PW=r{$Ytk3ak8ci!)~e(r5w`TozJdu7Fz z&WV@bFz@!SKKR7*e_6S;>u8gnj<-XsPlpW~dcJkxli9}%!Gl{*{m9U<_kHJBdGMdt z{-b5w>2uz#_|gN@XB}5iIllFbVRGQGGtd9yTR8F9$D)^AH=(L)tqWee~-)*I#hayotSMy!gc%{<3~)>>Je|{l%t-f0mcF z>0^KX;$ttj-#X=-PyP6UF|YsVR~^$Y`|hglFKj9P%jB;dv9q?jByNV5J$b{P@wYc# zR#tf1jVq?UecZEuO5b$xtxs$}^~n2=DE!C?$N%_`mwtQK(yu@K%G!b(cOJFo<%iR5 z-M8YJw<=D(;@TN!KihQo^dC(B(H)_`&baD<8K-~uXAjIcR3)pZrqECx5=;zUO1Now9B3Bj4ZgoQJWa?!+ZJl1~Y*CszPFFY~orhS($xcBeZ zUo^U7$~PNZuDk1dqelJwrXMbPHoM{1U%hhNhAZxE8`*u$^Xt~W@Whk*&Kk4$%~;%Q zn^gOH_p>kE_}~|Ip7@pXZhvgd3xC{l|Io)D{r#~kzkSk} zPRhD6w&JIo=1%xsecB@r-I#I8+qa((`%&|>x+k7{c+BHF$`)jQV&2Z&zu(mTxqY9X zfBR|om%abz+^(zdJ2U&iXFvbB;stN_6_1OX-1^?FdnR05_EOyZu(x^78BZ+!&ebzV zFa2uS)0-|?e&^(0FL?CzyKiZ_`;_K6uXn%pcJ~vrU!Hf(e?Ifwe|)=T-P(sYoqSGj z=e4gqv*EE{_1(NPZZ7XT?xwG7`sU1fUUX~)%1th{U3<&S;mx=&nw^4p6$pBsPEtmi&@)6OMN+`DjjecXKd zi~spl?q{>_s@t{e!mlscId8_v|Iu^U&nCXnbK<_Uwtw-W?%eJp9@{=?@A!?`Km1<7 zKOWfhUS)RL!fR)Yten`>b=Maj>G=1K+aKRIXWQ;yK5@~i2dlpRVZL{rbQBzVGL+eSAgz@>uPz&U?l$K61p*E_|(Nu?LFnDDGz18@JQ** znadVk_ViyC7Toj1bJsoh#rtk+Zn^I6i@*JgMUVVuMS1gU&+IEZ;-hQ6aPMnxty-~W z=ke!1{rpA$_|7ez&$oYZ`-j{1-6 z`rrTN?Kv;cd#CJIllJWW@dcmw!I=*~___C%mmD=YYvI4X_}1;utUd4E=9!(0TihJh zed*<+j$Ttg=g2qLzqRwCvR@R$?tO6O*|$Ibjjf-Z7x~Hf3qM|Z_5Nv_LJZI`BzFS z7j#dJHO@SF)3WYgulURT->mI;@E5tu$Nlhz>tET{@$QW~Zf)IN@P(c0Z(3XU{i)0D zneuS!vrB*U;zN(T@odLOcRz8@c^`ZD?rYN4o|nJqqf;Nepz?>i>(=hR@~j=rH~neH z33q$N$lB-2;91 zmtH@2=IZAkENFc0nfq_7UhwN%ZeIA?z6ZB2eeL4u+rPN-qf4$h{>v})-dXsq*N;5r zQ#*4v#QJuQD0=Ga56wJp;iB;L%*^2!C1fIIKG#(|D(zJ{93T4tj*ywoPsogA50q^L zhCEz$Dwig0?97?wQ(PQw4of@69#ydIf&OuOm?RhGq@5UC7pI-=@c@m|vMoT8o{F@w z_FB8h?|!w&0wc-(g2!?*`jutIfR4TA5B#Dgqiv_H(*xa}He;^fO8s%q zX(xTdn5`#S3qA{$fphk#XVg!{%Wq;d>ZjUGm-04LK4`;yA?x!(PeR$oDh^dHW{{u8Zo{zBQX zkcN&zPL?amBqCj7+#_;XqjEKuu$h@m#q3h-b;~xSz!H`dq;&* zU9$cEO@R>Rv5d!aW{Bc>f_MQQ(#mf}VdUZR#EpWSJ#4u+_;<*oFr=hxoM) zG=x}}nR%wn(!FR`aBgew6VbM3CI5|RJG=km(Oz%uL`tq=1k*N`mlP;lGfp2nxnNv0 zI{y68bH+!v#?YKZWK zK;;}j7V%w9qD;OMmm=^; z`H?r1&0N~^t)x{RnRm5+xUBRXQN@szMDphqR(gRE)lBCwI_ZA++zMX*m{nEizszBo zf^bk&%y3>;(Lq|7A7H6DB3f8lwvcb13&`m=LOwjY2u{AiE#-XA5AKK6Ho`hLor6jL zz{q-cNojCzhfBv#NnJ9tD@x~j=ZuHj*CM<*XRp0^YOm)m!)0R*O84gJetHt~_n6YM z(o5#fEh;UXU6Ef}sjnma|Ixaw7b(#mtRRf(KfQvWbJks;}BoZ9c?qV0iGYZf-{~`_5UU{Ta(lnt#G7o5}xtdQM4>CFfjQ?V88( zlvHhJ-*Hv2qndq3RmiJ|Bg~Cd(JHE11rNQZ>XwU`O58a9Y_NDS4LM0P}vn zJ*7$fv*s5TVmr|^Jj;`^`zPBR3R?!GSOa-Qqo}ab5uA&j55ZH`CDCFw_4dn!Q#D_5 zM^R*9A;Y7FpDcu;J^%?vw zn(KWVuHWt9S)VSdsI0n*5uCxmQo8Wbxjj5<7GK|3wLkf?(&+xgS$ws1;j}^)y22C{ zB40AMs<0xNdI_(@U2$hQuZy#P3{_PuD)dbT)aVUm713EmcNK;v_-&DjLf0G`8<5H> ztNPQXmz7o)7A(@n)-_dzCi(oI<29$yxCx0aS}XX-1Y?ZGOtRyaJ!afEfAEH9T~%0x z`|6)#@&__8nB?f?C3GjjqtW*tUKR|`Qm?Nn%vZUhG3bLw(uO55Dp&Abq2imHUs4$a zXBzvc%KUlx6-BA^EBUJ0vITCxn^3{`PFLKift}7GQdY?bBq?+G=OrMn{qwWhc3Y`^ zRblD8s`*}mhqApHkTs+7Gi7WQ=adwNvKbyX)$P1I#A%+G!*+E2`AXJ;jqIH93qvrc z{Qe%o>`Q1lbnQ&0GR+`A+jM7BI6Is)t3I8-=#FV+ynQ7(??s%!*1V`7d6ZIfCTaMT zl`fGcWRICNj(@&QUc@cB3%mIxvkLMR+eEJG1zV>7{tawV3l=Eb&JSEyu3lMKQ7US( zpFS;MoR(i%SVEG`nqM?GrFf|G)AP$KQ^Vo2C#cs^b}FPHwd1p@DvJ23{Q11dKW~0& z(^Wl~5-8u|r9~A&yL=D5(oO%eW>*4YlIxP6e)iRF)%ZlExrzz7 z2;7u#{OYo4d?EFMRNp>bR8nGJ<@Rj&St)Cp;J)qQSr(Z4E5?{{+2baT4UHL}eg1?= zp)u!=%|3rpP=UO;iVA{Kwt)G}SJ8er{R7pkgxZ@DW8nLjbp>A>Uv%}Ng>yJ2NbTa4 z`IYmFqWOMTJT=Kv>O)L@RY5D7rJdZ2(z#_2T+ke)@|x0w`K(#<%WfBA5=pmil1*}{ zZsq*xF?MVcF$kQ$#3l_%Vmy*#6|CZ}d&#O(M*6?3&}N#7^c97A55w#-b?4J1`STJ% zci~}^S_E@`Wk^#!>$=LqPcv(k&-o>G@wuT0tPxBJ{`!FCRbey{PNsilkp4t6zuawg zeBW=VDAGIB67$5(@vQ0di%O!L>$%;Dzda!tr6DPTb_>P3d8`qyK4htD{Wes?vkqX1 zZY6B_+3y0crn0gHMcz{AxePVp|H%XTseeJs0RF+wCVHBEOH5Zf%Jw`6GR(T)Pt({WHv>(6MEu3ffA;8>&tB`7 z9>HItxHM@i?(G?PGpij}7q=|E@6~R|_kXqJN{-n}dF`dlEa0uJS6Da})h2y-*41Tp zrzpX2S~xvEGJaIJC;svHiSbk7Y2n_`aiJ4JpNJ0+9~ZwUeoJ_G_=xb4;ZfnE!~4R0 z;U9+|2@efl5}qEuEPQ!*Mz|pS<#0{-tKn~j9}Pbiemwj{_{s3g;rGJthqs1zhdaWZ z;fKNx^OlQGn$MqOZZY?m^UN4C#a!^oj86_XKaCF!g?*pcrplwx@u8FAhlh`iUl6}J ze0X?7cx3pfaHjeE+2&?*cl`bM5c60(WS$5g6VGsxR~8nQTfyT(XE=(#8T0yw!SmE$ zgZyCwH;VwyHC4Wo2MOE<1sg<%atU`LY`+?{GQ!EX8#RcWB-Y|#{Cm@jSqC$AkLm&c(wizNl9WiY4;CVK|_FT z6JWF-@as1KLEx`7*PCf3#GLfsfL5l$nD6y%@?@H$2>`W z8xZoO1SoxzmeNls5)d5S`KHT6P)p*m39`AQf&Y{E${$d0fOX zaHS2gEn;KNpJWl&tOT8rWq>(J;GEEFn=_zVgZLXbkYm&EQ@==`|XE_c^#%Pknh} zaIfyYZaKJD4~|alZjhofxK}^e4%EKNlC;kaUIlUZC~*usxL3DFS_xDWAcFs+d-bVP z6L0pl?~U=_UN@Ax#QSl*Hx(rawEo}o23_lT;+K8bwtIK?@#@6@@5yoR#6Ivlz3nI5 z|F3_i_s`sCKo0o6`ZROY;LrcI2;3J>{QNcP`o8$!ogbOONDM||a6b4sFc^u!NGJk> zRngCb!AJ~7VsJkAIWQQB!AK|qgH_SbgMU^eIC~jH=>O{?;Ahd`oEnUTi@-mto(#rw zFrI_CBcTWkRz*J#1|u;Ti4U3&g9!b9;|Ya7F9z%7U?f}w z2GN&BHT?+bc`#r6XbeVTFcO3F!OwxgNDM|o5g4qBejW@);=d9J5cq~a*?{R$R{6wxVGE?~;o{RZC z1-ic7TK7|-PvN_*C-6PgWBGEPfqu?4`uP+#Pvz$G?K3@Qw@DkZbYDDe$*`wQ`tYK+_r!;^K6JLBrCBXK zYN<16pM5tLPv7_bQ9Y(b#mxTdb~BO9OoGS;26_hKfcRk%-t6kU+)>F)A0>m zI>H!_bE(Jq>ZlHrUKo!Pga=KRXLjj`eJ0IgX?rxLz5%qQH2+Vt2uLNBDQP_Wh>rvm((h+ppH*xLd4>>jQ?YuDkAmM zJeYso7wG9VhYi2?eIoV31-_Xj!`_fUrvz~H5d^*+PZCHw?hR6C-+~1Ho8pg&pOhK0 z4S|Ame@J?ad5P58cWHwCEwOjU%~s;G`E&w1CyvM`{jMP~qbqJ+Pjq0p6G(q`)Yq&? z%%q>NQ-k)pF;7ETGK|0G@i2e4=MxE;6;5WztD}r@Qk^Da)ZcAR6z~To>B4iv_8RjC z#HKM?UR+l>F%n~+FK6?jPf53)KTgtu;JT9#{2hW*5-G4I5X66H5UrzLwOKub4<~&E zN7tQ%qhDc4^^8KRXL4O2iB=~`tVX@6d1JoAP-Q%BMd{n8diTW5FGze(bVDH8<%_~U z>eU`5tYreuL>^vorXB#C8?bT78R(8nd(~X^;ONQ+;jJGF=D;eLQ&l|H7 z$+t50&65j#c2u~V*=45Nz4B^Q!5Gh}{qe9O#)#5PHE$K!5tt7o0@45Sbvex6v&m^;Xx zJ)wl$4kt&^@#=y^nKMg<^&!YedZLi;=!u)6#H`-sByAb;WL0sL+=^t6AxAvnJqQ!0 zg2VvYQVplAO`f!0V3rWg9)pXXG^vAh+RkGWV`vMv6{mA2baC}6<=jdWI3YQ!f30~E*aK^Af3y2oQ!Fm zxHFJp^ipNgmu4=pOI0Tl1R>*bQnGd8b|+yTraP$uLs(;mEwPJU2O@+Z<8ku8bz+AZ za?Ikt{9=qvBvr+uh+nEKW6PWvw!|)^F{Bx^jK`UHk|rE|@wC`kp1e5$*8RlE_hG+9 zV9Bs{#EGE|&4!a~8mT(lWZV}wZw(|(XS|rVAx*-01L~W6yweOn?!|a~%{hE8x~7dc zoc@(3+=?*6;0Y5_(M?{=3_I;yzN7yjk}XIwNjyn9V>LdWmXf@7?5$2bvhI*%nvh}WC6m4`TU(CDWo6VK{Rr&m+b$$1G#QUmz#Okz>iwyg z+>f2`ZWS-<;|KBXfR~b&@i=Sm2k~x)_kHm)Yd?s08@yCr8_TX!)VBlsyA|H|Jl=ID zF*y#xy9Hj>0&k4`?cKon^FF-q2E3&1LG*5hm*vUROQQDU{jCa)mnZMR+ZgcLB{yZ< zR0e(CP4I4j_hC31(#gbrdXstIg?BxF)9pdBJnR?6MAwp8H^RD3tSk)U$<%{rZG?5L zSog(;uI7)A9fWlQtZU5hv@gZte>(G^oa^CS#m4K1gWFyQ8#}3km|P3TI|t=h1ILO3 za}3i;n|{`D@_prj*@la4d}BQR(_xAoz8}b`q2e66iN$)!FpbFS1GB=x8a19GykwXL zdd)#u+1;H%7AzU2{9!~6)BY%CL#lBL0G zRavD>CGk4^=kqQ-jMDD4s%TUG4$M1(0`0YGQJ}0Qct^aE;=|GriB>H;lxvTdE!V<+ ztO*CTt|g4HcmILSy};WMEoR7w>X#l5Cq`O}C`*l}o$X+0uW~S1ghqA*ommMXE!&BX zv(}IJI~@PvOC2Ws`?2dkGt4Fl+kr=5@hoV+z#{71u~|7h|I62=d*+5qa7HX1Uv-)_ zM)i6&k!aefB!;Hjq>sK}IH{$oYqz>Xw=pR?~!Je8;u%WOsFJ4CO(kHz(3X&oWn94;>I(XAF1Si@!4yAs$+AQ-?Lqbvk{x>Wo_IWVVM1C^ zrWL%+X%c_&Xg_BOqhgcRH-=2Ox|`kT8;Lv=hH9fYcf~WF+Fz6~TG7p?BXM;%Dcs}b zA#hB{4bd07;_2`0XOv)ik__?{)E*UaiLCYS5G z&4rBPUk^(tpkQ0qckEMlC4N;mIl9P7+ao%~nz#?!*c%_Rb)*^IvnPI7%L`w=@>sWx zUOIxc#O9-wKA{~%(sz*+w`UxP1CAFm1|>}J*TGloHrh$Z(q=QV`)bPRS2@{v9^Mc27=cgjY!d$( z@sraf6x1D@%6yz^1vktsr0+2;Xn&h9XMFtL=bKw4uu1~>w)u1ntVUu)vV{3J)L*lQ zzp{E(-h)kcDy;|v=)xm(;f?NuL!{mbT^Rcdqj&Bz@c&`N@_?UmlMR1fQkREg^!u2| z=`!gj|D=z^-hJE9w~{69BeegKmJ(V@$tRf^XP`{L<+ zKR7IPL~;11bam(GUXwoZ-ZtdAA2|N?B)Or-m;CU@cb{b)^s|VY^ZNG2hwU8ApA%cS z9ihITobqZQL=o|-yNZH&hH1Ss>y}2kUiYb20xqDqxZK3x^kEV+u@9b?CcYf-c(au; z(XozMMi~1TqQ70bEMW1fh?~%C+b$=6@BbQSK`TC+wlv^k5M<0N7!X4V#emWF)8?g$5;=E0`gZry#qDJ}y7m&oFReP5>Cti6kTtF7`Fw%_`aHX83!!-2J^1>UaL8145aGv8{gv97I7>%p zJxLq2i)cM_-jkwIh?b7f0%dMzLM)r~a}l}H1cLZ98T0qc9}|(Qr6aV8n)?~fRoA6G zDk_~+RY&WIJ2}bRR50Wbk?j=JQa{vu{7XNcd-y|UXj<``t7_~?1CEX4XN3K&t4w~5 zHOD0Ve3aKB+>c(FaX%-SY10;CrDECdiq)CsnAYWv z*b>teGcmn((jNP**%gb!-)354&zYUEzL;JnX^#EQ?1=3{HU{qt$dDlRz5|{=n9f+2 z*%#|&CF$fk&SNQ$4%268U0m(#5}$}sJ--G{BIBgr%!(N5(!b? zG%c}K>j{0Z(xSd)c6uA|)J?pk3;H)dQ8+dfl(noJJHomut%SJrxq|KN;b`1Ug zDMFhV+fI6;aaJ@qAEv*ZvCWKgr_BUKu7!SSY_>q@q(vJU#i0$~Mc>BgccMu-q*%nz zBKi)ppcCsVPa3yQywlk2;vp|w2IyG16aGE4YXn_Zh~^HBJL!Ly9pM&e((fKR5q2Y` zp0rtd%#O4>?(M{Gm+ei=wkgLIKON?F(uXd_TRutO``FiJsfm1%FOKF;VVh$+xtIUq zbLXtBvF*tFz8GTS4pZBCR!lUvoS)1S;^AgghmFe~{Bmu*#KxV2`mteLy*BA~r<{Il zdaVDxO?QatVxzoM-~2XrOsUvt>=JZ$5UIGN(%n&`VvWJQ|G@spi^!o`r{7b{4sQNci`rap`*EjHGd2p%^je* z82NE?2W5$|6WyJNCB{rNcl5P4CFVLO;z%ilwjSClsz>sex}&Q^AJ)S2PEw!H!Ld}L zom~X8TW3(ov>xl%subGZm^)TV@bxjL-1$+0rkdjpiV`$c8+RgxS&^vNhGgdiB-O_fYi}SJlcEF9wQDCo7&}t4iJiuV2SvtdAY^Svla) zx2q$PX=8n&FP@*m)~>#*O=GOOr&_IbppBa6uTC24F8ZgwYwc)bHz67MrEzg}TG-do zonKvE4TyPEjk==K#zX5^j8#WkH1b+|yBU>Uv}ymMeTmvO6BR{PtH0LE4xV|thHcwK zWE7=dyw={P6IoSwdA*V7XvHT2-o6HTvy~azh8@Y10rW}rVq0t-anX8jcOJH<`^>0j6;7FdaD;Nt$5mLwR^GcHCtjYbFY!n9$=f@y=iQ< zC)mgRQm&Pg8qYp@`=aG^W8X(Vf5*LY%3+aRv1cu>%c(e#Ut&jyEkC`lV?9=WD*C_T zUOC*x&b5`;uv*7{&f2QE&>4FS-!)^pVvq9ByxJRkgokFIVN4!kyfjM(aX^3qz(Ul| zC^#VM;eaSOAgXZ#2SmXEQM+r2f&-!^YH>gm91xAe4-SZe1EPIVivyzIfapGC*+E6Y z0Z8`Pd*)m852iB;4v6+fnL%7LqoQO<6dYh_WDgoUqsw@J1EM`qY781Wqu_ujH~MFc@ zEk8KG(`=DO$^=CY9ANE(1E98|$>IQF&}-@70O;*D zhZGBNfTe>2pm*Sv#Q|LJwPQz}x7pw_fH})O>n80QL6;Sxc{qUnci9nUO|emx4Xsm> z*GQ=+tdG!QcBEB1qzfEid&9a)n{r(7W5jp{2Qc29)+W^s`xXa~FY-nF@8hf1pyntz zz>b+{9uA0t1K<&#bhYB2*1vY16%)-Z*Ty^{9&Sdl9@>7oNXz#QeAm2_ABqj*>d8s3 zhXbq(cCG)uO%Dgy*eLJRH^0rp0qED*CFmXwur`wE9uA-%sr()eNYUZpfE1dC15#)n z4oIPSI3R`Q;eZsHhXcGZb^d!efLJE_z8Us zf^Tos!vO(}eI+wo_$0xnn&aVsfKS!N!vO(Jb=JcH0ZsG5!vO(J^UT8m0Zn7%;eddq z`RU<+fTkSua6mxQ{P%D`KvTW&a6mv~Psm(lM)K^(fE^+AL$8!3Xu9@rfSoJi1qYCC zdg)X3V2_mt2iTnPZ~)hPJ-Vx99uBZ`R64)`-kjB1qt__43iVnU)>3cIsut=+NY#%% zo4eou>xXKPhXau5u{o^q(wtTNJRCsVUh9{}O|?OB^l$)eT2IthRd+XcJseJkW zJCY{@=+hpk+oIqA`k|cwI}h7aaDZLk!2$61LDjkk4v1( zKQU=zuc7hrt%(W_U{~Ts(Dw}-fJAE)900ehblbg|R#SF$(bp|q`zIFzX#@vE!2ztA zE?!#kw9^6y*w}&tqTm2KG8PBe-J8bN!vS`Or<~Myf&-#2a;=DK?7;!-7~T5r;ehC~ zme;NI-~e`=8X=1V*o!vNbBhC_-~f7~RU8~ZY_!&c1L(Q5g9Gf0>575_@J@XK2iVyM z4v0R)cn#u!0bUQt1qbAMI3O1skgIV62jqeSa_z1q7aWjlaxD(X1qbBD;Rgrgf&+5< zaxD(X1qbBrLlzv63l2cC$KEsFa{pjDbHM?*y}6n%op5#LF699Zur#s!Lu+R)*_jItfFcPhMlLuY7aRbET8hTbTyQ`x zH~@<5FdHo|IKbnhuEM+5@`D3Bee#ptrKN%ca=`&;pbu7By1@aSf1;_^ow?wET=rwG zXLuR2ROT`L?#cxR*p@x?CT9D0n&Ha6>M0SDk&w;cgz zU9sK3102Ap?6obvw~7lm0Q+6^V2>R`zkiAlIDod@cAOOr_UrVwGZ!2HU74WBfdj04 zZ~)X+G+7)#40{%V^EMk?1~6y2rykO-5p-E0 zn${cT1eMEzM&4{bkP zq~&`DzFQpN#fEY9oohXZVEly~Zz-{#=}^lR)AbPoqu8_9GJ2hfjH zeh&wv=fQ4c{m^#JJCHHkTNcfjM-XpIXULqtFP%dMjj4GkzEHL>v%9$Yq@_X z=^h=z0YN)BfZ1(vKoYIT`lTA;`_BF{*TVq;jeR9E+~R;-PJM=2T&8bEgc-- z%~`EA76;h5Fa4~g-ken}v^ap=>$AD5aq{b#hXc^pV{=&Jr8%qkc{qT!z1A;{n`(pN z=-~j`w4SK{s_t&?dN{z+G=|^+TT?w85YWK^#8mAT2S9gm1P3rCy0$nVmJkWJCg5ZuK*5!x-AzRKtHq-VCP|b3J$RAJ2(LT zKB!vvzyZ0M%WiMrs2cU=TvY<;1qZ;(j-QycvDeV}_|`-P2e2z~Bk21E4nU$c7aRb$ ztaRJGnX->vUGD3auKkmXfi!{xa=`(tnl4^i@wC$d2iVwx19HIuc4RCLu)8;nt%n2b z4o^9$@dO9tzR0yAuCWIPuw!)VyN3gEpS8Shtp^9N>(mHY9Kc?*iJn^=kP8l=H(JHP z0mMdYJve}#OFKBg&X}%TZ~)$^Pv8JM`@jLY4>4XI4){p$9-!0hCza3UQ_7#>F`9?2 z^;2SMOr^QiEHn#Dv6;``xu*B#^X6-2vANe&^Y|BYrztaEFa@;hFJOOx*3X%nc(|V% zX}uR6rTi`KQu|X5-$JMrri$O!@pA)z^X+<*$6pyGojspjgK zCERDeZcJ!zyghE}I}((fz412Qpx4=-Qa=zSEnLr=t{U@rJ7&01SK$||9GaaTq)Y>^ z#HN%1F;5^5iYN--y6?psH@J|q>qQ>l=oJr zm1n+ZGIFZx)KXtp9$sgDtNZ%Kp7@aF`o)pV^+7nWWy3&{*|4lP={dE{?eX;H+MHeN z@=bMjy&>yNLu-9nU3jxe57+XRS2e${5sEa|V~+QoLgsyf4dk8_SdQ@fM5MQVA9)(m z<(_&IaSC|fdR?S3aDsP~RudV0c-9RfZ}82j=bgCqIlM29#x=yB^v`SH-MkGse44_9 zX>G{lJ*=6vN=H5dk=ICLeGWOD*TXw?)0#s}gIbb50>9PPnD=gA60J&?di7Al9NNh2 zs^5-=P>W2~uO{!&n$xgVG_FkbF8F!7W29NLkq<%SG}2a=NzT{z#CiK|Ew;mWQww)y zopgoYOE#zg=h0W2|JciGM!q?()wh?U*|S+BCY-6>i3eoiV&x2y)K9Ah%;Td~EP=R<1A zV~P?=-fv6FnMO=SFkby$oU*ee$&^X~<)SXIe{i#)hyNOK7qA`FdAYIFD#3cqHGWF|} zH5jx5)zE}?-o%{QAaW+{dA)JoK(2@>a$zi2qoXd_jO|8xwd)l|^48)xTNlp=HC~Bd zZ*8ow`pseplsH1ZPwM5qGOiKz5u~fP2fg5J`&65>97U>*x9W$Q*UDk`b)I?(V0aY< z83a=;_0+E%2rXRRigY>8^_Z#;`=*!(epq<-dnOgfgcKLWJ;Hn4 zBO2exUZa4cAZNW(R80WNDN~KSgP4|GaF>f@McT9@YA~L)!B+B$~?mUH&4n>^( zW~}D%k--pK3yqYE6y_IO^Ua9+!MCN|*BojJdatS7OhL}Uyn0qns1#qyxo>>6I=_#2 zXf9&B+8HN-8^aX)a}~3bH>mIAWvJ zoMJ9SwPs&H9IV5!c*4?4Qs<&gy{bYLAH8Km~ zYoIWzPa(l+mk>+Ia44P)V$u*^<~q#6D(iQzAo?m2#e&u~N&kGF4+%j~d;lTFN8Ni#Ht5(90$x#14?+5STLc z38HKDY{}I)Ux&h4 zR#h)_PD>(ebhDh1soh`yn`TH3`&$*gB=w?JJF2wjp}iUHHe~9Cd`xI(1qwAcLn4X$ zxxd_GWaia1Z%Wa=+@wQf10&rwMC?11-i?H8Kiw?G8bYcQ0;~k&5&|LLUEe) zww6UiF?0TQ1*(W*8IVvS=f@L8zpyq~c%I(cgHLQL$SjUuKnc_3(DpMph z10oyIn1^OXL$FsqhZ1Q=IjUywP$$K2F~o^NrWJZcKgFgFiqpGTv0yK)Sd>dI(kvzxR-3mch!ScWcgKg;*H-7{gaqUEv)b4kAJ!bSdzP_i zJ_0%FzpJEOb7LiFfwR6=_*nC+RojHO?4WaMNq(Lps4GC)$yK4Ft z>SgGxS*(@Q{hZawol|CN>y$@Jsl!gO}?>g*}t%{(HQW67Z&{XN;9umX_7I}F00vaBI< zt#42}L(iZ)C`-u{YmZehQyJ#$Wp2kFl}U-*koiVni#~xFO^(iCm;`1qw#pg6hRk)c zwbvSV-=1JM&oVNpuWWUW2wsRpxL;Y)9FDo&_ z#BIjqhR%9sG3#51&Nk=p!Q>ov+%n2UUAzfiyM)u&7&JPowL%081*aWpjn!M>=k%*N zhYuOMIe<<(DX8f>7|7|6$y!i#g8&Bwu0Aic&!hvKQG~rXd>fhMtdWd-dR>H7AsyJP zO^EHLwj(;*$w6D5PBDmcGv&=qaHrJN6I5+Zs;#*kPMpHp_b>NNRAa(!XQ7~$oNlJO z4HV95NlESYxL>0*D8x;NVfIi5rEC>hjvy1U{gmbeN*ANFd;`3kxFnP+{{=Cv$DG=c ze%g&$tvS+4Cu-kGah2%RLvgN#(Hi1pGP6Nq&R4>w+zs2Qj{Z81{_K$!YAGp;S*cN* z7HVG6UvJpyr7$;=N)2|~qBAn5Hytpp3CIR6f_|NEh8hSSY9ZCLv&bPld8t~J(NORf zt&7o`r)`!Mb6V4s`IIUK*KMHVv*=KK-Zklw#rCW_vx9ffT9iVxb*@}Z;o&%m#m+SF zg%-^mvFM;l=e0Uprz2{wX7)l9LujX=;w`2h)o=Q0wIIWg)6A*mV$J+L)oJA+UV+NY z<0_A8AJ5?sN0%|amnl7z6Ny!8bxH>=vGCWIXHxhg-IC%>NRr#EYy1W~@vQ`PdG=^t z9C^$%3g%+Yg^1N_COw?vH0#|7WLtGwnAe@YsDgUmvvhza+qa9>bR)Cw}x5%oF$$M2lWki_z~ss4YD7nwyjHTlPV1MVnqb z+rOoa*8N+0p~iUVWwcZo-s)gm)ris+RqNdoFPl5UA?Fxxq-*=trYPFvyUOJgG4 zSlG_pHlorEO?tLR^a7M5c>{oz+-Tk>B74nBc;C}r5=nW#le-;Oa+~eL`}plkwxGL( zP3C(vXE@bQ|aCazg`DgNpCmk1qvj2iJu;9fYKe= ziy!UKH`1Ggq@w+cO6*cA-NxUY=?+lwX_7TIP-> zmUi698aBbz!9yqY?c{koR@>0PvT3tKchb;_Z|yuBx6aQD4VvNPE*xu(>#H>EBDejXCp1WVE0J_QI1O$1*5+wg zO};74($GXsyF2;N0ZqMd+`fhuJlzOgGR}upWD%#tR>N-QaF1*e^5e~iWU9tveFQH)F+mIA5uO2YNq&sH0e90yt_q@#|_Q zeNxrlm84%I_in(yf|}v@b*1{(&fHQA6CNpB5)!Le6P$#u29{8UZVGIyrt&xmUFrC= zow=itN!Uo0SWCTe61s8{-AE-%XePcF*jPuMa1y$bL>m$BFY!M0-;ZoUVm%d36++n* zBWn|0sp4!lZ+de?e9lHfq8F(haQIox7Lk?Fm)Kz5_9S#A8*Qvh{UzR|YP_Wtkd_T( z1#hJfq}<(3cBt)0#;DY9Sv{&ns@7Ye>yWIS9BX2>_>%selT_cdj_I(?UsJR?Y)z7G zrAj2E-JPV{Sbf^5jIk7H-h_wkSYTWA#m&JO*(hnnUeV!$7uL>eo^5{>lgmh~}tFPAc50ZZ0M#q=biti-bB03Cf$4|{xH~;0eyVIf979`v3IhUfv zN}&uOg00jwUs845_c+Gv)jq{ZwnqN$_0`|mNKz+M&St8lRv1ZcCDU3XZ+McjCy&{& zu|w1P@-EWaFD7iZP|b9zv<=A?c6DxS{T_oDUebO%P&Pl$@ z%B?+-+oNeeD>bXSlAQK%Zv`@%A$zEbjkH>% zYpCdMpXRTbBVvz&Sd$t!_H*sPw;DhCjRa0+jQ2U-Kb`M zg1?K1uk&_w+9x_Bv7H*N(}vBAtZIw+x7%tY{fhk;H`{tA{%yA2iGMYb zcKq^OvwI`lJK0t5w)IrpTWvkno@phmj=Pm-&E|LE)-JsX3BIAs^Jj~9r(=kg$O^c8 zsjXzkX8NjwfNhNNHsa<>z3<&QspW7vDWNyz@)o4FkRRK5@DUTw)@JfbRZcLyjlA4~ z)IMl&I5tCH2e&|Y3tF_Z>mqJ_^y6K6&l}0{)Zhny|FwHV|K9pv1P4sy2i z_F@k?TmF_}vJ2hRvlKeW`G74g#USTmi=3?t$l2;*<`jdRi+>kr133pR%&DXni;w9y z7^;}rTx^lE)#kT=`HHCv#m@!Wl3S=W1GG@Ph;vJ^Mb0VOz=yU4{|(^mMwzr`SDY;P?FITv?Blb-Fx7C9ry`eG$P&O`*v2Jd@3Bq{Gf&Wwm8Sudf# zkKfEuE7^kXmST`I5tAgynFlDgSW#>;8)@3n$hjEg3`LS)U?extS0~Ayp;)61a%M#2Eyx*O zuqpl4RgWhHa;C3NN~59t0y#5xoYZP0B?WTks;77lcG{6&n<7QMMQXK;(@OjjZ>kh{ z1gX{Z(b-}zhQvxnT6RFrNJ#?ZjBGD)401*qq7h~^QK7gF9{nlcTGnV4TF(N11?OxtF+h9v8shp=?@f+l9CEJh`uR#*zjEtfDWlus^P6FhdBB7ZGa`tS1 zgFOjdS>#Mhe~I_0|NBdTgOLDTA`v5N6JDv}fSkQKB0h^-s2aWm*bs>~89|qu?CV$= zeF^ZgC!s6ZXk%UKFYzu_<1MX#w1Awk=H@{xxU={d$rzRTEvrYXpQ<&;x!59Sa;%Bj z;!FB>PEvi-I%bhGlB$_n9l)f4bSqUNA?@xga%S~ur!vM;q(RQujs?=HFK!OT$VN#k z_KFV3+1h!{i;%wx%JwSTXTK7;*!p))+Q22wgmi1MR$uJ|K1lj~8y#O#E54I#E4IiP zKQ&w3{Fm46&f;Gr+lpWJJZ7a(1`xqk>Y7GLysGQI$L`LTY%TtKAnA5Cl3aTLNv$vz zIg@Fv#cz0$vL}z(v9Uwb`T}xhJ<-lkRYo3woRI`MBiX{P&Sjv#g9AB}ryyr$qSiRS zS}DG|bCMwEVvC%~3Q2;Tv8gpgwm{C*(WbzryR$eJtxd%iIU}jKYWE2O<{1Qxg;pxh zP9#CjR1?f%BeX+;D%TRH9F-U?(i zLqN97h&3L+zt;vi!w(W3kRK!*@V7F)@=JRz@q>gt{UB#ge}Z58Gx39*;RiYI#}Be) z9Nn%?`$UH%K+f=koEb~i7WEnAjDGQhoIQWU4|1k$gU1hY_V_{09zV$0<9FBwcpG~+ zUkc=G@0=9K*^?4_Q!Z~o3gk?Wb}}oqOOY**v#oL#Ig^)LkODbVLpo@S5y740mv(R< zXV#D|;s$a?-)?4TC*uWjrdI5vpCD)aw#b=Cf}D&0A4ASH?KMfrxu&fq2|3ra)+8b4 z0q)vsK+ZJ*a<&|8H6Z62i=1mb^IoDX^Tw{?lUQs>y-NJnn zeFZr)0y}Fga;^b66Jy==)b#MXleVTBi=2_6*4I$$Ye3F57CAFcTj2-))_|O`y|o79 zT+9D@l+uJ=g%HyJj!;+M#cxHwj5a8{}ML zkuz4-!7E9Sa}CHDiX=hKNN%97PLe%CjYb{h%!tTakTbksQ~Ir|9#0D7OkbUpMnm}p za%S#0sntkI3gpaHPt6|ev?ISZMT&Zh)M^{2mG~vzR4H&UQmg5sv&CKviIt4B?0}q+ zk_5;Z*|R zv&BA^*frOHoRJ1O)2a%hc?5DM8ZLK}r5$&&2I?+xY(a}=KFArXZD?TCu=%AsY3Rha zb{>w~;$CdAU&n`5M!wb40CGmU4eKChvc%nixX>UA@=@Hr1~7uvpczi?!U1xItKDkY zMQ-~&PiT<#RwC)*;54-1Tbri=1HP zVK;NQ$F_l9(ExJBKSf0n&Ij;UKMf#fvchR-sR23LyJQW{UP8kzYDcmUAZKg8wPqPt zl8g~K*>3mp&e;ZAT1n+R^@`shXDiu;q<9UIAZK*M?98zEm(c?`_mc!UTgi4L+ma+@ zQ~DEvf1Ey3SRc4bR`QQXJi@zORjf5KX}>W*VRD$ zAZJFx=Lau){JH`;+o}x?4)kl}z`>qB;AM|rR~82|w-m#Kgt8?e0bcebbTzPqG8E+O z*#Iwl61uWDn7N~oN!Uo0055wIx^faA=M)LeM3A#*1H9}>=*l8zTKY@8PyOFt0vwD4 z=n{z-S)1@m6$j+(%@Ofg+(OmxCBTMAyvYc<++<(J%IHggmputx$wnLNQh$kesTyx- z1*8S!j5Rk8V!@rozevWY)NffmTK!b5LC!T6Ig?{e%obnLzjKo6o7ORloRL(`)an2x z4WwJC5(#N{XOT0jPdk+{mLd&u#&#@_R()}EFh({?TCrDjK+e|AYhHx>RZzB9**^P~ z$i>#bbJ7MbaVDf&Yqa`mC-6bi@7w73l3MYdWLu3z&iJX>>gK<^c6S#4BH31Bku%X^ zrBDVC!B*;;MoGM?>%PbC&X;Vh`McLwe`h1fwFi*Y3S*HonbunKh9@a|@|YbPJ2b5? zAZOMS?F?0A?iy!3d`6GUiGi@6@evq@r4|4YSLCzk(!!{sixIxbNrg|#vAZNHW|3S_kcPr1D z&F{jkT{_4a4^;~!0dlr?P7354NP(Qmy!Vg-IWxxF*t_{sAZL5$q(IJ|l+c@Uc?(h? zXL_`gS*cx$Y=N9@m9xm1yxf8m$e9|_L0gOn?j*mog9ACUhIA1(kTd#rGebKWFOV~} zVki9sIpeoQ&O{RAT;m~UcA93=v>7ua`Bhc^_3S&U#u{_(xuLAdlR_6>7|IHVCWfX? z)wAxhJ=)FQvuKkihq9)Zm6goCv%K)rWu;X(dz>nGwLyr$f!VuTi%52g1Yz5XD*pJU8R>4EJBZP%XCGc!GB^?(;! zpT76<{NLyHKJVqx{ty|h#`mH9B%H@u&2{d?SnM9HwtKXJxktm|9?K;T_gE1>nj>^( zPYLF-rJTKC|;1?iscRYSrYs#4StqwTGySNO;7&=R#cDtt}>mFF6=QU8rqXw z?yq`(_8Z=XB)D?-%|1qRWcDTGUkZwW5}yn~H8Ox~1sWqVE>nR&+2LD?jsIW#v5++Y{ogkIYko5Z z397p0_cEr5$cs7IxK9mvt((Ya)aPK><>tNw*J<61SCUt$;x;v)

pF+vqHFdu5?p1Z7?qJ?R8|H^ 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 C%g(+4 literal 0 HcmV?d00001 diff --git a/resources/assets/sass/_blog.scss b/resources/assets/sass/_blog.scss index 582cc1f3..44c750f7 100644 --- a/resources/assets/sass/_blog.scss +++ b/resources/assets/sass/_blog.scss @@ -28,15 +28,24 @@ * Blog posts */ -.blog-post { - margin-bottom: 4rem; -} -.blog-post-meta { - margin-bottom: 1.25rem; - color: #999; -} -.blog-footer { - margin-top: 3rem; +.blog { + &-post { + margin-bottom: 4rem; + + &-meta { + margin-bottom: 1.25rem; + color: #999; + } + + &-banner { + object-fit: fill; + max-width: 100%; + } + } + + &-footer { + margin-top: 3rem; + } } /** diff --git a/resources/assets/sass/admin/_article.scss b/resources/assets/sass/admin/_article.scss new file mode 100644 index 00000000..a4414c2d --- /dev/null +++ b/resources/assets/sass/admin/_article.scss @@ -0,0 +1,17 @@ +.card { + .fileinput { + &-new, + &-exists { + max-width: 100%; + max-height: 250px; + + & img { + max-width: 100%; + max-height: 250px; + border: 1px solid $brand-primary; + padding: 4px; + border-radius: 0.18rem; + } + } +} +} diff --git a/resources/assets/sass/admin/xetaravel.admin.scss b/resources/assets/sass/admin/xetaravel.admin.scss index ceb76fb2..a2d141e9 100644 --- a/resources/assets/sass/admin/xetaravel.admin.scss +++ b/resources/assets/sass/admin/xetaravel.admin.scss @@ -32,3 +32,4 @@ $selection-color: #fff !default; @import "interface"; @import "widget"; @import "profile"; +@import "article"; diff --git a/resources/views/Admin/Blog/article/create.blade.php b/resources/views/Admin/Blog/article/create.blade.php index e70fb1c1..c5944265 100644 --- a/resources/views/Admin/Blog/article/create.blade.php +++ b/resources/views/Admin/Blog/article/create.blade.php @@ -34,7 +34,7 @@ Create an article

- {!! Form::open(['route' => 'admin.blog.article.create', 'method' => 'post']) !!} + {!! Form::open(['route' => 'admin.blog.article.create', 'files'=>'true', 'method' => 'post']) !!} {!! Form::bsText( 'title', @@ -67,6 +67,30 @@ ] ) !!} +
+
+
+ Default Banner +
+
+ Article Banner +
+
+ + + Change + {!! Form::file('banner') !!} + + Recommended size : 825x250px +
+
+ @if ($errors->has('banner')) + + @endif +
+ {!! Form::bsTextarea( 'content', 'Content', diff --git a/resources/views/Admin/Blog/article/update.blade.php b/resources/views/Admin/Blog/article/update.blade.php index cd8454ab..cbd53fe7 100644 --- a/resources/views/Admin/Blog/article/update.blade.php +++ b/resources/views/Admin/Blog/article/update.blade.php @@ -34,7 +34,7 @@ Update : {{ Str::limit($article->title, 60) }}
- {!! Form::model($article, ['route' => ['admin.blog.article.update', $article->id], 'method' => 'put']) !!} + {!! Form::model($article, ['route' => ['admin.blog.article.update', $article->id], 'files'=>'true', 'method' => 'put']) !!} {!! Form::bsText( 'title', @@ -62,6 +62,30 @@ ] ) !!} +
+
+
+ Default Banner +
+
+ Article Banner +
+
+ + + Change + {!! Form::file('banner') !!} + + Recommended size : 825x250px +
+
+ @if ($errors->has('banner')) + + @endif +
+ {!! Form::bsTextarea( 'content', 'Content', diff --git a/resources/views/Blog/article/show.blade.php b/resources/views/Blog/article/show.blade.php index 4781b8a3..6957f46b 100644 --- a/resources/views/Blog/article/show.blade.php +++ b/resources/views/Blog/article/show.blade.php @@ -72,6 +72,7 @@
+ Article image
{!! Markdown::convertToHtml($article->content) !!}
diff --git a/resources/views/page/index.blade.php b/resources/views/page/index.blade.php index f6e8a2e4..9bc89223 100644 --- a/resources/views/page/index.blade.php +++ b/resources/views/page/index.blade.php @@ -85,7 +85,7 @@ @forelse ($articles as $article)
-
+

@@ -126,7 +126,7 @@

-