From 7fda7409b7f3519d1632c26cb93143dd38ddd587 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Fri, 14 Aug 2026 10:35:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: williyam/redrob-qwen-grpo Source: Original Platform --- .gitattributes | 37 +++++++ README.md | 233 ++++++++++++++++++++++++++++++++++++++++ baseline_vs_trained.png | Bin 0 -> 75506 bytes chat_template.jinja | 89 +++++++++++++++ config.json | 63 +++++++++++ eval_compare.json | 63 +++++++++++ generation_config.json | 12 +++ model.safetensors | 3 + reward_components.png | Bin 0 -> 49057 bytes reward_distribution.png | Bin 0 -> 32650 bytes tokenizer.json | 3 + tokenizer_config.json | 30 ++++++ training_curves.png | 3 + 13 files changed, 536 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 baseline_vs_trained.png create mode 100644 chat_template.jinja create mode 100644 config.json create mode 100644 eval_compare.json create mode 100644 generation_config.json create mode 100644 model.safetensors create mode 100644 reward_components.png create mode 100644 reward_distribution.png create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 training_curves.png diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..955e776 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,37 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow 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 +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text +training_curves.png filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md new file mode 100644 index 0000000..29420a9 --- /dev/null +++ b/README.md @@ -0,0 +1,233 @@ +--- +base_model: Qwen/Qwen3-0.6B +datasets: +- custom-redrob-candidates +language: en +library_name: transformers +license: mit +metrics: +- reward +pipeline_tag: text-generation +tags: +- qwen3 +- qwen3-0.6b +- grpo +- reinforcement-learning +- trl +- candidate-ranking +- explainable-ai +- talentry-ai +- redrob +- hackathon +- open-source +--- + +# redrob-qwen-grpo + +> **`Qwen/Qwen3-0.6B` → GRPO-fine-tuned for explainable candidate ranking, under a rule-based reward model (no LLM-as-a-judge).** + +[![Open in Spaces](https://img.shields.io/badge/%F0%9F%A4%97%20Live%20demo-talentry--ai-FFD21E)](https://huggingface.co/spaces/williyam/talentry-ai) +[![GitHub](https://img.shields.io/badge/GitHub-talentry--ai-181717?logo=github&logoColor=white)](https://github.com/williyam-m/talentry-ai) +[![License: MIT](https://img.shields.io/badge/license-MIT-22C55E.svg)](https://github.com/williyam-m/talentry-ai/blob/main/LICENSE) + +This is the **open-source side-quest** of the [Talentry-AI](https://github.com/williyam-m/talentry-ai) +submission to the **Redrob × Hack2Skill — India Runs** Data & AI Challenge. + +The base Talentry-AI ranker is fully deterministic and runs with **0 LLM calls**. +This checkpoint exists for anyone who *wants* an LLM-flavoured candidate ranker +that has been trained against the same rule-based rubric Talentry-AI uses to +audit its own decisions. The Talentry-AI submission itself does **not** depend on +this model. + +--- + +## Headline results + +| Metric | Baseline (`Qwen/Qwen3-0.6B`) | `redrob-qwen-grpo` | Δ | +| ----------------------------- | --------------------------- | ------------------ | ------ | +| Mean rule-based reward `[0,1]` | **0.539** | **0.713** | **+0.173** | +| Eval episodes | 12 | 12 | — | +| Hardware | Apple M1 Pro 16 GB · MPS | Apple M1 Pro 16 GB · MPS | — | +| Eval `max_new_tokens` | 384 | 384 | — | + +The same deterministic eval rollout (`seed=0`, sequential, identical prompts) +is used for both rows so the comparison is fair. + +## Per-component improvement (rule-based reward, mean over eval episodes) + +| Reward component | Baseline | Trained | Δ | +| ------------------ | -------- | ------- | -- | +| `format_valid` | 0.833 | 1.000 | +0.167 | +| `decision_match` | 0.500 | 0.500 | +0.000 | +| `score_alignment` | 0.373 | 0.653 | +0.280 | +| `reason_quality` | 0.000 | 0.778 | +0.778 | +| `length_penalty` | 1.000 | 1.000 | +0.000 | +| `no_hallucination` | 0.779 | 0.656 | -0.124 | +| `total` | 0.539 | 0.713 | +0.173 | + +> All components are in `[0, 1]`. `total` is the weighted convex combination +> (see [`reward.py`](https://github.com/williyam-m/talentry-ai/blob/main/redrob-reinforcement-learning/src/redrob_rl/reward.py)). + +--- + +## Quick usage + +```python +from transformers import AutoModelForCausalLM, AutoTokenizer +import torch + +tok = AutoTokenizer.from_pretrained("williyam/redrob-qwen-grpo") +mdl = AutoModelForCausalLM.from_pretrained( + "williyam/redrob-qwen-grpo", dtype=torch.float32 +).eval() + +system = ( + "You are RedRob, an explainable candidate-ranking assistant. " + "Decide whether the candidate should be SHORTLISTED for the role. " + "Respond with a single JSON object: " + '{"decision":"shortlist"|"reject","score":0..1,"reasons":[..]}.' +) +user = ( + "[JOB DESCRIPTION]\n\n\n" + "[CANDIDATE]\n" +) + +prompt = tok.apply_chat_template( + [ + {"role": "system", "content": system}, + {"role": "user", "content": user}, + ], + tokenize=False, + add_generation_prompt=True, +) +inputs = tok(prompt, return_tensors="pt") +out = mdl.generate(**inputs, max_new_tokens=512, do_sample=False) +print(tok.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True)) +``` + +The model is expected to return: + +```json +{ + "decision": "shortlist" | "reject", + "score": 0.0-1.0, + "reasons": ["short, grounded bullet", "..."] +} +``` + +--- + +## Training summary + +| Aspect | Value | +| ---------------------------- | ---------------------------------------------------------------- | +| Base model | `Qwen/Qwen3-0.6B` (600M params, Qwen3 chat template) | +| Algorithm | GRPO (TRL `GRPOTrainer`) | +| Reward signal | **Rule-based** (no LLM judge): six interpretable components | +| Reward components | `format_valid`, `decision_match`, `score_alignment`, `reason_quality`, `length_penalty`, `no_hallucination` | +| Optimiser steps | 10 (deliberately short — sample-efficient demo on a laptop GPU) | +| `num_generations` | 2 (group size; 2-arm advantage estimate) | +| KL coefficient `β` | 0.04 | +| Learning rate | 5e-6 | +| Sampling temperature / top-p | 1.0 / 0.95 | +| Max completion length | 96 tokens (training); 512 tokens (eval, this card) | +| Hardware | Apple M1 Pro 16 GB · MPS (`bf16=False`, `fp16=False`, `fp32`) | +| Gradient checkpointing | Yes (`use_reentrant=False`) | +| Training wall-clock | ~4.5 minutes for 10 steps | + +Full training config: [`configs/grpo_qwen3_0p6b.yaml`](https://github.com/williyam-m/talentry-ai/blob/main/redrob-reinforcement-learning/configs/grpo_qwen3_0p6b.yaml). + +## Reward model (no LLM judge) + +Every completion is graded by [`RuleBasedRewardModel`](https://github.com/williyam-m/talentry-ai/blob/main/redrob-reinforcement-learning/src/redrob_rl/reward.py) +on six components, each clipped to `[0, 1]`: + +| Component | What it measures | +| ----------------- | ------------------------------------------------------------------------- | +| `format_valid` | Output parses as `{"decision","score","reasons"}` JSON. | +| `decision_match` | Matches gold `"shortlist" / "reject"` label. | +| `score_alignment` | `1 - │pred_score - gold_score│`. | +| `reason_quality` | 2–5 short, diverse reasons that aren't copy-pasted from the input. | +| `length_penalty` | Stays inside a sensible character budget. | +| `no_hallucination`| Proper nouns / numbers in reasons all appear in the JD or candidate text. | + +Total reward = convex combination (weights documented in the dataclass), so +`total ∈ [0, 1]`. + +--- + +## Plots + +The four training plots are committed to this repo and rendered inline below: + +

+ Training curves + Baseline vs trained +

+

+ Reward components + Reward distribution +

