From c0c78aeff343728949a20a9d655601c4d0c00ed9 Mon Sep 17 00:00:00 2001 From: ai-modelscope Date: Tue, 15 Oct 2024 17:44:00 +0800 Subject: [PATCH] update readme --- .gitattributes | 28 +- README.md | 119 +- README_ZH.md | 81 + configuration.json | 1 + diffusion_pytorch_model.safetensors | 3 + images/T2I.png | 3 + images/images_alibaba.png | Bin 0 -> 12962 bytes images/images_alimama.png | Bin 0 -> 30247 bytes images/inpaint.png | 3 + .../alimama_flux_inpainting_turbo_8step.json | 1666 +++++++++++++++++ workflows/t2I_flux_turbo.json | 528 ++++++ 11 files changed, 2376 insertions(+), 56 deletions(-) create mode 100644 README_ZH.md create mode 100644 configuration.json create mode 100644 diffusion_pytorch_model.safetensors create mode 100644 images/T2I.png create mode 100644 images/images_alibaba.png create mode 100644 images/images_alimama.png create mode 100644 images/inpaint.png create mode 100644 workflows/alimama_flux_inpainting_turbo_8step.json create mode 100644 workflows/t2I_flux_turbo.json diff --git a/.gitattributes b/.gitattributes index 886ac0c..54b765c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,38 +1,38 @@ *.7z filter=lfs diff=lfs merge=lfs -text *.arrow filter=lfs diff=lfs merge=lfs -text *.bin filter=lfs diff=lfs merge=lfs -text -*.bin.* filter=lfs diff=lfs merge=lfs -text *.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text *.ftz filter=lfs diff=lfs merge=lfs -text *.gz filter=lfs diff=lfs merge=lfs -text *.h5 filter=lfs diff=lfs merge=lfs -text *.joblib filter=lfs diff=lfs merge=lfs -text *.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text *.model filter=lfs diff=lfs merge=lfs -text *.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text *.onnx filter=lfs diff=lfs merge=lfs -text *.ot filter=lfs diff=lfs merge=lfs -text *.parquet filter=lfs diff=lfs merge=lfs -text *.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text *.pt filter=lfs diff=lfs merge=lfs -text *.pth filter=lfs diff=lfs merge=lfs -text *.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text *.tflite filter=lfs diff=lfs merge=lfs -text *.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text *.xz filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text -*.zstandard filter=lfs diff=lfs merge=lfs -text -*.tfevents* filter=lfs diff=lfs merge=lfs -text -*.db* filter=lfs diff=lfs merge=lfs -text -*.ark* filter=lfs diff=lfs merge=lfs -text -**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text -**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text -**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text -*.safetensors filter=lfs diff=lfs merge=lfs -text -*.ckpt filter=lfs diff=lfs merge=lfs -text -*.gguf* filter=lfs diff=lfs merge=lfs -text -*.ggml filter=lfs diff=lfs merge=lfs -text -*.llamafile* filter=lfs diff=lfs merge=lfs -text -*.pt2 filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +T2I.png filter=lfs diff=lfs merge=lfs -text +inpaint.png filter=lfs diff=lfs merge=lfs -text +diffusion_pytorch_model.safetensors filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md index bef6db2..a183724 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,82 @@ --- -license: Apache License 2.0 - -#model-type: -##如 gpt、phi、llama、chatglm、baichuan 等 -#- gpt - -#domain: -##如 nlp、cv、audio、multi-modal -#- nlp - -#language: -##语言代码列表 https://help.aliyun.com/document_detail/215387.html?spm=a2c4g.11186623.0.0.9f8d7467kni6Aa -#- cn - -#metrics: -##如 CIDEr、Blue、ROUGE 等 -#- CIDEr - -#tags: -##各种自定义,包括 pretrained、fine-tuned、instruction-tuned、RL-tuned 等训练方法和其他 -#- pretrained - -#tools: -##如 vllm、fastchat、llamacpp、AdaSeq 等 -#- vllm +license: other +license_name: flux-1-dev-non-commercial-license +license_link: https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/LICENSE.md +language: +- en +base_model: black-forest-labs/FLUX.1-dev +library_name: diffusers +tags: +- Text-to-Image +- FLUX +- Stable Diffusion +pipeline_tag: text-to-image --- -### 当前模型的贡献者未提供更加详细的模型介绍。模型文件和权重,可浏览“模型文件”页面获取。 -#### 您可以通过如下git clone命令,或者ModelScope SDK来下载模型 -SDK下载 -```bash -#安装ModelScope -pip install modelscope -``` -```python -#SDK模型下载 -from modelscope import snapshot_download -model_dir = snapshot_download('alimama-creative/FLUX.1-Turbo-Alpha') -``` -Git下载 -``` -#Git模型下载 -git clone https://www.modelscope.cn/alimama-creative/FLUX.1-Turbo-Alpha.git +
+ alibaba + alimama +
+ +[中文版Readme](./README_ZH.md) + +This repository provides a 8-step distilled lora for [FLUX.1-dev](https://huggingface.co/black-forest-labs/FLUX.1-dev) model released by AlimamaCreative Team. + +# Description +This checkpoint is a 8-step distilled Lora, trained based on FLUX.1-dev model. We use a multi-head discriminator to improve the distill quality. Our model can be used for T2I, inpainting controlnet and other FLUX related models. The recommended guidance_scale=3.5 and lora_scale=1. Our Lower steps version will release later. + +- Text-to-Image. + +![](./images/T2I.png) + +- With [alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta](https://huggingface.co/alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta). Our distilled lora can be well adapted to the Inpainting controlnet, and the accelerated generated effect can follow the original output well. + +![](./images/inpaint.png) + +# How to use +## diffusers +This model can be used ditrectly with diffusers + +```json +import torch +from diffusers.pipelines import FluxPipeline + +model_id = "black-forest-labs/FLUX.1-dev" +adapter_id = "alimama-creative/FLUX.1-Turbo-Alpha" + +pipe = FluxPipeline.from_pretrained( + model_id, + torch_dtype=torch.bfloat16 +) +pipe.to("cuda") + +pipe.load_lora_weights(adapter_id) +pipe.fuse_lora() + +prompt = "A DSLR photo of a shiny VW van that has a cityscape painted on it. A smiling sloth stands on grass in front of the van and is wearing a leather jacket, a cowboy hat, a kilt and a bowtie. The sloth is holding a quarterstaff and a big book." +image = pipe( + prompt=prompt, + guidance_scale=3.5, + height=1024, + width=1024, + num_inference_steps=8, + max_sequence_length=512).images[0] ``` -

如果您是本模型的贡献者,我们邀请您根据模型贡献文档,及时完善模型卡片内容。

\ No newline at end of file +## comfyui + +- T2I turbo workflow: [click here](./workflows/t2I_flux_turbo.json) +- Inpainting controlnet turbo workflow: [click here](./workflows/alimama_flux_inpainting_turbo_8step.json) + + +# Training Details + +The model is trained on 1M open source and internal sources images, with the aesthetic 6.3+ and resolution greater than 800. We use adversarial training to improve the quality. Our method fix the original FLUX.1-dev transformer as the discriminator backbone, and add multi heads to every transformer layer. We fix the guidance scale as 3.5 during training, and use the time shift as 3. + +Mixed precision: bf16 + +Learning rate: 2e-5 + +Batch size: 64 + +Image size: 1024x1024 \ No newline at end of file diff --git a/README_ZH.md b/README_ZH.md new file mode 100644 index 0000000..fdb97e7 --- /dev/null +++ b/README_ZH.md @@ -0,0 +1,81 @@ +--- +license: other +license_name: flux-1-dev-non-commercial-license +license_link: https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/LICENSE.md +language: +- en +base_model: black-forest-labs/FLUX.1-dev +library_name: diffusers +tags: +- Text-to-Image +- FLUX +- Stable Diffusion +pipeline_tag: text-to-image +--- + +
+ alibaba + alimama +
+ +本仓库包含了由阿里妈妈创意团队开发的基于[FLUX.1-dev](https://huggingface.co/black-forest-labs/FLUX.1-dev)模型的8步蒸馏版。 + +# 介绍 + +该模型是基于FLUX.1-dev模型的8步蒸馏版lora。我们使用特殊设计的判别器来提高蒸馏质量。该模型可以用于T2I、Inpainting controlnet和其他FLUX相关模型。建议guidance_scale=3.5和lora_scale=1。我们的更低步数的版本将在后续发布。 + +- Text-to-Image. + +![](./images/T2I.png) + +- 配合[alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta](https://huggingface.co/alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta)。我们模型可以很好地适配Inpainting controlnet,并与原始输出保持相似的结果。 + +![](./images/inpaint.png) + +# 使用指南 +## diffusers +该模型可以直接与diffusers一起使用 + +```python +import torch +from diffusers.pipelines import FluxPipeline + +model_id = "black-forest-labs/FLUX.1-dev" +adapter_id = "alimama-creative/FLUX.1-Turbo-Alpha" + +pipe = FluxPipeline.from_pretrained( + model_id, + torch_dtype=torch.bfloat16 +) +pipe.to("cuda") + +pipe.load_lora_weights(adapter_id) +pipe.fuse_lora() + +prompt = "A DSLR photo of a shiny VW van that has a cityscape painted on it. A smiling sloth stands on grass in front of the van and is wearing a leather jacket, a cowboy hat, a kilt and a bowtie. The sloth is holding a quarterstaff and a big book." +image = pipe( + prompt=prompt, + guidance_scale=3.5, + height=1024, + width=1024, + num_inference_steps=8, + max_sequence_length=512).images[0] +``` + +## comfyui + +- 文生图加速链路: [点击这里](./workflows/t2I_flux_turbo.json) +- Inpainting controlnet 加速链路: [点击这里](./workflows/alimama_flux_inpainting_turbo_8step.json) + + +# 训练细节 + +该模型在1M公开数据集和内部源图片上进行训练,这些数据美学评分6.3+而且分辨率大于800。我们使用对抗训练来提高质量,我们的方法将原始FLUX.1-dev transformer固定为判别器的特征提取器,并在每个transformer层中添加判别头网络。在训练期间,我们将guidance scale固定为3.5,并使用时间偏移量3。 + +混合精度: bf16 + +学习率: 2e-5 + +批大小: 64 + +训练分辨率: 1024x1024 \ No newline at end of file diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..b5f6ce7 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "text-to-image", "allow_remote": true} \ No newline at end of file diff --git a/diffusion_pytorch_model.safetensors b/diffusion_pytorch_model.safetensors new file mode 100644 index 0000000..902d354 --- /dev/null +++ b/diffusion_pytorch_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77f7523a5e9c3da6cfc730c6b07461129fa52997ea06168e9ed5312228aa0bff +size 694082424 diff --git a/images/T2I.png b/images/T2I.png new file mode 100644 index 0000000..6a42971 --- /dev/null +++ b/images/T2I.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b519e6578c674441c24edf6cea01203d5acae8a151135269cc6636135a55203e +size 9955906 diff --git a/images/images_alibaba.png b/images/images_alibaba.png new file mode 100644 index 0000000000000000000000000000000000000000..244e9cc8bdb300e268ed414f54f5212a3e722d76 GIT binary patch literal 12962 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 VKhyO^L;3#2VW?-OTYVLU`#;r-{3QSY literal 0 HcmV?d00001 diff --git a/images/images_alimama.png b/images/images_alimama.png new file mode 100644 index 0000000000000000000000000000000000000000..99a2c98e4b22fd5a9877cef55ac3730ab3f6b418 GIT binary patch literal 30247 zcmYgY1yozh*2dj}LxGauF2&u7yF+m=?(XgcclYA%T1v5E#oeK}yZqeu?tS-PD=Q}} zD|2Sgo^A8(?<7J|UIG<~5D5YT0#!;cAQn%N)K8+h;!+u|gKg z5_}o@fdtLks7MfpDn?yiUIZnjt1%=DPEqHb>)RRcC#SPjU$^yJH}U;nE9sxi$GzPa zA8yB1+NQ!oGlUG1IrmTlf$%^y(G`@skD%|$18x}l;@mTs=5J76)7mn1vo-d4Uzt!JOpZ} zNTFY(U_O`mXssB#A&X zbeI1$dNmKxmJwJDU+;BB2_vP(*kKJF?(}fJQPXnvWWnfArSf0F-sKAz0d4#`Nj_=5 zx}Dqp@xTxHctxuD#hp5sLR}9!lf|tD2gRo5Gw-brPm^{H&R?tf&!X~p5UBgUk)C#$ zjZv*73RMrnbi`09+lo^5CxiNLBg&{+G03edLU?apxXLuH{*llhq(}^tQSsYm|CoJ= zgda0&h)RP*5Q-$g8;%jD@^%ipP)CQYzbkLkbHIm}s-DO4f73N%46&uor-Yyy$*r5? zIz!4lqK7tAqaX&4Knn_0BM~xUOR6X+nG8IyKFZQbh9S}YtCeAZBD(r8@K+`C5-vAB z300g9 zBzY*?p7Ndz_YwIek4ods^jfo%r*((VqryYNXb9ndcKW}%i9{%auYlU9VR;xe!zkIz zF&}BqGeK9IBvvb9IM=4AR6ZKE9BkiaRJ>Bm|E8+mvD88|nT{htlaHxowdw!c3II%!ff|GvJ-Tby*@$}$R4{GfJgs7` znRf4&-9yQ0WrTU@YI&9arx7$L=~`NU-V}tMlwBb(RU8U8$W*07XDug{>zY)0FV@#rZDs6gP5BV2~^PaM;`qVd?h>NS|5i>%^2eABg%h-SYfg= z*2Sr0{%QJmpepYBK%CwWRINSexYz9W=qX4x5OgEb^;xprGYNElyBM%jLskzNU%UPt zlY|G!4`0!FA9?E*_h%}$p`zr%nvT0=BqspJ=6iRgE0*yP9%eD|GK{mx8&Xyndl!`G zG~>V9MhXvg*f#P%U;0=&68dth9>EMt%Nq%|FrKL z#^mu{)o+cC4>^@y%C~aqcW6sKTIp+_@aYrX&@Qus1G+TIa>FiFXt}UY{@-9n(ma`9 z?p_)RobiE2AfM)kK0uSpWFmzR?5#d5k(!jzD^}1PPnK7R8GNUQYsXMh{=qF_A`Qda$L8s-^wZtk$>{}cQE8v>hx-kpJVEy{*b zla**y;j?u zT~s2yoi(+c$BUofPr4eLZio86DJmDE zqU>*<>`Zb){eG^Em(piPc{Q1q{5o}Ydb%so@3{QJeQLg{ag%##DpNpHuLMfbp3c5u9Q)jWMDh5kG7NQ&f@q#$^8GyB0~eETg_eG6ND7~xHh8z&B?oO8b(#S`Lt zjs3O8`DWLnN0%TzMT)o3`brpDZ(6eHkI3YA8d{AiQ$6Qtu_;fgR!XrI-^KEJs>%36 z3CB_WbLT_@a!HWIDxsb9v(40G_xZ`!zh_m1vHTE_ac*#v#@<7RFqm~^fSVS+|mx!p)l9-ZMWLI9ZhY|OfafE?JGQ#626qcEo%57jty1+*4=ZdXv z!5D{^-V;HrKsk{UfR#+^ubY&z+(oOwXPfDyuL1wKyP_z9YPNwPs0%Lf7(u==%Y2YI z=*i6<%ty5^)r|6o^=@U)<7_*g{UW`s5pdcSEBtp#X91Ma_VtTB{AP3ftPrwah2Y*q zbm2&X>f|#Zj@7MQkz@BO2fpS2sb)4iobI<5tb+O+^;%W)kf}w3E`MBla}ZzduE&1X zo$^rPS=G+I5MRogIVi#;=IG@)aP1~GXsPDE&N`Wfpc-SaNgZlSs!xp%s25`p)$B2ohlPb z88Bs>tSL}q&dD?)IXTr;^za5ZfLa%+W+r~_6Rh&?Evc!LmfhBpB-Poc5|<`VBHr+; z=GJvNGb!eDzK*9O26WHdDE}-ngNvcq8!q1_t-m#R0Vo6YMP5_3U2=Sa@5K9>Lziyy zrwj4{NxqeGy@$l^_koXg9K6({ASNYdOjb@sQkRyv04s*gSwK$v@-^Di{B=YUf#0;x zu6aN%>IMjAWzFeK`!Ga@b4(QN=AJ-3^X~$zo=j0L5T_+99F9^+rXbk*A(3vEZ+iET z`AD=5mZme-Q4NdkUgnd;YZ1oASXW8 zhtWy4Gjo4vyW?SgjpQWmkXV+FZys7b;G(PMh~_xv{3?5JgK#NkY@4|6kBYBX@p>oZ@%$gbY+-#GM~ zIZWPWBsEQS<^2C-Y6w6XVc({$}Z2V3p4wcFHi+1kC;tGk3=2~WS5^Sg?e{D{OZ3t#ly2`pXT zsy_;56s>2Vd4n;XnE&oREB@ca5HKDlG>d?nKS=HcOF3%CWjIna5}`_|;%=d{Rzfg@ zv;1s%y11G$``rc_vYlYZ(uN?6OrE2dbDT`2x;oi3R*_=9bmS?ga_AR4s*QdNo@m} zAHPVo+^GzCIea^cg)xwUs^s{>6CvQ(gHPafzwx%!?&@!wKpsKoWp@;>rgfOfOoxf) z#RXeKw|QZH*EqNH!37W*PNk6Ep(fl9Ujf$pY7OHW*x5Nt-;LrZzZ8qeXAXdjSiJaF zIO6217}j8rYIWk33aQ&9eAwM{v--~>*Z@d{}(@ zfs}}z?`_V`*sl~MBE5yUvTOInMbVD~O(6rnvv*nw{AVO-VjbT>Uh!G-V2J_`^6-DHt^F*}mkD=*SX}1+H#Si2cRyjjEaqB$|KZ+ zAF1HcCe1GjFWNfpb|c*^%B6Mpa&K1CPEB&1B1uj7#2L>@Majq{LX>>gV#YJJN3kdd zsnw#NHb8y`HHEtQrx@!fBZZm0bLOdzM#f8Bz?W^gh`9Lfi2D&NHv$kTX^ z>-u9R>Itg1m@%X~4LHutX>Ax4kuJNhFyHX$KQzl3|2 zJ2GL?0X4iqzxI?EO-qOxLtJhvY4{>qsH*jUvLG8rHldSLGX7HHLqsSZT5g4+A*<2I zi@oWyN_D%WERIh6RQ^?lf2NNLwX1VVx6$pgwrcyRcjpiO+e5f+L~6vq_{P3I)pn#~ z!qT??$mEf?#nLB^;#CDlhK zVPSSqW#J@%v2*}SJ`9Y2K|t{o9qvmL$poNEtZMPxgV+d_RcKkfNjfXhh2ji>p@eO` zCf;^#Kx-8*j9P5kxg-q&jzXpaNSFF5MVF!aVyKQMG0UY=%>PS z#IR_rf+fl4ja#>Lh!e5p7#isj4o?{k$hW1L_%iM!6JT3DK_xqmj3Y~&?l>@l!EjVp zKN=*zHdO82fboSUs(4HgXghc-2dKR9SSa?o)5(^Kz(Y(1s>6xKncToNx19OTT!ubX z;zZW`BbhS^458)p_uqk5{Z@`jOZ5gwQ<$t6=Yw1dG5Yc%0V>lT1??2#lJjCj`a=@i z(;A$*p&U#+TiZkNHNWHOJK{zd&K`U`UwDbFtx^!AhIG7+9_mkyeJj6)EIe)pT)Fz6 zZcD;_7F524wMzkNYvMYaM4G5dCT&DIM%f|NT_WHehCys^Bh^Wm{sVCZc#7xcBj8eA zeqw%bdP@dE>)@g!ydwjwQo+5RR+_e5>U+uTu0cG*;wp_NJHO$5=6b*%(CQsOE|=Ii z$KgA^+m8Y`+I&Q}v}DeB7eIG-!>LEn+V+^2sMsi!qR-<6K1ltfKI+tJo6&G`y#*Sp9UbTW%R^i5e(E1m;9E;^t*MX`~ zE_8oM(tdGETL}*@UIE5~=&ngzZjeayR_jVUU~nX@(Q$YBA@sh3cMHq0*zX@)B>+x5 z&yWv^RD(AVx#~1LQKFjFy)G-7OnZF0-$!EH%J^0;-r!+0*z9Yyi#0GeOuv)O1Ty8W z+9`)-n}T)JYp`OMPjRr&^wIuixV%C}&(is%tB`apY=t;vA-pa&R97jsEn-(A zb}ofIR{C6+ZFdDGxi=`%uhGxI^J`I}*N|!t7S?iR;1jOVCjSp@Im8PX1Ztkd$7EBD zTqy>~O06-xnUZQ;58;cvA6vk*+imaOH~Xc(iFKOYVN?*&YuWF4tE|Qr|MI-9&f-}K zGqng|PU4%%P%@C2GPgRL!AB~UbLseUSb$@hX(WS9yj0jPXLTtP;vaiXgQ2GKKKc=998 zSWGF}njaTZ8s~*SJVn1fE9aWzr({tbderJc#Bk51qNILz+(m7%oVZzE2{DG&1efn8f)LLW_zcW{_#qyoj`lDzpvE5e zWZv_5SfSO`cF+UM%1e5=F54AsXK)aOKcArd0fq0L%-CjNt$0qC!iR2>>0{Z02KV_0 z2j#{Bs!JwWwY6!t(4%YhL_sp0RN!le$P~svVC*T4@IG?hHgxpWcgzD?&5)P7v9qLE z>+N01ef7h&LOIQzuwRu`#8O=23V`)q&CPF!c!c2w0qWc$6f}FDGL3<|u@rQxJM3+xAa5ixvsW|ReC@@Jl3BnR{rVlp?pjX1Z*A^3_|si zH=V^IY5SLrNyoJ7QI%EVa?<_~-QippD?zPxh%>v&7p#v<@cKMgDj|xmx=C`vE6h#R zXx00DuP@Bic)XT$*Un+F4H!Rx)o}~qh6ID$IM5w1X!js$t4pquWXcg!j&&c(hAibCi$4e%!+U=a+*g2U$$8)ubWM|iBYFCj1!8RFJUe?kjlJQfiZfyP3#Gu7xx9AGK>=m`m(^YH%ed|boniwj<;40 ztQT;PZooR3lFT6d@i|-8C|$-Am63E8P+rUfpF$XryB3eh5AQ+SDY#>Wgj`XT7` z)w~@k3JqS+@0fv9w* zl*<(2aSyUkq!OjgnS3-sJ}RcXK}-gLn&m<&#jAbt=Q?Hu#A&O99Uf{12R$|HrRks+&pMvN#?|s#FVG;<_z`BDA^O4S=QUT6 zp7bFNsWE@swb5TP1(j^ltvk;|$F!WoOBgScWZ4XrfswlPYAIz|g6ftO_8}X%8}jwZ z>}(i)k>lr`)al_VHx>kryI4V_ZJ3w}KR3|%XCFLqe zQ$FvvvoTa|%ssGE^QaARjkh9VCo%{7G{0aU2`W~Tdm@=kL%^XnhXE5ANL<2j_)+qx z6B^cw-)oSKE%)|1eALUZ=C{2VW1DsG0(>3fh1CE$#`?f%S*Zk{6I$vA9wOV-KWlrp zVn+^qvW>)E6|EktL_hs^1%`vL4Hc4)dyMQ5#qPYYJ?8B7lT|m*l}KD^AKZ~6wcvr2 zy*VB$kR>`j?+2DQ{DcosFzFGVT&NinS6!=03WG`3}_jZr=*&?ZJvf2f2kpuyj8!k(4Ph{k| zM0;7oDnjLUDsdMC5T`Mx^u~U>`gcU;%6P;%4R)mGoO{k55?@L0G)sM@(=%0yCP!4e zVKq_>g5?$|y)fJK+$Ry=Ew)U6>mIu75L#i8UIXI+oWF(1nt%CK(KyJJTgY?)|0 z`(YLvl@5w5GrtUq?0VIM{TPY3`2no*9}0XyLsvuaqK;C|1V4h@l`NpuYEJ>Zsi^23 zKHtXSFL4JilmNyHur`(s+=b!!&aF~|`nSY$+7z(&d}9*xHEQKg-mA8O5xy_pA}%^_ znyAYHw23yTpKD3ntG@#Fo^u})c`03=U$Gr2MuS4J?@dM%;4nkTYf`RsrV@7%#Flx7 z-YBucZ`4D5RJMgG;RvQJZe8OoU_z9J{N=&0Ad?ufDaWVkU_O8Rdy^=bz8-l>td&yJp)?@SX1(AA z__M3_O?h6St0d8_%TtJN>X9nP$5d|%1>9LI#CQp$+;G|Y2uE2@A1*i)72I++qWg1< z75HV;m%dvBzSL;5(apU^Ah6$9EcLaV0%or_EjO6$fN1C<_~obOh=Xj!{NnTKdHy=TQ!0e*i%5Yf?G{` zB&Ijcz1BJTX_nrMYyJD4DmoVp#Aa7+)Lq=c?FFY6VwfG?`ECLMo>lOt-rBx?20f6| zE&$#`Qf)Zm=tU@pb>a(eu|21d=(oL0r>3%b9*l}a=DNE8Jkw~20?866J$i}OvC9++ zm92C{qR$4M95O&&+?_})W!*5UF#V}Q{^>`I+b=Hrd#;N!BrB7)SFDl=G%`hFXs%!? zdwRQ`ZpC0&%=Bu@p^0Tl|{PCgFyVo~QI>__gllMsAwOeZUyedN@98wtsyr-O}}-bkuPbCfc&2VZt$QxBw41KHy%_+6zl ztIvX&i@tN$GNN4`8}5z7Bo-3lxY4fhYIc<7v(Euj60Dq(vsMzje(}F1e2!}n3og}%?e;a{GG!eM!i+V91}6E zCNb_sH->z`aESq&avvzDm)EXiT-mAIBN6xQAlZ;B&GVcKng1oXLxi1Z=8jX)7xe_@b?zD)Nl((9( z^3Q6*b&+P5mGHjgzo^N+#&Q;%`1uv?vSEDl0lbmr&|es&n+p4VOriK9(!C;3bnA*y z@nOo$fDBxr)uG>e)vWhZ99Jn24tS3N-`2xy9t z8aSpGT~GXWD~?B@f%7zACE*e(q<$uu9TSwoNsu zGgV~Gy)rGV9s4Z#LVe20^sv>bf(AJ1M=gqEhts8ge|AzL<_zM~n13;qf17Y3EJ=Pp z1uI&@5Dpu+3G^Z|BBu~m)IM^c(=7-&X3q6$a#TZpkTw$ejzwSKe3I2|lIO;PydipR*pJ}fj##kBdStKWpKAV~M@bwr>Px3c z2BsmQr4EJ^qmaA9w>ZQUdZhoLvrdg!Ft z4yU7{Th+-W|G@;DIbdqDhUM<4fYku}rylUzr<9b|uU|w7Fd$A>{QYpZ+@KHJf<4LX za{<&9md(EbmEQ_<3&sT(@4zGmeBS{Q0je>PVoRKua4@)HcG#(qb*f=+=Y&KujY}uW zdF51vpePZL*odyD*a$1V})0Hy)n|HF(VGC&w zWNs`$l)i-0tMMA__19F%0vpom3xB9ZK;a@5#n}_q9LyUgLb4wUv=kn>5~WP=*MX5T zLl%N$-WukvMAYyJENxv}jrSw1-ASf0> zU~>+KMdO|@`E-;qRmV-WooQCbaq;l@&awG$Xi3Y;vSrKBYUx5UC~SaZlV{s7BOw1= zssktB$a+ytF+L{E%nFNsBJ9a6sDE}0Ua)nxvGDip%c5`Lg$z|4(~8XZb0!}P^66V* zXz{~4=pOhLw}9aeSm7((epW*%4%0O;&xRFljcX$h%Y!Nqs;G*SzXi&=$&`X(-{hx=L`;9Lv!8nP_0!q-7(Id%3@tw;wp?qXgMWM<7A~9YI{8pt|pPP=FH-vl-mH6k(EC1=G4+XG$M`6JzQrQf6!Dr| zFcwjdC)4QMiKB8m*^xc0wk8u4{+vjm#pf8%cia-l&b5rBS4rmPyO%0m?LELY&jK@k zta%lv?ZkwUnrzEZmi%8%nj+;p>na&>LAB{zy9&8x7L_a2lBpAN@jg~Z8bqcVdHBBmnz(xTbR}FVdV60V|w!Zef7qsOdMNWisys-cF zM=YTNLdi7U8RXGB?UJBV$!CnqZ}OHm@zc`c3A4K%N@RVTJ*5w@as8C4;AdQ;`d~o)}*%MZ1v@ z+Y%B;^i7s8V1CORqW*?(Bv;IHy^YCEW6EtOKqng}Zq{Ycc-FR4%^g?|)HdN8ciL4> zVPPe`>6Gt8!>lk^Ycd?Us(m&a&Y@HFFRRM|(vAl1MZ0x=IfqkOs_W6P7VMJwQebKa zF7Nt6#vlq_Z)E_SjZoov9Q+xE?#Y@@Ik+^lD%jPU;kSRvWbsk1GX`5({oUIo{G7*# zI0xh%;EZhgJRaBhIS$6yA|Edts}%#Uh{ZhuqYsEls&fIEhXbGYIzb9?*WYkc@yRUa zUZU*`J_Q!tfB#TBS0`S~K?>~JOvXe$nS_|mDmJW0x)Zb$>2YDyCQ@SdmW;uIkrsR) z$~*k@ORBzXv~fp&kZa&z)G{pPU^!E^%K_~j1$aN$7xQ+inm18yxzn;vrQU%C?>-vo zMDMLhE}`F91V=<%NLVMkQ>Nh=rBu_5`8PQ9Q=A_^p2|wE$$s)rN2{D3E1MYM( znDO(X#8mTvm1JpuqVsx>!r`l$I0XeQpS`A+Oe1P(WAo>6TqD@a4N5yd);lU^OvZ9N zqeKg+Hg1#)1B^gA;l^=Z!@V?93RVUw)S+3*gMGVq&?ARVwDSC#6d`Oh(O+{qS*%uZ zkTg2{IJ|F?ERisQ+^g~+-fhz;KEQe_X8pzFBbRf>Jr=1p)e3LJA85{C$D&NV7Z;UI?)onU zG%Rp`!0sw0-^H8?IHzGAb5q}Y&2(!??u=7J9vcl^UOn1qA5_gTq2Bsum!&8cncSH- z1r{rgs?9vp8Z!E0kt9@65P(k{k6E}PjExA7#CY1Rj)CoXHIABA3fve&hkb`HD}gt{ z1&mPXTfl&{!1H-=*~qb)=vJ1?4`lo(7a4Lj509Q0RWh$0gO*oL*IKHxuVhP)0h)3m zexlZI1wUoy%=$UVM`h2=j5x78?YF{Yu{yt)2V5Wf9?9Ru3YZP{eZ(_WOcBpL<%BCG z9typ+H4+tfG?mi8>;u)Y-ev>WndL<}y^@ zQ^JY3&_BEG_h+HP0-u45TbrV|yA_4uH6Qva!a@600ym?n!p(yd>s=Ft6l|Z>D9D%r zSg-dx1!Ed%LtX`DhI`r!YJUOKdAAq{W0Tzu@0?^o9IWv#)ZB1WU^){;v%u^u6Y;yz z4kIHT=+w8R=ezZDzKn#BIX%aMCy6 z3r=J)LQrMQsIi6j|Aa5!>(P0Zdr#n`pc+z1k)|TXOPgqs1};+S!XL5jd=?xfHgxi= zx*IyaVO?YGQTX%ZbUl%3hKqf=x=Tq^iqk{v9;l;LAKZ-+kGcX+U{1SQ5nqQ5!~|lYYUZ>71{ynk>!rCNM4fa(ahit(;})oUw2v9%rW;XGUZ>4 z!LZ~>vHv8mT7;o_Sxv)aD?XS61ogYrea;(ihgTR`Mh(L0-6Y2k4>5iMo}S>>*a z@^-h;Q9OOFclIXlGvtR)-)v;A`H3%hT|pep;rrk5MU4z8Ju{K|YO(kUAIW=nvr8%J z(3a$34G*$SHDPhKD=TtHJ@yF(h2pSJ>Hr+^2n2z~QYqj9h&pL91#<0J>$Vv?tMJUP zXMaBXRe#KtZF9(+fkJq~RGIfVZsv32Acn%I5QP5yov3={%511guIp*@?kK*d_a)El z!G978>x(@xFRO?$SxNphpc5`-=KrT|v0 z^OI;Dz;&5tGT3%2~%lxr=JQjfWGkTE5XZotrhyms}&lo^71s&GrZ{L zT%#duc)P*{)1lbweE?Ac?UE6n{8&Sb%x{~G15z?%2k>_Sb&OEgX5o$6-3$#%LV88u zhZyP&iRSM&s?UhTBp+XY3fM#pB=flfiPy)-BYh%$rav+m_aLyUCz=8_69`{7G4((W zz>&FiH|Ha%#E)OK3@Jn@mUDV`P)Kj!5q>*RzGQZ(!$^9vc$z2&LXdyzKR(}kPW>ulWpYIDsR$iEVaB>Gm7WRM7$yA-~l^ig90rFK_QGm3YK1riTwe|O<;4`G$jfT zxS`yu=6|q#g+?J}Zgv7}=9A?_H~!u&5B0d+8UbT&Z#0d5ckP3ZJFSa3C#lQbogw!d z1UB5R8Gk|duvV5?qf&Lde`sMT>wwB!oWO<+9{E!u@J=`{;t{cYl1*T#>g?$N-H{Dc zbYcFYhWY`tXU%viXe}Z5;xeqMJt!heohkAX&g!ak^zGqg_@iE1zjWC(FtUtwtve*IUbq6;sf*g8x@c<26u{@q?5CZJ}T7Nf|Ykt}bn(X@!A9jzp$ zA#Vj>dOj3QeX}h_eFF<53EPodMW?^_AoJxpj&5Dg6Cs%Y0WA5Y^mj8tN`S8iu{|bd zpX}r~e)@n?YEC^pjbq%e{BSqT&#;t;^iorBqCB!W^Ce@~cHv1E+QRa;I&~;$0GR>m zeE{_Y6ajU08e#Uc)oH4JDu&UZRh*c|rL{S;BL_uEKC5#Y$5#C**Zv`Skk+O64K|US zAhYPmV)n`M&Dl<|6H6FJR9^Hjn4x_4BcCCDdfR*e9a@^BAD+NmE(^-T@bub+*p{p6 zsi_(Px02QMRRdXS3Eg~guGx$=QdhI)khae0dxWWl#k6*3UzPKPnF>};s0YdHVpmmhn?5O+Sge?siSFgI^_Q@t~@W&Z@ zYHMjNaC>efKfpxCxLxXTkDBE3t?HhTu^?8L7)@sg(G;!<;b10|;-l zP*-mYls(@w@rtAduRkAINn{+kGI;=XJmGD4U<$G6F}iEk=Y%x=!%3X|?apr%Ii1GE z1m z^Ga1NRALr&)}-g59BIPb(wZyXM|k#^AB3j%SNM`VND0ndh1}TSvA+mxG=sP@cuIDY4UP z8Hh^=UWx2xv-UX*J=wp5oVobeE71J*-cpM0Qo3N^qi!LTmXbUzYNSx>Bzs(ggI>rY zyUf}q-D_mmAS|uf!U;VZ+#-LKrJD@j_6m=7(^ue8l_O)&8w=`*&Fz$a(hyphkBK{3 zZ6%*zQKTA@G$YXdy42b%OCZZ@If_9lk}#l6zG8d{Zz8|)@-#}dp;O@(WL*_2DuVta zVS_rJh4vFQ61En>VKTja5$Yd4+Q~uFsoo_=^2j6uZXGtc&l_Dcf%4ujzR+>mFh|4# zXLI-XCrnppS`RK^+NrfHDZD+wRJUejeEGqaqXm({=66{crnpGbCg~_aprI)2<)z!K zNvO^DUILGOb`EN@OA|Scd@kK+LcQNaLx}jGW#UND_+yeIwVg1_yi%?>J-M|tijz3J z3TAe16aDr>@W@FI>&}R0U1hYLzam6g00}{OLl&NT%M6f7Ho$SLaOo&>NyleL&`RKW z(wrXg!{j!j_#BwJRAa2}I9UCGbu8VgXGPsyaz(Nz@)yRZ+9QgeWUkT5$eeudlXmwq&m`=W>R=6tyj<6ggR?O zt^9g}zM`&Ut@$DlMe=*UnkqhROjD|pBVFqKS~=<0vxvJxC=lc=$hy zE1V)iW1Ww@EWd-o2KNd@ICA26IhZLOS0kT;h9#GX(K|4Df{vAd#Jm3k5C4{*g2Z$B z)}Ow;!-PhGVf@aH>+1&@OJlulJ;BJGV_BE%+UPTX6s&`x14W2a?_LA?Ely%()xAM- z%_HfLu9q}Lg6a6kHv7YP%vA+)361GHB58!@%?2q+#iHryP8_=Y<~DoMwid`Rc3^7b zHQmyEDIQsSmssm~&9;VGq6b!(pEe12_1k|qPf#Nq+AA%GFnSbU-z zrTh>vGCNp-oJL$bTQQyj&}yzyW%h9xe$U}x)BqW!KB>I-CL=RI{rk4+H^0pM=17C+ zo*!}ogmv*bGcqqLp}=OtRFKNv=u9=pBNyKsc|!ntSU$YwsvQ>^@el~dp?TY1-A5Z_S4-~KoyJkXzEYcjB6-P0F`IN<@V%#B+A@Z=f(GV%w+G?9wbR;I zf>M#i!U+}hVPsObY?#xe=OM@68ofL$@#O@(if}zT=T%r zXX6#FeHre;ejp6vyMO`I)Fu3B-&WX=wIh?C-_4{bOXkD9sWwwUkJuir#c@5fF4KXX@&H?y}_6mk=mWmD`OGOOfur@;pRHhs!pcPI<3y6-N8$@U0pX8V0t_^bx zjiH-c%H0M;&X;!6+xW9|M9>?S2;S|;QyiGVN_9yz1{18j2Qi0Y$VO9 zaJh+no84s4f}K{=mRU^s;L^ZkNCl6{+jf9L-ydRcHFvN(=A?Qek9f_W)qI87`^%@% z;v{K5Sm(s)&T|>=PWlyrfc|8wC{~~%I}?BRIk(|+1VDep2V5Pq@S!frkc_&6C9Z!| zNsuB=Hh)$J>ILRPCHm8Kf_8p3%ub^3G3-c?RznS!W8PQ$?MdEX=2%H1lfo$rV4;@TvqE!m=ivnQ33WElFmYTrD&M z0S$E49umVhAwAw$P)SfBLtM^cYy>|uc))CkI10du2Mto4J0tiOV^u>GsmiI|bOTFTo?@a%lAZ)ekYF$@ zh6(*w2nXZ_xlNmE!Kxx+4ZX!T5$AL}sM1Jg6aN9Fpt#b`QQ~emibj z>)e=?9e}s+vk1qBB5K^U8E`S(mGa>JTY_`K)A|ni9fG`L+(P0? zkWDtBXZ2X2f7Z4W+#E82K_rLxT2a;kfijghb*}mWuyCefP&Cf_$Z2iwx?ljGdu5*@CQgJxW1PXuk`CLiqP)NbbVaBjIDDbjf zQ~MXC8xS4tbECqIpRF4`e*rXSj;zhcfAY3vX`~0W2{y}*6?F@Ri+6`CT`4)vs`x4J z4EsPSI7&Rgh@Hv&M%8D-KpWn9+ivdTt|$b|1)c2ldO?_)<8{4W zERRN0_vntK6gAsD0@&VmTfbztf8*3gqO|E2xgTty-yZ7p*YoUm+?2V?1A{Axk%B1i zrO}+^due2rJ|++{Q~l|!_41xTgCd@8>S^bMu1^%ic}7_%6B)zE8i&$HMHVnj{HaLx z(Y1t))jG>#+Pv#`&~*yRYA~(Ha%l{sanx|8z)R5nAG17D)B zBFsLlvU4$yd=@`$E|QVVy0Au!NT~aQiF-_kS$x!#MxkhA|M6JQ=rmZ6u}^K#V9;bx z`kZ`64+4UH_OJf}xX6qCKETAe&ADp?s!$FJ2+M^8&kt>sySY7VC%RF_(|u*xK1?nZ zF(bX^OZf&m$uI*g#KDi%`ig$BwQP7U<{x~rx57nacz=W};F8Qh1EtrZ5<5pz!Xlhh1D79oG0;jxaDoVTr5?SpALq;{Sm7Bw#b*k)gDvp~oo zNOW(9fp$9?B=o3#E26P4#UXL^*;}az0P;o8{P1@m<%%xW5#ltysk?bh;i#?(*Cs9) z62YcVaP+1Jqx~h`$gk($BgpwqY)fx_%~w*`$kA=pv`&X6*0eLD$qx*S$H7dVdcQw* z?_mdgBRh}d!?li$So>wODAqEhZa6CF-x8g}iYfqQ_qbTu=G|(W(^RYzA97?4R=|tl&Q>7C{v}(QQw=SB)=Lk*PjVphsRUMiPRJ2 zJDQ9XSMzb-NM@Acy?A)0E5woJ`7t@#Poo&OqPR0`Xu7X?Lv%FqAt@uWX=XH(;( z?IfB%34u%%QLC)=0B)(w$s~)=r`MD{d{PM0~UPn^#$2 znq@KA?8RjHqd0R))dz)6i8?x@57pCeG?BG20Z)uEaaTVqGZc`rzk0)OYabd<`+T-o z4;$__jK`cmzSxjfeiQ|!H5cy!nNZd(r%#toSVzet(cELF#Or0~^D}Vc7{zu!zvDlc zH7H;DUcu%vxGk-HLe}Q;r*NU=3UGDh=qc)WiD}ILRhIUX9R>MONCN*(l$o{vdm!sv zFOc|oC5BG9dcoIA^L)JT!~x&EX(X0uno1K%^*b<)`Uz@t z)1!VO=D7HCk30sE4WkV3(EJr$SQeH)g$T|QW5xhw3#3*=qfyS6>D`?Nx@{>u& z_W97MYwZ9FuqCqyEHYij=o)uwAJ^-4{Um#L01&TqmhhS1-ggKgbt>BoAX=Mu1TKDu z+yIj6uBg+2{SejYsS|o>pi05AVKo1J-?gcPGA%uQA&z|XySDvnG!5prWzs;4w5s)@ zdLyMXqN@t#%q5JBDfxsCEw{9;T(V;cISbYAWMr;7Li;NfLc}Q_2;V%BN@R44iDR1u z2!;Wer4W7_M=e0JCN`3gOtqL`{Vf?J!rZDzN>(l?AyMy{_Iocv(H(!zpQ~$y#Cv56 zUf&=GukzwOeEbc5GPlC9@3(gtwHwql^CX2wjsoSO(X;YV>qH7iN+M5r##wjT?ng`ck{^W7J{mr@?XK*}`;<50SXTjj+*4P&r zk9WYB{L5a7RXghnoWiH`kG`D|6n(s;96rO8@0sM>DjNq1%L5qRGGcCCa<@}~wcn4j zSC=jPIF>SRP>-%JLv^sZEGo+UHnyvO=lpmj7K$uQ+`#XV`DF{N=uI$PAZ#2=T#;%w3NdO~d#mK&uol-=~|2ukB1^Ur}!k0^a_@yru|$rxoS_PVJD?VPon+sWh+7@ ziDJZl8W(Jpu)(G7-zP45xHYdbOFsko4s~Z8Qzp4k{Pq$mrda1{BpBLgafq{u+47mP zU+|#k1j{kgwO^T!`m1}3h?qa4hqthoIsPq&E6^`3IIF@Ni!lTTpmXnC{c+t4S7%v3a z`yo%H;>4#S%;QFu0IFF%UWMM$1ZQWGiybuWo4|h>6C$q8j~f^+BIz)6&6bWbEWAs% z3HZi?1sqbJ)EZ_Vv?a&#DY93T?K@q>F@cA;t=aM)EeS(ZzasD=>mqYp$$p*5|N2|P z@`brjO{VLC=+Eth&r~(R(08Q|3=X)EE3(?hm6oAcKcKsDw6rdH9DgaXy<4KJ6``Fl zMa-0!((B$Ej-Q-~`2-4z%m97(TQysSl?Ji0o{mz(+v0oCV#MNkEp**Vi)>7gfb}(9 zy8sF9Xzsviu*^5m?$0{gHXK^$2N3g3@ew6Rt|!CLsmJ5YNiGjn;alw82fwchml!Mg zUcBI8R#Dk8saNLx_iV+;w2pEmBS0o`Dc;4)w^d~KjM(FkU6JA`K?f~Z#I99Km4tuT z*g_U7D@Z)Pd8^TQ6*gssMy2A*r+rLq^`Fs*-p-lzdmDAKNodcC2H z4w`jE7~`QfuyE7YefV+MVT+0Jx4I+^xaJo00b2-l1E8} zWKLhuiKeBBww2Yh%fzB|;&4emSZ-!XR5Gz|!gDtLdb}(1%us;gZ^XRR>anUBoYCg% z0N4k!O5M;VbPV-nRPR)@zTVSXCwFYb9&a`Hi)Y3>#ib62*2dG>zK=^+<+-*srmJcu zJlCKbUn$%Uq~g8drWJe`+cUZ4BS^T``vvof{%X+vUBVe8B4b@N+BA!f(AIC~O>6>F z|6nUIBpWqOj4uU)xhtLy*Tlu&R`080;@&By0q@4kpJ0Ip>LY$MqE{k>dWd2{V<13B zg{rU9F6RzEHdF4@JKu3QrAaD`9ELh57N)&}uvRCCJ+Q;xK=-z$-stVI(GulE57{-4bf&F1=qY z23#IAIi-4q0r$tS4?>=&wYo8cpLWwx{@) zC;X{49Hz2hRV8VhCU+dKXvUqX91@*xsJ|Yri&>*dF^}evc9CHo|M)%X_Lv1*62paF zxP?yJvi5b?`?<7ZuUcKV4HJ@w4vFyN2GMf zOw_ufi_tMT0HBZg8Gp+nGgEZL&$5%qo8X{s6Mwi2A;!g!I{@$89|xQ}F-~%^$&9XS zKzYLk7%}2ibwo_pVDRm%7Pc<9<(YXkK5Hr6)ZZuz+K;!`yHZn>&bOAbdlrcNjD~&5 zoa>2@HqADuFf=_nTJ&lMOjA}%AQe(#Fe@o!!P>YTA#h{b>4`pmi-YlN-P2<>t9S4F zE0R5;`!2sjBYD893=k$7KKGfdQXZs7Sbcxf#_TsTBf$Ts;(LvUcn~y8rD1<)eqP(L z*8-kNrTFAbq?*?EEHY^C8%3LDu_9c7KAlHdhRcv!)rwQS>cH&jF z7n{cI7)W`|e#!hJV^c{GNqjewC-DXHFff!8JK(kyeSU?c%ixBN(i+EKSCq+~U~@JU z&Gl1($cL||;Dtm76Z^CWjk;O!jT#RR zI1zEw(2@KUhY=Bk3~T}f&Myy{;Xm(Ns3m5i^2ML&+FLf0p6h?U2vk%OW{Z*UR)@dk zJ)_2cmdp};A>Y>b9g%U{*7VW=q(Q_7W)cCPKcgp!z<5*(1!{byzR@G|yE9nyp?R#@ zkK%YN-CWBmlLwY=3u^j3>kP-fqHlhdtzfXDtHYE8vBK##yF*u?J*+#Ev=BEhz%%t7 zVNh&3-~#J2`DP$i^IN@bq&IA%h_M{zFG^I{RD+}VYvMaIx^VT@lv8ZCbb%#9p-`w7 z2d_t4XF4}_KktTyGO4tIgksMZ$JEB$Gc9h9%6ErC4e|k5YI|Kj@6on2!)96yM$hWE;tQFJ40ygUzXMV)q<7-Oh_9GcQB+Z z{S7b!zuEL)hdxbM28KRvf(a_9CGG=fNI+_wq9v7twESqM%xVKe-+n+p9?VL>By@%B zXD8T7!qH}l?(f$LWIn%fUX7P7s3>92q9J;8VtY8kc>6-?IEq>dU+ojZWHJliCyXu? zJE6fJyRb{8d2hK{O@3-n1hZlgvN53a%Zvc-WNWfFsHypre-c_I>Wm-tc|@wUwVe|* zJuquyUfsV#b|Ct`=y9*E`YTyIv>*S;^GL?Jql)B%j{^o7cboO{9F-l5IA_5Pg6LOs z;fbCQ-S>|z2cX$}eb$Ts!Zsb<3zM1u!%D@%!^%%&oBVj?l(?{J9xE{8ca$GgFW%w9 z=Eba2+)W(NAADBTJ+WBGNnatknLF(KpNeorp+S2-|AAU6_zRAKjhG9qYFKz}=w zMcm^A&2jb!`CJ80TB|eL(hTpwX`XCdUN{ zsrAswGh@Ga6@Q63hge>J%|Dv({$K3|d|_e~i9&d(#q|m(-CMo0ip7S1QNj2>urf{B zcR$|$){*=u+OmTg5H#BLek~sUpl$rq1}Yn}E)PpKS;8F^HkaeF3aM%SaqLRTI~MBD zqATE%?(>RkYC$!|${>gwt{Zfg=_%&tE(CUbN4d_ElM6-=sX)p( z5JKd6rC1t87~B-sMJIXd9d_1J-oAuPy}{hGEc)g~#L{j%XB7tl2PrJ9z)6I9%rb_n zL(phHkHnhT-5|9_pK;f5iV9F0}}K{<_zl3*>N%t+2dTu)h&_dP){I_P|N8%7Z3dQB0qjX(R(CZY+o8xuc(FX zED@$0x6g=NXc>5EkZ5U|-~?6yePZ_n3GygV=6(m@=s~k6;i1T`c-5xRK?5)ziWa6`g$_IwZ~Ma zOl}m43yltI2;en>;G-lQHOQVhaV^;3*U{e?)D6Ed>Mp;Zl8{6~&bwTqZvCAgQXLHB z+}hx~hbiB4k1b^ZsbU6ztt9OcS(9DM1I`iCq;wq5_7*NV$HFc0!=f0n7Iv)Pk z>2Juq(>{uD?~}5E2qK)(^b2x%U266j%=d$`Vx=p@XDjo`@wPqov_l>Srd`VguFFo) zJ|G9iGNyn@!-apflX%t;01ZE+obwiw1r1EM9yjpV=cBcV%~tGNuuLsuod&j%r+oDC zR@hJ9TEb#quip6_+w`WY?2`8=_tr&GV)G-bf&MtUDJr_>&O}`(VQxnl_!Q=Zm7pZ= z=f!@y^Y-%FT3XXF$rWA$AG0?0dwy2wXK12mj7+U`AB{-jW|(=N;98(h5J)*$Gfm-` zT9ei|g+aw!#oZT;E<%;4NY>bl30r^mtd-9*(?{aIPDXcmsUkbI6}D6xq8O!QT7hOf3iig z%-su+qiF%nxo>c2*I_z)Vy2P>4LW?LFw8}dF>Hj1TklN*=(=xzIkLY}P+T0Wbkl13 zAZ2iLYu%$DyPz@YKyb8(?7R}V&=GjEt=vn_P{{t{bUqFUw=(?FN&Ija)P5pHZO5vn zIjJNUh`6{bEh|e=P)K)Y^|YVwp*jUkfcLW{5; zwOO#M9M8CU%l?W-bhniY98mM?W=Ow7nh-$2)i$>wH`B?X11mq(*ImrJL2Rk03?#zZI{{a@0D)Olo&5T40T}mK!f#IspF%rK)_CC2 z&Ed#V2hM!5B$WHMF1?(2W)r@B1@1A9G3gYpv1+8&I1y3QEAF0AeuZPI^UJ-CTK&nK zY_3Q;9@GH{!%s$Tn%PT6{i(^2xFdQrxOoA3ONc8NtY*~OcQ zo^KNS%Zw*uF~lpx*z!Y?DYPaioLoCQFF{DHn(0)+2*Djn%3Eq$UnFuCSf6z@S2IdE zt%<<1GjA(5vHpU`_kD@V|k?6h2w^2iIh?L z`lc<9lP9hlV*$EU;8TQ?m1$=>N*U8!BgtI!@K{!4!Uqe!L<08u==WXQf<&g~f|hM? zU2qCUNYru_aaJj5Ye)SYJ*bYo>JRgC(bUF4XeDsVo9b@0o2+T^*ky&muhzU}Pcjyi zRjgB=B`hS|#YnP<`#2-^~P9x(_qE2=(cf-G=fK;OvUt$zQp6e4|QyhHtb9xwyn0 zm$H;e8nl1rTVfed))?+>=sH<6eS?n87I#XW(4eR26&+l?tglhEk&;W1L|Sp0^uO>53y~=y zdX~h1dy7x6-LaVV6!4t|AxCkPlK*o7FQX%+st+u%PwcC+;6L*ZKP}CZl6iEkuMn>J|a&n zwhB}l6%I4Z(%bs=quAt*J8o05*vp>lDQ+Y3CA(jCRFk11b6HDET9@-gLrkn`k!=Lb z>K$f>CK^_`T2ePQiSAeypMVAm;zUuc2I1qgk?%6L1g_^Bl_Y(Bts~ZQj>IyV)QZ5S zsvcCQcbt=P%tHvK^J33>nCLAh^)lTRrxWogmJ2;pDqg#*vulg9z z+DXK)@ueD^8fHv8U+zmIxeH=}12x#l8~XY|MB%>TC!cB;;m!d)o;UJA@=fq5llD)ziLZbd)Fo_b=B(~de4`3>h7ITJ8vR8~Oa7_+w{ zAg+era9^O7MkxJv#M!;^bq+Hf!~~mf(i{*1LpQDBM>c3x1f#`bM;1f0f-3<*X#-^x zz4sll!6u|KP!dV!-IVCDnzWUcuzpR={;_R5(-E(%ej#@yiaCdg-R&C1ajj@6gV5CU z#MPtQL!AqTe8`B($HA;+(4T?lbSerDaCVH3{F5sm`wd!uZ1a@xYN ztsGrdDd!jL+I(SZKRc#y>`XtW6W?1G%iJKpY$>1(z2a#!!Z-biN*E1uBLL&X2eO6F z8@Wt*ZV6R6r@=bZ5HhvkSg48$w0lNlvqdqzrx{|sQI;2);Bu^f{N+_~ZCo|NdTYJUvD(zzf&LyZx7U;RLQ6 z>y1w3HE!P5TqD|+HVjQWLBMR7Cg+zk!X4%G$s`Lw4X2GiW`9gzY%&8i1$$araPoun6 zSslKps43RBLuepPabA80rK06lmYHcr+;Q?$)d`2BINe@wfnmB{vXfgL8o5_vzKdvI zapk{oKd7`d1P~j?Bhh&=-LZ-raDpPnhIz?F(JF9d5g$GQkFb}t?Pe%WeF6ey=BkAD z&~T5_0kmlCzB1u34$!zi#|{c=2`q?6U^}#^CBI?x~^Cj^Mr+(eo!~DQ=gC5Tq zTi%Hq^g3!1uKt%GhVBPb(9s95Eo*(3Uc%n=AqFL-oZ9AApC-v+bMFElqX(f23lg~; zVhRpiwCUj}e*c&Wn!lL3)2OF3KqH%YfjjznczUD7=k@v0-4>GM7Ct_hUtqb{V0WDQ zy-lnBWyr#r>By5a(yn09;4>g`;Y;=pE`7#CWHw_jj}Zd`>SEb$b?8ZDp#@VREG<`5 zMf5M~EgIYQB%L4V&rX)`6k+?@6ZUlW@a0~k&&2FW?BJd^Lu9OU_M;-f`rT2h#u>)> zN-07c7n8VN!a0Eg145bb(U~Q=E9B#6;k9be)7Q;jF_%xRmfyQ(_(uDTU3Ln`8feNT ze_k3QCZi%#Lo1x^2Pc@U{nlD0_kX-DKHxs-IV3O(K^>GzI8j-L~Lay65Pqy zlXKSOi&5)@PMu_1g4)4PWI-UL@!7aDw(>&(MX3}w<=8d$^~Y@io?_#W~T0#b(66=aMtOwnBgO@zT z5RJ_SpdXwyEL|z;_3t0FYjUOu;FXDSAD1C{N$}d zaZ^IvoPF;7J;`^o`(E99?vzFsBhbw2oMX_NrDo+FkXAR{ zOmKX8yY=H{n7y2LS7H{8)SpbTq1IWd2g@~&AC<%Izss)jX-D*|*jv>-eq>`dk&n7v zlM;yP{sRh3QLM-yJ#6n2Tp-*&6zm`z{Yztwius3KxW*A%Mw7bY0?+O`fequX5{Tex z8lE>qr<`^u(%de!@_O^$q=E4A6U?WBKEY4X0OEMOl`p-mR8lNK0w^lq96c%o+@^Vo zrnkwkEe`Y}NB@D4hAa%U(#1}47{0~=BGFGIz9g&?EE2|7Qj>VB$6fBB5$gvF?_25RV4xnu(V04jJjs_*_|rdPJheJhTOy@|1b!$-&@)52Pu3o3A!@w**V_@ z@qkosmW+mGE&+YEN>VDOa09cT*wT5~XFoNszts=~ZP*+YBU?n&+Qm?%xb%NORqWCE z7TwM0z!S9z!_+Pn0vWZtPu->(wtZ$Bg0#Oj73_r{jal6M^h2v8WO~VSTQ@XJ!MpK+ z(sJNF6z65GU@emG7PAv)boClKe@Rns-Hm3krp7(C|CqA8gWq!gef}{MoE9Az;QY-1 z*Yw~`&(Gh8x+KL~{HC&s_{x9kv=NM*-d8|+ru|=!z}ZXxA9T+JfgiC8buI5xNEs0f zTpjb8&YfN!BUPVhy%2KM1M&r{;FSb4)rPDI1fc%_lZ7)NxRm3c{?9 zbiBi9=34m}0UyD?zi?ySlo4CTP zi|{|5d$gRHRs6N*@cS4eQb?tl)Vj4*ulu%lIz0QA&g?oiy-b3D=I(EP@kT?klh71Q zA`1XMYG;S;+9YR;xfUkD@bAU9cGD|rg@~%=e;cKQzz`?`#au?wdd|KXpYlGVKE{Mh z-3&nd@P?h^Tq=8RiIQ(=$M_nSTkwAsP_KIW49|50u#p`ToJ58UwJsDy0?T?qT3%H~ zUT!i-pI~VMyz3fC1WZCYad`-URic{CM_~d$b?_7Xy|j|cJX9g8KS2S(XVYo8asHZ?0kNH4KMMhOQdk$BfYT~rvh-a;lGDv8KxlsuA4 zXZ&x&JOyJUNZWjCDv8`^lj+6D){_8k^$|6Klulv#!04rn#s=U3eq8r+J1=L`rr;MZ zU)}rcpf)8J2k&h)vA-)A5H7X8gmBK=*2qWx$2>_)P?}QH5KZ0?He)jIq0+%QkA1dAg{Ni&JXvn>PuPG#^j zhO=8oT~H==%gXT5EgI}be`r@vFOX(l^VE$X3egYeq}iGrWt#>Y4`E|!8qGTPCPG!7K@ zUUmq~r1vJVa1h~ep&xq9EremCc1>+()4#Q*1IfqwERK^&IE~Hha;h?H5*JbOrR}Ed z--Ra!uq~C-j8IB%R}}kB(+DNuTD_ABO49&`DD;YVd;0q3j+Uh6N$&xTt!CD4#ij{C zA3aP+BLpA`mtscpV^ll&%uEh}j7?cYuJ&U!vl(}bQ2g-;Bx-WE9xksD`D8gutc=-@ zf(-Zd_XKwE9B`Ic^mp6ZtLHQcNZ}`Ybbhn|jaweL$W)%E4q=4x5}?t!Y_{#= z@_JRUPH6qfNqeIm6aMSB^FEr}MLJcn`uq{BZ#5F~)m8#}!HyA61Ba0!9{&?A|Kq7- zPo>1|A2ew1wU;UToi{Ut(rn5JY9Ej&)0v^mRPB92F{geUF#Y{==cD60V}a=`2I*Fg zLfCQqejC67^MsSLRTM`9ccTl*UEbiDoLrIeV3McQln@%V4$hy$wLK}x|2Cd)QTz_E z%L>3X!fy7}^0%5{AqaRltf-y0t zgYKlj%B@^Q4C^97Qnu(+E!5iE=~x8u@ijSay0oHo59c{5iuMm~mtCcs8fBGxcLBdi~8C z;RQX6?WFUQ^0dWrP9+1#!hR4A?+V(}Z0iivYS0Z2Da0N8|4km)1PV~Mp6oTVd6;em zOlhZcZsBSfhV3cZfElU1>1G1@DEqFJsJkh7a#(o?;5oZch?eghnpUB6Xa40A>kipeQWiV-gALnzcCffO;TRrNoMatimUjHBe3UlJn z8FKc?KEe1MS|#zUH*v;Vou$7olFb!*(0qjlJ`BAjNWBml=3v4F`ZXrz{bC~iETgra zc-PSnv~+6<4#6AZTInCoEJV$QZR&5=7{;-_Cq+1n7e@2Zgl0?4DP5i86lL& zRuY`7xL|3Fn=bxeX$ta=jFQ*&C^^d_x zEe`IE8%PT`0i3+obS9H5-xKZ2E!o~j{b6_2#Qll&3T&Z^C9!$y>TWB_f=O^V?g34s zc4{aVB)I~~3yWmzU^A?(cec?rU9{=)tmC<1n*Hop$sez_bg$F>JLB@esnKah1m9To z2fA^A=O7|KmPP`<3rvRZ{rcFN>Ue&oYr6j^eUqVPbtb#`s?q@I>6XsUg+kp2Yq_GE z>0}qb)H$`?K4-1_Djf&kY3ya%ODuV4$KI}Dmlq6d-Fd!2YxNMOS&9Hjy;9C;e%=TYOUwutAn{4h7<%jt{Y>5(JhN%nH%nKgn*mGzKn`msBRGF(g zSCjWP{CD5Me1+$a?W>soq9+IXFw`vU+s51*K`;807ybUx1&NVCk;)^tQWRBmkKf~r ze_+$OZP#c1S|Nc*;MCT)vqme&RHF;wUws?H8k$x~-!VY?;}lL``flHCTa($(HMH^L z3h}G|UD(&KpyqB#rwbSzcQ-_>*L%ruqpo)WATN*!x(21 zg-h4NC8G!x!=N-zG)0l<0WbjJ7=dDM{CvOI=wEG$ic@mSW2*PDG&6_}eQG+4Bs9HTPqpn%-T$u>t-@3v05x}{(I^}c2p(DI@a9jhVgG97z7TS&VVGqi#CK8WL4YkUZHE~F{66k z^RB3`Ne#dBn>ghk8t$%$*#UGa1P~1LRUk50<4T+=^|F~bEOGps#tRRfpvF?Hh*?Iw z5N_ID_nkFOaWCeT*O!aqu;d=L|BVl{TrE~-z%1OZ`uEch_tG}yDgwV()SMu*ojTmr z3f&5{Sb`b_xt0yZi$eK|Hd7hK|J80T4hGJG?00a*PO-h6hJ%yc&aZ;J#*+8mY6Rcq zljXASo#8Wg`7Wkbg!BJIMDz^IeDIiEn?c{iM zY`5Ndf#RP|fW{qI9L6unx5j@iCA0Pd0{F>~icx3}H%Y4amX-h^i9Wnab4)$i;C*j~ z*ndIl2Ls0l>*#fGn-Gy4uFn`nyj3NIpcW7w?m${XDxgs>GauFacQ8Lfn}Be29e##< zP+I!-Tfv(IdwaQ%Nx3e4&iaw^E{h!t^_vLhQ8w}aemxZC(U1n_`LbsDg@p&-;N3!7 zP5sx({-oCq(c^%fo9YV>W0{kW@gZ#x-N(i+$q#C;))|~A$vs&AjZh?oFS5m(3>~dJ z1u4bi4#d5>3!AG%IUMw0wnBK5;WRIr{gVBq_ovPTKC3?cNy+M|f4f2g2AYX5alz$9 zJw6?iKVN*I8l<=K&w=PYt;=d+3BR}W-Nc+nRY`r@SeV4H5z&90-iJkW6BJo2JLy9+ zA^g0IeSPkCD$P;|cwKje98n`>F@Dk0bw3c-*B%8QFj)Vnhoh7>Vhm7|_DZmtzWUIzYa*MMBk@2X4}v1zu4IS09Anjb>* z+AjCkJSZhHB90&CRgX7LV{V{&^N(czHE0SNMftx4IEGg4^O-r?ORqdzQ4&zgtGj5_ zgj-u1UXQ_hME|Q4bkqi9K|;$lW5(gg*=@G>GR&_E`O@Er$`(r2^9@u_Q>Q*KdYm+W zvgk(qujwTIB2bSKiUO|8gw*@p3+vU$0PW{3S