+ +| File | Description | +| ----------------------------- | ---------------------------------------------------------------------- | +| `training_curves.png` | Mean reward `[0,1]` (left axis) + GRPO loss (right axis) vs train step.| +| `baseline_vs_trained.png` | Per-episode reward on the same eval rollout, baseline vs trained. | +| `reward_components.png` | Mean value of each rule-based reward component, baseline vs trained. | +| `reward_distribution.png` | Histogram of episode rewards across the eval rollout. | + +--- + +## Intended use + +* **Educational / research** — show how GRPO with a rule-based reward + shapes a small open-source LLM toward a structured JSON output schema + for a real-world hiring-adjacent task. +* **Drop-in component** — for anyone who wants to plug an LLM ranker into + a candidate-shortlisting pipeline and get an auditable JSON `{decision, + score, reasons}` response. +* **Reference implementation** — the entire training loop, env, and reward + model are open-source under MIT + ([source](https://github.com/williyam-m/talentry-ai/tree/main/redrob-reinforcement-learning)). + +## Out-of-scope / limitations + +* **Not a substitute for human review.** This model produces a *score* and + *reasons*; final hiring decisions must always involve a human reviewer. +* **Trained on a 30-sample distilled fixture** of the Redrob hackathon's + candidate pool — it is *not* trained on the full 100K candidate + population and will not generalise to arbitrary new JDs without + fine-tuning on your own data. +* **Short training run** (10 GRPO steps). The reward shapes can move + meaningfully more with longer training; this checkpoint is the + hackathon-submission burst, not a SOTA result. +* **Single-language** (English). +* **Possible biases** inherited from `Qwen/Qwen3-0.6B`'s pre-training data + and from the synthetic dataset of 50 Redrob candidates. +* **Honeypot resistance** is provided by Talentry-AI's deterministic + pipeline, not by this checkpoint — the LLM here cannot, by itself, + detect "8 years at a 3-year-old company"-style impossibilities. + +## Citation + +If you use this checkpoint, please cite: + +```bibtex +@misc{redrob_qwen_grpo_2026, + title = {redrob-qwen-grpo: GRPO fine-tune of Qwen3-0.6B for explainable candidate ranking}, + author = {Williyam M}, + year = {2026}, + url = {https://huggingface.co/williyam/redrob-qwen-grpo}, + note = {Open-source artifact from the Talentry-AI / Redrob × Hack2Skill - India Runs submission.} +} +``` + +## License + +MIT — see the [Talentry-AI LICENSE](https://github.com/williyam-m/talentry-ai/blob/main/LICENSE). + +## Acknowledgements + +* `Qwen/Qwen3-0.6B` from the Qwen team. +* `trl` for the GRPO implementation. +* `Redrob × Hack2Skill — India Runs` for the JD + 50-candidate fixture. diff --git a/baseline_vs_trained.png b/baseline_vs_trained.png new file mode 100644 index 0000000000000000000000000000000000000000..c95dab361ea0e465dee95c2c2a73ab617bc46189 GIT binary patch literal 75506 zcmdqJbySpX^fsy}ph$><2uKJLk^<5tCDI@a9U`T4_kf^Cm$U*yNDVP`hltVw(jC%6 zcMLOp_xQf=Z++id=b!V>S?8Qt%jH65p1Ggr-uJbyeO-GSs;(+eL_kGw<;oQzg%`3f zuUxsFd*upF#tl61FPTYht>7;aS2A-g(h6J5Z#*7ht^w?;6_2}g2ab8t$ z^@z5QkMmrHGi%Ka0vu0ZtKnuV2>m0BVHy?i--jH$hl{r7d9P?_}KSM1~a$qfI!G@m??`|mxuuU>`y_i5$U zZ)E>{ASE#1@qh2<#l5Ea-}}u8@N)lqe<#`hE588JHJGE6qg|{|Y~qF-j$K+Z_uB7b zS>9b}n}(}iv|OHC4p)1hEhp7M8#9a=+^tdDvrSXnHHelbOj%i(wOB_KP28&qiVG;+ zp3b;@x8g`lu(tWmt71Y!`&MHnRQT^eirBB|Dmu60T z%t7~STF@%n({-B5Fo)s%SV9^Rtyw>m-D57U62}Ws_stjw=!U^yrVM^)Xs8BE$8M@R z!NGTty4>qvh05+rzvQK1WPw>n)N8!W9#6l`sep{!9nqddPEE5QrsvJn6_Wo`gNg+D97tPV; z^NZS{@nMtq(aRks&uyQbCY_bul*N6k(GsJ=_TUpm24~Kqz^Ras>BOWY7Wrseh{;aN zWiy9v=`&{4)K1P9vSb-yVPQ*olIVhqBZR-(4UA!fy9)H-lYL|%qPs}1VmQ>p*Vi{E zI=rLa`v`73RjmSD_-en{9{IAy-l(QM2-f1f9A-ONsQ_I#uslMJARo$HuDj-F1w3p^ki~ar>mjaWPX5UNH9EE?-I~%!HeI38!3RstcL(_68 zrZXn(`xQs3{W(8TM_S1s}z8PQbyicLBblg-eEbLkjVn#ZiuXqA3o&I-D)v0HO-W-rt#|VzeJh1?QNu3rE8?HVF>hs z;#kxY1?PMTMxz%o0;QeX)f)6@7+Bd^XGN zw|DEv_%1nl&g{l6ZOE0g9lsONn?ytjAbfQ&2e3;a^n?j!KM4s9my*jOh`&P$Y5l~c zq_{V#k*7+NSK~0-s5cXZ$Wcmio|^PT7UT`Pd#&dr)fxrHfKzm|F{ZQF)!E5f^|{(^ z3O=`0h-l{ZVZFLR;(z)cV~hcNS}};~he@^^&Rt?^+RmGyD0qkG-cO1&%(M)N_*Z*1 zMMY~)Mll*I(gTh#G!`UBRP`ra&h9#2?}EG~p`TF1Y-m}&4B z+X?RF8J@5nElT;U{V6{F>vnjdb$UK*_qRMH)>OuJBFsMtX8tmP6V>Gp-4-wRz>(Il1wpQ7@= zmh8O$?Hb98jnU$fov_a`Z6Ar^3S=ZzF(Op2ziV#i5 zpWA%m1lvP67$UCiWRhE?GBn&c@mb3Zwr+%`Nj;BE4EQklM&D9X&ayW-b9SuI`bP*U z616^*$6idn+&f-ocGOS3wd&&HGIA*GxmngRoW!n~rwSRexl&~Y_J7)M8@1D7f=B!y z9}`(%a9mZ&W!#u=Z%|{OroTPYP}9wdS){wnpEaoLXWbHR!JOMbg7Jp@V%)MvD7+7U z%a1f`Bv5Hq_lIr;_6mxzV462Z3iB}9lBmrJ0)NR(wa&wDK6LG2P`FYO7u&|Q35Jqa zCT(*#5+-{t_peC^PS0E#j_fO{s3iEI&kM}(ebP^%Xv*2}T;-H3Oj>O0!tajf?SCrY z4t)jB3E9N{@S&8Qyz&<@ul=v`Cq({}dGK?}&L%c)V^XYN#U}1^T-4?welqQXJbtX1n_p;L zE&1N*O35g{-Q@84A~Q2{VidJti9RLYxIhI=2n&^$=1w>mX>dWiD?XH>1q}v zj;;64bv%3~w)<YM)eaFA$}zy2syW!@WP14IvZ7Xdz%&g$O*n^*!ho($8kBWJHpEyXDd^7`0F( zb5Bk#nw*>*a=xAi6N$Kr;J}!YdHLEf*Z0ft; zkatYvKa~gn)5QWSdTOBJvxChbJBP=`1~v85xw2XUIPFI9=z$RvI4@li|00iP^a%WPu93`QC5T;%8(M{oYfIcrdr> z{apj@mW%SCxGum63a*7O_aqhGO>ArwbK8Gsv1RV?=SL{lHO*7&;e3sCa5*J}QA6%r z)Lpjg{f<81438Wvt*pQgcd&_uWOU@wlOP1(4>hi1B}O^8xVSlas%dQKRuVt;h2buF zS}$3;yQ;2gFo|Nn)wW=gB#FHrcaha=Yj2KpOVVAII%ARV_CX}tM^D`CHyD{4(Hppm z`gHI9IiM;d8v$4PerL;%kfocpeH2cu{o}RAM?@{aktXPnKDlE*U7MN9W|}4-V89PW z7dAABktV~p{elW^0cOQ2?vH6~R`EaUF+m1cq2ks65RJ@mjSwj>*qrVzkA174LS~r5`$cG-1JP^v5 z^(e2XP?Eg7a5#q7FMGk2xs9$Ov>fH$0vdBy>9V2T?i(+8U)89Erss6 zuu`Z`2$UdqY%Xcl6A(Hk&=Hn^$G+`vqTiqBsjUwe#CiALyvrO9AW(-UZh2`b-Vc2= z#&+Y4znInxw57I_`5}a${-p`iq7? zZ|OXXyEaVXww6P`X}MLq$vIZtmlTAaySAOfoA2>Y{0)Sr_GXD2vmKRj%;u|}))6K1 zO=PW}n@Tr~YYC_(U>90$DDCShnVuZiBdxpjUfsN^p6X~F&=AI(V2Bp0Mgxv}2&-v= z?k{y&&%7s*SUVPS!ij=W@>|F2T+?hhA3-P<66pPC@;T9#1YEb94L>&(S2jjG&mz;X z-nGk-+S<-k9Orc(a(Vth163q{MJBr`{YJ*Pzy179r+`5bTfpN8H6MSuZ{sPSFPZ~x zClBI`3Q0&m>$tl+`T7gJ!ELF#9$FrAPi$cO!y92{likJ+oNbL+MQofybC{jv5M3;t zy~!_TYxDN$+d7a80Y|(J^Sbd|7a(GsXlh#K+>49s2 z^Ju^-s7Z34+D&R%|G}3$4S;vN+6kgCR-gO*lZBmK$)v?~{pAt#`-hvVHqP%xN4g5 z@HWjUeLnkXp`)4RC{2jTEwxQ~$Pviox+5AD7AT28kr%VHjMld@6A6rm&JI?o?c03r z>bJLTPE^=bLfNxMG-M*#bolc(Hy*!*T`Rd*5p4Or6AY~a)B#>XpMLEqV}KvQa4Z?E z`fjZj|J0zWSVni^G)-!TYS&UwZ_~h2tr!jpyr%SI^c=*Zv^W*I;=Vbqv1LQPHRkD1 zdg=4-^whISAbHELxQQf7H4(jvXDsN-Ur1b>d&j!rUWv{Z<_-6a7q;;x`;`uHvA+#cO|^kZ?R& zPBMXCyOw&I5t1iPrVa(!4AQC+fs3y&dEhWp51GNY`fqu({F|uKc9vJl=hE*Ae)@*@y}{`4YTVs8jTOO(n)pQ z@Nhw%OkiiNx4ygpJW;%?$vR79iVA=G);*3Gfarw`b3*iE?eHzWV}BV4l(To7tE;O^ zbt{ZzC{y%DBI@DAO52IShik?oTLz?COLSLR9okT$RCrprvlULx zQ84sa3nr&J-0oGi$l_R_9&7v-XYHwm#w%P3i`(xurfLw@vhUu-SJRn7uiBm1*xHc!m8^;X969fP)4~_UErv#&H-KuQ>qqEa$l^UR z*Re3PPuS@Al^qt(bpMM*IwbU$UPUn2B229sB;gnnXr`-EIiE0krIXT*t^_&9qwxeQ zsK9Zh9&UBN1SMPj`TN3nq0;B0A@}BgYvl~ZqJuB7s0o3Cg(U&-#;Em>7(4bo}U#F@YzxsayUMDwZ^Wa7H;dJ zgKtpcHy7sl$E)zXp+0b)u|!}|mLx@zyZJN=+4mt%;yT2AYto{&C;@Zgrh)vqW0X1bde zB2GlJzdL>-xk$H6+NiRP=gut3|Fn$`ZdU*KpM4@v&ntiTX%wo{fZ)@gZ-7sIV7-r( z!1zBF)^APKB(-3U5b!FYl1=C$_1u%xB5VA3p>ZdcNGcXKDrG)tyjvyn4}Tim5__wO zjL8g$^8=>~t;G?s5z3OTjxSzo9emt&!`XCV;y^p-7zK$Z4|p5JukqV#@#M->;ofAj zt=gI))RgUO-ap%~ zE5O!dvoGvw3VeA=E#C*razMkc=+y6KbtSSZF|M_eq3G zUGVfQJTadgkH+s;xLf=_e)nQ(<#@tob|rMR7`cPAzt;)K!|=@~#9X9bWlIN-uW0%7 zfoOW7jlwo~YF2PSr5nn6}YW#hi9XhSkuE-jovm)>V^Ne&dNBr_EKELPG0K zh+RZKp83V3Ux|>YQ+4ryxq(s{b7c#=^4yPjw&ASbxt*g+6$K&_1Nld~BWS8A)t*Y1 zqx3)4Pzx#n+x+G!%N<=xoGN{F0!ml?CP|0yD354bajkYTUi#S9VCZd_L8o<5SMx$N zN(%yH7&U*pT`zl*6s^f&`>p1_Hz-H9^53CFQ9#?>&p$ufC}eMWcj#E$e3RG_>{B)- z^07ZeC8vf&dBMxp=GL2C&B3pda8t+*;P&=f9&5Tf~dqBl*H9xD&Cl zgq%xegZzH_z^bzSDnI9ED?EvZOE-zy zDZ&Jb`-d)aPK9ykP9I3C69hF?eJe&RoGKJjyg@Z<{KuKu0XcJT1WIS)L7ymb{{ble z^el+X;Qn%YN%{*=I~X$qwXMnvSx9D89zruOst1*^<(U0Eau_`zVq5`g=n*`c4LZ;H zfI(2;#2bThtqLRI^hb8RJ(5}pi(!dTwBnNsJO@Cx0`+NejSnrKWyHcUP>0vIzV4xY z=1}QvW*NU+f%H^Q!#NE?0ZuE($*EGc+rDU195@F(F>3428WA161QF?eE}CsuHrm$! z3cwsX=%L12d;1dWfQyrs%ciGnY>NJyNygph_;sYFJ~%qDo2sYwSF45}=xcd22u)G2>6=VoFb#8P z)fo(sTZN~!XL#ymeCE7%Tk%JHtlqqNvkr=owAmUFa75p%V+LeM))A}u8rh0T+$P4} zK&&4Gx?uj?9>C2UpfRex#mdCc&rjd}*%bnb8dB4A`X`(V1^{jLxg7&f+ z(D&P&Z#`ednLY3TgwXq7MdgUH3T)LN3(U9tuhf9=e{$LcCxDqwn$4qeqU{`jERQ@k zZt|}4ebAUUF9Dvk$9j^9pWf%BBpvUSUdpPuR}I#Pw(MvL>r>&)9^GhY1H69%XmD<@ zUta{NM@^c2>nimsERog3G$QeRFiDdwkD#C+m7-m zid}+GD#jcm4C`KxYh%x+5k_p5+EKERZlNh9Bm!$eMdRnrV~f3dllOQ;!=dl+@ENOF z*87?rZ?6)nrdOdZ&ieh`Ynv>363@5TwTm3j?_*Vqp4FdMW8E1vN4}AL&C5#y#pC$8 znVGGSaIwNGBv5GFg^z))gMkgfes=vj-CJazo;^M9ki;w;3K#lh==`fkt!1PQ*Plz@ zUI%r-$BtGhFCZ)%VhHWqpkilOCCZE82?R@vR-n~F1&};Il*EC1GIN=ROzLY>_ zxIYsR_hhQ$zOeJx9+b8fN*gbL>Uu-vHzhffah7V^i9gPUD~^R7T9U$N zo2Us8xeLYkF97jh?e7YB*F-+p%jPTOj+73}^S5mTL2)#t%cAGc%3!bbasS!EFGnH}D}zOcdzw^x zKBiNdXIFEfuc!e=X~S?wjj8 ziC`x4EZ+NUCcKUIth$A-P=x`8-FO9*8jrk?N~|L zxlg;!7XiDaSb16vl_%=9(-UMO9t#e*FfRoK1*Av8_OQzEoD`Jfg65CYuIJqOXwA~M zfNS33d?xFo#a})rMm*L65{S;v&t;OYCYh|)<}1ih@laALMUj~80d zTMqje)Q*mi*km(;{|ddlet_c?FFtuICg^i$K6!|JdUAPWi`}rK_j~}pIS>WmD=GhK ziv*fy17~DI$Ggp8P8rP%?NN)}Boe0?-#@!}Mgz{9%9=bP?b^L5b(=KSM(Bl%5fNF- z&(MSf+@T#sS=ntFdNPV?^#QuHcLfhbR^JBD4)Y9trik%>hJJi~{Fr&KFd<3TE9; zbBnU3s1n)^t(7l_>oq?4djWG6aux!zQP*bX?K94Q9p_F&CgwNRsH$^X{0NsdHN8Zs{^peL@jl=& z-4Jh1^XZ>kCX)QPG1#;xE+8-p9tec`#H<`=yMt`4mL!hcQIeUx^t<0Q!bB1w#%1&W zdB@-MwML#AEU~v&IW#gdfy<~~3*`g^DRv4j!?CB%M|=BD|F==C zoi76l$l0|!*%6Hl_$0LPfP3knoXX3~&DRDp_kU8Dya1wo4v>bCK;oYoIR{Yc<@$eq z9Jrj_J=`rEsFR%}Y`U6^KEQGjl{spj*B??vJyfyoFMo~$(4dhhV1^=pJKg=a(E^uI z2{)HnIXOdZxiA#?&x$Wzgj}HJE)zxEkoj&P7w^L^FXW41K>QAVuKe$!$r?GxllMRH zS@m@ST9e~*vJEeZF9wEaK?X$_d{N@Rd((m@ZguO#eIu)Mn44YSq7iY80c572#9!s} zQ>Qbm8R1fo8OW3YP6>msurMtZkKS*F3G&#J~*SD@M{`ytc9SHa3aKn*||IRYQ$&)7*z>^Re1X5>L zcQ-Jv6Ytv_l)efutaFybBcgf)Sem=b-T$^BcG*UGd1a-0%*5X=+1Ueq?sj%@(0}xO z8N?L7>wFs);=cmYb$-4B{CA{P^Vu&4MN7+E*PU4-@og*}c0-Z)?Ovn1wES+P@cJ9Uo?^LhPy-j{vYZLWgrV&nGe`0oxR(If0e*{|Z$4mG%e$ zy#M!9|9{>%^zV`Uf422WE?HPjNw)gDZ-YIEDTv%YemBN(LfC~x@Bvs(-48PY1_pws zpwH^;>h&D9TYuqwFZsJKA;yXNZmbp0znxr5%*N`6682_U^WXpJ;fjUT8~Ga8&(=Mz z*`EGn5LDBRG4fR6w7IM{($RXkG^*ea^MXG5svUApP)v@z@CgY&xEgrYVHTV}e3vS$PV{eq9O zY{W1TqOf^m)a%xFKvsFmqj%lK2`JZ zu?}fj49Miz^RrLgnNL-29&(+RtXtrE4BHJ3;Ud)BNq%X*H7>FBo%}1sYaSEaFSCQo zi_%@Z>-m|E4%T5PTjkc;$k0v^P&(~jTO-!|9n4M4>-0_rfK2mEwui6Gza%U@{bqjP zFm*-K?Y(09eBT~U^y83_P8bk4m+;d!&%ZX7oe)8VnFQoi=R`QYab9n`4i`Hb>?N>ZC;8Uwt%5g`-K` zZyO(8N0FnD#>^ZU4{k{?*$8uP#-?UX$jiqP?*wLXaXA=kd%b0W~9b7zAY*)v8^(p4X~ z;R~qCK8Z)z&I|P95z&U9S3h@-`x`qbW#pY%ztTnwUTn*Rm|Mm0%|bKX6U4&hr>2S% zq)E}7jBJUk{eWJ*AhLv;f{dbb->j#uH3SE%m@-Sny!{o*Pi~C+9b%!pRY78zkeGOG z9wECVIhv-=qO*@!>-mLz8W+07(!C~-O?2|*i^$lA-=uX`%Vi196}!33(_GbQ(?f@} z_7V)vQ@!yiA1$7evavn>bMFzsD}X#H=3ed2b(+rdCfg|knj-BUuC;Tg?u(EO>tC^j z^5&PzXbEZ-(iD=`wL19~k?Z9e(S4XJ=(sr83vJ`XX!#dfb)N?Bq$G*-m)g7MO>Ab# z%R+c7N7NNU6bF*HmyBaLQw(a!Lvik7@8y{wso_kSg}-xwl+9+DU5B<1ZcIp#-AT^O zCvQ%ONfdFo_QcBpiIS#6n@P2n;{3|a1$0m+ovmntO5e0tHh0HJRGdb!e2NG&1A$n+ zj3B=k+>|CdG8Bgzd-d`EJ16f0Qg?T$l#WK;?$ty>DkxzRZ zQJ=DvzGmcqvsz?y?nu>I^b=$93X}aP=e$U&k)X2uWMY7Ip)lM;;k?S#ULots&u?V0 zH#ZHYvZBaxmud%@t0Ob<@Oc>=|0u|gdaSflwvpkwKKU~7JJ~e!`AvnRPlwB?Q^Nau zq0vwg)vU1j4^FE=Y3IBW2e~ZNHmr9@>k6f`u7NoHYC02Gi97vH_G%bF5;~=(&ul&w z$H*Sihorm(=&y?YeSYw{Plrq|bq&`Nc<#hrK2xD}of;yv7uMAuwOJovZN-S=@E44; z23!O|?FwQQ7;`jS8Hd_sWCQw}-`?ixTq0Xa7NBK-O8~I-?e!zRkg=ovRNGmr=x_h( zAYf1|x31Y2fSIrJ`CUXrY{*4hq^O|z&oXl2pIK>AoFY@}&<+G$5;vFc!V%9M$ci-v zq6d9lWjfQV+PA@my$_f7eS?gd!Ogx6r_~%iy6r?S$lhTAEps!_R?p?NN|26^;Z35O z36wNe_eVKjSakEoCKPw-J_LE?+*#2#?9h6;XC0c|mTlpT>iXz*oOTh?TY9?oI+&|c zDDx2m{4r{AEol8#PX5;r>O|IWSmcwb4Kwq1oaJfGo|2Sop79JN2p>!$F%+i9=cYS6 z6$ff~K2}j#>RQoFGwkQM<&72;tWqf}w6rXveMv()83$7O zn`3b#PeO1=K)_0rulF+7#d|22*gu%j{rHHuV1H3;de1cYJ%;^EM~oL>37tz+uhZHr zC9VD})l`Ds;|jtaI@(M1lDX#Xy**M0-p`Y*ytqGngqlO4Az~IUgB9Q@F_!%~;_$ny zq`1V`9XAI69vr7!*;4{PcG}8Oi<9`cE}<07b<}x3v{Ujyt?#pAlUW4!7;!PDriilB zhE)SUlG%g5QOV?aB-_3BOnjTol?E>nImjNj?;D*zj_;nmz8x$7Q@*{YbCi*2Ln!+l zYbkb1t`+ELS~!dvLn(FKn5$q~TOAespY>Clbydh8G1!#$^HL7EM;OeAUIjjVMegnU zt3KCLn&{Nt2ui(Xczr5;J9aEQBl|AvXJS%~SHNTK#NR|rW~jzDu%z@6S_{AUJo*;S zZPM4mL9ObL{~NpX49AVUJW2kd3X-P~OV2?^86I6_#^=A-7)-hvQ{J*ZGgPt`Hq?5^ zuph5VBvOzo{dwwVO$w(n*)!~(@){QZ6Pj*t0?jLVOlpOWaC%Z)d-{gjN?jA$0o!+# zk#+{luS?ekbTq&<9ll$=EQm+;uzJpx8!OqnGVD{K7Hyu=NO#==Sr(wE7o~N>^y9j0 z?nP_Wj?*Z9KSO0)*%``T%{{24&JjlNGXt-hv1z)@uiA+;OP!4}<{B7BY-TLihBm2J zPqAnX_Q=srM2Ch<2jxn?;WGci8L=WGyL5?NErVfB>j;$rpQfevQkfZ}*+~2|gWk^! z1h$1yh)-WU?2$co8#M`-U*|d~ah$3G+h3x*h<39_aKgZsbwPFKyj<;v_S0Xeqe2=9 zCccAf+ZeN9WAG}7LE{gFPiytFTOkh&f9;W>ylHIIN)l{v$Hb0LWtT*ma+rwm2P#B< zz5Ll**duW}Y7&xfD!0V>lj&y^%1QCpu^B@ayqEP^+(V+zBsoS(i+GRrU9e9h7Tqdb z@+U(gKJQTn3pIiG>+bpT?4ExvI@M<%HzcUK(c@ILXzu#uH@~;?aISPD85Hhj@YVLTD#N5-Hq5=yd%uVGEz&Ywjrd#Al*|z z5fak)%kOzB@@^r74{#+D?7GV;5;=$8e}_C!Gs~3E`j+I!Y2J>1$EqNyqn*P0CwO5~xE%eA#lO!WJU}3Hw;-_pPv( zy;{;;BwUvJ{a$r?;N9`JT|;byVIa;elp>X>9!F+Tdo7h|Om#?9INKu)AwyxEaVxYb z8;(-BAVt`lGwcha`o)#axH%p#u}dxGVIu;^FrjsXlBi@dgFUuJ8TpFiFob=y^BX;#_FvqYmNt2NWg(z zp{|BPtc;T>s!$;P9vvk&qki<0BC}C4jaRy<&Et;bH6Dwz)>MHkazS!k@x+>Jz4i~` zH&N#wpwptg=3c+_xu0`V2H zB~P?hX#Tl9#hfs!v1tv$n?o_5H}N}sEkR}&FI*@t#%)`yR#!}T`B^KpORFs^N;%7`V5lfMit z8%i9#a*v6j#dPk&8`E=XzirZgu4k^-&g(}0e26bI&oyFa?O;o^uFaf0V{o&+wkIY* zN_Ium3;osC{g@9*Ih5{8-btG%q&)Iv(0tjd>s)gKx<75snO6eiwZkrXY(DXQB+SQ4 zuY9lfx&1Q+Nl@9w;%7wNMG8Y)-P(1ip7Y1!$I(75GKi`E7GHKd*5z2PgOtPi-cT>g zms`K?Te_w$#2f|cOUd$2LEMkgG0I(9QN84>8J#{HdWiRmS#V`eXn7valW5f82p#| z(p_n@-gQb(}rI$^Y(s{fckOSPmFY>vp z-(vw@?dLU=cDfzdXapl$8blx(HUs6Jmf;(*|!{|oGHh$8^6LsI(@O< z^vqqVx=5mIvb4`c(g~3dhiK@_BE96 z!}w)o1LiS_CrU#iDo4vj7aS9w-q{6a3=H5bS!J7bga(*5LhB>o# zG7bKJ(UEsJjPjGvkDcl~^suzK3_W{bi0|s=uL?LGCowXb%z z2KEma2v|F{+vO+?QZ=5LbAcxSf4HUpdGps~A-DVo*<@q(+^hl-P)FB(j{_MhefqoM z-&n@hfPPh7kXJLgv@=N*&G8YNgqj_)7+ebe#0N$%P4|2mvYwerX1@Z+=nPWT+r@_j z?jSrM@1Y(I8g|bW49!#L?0ZOyH4C_ z(HgBSI>VI4#y+MvI?Df%;P&)DlEIh*C;H3L>T`yycOUxyG<=yZ=FaAu8_ZS$k51!B zh50KsZf-Sfe?IV`F^q*eh{TJF3v2N{ptECLrv2k7hr*pCu7t6>S@Q`-F`R{JMFK?? z{V(Ds#7Ut{rtHn|k`!}xOIiOPY5G6R1xj&mpref_3V>mQV>2=e ziXNAKaTee#@`BDTuRozI!yX)R43OrBa+A6A>Up|sN_FfCuMcym)nY({^Yti%t@ds+P4z}${=J9AO{8Z zz98yt)qA7{i&XibXU-Ul3CBsa3#dIF0P6ybKbeCr0p}wmWE~9H5U?(wz+{01n6GmF z^W$a>?JBl=?P4$5KOSh-ou#I2OW1~C>`WwfeC}_rmmOJZm|~dLo(|xz5jqAJkT?+) z^EZFg+v;zZ@k&ZQb^t`YZMs=V9&sxFRGuB}8mz zcchJ2;v(giYX= zu0BXv9JON6ivyMafCP5^1Oz|$TW_TVPB%>dai1^*kds3sIGZ}978zN za)PNc?;|7=nC*xI9+TF&E@)DzAtNX6>Pr(P+GqiuWEEJ+u0liNN(}l*0s7I+N36BB zl1GkGlQ@v^#1JtSc5bE7G((+*r^5dHKv8LXT0Cr1u<F-sJk0ZuGaoI+s-~p2M(<1rq-l;Ky`< z!K1%+yIeo%>G}M7lCNNL)?Vf2<`@DtbOgqWz@Qu%=qz^HIAOTlo5h?E_O$5}#_8i$ z4F@#jdGWC${C)ik=rl}9=ITlk)nchUNW3&WygiMZW~QL(@?rw$ok$eW>|%uDK~#UJb*w z>K;`j*)Usb|8nD7cj92i?*5vrS@(YV-DQ>xSuH+XIoxt&yi?fba5curpnLYKK-|~F z;lZRDqjBa{m;Nsz%=?^`$|io!b*3}%)taZgw_}+WT>3}5pY06gMY9D)9g$19Yyac)B}Bcy z=ooyj1le$%(pQ0gYJ{0C6{DA8?V~#b7ne0pn`;k)rU~mFb8b`}b{}Xs-l{%nV3JSj zjQmc0?)sOWUv)r3BSz&!f;0=bQ{* zwp&QWNEJ$IbvN?IwZKngcG&758S!~BD{_(ON4he(WwQ_I)8U2xVnvA2;nqC!lO#Tp zt|q(Qr{T;*C1`J(JZQzu$2a6CsS~4dG;S7M@QfmN1`1l4;SF@nW|SM)cDWi}L?=~D zU&9l-Ow%-|)BLj`j@%T&w|cWGrCN#>Qs+3}0Gi{n-my11^wsVzdPksG2M?_hGZSv` z#QW_Rk#%y+uX{h9fuWG#KdtMRk{OFTgUQWCMhl83O~g{!*!I(hHUvW#r4k|{`e1Ob z_IW!PTGom^1b(Ojb`G}2^sE`R9S0JVqO~<#$B$%R^8X~Tuf5b+)F<%Av@MI`8>R6K zL#>Lr& z*n|neOCiUzcMlqU2Znh_ac=>r08WNEu(9D8<6y|nv~~+jA0|yt8-f8Ct(*d@8^*0* z#)wH&bjpz$M_bpyN3y)xtDwD*36S3;U~JuVZK6I&bT31WVCuPd72(YvH zZuIC17+Tq~Kb_P6d%RF({B%znaSVvli9DTw0T=DSXd;3FZ)5Z^XqYd-r+PYMjL2RD|vl7nnEG@ z$S4cCI8Y|9^#Ir8K`!ofs^QU)=!mf-J_pP0(cWT!ZH*fj#Ru4eC3rnwR<`xZP@-M2 zXq9ToQqtHIBg0Oq)+@OGCFbw{5P+Mx(w9~kr~nMyIDqkIpj{0+n$J6Z30nU?fqBa3 z0uHmbLV6~Ro@H1HfD6jWE&d~+8>(rbqd>pLzSzD4-FbdHzf4jgJUrrVp=bV)%uB(n zl4jqFbEgR}r#x(m(E^oRRnA8iA|2f9Yn1h#sw(OF3p)y<<@CjkJb2S%es$=^n?1p#6D#P(Q%^e_(7;X#4p!S41fymF7eQjc zV4Pr)yrq`6cYP6PwL0FOVF$S+1|$##V9{HEVLxyDXXVvE>m5nR&njdMAl8hCxq3Xi za6;Hx>+^Zm3|Sk3^Q$V*X8-qIG~ovA`eBG}Yvt10{kiv-5d78BjXzupEs0!RdtH_! zkz#~ycu6!ymbx9bj~NIA_(c2S(hzbVcHWEfo{RgpQ#i)LgmzCpizf=f-G!a?#1 z_$t;{^VaY!lw9-&+QA%Cin73u8blUa8yfoydn819n%qR5UBgbXtC_XpNFr7kUG zLRgL2O<6WzNp+7#FS&VOP>&htcvOk8D&G8;a6o_i+k9G}712NytZ=%7;)-7RP*CL8dh`H3|U={QdOegnb}?7Bu( zGgF034vG5lVV+nkD5%JVT@E6eALxjxT66=tk`2@aB`w|fX5abltHJ;SKrEH>0+OFv z+F~u%wCH-1q-?v}#-{^b9GAz<$M=qLq!-7mYg7PnDlk_ zsk6+;E`5eplLfwXW9+_+D$;goYaS&F%iw!w*Tk{#zZoY>B$Msc{7>IKBbo&HDjCbE zvEJWvP{6j4380i23d4w_6P>o&DS@2lN6Ei{Ja%JxndECMK$(Y8olbtr-?GiEN_E?~8b7 zzv45KAv#9ZoQ#TFD}4hMKGKK#0^JB4wS5Y#tk3r4VAYun^J7aMISC_4KnCCyWSKej|~R5AjRE4Ka~lo9x-Uv z!DC@roQf1Is({tYl0~R%z6OTvxigSVd2`yxZa!x;h>pjLB|2ON$k&xvVF32Mj^*Ha zE}K3=iU;-Ta+;9=-itMbmw&E@L+;*WfD7a0vaV&;{x7cHf~(5!jn=)Lyl38FEOV=gDC8C%VkSlYzjrIQ#jEq+?o0H-@=*0~F zTyf*t#W$_Eo{Z}-HqvBg+;oE(LldBes5|w#Jq+jHgsN>(e^C*ULgpgQvH!d_VWjEf z!p@6{Q~_K8ruWN%k#~a zI)yvTiX6Mnv;S*!=I6VGlgN!yjaKBhdx}F@VPOoRN(8WH5~wG?-&N=q}? z^XuyZ=h;cWMp(u-kpQK)k+zi&D9zsKD`iSaU{ctj9|X5VXN%MiCa#{ro(yc(jK69M zx#$Ahz{S$nbNDCsNtd2T0yu4CNeKAgIC|ZB1$f*m{QDo(!SODDrI*n5UO)75`T%X| z`*qkIxAD%|_T&yD2S@dQ{`}}uPxN_{!~fPWV2+7z>|~VEltdASGAV!6boEJGY;jiB zx6^K~IJ2KwnPR_=Sidsao-Bwl{9L;a_xd^p=#XA_g4Sq;u~@uEE11Ftu(%+!zUw9^_Hq&>Te-Qc&n7;1Uf z$XEC04y#T_MXNygvTfl{^J1jLbT^SQUP3i`wJ8|+LtJeVbsYzs-iirPGT!d(nLFJ` zdLrBF?DG*WnbnpUpYR50VL5H7)cytks!u|)I4E%KtX}g6ou0gegeotmDb&#O=lHAg zF6s5EfRepEoAZs`>{q2j)sd$EcVk$<^?o(PxzkTz1*nLLgPzIXTj}VAgg9ou{$~RK z=a_%yg|&Zd^xjLk+w+zC7jJhJTfj#s)elw8pEi6&DS{!>)7uMV$wwx|w+fFYhVwrl z&7*OO3%}}}eaP^YK`sWXUMpI+8A%BS^l%_di^>nkeXgq1^XuhQas z1*B?T5A)ax25{^XsK;@Gv5I?YlX8WTjv@Bd_J^0BFTvmC=I+;d-VYRcPcUSJPKP*m zBKox_Dhv7X{4=KvpYk>mzY%{!0%e;+xehBgQM{p~XQCg4>@79&T92##8=eYGJ&~d^>w?b^n4qHpjqL&imdouUhS%|D~8IHlL9 z{(N6u;sQ&F|2zT0*Dk0AzXQWuonL*A4gKXW`yz1e^#h}W;MGoSv%+q-p8$i^ zhdHyl)DmDfh3!j#Raj-^n@rY9Z)$4lm!za#TbXqv+nt6uxMAe2!MBBPtFMZWuL8mt z2x#=qfbH1xbTzybrnjhNYv>v-QI~1}2aqalQQ^B}qCnp&44>fiXeLu&xkPyv{W4Bo_*$Y;zrC`m3}Cbb0VrsqM448(&kTRD*QD-=HOPQ* zfjEu5@S#mQovlban93Ya;&rnV=5y=73rLat*veoBz#vZlc0E)5`TzWZ&=zf|)PzLZ z8bB%>{TFZhY+lRF3~)%f4smq4sQIss(q`0IO@9H7g!Rqr$3>iuULFZ`@srH&CB18> zDNUp#dV0mPL-+2-Mtza+d!rg6t~)A|mw!b2Y-Q9|N3-42U@uIlRQ7jIN#;L4W`K7} z#nFY*DMmd8CqFNbT0}%2cKZvDuDlc7N^ZX^zg>k35X*}1BBc?!|o?K9FfD?OZ5!(JHOdO%(r8TFP5gg;c&0n*th}M>iX(W zOrd_eA28{rNFR=N;CT*0In&pb^gJnk{L`Y0JOlJfiDUw%;FUjW3C66P^EDHHdG%{{ zJ$1_O%M@A_)k8;Syq7=UDh4*D`tZ}`MfGJ%_k+0a7&56T%-md##at1VG-h3A$_qm% z<{;xn<$aOB%Rn(Y`15BRNPvg}+joItzU0JLLvhQooPbZk>}7F7>Iw?vnwpv?fG~A^ zznN*Kv*36#+v=a#k|$V~0X$e2y30k-hG&W!EjQai26*tw9?FiiK;dG(So#BfC2x#V zhn)77;Z0qttt5fL7uhOPsWb%-%9SeReTn8*HxliG?k2; zN^*RB%y!JZoim~io3#czWfOnlRGIXmK+FAy*FR&JZxu*kYGWa6d; z+_65q{7axoL*$MNfv{rd)>5H)_Yz^SNFdgoX;h=~^N4j5*B0dxvFl~T zaMYXogBM&Dv5-ijz zK|$g*5jD!L#uhfzRa8`rB3mI7KIBSau_aEKckl|*8EU1I-Qi+))sc9*7f=Ec5d(mp zw%GP)UDf(`cvT^`T4em?v{{0HVP0D28PtF8F*FPF7%X1DcyT8pZO|KBJ12$jPaDc- z-FXv3vKEk`!u;3acg3?Y)D!}pQ;wRg&^+IyqjI^LJLrfM2wP0KeETf-9(Y1k4F<@d zn}}94(vp&r!E=eg`X3K=Q#)`$gUPIAtcbW7oyM!^b?r9OCCYukJsYS7zSi?}-{=-> zFWvS3$i_J0#-eYl+oAkOS7qAlh*#`fWR4k^7Aq$f|cECp_)+1^-I3E z3?^pqww%e(`J+G6lR1r|Oa*b1K^2XC}sU+V6BwE+5Ge~s`y*DNPIxxssmTt_-%d75dD3Hi3 zb6+!DKJgHhLxm6>fbQSi-|w7s?{e!l7cA`_91^ml{LZ#rVV8-6LkUS^#p6#D1VQ^( z_T9#*9B0iR86h?#t)QIw+zhM_D!9nd{t1Udy}_*jFi@wC{}C&0H6~8cayE(@2nmab zJYAo}@g!;b!17-EcP#S;tNNYeM1w&mylajgVaChf)SYu&besmStpezopIn*D(!Szg zngHJ<{^y~Ev^WlN{QOH45Z2%}nJ^|wvF$*hO+}Ty7Ei7a4Ydu6Hl@R|O}Eq>=jpvA z;V3zp28*38TU24o0EUH+_*RJDy~y6sW8XTF_9sokvFLZnNP|@kiW&TPnYU3^84m9X{7tU)}G1I*;QZi4Zp)hP&V1##%ScQ zAI$#zLR$=&pcsCI=Jh%Ni57w^>^S=jEM1DFg@w*bOg2mj!C#y;_YiCS8rc5B@@z^P z8pTP^o<1!A`?G4(!RK9Qv{)m!jX& z`S~Ui3JY26ee&h*VB;H+@AoFhD5&oZv!`LOPA7l@E6ZVoKCw*odvN ztI9f*0JpNNHHy6gqJJ?*k19HcTw3ej3^5@8gFIQYS7c!*QwgbhCn2Hor=e&7NONVQ zIOcH0cXuayhVJCWgaibeTu*?OWl{-W&IUr=?HES+mJlo1d)QfE`gW{tRG-BS_nHcP z`PDp`bJWQvEQE4gq10IHt}<$$46>i61cGb$I&o%uE~MZY5`2c>FfgbZwqs$liwq*t z+B^Rp8sBX*_}oPmBbX<*2A0ECd?oL2c9z^%RB3ZkZrJ=Ee6D+W+YG&UnO_#<&rI37 zKd9;R^14=n?MWQUw%$k*Ony#tv*nq31;|?`H@3gr!BkVO=kLD-H8n-O0tgnRdtyR{ ztdPrO00b;!)kcjq9!U1>fXro}hW!#(&_(}TP*_N4*VUMbuNU+A^U2kr@moLxlZ%M? zbMAPdrE=l*I^An?IFfha31i^GmF|) zd#B*dYyQbVrFpcXd#U>_Y!N1qQ_T{fZ*f=+WC9^FsC;&%m1l}2xagnERy{KC9xkd3 z0*}m3m=ORNLfM9`e~2uztQ_NNeeMcr*@-{Yb81 zB4IW#C9a*QezU*&a3$cjmtrWijGj6D?Z=J5piJiq0aR6B(63Z(R-ghs|2|oBK@I&Y zrD&b6x8^+*z&fRYMAc2!Bhg)4;(e;LxxIU24;E`Wz+uls|L-8GeFrn5|E|Sl75j=U zCZa=FEvso}@EJZBwwt0mx1J^7T$SbtRMNU9F%cKK*~;HB$))VqN)hy|X3}X?Fb&M* zB={^FL&(`X^{j5|$b!3YZ>j5$sM`BQ%E?O^-FGN-!~azL@^5mnRjU$&lL~ct{irVu zw6LtvkXR9a#u)~&A`)gGsqG=CRYDUfeh0E5(%DeN_iA=P4zmMZpU z$WrnVZ*Qqt-Bddl8Z(EoP4@Cy6g$i2b%U&&o(O%#t}}zWY;HRB=YfT^>7R@DFFNTE z3v1VY_1C8GJJS^D$0?(}SoMYIgCzdsELDe{w#O2WL1F8=dGRDmkmVO@9(-nIB!*!Cw6|4tQmot6?QOh)@Ra4u6C zcXx}MR)pEUbneIZSu4D-$2uH*_>6y6XQwE`r7jYnE2QI`5s!O)^6_YC2|*RexNmx_ zYQ1TZ$VxfUR?=GDwo`}@1DlVZwU`mln8A;J@vAsDaNC*_T!+b|Gay+Z#6tpiw^=gasbr78{k9NiaKwIcvt*bkQd-*`nmp zQOW5xqKMv^*!G`E7$E5bGXWMH-7QOi)+V2ME&a$e zNO622jElDcLmScufFv$%jlu0aGW00xSSH5&N>~vAwLCAS#dn76^GG_}94VRq-8Tl0 zN~Gs(zEzf!P-tXmIXWDH%zky|av@Sq?UNYW4hZ2ptqM+UjiM!1ZtiJ^^chPzbPY=} zMnT>{CDe}ju3MHF11m0yRVeMlj=0Y+1W8i|LDH3NW(;Z~HvFO!U z39L`HD+bU%qfbda8tan&`Ageg3wA`U##k<4yX3xUXY8g-;K4ZX=3}oOX0rs!S5zfa z3^A{qsbQvot8}IhvsUeUkW)XlLTR>w9OA-!XIOgt#qwfZJ)ioT1?>hr$_@IiNvxy` zpgZtRUcI4GwP;USF${{PI3RWIzg4iiD30pp9UP94vsFr_WF0gwoWR`!xr7X>E)<+6O_IrVdCsk(Y6D zG4CzjJLvS}cPQ#8?Zuh~+K_T$;nisg7AM2?zszDc4xy%@nYsFQtO3H0@$So>?=nBG ze*bSekSGkEYK2=Mm=hee^&U}phO>~Rt1P74;tvdAr8NbF7l$iV&?u`|xRo+>R^{F| zCfI~;wPxaNlQ2hwVmH=pv~tRR$G^@zz(FmeqYH-r1A7ace#V4nsN@VDVz<$5k<+qe z_2;f!;+sxXYsLvdmIWJR>8f5Id+L*g4!n6SYY-?tn|~p3P`&R5HyK}qviK7VD^}s_ zvq`VmX@yD3w6;%jK2`gEvMig)roI`YLaf>&c8ad1VRt|Ob32P?*2Yx~R=fEw8CrG* zA~{{`Y1T!yyCQxOAtPT~*edzypq_^ExLPA#8u(OEa81?m2`+5Qi={eV< zTJ5)XfgyUZLxp?jL;5Dp8D~B||3wjqQ}3L6JBT4ozW1Dv4Zyf%4SY9Zby`?dR2BhA z?DS?Ts`k<&M}j_?yvB)SNUTmXg6+}J8(4~=m}<53#-ZDgViJ^ zdFV{FC6sTUT)3x5K7Fp_m)Cr{Cg-Y}-LDVao*ISY3&`J!XynhgU$FHU|NQdGE5ITJ zcz4tz8uOMRpO38wQ}|Ne-N%#;oI?20-1HrC}T z)8Cf5-LYsKfL$r~mhyx6*OKb(u}1PSFr8;d(Wf9PWzxSdPo_iA#+XWu_z*#2we}S0 zbv7at&|p|$kmX2{*J`G|T=vU4zN;%5mjKxQGuM?-Q5Ab^7IvRHq*M6Kz{yegZ&@L* zPxHtA|1s05U8}yO)E9G$u7KG-G4qJ7_O6fJTa0=ju06Uzqdx!v*X#cKLY*}&K$f#l zA5dN;;tg0UY zTM&n>@C7_3q|4g1P$5H@miFCU=Dp|7iO51F1r5i2$W$iCV!VT zs_%}QAwWb09%EBj01t!MM6F0u7*pC808~qVhT6WH2Rz{$8w>zojfJtJ^&bFo*yQqH zY0a80(9Zh4af=M);HyI{6Gq*I;K_U0-zt#%me? zfc{qiF`#U@OjKZCL;@HsHvS>~y6K#}#Ff>wz#|*m-LZqXZkMj@Zx^~-K9GaZ%WhjZ`2ga{k1Nup}oD5fV(RH)o z(W+4xgQgr@1R!|DoTl174|^3g|2c1wc=0|QaKM)sOnO`;oW7e*iFvXF&L=w6|?8~=S2Qp1vb-P!uNe=d#-+W z230%$k@WTK_z358x#WIoN=cdhqt?)tXd{Z4cYVIj+V2qpTLu1;_|mh@Y?dYP%3Fw1 zK&i*r3KK*AQjweOO8qXhBgu_<*r5<^sgA}qg*spzpwz1YpH}*iz~U_z)f+06P+{%6 zqgOQv2}yi-vyxF%1v9sl%_abJe8VBP7K%+)S)DW#GP(%7iW-M3iRtN#&YL5N03V$# zC{o|iK#MmdHjkQ77X21FI5&$tH7UhEIi9>M&v4$PKICL)}}l7bUghiGKL@J%ldW}xvUBrtjot!bkKpM*xw zYx~tS#}&Y_E1y2?NWnUkhi%d6K=^l z|5G3A8a9sm$dX}riIC^re3~*+Xc<^R^$Lg99%ZW`uK%-pK=dv&Y5M<0V8vYQID?O) zj{mx0n1%4QTe*H#KP@$NKM(?^&xHA$|3(f(jtBl-{#0UdF_-8Z^P*;<`0jp^Cmn;9 zSL%GQSV?f=pr3y%rwX972YkjN3yV$O{{AEc!oP5rpQO!b&(N7EN@ zbS@840BaBHwQwze0RsmAX#a)l^vp}T2st25^;1b1 zY)4TvXb>&P@f;_kN6H%P#Z{jNxxM*Fu9j2%cyxbs73#DrXW&9WZOxbDI}{rb#MA~R z67O?H`_i907;AGsBt7&~`*(wkOD-d7=RUEW13K}ijvN%L`3lC!mGB!mVs4Lm(-@`z> zPrKlpQkS?Nk;=hsv5K5FLO2KW&Xynx0r@t z{GzIg5_QA`0g_3*il1Lw(}~Z$mnN>+%f&zTZ_p*+pw|XzpZ<1-cVs@yR4DRFg|m)c z4KNPGtM;h_12%-^;-4ccnZ|Vh;^&RPQV%1S>Pv1m0|5Wl-1`R%!XeP5FqsT9+H#YO zFC2M+Rb>E#SR1ifwNLHm@Q)Ko!hNF!sTCUE)|-r!`UU`5{_c=l{vf5Hky0x4oQ#Z5 z`EPjtJiMa-S@h|+?DR}attVXk@!NGw;bs>=te3wAq;_)qwrl7B-Ze1LPQkuQT-Bbx zL&HuWsbM(q3+Up0?YQi=*xUjD!BddLjtQ@xMa*Nf<)FWS<2bP2cEEeY^@ofT{KI?HAWYNqkpAJlD9Q$j*I@IWX= z&FF{m*#;1B=6o$1fKh@Y{&9q!y!7Ke+|Akg_EXZel{yxMGSj(gQzxLD)kV?^@fo_h z#;#PGez-3{IQ<*(`7^abl!efnHLJeu!6N&Nr2Wl$;6a37MNAS5W`22nH=ITRjt_kARR)r!gsen&^nLL~PGR8FF^yDWen zueUq7%0H=`8Kwq*|KAEIR*HlsT%;>;6RfB|XlbRj0Zkmd@;6V+DXFLm0glEiDhAww zrE^M2w6tm5Q*3~lDvGRaT^9fb_++ln)nrNW(BF}eGJjkwka{Lw)GQig8QLE`z8rMq zy?QC$Cv0Es?;ESDsj-%R@bO`&?S-H~mSo6Vul;K<`8|4PmQ2@xtB z5tmMjhH(CmmEreU6m@F>Y54tjTVU=m69b5P^f63Fx30mqh_n$>TBEveUPelL zl9QB%tb5ty#ypDQfK+E$u3#?xI_=Xf78DVDg>=RiyH~+R5 zHK#_NnN?q7*;11Phpk6L%k>tBEWvH~%W7BDk}CN1OXbLIT5DDnVpy^Fv)Ous^cpxb zOrB@swR!+Zt?w}x9^!u{131;Qm&z1ljuZ8M=#|3F`LgLeCv)c6+pf?MjN?ZEt;*jf z&s;lZvROoa>ZH^wWbK}2l>DKzev`D8LFN2%nbAS%P^y?9v?;v7KG_xZt>PA}7eTkP zE)ZaR60gr;Nsvd>+tU8RQ~c+@ z2pYofIM~j+$R5TBQ z-9>(jr4vRD2#sLBc)KQql?2I$FStVB`TR)oe1L z6|w?eTg8N`zst!R#dj`me}poV)__^&X)(@wndlEmXL~MnK4nKqJ|1`Ci4WeIf@DKeJ-3{dz!0MT4ak`1CM0eDtMZvmN|1Kf8tfl*gWPF`Mp=>|Nu8^A{#;X9C#*B<=maxVr8~{c*X!3v?SC`9T z4Yn84Z*}&KSU7|c;Dp7=4z9kow49oX$J6Q*pv}k_Lge%?WmI2rek$ewqx4|U;z?i# z+Bg~q(0ldm8Ug(21yr2;)N&w!e!9skNI+Su*={Novfhz!b0q7jp|^OPm)pqR#BkD; zEVwZg#aYc=<8#9ViSTk7I0VFCRfQd}>c5c^V}rloFs9fpmtf<6livzpkRLG{JD)^{z1Wu$MO zGS1%tf`QZ*%O{I`EDVEhxIii%e&kp~rpm_|& z=tOtCAWizLlAl3D_Ndajty<5SM86XHuYkLOdmK9Q)>z0M{qR5{;|74ylKPY0YDt4! zuQWgdAR-_}?nPu#MKE!7*KjKX%n%PGTdJ}2O04fuu97z-ibq%e8-Hn%E(!zbDA53W~w*8Rz?w``l+b-f?= zdOcnqW6t3U5UwN|H9k!cev~8uEd+_8fkOvk%qZJ~FuK6x_i&hR_r!Y+X%0&_Tu_s> z_t_C#qs2I-sDflV)aNcU4{eH!SW5$ANOT$$Y@xPeIbsMx4xzRM(@Q6aEp`{0;D#O^QY!Yoq zC{_Zzv@t@$O=@#In_IuWtr!KOvl+6~n zx}8d@=cVCA_ozH)jz^{C$zm^vhU(GWNR7As|gurPSl926)pb?wH|x7-vQuL;Jf9@Blg z6Gr$^&-rZVeJaI+3JRh!1vu#os))f2f|{1r`^?i}EtIG6W4v&Mw-R}C^UtLTzy@0F zy8K^K17ZVi64oa}TYTa_#Jj9B&`L-aDYw9c4#;+yJ-~|dH{kyrjTSX>tq}srbf*U6ymP1nW{7K({ z`@v$I=$@XfwcpO&M|&TMb$}@W?9Zc>p2dh8CjejpN(aNk+UclBGPv6948nTHz`ELF z<9oT9`M_K#Ym?n^S90keU=yweVLRXN0I-z0Xy{bOO9RgcF6Hsy0NCE`jUi(N|NJky z35sid?5k4Q)NYd4l{mgxl>%?w=3h z&;&IUb_Rxl*kehMUjr9PGbRH`1Sm5KkqKlrs<@1mY>=O(nI(z0guJ@+gi46j<8+v} z?A&?f{=i*G_&G$TnAS+2>$PCP4Ixfet^1+gT%%)tTV&oh1Z0e(`O`YfNlBz1wF1hQ zD~EISt7fod$4Rn~zap)1Jz1M?`USVQ1)jlPjYV%Q2^9!tbEjpcr=^uv5rdTo(1R*^ z|I{*=#0i~^i8GKR>HFW;b@%oTy)7rP{U%exijR##C}VUvqs#E9BS|N6g`FF zqK`=m0mT83NcJX+=?n1@Bs00d3xfMcSXen%ru?8w@1@)RK+P$F80>v$!>hO~a?-ZS z8PnHm;tGx=n2m4x2AG3UftEK2?6_x9xVTR#;ss<*BBJ7xl4wANDz0s@@B@J=Up@3~ z5@R5iM&r{0S0b@*hAt22CL_W=an(cE`lX-22DblZau;*gtZ1n60!=WG5y;Y0v#{pH ziDviVAOy8gTY%mNT7~jpIMx>IoQ0+ke}{DhUoGAy_3TzpHLWS;U4i!|Z}l<<8r=4^LRnpo zK|V-)*Vbos<>P__8Rb_IQ8EBy($Dxr&g`*0QFz0JZ^B{tIi>-(P}fBZ*GZkUPpjjv_+B4Zd}5I0-xO%^cM zUs$}N{LrPc0a&Kn+50dMtSA>}A(LZQ{RjSL_4vf=+N*1_$E$be_a#MHPL2C8Xyyvc z(RJ(ee!b}EuXl4}%ZA73r!1I3Qn@c7K0cr0jx88#?av=o-coRPy0yXRAF0+d7|_8Z>mM&;BMjQ&RdH z06h?hc7~T$5C&mP8B>!4*Krt1zRR{)+|Zj0q6ZsTw@W#d%)(MnPEJ(JR)*6}X*&P| zmc#qP=6osHA+Jb?R)Epe+&lsw#%r@wZWr8gyT5P+q#{rmOZgbOCvc05wq>9;{p^tB zwOg^*`!oQWFKJQ|45$*GYVYE@Z*m)D!Q-X?)=8S4YHP{cy6x<|XKj;Ha z_xD5+s_kt2!ellz-sAj^Alj{$?Ib6$j$MwE;xyAr6|l=^NxQa(nZwyda;!`2?W zZ+5&vseuna^~t0FF@ZBHkpKrK5ToZkYRm4`D|HkH`(uCLO*J;|xZag+hbHX1w1JII z82<0ev~kA}@hEn`E2X!>uWwT`+7z?$$Up?CPO}msvm|b4fw@DK+x#*}i8~Zs4pq*w zPM8g!X!54kK*|-&V`6zf^3FE?%N0NEXW7(Esw=L85y^W zDRpT%%_!hkJSF_=S2O@qRAVGqWm;*8*P5#DTcQHS8rp z$Cz{K4r`yD(JgEjra%mD#mwCdAcV@O2U>7ouOrX5|C;luC2(Z_tc+;Jm~6r6cAL!= z51m?RfPw`G?6!mNLo@m&i58M)jRl(SSl+89`|^wf;u+@B9=w#8VgQqrz7b5b-?I{W zE{v{Lu8|vE^yHSKi3BJUV^qeVRhL>VWdsEl42{*=DB9EJY>@stTz%)b5of^G2ls5s6nD1 z`1ocIyt@d>I$YYcl=R3fCR1fYEHfq2zQ2pq)bA;to;-s*fqG&*20BonaEtv{$*>xfZ|6iB4>jC_HY{sM!ij6@H2auOf2&3yuBJ za;kUHTZ7MNWX4`AgU}pt86p(e;gfH*7pqv4rAwHkIcL^hRl{cklO?PJFgR}<*3Yb7 zejE%oi4ji74Zs!R8f!P$wv}C#^P<`|v=XL39kkur9TTXPb0USGKiydVd$}{%Q`mzQ zd=y@}t{=xu8`X1cUO41r-SzUdn~dz}GzaFhXU|mCq&yn=Cxe52`d%*4f-;+_Wc4aN z=I!n6X)mVRa!MDcVP=eSB1+WAd3kXOP*s+ATskG)wV7lF(!8KAn;<4KK8y}0*Uk|v zOQzbZ^jaBUDNa$-Z2HK9Y0qF&SH$pg%I;Z|!XV^C{SE4Bk#CK_FRy~V8s8w)oFunM`SM1nM{^o1-*8+tV99Z%<0hvD0?!{D!=sn3)^rS#y zZY4#;n_Fba0M#j8>V%eo88}$IFxyM($L+{w_4L~S&_j(>n?7J2OkxAyGK_DWmX4aR zCR3M&pMd7+idD`s;07cG^hw1WzrPxfc|OL0bgD7=794af7tM z`S{*wRlF9Q0-cPu#sO~6BX}w5Ty`_wCzcgLr-z%<}<#}DSV)#5D*Ii?4oT+0q=`)E7MBZW3f1AJn@S@dT5GU z!8BH<2PkM^RtvCXD&{r?6SI%s)tA8SwpqwP&Q57_`;m7QaFQB|&OU6E_Wk}8b&cZJ=NwY<{yxhR2?@!op(^z%rj&Rv zC&1qXFfcGlgTUXq!)j7L1Nb&}=IhEntL1ArxBJ~s5hGPA?X_D$dQ@-`Z^6f7g%$Kr zQ&Hv5#{@r_hvDBv0HI<7G{k&~Aef^Vn*2XwFpSE?UD&D4R)z76sT6}x8 zQzq6T&jiL&T|IDy1VwQ0DV^th2&E=@y z1t%zjt+@l`>ZKEZbU;DT^z%1Q_F;L8mWP|&lchsHbtDAgyD<+@DQ-@Y;TQX`8M*si z@2yD1Q37 zO>Txc?ulHTcg=BY#YrS=Z+HT|P!A~jfj2k0952O+bW#TZTFU>ulHcnafWsc1gDrT3 z{lG_+z)JldR0SxIB)1($*%uo;m6LFAJqFi>B$(P<(bqYe?~K#5$Yn7m+IHD`_!B@6 zC`9hJzVq*nFArOEREd^PpB^eSB9ihg-q0(MaQ+*niN&xc7Vrv!0Og?_ol*B zv5`&#sAG;%i4AGNvt)7J5Led!8EjNGFo}qKG%+WSlAU4A5kdygD6j zM_UpJ8DCX>wc;iUzl(cRb*+R0@s;#p&^y3z2n;l713*DPEIDr+2($D(@BpSEQ&4PB z8iI}W1UKQ011M9gwB^I09@XWSOlFq-FKbj~uZKvM%&bjgK9VsWBnT!XWlf)e?t#hc z4&kG(0AKc9Sx2oSEpV`fsy9ur>uD%|#m^uNdYP5Uo%iJE1e&p+=Si5DQB@bTF>D+( zAI>DtR%jPh7cB;iM(Ra*69$Sz#N3$Uc*9c7^oL*m4=b#rBD<%Dd*LrTteEuGQ}85n zPyH4*3UG`3sEHg<4sNRxfCb#<11QEmE_YO5lfRAzm^!%&6F~4)*~gLjUK5=26zWKh z0D%i1fb}YTY;*$F!=;>Y4YtcIngGvG#v1d2 z{f+D^GzrvhtGc&e{k1FjM4;BW;`z+a#ju58%SJKBfVRatL-p;fu_cFW82RPeaa&1~ zM;Zu>J4!QoZ_%@3l1oui%i?Kdzrd{FrasF?O?9u;8xBGCr?fTqyOx70pighAv-SXd z8Vr;dQW+S(AYXa53G*m@NMah77Xa6>A}fQY*Y`1ioS;e1h6Fo&z|MU4ACK~XE8Z}x z(w4+1Y;uQBWwW4kz2e9Z6mMF(2I^#fve&dENZuI(ZT)b0!dI}wzX%3uyKK-#^9 z?3P=$FMPkT>b3c3-rpXrc9mvDCt}FGVDd-5PbW>`b2*Q-5&5Po(C5zMZL!{Y-nr@h)!iH$gTrKqMG7sMNo;M9 zeV;~dPwJ(t?|1myn}f~IAPRvm>sQQb=KbM|Br==hocCgyk~xgU@%0X?Z|Y(YSS0>! z9f_YIp&YQ{?cF-+=wwg;cj-d_=_1*ZQ|-`eHNC&T?-33^6j>Z5i|3|&`*G_Ct|`lk z{05v*gP#Gs>E6*i+L$jz-fosNYd;lbD_`N?(`Dua*V(9dbn~@lwr*&5xH1P=*EjCr=%1=E-YEH z1{BzN=n{@QeKK6CjvoXm`|Fv%r|BC`Vw%74pHeL?;f&e3LyPSzpW1jR+pTSgV!qMhE>IkTyO#}$1a!iG!k2$I`kYZ^uXtsw8? z&y*kd3Zm>zCM2DYxBidvzC!0y$|oz24h{E3UR!?-UwvQnMXIXSxbtv~ z-x(G6hBdg~S_$OYGGlmy`tY~GsVbez)pz++y_CMN==@Ant9mo~d9v_zK?@IV^iWyu#%Vd7w())9>XRvH@vm!}_x>!H`9x^~EKc&SD~D{Z zmUElE(ou{Afn&M@)JjP<2+kK5;ESZiG)CjD6o zDSUl!O^FqoE!=*Kuj<(ym_e-=KB--`fhryj&l8h&Z0YalVsy;bkoJ818YtjtB(}-k z5<%UW!MzbEJGX5kH(Fq)QqKAg5M@D%{mhr7=Nl&n$Js)h?2nuT*Wax~+(kAudX9=^ zdGJ+$GpJ!D#VpR;HI$xeL{odL=QXAA!$6I8Hg)#uK9<65XNq2YR>Lg`;KGH=rc<5V z9$;4L^Hg!XFfiy%RP#BgY7ff1xkns>>h3M5x7ObB*v=Qb<#=E0ITq6gGDd5};K?mm z%8&eJuaz?&f!^mXBYg^0Uw#{!p`G+i#*QFaw)GP!nvhDfy?uvuOkn@kd@&M%`A~}C z_ejcx1D{0vD{K|M)!JaUqu?HV`Tg7uv-E3tfPPT!5q88ypgjOlUG}M0JIhNNIGONd zRvhzkk1MU-4K^!nOB?svGu9=LTx$oUxxElHvg|7jyG8ofGXXQ_+8-XxDvRP^Q2;Db zK?~HzwHKivfX+%!FZFl{43SGaQwN9t_!Mgc*0d`OEgNG!DRc@~Tx^AfGDcd7N!*2* z8W!rvW!jB|>UhAOQ)VSA1bBis_^LkdeCZHr*m}A$-?$euB0XOEKNiV-Uw# z1g1$f>x@pUR2K9}f*WdW2+4EB8YU2pJ2VKrF;HW~!m6ibR>PD5D9QdY*Inrcd`*9^ zR&X0T#*qA>c?ZZ7t%i%}X4yO6tf?d{!Yjiq1! zl70a0=*EDlL2xr5P^{9YXzqXuYMO0tPJls9mGe0zWho)`+Z;W%-#)mU4Dci)*5=S5 zuJZJ39(~^n93&!e1BZ1iwE-`D-%Yz>7usZb8)#H3+qgYsZJ*Fog{?!U(nmxdujRL= z%aR2zei<`-JcBha85tR=bPUV@+gtID_UcXnv&$dxfjjWta93?daV1fZAwcN^IJ63T z-w&WIQfc22nNy~$F~wU^UoK28HaA>c=s{3x*TZG$$sU0RNgS^E+pC!#b@<9IS@3)<>pdzS=ZGdhT&D`vIWY--%h9a2Yl| zuTBTEq7XOtSI0lSR`a3z>9~9Ibss=qvOm9$XHSAi#vOSVdR+m|Z&6+J0-rT^QAL;1 zEYFe+TUkS`6D~CDWES zeJ=2lul(jieCwwGby}r@%e&F3-Q?#}p#|c}ns+gzBuD!&&rLW!f^wW;9LM+8Z-cun zTz{^gE0Q09EfXB&%l8j}^r=QDlkIzvY6B)HQ!WaePX=FXkB@geVC|tTtK8Nz{R{T( z6>Y|8zhf!HUmip>VZ!=UO|}&JB1xtgfH6*$5^iO;jTc=gPi0oL)5hru*AdX^2Ll7!cUnMJo*V8{vin9oQEj4!I(=YS-qy z=H?Gh|!N6x%`+gxXyjS0JTU9+5ddGtVHMa`ECL>kRZ89=8 zp5{{NkczIMXHomOm)e}3K+wd(M6Z%b`je>M#7=RJIn68goO*NcM6Rqc_9MMq<5#gx zdLVhqj?OgwF`Bxm!{V3L)}GD=}+yPdF;YE9dTXEy^^L_42)v!WM81ZxGTf7*Pm ztNng_%E1d%25=w}wTzL?a_>6d3x4n;ZpZoh__Tn=Fa_7<+qDQ*rg3QeVo*ot{@MxS zywFpx_eIE=g7w!57<2VuzF;X4SWRASJCgwR&-}MXx&RA=M#ByG1=H>FC@XZ#LIMkx6IHZ)$=B=j8ay7_kb(!md1oe8Q8S3yRz)}rXG!G#nZ#D){xY7}T z((Ci#$2-Z*`$7prnOV;%(J9z3{6r_YAs`5x2L;x}{)x>lOnmwzbS~|{ zW%>Ux_1)oIzwP^GBqbstGnv_=kWJZpWGgFsCwoOIO1y0%@wUm9oyy)bBg&r1-u$kY z&+|Qw-}BFN9M7ZoYu)#CU)On^*Lg}a-x`b|7!H38HiIV~EfuVH$}F#|Kaz`Q+kR>* zxr_xWv>$kYeE!X4xE4uo1Ngsv%L8rcbl&(2g#xlot0~}#*kMOGxE@hJ zoyV10?W|CL?<@q4RF}A(o=NBaa0dm%PEK359!}L<%1cJoZtB0bdUxLDTlnP`FA8B1 zRJe=ht^n9u0>k5VpF#!8Z^f$`t8?qF*u7eNl1XIX9X+P1kwPudS_aatmdo+khn#c9 zQK~9_Paci@^%8LhFXThFx(`?1*L@AfQ-p#Glri3yb~Sy7;q7ob1AVB=1FQEhlFP5Y z$v0c(30kVqydsbteD7&5T~T;QSXhv)u!;Gj4CxlvqflO%)Aq8mD5&e(5SlHS+&+vd ze~d-&Nc7Qr_Y4z7U0f>xe8!&*k9F|IY(FVKmy`_DZ!S|Kjo8t$YLU2pXW(F(VP^KD zAd&VBoXp0+JF)5gn-yIb4=(l>KYn;>6m2j-&P}G`z0S_cs!m?ZX;_sOyKd{8T9$9{ z%>8B|nPId5^YC+vj=wdvs>!n{?`JqUWDjSFhqg_W+ z+HP(a4jF*3WkCtXE4E-IJ;OzChg9pxrr>p)yzfqYi=T1u%CynZ*jotj<@(|@gx-_BO7|{ad!t=%JnrtDm^QZ)x3-@joZBSs$PX% zLSl2JS<96JIM+FVg76zN@dvm9wJu-F6V>0oiMNCA^kfRtT#lY4WcQEO>Ek?$w|@vu z3Jfam)L4Tb6be)epas(-i6=*JXRH1L^W8V?SY2ujRrR(1{#_!WrnX19{ z)zJDvsK^t>JlXEjYa76LfyG#v zwbx6HK_a~`E}2Rz+{!@lqTL0G*N~a}U8i2h)Ph&(D=cn)AlrT73Zuf$c|t&#U+0R_ zpREfKcUQBvMvd>&6D&89ULgS((ZTai2)S0?EV!ZO1PkJ1Uj6I^dBV=yC!{|GtsHbP zu`Xlb?QW&yJpp!(%kM@^--C}YX+W46Mfr~J(Xx`B5IZq7jrwA7`k3XczuM6PD2zr1 z6XRW8f$_PRMJJU%pAzvF0Nc#s`t()du+WX7-zBWRP)k8{m|Idgn&nO^Qy=15Cgx=T zrmR^-(t*3r*2X+%55mH-ErB{^!{YlsF3u`PSr{aLU*#DYFXNCud6ql{q`|P`686+* zWLtp0Ei0~kkRCSm|NO2I6AOQ+*!Sp}_M6TMfqT4bt>xf5TKD(*a$;I>K#a1Dc-v=x zU!W`w5l0s3x)~>{|QLVQFspp zviI(;RpI?0jN&k8=exUJvo5wYT3Sm(1MA|_#cLIOT=~N(MbNK!sj|46sx2c)72njh z5rlhb7Ic>eM7B;K+0+@;ghaRqQBvnOG|Fgv5zzQovF629&1w#CcxG%;<`0+ z1#e&Li|KOr2&jNB?>~J*Eq8pa+J=E8Bz!ddkRo&(#zJ*}nS&V=P&7gV)S8D0t*L*F z^%A?tKIp2(^oOPo*dyg|jaD9Nxc zY`ovl_Dc>AC)Cze7yvOU3Is5{s~mF)Ev#uO9!En>Uo=(kF!sEaxcbvaK6V0)sViSN zte%7$Ie|DV{#`0hQZX*>of@!HwP06}CE@L`?YE|=7qE`!K0kV&JWC&BV?9c48rp|^ zWYZP=C3>(mbvoj)3|Fa!ZQ>tOb4^4wY+9Sz?5>V3XW$I%Mqb=n&MRt%xx~iUw(C(K zPmYBpz~SWwBep|r__96aL~mbRV_yDYm*eu&QvWIuZH27t@L#QwFORLjd*%LTBQ-;{ z872J9WS|#!06Sfq8t)#Nw}OIA%#G@2&#ZrjBqi7O=a6>ss;S~6{(8!!{zLt64dl1; zs>6o5u1>l;$JO7|piIZo?9EocrTv21z71?F&wl#~3s>hC-sVjFI2bV0sg$tv=-P&g zr?L!#|DS9m~r2V@|>vtP56btmSf&?VnE2T6rYe_sg-~ zNNeQatpMep+cHuaI}w|Cv)p^F6E>oMC$wgI%BzN?aOxsQds?XBGM|9Zu)horz9ZV^1!@LQby)Q_4EXgUW>v79wEam z_KNrXPitrA=3Wg!>B8`seog=^t$wn$xaQNMw&Iq&pVJn##?BZpf;LJ0P3r3$*Tz-1 zzb=NgBcjxRs?eV#)htixk_mbo{;b(LkzkcB9CTJuU zN!JVBxy7P=H%RaOtO2CL?^%PhhZZ?f(|DTQ7_S|CA(}aGr*V})8jkC|( zW?)!XcE1#AX2D4KVwkN*Wy;T?Cb`z3YbpjSS`}M!EM_|^)o<*N;M!%(5Es^eKOg>j zSVlt+5iRD_(AqjDA5hi)fq@_%GkUH$g$f`>C)$Q}VzMWrE^j=hI0PMw;CjZm`23#q3zOXfMaJaJqV|R%|<+gJJs`;H__g;H(uS!gxjERob zTdu3LQVVI1{0#L3QyF6#V)Y+QQr~6`>gp{X?S1`2q&13Z1uY#`N1xNs$G^T`xprId zHT6E+ELnAcZHiVO{X}j{J2Z}?A#g5rfHf}LJy}w>z?_fL9l~WFTg!c$2f;Uda1W2> zd1IV(I;Dny&?-S=bu@?jVlTZO@K5R|K0PF&;C-<+U5Dv!^>sLfNX@GKnXvVImlCW* zUh{B5s(Bybft+|vjhh% z$v+RFYsNZ6>Pc@8TaDg1v0o#`tul@8e(8#JHGAM z3M*z-@9QHgHU@qvv|GH!;|00R`&I)93ZQZM{ex3$?DW+AgJ6&ldTB|0B(>Lee6W?7 zmL_50mW4*Q138P%gw*G8{99pQ+^ami%}^3ximxP;huwLpvVP4t!i->WuvskBf=zc) z^A{fIB(Wg6E1ih~ipHLEWWJ(7>M&9j11b%a^ZQX}rQ&@LTV8@mK-``<1SGGNa&b_- zlt}{lg(hF&3w>+Sw8za zSyz+G8c!TW&#s}nxI!f>5CyUqRZDG-zX>*BGApC1>`vbLlWkdf@gz<}EW!Aw92USD3z4xw0{4j)^lqX*n~D;fQrNm70E>+59(Hi9trdlm^+2h%#)rJ5pvR`>l8lU z^eM7pi?Ltr%`Pk`!jR?R-7E9p^8SfaF2AOv+o=ILSDv$+{cZE-kFZ{jTzm86q~fxk z+N}bXj8<;ya%h)}QA07}iD&tj-|nZ{i3oTdfiB6Nnw+d>@od0(-_nE}nVz|jif_EF zR5AxlkEnt)0xa@d)@ElK2VuC_VtFtp7kdh($L9_fQgt;C0jJ4ONoM_Qs^TJ>^Klo~ zYysrhz+lJg#dFB6NXW?MqKh@0R2E!ywg_cu9Dnf)zoqYyu;DG)z;N&SSMRq!_85_u z|D%v{LaGQHS(ETHw@z#AGFmVZ&(F(~uQKDBQknJuQ3*w9aU-|lr&Fd{Cbt|g9yIZFN|G{HnD*$4A zcy-vWh2!>q^#1ght@LYe;Osq-$miaaQ$`-YGV8g-ihnw#^4Pb?*)fX5zxRK}zTBVo zrat`13G+&9N__G=F)q(Po`?43Z)_A5_s~uC>ps z0c0P8S;|k?XwgQv*h7Ke|9Kei#5%B)o^**Vtvb^`EXsYclG zQe9KM<=}=_i}uE;*-pf$hP`7&%(&-VYM_h^={|VfW}Z<6VzHBFHUGFV?pk@A?xW{v zmziT$!fYxzgU$JoIriaaZ)(&#C#v>|K~T6MA8qT+WX*mHS?yUHfIELg*@JoJ$bJ5XS~qo=kIL3ke~%- zmE=gcx?=E!%Qyet1q%q1D{t8PJd901NO&+#Q9+TAIqBc@TXO9P*2`G5P{az5x>DVB zNCwHH598yrFg53FqqHzka--midjz7Ga3;EM^6lk%UDvvRyP-}}vo47-!|n3+LQY|k z&yp!L<9j3w{=w6xkR>G7C>p`_cb9_R}>{3p^1aZG5l+SCAB3#-ZHIxRI5w|P!))4mjWROkb&Z2@CVn}1=nI55 z=yc{*j|;QQ@O4Srg2x}#JY7+cE4WIdxi8GUQ`vCR6{q@;2?pZd*#V=(%+F=hN7Y-; zLyu6W>&`|KExR?rGJF*@?}dIwfD%EqJNh5ZyEjhoDILCj{P@w5=*>jHh|-C!e(tg~ zL*s6PKkqev9*$HT&InE1y*i92@MmOe~%&J(eTc&!e&77Z@hG*cEPq_P)CJr;HWHFL}^oy&wRUqS$>ATV+ z_22NlUgux_Q5MH(l>0ClgmSW$6`ZSs&y*Jiur%YlM`}DAOJC03y~-$6#}9To3}BF8Rb40`Gs07n7JYc8b8ympm|4xTa*3|ElwQIO`_9 z+wW@Mql&}3!W?49|GvRM3J5zbV%ruu!%<#kNVaCx{ zdU8zKZ#|FEsaWcUNz z5S8qAKeGh%e6=B9{EMSXVG3!NAWnLP!>?RCbbeT> z$7G15W-AT0(q;D;(Pp#Pyo5^Xna{c>av190kaIorOoe_gA|+lWfQ>WXHiNie1x2u| z#wRD=(P<_!>1nEuPE9R3jYzbJpcL5r$9FYhFTv^!rVc~;@8BGtFm#nNe6!=oON z&6_txlEr-Wo7?WWPwqsg9?K{b&+&xF2j&1WqrI|F?XmuMqgZW+-f06F(|Jy7u7ddf z$p*7J!8mUf#=Zm0tc&~9iNKZzW*^&CR1;w^OolAV_5zOL2#+pt^PZE$nTLV`K~hix zb^J19tmS@JG@D!f>BhWI4&5u$o4(#Z6TZ5lRAACzd}44(jrhw9q*5TqZW-SU^iLV{ z+xLnjLCmMS1>QPU$LGsR(4LH->RxReyu?-eo4?d@u03X%$h$R?-sTrjn}N?O{lCe; z-TBCDN*H9H>pObyFCoh9rrO!n6@#=^elyr&z885*BbuwvjE#N)xLYb%XNQH|`LP=$ z(r$e9%M9enAg)7JXC`{>?lB$r4$S9M#rEN@s`?*B6G$Mke5%&phW0>uunjQ7Su63Q zgu5?ghOS<_HgkS8ObAf}X!Ad>)xbiji{?5mhRVz>SjTy`;0Y#d^5e@gWX)RkUD??z zr7vaux&;jg<~ScMH;amK;J--IgjPu{I2?w0#_sPq`X3p%k3)sM0Ie;miMB8a^yN3H zcrC zyqg>U-5U^5^`h4J?+hj|qT%Wu2Tvc8cxuTu_SthEKXZ+60X*$3V1VPv34`8m8P9!^jX0JU)Ifm z@EnBp-CyhJs*OWkZhrv;bpM;EL%c1KOETbmbehBPf4bkDruEw_h1Df)E!h(%GyabP zylkCN*A(a_`X>B3$WC`5mz9-04Ds(&q8GocR1WI9LkV7+ZOlU#yJ9&E2FXt&+^a6{ z(KAd*4pY4rkpijG<@-{zgjpN#YSlmgaT9ZCL7Jidu9T^%c<3^>R-_f;aDkQ7-q`FPp1@v!YYmC|Rt-(`<<-exT)Jgy(hN|5tBO}A<(}A~X zd%aVIFONL~Z>0$BGT5;4M-c7IH#Pa_r$-_$h7_Vi6oP&En*bDnOCM&~#U`O_S+GQP z;AsldPp;=2JHMSglQx7+eqz24wSy($OP0mrZc^=xvNF^FRODeSEJL~49o#AJ+|jM4 z_eP&lnm~84DiDjFdj~|?)lVM#uNX{4#Tk3algZ!>#@m4Xq1~_Qp%G~Y0xyt}R39kC z(6sIIjgSjw^{JA=hfO||<%b;NxY)x947!}gwb|XN7}Qkudt{q1AO)TJxi1SJG?~A` zKo0)|Xv@@Yb&CM#M0`>-6ZYSLno~_=NBY8QvpjsJuQ%hRVhM?VS}Ojzr)SG1>vuE$ za4YpJzaH@njRS5Bg~Q5dY1ZLePG6Z>@8s@>-O%Z{v8?z98?ccumiX^Ke#nC|#!!R0 z8Nub+u-<#^yI7nx8@O_&3f_G{hZcJ|UY0|zKf=tw%f%fM&Wghr)|G$8^w#B0l0``;p~8_cnpFyl2B0O6t$2YkQ+aj)G0FV+I=m< zlxtK|K|qOJh(UKx_G{9I}GR0~tpn!nJ^z6d3r7ii}Jz|0iB|54(G&*{MeuiK)UfT{-o5H=}mmy~7Z@z9Yx+WPwKaSU>4 z^dZ9$#3@=LZi}Y7NL&g#zQEfCZz=cGccGj53y6TjBBK@Z+{`eZ&v^VT^w3WN^Lo70 zku(0~%i2=_Ii@|ND1WOuI(oitg^0qQ15!_dx3BPjIEQ^Dah5UZ@ z%@rkF=A-llxN%3Mg`fZC1&`=T0heI*QIw{0_sth5XUbswYj;{l(f}S{O z1_p8f>h{yV;R{Ddz=>KDj;v3iKyw0qLM)Vo#GWVQftduCE)6wAM@2CT3J$N*>%9id zx<~9NAB5|S%hOaroW|&|tYZ5NIB$b{j(%IPXh?{)oo>r1s>(jNCGJ$Pj-2)l;MLs8 zc?(&MD#)A|h;S92MwprNZ!y?PQ!pq)GN4TThAiY@vkgASEyNiz1huwc2Go9&0>{2| zg!mxCN%u6I$k3;EdRYQaDth~beBAYhE_SU)JBIsoU6l#E^^G%u_5Z|4pJR_aLdI6npw0(0y zQa|>lXRPXiP3?BSVy@HAhSMD`Un7vv$cL;q1^<`-*@+i_RM;_g)|OtXZ=b7`JH~m^ z;-12agKpK2yl6!gzdT%!lrvMzi_D@Pt@7>o0=?)^Smx%-%T!F~zNv8jZbC$BhJ}{S z29y_`Obd}HfwY-vP^#Xxu>1}WP5i}V7fbW-H)OXOYHE$jR`ji*(oZfUCls_}Aa}ac zkrkK&Cu;UOLRY-B0(3W;=f5#`d_k}He4#PG*c8IEYbY{l;DouCIlg6RqARkUBVaiCN74_00l6VH;f0Z7&8(h-yE!~2v!npO&CnZY`0zmrJ zn>T#kaH7Zjan!Vru@spYJ4)%JQ_|RW&yL01=AFw9oYt9$IbN2guEvpxCAM;O$LTP^Z#P zxB(g$I_1iz#|z>e9t}rENCce-$f?jT7B>{S=e>KUG6~n|{Ge9vN_)mziq1!-=)4X{ z28ofW^HJ%NT5glGJ_Zp5KG%7r9a))EB1v;MD$H7S+YlO7Cvm4f3-zN$WqElXZ@KNW z@fxE2?A-0MnU|Dw+mzMS+t)9#(XoX6>?q6*2(#z-S-dhvMn)DgRL=fP_Uk0EtkxY{ z>=$Z3dcD^L&PMiD&nBi)+87gFbWX6Q?yU$EDWNBX;4pDncTHUo!oZ+oW!>@tx$@mZ z5GRqPyM?PVS)I@d9wqi{x`j8lBQ=Z-`OwpIzzN~DN^y@xjO8i7M+X@m*|qVs>74|T zZYnJ*@Ep#GxF*N6ouI%WBqTH`J^`{32?{Z6xT1_07y%hF*xQ2~Gw}49X=d`|&Ry|Q z03yWe8hic#edJ+Fqs7K-**Dkc%LY_RB^fQW*CK$`mIPR`@T_1AVQ$~x81VHTxTErw z6E}0P(F4Y^Esys%=7BcDn~;z&4}MG>>hmbeOE>u}!@n%1zfri)Nk@j_GMUUv)s57# zZkJO*U`){eDjONfFNM$~NpuljwKeOPp!}S{j@aeikHMlBq+a8q|5nXh*#g)w0Sey4 zi`SUqfr2~!rf@~@m&ZbiN9^+h&RffX?%y3T_AcO<17u^RmM|B>z;#LMPz^8TbBlx+`(j8GeylBUZMcPBrKgL#1b07y=1qLnDT z`*xT=JZG5Y`H@N24;)8F#BN?i`~;Mj0dzEl7-ieBQQ)=*^zahZd498UiCQ=eN285qDgNN$zVSYT14coXLAUQfurXX}PTr ziD;?)i>yb0Y{j(Ri@kPij`-Nw*{4tb?moSe5pz59g9acX0?a9H8n2oMU=}B=a^)n?t+~#GjzmC7 zNsFy!DBQup+YL%PHdwNN1dW)(;bSFbACK zdFHf}5+OTyGt&_cjmZQ`djqg@c%}H-g~6dk!nv6G)@bqNTV#xf&+-X#fPLIFuBzh{ z?DBb*8z$V>4+HUNZVcFS^i|F@eP6EPLI>tFwf`m!BXD#RgC>A?pWaE7r8DWEw1Q}M z2B4}ToD0bQLfnyhME8>G?iKD0WvhSc+~1h#x*ccu1WJ%ctIk+$D!#9@C~NFSc|{T$ zp(SkRNgHJ=D297uR2>!u%dY@wII-;fSyKqLYAAM|%03w{vyLW@*Z3Vm(z*Y}`rJQ{ zZzH`CbtRTr^@H7~fm42k7^Tt^c2=8;`_1P>aJ8%_zGDXVP4p ziNmyfW&og#{7~k6M8tu+R@KtvBRU1lrV^|^=*{vve3`rM`W2Uaw#Ij&%6a~S_g@~^ z_#cE|@F$^-faw>uCg=0Kk_njcxgg3&Dk<{7pu(mnQ;J(8YuoVcgG#gHKlSY{4 zK|R)znt9aDM{Yy!;E8g?fHpz)>0QvKuHaM2DRYFPS1@=vl*$3$^B7chY!P{6*CB1) z1gOYoLRMv#G|Mm?-0R{~GJ{fS;GPsSq&>Z&r?WtbN!_YrJIP z{bh@Xqaaf3?G1)6(lkXR;ugMljBBd~n=vwi3CP%Is? zeYjSR!ZqwKo1zwZHO4>Wj_p|2ZmrCUOmp>?pCa|-AumAtR#x9NueZP@l_BN7wCewf zq`~Z+=hAw+9E7PbA@- z51bd9CFott3Xkt^OGa5{6bV_Wt_*(FRll4-X8u~R7XiS$G5`4ovOe@hM^>@SU}Io} zIhrmnr20cfmZ^99MSm$&ZU&EUCn~?cm=Yvi%pO3ZzO|aGoj10UNZ) zxUDKELw?(?gy(Z!<;#pEZ|{_xzStAnU(XvPX-XjRYLTe2fp9oxhrYNoS!iH&vTnS? zWxx)3_hBh)+PU%h`FFe_oUK*-AS5ZmTY;u<-BdyZR|K}^GH&LjfLX4ETih}6=eLND zPVP|`qJ=-p3kn4(p=(GD4B=x~!$wC8V`Hu--euqqgR|X4Ro^&qKjAI@Y&b;1{7qj| zIT^UhC7HwIW8_KV{`I5fwsE5BVZUJ_dbBe| zWW<=updx<>N}pb71#jn`crTdzvESYYL2`biy7v4Xh_|{%ZshjfdbA`n;hyu8F@F{b z-jB&#&g#u@%U8o8=|}+4PtTKZkiBbq_+En9(J1rfldH=YL-`4m>UM?==9{S;%OZZm zI8|Nb5ovrBH2Z(J%3&z*aD#Z_{b8%1N1(gkrQ$B~!2A=eitpsUXp)9-E)fxt-eS6d z#zAoTdg3nzlUwsBO_hsZ*1@i>OuPX^7@l9bD8ZV+8pp2NZLI5AXv+}xy)D*eyn-WV z2KmMhOxZR73T2y}wTD#}L_;!79q)pt00V8$zXuyUW>cp7qLu%s@9326wvNCyeykUT z+W8~pLvk=i^Pt4(kCZ|GOH<_(;h~zzdS7pqNwgWjhJUoL-8)mg>y1*Iy2wa-sB}9P zGLF$wNsV$FZP@5XIOi!?+5N!0-za1aUC6q6^T(~@Kvv5c#eqhYVzjH(=1Cx{?t=V7 zAG(8HE4E^#B*Ctl!iJo`O4M-QLF@}1U0oJCcyjg+A&<2xf>eFr5+%cPXHk8MdroO5 zo-NcK@gQ>bypr8()pCJ~|Eb#jmpEypP>nQpJTnB2vtEOr=!yUxTUJIm5hOx9`+OtF zth_`^)ZeDk%zK_ma604_R<|RA7Em8g@>};an!j#F4i$t9X6W=4cjG2WfJU15GVJ2i zJ(1Ea+=r~w07-owfmCZvS(6Y_p8Wx5$AiteHFtqumg#Ax*$pG-JA!paai$SvV+Ryw zD~E=YXXBVtqZRf^U*=*BI$LP{SG)e=(tUx)=6PYIc%X=e1$xzlK;eLyKtqUP+Oa!X zNboNmL{UK`voMpRb9TI+9xw>}1dE19;k+Wsp4*DC@c@M-hKGkgC&H6py$E}W;(Zux zjOfPjoi659NBt)il@^rce;RJ7`$6&dA$XUZj1VNn#unntU&7-OQ zr`C|l+7ww?SR{DuEN?)N$G{11)cWjZhlr0A;a+5Ryw-E}+Q@7c5=V}{t#09!d=1)5 z0sE*eIQ!Z!MFF8Ca){<3zbNbnx%*?xItEnA7!|;M@n$H7UWg=XGdCD3fD`H+%Az4+*=#CfV2HaCsQ7!R1~`1Yfe_wlgHQ%=&QLI~imIi5azxH9g0 z1tkx0lTk;AHZW%&CUVO4%AUTjEBr7FPe5QwiqFqI)Zl;ih?7PlsE_stS^sG$O6QfV zehXr6)CPPaMotSQA$|!W^pYpo?cKBfkcMUNcZE)%)ot8__Q9DB#(~(ERa=Y)Ao-& zT6S=(b||Hai86ABd?y=e9E7P=hRH&vHmeVw=!4^}o-UYWpzfi^41==(-h7-KJBxPl zlOOl$c;QE0e}Wzx+GZ%XqG1qFgiav*CCCds81&bc=k7-`PLQH{R7a{HDK%RHb6edL z&MnltZ#>t^M=pro#PF7<&^*1ch+1gAV&Mb7*7gw=hPm>OR}D)-qZ+Tc=&>|U%bHq{5j`SNR6!!$D0Y0H*2`q zOLH;%Buw0M?S3dxT)KmUV8-@DDZ7q+1m$UuduQt|h&+Tm-`2sAlDeMS;h=%STF^xJ z5L>FulQ%2souHMp^$X3~J#_N`6u&DQXx#_Zk+5>(0^0BNz{=ZbY6D(CaiQY-XHU)# zO}YB^AW8w7pMrwb`9?LvdHfPfY2jQ4-{DI&V&ai{0mpvb@j>_v;>rz-u(eUT%x<=T zbpAO&gU9q{)P%K~Dxm=Jt^=+Q8b*xr^&v(vF7eGp38DmKO>?(ddJ*eTZ=+}|P#Hy& z#=S-1EByj@QsS&w0A=c}p|jEz+fPm=v6%OexeBKT+;0_JGK_T}cX$ z{EF*7w|lQ79A>OcMvK@KPb| zt)C=56Jdb+zgLoyj?+L<(hOQ1vjGn*-3&^Dk@Op}Eg zu=Tr8OqY#7C2t0FwMXS}dHHk*Q_pBs!0goy9GNKqG-v`?8}@~5t@{K}>e61mkZFt8 zFi8ND&ym=aY^qaOI9AZ9n*CK&dWy`jdO}pUf1zo#g_#iwXLkY&B$UDg$oMt+v*&z# ze8Dt2?J*n9p_gGF9+W`tt7f5`Q+Ijyt+;^#51zge%lqn9ng=0{KyamEpVUP<^|B*u4j=zBPCSL+E` zyIttu$=;MBFlIaS{OM#n4h$Rh0$H(Gy&u+9gN)t0MaCC?CwO6uBZR|mdC`N?D8kgJ zBoU9o(Q5ZRB$Sw^-HwaDfS&X}^F7)EM50tr(*+h#C3Ex{;dpJn3es8$D3tZAZc1#MTu~ z=0P@Ys?C%DcWC%U9`^I1{hr+;$&Cf8b@RuChP$qf0h^ocHD zd~4JmT5t_iY&a}&*?}7r5?;9Irvb(;=kYM(EgTizzOkScxQ?r2Q96{Xkmh^R@N9O$M)a ze&o=sD-2yYwcM2B3=|Z{ixdOZgXzrS<8!7MZC;rWNaqGZn~6r~HnJ$KV5K;0NYRYxd~t2KK>NgSX@+ z12-<6!?7gU37`5rDFG;D@vnP9!D2s;WHlOjb0Om`nygcAsYT#^o3`$XG8?cR5XWO( zy$dIs0Ej^CQF;~Wm4=p^;N$-NFC^QOv1xr)?)@Pk`S2@jDoZ516~(b?Ht)tsx!gi7 zxBc#$Nq1I0E2-Va^bboo5qG@+)L$Lthf8KW6EbmdZ~zd}4UW?a_1e7F-f$l|2OKoU zcQRje`a%x^&SCRKAb-npS3a^AL-cTTA7T~hH&xsXDX7ZQx~K&{UD(v5+&j-M<<&1h zmSu#L*|&X5K<~hyF!Xrv%6AKtwJ(JA&><8Sq*Y;gz=MK)Dg9r)W_bBviS{p~HLE)i zJ9!2mwUQvv+=4Ly*ar__AJA?`lGLZCL577?O}!gwZdc*0c%Zh(IBJ)^9J<2sNaxFT z>8b*zNc+CVwLn%3=ZDzaO=}Zh1_a%=_u`N>V{?mJy9%(*L^!L*R=|(5Jfi14C2})0 zaAhxnZ5Xdj4;AYKW`KRdr>9Kyuuodf&X=1ZNE0LI?dS?*rFTKtdH&kJ4J*Z*^fWuY zCW@RORT7Db7%mgBjL;8Sb4?xl@U|ikNuO@?bT1_OeEWGZ`uM078hH7!q{thiTjV24 zury5&^{%KZtk;0}@@{1T?l9mx3lyk3{_xZb7Lh|mCR3Ji^zO)m;`=M_Ln7Rk_3x|; zseB=;8Rtp&70c#s3e^X0<5 zRR7KpR;afxY$Z#mSDAk0?B%LV3YS&OiNZ(6k+QJq>?XGX6*WO+J-}|P#vquqTET`1 z_`Um{b>Wf#SnEZ;M$!PB%~85%$b|@f(Ne%B{%QFS5l(W{xsEIrBB+&J>U)vcmBj=b zg(STP#Tx>kXY_FDg;FGCh05^^3ZXjk_A^8xF7s0zUb439GnPwr+^$PJtO34Utd@}JI8G?ZnhtUBl{OQHH>Hh)uy+X zh}1`(P7BxptAuXp8iLArNe*C{MYE~ufgn9za>(yS`unSi#!lb}Eqzbr7y_tpJsvaX zWg}^TM2>j@;CQ>$iKz?o^Jw=9E!gM>S(jjG%-am-TSG9jC<0-$J{Zgy%eY2OzQ6Y# zN;7-pzBp5kl$KWG8X8dD7vN1{EE#rZnFT@k9$kU?FFt5t5dz8z86*bQLJ|2H=*=q& zBNao6{f`t1TYxkEi;`G!3yoUO2V4bSJX}U1j}yGw&vh~8$hQahi^(YI!m! z!RNa8HI*l`QA;?3?PVOYEHIWPtZZOqP9DKHNUb#-X1&rNHMrc$&RXo(lIm`7Hhi1-QsB@5S!iT)#>K-k&m@Q~&G_PDt zGsXn+A^!QMl8cfLg2Vesku3=|Zk9%QIMEWaqh74@%_&T2uo~pTIZ)Apr21+TVt~YU zXH`)Dl_}$GfNq_6aaMYN5zTXSY!Sn_%))h0ryf`UJLJ$hpXY(r5#0z*{0JSw|YFP z0ZHU%>Q z4m7&rVRgjp3k(*u3vgbz>YdYTWdnTxOPFY)w{C~um5|SV-LjKFqP@>}i@N40>4WRE zU|put`P_EMvrSz-x0oeXs@#mhPYR-rDnfH85-x0sZLLjol$g5p-$|U<;Piko01wx8 z0JBDLg#R`q<2qkV=bR4^y19|A@j7bbqYs;fl01Oqw@oYQ$D*AmH5HLwMzgE z3sP1LXg!6*j;YY>gjiW{*O)E}a<7snr{X&aiBL=Joj@(EtWl5zIVpgc^QfimUsfUy z*i1zpl$cQ=|9xdne11s2*L=J|i^vK$YvR>Y3&q>x-f|;r&*7PQtTj@3DKu3iSpytw zo(br&a|(!vFC@Em0&&_7C=`KpG`9j4a|lP|D=sW1%J-TCW&63q8)}?{vPk>u@=#tE zHvj-)agoF4I}?qLD+yAKZEcr%!B$^NYoS@nD=k$ELUp2DgHMo+bm>6wYcQ zR;|4Y=E|gr@|jF466!xyPDi5UOYN&i*K7u}-}4JBw*S*`QW(4>!550YRbiHa^}n7Z zR>e%Oaem=Vm6pb~{`-anLWU-HEGFH6I-yl)IGPb{KKZue2b}?1CNFwo)##Mzo8RAE zXer9nbuy>=^n=DxZ}Ri$S4eG)e)8jWCci#LU;iCyh+LcfCLj=%sepBV||8+^cT8uBDLQAdW0B>t4IBPtmLRClvV zk_Xk4NwX<|bx;Q|&BDX-WZR;;;fZJC_LgA9T7lvk+Z4qpR@8oWESf}8_iS>fOtZHZ zlGpR5I|l2ZRW76+#^Z@mDw|}gxjv7o-E!&*l~|PtaWV`|ZGdiGVfcVTGx3WeRZU_} zPB;SR^T!!I(`%hsuiG4?&_fe zY_UY7mo4)UfetX9$R0IAyu0hZthHWkS6Oe$T;mr?4AU4$^Rx&0yhdgVH(C*RGzwK=m65=<67R(cy!PSLfAGCNU9@4ZEYHL zdOQ8DDE9`M9xA~B)VjhqclIzjOqrS*H*-G;iOY}h&?xiw*`>N%k3KiD-yNKN0JL7n z{^aObV|d64vp;aQr)gLl!_cEgQX=WgxW6GLi)7f}O?Y<_($DjUVst{@uUX^vpSndk z=GI;xvN8E_Ze?O?VrabV&aLYF1c3R^@KzZZTF;F{zdfbEJ-@1j@)sSFR}TvAxwyF0 zLK}P6tEB!APk)lTz z1u)~E?(Rdqlqi$V(*@nAm4%6V-y_H=aAe@j?C%x-h2ViJi9_FT14(3`SD;Q0ppd~> z((ld^BnN@Y;t_*#n;$Yy!oof=VaQ9DdhC~?VYyq8gq;34JW@oam3uefAJB<1x|l*j zBNGhgd`48ZFM7Tw)ltx4V$tH60Qg1!m-lxaDp^~K#eGEKmuhnv*Zwpv0vxa_9_zoy z!PXSMRR+9_=r9YP_P@w&JmKKu8$hsb<0%Atu7G0ALNTXO3z{O>)I=oYkbTN$!p=ZL z$7}Zxs_xEo**8HnQAiICXnPkgB7JQPNz@jrE!)%fu}wTQ2+bq^k_!2k%zcMSIT>nJ zSu&D*clik5FR!k<)XOaLAr(t0c!he`K{1Yo@C!TdVmR_((NBHR|CNUU&uu1azld^J{*?LzzNy_iR^4&n!S6ISBbDa%+&Ukb zxzH4FYggM0tf4b$&#A@;X;YL&I%?~@a~L2K3FdhI6ttrnVHc3+ox%{!ZXATKS2w~5 zJxL@pr$hR97*Jwb?#UZ%ImZprsv`Y(3eEK5-g&G(I#^|_P^a|(*wtkW3l>s6OXZ1{ z$mnRZtfm-%WyZ$*;0NgNp-0LOyQ+AE3Ju&8K&^;8nSq43>K$eqlKo|5=si5v z(*#W5&C!kXVpf9TVs)}3&^+lO9-m*#8h6yn1`bP0grG5sG#P&E>>#_z$ss6>4oefx zncb2yUS8gx;tvLq?ewYf7oKbMc>$%#=?h% z2YIdfS4+1F9u+r%PDrP5kw&J1+&oeyM>_bT`7fn0F-9T#hyp9{Df0CPgBJNRM;{zp zx5I9K)3Jiw6F9jMIC>dZ-1&Gx=3N16RWqkj^1gL^`EIq+4o`zR&CaowLp#cdfh5KX=yJ3-{iN%zWQ?o=-g) zYW2E$h(Q8Ni=3_`qlMjy1~LR@XnefzzDE=Q9{6@M^M1llVRJd%a*F+(I_0bbKLJC# ziH3lCw_4WLr!C{LB)=2a#9@!fys?YNBarjoHU@s5NEtEmA&}jOS0Ka%1wDQUUDRxj z=b8xm?T3NLWUfuY!f+}hXz_?;M!z!Qmcz574__*^Iz;#pDE47&s(Hdyw78BypUnjd z>Ea&H*_y#>Kim1YWn&1!GiFqsn1j+(#-h*3$?1|O9t6gr{dqxd=+9B-vP{9|qRB_7 z8v{O_K129v2KV;g>nUtS8o)a_c#5(XeNq6hk|Z16(K9`i3f-qE7@Dv-bMbf4AM`L> zhw3~kEzY?Ck=$4F;@!6D{Z$zcQv(nFTJ5 z2f2OkEEIIg!5OC3)sW2)}mFoLKb zcF|XE%fa5Y`97{$oXtX``$|0{CeCjWmQv-wR8youT}shKe)ikrf%nPhT~a3YVICeT z=TiZoP6d(Frq@#z94*vDkpS}Ijy^#rM#u+uThw^%+y2;b1s!85fEg}@O|V1zjAj#K zivcbT>o9@iL5UVpSZ<-d1`lm|0;?s!RJqQRAR#1acg2L%%qeS@*3H>K;@6LcO#!@_Ur8Duz#t-e%wn(f|4 zR)imiC;=px&nsl-=EXjYefIeX(TP1%c5V@vRzAcGHGfh`pvXm99+`G6e`tmCx4lhf`};fxN`tZ zqkDlUWm9Men*Ef&DcmN+c^#Q;O^zH>`;|f+_BQdND*5H~qwTS5UDj%5b`T5~g*H6c zqWZEJ-sLAmhRAMhCCYt3%G*QVGt}^>t>fLK)=mR! zm7fFWn6q-iPpEQz&sVoE7{`FprUnllg4(d#rtbBn;J<7JlZ*vJ4Mqt}f%Djb+ZT#S zkM;{&+lu6H-o>cWVn|*=zmi=x%d*5v_froj$xEJPaLq@-BN9p;X9<=POx149LXuVY zoiTd*qT7;@>?ef&=zr%VPOgi4@-65Qr`xZL;4In5yG_{O^veP*eWB;I(APNFC&M;t zQC6Tlslu@t{DTBq@#O|J*! z63iUykc9H`pH#JsbOVz0GgmmM?xLfUGNqPvsE5a}OZW#cl~rPmD|~icT4`QUjBw?? zRJDJ_nL<9sdB=-s?kq%z_Aj4YWHzMGxJH5 zM{p4^pXDfR*1HmCTAA)jZ9i#PQPyYxQPVUgl`=+INep+_Wn<9-B>^5hfyS@X)xl?B zB%3R9?*RRcV)y+$-ZOGF@vkpBeF{^PDR`P}ez(&}WJ%*ok~fK2KGcy>&C%8eokz@e)!O6&Gy|1FEK)fIhtfzw zyWg(D`Q8^F^exr=Gf;Q~6R(WxKOh<=&>FN;p{t?X9O9@9If)HUU&EJpGB;CdpQoc` zeVcsMlR1{7eDoEK%+3L31|oRJ(3*EgkjRwmx*Lz30g6J2lI&Qn3L)-sUc4J zs2QxP8@kRPs2TWmv!`kgiv-v(z~Fo^b83$UZ#yU%jbxi;?s;CuuxXzSCp|*`%N3-U zx}Q?Gb@d3ZcC>B>nGo=UtvnJ{kaJ_<6zyf(Uu7#wg;}IrQ@S1@%%KjOVw-yN;2rV{ z%uE`+WhyR5vDKT*Bs0W-!sZNz5K`?u{dY1)*0)AQnI((&H>&n|+S{Jey8f==tu6u; zL%C4F@h%#fvBOqgOPt-bm}Dd$T^i4G%cu)|S}pYKr^tYT*~)l*QE6!g+ZzAqn$}!- zmc$}(D>P`~(e9gHXo%?WfBf9xPZ!N&09uL8Mn*>8)ym<T4B}Vs&X?pjMEX9w5G7|>b+8+ya^=ibF!<0l9!DJfP zw^eYQGNSCK7sWkNG4e8#-BNu`>2K5v#^WR5KOD&)X(pyljEeGOUTG&NGrC>jNpu*< zV;!YP!&&p?Dm|w3i@IZDBvmahdgYxC;hP$N2AiNTW=w1%fW<{ z?KQ+>zY@um>D~T3Mk4ya$SvA%t(2yFUs0dIEP0olzcHCw6zM1SFP*d3$V@k9PLY{2 zKM7Tq;x*=}fa?Y_1p&$(et5!%gZt0e4=0d-*OTR)iiXczDYe1@5{w|_OJ(Mt7R5tG z2d|MkPfszY#XQ+wpLUB~v$>|4ZO#%S9HFW`%6RHWk2LlX%gvAuXIzi#VDqQ*(tqYH z7ViWZ*>&O`hN%wzyGEXn>uxFzzRJmjQ;$+^3xs+Lm4!4f8hC0)3}kxjd_tVA_6rB3 z?mtal$cH*^5*B!|U}D#m8v-0Dr)6|#*Zov(vaVlKZL7zcp&de5hRnn?Xm=#i8< zi71llb$M3Pk%yG1w+Knjx8JIpYS{EW6VV~8>+X&>F=mDe1&_aa&4&LsT8DHU75pmK zUtRDgYd4U=O0&QHss#wnIW}b_dBHbpB@o5X>t~A%Vm%{~qS)|onQWNyyvkxOi;Ijf}dGhP{~I7ggB@qz};Tvw3Z?n+&wEd0b1`n36e^6xps=bN!sh3Yp!H z_j2bXN7Tb>&$jU7-b@!b9rCqQtoI+fJXH zz8!jvYQgyG9(H%VN6-6E>Sq@@Q}vx1d(R#3Kf`k4w?qh^x^6aBHP7JaKoupP zO(rP3GyX~8V&-^@yqsFEfq4GDPgQ-XmmIm=rd4OIm(j_P{1$%J5o@*6cwIg3P^%|P z=x7WsxSv9IW!FH%qIBz?SoF%p;WdG%{6|pNkJ@s$e4{q*4Q6uakhN9HN(iaSwW}b2 z4C6W#U-s(QYxvmGVwTTdPq&Y-Mc>3KWTgUVSsvSSYC41Po13! zT$G(6p$imr#xK$yo@kg=P&d^ zFWr9?QNC0;P%cl+4RmS#fm1rPv4g4}wd)jRlTlC2&xU%@Hl!}A{?0&pL0l^=js|`e z{W0j5c%f7_k=qKCxZCo}RbteWxj2Bf`HzmO-GzIM+p zp(w;DRU}+y5w1W?e%Bkl12=>TMV#ARe2vPc2}VCuXA;1RwhH=Kc(9|B#nnN_&%? zqSjpD$If$98yXuA9JInT9T!|vqItGV#u8GRRL43d8=$Q5mQ$-M{!nkxiqU#hu?$xw?+^{9o4#3VjRB!HBf&D?it*;?UH7?u~Sf<`VvKnq3dnex*NudN1}_!{m{hJ*+LalXm^IePZ*n z3j{3zrsBQXGev2tvx%qdRF=@@Zh^igS|`;b$T@t*E=2JBo?zS31!G5In9-1Gpqi)Z zLOg4F%0?=QisMWIsrszxdhI#AUb$Nz-Ldyg4+(GV?RY*Bl%Rg$?4Nf|{b4WAHE)*g zdvX&_5O|-Y$?0<2@FaGX+>B8X_VoI*P4i(~&3zyGQ76&V&lhg<%be<7%S&`u*^+!2 z{P=&69#UTy9$d4ZU0NFp5RNiTBq9r6R1==z1JtgiCYq?Oq*o;`L09#r5CWtQ^UcNYQ~ z&#Y%!hxn+4Kq8Knk+AxeWLYJdE_&I>rztSXZj@=_VBm`BDtm8o!O-W9fYAO5kmR}O z?Batr%|Smy@W^-Ex z->UZ92-z-3RD7IyN-JeE&OWGceEuQDI9o6Cf=@9NQU9M~+vLD(yha#zFdN3uO>G@0kFDJSwlPmbJ9J<`hHr*PgvZOB0^3PZD zN9R03(zpa>X|93L+Mal-3PS8$2x$P%SVZ4L@Yu|QmNfkzfGKp?^9p^XM|A{3*-}At zMlADE88!C)7c%4rBNvYRs2u*YK42(BXGl$w)6mcutb6^J1%9~k7ysdt&nA6<=x9Tv z+!d)nyC-bThv*IY5{pBBc?^DlMakfObO4F{hr49<76{`=k~tSvd7pMS>1xWpMP%z7 zz&QE&>f7702Xc`xqCbYpnvlfZ_@?9ix?;p%FeoI%sDK7M^^qKp?AVc94u-hX#!W!zd$Y~>SMIsBqh?ZygiPE;ohe)I-qE2fTu7O5nWp5J*#h&Ox z#lRz6DkQ>>gIDOg1s2Blk^j+DE-)rn#z6l|Y^aDqV^E=us9bjIVY7faGTdZzwt*cUZNk*4HSm09^dYn8uWc2{Wd?T(lUnkbVWPxH=HuIj6yR@K@N~=)yxsc5y%Eb;?mN)y+ z-sw2hyh9nY1qGRf!rg^}^pP~qaVqXIm{DhN7VLF$jet#jk>@O(NsXSbTn6)>$qNR= z=bt;5pz=)Cg1sZOyT01Kk4{W;sQH z<(FVOQ26d}RYhN>m4?emu5#%+>il#aM=>-zRG7{+92i#POW}GWKgz&J`kxJUdUomn zP>K9&h4-6V1ii!6)tMgE>~Q~1E6H)Bdlqm}u>Yy$$E-A1Fn!fuf%`Cj^~OtLuR6r0 zfjOJG($Jof%q0e2T~tAf~JsS+~O z!3R;~gfSU1KJ8N(-4Hz6nHGSHMT8YVJduD%RBJ!4rJ5}4(WN+IIU|UsXH9~Tn9Ii( zYSMxa!VUa$32VQh$Z{<1fs~&(Z#YJoZjj4RQALn@ak5Z`sPqlPCZWFdUJ84UzwO;P z!aB*y_f!}$MIcMwB|WG*+8W7i8axBht~czgMd{wj)|`GPOV+#BA&9kOW_b4H7+(Zz z>OmwpMqH40r6Q(T7b0m~b|KSnSvL)IQ>4 zBku0oJ5mKgLc43K<%*d-f@^K}<)54A%<>>V^GGy>S5q`!Yc?w;6Z|r4t5Ey&b8>uq z`tFgIkmcDb-y~4^+3r8q6 zsUC7dDodm50a={xR*N`!wk~e{2k~yg6#iw-r|J-|2P`$V@voWE2SFgXUHZq=uYuEb zB2?2{BdkCC>Sc6{zG|stKAhrC?uH1YcNZz z9N{HRZX_-%iow2}*6&w-CfP;7SP>sW9JT$FEf}% z?|;kmJGnZ9NTzNEWfAs0lRg8ofgH1r0hnzP9N~veuV;&RcMlw4j8QTPU@o3VAyvGx zwV3Z>OWTknc%1ot=Qcke-WI739et9$PVRZUjmp|s7~o6(N0s0U=;4#Zb#SK-3}=vw zFndg;bIW-i!yLOwSnCL6fQes%=ATyJb1uThk<0kV+@iWlF%ssx8keZkQ>&9hz6Lr# z{tUZBkqA;_OS(B50!ZpB5<(g;cM?DJ?14sIMy(QmYi1jHa9<4$!%dVPK6+w>zrj(B z7o6#*7)}vm707o@-CXgz`F5R_E}8Y91lErH;wruM5^yX zdlUlL{W%Q=OS)_y(k*?}aZMfPXEww7*_TbgjvhSJQg zhn~7ZUTs26UV%54p=O(nOsRhP@ZNM$BGdQO4ZI2mK{NE~EP?gzB(#02UZT#e4=aiH zA@%7=L-9w+xGf4Xv^e@WdaV(XOY$ZZv)m?F$O z**>L)FqN4UuL~D8K>aq)-!Ye|Tx_XH3=}3&kJ(TQwxeryrdn5GWn2BOSR;Kd!kUYU z#p8lPF*8R>9VH(}%KAsPo7g>5-26NFePI{5NRud>VoEN5U-nAVv;MsaSogp(k%)HC zTg1|_`0d@AlRGTmc7VhqDWPjJw)TXaIBQtr@wC%yKDL(?$UcrXM^PyqJ|TxUROBi% z9g)eO#Iq^&{Ln6C*qbsrdkb?-Z8GKO8+UE-X2;ZB?$Dbvc5f4d(?Ochcqo-JgeCn% z2q~@e(&)r9XT64Q<)W~pSDpMpc-{M8_*4!uP$H2&K(oGldi}UcV0Cj@>d|vp46|b* z8-x4Vi0;t5?vVO*h#VLwIurF+KGGEN8#khD4OD-AkJnO*K!V2SOkdIya0Zy1wY`Gl zITb51(S51p>J_)1Umn?9o4sCo843V!;^a=0Sm;?1iK+Y&@Em6m^O#Bg5P_L7gsRyudfO6uNj zt^e6r?kf6ln{03P#~Hljdzp_R$B1w@_ZYD-|M_sJ*BOV66~8~B#qM~yAz1mRh+sJ7 zN!2#Rnh>w3^h^Q8rFAIsi$!Te1L{FFdcQkV=0qqVsp&&vN!ZzkmZIC=$hEs6yu)zh zL9yxJY(AwfX&M|{-s~hQ|GjLm*B9PN4J6(5To^f&6nja<^NPhrZ9O~N8<~wY+>f${ zd4@jCl&anFoaCWFlT${GY|(kPxeivzT0(H?1EYIbjqiQ~CE7nl`ecJ- zLbPW(0IPqfuiw!8Db4x@Ph9s{7oTJ#2ZrZ`eQUcYfmCw#k{yhccP86|o2o#VDu&4~ z%4SYvP*67{DCwt95_KoQMJgIf$$po3_BC!MOZoEm&4`(iXM1>+xXG|5O|{%zV&jZR zuJ-ae8q{#O&@BnFWf{D~W{O^WT^t+X)95tEo-8%LTF29=@w1lszaICZd;s%$@o7xy z=hA^egTxfJJW!TJ!44e=c?ER!%YSy)gv#yaj9#d3vCq0pPTR?HPCBAK_J-KqgW`!T zYS0jQDGv%Mw0P#wJ}`{OlVe#U=v)10NqjMwvmqZpxCumAG_A)m`~RjUcIioBwKj$v z;(N?1(x=2&0y;{%iX}bSLrBUdo^&o4~H*WXf{Mg^tl zF{*XNyiZ)(QFLMfP$)>LgDfiY*m^lxF((2CWKxk{3ihQL=uiSGIYE(dY^s5_XAk=43vs z8AWNRx@v_x9<-%_-w%!QY6Skmd>FT(1O5JnrOJH^O(9LnP~8l3)jrdP)4u=njjhl3 zby^yezszumYPg_tvj7n&z^}jh$IUlUKWsSd0_WyS5|ZmG(qf`&Mv7f*uUy6;7^C0- zJKuH58X3N~iC$`M4dx-g{O%0@yLRa`7fQ{_DXgJZ>-<9tXaqU-e&{!YC#NE|kp4^5 z9EP)6JiC{lg{PF+#c^L5czNVZMaRcPph`rU*YBvPnm0et=y=XNoftU)S$S4m>T9Yg zx)%bxs1qyI+JPu?>0op1-|tkUYnl^7GXow>uc{qSzj)7CvESX6;Lly;#pyx3?zr;( zNNN1nRZOe?qCZKpSx z2zsSZiU4y$KZVQ)xM5bIdI@p>J)`5f-RuG7vR?lna`f4M7NKMX`iqokikl<1jl}3xy3g>YA57K`J)Bk8teEb@OI50L00*0;12;Q6|(H5 zUv+yNeL0O=Xv_Tzg?6{U!TKuHk$}*kl?57lXa=3&lxQi=f`pG6A>+?4k6bF2+>Z0j zhbd~h8{dF2UxD=9IIDRi^W5G0Q@T+KDBK(O7r5o@9}G>@4$c>a+Ob~h znk8zUiU+OVHb+4Fn1PgxbST817vEA2TMAJ#kc zQK++_sXafo_K)#P)$6`tNqbTXj~lzQ%*$Fw-aOn+Wx>*bFLD#=!v*6H8yOv}3+1m` zrP7Y_g*JdA^4fD~r}Azzc5P8uDO~iqkdjFsB$R_1hXFoa!1osfQ_Ks0_bkAa?XMEQ zkZ62KGCoMJUFv&T6_aq;MSy!2V^{_p%0>MOuH%aV+hfWu5aLqXoL5qg`o= z@%Qu)8#J615meHu9snT*g>&kW>J7oF0lb8LseIXtt11TNzkFHcF0&?0tF^t5V(i!d znlf|1yIEy4C;w3Jv4LAE2L^5h(+zOI*XJ{;O81*9)k*C?A7T9ZlPd7=z;losS&S5e z0wS#|?A%+&L)1`o!Yla{wh+G&6rFnvZw!6H}W`I zinxFL&ex`R;gPVPGsfVTk%!tGW{VkWha=n$)H>WpMpQDEVRP)FIG_n@I0D2Yf_+O8`GKAv4cE_E- zt^cg8|Ha;6s6qZHq{aflso?Yn5*G_#P!J;pSp*@4KFI};m6s2m>U`J)39m^*zC$cV zGhAW4uYxGMvvrjFsc-?L0>qpOm<@_sNCh{*B#gB_=IkiqlLh_^7=1B}5Qj-A zR7E{#$l=sTg+u`(m>FmU$~@5%$KEu+la+(#IqxP8`0jiw1k`lwz;n(Ly*lXj8{FV> zAjp%0-Lv5K1yoH+<0I2hzzr_m%ME}Lc;C( z=Xb*E!<4gV5$s68U8#zJ|2NC zI}~9AMP>xZclw(&=%)99^qd43!oTyoCpZV)_d4Osxt6i;V4$27uL2rrgspA!IRlqE znU&v?_k*iHK!MRv?!b`*@XSualI4Pj&kL|^;Y>W_ToxJ6A(NVA<>n;%A>VTD#<}k~ zaaoT`b<+m>%G@hZO{Z&M%`W+Tah|DG*OPfcYIcby@F-)&c+}JETS&h@P$-j0263{D zs-dx@SIKvE2mqQQM^6)LPKC<&n4L&YLdc%RoWAbB2582f9Q*{}us@3L7~{08R_s#* z__(l!8S{uDNu&#)zNf{H=(ca@RSqs1AEoB}I_wUmMzW5nUStKl637lPaPD>jCsrhA zplHS!?0tMX)Hln$4axD4xe|moOcPh6$Ys9t_;|tWvq%uTkO|Tzh^Y-H>$omRPMcRG zRSNd!D9w35QITgK^h|Bb7DP?akZgDB35hzRRcL8Oa24|PfwbIdgE`#}*wSb)Q*l`| zeh55I3Ha|U6uBHzaW0m*aRXo(U*>+l%GI`N=y|F=y74JkqC+?x45^**~_t zkX*?h7!T9`7BmwViXpIoSeCbk1Vc!f7VS-XwG2UHMO4-3l-rgDk!2%M0c4Ij3wI_+ zb42o#PcS2Sc;&V&r>1*msB|qGPD%o{3eSk^>bpAt!gjKAh_Bi(c2TXZW_ zQ`ZzMSz|-ld4aGng1=2kJ!Da&lBcBfQMk^;kz!usb@AZUL=b#NB5+!xNdQ8st`7lm zcGW~lhHPW&HIh&Dnu>XfZGifBrOjGx zNYdjB8*@94!Dn7GEs_pMpuOY@oGR#&Kkh6g62u+-=0d2heIM4|Sefj88Jl)V+i(@+ zeQe()yDw!3_xi?hXEpzfL&=E)T}qlTD58z)`LC}YlH`j)v$8trpdZ@H3g2wzIdpu{T!>DNj1`yYM_?C)^g>bjKqL7_|Cw+6Q!I7s#eod z7O*=U5$hbk2sJ$Mrxck`#(T2h8tCQBsk`8m)Q_GmYeYQ8QasE(+a-WdP4om6Q=r0O z6e&k^2KW5R(2`|m(ebM+*z6Xt+QwKnF!M&ta!P{Wz6l~mERNru=P0ilRiGuQPlmH( z*#4rzfd{c9od#V37o=<{&a!!pMj2E)>%$uB+F5j{i+npoS%-p1PguS> zO8rDO-kCUW>MjIPZA1~N<~FJd($k@w>UKY~?MWIUwh-+DMlOBD(*n>+6ZNIGX+R@? z)H&TFr7D*_a8_mw>0uWrGJ{3jUBs_BM}2&_%ch>k@A~K2qsIwnDrPfNbv>fqVBYXG zCuc8o$7_9D=(nhYfmFHgRZ3(?<>fwDpyR%n>%eRJ?U^Ne{&i~h_jMI@B0ssWrJMOu zB)NBOC1I|fITyhXfW;BHOQr(wbrM1mzdMx6e6YQIN#*2OsjI+2l$1hWFmH|@RqIDH zt2zOGhPV1s_2)it7i`aJ)7>ZB_g3QrNkrgkofo4TMWX|Z@+BCM&+4A>0uGwgCKLdf zGXg9hZ{WiSWGB6NC6$6R)#IOpH;&1iOv14TNQ2)MJ+c^JfiT-z_`$7^92r7IOi#FW zNo_#eU8JR!eThHtyDdYGoH}+N|6vizQF%CjEbwpgNMTS2<=V*u0eMp711B_6r5z8h zA=P`FSeuVdvq@^l9DoNlzeqflHS``2EELJ z|Jri=FFF{H5Njwcqd=xb=^P2;*L}j>n|XSAu_$ZlpP83u6gXhqqrO}i-Q33c#@z6) z$M^>I%K#&{UmDgKH?Xm>Stx6_53>{kefjqA2*3d%;ipC*zd0p~;x1&v*nH~q40bOX z+#&vgizbZv){~cTY1qi22??${;NzT!zqp8x(om}C;0!1<`Zp>e`9LIW89=Mvb(owQ z5#e_u2(!5daY&}n$E%H7>N3jTN%(pS^eU_4r#?qdNNQEGkg$$ zeKQ$h;P2z82ZfwWg*N6E5+<9$_#qW_{t8LSNJT_lBgSWJtBjm;`lnDNE#M(W0D!m@ z>dZHD0(7FH|16dJ+pDid5O=n{DY*ia?a-l*mV|W;phN;+qIOb61*m3odvViD^~^9r za-OYYz@o?oU?sOuvLgOL?vu7J(vHv_^v^A+nX+ApYZPC(J(rc=gd~Pg+!`TW+1fJ_ zl3EdFdJ=|@vB;_Ep>gdYXvC8dp|=og4e4N!P~eLHa5shaXVU-fA_t^?bHIM*hDwwR zL5Yatt(;=bG(aZIx()z8jM0&41K#p;4-(&lYpO+HRjv~_w0wx#ivCMa*(5WdIA`cf zxj@lVvNfUlNkT{B`BWqv9XXd?fi8c^w@Tt0EpiWgRoU(Sk90S|3F1N|-)k0__Q=bjZO*yxOsgtm&H|k!(i% zb+Ixb9!{6uM=gk~G0w2i+jWK>__TWbmHid>?FGI^mMIfx z#&zzfTL)&j$)yR(V)H81y#>{9&?A&oPwwP4KqAA)Ydq z`c9dN*4F%I`lKGXYNoERk3kiYyMegya(TjHHjp5l1Q&;G>N&zRfhvTG^2WaL3dn@| zmuK%zw~~V`D)rcR``NB~%aQ(;bsYIfrEli##vcYMR9)^pxmMKi|&A&^w#M)O@tED_Eq4GSAgcvTVM|u z$=nUpW9(HzZ&U$WX51y49lBl$r$v<71{;8GITzM!1C-%9-^bkH=BWU$oNK@WRI9^q z83pzvh`tD{yZNwyDF0?RptsXTJ6Iy)PM}T!TCQ4kURf)uCpEz1Q6W79Wk&@HDgl_ zqJ9{wx8PdN?2W-Y)k%5*;*7T=LxK5(ZDq{4RKriw%6%`oW0SFaQyw z-&X()j13P8QXaRc)v<&puyUM#I^oTd=*C|kz!q2{D6}=9;&!i`nz3RgVJJnwRkESJ z3>g!@$uXcWe@&6H!<(vif#lW|c;vwwh{L*=HTP4sc>5sts3;Ac-^>P5)?6Hi@v1#S z`}nlDhNp05e1E!7wZBKq1?zP(ZWy}f)o=cEa~Q+V2U!pxSR4=amJ>`VE2xQtaYW2H zFigbWe6%JOnFfR^L4oK5UK(-a>{~(kem8$V10Z3^PCo-Omz-dRNUcW;* zLDW!R4#<-Q11sPl2~o$t+m%9}u~1S-=L-D_@5!_}VW`51xkwsi&|`tZ9D0Vt$Jkr) zKtuTs)M`ae;D;zWR$}5ro>ju&z1U;C4xz>qkTB%vSqz8mB$SRfmVzWN)^EeUoS$R< zp0d3NqKd^oSzZwr=<}_^T`rinZF>tI9m&y4zXLhHFh%76YpVRU@M=;ij2LO(4 z1a6fXjL6%E8<=JH>*QI?Kk*_UJ;|KsOh_lWNWI)3MI?6#X3VXNXEQ?Z4Jt6C>Z{d6!+(3cp(sIxB=`7t^`3r6A&L1%7_a9`Zi(zfNPsz|Z218Zmhb95fII%h02tiXb z*cLHPlQssIeZbF%EF9|%tT`_QGz$gVd3~8X`+I&G_5MV=7 zjw_KXcs4puWmu2SH0Y42xXKf!7D&vYW+nc&q+apOc;YSmKEfW-Gq!$=uGbtnu)%_Nzw)eIFp0 zOJvoCMC4&}1EfEcz6sE@ijgWt_?!{2C74QoXK{R0E2_q}OVjoIwvy886yOl8s4K;S zIcooKsSZr3u|${Ox% z5|oV$82FiwQUtHAPHAX6^rmg-q1zw$A{Rde6CNz8g!>h`JgO3wo+@{7Da0og$>SKW z92w!=Ex={?6jf$|eo*PVF+;X7%*$4C=U@M%vXqBROuU9YV_kYOf^l7pO(6z{0D9{udErhSq+7TDaM6P=st$nH`fVNg z3M>>@M3q1|S|SO`kQ?J#%to*$na+WsAIC2G06wZ8RT)u+@S z?b#c_?3wBMNu=_l+HGkG+rIsaNqy{t#;OsW3U`|iS#P75 zSsQ@t)R*}P?nI&d+$u!1^X7ri>(fIO{ou(s7QxBf(znu6)kuaP`vJpW1nTWoMd~*yH>Glj zS$z)x2AHbmhElZ%gITulJ{&y9vH*E)5?*qArxPg~b!-9IHqq!IT&2)Ktg+Y`srH%` zxGE{=_MxA+Y;kKjWD`N8yw|ieSkfT{Wp~H+d88D1o5>+rEUgcP z2_@C^X zQwZWI-{`R4fE?EGjLhsj&%;=j>G>+si*P4b9b;g!Nn&VNY*QohN2qKDqCtI!^u$tB z5<7%KKjF0%$+Fp1B_~u4k{vJ5qGDNiu5~7gUzbd?p`--NxD`!DL%*!e_1x6seH)gO zcP;c3VV4M_0KUrO{Z>MJRJg-D~=qfC6)?asYc#;<=o zzF`k!uzA8%YMoOPMMrSmL8Qi8J7QzX((i}Mzh$>R8u*%-Q)$-Y9WQfuz4y1@$6z+r zNPMzNjqpd~@a5EXK^P{n?KZSgr)R$jk6J8LIoU!!l5b0(3QD${=^sQwg&u{zIx7+H zP0F}cX=ZL2ttNtPPZYP0?%L>9?9*xRQ1Os(S5*6zQAI!Mc^VhDB{Y3&QSfQBzZ$t_ zlt2G0({`-NC#$b-PU$j#=q}cMRP}Uc`9XFAP56yRMrdTxQhxi?Lgm5HwavNmkEa{G zm|mz%RPR;ukuV(jXK0+9#KRGGY9qLTLv!%O7cg^aQF9sioTp)KP|cm|KR?KGpQ9v*81cYB>i?i2B)BE&h5FC$W#pcBw8=j|*U z)tp<>Xx-d;g@=B_Djs4F>mA}RB+dynJDyXR6ROy>eGLEa#>i0G6ji}d3xmD-BWt>a zl|xH>L$>cXv<16y#oTw3yCW~mpW`lqD!#A&&|qG{@pXX>7v*Dlg_eb`8;%wSFT_`t zFY?Npom9xTnMEh@_9{>jO&jN%9j8aSd0u?TeySn8yP#sQmDr6FCEu1C&#k*i(O0=M z!o`!=vyoZS+$x)=-CQ}NSG>4Af*O|%4%cm)GY6-aeD>U?S9|2%jmmE)?d}~UIZXy^ zEI7=9k7MtOm5I%YuYtw5w}U3OuO|hP19%cmf{P^)-MI{Bc<_>At@j){vmqb>r_u z0$&-GmE8zI-`&c0@!5I5=hG0@| zt989rM}xC-V;<2Ys7RvbbIxh-RX!9Om3V@Vzsn`7$Q#7}-A45IOO@S`-8!NLbj%de z6CNy7YQzwkuLbgEec9%D3|sS|?a7l{4WE@I;=ZMwR^m~k=P?Uu-tq|%Os-?4k(zi4 zt3>2X+r$L#kY+Zj}_{dp!s#lWd;Z5RKk_32w>;tP&< zs$2oytsUolj3QM=03X0q+y0(%R`KqvauAgC%#mvTNO5LHkfkl{mZTYzUN0_1(Eg(V z-S4Nd;%19kt%_tHA&|vymZTh5zM_ITkO%qwiJVz45L$~Yd-aq26;r}VQwd>Z60w26 zI90Vk(K)RFKQD(1Ip1_*u%cwO8)jk9LKnJ`-W`152?ENjUIxYg(`Vi$ji!{ErCSS zZ;Ra@yQP%_dR*Fz#)b4O^qlqf7WkqzrYMP#FIAcG7jx>)c9qNJWG3K?-hZ}aU9_gN z*tVoASh~RH=Q3%8NI^IU5vfAA5 zJDV0`Ez|bpfD-BK-PB=w5bvr~N~}T&CCCWjx6$Tny$I%XOk9J5X-)&@AZEGQonh% literal 0 HcmV?d00001 diff --git a/chat_template.jinja b/chat_template.jinja new file mode 100644 index 0000000..01be9b3 --- /dev/null +++ b/chat_template.jinja @@ -0,0 +1,89 @@ +{%- if tools %} + {{- '<|im_start|>system\n' }} + {%- if messages[0].role == 'system' %} + {{- messages[0].content + '\n\n' }} + {%- endif %} + {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within XML tags:\n" }} + {%- for tool in tools %} + {{- "\n" }} + {{- tool | tojson }} + {%- endfor %} + {{- "\n\n\nFor each function call, return a json object with function name and arguments within XML tags:\n\n{\"name\": , \"arguments\": }\n<|im_end|>\n" }} +{%- else %} + {%- if messages[0].role == 'system' %} + {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }} + {%- endif %} +{%- endif %} +{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %} +{%- for message in messages[::-1] %} + {%- set index = (messages|length - 1) - loop.index0 %} + {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('') and message.content.endswith('')) %} + {%- set ns.multi_step_tool = false %} + {%- set ns.last_query_index = index %} + {%- endif %} +{%- endfor %} +{%- for message in messages %} + {%- if message.content is string %} + {%- set content = message.content %} + {%- else %} + {%- set content = '' %} + {%- endif %} + {%- if (message.role == "user") or (message.role == "system" and not loop.first) %} + {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }} + {%- elif message.role == "assistant" %} + {%- set reasoning_content = '' %} + {%- if message.reasoning_content is string %} + {%- set reasoning_content = message.reasoning_content %} + {%- else %} + {%- if '' in content %} + {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %} + {%- set content = content.split('')[-1].lstrip('\n') %} + {%- endif %} + {%- endif %} + {%- if loop.index0 > ns.last_query_index %} + {%- if loop.last or (not loop.last and reasoning_content) %} + {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content.strip('\n') + '\n\n\n' + content.lstrip('\n') }} + {%- else %} + {{- '<|im_start|>' + message.role + '\n' + content }} + {%- endif %} + {%- else %} + {{- '<|im_start|>' + message.role + '\n' + content }} + {%- endif %} + {%- if message.tool_calls %} + {%- for tool_call in message.tool_calls %} + {%- if (loop.first and content) or (not loop.first) %} + {{- '\n' }} + {%- endif %} + {%- if tool_call.function %} + {%- set tool_call = tool_call.function %} + {%- endif %} + {{- '\n{"name": "' }} + {{- tool_call.name }} + {{- '", "arguments": ' }} + {%- if tool_call.arguments is string %} + {{- tool_call.arguments }} + {%- else %} + {{- tool_call.arguments | tojson }} + {%- endif %} + {{- '}\n' }} + {%- endfor %} + {%- endif %} + {{- '<|im_end|>\n' }} + {%- elif message.role == "tool" %} + {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %} + {{- '<|im_start|>user' }} + {%- endif %} + {{- '\n\n' }} + {{- content }} + {{- '\n' }} + {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %} + {{- '<|im_end|>\n' }} + {%- endif %} + {%- endif %} +{%- endfor %} +{%- if add_generation_prompt %} + {{- '<|im_start|>assistant\n' }} + {%- if enable_thinking is defined and enable_thinking is false %} + {{- '\n\n\n\n' }} + {%- endif %} +{%- endif %} \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..29639d6 --- /dev/null +++ b/config.json @@ -0,0 +1,63 @@ +{ + "architectures": [ + "Qwen3ForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": null, + "dtype": "float32", + "eos_token_id": 151645, + "head_dim": 128, + "hidden_act": "silu", + "hidden_size": 1024, + "initializer_range": 0.02, + "intermediate_size": 3072, + "layer_types": [ + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention" + ], + "max_position_embeddings": 40960, + "max_window_layers": 28, + "model_type": "qwen3", + "num_attention_heads": 16, + "num_hidden_layers": 28, + "num_key_value_heads": 8, + "pad_token_id": 151643, + "rms_norm_eps": 1e-06, + "rope_parameters": { + "rope_theta": 1000000, + "rope_type": "default" + }, + "sliding_window": null, + "tie_word_embeddings": true, + "transformers_version": "5.12.1", + "use_cache": false, + "use_sliding_window": false, + "vocab_size": 151936 +} diff --git a/eval_compare.json b/eval_compare.json new file mode 100644 index 0000000..1823d00 --- /dev/null +++ b/eval_compare.json @@ -0,0 +1,63 @@ +{ + "device": "mps", + "n_episodes": 12, + "eval_seed": 0, + "max_new_tokens": 384, + "baseline": { + "model": "Qwen/Qwen3-0.6B", + "mean_reward": 0.5394954166666667, + "rewards": [ + 0.49674999999999997, + 0.6875500000000001, + 0.05, + 0.54325, + 0.7235050000000001, + 0.5267499999999999, + 0.7247800000000001, + 0.7245250000000001, + 0.6965800000000001, + 0.7235050000000001, + 0.05, + 0.5267499999999999 + ], + "components_mean": { + "format_valid": 0.8333333333333334, + "decision_match": 0.5, + "score_alignment": 0.373025, + "reason_quality": 0.0, + "length_penalty": 1.0, + "no_hallucination": 0.7791666666666667, + "total": 0.5394954166666667 + }, + "wall_seconds": 107.62254476547241 + }, + "trained": { + "model": "williyam/redrob-qwen-grpo", + "mean_reward": 0.7129858675096833, + "rewards": [ + 0.5129642857142858, + 0.9165815789473685, + 0.5111792857142857, + 0.515, + 0.9074595454545454, + 0.51275, + 0.9070771428571428, + 0.9172250000000001, + 0.91517, + 0.9152192857142857, + 0.51224, + 0.5129642857142858 + ], + "components_mean": { + "format_valid": 1.0, + "decision_match": 0.5, + "score_alignment": 0.6529333333333334, + "reason_quality": 0.7780835611756665, + "length_penalty": 1.0, + "no_hallucination": 0.6555555555555556, + "total": 0.7129858675096833 + }, + "wall_seconds": 67.35159301757812 + }, + "uplift": 0.17349045084301662 +} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..0b4efd3 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,12 @@ +{ + "do_sample": true, + "eos_token_id": [ + 151645, + 151643 + ], + "pad_token_id": 151643, + "temperature": 0.6, + "top_k": 20, + "top_p": 0.95, + "transformers_version": "5.12.1" +} diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000..67c96e5 --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63de169be55d0f994c9363ac71c4bcbeb33561f6d7f578502890c5785fdee906 +size 2384234968 diff --git a/reward_components.png b/reward_components.png new file mode 100644 index 0000000000000000000000000000000000000000..382df75309b2003d01dab7142d6ad17bfbcaa6dc GIT binary patch literal 49057 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 literal 0 HcmV?d00001 diff --git a/reward_distribution.png b/reward_distribution.png new file mode 100644 index 0000000000000000000000000000000000000000..1673c0963499f16910c7e1733048eaf09276c401 GIT binary patch literal 32650 zcmd432T+t*v^9#EQ2|ksfH2^wXAuFF z4Bdc40ZEO3(B$~`X=m=tt$O#qzwWE|{(q{bn1SvuoUr%WYps1As;ge3I?Q~Sf`WqT z#`PUI`s1W+-N-IWwi0_ zncC;UX8q2qERN4td)gD_mEI0=V{lqk*G`;Mby!&$%del^`cX&IGNdX$yFMB!xL6r} zN(!fG*F0mF;rB6nUc6>q#Xmt!W*L95N8-o3eI&`rS8l2|`o$`wrc<6R`iD+uJLou1 z*3rnl>MtQ?W<^$TQ_#x`9Z=^u9C$fK$ow*Pd%36UYwf)*Mc$m}CfMmzSMeh-c9-sQ z-}%x@%*u=3mr<$`Cn*}nEXrf-`Q>KDwFoxbfl?RSn(Y-{uM;q$%vyar8x(~xOrJ}p zl0tECD`}6Zc8*insYKfk4`^+_eSBgYNU!r|vgx;=28CM}vZ4unm<-2*G3SD8m~p?f z7f%TvQ2(>I*CI4?cXvKuH_I!|I^O&2YUo$sh=+9;2^WEKEwf*>*!?tA5Q)zp1Rc)}s zt8F>IThB7geXeX0cjMVvLjQz?RBqWs%u=h=e2U-7mvbdGm^9V(BD$*eiCFJ`Qj54L zv9HM9z^QD!(>5)x`>Q8QmPCJ?iC;>uTrjKabpsfyE>^eZC)kzmFLg}3$EEW&gqqVU zPHdKN#aCec@;B#eYK9~=0(LityAHBAJceZuFTD$IW$#{vv(Kv%%c)xFTlXHT`trv! zmCk)M((3c&Fp*kALm|Amy=FXeF zyW_q-9+j5hzmYMtoHd`;?^MA*pLW}*#A&cI#y>MBH7sXpp>!mOWy0;ONz?C5e9u;feCE&luKk#<4%!%+NxIPEze7rx zbiC@rVCaxP5c_-h|G=1FW}vTmM9hTCMT?Ls}HTC7vKt?X*`=3K=~gBn?QXb-2= zGf_rQ=My}-^+m%2FZdHl>yrtSq%$U%%Hlu<1FoLeA=@G{d6kQbJL|Nwj~W#!#D{K= zxi|5bG{4E=&uX1CDB!@pW7u9BiOG|Dqb#<*RjKyv<8;lkaa`&y&9%4`NTOAbVul(_TJzq(n><`J2`zM$ktmQ>< zF+Q(Em)8V$n#*9dF18i+?pFD%s`fjU7{`&`q^{^Hy^^OWDB4R=5GS{@5beFcC#8wqMnI$sku_is#)i$;)xi01~gKVvqS!yv!q3s^*8NB_C3rIUp#t@Ns?;P3s({i zOPrRSymE@VKbNfSKIV{*dD9qMGl-_yuIiT)XSG@aU~wL)!Y;?m`EyAU)01%(L-4jy zJ)2vkHqtirDM>nNsqb$jXJi&Xo~9~J+pwgO`1bfa5c*rm6Oq(+(WG>Z@WQaM?EefOsa8)mzR&8=CON_OR`k^uL4!uunF z17BBQU+9)Dbt=vH4K%U`80p!jzQ9$;omGj^nzy%^s)`qLG%z3bTXnqU1Dlt7z@_n& zN8jTVM(5dX^y?*IsJccAGHDBo#wyq1?&wW*UcW3*E zWy7P4f~pg0(!zofw)WM<#Q6>rpIPl_pSiLbKclV6wT+oPmcdpWn{|uK&e&v&Sib{i z-qJ#juB}8{M?baxuLU4dOLy_WK}?jfr#|7(h(_{Nf}ZD~N6+|8+V58`E_WL`(^v2A zY`#Cl?yG)bzLJ#rJ_>eU4pA7rSv-n^-M!ryHJKNajB=02`yjG0`00l1*GBfag+E9B zJjBLT3EyAe=T#_jH~RpC-mh{K&oQdDLeU}puoE$*lkq-w_o){yxhDoPd~VV;_8_oE zqeKv>CcFMyz{k*S4PRf(-HexCoa7TfLo|3fnUmkZ9N5U_lP%==y_dBij8)?8El4)s z)(Q2NGe@{Gd4uTd4Sg>>S{3gTN?yVHJM8zPjYnI`ySz!D;@kQuDbMCcd8PfBFh66e zBJa@;4+HBNO{LrBd-6=F-;U~qKR&(p_1ahc0h+FUHJ|w^FMpN%s@pm6+K%zV$=4#J z^SH$zlD+?8onU+$;=&PA|Mi>xTM+1UF06gMM-r3rAU?l0)|V&PIuU~4s*QA7&wsvZHIt3h zz~ZcRzyyZKiC`%Uo8R{pn|u2u?}`@VfU6=)LKW&FqNyjP;1&wTmWOW;)*$wCFhG zh0V&gSNdlLJ%vjRARcB-)R&+qbB;INj##sh8olT4`?1fVpvBICSN43vVvlJ+RY%?| zOioM0!#kOYW|BNzgSbpmVZZi#Yp*snOW4R?BTwS1AFK!D&$(g_Wg7 zaJt^TGl%1^%|1FEA^m$#axX;euH_z6)3jW?b%I~y#>#B0C&W5z$;qM^3q!%`H4E+8 zlwN;)H6>x@+lO6CeY|mq!8tX#ZTA>yZ&#BQNM$&*oqH@}OlA}Nl5#Z?Wc^&jqTv&T zLmr+GKnp({SHiyxfd3k|#lL!paxeO2RtKJ?Y1Eu0=HrVY(o7!N`+=U9#g4Sl$Zl$Fg8%*yYdr$l%PxP# z36PvO^Q4YP$*{jq{8j!86bBWCX4bw4VV9}8ImhE>aP{|c#$UEn+)B3U5L1bwDR+ox6 z!CTqIWGg$A85>6L(Vetnj9>5>3lr~bwt2WszuX7GxImHwpsn9XO|bem=XB4(X4ohY zs9jJrG4Y3p(Bo}{53`@LD`^=t9hVNKu%ZX3dYG;jbDvT}tFqjJ^7w(6EJlW0|IpF4 zg-fzdkiE6zXng9;cn<%#%F+8m$ACLnO`})zZZ-sv+y*SI4S`xBghSs~D3m6$qm}6R zfQBw{gQUxNplgN%fqs12E-Oc8evz^=iNYCE)Zj@YyY^LD=KGsESM!A<0;RvsKeKov zUclUUEv%z`hOd=f#7cSRhmMnT&9)~YczENA`428i<87I2f$*Y@yJ4d~%%l7KF(15X z6?(>G!W^&Aj*Yq)AH8SK-s7^|d~8x(sj8>m?*w~F@*37JWTYSE*Ja5b1N)q%f`n~8 zIe*BIpLN$CjsBnt{6L-q%C6_Dxoafn@4fl!z3KClru*Lv`)@j$IA1-0xAu&!`2JRj z`XXm~w!iPy+8wT5W0}g#yi!j(rif!ack#qF#yy{w{Qbprl)mQ?bWN*jXB%C*+RG#g z8ui^Gb}bA?B{(nIeQs-B*R4Q0c?APnHNg9|YIVr|M_qtXYPPIP zV9EwvUT=5%p(k&?-aUfD*@ewsoqt)%scYoHzoNY~@X+tLu68I*a=vK{FZP!YB`Yo3 zTV|$)%RO@D@9%3l)r%?5`*E*aP0y=Z;1Ir>Je}b$`l*5SoXc|Q>F^7jHEFa%1TXD( zeT^Oq#6McR+nBL=v2UF-^Vr$bA)5^O)|ae#yVTR`elw9;*dup&Dl4zLyg}BMxWUhz z8!0AJl;CCMza#pGRq;vPibuRvggH_AO%i01Pr5Tk)^Q$0hts+5m=YC@Bt+gn3c`Ll zzeFm?H?Rm$nP1}-uy1aA`V(nbPgwgwJdtSQxT6pC=&U!ehr~9U)WP!J?R)SIumQ67HqSd{dSN^?BsBJEK8%1 zNtZ1?c>kJ>%ZZUgR{7WPE#kvQ^s;pFnHyLog*(Tq_{O3`1Ucd%pbd!dTn@(-R%mV7 zV;fCf^ex+3aO7s}jvw9QY9s2@EO5>H2ayk0zCVPV$(_Rjib7V(;> z&a5QHC3KSc!Y#9S#wxKSS=FQSK2RNz*jGqxasfN1VSIn3=g`74J`_4@r>G#9xYk|D zWOl_dbK-$HKSz9xY{$J+iMrDU_7w`kulO#PQ;Ns}-Wq7)yBw00Tb_AiL`}(d%HwK8 z<*|9)$`S=(R_^oXD+OimD_qAUy!1A%Pc+hC#K~fC$~O=M3|oC8iqN+=cIAup2%HCiUA4GB$RhiJi2b z4ecXLbBr=e7F-_r)Y|)XIxIbPzL-*N^JVOiQZgp3EW=T`^6%ZfARd@xb%Bk{Q$6@*;}{p^yjD@iF zh`vu44PFV76)JjuTc#*D{KIy%sb2sc{gIBw;QWol0=vt30gi84L`dbueRf&WRZyA| zsYEROzt>UPo~E#I?2;cU>)RUE|gkWc#)}bE~$N4e~fHlun&w ztvPM^(c5w1z?Cf{Zo&fL6`;0at+}SXd)wVn1xp%F)rAyvu;-!DEwAsr!g*ekab7wt zH7kAgSps7afP5I^fqi%nP&CTfWqKLvl(bu4|2)J%F5&uFC0zd?oT;|NZY?zS=*c?t zzF}_4D;*7y?7t0|I4fRG;FsM`=Mugtc{Og`qn1o3=DV=S`rZy}Bxm& z^Z58t%g~ZRuVEQetZW~BSE=d1N|RuXk#z+W1)e6=Ku1li@`tCvtBbQ|)i-4|&JOSH zc*QlgPI-vpC)NTMp3XyQ;(*GfkByxGVU0__zim2fT;bW$-&`OJi6E_dDtl(^ZF>;TNZ`DSePP8<=eRPVi2M@4$;G*~`9$rZ9)JQgm+ zfXJ2i4`@#>=CjY=tek{;Ti(Cfm(&u~Kk#bV`dbi-)5nNus9two3IQb`Im3GE-5&3_ zf;QQTA;%9h+;dHRqt@mNzG0q?>x_*Wtl|qIBH@X^omKt_HQh?mn00*U*sw_(G5e*! z+CO1zHvnFjXe>Tdw=&y5=@EWm^Z}|pA19pi7h{L|Tw9JbBh{lSz3@R=4wtjt7c#Fg zfL)z4UYnHLec2X#L3Z?ZJdkROZvk56w7PZo{8fO|CG0GvRr0Nj!+yoA0l#?o*;y4H zD42G+`D(Tnsp1;}W%2t_?`aMPGL@cLIdFS*xQ2%>8Y+CkRza&|7O_r6zJ!vK*p;T1 zkm)g6=jE|*$ir7%Kmd^xGlLCKd=tKspo%EgzNCP;m+@mNIYQ^a@gip^JFKYhlTo=R z%VF)15sZ9Eua$3f#@teuTAtS+uq1i)cQbB(2Qp{CtU{oAZ4_I=!v0RuYtCriQVa;A z_ssU$9cDtJ$vp)1Sb5)%k0_E7S8_{+u%p}fAv83g?Y#XbZt6C)t+iyTk1*nfVxDuSO@Igqj$%GUFP zp3dddxG*O-B?q^%@yM)&>PIIVswpMQ~4<) zK7tHCC$sY6S|nOy+_o44h8*Au%d%(vo!NjPMI-#>Un9(_Tm@)dd-yfYDapcyw-7o+ zS09BOs&2OdY0~H9IFcDTzY6JF%)Iv%&Hb; z3-dDMm-I3^W7e8m$`38MP3)H<{iYIwaXxI~9sxxS68nWJ zY#Dc-`&{4vRpMmQS^&NxWJC2_oV#XO?7nw=stcg6{MR}~;+h2d^UcJ@|0U7mR1>KX zULw*^AncTs*fJ1n11d-k;mTMY4v<@hkpwExkiXoxR_n9^*D`GLlBw21@PX)4g*s^-#ga`ftyera@txLw-LqF^=e@Pqlc&Hn9b4E$I8VDM*1( zFmke$H`r^)``jtdUUORjk%ERSu!z%^-tD7Ff%q;E9F}}FEYqtB#HM&GF~hw>fid-j z>IDvC*H34rVTooJ3=O!o#X&82k5v^$q`SqoyIzs&wI0c)i@B6|M-T zs)!F3W;?C{!Pgb%HS}@?{*2Exu6SEG0wj>iaKNtL#(G;oe7CXJ;K80vh`DZp=~QC9 zziv;6*W3V%VzNQV^M6t9IU8dtzh8rZ#EOi7-5q+-E3_b{bz@v)a1fG1-C_UY0$|Li zp;B!oS(M@dj=Yl7>vF{@zkC`*eJaMpe|;QZVBI#bX+519m0Mu4|9*tbiXIzJcZJvd zz%wgA>3Lq!UuR2(-1?kVWj!Ik^QNc(ba1m0c0%aTx7-0OB<>(JYxEqT3HOme#%?`^yqQNL ztsm#TX4&*$3#c1cT&8=Rajc`_G}iM9O$5r!KawpQ!;#{Z0VF<>$y$b1?(EsO=)U%2 z#1YG7x^yM<_0-pUG_8LsEMryTq`Xu?`LGNdv8ClxXp13^R!Qt`k=!UTOR!!i;-&Ii zh!Ze*O9{JM=MMcgl2bDDxwad)S6$00N>w)BAGOT2dX=lR7Zr}-+bc(BB!Jm+OZNt4 zQ7flE1C!?7CbOCXWml!02`0XVgI2l|ej#pMDzbrsJ`0_?l{vC2QmW(5G%E1!WY#)%MA}xA#b)jblD#KIhaRq|F&VL&qXQroY}VNKdvoQLE)^7IDiAkY1Dg zYYQ8Fjpj{Yk4?K*v}4lM=n}hlva&TTZ|l(!cKU~RB13(GZ>xn=#f4CV+CnC40BkvG z&o@C5f8k@KKzX7oiL2e1_36o(Yg}|~3-F!d2C=dAR(Q7opL4~7TEf5017OeT7_*Ia zEdDebF=QmnT6iX2?)@vu($VNwFN^7XBnfjKgvXQz4HXMHE|>ON9SzHNjQ5`SB-6#I zz906b7_D-B@X8y|qQ0r~$iBJuWO~ZwEzl~F72fpL1ubG(w2Fc0v-F8AN`h5dqJl(0 z1;30b4f+wxeF2X5X;ZY?balH)JzDs^q3x&H80&gCzj1}c-{3ghcTFvaC<}`-GwY-1 zx#&J9^@vC7LQPZ%b+03D?|>}z%@!XP^RoDUx|Ft^i>kt=#m5oQF756=Ak@FuXoz4p zU0i{fCFGM4ZDt3uus3tn1#0OZ@7$q`(KQYeY`A3N)*`yhFyLg<{D)tE#AsJb4o3U? zvIuYVO9MlVL)=#)5;lrY6je4nI{7S0CFVT$A=UbeX~p@LjXI8}vDylbNw*UqmIt%G z`#?X$Y4hmvSB{CmsV9WT9m&^vY;@`9@&;Rpq>#LG#4`kwJU#!M-qs1}0LS{Q9}3rX zeX4MUXN*8wod!-+F^tw+Q(pHpA6qPKj7r|D3-uLq5~WY_s$MYlDWb7lYelcleO(c^ zZ1g@e4_svzB;KTID+|%H_tv4HfA298PF7!GA&R=@#7?;^LZC_o;WK?eC5KWtC8u~w zlumw&Q|}iP&q+SCRS8MK+H}81n5d5wcBy6^rVdR?>wpMgvh07gB{Q9c!MqL9f)2rl z2nBzRTWWO@*XtnzgVFUd7nd`Y79T}LEI!&DO>=mZK2J~=A}~R*cDwqxY2`JL6O`s? zVZ98FR`GYA-1mBX;KE`+uYgM)1Ut8SGNVh$a#N>WdIE0f>PxA@k zupKi$z%^+|Qz-AZO)vM&Kc~Iir>#P(@Yb5X#gB@x>UOlnXYtcHx5PyYSA%TvLLh}E zC)Yq-T-?4bha_X>KNa!%A&)bABPkP;g0)6E^E z!%6FJS)24KFMmG+xnx%nRR>`sHy3vM@=7)!v^`u+Tfug0W-*_e#7stwrS6Ac$3egPSk-ISqZbmdN&9Oq6wkJZr@f?m z|6zw)CX?N4=~%eLuaE8s2R*GP?1t>oqdOJx_-xSQ7A_{c+(_&Wyj+Z>#D#EN_X}(dB_WmhX-Sr*!m0Fhg8MQ-SGOfpod{ls>c=gKj3=8+bt1{t+Lb*B8q7GHGjU!v;|cn) z4LGft!$kNSJnfwj8eCE-Nw|^q8A@gD-TKzrRH27y&)%PUh!N;e!X3YIYym1!i9VpBzZ;izUYGghc`8)drj|a=Bpkxmx2tD6*Lew@}dZI=ABB!zC^()Mp*(Vs}Dbh+zmPvdcHc#o!h2BE`BC8bR z#M@M7szwl*mfB51?>xG5zn>ooFjwag;3LP<}cx~+9zOhpP{e&oLf%J zG`b)aq>oa&Eg*yD`Vw=U<8{+KHyyfmX+z zz_E5Qwj+Ol%4|jS=I7^2kowc0{z!vxo(A)ZLq-yQ;3#Z?XHWwqm7Bkl2aD}Ihyt0L z$TJkm_x3vQh&i3$VltU`!>>l8ucpsn zRLsvM-KW}9dM^C&@i7@ifrsR`7SPl(L@PIlSrW%2NzEddJd-L-31u)xm6(T1Ok9T@ z=bX&u225QVa1TOIV~M|L`uOB@7uv}HC#wqKaZ*7%d^@y!HH`Via3d-}Jb)DBuUhJ~ zT^;mNlkr)}&L09?@pJ_cdLd#kEtwG9J`>IJuPr>`hNRM$Lk)15rzn52D&x=X zjbw2u9cS#x<>BCqF zHj%C!qyKXP=r==AX8^j(2Qi0OZ(W@GMVpJxu32v3!-+0!UE>$~GLtAvEGqJqk=d?& zV?XBnmwPm_(Q=j71Y@U86@mTYo7owxx*z0`X+WyVG}1pVR>@aRBn0drr`E)701V4C zs#s7ilLP?LB~bDGX}5uW&a~`VteOnm$abndQQ}n}fGx6#ElMFGI?l6?TP0SEA5|^3 zo3kZq$j&v#PXdlY1l75=U~Z9cFtE!=wR-90PtewFDf#jVQ1;|`;7BG`t68g|qGDC7 zUtp9O5ddg=u*VOKJe`1gA|t-sjMP8NUeeJ-oK8zt3+nQzB$HxK`&jpwjCCKU?Iz$G5jTvbcg` zRpO;3g4KX`wkCGx7{)P!j&dvY!t=b1V!55QF?Wz>Cxj-f()7==^vizx?o00gH2 z!sI*TO4~=pB=mX+s|kzFZEpEIN+ic{P$p*NTcrPS)aB83JJcb}O)*__6H{O$VT)w! z>TT;ff=epVI=Y$d{|cFlY?1M64-wgAkjEzTW=E4?(0LQDK@Sve?&zG2PP&ogiMcPh zkSL4g6a8&(WJ9+S&k94#d0Wloe%d`c`!V%*M>=u=-AmKdWS&wCq*Uj$xefc!jfwV> zCO$JJK9~*56~-jYxw~83@01l&)4**1&5Y-69MePzNY|;bBrgQ3aoo+jJplY#q)(tW zqx{}vDxiLUxZ5k!mz=8llaq1_Nb}6@2=(cXYwS6hQS|b7&h${B^m59naPW5xu;gIV zmms}K_Z;9Y2gKb8M$c!=yjW(1V|u1jgy){u)Ns=W6pMyykitmxU+NAqw50RFYcq0a zv+}y|UHPGJd|y*IMUa>V!M42|R?dz4$2qV&cm|H^OX1uhBd#@@gY&qGswr>!y2ba0 zd9&No#Q+sg#nC0*#y&9DHP5SBvHRiDF~%Kqq(P{V(#ncX`4rGn5?9JVX6S3o+uUh>|+jV>s@{cUe!rE&y zA9$uF`_f*D-e>)a`3hw!gRy(Z*2dWS>6Fm;%e0d9>P1sB+TSG@@?`Gjr_(abhOwzG zFf-4TO~z;O(8-F-hO=phRUI~4D$Hb4F1kNO#n`B}KXf@T)kPVBOk1!e+H_1pg!sC9 z4kkN9p?;>~xZ!@~juRPNL}>ywZgipE+`A)o3f`gl06v*f6CZ3hB@r6&kWG&E(G~uz zxxtDwh_b?M5m|eKO8fej=T_ijEyp=k6vSTaG85sBf}gefn_dss>9&;%i)WBVS?r z<@L;f`XoY^y{QFE(B#`DfvkL0x|(n?QJwu4ixkveQ4Wmq{Hc*5b-9$um9gr6 z(yA8SAI{2qR{A!DgQ684FG4{%zPZ4vf#Jd4Jmt64;lVas<~Er*@<8L!4p2`mv-}4I z6=+pO#iDtt8)=VMVX;pdZWn9r?u3t*-={p%egnmz?|MGX=-~$(cX7u8 z-;L=cSVSa@f@rZXoxAET*+v_dG)A=?6QfaKUEHAM_Q8i%{^;q)Asm5S6-j3Kw*o9@ z^w1uXzRMl+o83W$Cvza-^3d$sHQy>cY5c+&f=r9xPWt=iUc5FQIYT{1d49oy0VX`1_HSjN;k zU9BztdT5`fOQo{f(UH*AEWJ7aV0XHKu)L8ZuDPTWGCHIo$bI)Ula6l1SuMPX-6Nzx zz2hKiC`4p1b@mK+Do`ae#gu^Q?^{+gz0b;hP;LXtsx%%*y-%{>$5HCz7_sy-G@_}L zE78K1u4*_gU$($cp`(ZIYTT|mQ?K4oN*n-u;?{y2rKb)x3D{oF+%Tkl%Lf2af+_Te z(>*G&^uvy-poCqOvlhmO`WbHpxINEo(7LaTBv!W1Ou8fRAIny2(HE+b2Q%~TDuRjB zwR9>B@`&#I-g>5(pbl*> z$kCIY3N8y=cBc|=9IX$DmvA{#Zi6wpF$cPZ{gPM|kVDd8oHHHIc(8`EK+AQ_x**w! z)j}b00Z^}0uqmxhz4o+)zEUXX7*ILdxnp$m^+*Yr(Nl2Dn)=0K^x?UQ%X1?@indkZ zE!eLK(eE+-9&3@8+3;ZUVGnJ69a+(-7!)zI=<-c-k z{W9g~1faFdT5UgzMg-55w(OHs2SVd7qKwTZ$x!kJ$nNpRR^@0+!lio$$Att;yuMe! z4g1GJZYw}xfTcFRJrXz#c)p3mc_mc+&Bn2YlglQOU+?T&tbSym446}S{Mhm*&O2Go zHfBriyayqj&d^3TMGonAc@4oOamkk@>D$LeO2R<-e7 zA?=xZzQ}(?4JylWVsKZ#=XX+H-MP~jL*p-XbW^q`3FsnKM^D#yzrV}!htl6o@1M^% zSrQ2GW1S6I%@YRC%q`yciKZ|IEl#V=58~B2l=5T=rq}57BCQ0dLQw5s)GPoKTd+d# z+9Eoe!sc`>9_Vluqhhcm947Y?S#h8;_-2%`*s0rJ|MZvuQxEZ`Ee-m#<8RRh;PS;u zrJ(=4qknI768-wQLj7_yv$&H{`PO1n7qS+hBBl^#bbJHNGexrjk3clys26j}(ZU+M zJr;(#X+(UtKq4T<$yt1OfUgPIW%b=d@mxOYlQEA)*`lZpkAYjfHT9$|5bxAz<9& z$%+PqQ*ze}6f#!j{YtF(qh|O1G*&z22N6N7z`q08D`E3LMny2ZLOA3m@~wY zX|S)hl_a4aC?qBzG47@#JGv`)6J`M&L1p8q2;_zl7OK9k`@fv%ynKZJIclXrN`tF7 zdCC;2a3S?AmRzO-=$p|++R8trRx82(A-_R>rT=$*Wv7(3?+0Gy2s_tH;q`0HV=f4Br8W$oWa$P>?=nVj#+wMLWVabWiLL5g0{JQW$F9;fajaqhMwtHp$Holo)gz@B=`;51f!P)tMUfTtGGcqmAm`yYTy=c1fnIkxqSC)W1 zmQ;%^U`2QStohc=?kW-@(@seh69f06H;GngK3W)oi6UV8T%y*k(Gx!=!6z z(s5jg?@1)kdhTGFOsi)w%odFWRfgiCAter}LcT{}d1EEV9*Hb&uaP&4qv0o>uml+D zY1GNbmWy7V0$zpl@o`1+urHeNYyn)E{>+=F3{;5e2AFC)!6B|?9f$D3F#3GD1AGGv zEiuSHy@X7Gn|>Qhp90(MW5K7B5%c#Wpz&c-9J$kJxuw@gr4#-l4V-|dScK14kb zX;3f*tCPp1^8f~#j6Qd51kIyIXgAR-`^rr$ zcZC^)OrzzaA-tVPyhO6nd8_7VSMk4RKM?vkQ>nxUgn~7J!?Omz20X(>!(VXkpL1gt z&j%r?i$ZY*7CJYCAL=0EMCMw-7qc*gj}JaUMY^qp0G6^({HueAg!`jpw?{#-2; z6!Tv5@5dzgF5W-}(wXLYU}ngjh(KS&hJ#Xphayf>^zX-s1BU{6^yP-do!BqI?tzL$_u_yAN3AE{K7$UHxbcn2Ay2B7s?50v{u1 z@KrEmI92Z*M)Q`2B>y==A&^mNu*8Z!5_XZSzXTdjnL-~meD|G$^mD;2l&9pje#kRR zy4y&?8`|^rTSmxqf-69xtBqEEZyO9cnH7b;IWt@dd4(LB%JOLvxGBMixee;=jM9kd^&bvAU=b9!^#U9%mZaa0*Il^mSp!Onc3xk`NhEcN?E6^CP$r zVgL^HOKC)GwmADg%X{b5EZkW5S+HnS@F6siwc;VT#LP6d%ISP)C9Tr&=j11dT6wfm z8N>{;6sB}f@e?v@wdh0wz|G`VTKMDrku=aPL>vK$+M=FPk5s$WM+k;?f?qGe9o!T+ zXjS5LEdFBU%@Rhd`?UfDtWJQ4u?QtFHzB1W4Kk%Wu`^YP8SKbMsuf|XD6GoN?7+#W zgaRkp)?FY)K1UhU9kTP}O~5ZIz=f;v&>gmIjuu{5^h<<$nT+=8=zoP~0Myz+X%8Ll=v~u;6MfOo|KcctJ}V(nNDt>hGFk%p z8}-=3KY+bFfKyCCo;$Qr*LR>#_=%4G%@@eWgo8MQ!>CH6{uN~)+ynXQR1T;NQ{g$= zi8{t7VFGR<6gUl5GpGPOkd&y3I-&kfXOuW(9zXBcSBTodSycmJTMGiit3M45l-E&H zGio)%0vh>O)CJjM0@=@^(@?v@>1*N2GuZ{I)x&wFHPYJvFBJbHK#LChk_eRPCIA$q zALT*BTi-$IVj65ULG5SgCApHrQ?W@<3`nWXgZYYVpF_Rvj$oS6ZW@NrAU!)=6Y$UT zl6_pr-UWr&X-61hdGaDVbjDj7}z9czMmqGU@_#K5lDGTa91A~nY>Og2)#s& zc9Ris9szRpmg#DPD?{3^uT6O97K~p-D?jprU0SF=Llw*X-NKj9%L6L0^g|Sr@rv@&JqxVJ*68% zP|ie#CXmg1!R-EAH^~E%zGOy(0HcN+bTL5DbRoxkayQ<{t>uN-z^%IT(4D&k(B^sO z4fKkIfo4Q7I4i@^11c~gmhkd{nlS%%e1ay4^Pq_F{Tyd>e-zKskc~gSn;JI}Z5b{d z_xnx7e})ze-*IWCz6%OfO-Q+sHU=`DSNbm%q-#Cm7H12a?>DED1r+~9}E0EY3s@9YdDBY0*tb9sLcn)#VGSE`Ab(%DXsqj+}}-s zJO0q%r`^H=Q9FJPRs?zUZvGrS-dZgL8o?$Jjp#%)0N;iXx>SU!!PdZg{DsmNvW>M* zQ%JiI3h2q76Q}#hj(ljx#T!`VK``O3cWXgiXIf3Z^%n#FXat8db1QWRkwFw-@$=o` zMEPK&qcZM9Jh#W(fW$VK*`0I9&)Uuqw1}LTw$R%w>V#mACUokP=+{uE5373p`MJg| z6cg87$cwM~DS@0)$?yQ#S)@NW!(gb*_7ydCm9mp8*I_?v{2YdMhPxRkO~SzvsVZV$ zexn)55}0$YTxggE^+XK-k=H-d)DV6uHVsWdRZ}Rb@zF`lKbP3q-kh{udcYH;rQos) z47*p@Po(0I}JGP(BL@BfT{p?LsIAnXvscn~tvotJ?vBOLaiC0EHuW zG*8Ge#bfBml=k8m*+0$4&qbpVKJ8MKnti?joxC$QU=Zb22i#Jfetzpr^hTrH&J$FB zyMrw;1wxzvT4HKrJ4k4cLNT~q4C;!I%abl=szEEn4MV@_`VL^7CuuHn6YQ=ZIo8SO z|3w}ke00pgS>@=*q48+jc{7;L zR8#~OXwm$8WZ~CHOqQ;KnA|zlk!;ULK1E^c4II@F`E!px*J#v~>44}KE7ogv4@LNi zAJee?Za_b{3b=Ot(a_J`5QQT)Dv?G)fgV+h3HCuBJZ~3Zm&kBw2MWS0}Jkt{3P5ELS714%rP&c2g{V`!tQZ*Z+xBi2eE*sZ_zxg^nV~q{IRz zySN0Qh4-J&fdg0f^lJovNkZf$w~0De<2}KM@t;6FNJ2j+2r&@3py?OF87;c}0T5&t z3qfuE2Lppk_(dm>e9@?wDTE3<1vHaX*r@qLqA&8rp#YnCIGLRMzd*nXgj~Tt2#0Zy zBOW?h0@Vxga?teTj@P(0ZlVoknu5_$-VAZ^EM$=t*>I|3 ze!+pms?zsNb+k^6T(Y5yANnniVHVYREVSQrb}9+Rr4i=EC;o~s00ohU!`FU_yu=-2 znK9@KT07e7A;?*dwj)Xy_$=K#l;8`$JynWKCZh{T96Wc^5m7^RO7cAY;lRvw2uw<- z+jj#fkQg|XM*s8A5ItQB$O&Nqs1nmOk;w&SE8gdZ!h8lKCuypazyIb3>u?$>^pBSS zt^QR_BcFzR#uV-HVv}H+0)u{v-IqOwSRd;cxztxmce4N+k`Y5bK`E6{E&xp-+Tq#Y zFNN5cl_w6|{zBstR2$=Dw=_lJf|(sUv89X4(*$kab80?Ne`n9Cft7O`oan0d+4)zI z1Az#2GMc5%q)>qvWWHb)%|Q=kBQL*R3~m)XWcVd?xJrfeMB`#kabKo>e*j|pkSMpy zUW-T225Q7ONHovf0XwH4e2W&h$TBm!5GrkuImZ}a4e~hOIQQz-jFED<5QM>qIV|4-Zd})T^PzW1M#zo#eC{!wePeks2O!O{;Y?BFwG|%(4{% z%4DYs%J~c?w@0MIHidU10=6tsF=jt7>JmmPzlv(Twy?vRY$Q|v?G>n)n zv;l(;RYS_3hJBy}CEMyzcDesl($LWCr{D?}cvhkHA$%3e2*8lG^!b=LmcsKj;x;#) z6nywt_@%m0%RZFC7Dgmn!-oh9K`r={r=EWQ0Sci4+0Ctj&%FLn2sPA!&@A(c z&HLLEE5`urpWVn9rJ+EJfC|qgKru3~oy+cSqR@m8E^5VKZrTJSn*ie7VYex@S!iA>a4`9UBYf-+*j?SBcH5H5NOzHM1G)M}02r?c85q%!&1e?;~ySV?dXE0iGHA9szW2$u#i( zN~mH3i)2j~^5h^$g4XImcJZp4=+j!^aP5#0JZh(KMlh2am$dqvjZ8}w+6ie7qA*Ej z@!O82 z#>deG3#kBBA)Jd4C!$D}pxHreH~_q4aIMBId1{H@h7ketdJ)mXfC@X2R09B`6Anpx z8N3jP0bAm%GX59D^sJNWGyhoXl;1+wX0VNTQ=bJ{^Qqni0$Zt zXu%uCCR5(<7TLqvXpph|FD!o2gO6|`2R>j6Mu+Rr@cRdK0&Ki!e2Me$60)NLD>fOg z1$@K53Zy_NFK~dVWni;fPD3+mZoWfun3y6`xc-J%zu=Jcw*-I0!ND+M$P-u=r3G$L zSHTRx?Pr(LUXDx*693y%3wflX(V>BzKSt`h(9t0OqTq>u zP?ZqfRt~ePwEP@hw)s7(>888RsWn0e#=kyn2cA1{u6lf~TSuRJ4cHo)8_5Uafz*%! zOG^TpEItjPXR@h-s~AJ>nx+X@lP9M)=&;g^V3XnOy1X@WN;Ajz)3{xG*)F|v9)KohSdlF?rFD&S5WDHm20Pm{^ z-dS^IDNhF!RsJcLm!V4whw2ezE8_<*7ED*M-31+eH#uDn6ifx-?32rWZ5 zaC`s{sz8tz9(Kx7JXu4BqwhKq%O8Jx^dYO( z&ypV&BFdx^&qLTWkS)gmIF8K7Q_x&bCUKf9tH1;EB9knBKEJUEbsG>FF=>ce2~+1G zpEx0dRuGTjr@I-brCKey*V~WmDVqgn`9D?q|2@+DXWCHh2YRIk7RI>qmvgTkqx0aP z`5tOkQ?QKLK0Fi2^|R1P|1dfUR)5=SLU*cC6k8TkqsT; z*e?bxMbb9Bnm{AzUjDZeNB}61b0UVK; z+pIeX2CJyQlFrkE7~tNWCE;&fP^NT!l?1ii03DyG^o5T+DiYCH;9NW5?1{&y8@3S6 z;3D%Gs1LOj3kbbIS*8ur^;4u-p>{Ce26{BZ*=fJ9rjxPz;L<_qdq$UI3 zO~AJ*sIPegI1OD(f5dM>B8x>W2}sCd2rxl+w^}gcu~P~}l8$yU`D_z)J1}V|p>-Dn z2YYlO6pkuD)Xs?{M0d~{i$A-eNF#LQ5N6-OqaVBAsJ^1lD?sY?kd{I=3PQnimZmD$uJnU#-RK zTgSaXwX2bHX5!wdBYbZzh91PAL+p@g1T`=Zq;Lcm)xX%;Se;KOIY6OKEz`H0{@~R7 zJhwqs{OtGEvP()czn3W~eAk+6$TkNhCLk`3BD9zE;a8*^+1BFqS>8nwPtluO=NjVqy& zCJ=O2=nGD*{Z3f%hnO1wzNW~#nwDv&G^bTBS~zQ=oZZFosr9`n*B+(H1$q4Z`-na7 zWlHvkW|mrxo?EKX{nqWqR&om91k%4)N7@GXG=h8bkQJL|=G>=AkHz8VLjY0pb`!Ks zyE#p}>W5=7zmn`-)AJ+bAd46hJZJcj6ZX?i^1k?Duf77+z-|9_*6g5d6n}ZjAl3HE zK;-zWbH2=vmp|CO-=4a$iu}shP09EcR!Zk?4=XhX%WIvgs0w+k&|=Td{eX4HaI=p;#2?{Q(J^*QK`ZGC3OHWVWx$u(Upa5$ zIMskU5Px46CBT|{e;mm6J^~y_74|Qb5Ev%fsBR$6DIQX|LN|6^(HW>4pfHJl-4`F! zm;%I;RR2NZHX9g?1xT28uK%J6XAxFF7vJ1O5?7vD&y*f{3-p60@s1feHvE z@J1}S?tc>yKk)Yt?tUQGifwyTGOrabI54| zz(}27OG=OZH)^wyvOJkb?hy4A0?E<(D#ej=mTe{Tv713I&eyM~@b&b%pHi{U6S1lv zyof;CS7DjRoa#Bh#`_c2g<#`S5jQ#pY0>Y)V;txJAo9lYZ)$yr)ze()QKEJPku^+N zK<6_d0JX%w(pN~ud;NcBR-K+>V??ek?EH;6zJUQGQkg$R{QwS9k5r}=CzS_*9-i=% zBxYA`lqVq%gU{l!cBi#(GBL7tt}s?Wb$yPnvKke}u!ATvJmIp>(`PGOfw|>AvMgsN zBAz67q?W#h>iVBjkwQS&ENWKy~kMi`4Wts6kP{@Vv$&gsc?pxsKJX=40(^3K)0 zFU^~p@H^K+FLjei3kE-h&Vmq$zb^xH2^82$Dk#Ygq9W;xa8{d*mpQk4UJ|KT=pi_0 z5wdmeWrNcnT&f;AQ zJ$FA@QEO4hSoS+GRZzq)sXr+oe4!hMN1BQo=!~Pzbl?cN+$rM%t++`<6T@UF=Dkj6 z{#(W{#G;zu6)gb)kqi0%{tLO_ee}=EKg-E6U+19_V`H6h%hLZrm$=Tgx!||_OAnF^ zqW6nFhZk7|+R<$E(V<;NJQ3 zEfhmN%UMpHG8vpWQ?k3A)<~=?IeYZ-HZRR-*Ypx6TUbV{D{|+V*VI`5uWLm{-Y$9L zdWSjbHCA$C1|&QBpMu+sjn$F}XQ#gFy@2>ZLz46-!5hL8*dpSO@ntzP@g*sb5A^`w z+(}x2a37RBHgy8(kb?I!519W4m)LCT!M}@CLJ6_T^b@xQ^C=K~zUzOV(DGj? zh8_>>|NE`+pC``zKYM36b(SQUC8kAEc4ikG>Vd{!A$_vgF{3eg8Ba*Tf*kmAmn(q|5l#H3^?E|%k{p(>WwA(`Rj zTYdUzIYkzgR0E#iQZlknAn-ahi{UcfnX9NJ5edN%__0ShKE`fNddP$_`Z!6=rx&6( zfUsDqzTNL&lPL1%2eeO2q=4zmkKufivgF;LCdaEHAAWE8y3lydq|44d6Fn1|a(2lr z^?iA#)}O!jia5RpXpY+_66_PF_9-sb%FH-c73U+VGj$^ka=P)O&DvgF7Ln1`G-KPj-P;`yUcIDp&PmsEty0Q^lLp^bhN~a6XR{g+ z8v8aQl)~(F&sq`jX7s(>YL=x#)X{+`(N5=LXVP z?K~=sY0Lo=)#D02*PGK%{SqPoYW~%Aqh$cO-51+{e?d10#J6IA#~^fy(`HN2_l{jiX@&g<2^%Nc$EOc$^3mL z&3NE6)?z1Mp$gvi7#V5-NOW$M-dAnOP^^HH@1S;FkI&{m?sf~`Z~lQM1}}Jg{+qPQ zERYE6Y41`kztctU{F{1;lV?F{H=D2S-QQeT4axd8G|K~1@JZiQ21E0k>r4kRx~>jG zg_!EDUnb~KN0Fwtv=;ipOkaHp{fo^vD|!T0^Ll6QmOYd~GK;R+(dO4++@o_VNLpBp z=D8FfATnR|$n*Jbk}jW{HvrB|limcuCGf`$xBX zHkEk;SKek7U&cN00eSbkfTS5Tf_$w7^X`%VXe>|3*HaT}jBYed^4;Et_PfIvo(x>K z)2%Hb?F^q~1A+Nh3;X?{vWnJ+#~#JS{%7{_ousso*cg zKn!PvhY-$1PtLJDOYvVtu_VA;Z8bYl6<5hNG?p|(;^pRvG~(lK3|BPcxb-l+f@Ww< z;GUGSMJ`j#7Ijns~B>!X@UKe`eL3vvuQs0>Rn~2))?XU{QpFDhaAC>Bg zh&KVaigxEMWtkNLiz!TT;0E{LS_wZ&dOw0w96qytar<7!|LU~tu&y@oR?B&k>tqEd zGF?G$Q=FFTt3uJ%lQLl83M-!jTBx6;82qNUnF*!&c#GIV@(udf4CRHpl^*sU!Uy23 zC@0px|67ZLmvg#aXW8Gb3{S~k%-cWNl5&u%q33cTrRp1(3Ob#YmSqDFdsih}M;*1# zH9f0wg|)0324_G0G1I3J)}4)ilER%@r{+~>^~}F>OznGo*Uq=h)4w2O`HmWcyh52p zb{kqDzOT|$I0=*{s(YmL?n&3DGCKVDWe+0O=doNoZ6oH%9gA_-3(FV7!L)ML_KSqD zQJV1hsDb}^QQJux_2A>U!SrRJ=&E@MA9l>R&ky=*=;_5?iM11G_;}0Ds|HGm* zXX#qFQONsr9J2au@Novn)QEafU;4qvm9EbQt1zoRx0?9$I4Mq?3_qv^-h-=~PnK^M zOcGLF_@mj-b0^i@ZH^{9J^PXmaIObL3cMLzE@{m-hwRvyi*)-=>E*_mGaGL_i?PRC zCj;vmGi9}Cr`9imv%Lwuwr4|AojkJ?Iat~?mSvtNK2mgAabgBga81+sjqQbeY@K&* z1*3rPG)0y;oK~D#Z+5{@WyZ=`x;xJEWX}aafZ5q61HeJCC4jZ`3*vG17z=4lZywvW z(s$vrk=vtOFm!KMYoF0^(GC*`W|(9Xt@!TvWR1y93AX7}^yT`Nx#e<_9{OeZ4Rg+_ z)>O~rlbklNRy?0{#GJ<2*;sRd%PP9qhe`9-zhBzCV*=zunk&EUVZl^E>+9v`jn?q= z+&8H_?RE>Cu)2W*esGGgXOedwhXj%sy>hSQTl*@*C6dI;#)h8y8Yj#B)L0N|OK@YE zUg{Ml@DNb$_~}_WYT+7Xw9W!EO*j6*J;8qcc9=?%{5^l6jEGcnw|*FM%-IDOMeU{} z`!l*C=^^uG=FS$`o0-H#Mn)t72})B_f7*Vz&uJ2Qr@g*i>VrgrWUgoXyj$IcAe;w2 zUX(o}-7D@!?bE;jQa}`15&2yGdu2FjSq;U(UvJd0?s(#tRp2qX_NO;f%^~MVw@@+c z*fACthg(efq7m*6$F&1XZ083H`^}su9it@YflaFRT6K0~yT%AIjd()q>(|7oUf0Jr zZh7>&*}!^t;^64Ua#BDM)jLpkR8sY6LLyZFH>W-vE4O;=2saq^bWOPNosee2iJ>pB0F@p%+Ra3o%#Tz-|E0+j^%}-G7oP5<NYYsr&AqBNjNbPCM!L-L2e` z<9H3NJM4(3Da8uGe2!UZ)3)=+Qe0^$hV7ANXqGj)()%e6ATBSes{LCBD}ue3x0J$a zmvj;r_hN9Q>80@18h2rcP8>-fBzpsa69r+cz^zYMQdL~6c2osr@9a-QUoGE^DrcNk zLcz!6LLwD)5Ll6bV4hyN71T}x-j!I8MMWbnNMSj8#;e-@(RhX1fJ!mM3F7^a1Yi7J ztqXShdf^u-%4rXcNSpLCv0yScJlk`82gye^)`?(@Rq`+wt$!*&x(<;!4 zN_?L$xQ?yb&A(ISk&?Qs9|Ni^a5T)Eg&bOkHt2NZJgHnkU0X`x-zOgSl<+3yzBcw` z>Gwgzf!?$y#(FlG~|?_#V}*{@%ZIjKPMJdSeuo64ye2g7f)cAT-O8 zgB>bs5=$v&?+hhXX)J!U2Mgbn+5+vs#_3r6CumL$4rN7|=ecftokw}N=d_f{eaDvh%Lr$9o2W>1+ghvQKY<5W|A<%vbrFDG!3>wz4=JB-W#qB=~f3 zGxtCs#2l4>O2gbCIS6H6*LQ-r8?fJ<6|FqMqj_rmybBcb{OmKQbq=lf@NtYRdSRQ? zkRQHzs@pIquQah9(?&+u1ph_8?c?O0jy_|3YM4U1a8X;u4ogYe)NpaLWI%q}ZJ$5|lB(5KfBq;tCNS z9gKqmT)(83tA6IWV|UY5FLxPl4%ukR&*xHi>AWxiWe@&DzK}kX*|#-^y+s3iHOVP~ z+tUyQh^_W|yVp+Esb^6AW@ZOiyC_wLH|A<~csxUP#BY06qOy_l>9UELhbLq686oen zoBbYt81b?9y(#7-D01s+4rvu7&!%=+J39kn&MKaTb%hsQ=`OktcP77lOOUBhqx4tw zT=qX|%%9^mT1a#`n&ngMQ97;}#vcY}x1*{bAKIPgnF2BkwK0R*Y(_EjMs8P=!?5=S zh-$K)x#yrRtUtgb%`auY*OEk#ssV;gg%hPvH|~*<>>X@hZ3e`rR2|nRU=OSR`b=W$ z@R0y0MHFAnMG#6IUjS5Dzkx=}Fpj4dqMA9(3fL{aL_+E;xI+U7h%-{H zYr)~FP6kf3_i&*m{V}{Ugx%5tKA@aC_>GWSH@e1kmXT`@zJl%`#!YmwCa?iUIYHiE z^6B)wP){j&d|!oh%Kl4=5e}>NUVyNJm+@ShE=On45PshzI*qB5W1@5^EjD#T@7^M< ztb`r)gsMLoruwb9QZVsI5S@xtn4V-r99RECB_=fmW)7bXT&%mBNSnA$$`Wq8&P=~+ zKhUVYaQij-$b2GMUn)=+pOj7*f}?q5CrgAk!=+N~Np!e!PT_aBjp+Uq2mr8FoSY(u z>2VCryD=3bwB^YVuu6xQP_RY)d|~XKOl=PtU@q>ZnoHv;sd5>K3VeGO_Qkf7?c#+O z^@k7dqweu@jb(bp@6PhVrgo-Ir!WZ*1G|^F_#|LAQ%fDoh+2j@7qKfGRdgZ zHd35rEC|=aa5`Ivf@Q}E@ER3rS3VE-M&=KLL{azKth+RWj<@_xrA0*dW2*>fSP(5t`S+Hex$MjJ6B)b)^=|K~Loxp3od$ z2=gn{Nuu*=*N^Yw7`m5ot?KSeoMLjlyx23PX;+htYwh!;@%w2^+$#*p`Ym{#j7^=? z>e3Y9&D*${q4yFjG$+WtPR^dCo4yDFU(!$+ubw63`_bsUG+(wfxlyOOolk{2O+vtU zie+M2rxD~3AF3;A!KuDawb+XZiV!QWvegP9NwJ4tN1=U4=j9%AwH$?Dqd1gZUWmrH zO<7RlA2STO--R_uP?inwxnCkj{64waSX5&TGt!uq~fnsdS1dZ7b@NQl!k?WJf$$H zC*hEE6uYl@eJS2V)VBzCU*R*u8boRgYNkui;0SJK7%8M_Z=Rn1`U{h6=#te>q|KAK zls$_MR};?B946~Kv7KdXbwNio0FiltfA;QBj2GUV!1B}N5owfxX=Fto82PT1N5%>9 zrVyJQqMwUEWOpOe?3g9Cx5v)Y(9F4D8k#GP67>dL2+6A-PvnqW;I}Ny0+* zEKBS742j)H-{`6nD}KJ>Q>e5ZzeM+;y`QoFB(}thUOl(G*S5xE{-{_o*;G&Ul%t&11-SI(G$Zc(P-$(^jHhCM ztymIfV^mY?fNnH%{hdpP{p)l;rk})3VK)3%=<-wiv93a~;)^#{1SfK;AG9mqFOWI^ zhSKzCT7xG+3GZctj{wne32$%Cni3Z3h12?Zs13D`2Lt+rheF%6#?hX5ToLc(2DBo# zu9Em@zi8bp2bMfL@X*H8V|!Jak>5^7t$kB1W5&hXABz!R&;yP~mdmP)wQ1sTqA57BK;=RYPuYvxwbEu2Z&q!Q@f-^Cfb z(_oIu;(MW5Q7c}r34K?yhX;$S%e}tbUX36yxdnS=#S$8fhbmJK9@*4LwYoYIsp9tM zI!ozp5Z`L3Y5w7A&y!_R@}+qa?Td?JdQ2Y9pCTsXqB2EncB5`fStumdnqTnwVA1K} zVmFRYdOV7V+CEV;Mp4I_LiF*u)u}D2tAkJK7KlD6v6FoRLB>_yj;=+xg|yzfaD1r@ zHJg`$cbH~6!$9=h(<0=W$og>igi4#Lh@1rK$p;X|YeVINAh(CLOkE;T#gtoe+~8w~+g zSLCuK?MVqc!KdL+PZr!RGxOq%DrUHDC>~9J;OMt!PI}m13clxbpG#=**kK(joDNZT zo^IT1A(k3u5TA=$pu^V#AiL%#aY*nPi8( z!%W+%Hj`#{!I*Q8d zMwwf_wW&N*`Utu?=N6?J`L)w?=1*&+9Dl(hu=ABegF-^tSEdVXSvk~Qn_LZfly4;B z2n+9FfaYSV^vA&E4HTiL$fM>$Vzap;ZkWTAiQx$ePHRMyQUE_}W0MAeUH0!#`P^}$ z4Dy4y>6qM*TG>H$6N~1a3?MP&Jx@;iBYa%H3TU8S-5LG6*$~q;O!$`ImMPu0N71bA zcfz93TwI(K5Fl+R;70_OpS(%RTc5YUU=<8I)P|6g;`ET@J8fuGQur(&`eup|4W|Ar z@X#hz23(pV-Mx9bOz#K?h@Jqxns}2tRA1&=BY2$h3Q!RQfs+)MMhC?nr|_f}H_phj z0K&J}c|MP)&Ez_MBuufzoE^A;#WTdWY%^B{-g5q@zSgMlFT9 z*vIxHbop|lh^Y2Bn{p+GW9XvC;;I~x{yT~08sAw^lH_9)?#>f5UlNn!q?DNOyT z**CY3nGbb_+Sv0q#$goLMz0J;1q$a*r-yqSF*=?tFo_y zZeM2Cd9mD7JK-ZkXPh$5EX}edoge$BUUX>3D1vjaPTIMlEwt?{KSssna)G7&U77sX z-XSB4d18LYrwJw2tbLWbKua7#FtUkxjLm=Ypl9Ke=POtt$}2N&nEM@=v08L&dsct& z_InGe5Fmd+zK+vjFKbOvu`nA-HS1jv;rsKg52J6@5D7heyzb`1F-?yA_v-&B&3Uai z!$dUn>Bvgu&%Y`^y%$zyr6=cjw#kkbANj&(Xq)=QTL7PrnEZV8bwxR=E<+2s+0c0Clar&xa-nL^zd6@Z nGe)5NAJ+8!-}2(7a|QEi&4wIZRV;2(m%2-L@Aiyshkp8RO8XjX literal 0 HcmV?d00001 diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..f9c5aac --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e946ac23b6a68f7a2abbe7b3c22190673c6d3d159b85305268db51b2729ac68a +size 11422749 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..770e41d --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,30 @@ +{ + "add_prefix_space": false, + "backend": "tokenizers", + "bos_token": null, + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "errors": "replace", + "extra_special_tokens": [ + "<|im_start|>", + "<|im_end|>", + "<|object_ref_start|>", + "<|object_ref_end|>", + "<|box_start|>", + "<|box_end|>", + "<|quad_start|>", + "<|quad_end|>", + "<|vision_start|>", + "<|vision_end|>", + "<|vision_pad|>", + "<|image_pad|>", + "<|video_pad|>" + ], + "is_local": false, + "local_files_only": false, + "model_max_length": 131072, + "pad_token": "<|endoftext|>", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null +} diff --git a/training_curves.png b/training_curves.png new file mode 100644 index 0000000..06d11b9 --- /dev/null +++ b/training_curves.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ca4075f513c1b0472f3266dd6d95947fd68df4609456de06d6246f03ccce9c7 +size 114237