From 3e4e040afd822e312050804df43c8ae3861623f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?COT001=5C=E6=9D=8E=E6=97=AD=E5=85=89?= <871066422@qq.com> Date: Tue, 10 Mar 2026 17:03:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .last_state.json | 2 +- add_save_status_columns.py | 78 +++++++++ configs/1000泵/config.json | 191 ++++++++++++++++++---- configs/1000泵/dashboard.json | 63 +++++++ configs/1000泵/template.docx.### | Bin 224634 -> 0 bytes configs/600泵/config.json | 2 +- configs/600泵/dashboard.json | 63 +++++++ default.json | 245 ++-------------------------- diagnose_experiment_list.py | 140 ++++++++++++++++ experiment_monitor.py | 179 +++++++++++++++----- main.py | 37 +++-- single_instance.py | 44 +++++ test_auto_save_fix.py | 140 ++++++++++++++++ test_cot8888.py | 43 +++++ ui_main.py | 272 ++++++++++++++++++++++++++----- work_order_query.py | 11 ++ 16 files changed, 1144 insertions(+), 366 deletions(-) create mode 100644 add_save_status_columns.py create mode 100644 configs/1000泵/dashboard.json delete mode 100644 configs/1000泵/template.docx.### create mode 100644 configs/600泵/dashboard.json create mode 100644 diagnose_experiment_list.py create mode 100644 single_instance.py create mode 100644 test_auto_save_fix.py create mode 100644 test_cot8888.py diff --git a/.last_state.json b/.last_state.json index b1ac5e8..96509f7 100644 --- a/.last_state.json +++ b/.last_state.json @@ -1,4 +1,4 @@ { - "template": "F:\\PyPro\\PCM_Report\\configs\\600泵\\template.docx", + "template": "C:\\PPRO\\PCM_Report\\configs\\600泵\\template.docx", "category_name": "600泵" } \ No newline at end of file diff --git a/add_save_status_columns.py b/add_save_status_columns.py new file mode 100644 index 0000000..708cf50 --- /dev/null +++ b/add_save_status_columns.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +""" +添加保存状态字段到 experiments 表 +用于跟踪实验数据自动保存的状态 +""" +import sqlite3 +from pathlib import Path +from logger import get_logger + +logger = get_logger() + + +def add_save_status_columns(): + """添加 save_status 和 save_error 字段""" + try: + db_path = Path(__file__).parent / "experiments.db" + + if not db_path.exists(): + logger.error(f"数据库文件不存在: {db_path}") + return False + + db = sqlite3.connect(str(db_path)) + cur = db.cursor() + + # 检查字段是否已存在 + cur.execute("PRAGMA table_info(experiments)") + columns = [row[1] for row in cur.fetchall()] + + logger.info(f"当前 experiments 表字段: {columns}") + + # 添加 save_status 字段 + if 'save_status' not in columns: + logger.info("添加 save_status 字段...") + cur.execute(""" + ALTER TABLE experiments + ADD COLUMN save_status TEXT DEFAULT NULL + """) + logger.info("✅ save_status 字段添加成功") + else: + logger.info("save_status 字段已存在,跳过") + + # 添加 save_error 字段 + if 'save_error' not in columns: + logger.info("添加 save_error 字段...") + cur.execute(""" + ALTER TABLE experiments + ADD COLUMN save_error TEXT DEFAULT NULL + """) + logger.info("✅ save_error 字段添加成功") + else: + logger.info("save_error 字段已存在,跳过") + + db.commit() + + # 验证字段已添加 + cur.execute("PRAGMA table_info(experiments)") + columns_after = [row[1] for row in cur.fetchall()] + logger.info(f"更新后 experiments 表字段: {columns_after}") + + db.close() + + logger.info("✅ 数据库迁移完成") + return True + + except Exception as e: + logger.error(f"❌ 添加字段失败: {e}", exc_info=True) + return False + + +if __name__ == "__main__": + print("开始添加保存状态字段...") + success = add_save_status_columns() + + if success: + print("✅ 数据库迁移成功完成") + else: + print("❌ 数据库迁移失败,请查看日志") diff --git a/configs/1000泵/config.json b/configs/1000泵/config.json index a3f1b26..852db14 100644 --- a/configs/1000泵/config.json +++ b/configs/1000泵/config.json @@ -2,7 +2,7 @@ "influx": { "url": "http://10.0.5.232:8086", "org": "MEASCON", - "token": "_jtoxcVDIbol2Uqt_vlhidut-EO0Xo0ZXea2UC5a5Bgotk836F0xPN4NSGY1jYI_WaBKRau4RyZ-g2XSFiNdXw==", + "token": "JPZMq2UP5ORhLq8CfsPbawl6k0MSDlJmEwMJ2uvR_TXqW5bUOWIYBQOSXkGNzDqOU3rnuGpIxGxrB_mlAF-EEw==", "username": "PCM", "password": "1842moon", "landingUrl": "http://10.0.5.232:8086/orgs/b2542eeb72a3e614/dashboards/0f8ab8a328fe9000?lower=now%28%29+-+1h", @@ -13,106 +13,223 @@ "chart1": { "type": "chart", "label": "chart1", - "title": "", + "title": "chart1", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart2": { "type": "chart", "label": "chart2", - "title": "", + "title": "chart2", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart3": { "type": "chart", "label": "chart3", - "title": "", + "title": "chart3", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart4": { "type": "chart", "label": "chart4", - "title": "", + "title": "chart4", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart5": { "type": "chart", "label": "chart5", - "title": "", + "title": "chart5", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart6": { "type": "chart", "label": "chart6", - "title": "", + "title": "chart6", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart7": { "type": "chart", "label": "chart7", - "title": "", + "title": "chart7", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart8": { "type": "chart", "label": "chart8", - "title": "", + "title": "chart8", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart9": { "type": "chart", "label": "chart9", - "title": "", + "title": "chart9", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart10": { "type": "chart", "label": "chart10", - "title": "", + "title": "chart10", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart11": { "type": "chart", "label": "chart11", - "title": "", + "title": "chart11", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "chart12": { "type": "chart", "label": "chart12", - "title": "", + "title": "chart12", "value": "", "dbQuery": "", - "chart": {} + "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + } }, "table1": { "type": "table", "label": "table1", - "title": "", + "title": "table1", "value": "", "dbQuery": "", "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + }, "table": { "firstColumn": "time", "firstTitle": "", @@ -122,10 +239,19 @@ "table2": { "type": "table", "label": "table2", - "title": "", + "title": "table2", "value": "", "dbQuery": "", "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + }, "table": { "firstColumn": "time", "firstTitle": "", @@ -135,10 +261,19 @@ "table3": { "type": "table", "label": "table3", - "title": "", + "title": "table3", "value": "", "dbQuery": "", "chart": {}, + "influx": { + "bucket": "", + "measurement": "", + "fields": [], + "filters": {}, + "timeRange": "-1h", + "aggregate": "", + "windowPeriod": "" + }, "table": { "firstColumn": "time", "firstTitle": "", diff --git a/configs/1000泵/dashboard.json b/configs/1000泵/dashboard.json new file mode 100644 index 0000000..6ec4c8a --- /dev/null +++ b/configs/1000泵/dashboard.json @@ -0,0 +1,63 @@ +{ + "canvas": { + "x": 0.0, + "y": 0.0, + "w": 1920.0, + "h": 1080.0 + }, + "widgets": [ + { + "widget_type": "label", + "x": 173.0, + "y": 210.0, + "w": 162.0, + "h": 62.0, + "z": 1.0, + "config": { + "fieldName": "主轴承#3", + "prefix": "主轴承温度", + "suffix": " ℃", + "fontSize": 16, + "color": "#FFFFFF" + } + }, + { + "widget_type": "label", + "x": 46.0, + "y": 378.0, + "w": 162.0, + "h": 62.0, + "z": 1.0, + "config": { + "fieldName": "减速箱小轴承2", + "prefix": "减速箱小轴承温度", + "suffix": "℃", + "fontSize": 16, + "color": "#FFFFFF" + } + }, + { + "widget_type": "image", + "x": 0.0, + "y": 0.0, + "w": 649.0, + "h": 864.0, + "z": 0.0, + "config": { + "imagePath": "D:/1-2.JPG" + } + }, + { + "widget_type": "web", + "x": 649.0, + "y": 0.0, + "w": 886.0, + "h": 863.0, + "z": 0.0, + "config": { + "url": "http://127.0.0.1:8086/orgs/b2542eeb72a3e614/dashboards/0f8ab8a328fe9000?lower=now%28%29+-+1h", + "locked": true + } + } + ] +} \ No newline at end of file diff --git a/configs/1000泵/template.docx.### b/configs/1000泵/template.docx.### deleted file mode 100644 index 396fc65992b452a819eb9cda283e0bb8a7588bb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224634 zcmbUIV~}V;vn`6YZQHhO+qP}nwvE-cZF{wC+jjR|-`@AUIQyLU=e_z<6&X1*t7=5m zj2xMzAPo!x1@NC1E_WdCpZ1cZg7Lr)xaIxm;s#s=44OJ#Em8NBCgkPh{- z(k7VVtOwAwq~N|FjcTbL;fL>I+9Ydro|ml1L9Pe>}_W_gggc=A&ue)KxjnW;)VTSXrgnKmny^A0R6!0KQY; z^~#k8Dw^Ng9C4XBg8x6EK@(@LR{sZ$=Rar=|95DN?VU{jgH33Xpwut}O4w_VJH>jN zq;{#51@|8&YS4kG13D6WvnW}uB#zvUAZhtM!R|O{d&78amS?_cSpnYP9U zwm-6(RWPA|f_M~q(MmN;F6uO2%14+}DF&)F1j5`57J2yiCEW$xD-K1MV9m4x9&yDm z$FgB7D{LsnL#qUtkU7Gfj+)jJ)zr^W>@oZesCy9!Aky_R3{wu^PuYnPV8wgHjh-v2 z@CZ1ePPo1hv8S% z+rG>FDmuFk0v=TEdU21jGC=n^0k+$?DPHeKOdA9|MG7*+$a zZXw15InIUuiwJ^s&QNFhdKFyeQX3ygX0p7jI>mhu%#65a_i-Qm>bb{@NkS^593l5+ zKyAv;2ou;AqH0upAV&&|uR*%(=)vZ(s31cW2Os0IAb_xg@kT&m?)3`|zT=Tx^rdYw zeLo^+a^9idseDWRRn021umR3bL>@x~&czkAt-xM@c~*P8bKw9(2&KT`Zhj9v_c3J( z(p+m)`7vZxQ~wM&wI{I2MI0=Ie_VXs2gxae=#pSpn3%N>K?vTFchCJ4Q#HiDp`o5F zn$hFE6L}iwi!3-5GuCRw4!yPMfmT4lVrvq+U03?7A97WdfF&=bv8(p*Fl4f(BK{C+ zz_)bEGvPTg_375P=BRbG@y$iAIf3SugjV+8*Q;ML;g*{2f=YYNC9jcaZW{>oL8+64 zVR|b2BeCidn1r%9adY1M(OWiMbo*P8MlBy|f=*(b|d?GnX;_3y(-!pxH#DZSLAafhOV`F&jFtb zDFG$AF{cURyJN{0kJgcvE?+Q+aHc&a6%T(`C&fPsUW!NE61{@O6mJ~?yOO5X9aEZ_FUcGXtn$$_ zPM_vEkbLU5pZ=g$wH&-m_#W%7@1bIt$}@ zmoxoks&jO};GJF}>>BdhePo&FUB%1~UueP98HeO>(q?nqa~cUhshc~UU*h>l|93Xp z+!LhdXCJ@s^R@4Xpcd|-GvT{T{smG0SNnXd@G7<2s%mjBXRlJ7X;gqqzjVaJ#RCWs z3fQDczi+rbE9NN@{+tJD-Q79OZ(I|ip_;DSNb-paN|@|GJNNVMLl^BHrqG_r>q{fI z`)EKMO%D}-rWlHJ#PjXIxgU*44&a3y3;CF)4WNN|%7PYC{s`5BC-DPv+@IPDKi=Ss zPVwX~y39#z7l7@nj+;s}#})lSd0)ig4-wuAy5oZWu%$m@{71CM7DZvYvAE?pUmM33 zKv4F!1Hi!a3}?WeSvszOLlZGPLHl|SIKtM|6EK7wTqqz2H$*}ZINhLdgewA$P<8Me zf)OrA7{Vn1O^61#AmK0<1SH{#pa4X}^ghE|^SC!Gdtx)j&k4(6w}j_FcaX0e!H&Ej z2VLa`Aec&8Mpi?$qBL+JL~hF;7=d~#uXR&|>Bq(Xv31X)0KISO;jGC+W_z@48fJ|b z_UUDB!uluVXv6KZcS8sOIz%Ql0X@Sv!W6*N2Fxh}=fSYCa*Pces`LwqLY3vib$3df>6ln^X_= zPW1!bbG=CWmG1!Noy+nF+`ql zu^rKiG-!a0(Q{#I4a{1_sVg8lZEeXhS)Ct+t zPP9OZI|_MPJ#=8e*MoNNN3z~u7^QR3A97%f!@$Gf?#%4z)UAh6Lc$M+-%aOT2Q&KKWS7ai3u9|_ z?MvCj=+5^YE9J-6W3Q{-)$y7ouua|}t1a%5>M`1-Cqi$NqRa}1yBVawLIYNW(&V@y zFpL4{Gig)48FH%}P`;q}!8H+bbXFM95!88~7#zVu{Pc%C>I-5ikCtHp^0_om^yr)~ z|D~0ytwukVtGM_fz3o($q1UP?{(3xq@5v9(px~dtJ1H6PpZsE1Mooh7JTP`r2 zG8tNWAbK$jHolw*pp%9CUM}b5+G?C+cFP#!$)+`qvZZs;p0se)o^c%v#>R<>PD1k9B~8rG~^EYuE!nlTZ=Q`w-K+$ZzW!X-$cA}f7&u`!rY>llu@;m ztv4-U9VjHK8cPDTF`c!;J|z|V^+s&M?xQudb$WBh%#T!u_Sk5|-h`k=@)+g}vyoI_ zrfH#oq0T~_*Q#D8CwI6JMgn?SYU6`i%L;uNNP;2F*xaeB-B-;!v3!_$ukleXF#Y^B zbz!FOuJVjO+JoflWt>E(S>QR*{ovt5p%=vnZKHN6yCV+1W2cEpi&T@%F1rokxPhBT zLggmJy9pD(vhT>fNr9&iZOIa_ggjRM^zYQ>lXEZs4rf1gd&d7Kh`+sVZZBVepCn&c ztvG+qJ-s8!7l*G?R=!G;&e3~vu!`D4DjY+Q5!9Ky6+|L?wx1(6fdF2kl_`ZvrX@iL z)09U^<|KjQvi{dAwq~}}?buMX(yN)*UPCWsx_kn;n(g)qc1?XJ*R zIg$l!B(tYVVD(fEte(h*GLhX8A>e)}{g1h$4%&xOqs;b#;mRa-)Nv7bQias+NP%r+ z^p9R~9Yfc@22Y}lnB{UiOAQ&-i()$}G*F((4gaqd6@q_`fi(Yl9nbprk=s8<1qtk^ zQ^T;NWorL%R2Ys_F7?lu_k*2hR4X&DC6lu6iR^zHR6$90-5Ae~5+$^!O8eiY_Wv=8 zI3CwsK|rQP;b~`mB0Iw5C>*Iu`fnMLcv63;Jdp#hCb~?ihx(8Hf3t`3-^)E(qWZTR zGEWLXsuS4|Ch|M9pA%sJHYsXC!1bZD@c-|%LV&P_R~-k7#_H0nz~ zEt=5q_+(Vy<@n?xo?eC3e4c3>y5U$6k|%yp;^m8YN(9toDcGwv!JksToYv?)9a>RQ zORsoUfNu$3?Np=lbzkbwnVyW8{)sob{YV9+fUKBbtNXJ|ELJ#lk$Ch~y`g1`aP_86 zOBU5kaT~a-Z#mp|l@m?nDP>CWT+dP_yT_+mK2{a&7Ms}5_}T$&glIehc={d{CtjqJ z!71h=e_k~Da`A8Rlt>nP6u&Ju=+_Gu&1d0~GTS)1A3+pPFr4C+iHl3j?Cv*aw-A`P z_~hpw7J40&Cd@Z3JqBd^jcB__<10*kv_gc9V>NWQH-nx#_C1#hyq`mUfBRZIIO9P- zS^DCWN;{8g9-HfM@e=deZv{P2V1kb1>av|9IVh_(?(;Q@%YefGwl?^~iol$zr|3#z zOZGMw5>-20&Ll1*I3`To_{8jyfzJ{OK6;FX=|}{>GGyN1Hl+PSfRf9UG3!nRIAUL* z-#%O4$`brmr0|1aZzId&^wt!{loG^VGfT{2;mnKTWtAwzo5+e3W6kUf#nf$h{KG_; zN#c&nHf;qWpJ|osrs#=s7@?8VW5>2XJj3Z3<$|6YR+cRiedK9se(x;cIanGqTp=ZKlM_zO;YqO(=D-J3nAGeXQ zsp5X5*q54pTgQ`m3-@=4?INr%NkYA-&{DhsTJr}w4CWc zQ#}}7+WPcWP>OFzwK{k&*Tg9W0|Tgw8fG$k@z7{v_Fpn4kx;z>aD#2f4tg|?zWe6- zt%wuw@0V`?kAJoMgco4>##eUuhF;wieUbs{JzJO`6kL#gtQ611s2XLAahD6V&KtDQ z8aNwm7a*93RV0CN@$JaM==w$XyX@{Fg$npFK*1ueEk>WKb)Kt`zQ+LlBK13i{RiAK z{88#aCdaiLFb3}53bgE0YXz;N_J*YKa0lEmjwxEYd7jZ%aUQ3nswb0c7Mll)DmxV; z$?DxR@o=r(2&dZ!W{I}EKIv+sg`d@T4tT0T;Hc51gaCPA;@` zjv(7otJ|)Lr9RnY1bs{tkI$Un0?2$UT&L$PI2Dn!_ZcljN>77dS<(T>bp4!P`yDcloCzyG)i=8fxR*#g zW&@`9b~g$@+pg{Vs$>ejM7~_w`^b6YspcA7#}?~)IR*Zb@0|STU4P;b&)2>v^{7g6 zzs7A_ovExg=Ln&S->zuSq~SYLFk`UM&MS$?<$We#{wU!C zp+TEIoU7p5?;$~2dAFue$aSg|`P|a2K-5hZzJkvbb}JAW9yM1bwREaO)nHkZh^F9p ztVgBj>Mb03kt0pIvWhc^jL)f17`5{pJGj1GOjsU&Lr{K6iC8c>2B+c)E?C3Vpz5wt zrsHMo8%nIg!PlP86=DOSq^KJCkt0pJ!W>yH3hO&-N3TDId^v@?w7<{$ERu?}c_-pJ zQ$o&Gr#ec9M(y4o>E+c^Aj%5sUNLfF8U?N1-Q>-Zl3T4<#J4J#%0-{c|NVc^P2RvN zv@zfS0Gnw4O*j2lgzRkU;$mrM{$Bxb3&y71A=`^@;CFccZKP+J35&8q;gV!_bFf$G zr_7W~HLfmGdK|y;PQL?$?S2;=l8SnAR||DEI-^QA;uF#ZHpH{jLJy7zAUEmZ z;>bg-*HFBP_vC?Z2PB=0Wf+i$=}3WeyzcJG%JYrr&bdn`CvInUAt&}dm30a|psS&l z&hp5`O@n3driwxyIThONAGW?`TVGc#TptR8ZH2WEnl#|SRqQ@pe)pcb$JX;M#CAaP z0#KVz=gqo!!saov&mHc7z!-Ay+J#7L;=h}%{=)6N=o{ex<3HrpGB}%fbtk>bj%1>hr#r_Wk zp0X^7DBkEgfGc^X#R!3OYE9(@l)y`WsX5Ji8??jkT>osH+P=B)gU+bdQhs5nsPcK< z^w`EHgzum8AGhwti)<2BzwYq952NOHO}ctB!z3emR`Y?W$H~bCByxRz0}z|{(7S)v z^@e*gEOcJ`7iir~jrP4BANKZH6WASq_W@CyX|x_{quz9ooa==|;M+ErpZp{bi35{8^czR99ZdE+mw-n#Yy04=%v z27Z#m+*rgotuXzq-8r^oO`TA0R#d*BJ~TPWg8rV(aTl<63L8YV#tGvsL?`>R1y7>PCv zL1U*@#ueZ2WuiE&5@lplSR+UzC7Gryga}R15`#RnBNpB$;aG^sn=*oEh;q2EG=);d zK50z67k-Aw1W28bql7430-*@$bEixQy0}WS4Bq@3X%Uoe*93nJGOOR05&P&B! z+MtWz1F-;(EK-cPc1iP}h~^COVJDJ8q5>h&HCh0QlvtcI2D%# zrTaf&OW9GDFuL*g!&or_yrDDRM&98j;bdGoDVAX zAkTJ+fCMt_nFIK?`x z2y^FpDank_+^Kf%#co7xQ+~#m2#d(XJ^{+h2~7qGM0M?mLnwFDYR^wmfqoaDG-eC}IFIvy9XCZ` z?}Ls2GCHxwz=1etW(oly3=$FJ3lTBF8RjaI9)ME>L5Fy}@7>SWEn?90iXG$v^(yHm zAa1Jkpbix8$%MNTwYHWwVOEJe{+(P}tWi*0#aKa}KK!sOY*Z~1R|e%rtIH_!H8=MCzeU&kB{?{8oE!|B2M_mRR1UZS~++OW0tcVYdv7f1fcND3HQW{*xekGgJ5pKM8{obH07imAMpQ?Thq zhEq;otLwM2;h*c0t7MhxK-O$)ERjHA@@c_aUsrLtglv45k*02RYgY-Rc0^f9Ka?Fl zm0>b?-CSMF@}#|Oxv0_Z?&fhu_jvo;=b{ot8n}jICu`S;NI-&pF(Ck!co+y+ummAliEChD z40p`B%gX)(9qcydYG!J(s;@(H%9u)Fw_Z1zH@v6Aob3Fcc2?RQ8jrw>uC|#zZM4ih0M<;7VMcpq#CsPx2whwSA!IF0Aaea?n7_nT zcpB{3lHF6sS8@>QB;K+>Iojn6GInq=_0h2sEOHd1c11;Ov`-x)#Z&QW+zH=(P5M8T zfC}4z-ypV-|0*;|wx-?#PQ1!h!V@YTbwzMWf&{kj-SJU$cbs4%Ycu6SXVi^ldH*e$ zjA!s9x3}!>y9K=4WARM}UU=Ca@0vTz+=bCvUDq`z5dH?tNK6$k2E_;2n_thzN-EQx zy9c6!5?VbeQRwWKO*#@i0HsGcEta^+<*SqsSlur6nNh>qjy?QHvH`S(RGlPM;S7h9 z_yJo=17B7eO7^L!(mR!2HcK^HS6g9yxR0>(sBhL;h#-Y_F=CY8Q&Su1X~YKdJJl=h zp%LJ>q^La(0wTN*#tI@17z3480zifuAOr|R{!`-wRv17u|7C;8KQv(9A&1cqK&c>u z@Os(zwVuxZ>kTq(kh2#HCJQA*#t^9M9*lx8SrL|)-o%c+ryq0Sd5=8UZd~?0Q^Gq$ z&XI?Gw$TwP9AS8pvq>|tE|6_g8ITns2`I%#8*zXv8xh;*_(U3ecXAx>cmGhv|9N5m z^Ss>m_4S+kj6=O4l*9MJ}1Lo-}DwwZiV!L?qU+!uEJuAmTh95vur zq{~OHnU)PRK;29N&uRcde|e=JEgMVTZj2RKa4 zqDeX6IY}A7uUcfyYG5fAT6&p<#Mac%4}k#!Bf>Lc{~oska)%MXoinYhYkG7lvqxG# zlW3#xT<7=pUe)(;upIwO5}wL8R|RvxHn^jr#Rr4=&Y*5(5F~Sa^tyxD-GuyI#Y=Z} zx&<71Wk&ZP2<;!B=pQXB)(w2hC*TDMB`}D>;z=i?iO%6!NMiw_(IXwJ@@g9b$>9Xw z8nFZb*`547yzMdzKiCR}hK5@E$TtomLdROH0U@-91;Yz3I32giL<{Y_2($@`M3 z*}V$POapGIK|myomY$F(en?|pcuv6IU84wm(mSf@2S*JnDfq(Kv{N>3kpeg6H$J@R z!NR&}iO=-T1Y8HxdCauVHn2SK#3!J=ovXOgbZ-u4;zEoTQjrs6bAKyp$orH~>0nas z1#2DHMEbgOP8dq}rjhBt*H1Yh#qS(fOyQ!4+9Bpp|HomLRSHXj+h^~u(n)gnc?z$_ zvuyfRq^oZ+b>GRLR))pKh^1Hk!{*rt6}YC)6;$CMH&1aJ)(&^J*8}7&*3H$XE;dtl z8J3bx=8#wE$9GTv)mAXXt!H3aYcl#bH ziQm4rhm>$Y6QXN>J_x)w@GN}m_v|fpzuu37=vVWi%5x=?&@-95txkJ%bXVzPm+}!|uqP-sIkE8irhgC-dKCPie787UKgjE%7FGA?zdZdh8Z)A9)LW+KcuzZZP(Gzi+$xKll9pPfY%;;O=mv z%@fm|Lx4=si{@Q-Ht2Whd$8a0ml5&PblrpwPqb0r0w~z+!ypc4M<}!b?SWU7;1D41 zc4+v}JSC<=^z1g@YS`+BW#2so={GC&<`DZB5bE-1JeCq=!$!E%`>97KuORNv`iMLXOn|9tN#+@ z6Hz)Dq3;AE)fOBQSj+!I9GA7~=8T2(hW8rr~jA=2QquaoB*9nfnQcuS!qHKRp3N zmJ&W)0mx7ye0HFfmPug|WIr??GnN7on?NXtoiq7|^{|p~I@C}t@`^mAf?oS&ngp*< zK-}$CdwWj7RH=XH8JFiQQmk6gRauxE>Sh9J1+q>MgXEJ!g}Lo7yScz?u-Ccr@#+W^ zYD!|I@33Zvp|@k7i(|t!nQib~j+`lW!hp88I{Wv!IM!fIM?!TGGQr=xO$Zy!p|Y;YqcjeX^6$n`g05qgEyd|=-0H4%7g#siXg?J~$; zFVE0Dfm{AzGr|bdWg0mBbuwrz-FzvViAG!_3;J^{vleC)#ApLMZfmQfu@sMN@4We9 z)3(uPyW`f?+`Oq_=86rM)gntX)ub1TNqW_5M}BOjb1suq$pVJfV#>CSrtGWBXB6MqOqJL> z+tjH>HQ9C@#7kygd@S{{<4~jxQ{N0j<7$ByZe~60(Dw0%ZkB*r^p^c_K0r$=nbO^1 zGe)G7n;A2tqy;ApD|mcE)rg-o3YFEq&O_vsbA! zIQTGYQIgvdzD1G4;bg3K*Tmjil{QtiP>TT4(L_OSQ?BEA?HPyee1$2=I5^@tg~-LZ z`I`Nbk5R704GFPWKxyh&qsDHcTswkjl!_yqx*Pm5a0+kyZ-=E@2j#*lqolCI;p=Z+3e zw3&QDA)lZKonpNvU46*Jq&_5S0mdeVaGExrktm#-kN)}{qBbtK9ZeT_Cuy`y?p7vD z6AkmqLHll8^NEB8gY)L5*5`^%Wr~(`TWaZjEw=W-3M8X|KjOkgaX*eJqXt}&pr&2q zia^3t6O;3nJe-<;m(DKJP*bXR}Nci2g?9p(PO;r%TY@003;GRh;AV zk2NT&8aOLjfYea3R=fAm-o37S?+zY$`GiqIC(K^_GGo7u66|@uKn2a{#Nesu$y{w( z*t2Yps`?7w?hSmHkSR+V6gMqq#<%LlL~>0%-S9)AJGh!|LhDB_vT=ZH5XF*Lmng?I zq#pOS!mttX!@VF5wNFd6{RD}_Ym+N$;ToH>%E{1;;V|-m;vH$Hc5ADw>kZwgIHOKo zIwpMTasN%(5$!B${9^@C+XSujyr9Z1vsQCWtu@PhUPB`9lY95f>l;)%kgMR*CAPhV z)TkdNtovt+xfm%da5t{?lb32NT(?bgl^VAMyd<|-(2LkMy$Y%uQ^}af5z3IDISMTG zQscrpT+uwOZn;YcR)u%-_Iu&vl%w$#6dHP|!onZjavb08THq3}#-=Qnb zY~9jl=f*nTLdA8qvac)6-?AB_=1QhSzB4JSJ|Z@6BQ0~DJcsuJ)<@l4jRm!;NWiSL z8klp)oPJt$xp%eg!@_mLkw(+?>hVJ*2M6yFSzksn_yjc6xNIl=<1{t>wb98!HF~+z zp>HO~IMbb7g8(`5tLX(phL!B^o9fBUFP9lf@CJo*X6Hg39-5>^qzNR`&q7^e@KSvi zl>*&@twwp=wr3*35bj;#*HF-SKs6f|q%54A5Oy9Q-lUov3BdU~Fek7q34`^apiKby zHsOUXdJdR7*z=bDWej(~J8s=%H!ybZqTn$X^{?QfSC+I=#s+aw>M&h~s}^^R$UdbU`_zP^o(DLcI?yv^aBX7ygVauZ6Y>s72tJ-yIeFqF zW!~6F(T(VZcP3j5ws$Ux=1_cA7GdM6;<$Fey8GiJ6m4*?PAbU0lOTA-Q-pE0gU9N; z*>Ol#joBwM;C9meovq&!J^V*F#<%#KH=USz`|{9tPjz$MVsDglcR2)patQgitOtMZ zyXqkM$Rp-k=C9Ncizj9=-9FSGk2wWnQl{Crb>*G!Y45jBL;7`v_WsFQceU9jor5qK zPtUnIc3-lQ?GfL{(jYwK5cu^mCU?66UvdaWBQuj{yrYxe&aMWXgWimrpl_22;;_p& zfN?UF{gCkUXpAG3vfMpoRJ_09nbu*arGGGgy53IyPioH^!Kj}8AHfj#e-jMM|3xrp zU&bFwsr|+c|00-@@+ENNZhCTdw3(Z7-?lxTxeyhn;-{|NGy9Ed5)vY8(Nhx&Y{1h% z)Sw{%I5K?AiZ(tJdP(MJ)tlcjW3D2WYcH|Wi?1mSBOvI7! z`;(dXNKQK@!W!G+&L#onM?Iau|IxgnPibK+xfSU{#hRf^?H2BK8-wwaEE(wUx8dG|uBP5!dT^ps- z^)c><9=$dQE+!i>jNlHikMkD7uwI*FR^Zk9-d2Ak5XtsPXEcd2L_)*g4h>!!o8@RE z+3An_a4&Bu)9HE!C%a#y5k7w60ivrdx@!{P&O&ZS^VI%qmp|Ja3PICf!0*LW_7Z0O z3WDrtd^*cI&4=Qyq6_gmRF|Sipm#dr=#SL;m#mqKJJ~?1hZFMD_P)&go4=Q0z%0q{AJS z@Oapc!TDGayhp*E_&ulhy?vzn$5&Y9T=%I3lJM{O;4ZnYN&pt+3HNC$V}`A=2lnrXNiaaN=DLX95l&j#G1e3B~5Du z-*X_R7)k>o34s2|Jk=K{`NN4I;Kb|#;R+w@kzFOrw? zCT$79_GgOp;>*bG_3Sduy08M+W#9B-ns`a{Lk`*?PUXxh)kp&(lxe|5JM>%}D=W^3 zAVXwsECq=i#;Y|zhR6JYbAlz;11NDhMMp;vqdO*e>2Zm z_muGOb$_ayob2PiO5zqID31)x_;k2 z)cpggXYQYCiL7Ds&K4lXRv(dHv@P#ui~W8hvgo|mD7T`^PdlAONUOlsXVaYjZsJmt zUuQCms>X-@3r1(hW|rZB?@&^A!$+WI-);=m7B_=+N5#w1+ah9f{aX=q*2oFyh2Bp) zZhd?om(_3U#87QZ=3w}O)}Pza+DfS`lE9NMb+kz6h7B?IVDfkAx{{r|DIg@(meH{4$ zH!i<6yP*y8Y29M*_&+cD``?fKeobtCQQ~dcGMvyF&S%FsYGm+_gqF1jxQh)qpCrE` z=4gEWKRU|_c!0D*9E7J&v}kH=*Jz#VZ?@|<)@X@l3BLHxNvaZ?1L1x8`) zS2#c;7`g0rraN{9aLdE18oLH;3Ti_z1*GVj`3zTh0N`ctc8hWZQt<@iZVJjly_!SH zK^X?IlR!Ll3(Q1q1CXgDkR94r+*5_>(mUOcCZ~lGjCv64loP}e#|otr1e4&LUWdKr zoWVA-KoOS5*~8S%{iB2-FZmp_3=R*%27Go7b8n~vx1*CMS;hPzjp7Fw8jXII@n_st zz|>Td@$SLJ6|^_1C@lUF9>no$0MWnWx4(=MEGYucN8AYKVOlF8s{jLlWx{;^bp{ql z>C{-{j4QvO16J|{mlWt6(4Mspd*sSghie(<+ZtG8#x~fN%E9)GV zX{+1F-c9c#P0=)z(cs)uay1)-SSIPMi*}i(;GN5${(t zI{VJ=#e|b^9U8j(rhdq6(X~^B!Le+E*eb5RN8YTD9AwT~%)>FwLK0VDx{3m$Z3ba& z=p!`dT;-9I2y`u0tJwz`4(LrEeq0rR7p|y2LL4V1LqqZ$bs;fTZ zgqoyFhjVc3i&$G4&u;Cw3s;_0N-CnfSgI-Axc8p~eK`a^_3Bc_gSzOO!e6#%YpWs< zcqYi59T84H_QlFyu5T7zS6ua-hAQga=c@G}I!u2pRNyZwj&@$ICnvR9mIJ$#KZC?= z<(|llij(#C%lxDmN;5&L%55ZRbIUJ8C^cI`%+bA1Qic%E^Yr_0aXK2#TA(W6EFaUhSD{56X=V-;t74a@t~p{W&y6k_(9<0u z@j9O6LOz(j?!%1Y3#SY5r@5Ya=br=g$YeYPA>z!SThwi2rzKcn?0a!y;KCdXz{2*V z!abc^UgrnJ4{Z13*sf}^AD4?e)hy_0{vHf+EjKiCtYGRk!u0YWj2S%;Mb=_sQv#MN=>Y6t}yOw<|`$b+9R9R{+b=V9#9{UjjZo)^>_H#&9o;o={6*+jE*Rod0h2XWlrjL3dQRXwvlb{w~2 z6|U@9*Fvh!AV+LUgIBy>QL_3vpHUg*wVSifE60pwxeA&ACqUDeL^8w15-fELG^dzawe^4-;L)I z-`A7xVn<3c*742C6>E(=b32A>*_9P#>}ouNOQ=QUeT;}0WBI4xuu{(TMr$P?LT8bR z-N)AWW=P8(r}fBzGPhG$&L~vl0MlJKeX{0Swm_rY4pEdc)M>hFoy$UncGdnkt4M^= z-_hH=D92a7%}n)V8i`Ft6U6k9nBu;1d`Y;)8M*TM18MuAR7jcdVy?Ht@)3H@waQgH zD_)+bszz4GVIMSyV5^hco(%<@+jKiqR$I6{C2L(iS~19q^k)gM ztjjDbTv*hBsBJkX|L?aUf@X!H)L*C0=8hEzGdCNKaRF-T2Z}big7bRbgh9W)-h4GP zU{~GUPodBfmh^`l4Hh}we-~EhcDWZbA zN1F5Vr9URTH_^Uz?v0MkqATnA!Tj+15UM+tRb%I%2cSamS_Jl77 zRzgl$5|Qr~f}=(HnmumiTJhGKBA~h0z3QLvj+HQ)xvkR%bw7wsoFM#9sSla#fYP6W@&kZY+xhu^bLrKf`?Z^co^jeVxQqYx6gXymvY=N=Z$t(6d ztQRnP5r~qAXZD4o>H)V0{{_q(5$u1K%t-(tK0O)*r?rMpo3NKqZOR#0Fj-xo-MT#7 zp+1)c;P2RQ`y8;|FvRHwEnOvGE4hAR?sX+nfx~Ks2nTI9aLE@V6;d^}cTLc?-Y8A!K6BwMaWv2sNhP*(GoJe1AU_-)`@;>&Dna z;&Vc~J|S1R{Z5}hIG=X=Z@YU@nF8a5_l5@3jS=sF4^Dr<|7Z0AW9i!w<3Do2lkfkk zUSRp}>IKWHLn*gi;CJ{@;CF<+-lXo$+ikpN&qQ?3T?m*BTJ7u>jmDw=goJK-U_!{h z;W9!PWRQg2Fece15@hepb)T}o(K%F_y=}MGH!gjFfpYo-%e1MLa=9flh0c@uKI{!O zTZ;dwU$A>zg3X+@j60|-HQqWoZCYva;zJKfDw0aOv}k)zMmy^J{Q6hF5Z&IP`i=9~ zEy(POvhCd#!%H>@BBjPmdLY)8su#Q6%cH2BZU3UP!b0TggG!Nv5~+=6SGAcSphRPW zQ%dj$XvPm_`k4iMWkGj0ZE$b&8Fn!3%lC*E_$&`4tI;xZAJQOs879U%JKm?vQ}ApZ zm5`+*lgQ;gefkbx@jlFTF*B!1r1d1kLv(PJrhmXSsOEe-@!qxoFme;7bWhHI zuPpTml=d`*JFPW1;NHvMjk@Uh1Z-$4j{W}euY!2}Z>)MFaQ~0N0F$4S2&~W-Z|>U> zowvW+rcD8>?~h7J9{#bc_xX9D_lXzST9UKd0{>$$aQ=_Ma0Ep{U*^Wz2l!LDwvQ2f z7u9{twepRcx0~&PdZB?3g*Z4h{!TmoCtr?Lg}gPqSK{6;E;Tsh|veG9HhV~Lx&d8|2Z?U$XbW5EK`6TMB>mP>Tl~i zAxNb*F+DxGTU>yJS1PL`FkP2)&6~o7d1(Wj-NP`nN{u2}W%}&+`afsoRbTh~BWf== zR-~zh;v}39ov>xv=Ks)z#!Yq5SxX80^FB!3m2oone^6UUC*7qd;N*@(IT!c8cUtTo zc8_5hOx7?JepCQ&*#Xf3C%V}+BWPlr=sa`;pu!xx*Tgm-$R>4S8e_7cNAf-xSaqp* zWk=|E`MQ+}<%YyrDt?Is;)~&ET$vRXvctuKJ|ul4d*nYDJ4ajtMtvrb4I&fZ%POM2 zGoYn`=j@4ao)7n8dOe?$b-Le&aZX1tb;)}TF_a7`sR%-%yi+Ne>6A);L6O}4kwl4q z+r5P3jPS^hK^_qkv_3+pkF{a44{?Sk|Dv}6f>M%?(oScfV?f>jXD00HAZ9_?YC|I5 zMI*RGtAP6Dj`0%Fxt2>1Yy($~X1RIng9s(AV<|c6i}-6%-<%cHh0AubnRZGV<`PJK zR54@-rPfYA^oWqjbr`KJzF!#ezk&d7SGNL$Y0rqJFZ>3Kgg`4@OK{r%2m+Hog20yf zk08MLBM7h_bN&bdHu|0f`8C%}$xqJSBLT^_LxBtlD2Ttm{aCaSy5Up`HG0N;{M(>( zZq+JkT=*rfIk2gqx2C53bpv|;o|x{JmYnTD%t$X+y>$e6)t_HnU%_3xkD2;ThO{vJ zYpw$MKVAU($+_yzrA_TNYBk%b!0{iX6}s=Iqn+=MmEKRMC5O8@H@r3Tdf^p;v0mNW z_$|pCKhdWTuO;OxBE|L-1$v*G+w%JHT!bwgc|r61&Nz8-JA}fpxL93lGUk&t??_{Z z(f5aEEG}UkJLo@%1ipNrP3mvo0IAZh5Yxjm#+nyG%7xFORKMJh7@ZyOr{#|(tz~Db z#(_B1BWEd-wnPN3+l9;=Zb(^UI1#h46jSVQm%A9t*M_D(=fJtVg42U(96RB*x6PX` zTiZUlb#JL`*i#MoyCcqHAR>}N=KCUI+gl=SBdY}7N0jH&xWY^;pUd;|BSBg`U2@9iPR?aAH4K7}0#FH7%jW*-rLFe>Jz!oXoB zW&c~T6f{^ORby2yA;)p2#SFu3aw-&7HLr1p7^27?Dsi!@P_o`K(X3~d8-0y8JY(Mp z+f&h9{8&)it_hKsdlmwG!l97l@HwZ&KE{1p8m#@l_@+>lwdyQWS74k?;qj@tiA+vo zt2Ft}!g=aj>S>Xk;~%zQ(`bcOrPxM4xmbR(_s2kj_Ifj2gkG|qNk z8Bdb2#9QDp2qIf5*n5-gCL%HA_V_(oOh<7)eQ!mY!(qDYV966kak;VhGQrcc^cPi# z5fi@%R(9x@Zr}pe4h&@@WQqz#51WGHvje@n4k?ik{{C#?jW&32J3YTe8_VMY{H7V! zs~Mru1FQ$m1N%Bh=3n^fK+Jk>n!mUlDee@Ep5EG_Fh7%aRp&P!CE_ zrjg%rf!CSaV?K&7pnvFcX(l4kKXjv>t725!`tDH9+wV&k3e^^$7{S{k{t3Bw{$!#T z4QZ4&dClSuO$7eL_?zF%W}>kTy_L58&O@l>eUeO7xtUh09=tsGcGyQaA|qNpFX?7r z7Q@ufqMAH_bI?7bzRAOOnWhk(G0-Jgj^k!4l7roQJ_x4R{9C>rE!BRpuHUiaTH2Mb z0$xq|v3$OO=pB$zN(#fN^_w6qWlpL4hY6SkFLu`8XVjb3qU4Kcme);l%XsaAuOZbN60 zD(Z{WvZ|ySD;Qz!b}_C~*7~&THS?=@Pf=M$RI#aVDwvcsZ`E zU*W5+MK2ymSn5(VH!tqet9&M`Zr3$qeqsQNBA7RoB-$Wu&qaJpPUgDL9Ms5aw{ySNkcrXB=~Cyp@w}Jt7{88v@*l zP}P77e&YXohTsc$5wMzEOyC#>!(z1Rz)t8|*4*jgMOp%;f-p%rei&G<0^q5`FrmO*k zA%j+xgJ2$)lo2m?Ei4CT>bkdqp&@M0o9YtuXg5KMhRF~};XFrrPO6GU)zayn_wIwF z+{47a^d&B}r<<|`Bv}G!Y|4D4G!kxqh5DfS962naGnER{lKYh)YwUb~GMN59{3?@` z96Q$&s7%B8F=KG7ACUlWt)IVwZuD;91pKi=hb9WHXx@?%C(r67)UcNmTPma*9btN# z^X_oGwwDU`i0K5rMpSRz0QO1fWDG^PfbKGFPx;jAYA8Rv^H~!kMrRq480bk4Jz6K4)o7KI8wW1}L!W(<#@mFY`3tgRe?!TGcjcIkF zp(U>Q@AYNYC*t|sKMB9zy<|^7YoQ(Zi}>bnLMbvAp6e5bz6_FVt(mB;q8d~;tF7iE zlG?5^m*EqYHhC8WHslecRDLtyN%A2lC_#tiD3GdFsI)Yp6wMc^m%F~ZV1JOAX5YnM zFRXI>36W%G!yfAm=LUJf`ka??bWhHS0P}kuybW-PO( zWlpM{u~92|JY|(7%S^Nth&2kW{q$Ed3eM76EqirJHY4S7++vXD5ng)44E@6f606q5 zQQXmSm#h>5@W)l%iv7*oe?vpMlh!{P5<2_CY*KA9^&9xd6|V%^8*PI1-N4GNQ*A!R zqQ+fcbHLuZ`1nMZ{LNV{BFY??K}x+eq7}k^S0(G0{BsE#>mycwIKx2F8TR9EvSUha zxVZ`MKXttL2U5WziYbQ+ub$bPWO2h<-3Ktrrv?6~1T@|5n4lO@*BE6xw#ml)&>+gw zk{Y_?Sgv(YA#5Ej_+~&KSSSKVx4$5F z=XRZ~SS1PS9nmaK)nIpzho`RAe?lSWG| zgqouYmBN*Tn1mfTJ@;7W_kK(WJXZg}3d_Qq^u8bv(D)(NJ@b-WSuqv1H5tcJkWoc_ zosI9yZG!yQU7?!_;%{A%&uUbFGLjg9l6h5sL}**yA0e>avdGsG=!}2(dDQ!E5vMCpfThoY59Oh_X(?MU6e~Ly^@Zual(<^*YW8+{W1MX zduzb|Iu8S#^UBW=aWRhYy7&430Q=u~0mBd?y!!_)3`+ig@B+(!@dCF++`)vy4#*)N zBx5{6M%$zivCCx^i~CuR9TYHZBC&{M*N{-LF(@Q5>BlgCJm_s0yMR7BRN(F~KOKeW z{^4xb*3&nP8XMX4<Y_w~j<7LH)1_^98qX1}S z!J6ak606D%oHmblWygOJgXIrmkP0NHLQeZZ3@wEI6`*Tt;{wl+Gd&3ZK@7+LK@5Yt z6&H1oTF-0=FQEBej^@;*CZS&bGK~}r*DkF0Irm5f6lTG5@s5#mcRLoresPg*Q(3X7 zIxLMW6hlnNJ*L3$wJ4aSZbBnvf*{B-D3YBoNDWOjO1-N^_bNuTK~h&~*lCGEiO z2%B8#4bl*6suK{+J#1B;7{nqyap?zm5ws?VmEg*aSRG(y^}DIta<%pB*1pJw+XNt%W~%Lei8j- zB+!rKc?V+-UM()c+0MxRWEf2|u*=S5JF2eFDjbCmx^ zsC;Xr_;B=r!mbmSAmbe^i}U2Y{sa4xni?_5wHAo~mo`A_jm#Ij1Bl4y&|h*&P{ido zhI1Hh2wf$3*ahvW0;PK+G^IQhkksN}9Bzi37_}`Vt%p8sMBU5OMHbD062-p(^~G!m zQ{Ql1WCIzXvN&9=DheQKbLnZhh;2F_6f! z#{R>c$$FNz>*0P%;T3@4~S^aRqEi z3$rvwBsv;av zq3V6Q@L*7_JtCZOKCjiGkVLU^G3bh|HL8^#-#RVK8~!Mk9tgqAVTjir9FT_YA53H& zC7pgt$H2H8GDpo0S)G@5yBwHF z4~3R5=qaR{SSPGvI6j~4ykxMMfa!LX08R$%$_PA9Y&Sz-G#g@rd{s>P2Cq3S3uVG{ z9WeBNScC$yy5=XKy8SwHnR{5=Ibvviw-~MaC3CsW2G^6S-ge_(TaEU2txLCwjbb+p zIWOqlnP`Ctr~YIC{G_&_Ik*K#d4SLnZGv(BL``k^kN9+nOW3L0K0Zp4sFdFzn;Kqoy%(@Sv1?VS%}MPd1TQiTZoLEz2R@)_qXXF$vZCg(!l3|p~F8_E^8?nOk@V1v@--R$ia|0tl=wW(sRM zl0v5m-(8~fa-b(Fc7!J)dyU`1cOH?;eqiiWOe~_FR9Z7ay+eK zUnw$x4m{Q*mFk%are#$-R5ar^9>IFR$06u9RCR-gKV_IT4+ogw+tStqbs-5xMC5A7m^p&X zcZVL-ZE!p6I@j!JugR2vXA=VKn(jlF?#d%%=^3NTr;)`py6hNKGkbHPY}Nbl{I|5i zT_^RoOIuL4bb9KLjMKd;;kYS-yrV%qjX8HYI5t16o`(hyrQ%@pX*@$x44jX&U&E%z6Oc{%9tAa=B3T5E1? zi^kT{&BavOErHje8aGdG*`*Z*He{AGJv=nkNf}8un^P*2 zR?C}DI=dr)!M`k4=^<-W>$Ixfc}ZkogR0ZH|MFFL3ANvqUd<3Iw>>Y1Td25Yw`4!0 zAb0A9UWIfKf_E2KN@F)odoR-%`ft3q|H+!lfyP*Rk@6{j(`8~ypm?)oS$}u%>5Ci9 z;t)?(z)K6)G;54Ftu$#4>DrgZF5OCf(+D79=nH2*OzRj_ zKXBj5I-v}}tY_GW*1h=hR=2aFn`hSAn5$?C)>u(xaZ&m~S12Z96{*`ss0wGGK6Rpt zLTDh|mo4B0!%*F>Pn#1rZ0v1~xEaI3tEkXTAZ*Yck~Lgt4IOPGtCtW@M#vH<~cIoXsj6SV@L$NR8cp84ZI~Ee=b8tQdJ1p>1hw1@?>7ok+(5HB7 zw|k}w1}^ePe#u+7%Y*UhI<)(3;nDvK1Ga2rFQx-|Jy^_1gr_FP!z{mSCXn-Kn7*nC z@osCTR*^g(z^Iy*Z5w`mzh4%O;xcv0b)V4R($v064mx$MR+Q4c*jR@*qC^@}X=um@ z9Tc6cBBzN=uU+4_-MOwZ447Xr#%-12V@U7DJA%z~Tn;o*R6 z4Tg(`<;cH(Tjgv8b*q|HV+L76F9BiNcp!)M2K#mC=3Uf88w)A%=QsuUN{vlQ*#ST7 zqS$meO2aI|M#hNqG!91JieE0?isj$M;z;^$eSaTYlZFR!4pOi-)g!i|;x$cW6jNmu zSF2Jfwedaubq56Df>YrVbs5$a*On&3HU+;8LkL_f2B&|I89M5X4Eza}LtW}|omZkw z$IG;{W>PXf8d^6=1y@-@KECbP2ssvZy1T^PN@-~_t-o2;B_bY#2hckIjk)<4iE5!i zfiVBpx>^V_q0okrCRUZqMT~iN$~8kxQh9&VzhQN(T4y)$QcCIIPc>71jb{*PpbfL>bWlY&6=@Sb}7%N0%QcnlPITi!@CHWj1EhfU|0 zn>3#pt(HovBUT<~wG>Aonyq)-rml=gG?7(N4k1)M%Jx0vqjPFq~%h222=mPm3p-JWmq|^Z) z+BV$gX-7Dzik8Ki6-W6JC*sZs^5BA1B*{s(A9nH9p~AtTm~Je+udtv*gyD!bk)`0n ztSmC-R zojfj)@E-q4l3Yz++VGGTKNTwErZa>Iki3ZX( zJ>I9TY)}DL&mk%Lj9-vo%4#ET>m3C3rt470F=7`LkSOImPWHYu#NwRmI8G)QCN_$D zDMdH`N9F5cLb>x0nTKxaLEdthEbY`MPw&&OxRE!$(jmfvS9Y$y?dLF&-1ADR)tA4& zu3-iN(qz}q1=QFt{^dG`8FBmDKUdx5t#YRqIy7|Z#cg#TA_pk=et^`;efsYMm$*0d z5*YZ={}qmFBt!^bAO7Zz^opAyTi=_l+%?8t(2cF2Wd|mgu@zXOXQQGocLg~4I1dD8 ze?PjOWc~EzyTQsg8cO4PAO1e%RYyS{&ninkzw@B1>q!@Zr} z=l#z2-gFe7&sPzj*VhW4$5RrY`$HVx>pdUf>H=6-#Q6&-fCO>=Fw|znU{-J!hiwRYC*&zGAOm5 z=f*Zk@6+{}AR!gWxDP-h>R~b_<2Mrr?Rd-PWO&gGH)RpUC5Ay!Q^FO+q-$xbf}+G zgsG?iG}DiV0!y!f8X|$K>>E}6jWb`HeJq`c1eV~$4ii%3WhzaK8jpMYB*=uK?d1_W zUeQo<{+q4q0%(RWk~_QW~e94@4I zo->hhH0Gckmr21@VqM&H$!vudlNvok^pH~vM3Cb=WLL|Y9;>0-nld0A&Rh#tHw`zG zef|FYcw)rTre;}ND%942r-;N&$a-i7GGq?LswoP@_r~-1cX7U(=3f76SN;Ew9Dw>PnCN?JjufYRbE!g+a;6Ol~KZ^(2 z|32}*r~kKy)0M__910t1ui80)A(QKp^w3BnK_n~A1g5i|7>5ud&n@6qUQFW{>!E*CS=4trb6n0D*GUDSJ&5_SlV2wv_mLJ{OmBg zWk^MGQcVoppFjiBnI@>2y^ZucSPA!|anY%HsMG0FQI<$-94ulF%tK0$7B~2hy=QH+ zxWIjFXcmUTt~%y@GJS7lg}h;DXG(-vB%6?YE>j8+Z@o}p5y62lRm?NJ_68pd5F0c> z<=TXnL)WLecpA|CqRQMPib2N(%^F>+%j9=Ir${vxDy3u^~wTUM(a z*MJuOe!2U8j4oDfvBW+947q!>DE|h0q4AhRyCr5Ls|b>kXadmFNe?T?PLF}XaY$~*!@td=i3*CAKy3g>&2NHJ%P{BC=3qZ zLoV;@`6A7iPURrFp1^1^} ztpu#1uysTZHxi|oC3@Uk=sBEjv%W3G`s-;t68H+Ee~1_-x) zbSu`2=w4>#B=m!RCdK#o+tSFE@aZa>8^n>Uuh$~fqs+e2nnZ)qF_Fk$VW^n~*d;dC z;D*u8&R}*29zv2CP@KtKI;iz@Fcxv}4`$>=T-?S^mL%;kz6J>0sP(P5rO_=7rhj{H=>;b%Ux=e3i)viz`NHy%X? z3#VxVKCP>D)5QcB@sg&zn#3CZ5WMLIqvgJ%gQX_&nHV~vvQ8W*qBfel-bId;%n(M+ zL`ITM_ir+2S50~6FI$VbTh0DWGwq2wO)+<(kS;Hmc4~C4Z8D6@wsOuwPK{OH%nbPq z1bm6BY0zSExM%K98JiLj5_}c*^_j_AqNM%qT&o%8^vboLS~#pYU}0O9cia!9Enf~9 z(hn)4xrZrhbek?iC@XlSgebEMZ$$cc{37etWFX{{I3csziaKMNhy?k;Kd~CkHWN2v zXii({sGIS+7d1wxKJ$1bd(dS18^J~CZfP3l2;Kec9x-mzoz%uulOz)6xW$~s8oK$c z>`sEASjiU!ScOKRq<|e41=tMW3F@p!Z?C3Ohql~H=-8LhC1kuVHxGJ^GjpmQE~{u< z4x?0Eak)U613sx~zkCt->@xiG+a2{6@JgsXUwaX*0?NRV0W3X6{~0lh-3-HU8qxU@S7N+G?;M{HgwKRS8Yv$HA0Sh=w6h24UmvL+-sL zQrw!j2T$6ZVwe&E+E{Vl4qcntpwWAnD7G^gcDJyO`H)|JW@ z(DNGzXF@rJE3MJ3X6LW}CZm;sIrq-DMe8X5_431ywF^S06y~Kyi8|yA2)p?U;eS`2 z;Hk5En&Ut~_!4OUof7rm-hV&CzFcffY@PpGdVXmok*v6|!fwkAeTKz$q}P*#4*P8X z^-}&4!6zG`u)r+*qCU3#6(gu7AdGq977%hoxB1_y_z)ptCq6H{JTsqTK)YL~)0J%%pSfGy zv+F6{+TVYimaZ=wVh~(UKkOKWh;^yPVRORH^t`rqQ{ z*7x^fw0t7q--TONO+OGXy)EvR4XmrEo!iHLr;Aq&$!oRN*7wzjef`E20k==*yx+I% z4VC+guF-1G+I4dneV-Q!i*MHT_Ds(A{L?%XkBh6|GucWM3icOfZ=v6wmh{`^e#-bM z^kLqsbMJD1(LE)9OH+}U*(y~B&E*=N@QJ{kt^%_R-JBSNC@0jBNn z0bAFts}kLa?_J?W&OYbr$H!}JuHUH0cKs*(!Atj#=9rU{zJZa`uADs8SzeT4Aa{5t zHUV?O`?B8X?IY)Hj6nEA3iM{(>s99F%Gv##)V;wZHk;R-Ci09n6I~9YXJcQ&*6#mx z0*}-EZ|&?6{4S@z-iylu7RT(y%iFulYZK>^HBJ;~9Q2*i5BvM^RfKEBmaUG@$$sgI z&DM3d6Hm$EDt*EVosf%7|E6PY%dh|Yvfsd=d*zfZcWq~5kGfa^)$C2lbN2a)sb`_f z)%(k~sHtr+xVv_F$73D;3d8TxY^!JwD0dE%dBdJhcIR!kpTh34FJSQ2T%L2z5;k-% zA8zO5E-BM~Sv2n6ty|+02jM<1=;J_+weoeT|7+D(-IsN^p-imo7vIA}3m?5N{qI3$ z1;)+R8#2aW_xL-R58dR(C^l>7+fTe89CjN4ywgGV!Z z-}ehO+1`hl@g1KNrdyp*w#(jIw9-26LUq#xhRiOZs=k@GD$Xx!<>X3A{ky|8+R&SQ z*UL6rmTTwGs$LxLiFc%8b)}q<`F?j4b3C4>mD#mLEc)c`oR2WMVZG*AZa)cD$L)6w&4;sPCAds_Z_?k{){YwJJQvh$gF zYKlq&(6^-xmU>*@?_7HK+zGzKezC^c?bJNqUV@L-$ezH&d>?qJ^lW^*U=J&C4R87P zD*hUezuU<9`nrsqb^m(JoN*7@pPH2|b$4&&J-pw!>&_QVx^uD+Yo9aDNz6 zm)rH-9oGA~g*wXCOEesq(P4eBW6LsmT>Cm1C%`{#JbEUhV$g`5|SJCpkXnw4D` zApuFlcx@!4vbxSfHe+^!1$6zMIVaZpIdUckaKD$^;qkZ%TF#oQ${Yq$T~XP&he9ui zrIK3sDXodAW{ZO0Q>v<-ola`I}0!w zjbcOX;7RphImE@t$=@|ksgb2Y_q+qd1r<}QCGG&_)jmLEi$L&ZrzhFH0M=h}%k zT^~_cf6XMd@p5>)e1-A7#VzjmJ)Z3V_7>B0Jzrb+a=Y#k;3K z?7p@J2>{i%@&w+mSxJ0;K9OP2BSlLVA`+s;rIO)U|EQR#h5O^4;w9*MY5&2mgT{Sj z;B+s%ERZrR6_@bz>h4sjUZ8|0J{}gmQ1X1uPr_7lo+6n!pr)#BaX!Db=q}!cf@JWY z+TuRBJ!3=ED101DwM>G>X&6efdgNHW{3(I)JfXiX<(RhmJUT9le_$vuP_D9T{KsP0 zS!G~z$OE6IXKe)~3ph|)k?p-(Z-F52ds#2D^J@lLrIbQLx;WkMm~hMJwKpf;Ujp*7 zC(h>RaOxC4ZR2vYiF5Fs7o9%6Z8Liw9d*=1?gFgAs5Z1{U(LkyUX{|yVoa1@DjS1TUED!pH9Psh_yb(n5p*@u**?r^ShNWfqyxsftzP5nKrdf)gmOCkc*)0woH)BlG7NKsT&b?T%4N>ybJ6(L{k+=_$JczD-1lpX*iFv|pP%>9 z;lT~x>+AC3O|Rem{S9<7@9Sx28K3*fyr1vw?x0x8o}2??*I?? z*X&L1_an$|`0CN^G(f%Y28lD|I3(Ygn{AY-1^;}QITEr_Jn`pQwq&#OeCH4vR|peO z|20vnXJ)g&ELG^KV3VfIO8-4e z;P-m_0r;3->G{4D)8lzNzLDj9ElWb^ecm0c^Lt;QDeDEqC8_c9`aEDD^uA3LA^b!g zGPXbcc;RYboqNlykA|0Oy66#l0eLI6I$n<(1cNbeFox`3Qs5ZdpoYLjL+uI{V^X?D z$JVJh@Zoa3&(~)!09b*w!8~8I+V10E@y0$8HH|S8v;)gF_)!(SdkDYJvlc4^zekj? z;aZYu;!}%^De8U09Szz$@B2{fa~Xe8yJAjs8AFrLV-!T z4;aTd9rKeT}XVdAQ%NhrtkvhH-=C)hgSLaJiLmy`16P@OgfqwL2m3e!rE` zf7iRSGw#s)!F)fS=J4@-uK00(ecSE5fZ0ZnN>Dm$l)~DL2euWrzsGHVfVGR+OQ9AC z3qYx$VEZ4^?%f(8UDSwMw#N<>N~+afRwWBJ6rVNsO3YD=39DB2!fQ?&DClumv+xs~ zO4Vr9@Rnb;);`s>3Ai=_rg-xZQ?VkZj*j}b`<+@NO`znK)K#?PQ-gO@`ox|Fw}H)9 z`xFqN0uFwyFYOA*rcFIr-iLuTz1-#f7I?VRi*j1ufFft4PJoH*K!{WHbO-Oe;c z5L+ogsBer$Dds5>DDiNn;;D*{H{d3Y4F&0pq2R7$mu%ETtt^EoT3}z+SFVmuFJ@=H_AnQAH4}j zt->S{E+8PHr1P`AXSeu!G+xno0X+sMu@wWFbH$ecQ@o11XC4;9yg1kZIZS>4u$;Ea#1CCrIK{9NF7-XwGy0+OQAp za(3?%b1U&QDjYweE2ANY?TuTUQT)%u5-tw+(kw`t^$b7lT3^0K);K<7*Ykalw9UCR zy@0!WtgX3ET8jNH+^yT32PXf#1L5o~ol!HDZ9}oF(Y3#|lFa9y66-FX?Fr7C$?V7q z-D}%n_aK|EzwC{=cq&{`$AV?qHREbV57&iY(ce=p`Us8T21r>;I;JZb+KItVLIgZq zG8KIGvO0H|S}F`+vO;dMd%5M3Cb1(omALE3%a!rFvza=`sshJ!2^u+?nL_wS1uinR zPCeCED3VhOr!X%nh``cb4b}8o8J9kcyP1W{v)F4pRG>J#= zn$44k3*9a`cC3l&jju>p&Zd|0R!^s8ntkZ%^h!o%M0M|KTzsJVw*ocyK6=NQR(TaP zuPNih#Pdjg9JC0PjAS5sc#n+Oj+UK3-EtAY`(h8LH{H5{dcBhFtO#4gC_R32qeAGf zTu27#2qAw|t-mKJ>F=kDG6JC9i$^g&s$nc3-uxwPZ~A~DFi?U@AEG`Du|_Gy^f_TKZC4`Y1RPtdk6xh)c;X5vAc!|KQ~6ec$)h z>I8nBtQTSQp84}j?^vh0Ea~HTAf_r$BL?EY_b(Fkdfs1K@nht{^=W9}NPw2@g@;CK zWOd__x-J(ifE0_=s%T8ZwN=3Fl;ZmWD1H{%5+{0O@P(`+>Uzv%$YM>HhN^w$i`HiD zbqUN>_ynevTFWDSC~3vfy7&98=r7XE_)oY}hirpNI0JG`O)Zw@p*Th%ar+*IZ+ni4 zLp49clybcfpypjE{Etl=ay1Kovn4{UYXvixy+!?(iLdS`@Ak?zX+)d$O8sDIXspY#2ta#}xQp^Ys18`6#!lzT0BT-`s#8gdH29U-* ztoVe(udLo6kDw+uYHKo}<+2tCb@=VTxu5>#JPWMpzzulXb0aBYH%3%cVWRk+_v<&f z^NAphW~plU9gm7`lLcI4J<1Pe1qVYZu{$iyzSojI|1gU#T{UkW%8Y z5T;{~jxq)C6jKKPq<^`wf|`v?Ks}CMD6F}78Jb8srGQ|(VOe982Nl(d6DpC{D{EBc z?sz-nK5p@St~YZ`dkD~;6v$vi4Y>wP-=m9@>X!=sw1o@Z9tibVW!r zr;C|0XX8pf+}8AZy&mMDIdMqQ4R<+`;~=SAAhx?J&v@VN*~xx?KFI;T5%PK-7sfjQ zpo@62+g~1MrKy(GOiU^1zt^g*BMcgnj|_y`Uu<8uwJyt7HS5W0z%+*%P`wql4R}{6 zS5ihKP{o2MGL(3*Ll5MsF(VA+e^p{)`@f!++~=Qrz{3}#S{6ZHCj>F|lsG#}nSHP} zIqFkO?$6Z|$FAk#rgzRjmG+&-|5}6!aORnM7o3lH50^##BKEsGZL=G&^V3+bntSF? z63>aIg_ZWcY7z5uJ>%(9J~l03%vfT8Rq!fzP&0#jbkpPTI7wQ-kNjJW-Fn(YD4u@< zR3^Jj(F3~pvWOtN{c73o>F7`B`fZ&GjOsv{NIG)e$!RcG%9{(F=M`D82AQ4msLxGa zf!_evN^w>YY2dp0x_IUM;l-5(A77jL>uRn*j(A+(odaIFVo_8DwTIW|qbSU-o6D;z zQ^N~A`mhLVHm01LFDnNl4YX_&{h?NJ#Q-mJk~-Q#7%lQ^89I~i?Io!VaQ4Xe{qQ)f z$NTHjwSrYR@1oFV3ywbXWal!N8=@G3b_pPsCv8U_94sa zR4vcvAkGSY_s8Ak6)clVw`dbs?eXcgZD}m|p9DlsZPcK&N3)gr9OGu*Td%@Y6TcqH zhr`%^l}NYi-5WU<&Q=cl>-@}eIAd)rO@ zvIJhlkJXcTYtVkqc9qhRL()S^+@l~aG0tu_OaucEje3MsG#F3=|6iR;NU@Q6kcopbg%L zl$24-Qj^uGj2@Ce_bN}mqauEv>MJWe)KJY z%95c=_+%GY+o=}dElFW*TB2}4x7YA)yJ`p{9*e-G^D#i~XsV&=F0N5Q$Ldw&q983A zt=cc&qRQ1z8x09!>l`$Ac@7yYX}y`}TE$t>p60JYOpY`xB2Rlt3P)RJMB_V`tqtPF zuJ7#mLOQJIL+aV3)Z_AaxmwKgWxtY3g?+yNxJ_F#HE-rvC1B(FYun#qL|yxW{WZe$ z^T^;Tj~FA)mhG)`TYa1Y{c|q!0TrRFbwpi*(Cb(X0Eyumv;~f^@H$bx%gLazR6*K; z4m*L(kJMQW8&oywT?Qy#s8;Q8TK>0o-Xng=Tgy8w-Lc!U+&qJgx>)9NpMkz7071yZ zE_CE0@KpmQu-JKo@0mLtWZL!YcSuLK$V;>%zl}%LGH5vB{%+bz!w0mmmv!gxD}JnN zZC%%c38NXM`?%YirSsvUp?g8-bvb?1>7KS+GT9AwUbbakZN$X-oa?WiZoK@S!L2QW z>l5Q}@4v@9I-R*{qPTR+%DZZN+2a^?wMv`p>xuh1T6?bdfTW2yrkMY4X>E_8-x6C# z^_eNPxRLi)(V`*J$%*y;cT!;CbqHJ*xZ;K+qRR9Z6_Pswrv|5n-kkM zpLu`2zvrKM%~bbPcUM){J$3H6w>-36NW>IHu7el`%=&^chNZPXbRC@zc3`LRR~rIL zq_KlPJfn8s`nLGD-10m}F0Y5MYAfDV-)_eDR7)V(DflDSxhC97;?ioLQuj$lhk#k$ zb7@1VH?MUksW;!D8vkR_)M>?@5g##ESQ;0iT7gvEHB8JsTSJZ`ayXAtT7gsM=HiMg zu{;01;Xd*&r&sa@k`T5$IfX4fUt(!~Ky-XMV8L5*yR1fCjutj$*8Wq&i1BCRFlev& zJZ<1^)-hsCl4VX4z8gATwuDbk_?zAKkRvA#L3rzo$S-!sD9O33Iqh1IY#!f&2u=on zsza8tqaEBZtao1y6^QG*xN}azk=P@*`LWZw@813XF<{H{e2vt+`I3bt=X(zf2yuEH zlaio+X?zS^={Sa=AYhfM~djlMDuauLrWymhA55zq_t(w*&m|w%1BKqXlN&uNw(hoev8q6~0I; zow8f69|JL8@DUAe&&oIXyOf;>tQ<$vlUpwD>un}$xLdPPx}7mu??+l64at*nTW&rS zP;kJ1KSMGuypgl5?yJ5L+16~!Z|Iu=73vnw!Cyy5O88$}5|+EaM_3uTl$iMZ@wK@+ z&pKf^*314p7CF{!!RvSRalXyU>2rHEF#|ZpFN)t7k6!@qfL$Xv@G?hN*Zr)A1M@D@23T> z{9gA*zFZ$SEdY6bk1L9p?kE4JTvH(6^ayE2+_oYP@$Tvz(?MYo^s-Q-tUX91P7v? zIx;!TCTv|grnhYFb9|?Mr3;m9Hd`GL^od0QXVyQzKCIX+S#ub;J-3LC-IhVKR;lE-_Wc6Mi2W&r4-_sIWK85AJ z?keP0Lbk%4?cO8#K3(&FUSA{ebG~dpsoI{h^K-vk4CaPiF>C_1;w%Gud^1C#bJ{GHhU#*^%`Nfou6yo%}P{9Jk`vs0v>~ze5A?~$? z8N&)W;dO#3;dXoF7JVe->@d4|+ey$)RKBwQ-gb)~=f~d|*)5+J`z*htGswp?El>4F zesL1cu)Tf>LY-{5GbA+yo34sGdex3_Q&UU7@9HzWaF6zNE0XRnClQjAxD-s{Df?$t zEA7oT3UoC|CTPEk54`beomj9ElVqq%&qSyaK-?+&Pg74mHMG+Gq14F)*DqM|Xmq$s z5U~ik1X{j-9cIb-emIK5V^VL&_R*{zM;Mb7KFD@ID8_feVjyr1{Z`z zzntE?grFXDz+0={Q<9LM&uv=C*5~9v&O00rTD|{u|8ANYLy$Dt!r}P8+xqz z`}GQZ&+^rK_qpYQ0qcAQ5&e7nM_aYiFC%(6@8_-*44*e%^vp4ImMV+svi|9z8MMI1 z@ek1&Xb)8*Ne{xYDu!(Cmc42u!eHY8@qiuXx{zH9c?O(OX7mbs+FnMP%D(FJ@gdw| z+cRd&F>_78zP(lsRc@^{kPCcau1w4**MQoIe!jtv9de*YX|!3p*1{cczq#+wa#Oyp zGrY<9b$+?`=^K!L5ee5F)gAW!9{S4nHSh`0a$Ly;Ktyl-`BRJ(>x=UU9s}vflSj?j zuM(PN;Dpotgw3v>u>0-GtXeUTLm8XN^V*XkN@lsy;p}BbMXD@`X()EW8bPN8PHkMq z*Q!xa^HPmqGnP!Mfld}g^U_<{K%H72iO_4Sz825xD9}4Yk~?=hIc&_U0)syeyffT! zzGu|8Q))k9iImK?MIJZ%nHN0uv2D1_aE=87q{e~@fK%gPcAXa$X~T`ouyLz|_j=bX zjdJ30(Ka2uK%0(@KT<#l-75_G@#G~&_BE*VPBOW*L9p&C1QR3jf0rw}8r5LD zsNp_mUGrBTEQJw#AFnlp?>iqOQDF5}FmQIgJ$LELCIUv~!g1QG*-KPbx?8}uSJL1c ztBB5#<8p>+tTo9)3Wah?sQ^XP+~TeVuwiC*VM`pQsc_8ji#{R~X&j(VOZ}lpVa&dx z)6#qwWdL#D*M6axiW20SwWa1$yR-@BP31mob-m}ujXW9HXr-Xa3wFt@9|^v4)1{!w zN`xMvvIvyQ-jq@AOr(SgPY{aUtefKE(##JCge~v3?^S~j1K%`1{3p$6YYwu%3+5IW z`)s(SV|1*A4w}f5_ED-})yD9@Kfn6)*uz)3+2MIC1I1jJx0^m5^`F(+!2f>GalKvK zG4jU%Y$#gS_`Ocf4L%Kz&;Ae~)UaLk<^C3=^#A6%oX*f2)aQru)=Le4U)^G}5ug!e zakDP_xx_e&oDG0L+1bi?+}cfJ?7Ck4WTOG?oCtvXft(x1|NbboymE{)$*}oB>x4?! zoS{J!BxJ?l0O3+IBF496&BtGhPyv!MM0I5i?9{q`oRmOM4lG>^>$d>^5cF-?IKQ>v z{dQa7ck^&!vT@Be4Js|MWnUA!Ufp;`7CmX~7etcvX4Sc|c&5MO`;y>y-mM^wGT2+o z;)B0wyTv+g${67Oz-+a<20A}~&06%?%Dvl&x#n0OHDbLj*-;&CRNg3sW3is6p+A|v zHqr5aSiIHVTd;Fq=q_FMvVzi9ym3pvSZ#E#1{8q@@>z8I;WE-TYz3gCJaV>dx9J6V zLc^V%gz@j&zCU-JkHFvRCJaA#w!F4n&~&ue=mbI`(4eW_9!DAEP3s(7qwJ+Ty$0@> zX)#8we1e-nAAvpP+jrSN-389BM&=kI5jkJ91TvaU>u z84sxaX5+GAL4?22>${xtQ#4n>se3U>8d#UgrCFr{Vd`M88#O z*fha`M;B&VzmI`{$L_cV=M%l$q(WMEX;Z@uRxlnBwV-=7t5ova7y}C@b!iE<)rW;} zpWiGohr*J$z+f`)tu8A}8<{-m0d4!e!m&a1ns?h}ow7XdUQ^)*7=Bc`IE6A)$@Vck zhx^#9uI_UYPrJrpb`mci?go4aQug=xQVOxifgA?Bb)Go1Y^?o#1k!8Rz&A#+HJ=4z z%d>c#zLd_#cv#SJ3Y*C?b$b2jW<9Y)`~X?dQTXrW6l%FP6r)tQogzLLKYi|B$! zt{M?RhI=i(5vO>{u}r^Ph1+!xOyJjW-4N`UZa!!1Oh(}|Fzql*y$>7t&icdzxbO@m zjip#!3JSh|xV<1|{A{6OXFKX+a?FY#T_Po0HLmqL^8$mdnRn%LyB@_`V)EjddAg}1 z527j%b5FEucy`@MHOOOQ9IeoNk(Bp8tUa;NhBagVWQ4SRJ?B&FK?O)=4M=V;m<}2= z{3|H?sOxK_KXvRHUgdbI>r1sk{gH%tpK2UZxNeluo^Ca;IIt@9<9o(#=q7YqVuV>2 z^~WWK4aShbLpdhQ50XXlVW`^`X{#y3+v^8gUJutodBsKWIEjC3Kgd1^oqqiq97KmJ zl+RD=5~%!{c9nee3J61iALMYq6SVv&>@hOV+kC)Yjy|8pD=ucAJ7v z#l}(;*DM?sy&T|rs-=J_-Qi9eLs|M7jX-Z6H2FD7Hkgq4CkygmS4oBeNxRCqJy@!> z&JM};o&i2rd&s(&i$sBI?eZ)tz+>}};c_$Ex-cckWYQ@a8+ZQ~f$c3uy`WV8?U#G! zt>;8MWh`?U?N>_>jmcAs5L{#Q+rv?|&I@lb&vzeOIxok;n^$`;pQ$%$T4uS(JdEL` zO^7yj^BVk7?O4C-#(Mm&C-$~^tuEk@1~M)v8q4b5ANcUvau(>$j`Mg~2Fr*!7a7Dg zb%jgb%lK`HkE2ls$fy(&?^P{X_H3FmEBqyUb6q)UX-ZCRtK4}ls>H31jzsK2)3Bm8 z&(I-UQ45$3CFhDV*LLvj>O_tND`8|MyXqT<%hMPH&q_W%(A9;(F8zVdQWRd5f)!v{ z&VrMor~@jDzvhrc?L?-=P^eVrItlh{BT-H)3ezuwH|U}tq)pKg%%TniM$&txy#}zI zg=@QrUkD(lCB7P+LN$@8WQ)h6!rF8^Wz-x3*5emhq^9F+9ly(N&Uz&^JL7fo78kAQ zxVn2oCHfD;!SuWJkiZ}a_DA7%A~P{ov*=1Dc(iHEk@}Z~<_{yT?PcYc?r}M2xMdCr z=G(`Booc3zI+T36o1<@By!}jK7gwhLjk+B+@o(`(R|#S2AFzeL*n$n&1pVE1BZ73i zGIxmdhwTr+Zdi%do2s!%hpX+jw}Sn8fE!aYP?7{Ez9%1O8)*7(Q?|suk>C86$4jGI z?G&`0`TdTGK*V&z947^7NyfnMA0Xdj$0Nx1sPuHB2X`PKuMxk{Y`A&qB3L~rD+8TH zsxP#KbBF|oL-yRtu-W#ZCcs%Y-HC8jzh&8M%g*&!7HCjlyS1zv=e4MQ5~P4lqF((Q zW}tXF8!SLNxg36)Dt=3q#!`Q4tEpI=>w(-#%?o@SSJL>*Abml>Md&J@cV(yOfdIWsGk>n{WR!$&oiluqx> zIz)8a8)(3MsNj?%k3a3a1{=}8JDiwF)kD8Zz8Hp3Xp<}4ybQx_a5r-)SDK#LY+3UA zyqL0E#L!QvbM?mm+pQ)bLMoz1h_>)Skraa{D#2f*#d77L$i3d5E`t0O5J4eGmAFuX zPwrH%A4pQrRdz39+BtfkP&^TdY5Bq{`WFuFL8H~{1>+*+*H1|&{K0xkh5bLwUF_}G z8C_hWC7cfIAs^FCqQNtnLkNx!w4j&y8E3tlWiZp<8u5tefZm`9D6*6}bKY9NPS#22 z^e?`7G3Jl!bZP$o*i;6%l6MF|OP88vAE_bj+;+x_3Ad$D8{^^=6B{v>-`GxD>ZOK- zt!aVIk@S|O68xe$64fYkWVFAn3)tCbGXEgBK4( zmTK6_-xU|VpUuXd(`;9^;~449l;=>C!^>EKXHv_3)v4oUJe{G4fD(w7nKSo2KoIPU z?^3JuBDm)+ozo#ERXizknYvR%X5k7$vjn};rL6(@XArnd_hR4jlYv@B%qps8*IH9G zmyiYU>3V*v^X{a^S634$;$jm%|C^H^10}9%v*(#GKvaG9#YXTy8 z2t#vY{d#@xbsMyR{xE~BYV{-{h%89r;aMHVHc4jtikNTlecVpCnoRS8t}yj@dvv<$ zK+l?77|8swJZI*ntL+{z#Z`&z$A8Ny&H_ygqot_> zVe7uj0OsO{b8<{hu0PRe3;4a2IArj`oiiGqc}75sThy^+l`gAR@3i;riEYUWi&3T^ z`_1{L^!gBpNR?#aG6^Y2=*Cf?N@p`8pZh}x#g_Yc-^i~SDkr9qD8@}j>;~lF`Q*0< zlwlzBo|x}v$vlzo*{mnO`+XM@es3h~^x^|L2e#g%Qe1K0+^GsSa!f)-1vc_6B`t&G29Xz!B4{BoW+Yn;WBrSv9|Xg zZEyKy(;qRCTufRWuf(|A+=|QV;p9%vL+z{N3ozgINTp=g z@cr^(n@EHo*zsUA}d;=+Z z@o;`Z^|kvi)u9NyI}yy(f(+))n{&r$4ltE5ZOUtWI=HM26OIlkNyx_xH?m{;}0S{f~r&O=g9Wfw3pU67mA1W6EbyYa+tnEQTs;D)80{*va zjuDOEitx)oL{czRnVk7S``OR_Vr_Q%S@pMLl8vh}`R0zuv0Mm#L@n6$w@P9Yh;;^uE z>K6^|e93VhzyDQXI*78@isf_YW`5s`?l*=N?;g5*Jy~MM*1=J|G{zi-#Vn#u>8pTSNeA9luyf!fkx$m8`t$ovq7Mm z+EEy(cnHp2II0ZBUBogeoLHs(Y+f|}Vp#QOVl5!2pwem+6h5!p!fVnlaOZb^+Y9A> zY^v(V6Ax?T)aX&oPGZ|+L(V1*OA+xGqXS?kRwSOLp)L;ZNS%?c^rJ&|5#rpZ2Fxiv zI4D@1oM?%+9ZiyJaTLWFBR5){pdmJiIW5LhfskD_CnlWw5!-qq`H2T9V<^S~9(Fj? zG>l$-Pirt1CRK;B!caWd>gBe=b%wLUDm-XG-U^z+nVCk3eS6J zp_Ek<`3|J1@~aEchDM=Uu0Ic%X#BDYH87Q8i)wX5DZ5nkhAC&3v<lg=I@Yoz!bjYBamCB(%Bn!L{0FzG(9*MYic~4Z!Ld%%qtY;Mc~2oriuD}A zziH{Z9Y{Ft&CnH>14;c)T>Vzz?7OzrevLle)a7QVQd|(z>FF}>)SR{WSZ>&+N@%QWCwrTEoY=-Yy}%?yV6SAi#?B|hosrE!tZUX z&SF{UDg83Pr4H+v3B*fb%y*X;O$Zec(b|5T;eoF+ z*TfhvSmniSj=5}%J+v?OFj`(F-7rB5p*M$$(vnb@M#o7KKNFo6I_(!#z(URICmo8O zY99#^&;e~*^3ypFoFPfrAJ)m;4bh{F?OqYomJ7k4w!}!VC$D{$cl}+`rgZS_LK`Yq zi6^wd&43$p7@>$>KKw5DRPkbu_WLXN@3`JIJT6P^F~om5rM)u}*xFP9F!Pko&;$q* z)oACj9rEAKTa_gW3l#bA?oF_u{)i1Ve=>l&Eg~gs zJs6;0VuBhh5yWNG^u!EX0NFS^GhZpC8hjjU7H^2;ypadJ4rQ3h@msyQqIcgui%j~@ zgy|B2tIaIIqr93QCy5e?TV#K_^GIeccpDsvm^{I-2C8-8sA$$1rJu6iw?Zj<_J|Gv zCwvnLb#Y!2R|8w<&|%E(0W1&3$mV7IsJzy+>yOq)0joRfNCi7;4#OV`mB9Pb{!E>9D2R9MXs+f??0qa!JOMlEf zKG#&^Vu&=h!|sQ&|E$?X;O`?1Kbl5Ih2&upokYfn4hI1#9dB@x_X+7*Hp0^~r{iDk~d7IDbqMIA9fvn&V}RCdR=q|M*$C zve;$#7j#M*4=yQwP^f*s+J;QFLxw38M8+ida)ywsM6XDa{UYE_xKA&%3Z29(1VACBS`E52()b~~jywoQ1 zbEM|;KNZhCke&bIfd=FN+Yr0@IPLpOl;iU}IltBQ1d0_XdWQ1h|G3usB+AWjKTQxs#YVn z^|_^WeBdx;XCeBBIoX;neIyh;ruoHC=K56uei0&<5XvLK*)N7#DmG4OkZVjR67qinQ|6HC~W>lxS5ZzL4|G zc`S26Cf-)1jtI&Q2=8F)Jro4){4KsieR5>b%|B<1i`KD;5P(cy7@Su#d)5z6+Ly4>x~-V9&F*TihR8 zHA2SHa$BFPAhDUscmDqbR$mXhF|vB^2L(004*x0MYTtTv-)}}^d>)RcL3HRF#`Amu zmY(nREc^7Q6Ua#?x9NRwf3O_!6C{;e2FXjeh`in{Q9!{Jj~#MfHxCIZTYtqrc8GL6 zpFcpdh5<2(njVMOsO9Z{qgUMzpcsvTzkIKEXV-_)85b?;# zvgAVL9lz4Wa7xONIolZrU6|nbNbm8**dUi!lV^^H-d=P4X?B@k|OC)4iF$%+|cTNxI zcn_AH2|E&)8mkP?UR-#tO9C(qB~pxE^&~=O%O?pwpEd5!6MRWd6f$dEB@dAmM#bqn zSGv!y%o5Z@I!W5M)2Wbf#-cPzoUx%_5^{E_cqBfip_^VfJf}3cB=I2uh55=!8t1rJ zheQZ*8wM*=ev;@P# z=Yvw}h1J?j_81z|8QtolwR=V20)Uz4FMDStuNb!$hFE~-`qbu;} z@^=;%46`y6kJ&gu|J4Gr$T@$~uO z>-aTtdh5BAt;^qm%Zm};%SM|%yr?hD%;Qa2;xg~sDjV08045MtdEVaX%QE=1OT@n< z@Vc40=m~%oeoSlG(RtLGe7q1H;d5pTGNkXUp_4gU>q)j@JEcRDUMs=hs4G$6G3Wul z)6RTtoA*JUf{j|~=NS9CH}hKcw;ZwZ!)lR#PuE8iH-B;OedOz&S@KLH_@@9d|0bk* zJ6I0f5y20lrggL{=f#bJqJRB0rt&!|@> zw?o}x#XIcgMR6|oCw7crj5ha&+RYeRG!Sb`C|h+fjn;j7QG=-;0#P#@&yXD*5|d;# z(T4=IbE6PSN~OB9tE4DOTp_--?PayX&L{6yaXpk(`4V%S!fvLdKt}rnm>PqjQkty0 z@c64+Mnv?uyDy}8ya(yTiMVbSLm$-O;lwQDpB?-+Wlv55Q_L5QgQ^4{E21}cWCjRg` z5GlN1VVNN9En$d3udum8jfIOUTSGUL%v6M8&PaH!zFeCjRT5ZVjU8kYwkC;C>7)# z_W{<_*dKfx96#;*p;Eu>b^<76rCfWsI{K7pg=7Zz9~CxMDXEDQrPaF2G2uuJ^o7O2 z8-6T@45rBz_RmZvzi&uII(*BJ#7Xo}mk&5Tw3)#W9hF0ESEvuIDm0MZOHIi?Rymgg zVs$7GNR`DSSS%9@iko2DNcP9i(JDCou11hTHwRSuL@}5?m?s(=5NAPzKX{a2*!b*? zb9N<((CM26q2R=5Sm5MmrJ<7Z$7N}V(~B1MUq>d|K&_>1g5SW0g%WGD-VUcSt#2Q7 z?#4(@^F-{}mMYo4zOKq!f(t|H@A`pa3O58>}546%58$jvwq%>-hC5hl13n@o(Pt$9qwucMRV`#uVnB-G31q*`)rsH z&|mw{e}(Cnj2(3GA86m#m@T*a#~L?xb)6!;KZn*GyH8yT;xCvEoh7!Pm-n7mvKy6R z;s0J%7|tkr8H)U2l+m%UqGKp_v5n42`1w(fOpnsMV9@LW97yDDoRq2a0)!aUr^S9M6a8o0=lebC`r-Oycd+$>cu>2`U`8 zvK^)#r(M_tbT)@(Vo%rW=sfWv0b`AJ@;j>hK)I_ZF#Bd)eQT@DIsB}{e@#RnZ7qlv z$&O-R;rx!+<5U9S)i`{8_v^P|O=lP8UP|PlUX<#K+bu@0l>7G@T^3)APIHG{G}%77 zkWV_>+oVKdeuT~r39O6Ot}WhZgH!Du;3yNzMpUVn$3|ho&5EXAJ`4Ye#F;jJAX#dS zz;hb(;-BUY7P<>%XxP|TZoGz`DUIyo!%BY_ezz}BW`4E$e&9zEMfkjny-(ZL@q@nl zqxsvYjQ7nnB_|W+vrbau#@f}hV^N0nvU}al6duRFTs7pDjXrPeF7uj!(0E=`#gvKZ z+h!f8Zc+|`B2kNV7k{Fj_kgiA!RKQ++g{cgv7C22cucAt6n4F{t!z11+sQ+q@2ksO zsnY<~x}Qq-O(v4<>=nUkb(q2OIMB}`QLw|03d6@9VzU_G`5xHg{+!_Z-@mu3HvMwG zb}ujHK6I_Vf|UZMvV#2hLsSTJ4z( z6(Tr!EvLE9#7R;zROoFFcM#xRjh+z+9pCx)?@X1@I+_;2l(VL+h7`#gV z&>fb>Of4L2?z?d1Zr&P&6(r-?eT)EJ)w)-2_%m6#*6KL_k>UO)44n>L6z#t5(_-}I z{d{UG_xW4fecn20`O>!P zKR`iC4Ouy54LYNbvmwl%n4q497}0Ula^1O=2VW1i$LdanPhNrOeAH2I;6P5J zjyt!<+Fa6Ur8SD_V7%4pN9sCN;D}+FasoRW3=Z zgHp>Ag|PTXL8g^*aAxM!LbucIKHcCV)1-X7KfSRfC_s}Fz&qRrrhb=|%m&Tri3#a) z`(?TYt$vw+ON^z<_cV~F+d-1d_A`#OKT&;mF3G3+C-FPrRKoD@D5yy>HRse*Dr^ zD*YBH80Unh2ehcG8Cyt#+9@Ib-dO1wAnaYaE&a@toGzRYPf6d8@=AqcOrmYpmpTJ6ANK6d6s$R za+!}*Z*{6RwlxeKugUth9*48-N!-%)&reWz(th&LC?DNoW-E%Z?!j`kbaS*gEmKmQ zg{@VdT^<;v0dOR`oUF0VjVctIyA=CJ*OByen1kwQ#VP61GsT>rO&FC`iMhCOa$B8- zXxqVQ;HeMk162N^JMw!u(;&~;YmU?-a-p7S_?Hqk9b$S`DWTbEO2WK#LFXq=d5FAW zNWgG}w1R_N5J7i0n~1+(qMV^ANOoz7{gM9EO3qG65E)i|%wAf!ENrVoMzsCqkqP__ z^K&;bIsen773+_|j~b7*wOlLO@3B(g@EM#NF88+fynoG1zdcZ9n^TREE-^CuoYY~` z5ADcKIndRSh3FvfQE}8@eRqqrW2@-&@#>myXUlv!ZOeNtzk^K4^x#xtbW~F&UdB7o zKM54TPB{4h!s)&F{bM&RUleGEV)lHzn`rQ9&X9FZM~ zDk&5!Y#y^cx?wm?%~{gjpJ0|2R@B=b&VF6k@y$^ZAy2li9ql)DF>RR0p%DX-lfnZg zF^RGT%kYJs(tL1*%kiO)+hzc!^V?h1XRix2L(N|qVbLGV(!&@Y3 zP5*cpLsXSp^-f*?QYA(Vt_mOo8LSf2mvp*GjT-T9(5x0A6LoxD`kV305C_c^(JhQpzx?h+9qBr^4ED-3up(beXddJ^7T)uP*wwI$F6tC4J z1E_p^RtXS0T6UaSbomdDrraPr579uVi-&u19dYIAu}$@D`&v3qxgVdi`Mo^S-@?gY9d>Pu0xL@Z+a%}3i@l% z%;BP^H7RaBW|*X)%iIJrNf%NKyUr?%K82y-xg-NI9Y2K9JpVFR1EGy_u@D&zs6a0`oaZ8@(dFNo z>KSMn#X;sD376~4sc@7^j7fjGMvYKuH2otJD8rcpY3x`f@l625LT1jMx#2%WVI-S) zvNa=_q0W-1W@gGIQ58-@?tp+lx&%1})jzbGh}hC zPrBq2_Ptt{FiPMD3z#;&#OTJEh&kCXaVf;)%6dTZNPuG)uAIP`(9CqKSDoNLz%1GF z6v4QeaxhbS`%|GOlQePbNsCqaj^T*ams~B7jhqfR*3F`1^Xvjwh|!+}J=rc7xzh=46@u|D zy?HRGtjhxubxkx$X_xs z0)J_ve=DUEHo!x>(u6lJ{iwsT794?mfC1T|cyT7Gz78#i%3vv!2N?Z!-c@%lvD?A- zqt%XlNSuDq{I$7L4U;|U#*Y7muQR&~eV(YAlv^m)t7wEe07%kW_$j~(9*=ab?T9K; zCoTD-mcsiD5W_CZ=LU@dI~>`({;!X3gO3AW$aQ@~)XdgwhL7vGkv5`!6%>H24}14T zovU&R*8d!t5`bVey}J8|U$7D2p-igo`=?@xgpy?t1{9YWH_tuokDZ?>K20eh?|)$| zJ!qh+IxP0Tseuf(dXq~n%WOOhv8f+y9&0Zw9+FLnLZ1Zzk_rR>FV+o#IHfu}qUFL< zcdtL?;$k^+i%U^*v!_96>ie1wWaB6#QI(P1EwjZ3q?t8R#Ln7=mgXfBRoy2jArB6Q@QI0EaWl(bwj*?>S+@P@V(XWDptM9`I*`?yOE+XLDh$qM) zWqCLEBGZ4b9N62cs8@?pQfsQ3vcqdxVT~r>U*cPmtWxYL&LkpRrY^J(uTHhKumy1c zGRAI#o`?7#S2BaiRi$#xaN^^7kxrs4NH$fMODwNjTO8CT40tKE0;n2@l*xiJr56BU zkpMRK`G{CZjo88j)73K!nEmHd?SZxsJE#6@jQI3&nGqUVzIk*H4?HClv2Qp<;kmM6w*g?Re2UO!+O(>P1hkD8^R zL9(Qfuuzc=C$@XoQ%x24|9gg&Har%ia z0#1)TX)N!DivcSimy0R_o>n&~tUwhPY0a&*-n_S@06o^QqR?{qUVMlGrj!Vd9CV2J zdmeI-YDO$6;K5M@=C6xWdZG|BU;w{o|S^IM5Q*6|fsaj!bCRIkzT$bX5%R?EC;qU343&L|H z`(C}Z(kv5(7RF!PbY1)e_D7MkG0nR~9cgpB>y|)Q^FPED5%#Lf?my@HWiCNmUdhWs z8mJBkTta)CuJmMG_lY7(otVl*ZK;$Loh9=&s<fQ4hR{eZ856 zLRD!+&oQTBCKRPbl%lI_ML(hw`J-Q4hJH*b3!^>G;~|m+u1r-bT;w+NB zU8*Rb;-f}rnO{)9d?d9vJ1)Lu-crV2s#xn&4FfA+EXlMV?qk<^Qc)0QKVTjL zM=?ru4$OIItlICBsKMt=+jiqpe&2OYz-gp`ALPf5$cq$$Z(%l$P*FXJ6xenQbytyg zEFffqY`2dafQ*9;2cZ7CyDs!a>ReHg3xWVUu((i~g`~X`u@rR_y$Kx;>}nF64{VRd z%#1vtwbi>(55^q}G9r*5TxZd!Q~b;lMYgz}=;7!c#)Cx`7I9j9F>zpFOC_OgLNd=I z8nBNeSU;BAKaPQ27pbJ9IH>pC;2X%`*MG#+xN5e9AhT~;J3YF5|IbA`ZqqhtQv%!q z-q=IMQ-->yCu>4=>H5Qix{*dnzyi5+Fm<#re2eD)`t_PLf+Mb|{2{qokRf6rc4U68 zOgst%0rc&QWxru4&Pg*6sDnW3x_f)76Vd;WF0t>-#iWxBgABm7`j6LW*-^yRIrW5g zc+ikWB|803#>K}kNN(>Azimqpel9d5a({P2o6)8j7Q^{AP( zr=H{C(FLzNgHLpME4YfEX*1sKieITE^rm^~U=-1Td3q@4gB)HF81O z7^5susr$0GlSX0}b)A>qF`t4~2wW%Vq&$#6P$pns40#~B#_e@G*a9ocOK2MivV=(h zLWK@5`@nVu5qS{KtF8*K4;?OzJwo6TEEZ^GGtZM2gt~^zE{X*;tk;coQN~GSysVSN z{7N~Mb&8kQCa%*`L$maVYD7>kHae-`Ti~S5$uIVAY=9+OE;cpMSmZa9PJarZiOmuk z8vrwpkapgMIcttGBM#rKW7C8*Zc!16y4IMqmJ^g} z>FL=XU|)koQ9|-t@G=duB2nqQLmg^Idn`zaA?mDX>2&P@l`q<->>dMp+bu{V=Oq;i zwxy|HKsP{`S*S4)Nn2`Dux%{mD#*~$AyCj;#+IHZ+(#lm5%n8o4no2wK&V_e9co)o z`uoRt@8V;;y?+Fdwh=n~jFYDUz|r$LnrsMfv^)TrLL!MCo92bY7<~~quuAQsR?aiE zj^P{+DBDw{Mt2oyeRLTQtVrh8e>~EdTF@P{K!swK2t{v4_7n&MPoyjr&KJ00MYag1 zPF0EpmBStwIaJkQnb6``AAj?z!iVYpr#j=ZfnwA!q2qnqQ{NY zM5(|1LS1+M%tTy7Dj(UreSwk#){ih^WK+y75}75NXI%;~fgubZh#ARbK#d}GLmd{l z3~X+ALKW8|rltUqCI@DQjp13BqPo)ZpoTL??mc~RjXFns<$u^ zL>@Z(lt-;IjLoZ>tH7wO!D`Q9hgheVC#~Dy(~W#tt~y+nMY&r=U^Rdv_XTJ&`iaBt zPk2z)br*NLJ-ZLBSIX?wnpP}B35c;r!QP0A<|UP|6c&}wrOjLL(6qe)KYZ=igZma` zfnV=jlfu(YJ2u0uZpgQNLYKtHa~cybE-r~=$I)zn`DPbIMx@a_S=FKaE@8IisOAb} zhy<{sLgVD;1$bTjO);)lhW6g#OIOQdMTKuPc4wXPkSc*2sv7Oth>Ug)7Sn|$f^$t3b+Odigq1R(aTYMNCkN+l@^JTg5SB93z}&mQ4+5 zcw9Q{o*8M3{@0;j6!#nigsbOb-T9(lmFkX)7s%}=rW|y{!AbITI)$p6wE~7&eMm(h z+$jjd_s4}K(RGE)m8zak8|Ui7ENY!cx1t_?n*I7@rHp=nhSjZX5xKQ!>4}T#{EDl& zA^p%?LOH3Q+IQmqS;GwCNG>xNDx;YgDq-_Ht`1vi-resJ;W2J5D=I@ImeTI5A~xgK6V=(wV_!rn~FAuT&po z3WXI$N?))uzTG?jGWKvW1 zCx3d`%wQl&1@n=rY=-ECr_1x&@tNx(46&n{{rT04kXkH;Qt98#=!Iy@R=HMMxN8cY~)i3rlqITOA-XD&D zslm{x1g3&5a($>)5sEYwQ-dt^5U*?k*!mLnj#iQRC6Sk4svav`W}4DI3u#&#rPw2L z%J$E*#CeW#*qb}qro$1cdZ&lQlyrK~(Byr&)L`~f#uRIY?rDC7Hn?asJI=iczt~OD z60B!01P1DLyR96w)(2>O@>RO}@cC(?H7c>y9fI4pI;b?Y5WM~1^#P3dGM67OLs%)~ zq~AwoE0P_j{_rV$GAIc$7IM<(7pxNGZsnc_Vt6I%5TUA&v8Kx#)&o@iE01VEs9&;% z)!=hlbSsuKOHDn9y~ClqB3#w3@}cZ4J0mAEV}el`f?EE0gVDwfYv`h$9C&Rc=Ux2p zW-*~`*PWvM(1uKTV;kVnJ$&aYa_a?7dpy><;6xUgs!4sOMMe!rdEWKRk+tk0QO(ij zst-}ZOxA)@QQtF|fVA->4Pl_T8f3j{ijTh?t+E zd2G59RD?a!trokP9Lrs=U5?{dbbtCT+*_iOxVTuy;$>vJGa=b@=hoPrT|rRNIX8+3 z$q34E-Cy1xJC>fbo!f21t-M;A9V1FWxT?WW8vo*aF&tD-N+hqLSam~sBEgd;qY*Ia z^_%M+^}=V&>hCXkj!+>DpXA(sHzhV@(`Pipj3`LpI7Qeq{C@~dqncoETVT?(0(tLd z!a`I@*kinhu`o{iAB@+Tag~>B!|bU!RP@}KwM#I(pzM=~i70BaEFDHTLA;5nkLQ{( z{|o}-AFt6f^~6X~KILF8@myCfb*Y>|#!`U6Tvb@6n3Prh%uH-*Qq#j0%Dt_hreCQSW&AVrM)Q4Zk%yH_I^Fxv_CL3wxXXKO3eOusp8V|uH zU}7{A-sduP*qNA$ER+BYKlsTcrtW}JRadl^Xq@vg&cxhKp_1{bx|2(4pH>#dA0r_- zG#{)MD72uo)Q}u5^C7}_dwzawp*C*evqUKS)9`pEwfq2*3?!$^nyn)(-;k3MZ2-ny~ zCJUO1CD(TtP+bFh`^q3;D()N+(Cam!*{luTvuZ8St{4sLIHxuRGcohz3Pahvo^bVa z$vca>_q-h>O6TV-Q&PcaGmUcg#nc-CRD=(Cwi}veKZ=I(eMbB^DYmfwDj2&zn=XUSkK%S9LZYRQ6gal4II(^rA_NaU#OlF0#c9DSq^K7*3IM4U7=o3M^!s4Q ziS46SPwK3f{5bl9ume30(v`V8j~9(s+({bqe9)X+X*g2RxX_PXIN5Bc=>yTnS#+KF8jFF>Mq~NK8I?evT^a_ zql$%6UNnT@HRivj$y%{fQ!Z>}(=~6Ou?*O-XSaDD=qegoa8~$1`eF+;{Z4+&wsCs@ z$NoqW*0+F=)R?M=a>a7ij~bXd_2n~ziAvzZ<#-HLF&$L7rgtWIoDvXCIh#Q;qYFKFAlUGdi`mJk9VR+{Hz3D4xvrxLjV5;(e>ciy zmq=o}%JbLL$g;R-12@}JM&Yav`7@=x!)*y)@5U(U_*Oiv{oT0YML51G`p`jOvnpzR z_j=@-u+#Q*5f8W76irz+Lo(Z4zOi?&4TH#W$?sQ5m9Jw%M~m)PqQg2zN)U(w&hl## zL&1irBkusv1E$=LNtU+7*(G@}f({5?BGw;9@E}zy?+|Zj>|eI0B3y^pK`>)9%tq+a zOJPUKIc>iZckfB0c`onVq~U|oYj$yk=W=t)n?^k}jbg%d4x~=mTv^q@9=GP4=fCnz z6U<@Om4cTfQjf07|NAzP{h5R|p<#-Tq48k#S6n=tPI9;)BC=1oY z2e=J1bfViNKwdbf@m3maN|AD_KX#?%cz0=s&UPe9O1(=!u>DfswVidU)y zB}d@_WCG}VPN8uhZZl&?6A<9F?q*_+`H)h@c2x3g0k^yZ^JOGzfiA#H*yRAoc3_B* zSW0S$7=um>kro(fIjYE098uJwqzk25ik@m0nqMAl1S#RG{E-@)Pi`ZgK$Ypvr{w{t zwmRgKuuV7^YN&r$u;HK&U4%82TW3F-BCU2D+h)G=z9kNOs7wnk)_7$I(1UBVq;`=x z$xnzUBiGYM2*JBsz1WXb9`vNWWXE|a>pE8)O*_I|`gZJ5DO*gDhDundjbOA3y~xu^ z@(6Yue@YIE3X`DhP=wlV&iZT1E;3)DbtC)5hEgpdnSFK(`vU=0`6_`V>h^KgZN6&u zciq{xawv`d;{ju70B^sqgodFO=_YlIoK*LDnQl0p@Uvo{C$p`zE^=uDNFHs@cbY&j z+5X63PDsQp#kMYm?=fz50`>PqEBB(%pCd)3YNg6)nL}$t+%D zE<$0ZVs@1ZtEJTWljJTCY67Wk?h^7y@4{T;*A#Q^@lKYaJ!4pSVy(TTBttYxMLKo@ zv4$j#oSttl;|oyO~dh)brx6V8C8&F+-*$TzO!gD+H z^rT9pnvFDP0P~WNXOv5FS6e*C)TEaY&##pM%3Ee;Wu-5>e3G2))`DNChN71daG~!H zH?$eCu+F(k8P_7C@Rsy7&Qrmo$2&96WXEA*63mm{xhwqi*6+`T)t}qH=x4<=!}|0u zJkVKToBIqgWAEHOw)uSsj%~IK5P`zaNSwBzOh%k_$|{o`z*hC4vu|`zI?TbGTGyKE zpjOe!m2s+Zp$>m^w@z&=0C3vXWgJBoBQ`R9y#TEu41FlOHo{!(W!{jAGR(<$X)O(ipVfVrj|%Py2hgZ~ zO=6!+iLmE?A33pTX-~Z`oI(Ju@ylD;X8d3__xHC8=nitg>3;7nQwEr)E}ti1iB zq6P95)O;$BQ$3~6{(B~L$@9JFq|&O7CKxXy^5iMNpwk>LdC zQ%L1E3KLBZofTWj3TxO|7L}y}Z@*XBHt8xDr3ZejO-kow8n%tKlqa$VMEOeWR7~JR zAMR3Rsor=*$7-ruY!6G>48O1xUo8ioidOPxR9c~V%@`xC%|AXd9;woOi}KY){5U#z zsZ37WGnw;H8-Ve$1T?02NA=WL7ktvYGRlCUo*69kR*Df5>#n~_d->mh{A}4w0FEPf zUQKY$u1mi-wRatJ?S^4&N`pA=|9av3#e=CH1_J5%2}w$~Q?kCNuiCBX^cMN_6_q9# z4rlO~Wj^sw&zC>e%M2c*n&?8{t^EgFm13lsXJrjBMe)=V@vP&Ea8nM%wbVbG(awtO zrE>B)E@JJ(?k&3uGRL!DVyj{!bRJRg$+b53U3zwgq-pqyg19VGOrIRnr;M-)K3H`2 z(b=~Co6<}!fv7c`gKT{C6F_-{k`U%KNm7)EuRfDL&NYXGGgWdqm``wbJIP6m6yCj& zpogwD_Z^@^s++u4i8%<<#iP9w&je9as{^7iWozc3tu;{sRU9O3fq;!dt z*!J){c7*)$4$K~9Yzt-n2~=~8@lGx`ldtwpk5|j`N3eNw$QHuRjZW=Fkq4F>Vw8D` zhiJ{k4YTl*3z6|VXvf% z>%U2ykN88#J_w0eG=F`9HsdzNp=Zq|S#(}diZ09VuhpW@oAYBzw97vF!aL`q+S1es zOsQyZ4prIS7ilvx9UowHXD{Wp(|2(7R=(f5M>}pBCCH+p=(mlI(=&*sd<_Vn1qH8q z8r_M@51qQw?;y$gf6y08m_;@WA2x%K$_ZBSgiq>fz8c+6gw*L zfU`h0(uuQjkFco*YD`OY%^BL4YfSn1^m^gm1s7AAH>^p%&Qya!2I13Mka^ImX5-{g zDllp7bLJv%?H{cN5AL`}w;xV8I;^sY0 z1mWrY$;^O60`tP5+GLQ%XUfbb8=dNZLj$A)EycuiE_~u~fEqW4V4ZT}q{VH8V)cYK zi9W#8_De)NmK~O;Wfa67O8ynFcA0XLB{L7_uiGa5H!FCEl+X7=Moog)^H3GNs@*D& z(8xQZ<iP@-4 z`4@rzW8I=AO~|g~R)(r4G=Iv&KxqTzmJ3hs^|txuv#Dd968zdCf#!K_`xjiZ$t#UK z_W3&;HZd>a>J$hn3H3(Um=S5UFnqGI2uzrZkq^RHPcs=Yk<@EJ3-swVgS7jA zPO+0&Lko3VIX=Mj=yf|~9g}$3KjKbSE?G9tet?PAPooi3ENi5055K_8_2IqTqnL6q+iJqZ%1UnzX^RittH$*Mtdx$V7fkLXqW#FBLs6dkXJJgIatP+^e_ znxwMeN3uy}(Rqqnni@qUjJ<7@B66w?!?eB=Y(HyH-bLYc^M=`q)a7;XqL|9u7OJ~yU)K7bd5?q6)ueBA~6RAB&AK6MLWfN4hVNa4du<)t<<@BIE z{lUI1tFxEbV|y6Sj?Bap8G?oWv`@>*@XOkTmui1&wA3Vy+_b7$y-b{q4r; zb~Jib0PRdTVoxY*y`N%GT#X{^wNt>2w&SU+er6FS;kp^YxLJ?rO2F}aO;{$I&00Mw z!ZdnBeyblY8+i1 z{oDCCTW|QN?QL@k|3(qg5*`rtFU~MY#0!a3s6m{K09ON+_GyWpph4q}U>#y|Mrn=! z+c30bM3kuqg@-zA%YG4=xOtH|u->|;P6SjQ5Nn+2qC!oKaFmM~))^iH)h^#`t{5kQ zCifwE+QYb};SL$sx76hVA-qs7~HajT%()y$XqEWa1qS=eo3Xb3($LNf=Q{s{U* z>pV-i^rw^WpmuQcc);R4Sd&VQn0(Y}vHUpn^+531wTmGprBe4&ehT}m*>Q-WxnJIp zZ+A>gh_Y_l z5`C@F1V53sik+RNEj+g+fW-+_QpzZcuWp`46D zzoDrVQ^J1LzyMqbpr7RZkp{T3Xz6zl)>JQ|YOxFLTS@a0`Dtd^(J<@B&SlwGZGxA9 z_dG?PX%I$LGM7x{vT8(rS41l>!gAGWlnfIWtVD@SOn8{!q?Bq7TMy5FWS&lF{rKj0 z)ru3N&F8;&)&ldpnc`}TbnX7i_CW11Chof@sI`6@?~q!p_b;*}@2iPaz|vM+bAN7P zffjqH+eg~Ohe=Z-&9~dSi0XQlKfsz|Tck3B<*PIN2X$?r?_i73b$Tw3`Zqh;Lrpir zAL|EK(dLetMg?mP2|aG1CFPb+0Z2j(@=cmb<=qkL8fJO{zrr>QQ|i-83v;;L0si{| zMyvyQ9sP>FfMKA44iJ84qPHM&U8T`UPcwaZ*DbZO6}7oLGG;FdZD{N<9YU{K4TgI-cnby}g$Igb#ZdRZd=iyvR}&NcG=M#Z+k) zWa?|0PEXN7d8e9eL`tBMLm~-06P9V((K%fXYdS=c#LR2*2V{M?OUYs|#Korh2!6H?T51ko&(!l4e2ADT)s#eHdet=4ry zfk~@COxSfhW7T|#Q>djueJ6M{wn?JHr6WoPI;kfBF9NRckiMj5L@m_dx03-MxIl4H z$VvH_-dYd$md!s!8?7T;@j&hb33nEe#gpI!!xY?iTs`e`k7T&P!Jt5KD2AXv?Ka4> zft3JaF~(&`F^gFX`_u{G@oGVrZneoAJ7)h)r@wFP(apqxATl$bGraOBo@A9#THb?KsT*_1Jp!(W<^Cne#>Ld$_Q(xABq7e)FwpmxO=B zzv9|wX&2~~DgOCGWY~XPb;KU`VDS;y7V-JT(f;e4j^D$IkN?>KZNPtyKD`CozO_#O zXg6swc+x&VX7{P-p0O(hqIq`k%)cfpkU-Odbh}#ZK%o<}w<4k9a>cl_o_9W+gd`%O zyRvVoCIU`Oa*q)-V(-bjGNU(CXcOLlKmGdej&E<7dC1zT5VxCSG6&^+m6R{+?*u1n z>{1*()0GJ}HQzI6eL(fRBM_UU9^|g&3+*&qT zab(AHDb@d8{m`zk-E+C*QNO%c$MT+c%cYytJ;#f&A48y1dh+w(nlRD#0RtRFyd<0} zE*7&L)IgjpYZN@#PM8nlhfbC(ZG7y-o={ABeKqRC3ss5IZE|?OVP9&vjuN^*{-?KG zOnj@O^@X=&$eN$VBdeqZUkb4aasAnV|KQu@wJRvn6-$J_9z4Qp zEMnCy>FMjc*xSk?f|!%xi|0!{h>OK8|A~{aOvBYxTXE~u@>g2-mf%2@$3GsGlTjZU zC6nKN?%`S5MqWCCJ-h^5PR8b+@I6-+_$POCvRsVg+~dsW-nwaz^xMhoT)oG(n*76- z84Gl&du&tt4Z+UO*8d<THxZTpR!JIHxmf!vrtKa(iH4(?@q@uJfii|47el`)c|{ z?4!4Vp1kwVquMH#{KmwiD%|U;HpT8Ae!8>lQ{`D}F>HqVmP;vq;`^c){t{ly3yBQ)&Q}xy5<6d27`b)(#NnF(%%h`cG zfO@v*UfEk8DcIhWXu)3}XQZnUTuWXhaBf|w*}s22O~d*n;M*kYKPTJK571ptUn-Xa zF3@xLQ=LVfJF7QXLqaOP|HH9}6d=A6OS)0>U<~0LOR4A7`S0{@Rs8rSh|4kVpFfn( zT++XvT3+x}Bsr~A#Nmxw4`Ss{K<-y;JB?oXpYMDDd-^?LW?CC-{V2{8=%>}P6#cX< z!?zk9BIH4YZx>vi0Xn4u|Lv4o-T3$;H{e?(>20@*rJem#f_8;%@AZ?`8s8h#xC-(l zpoc2s8OHn5jiPwBi{r|j@CBFe0~$vhPJ1T=Tp3AI#2>>NUH{u5RdVNQcxd1~TeIxe zrE~r1#p5r({kFY%HZP$IFqPfJJ7FF68+iDNVWC3S1#GJ3-5 z?+t-ojf$_^o}KSMpnT5Lclqf~N7$?N=nEH|IG)H@WlJN{Y}tWl;#{p2y+kq!}Z^~3w(J?-h^#TVn=%a)Y=m!~nT0r+3A9Md^0X~~Aj zi!e{WaB;S)pTEy|aiH|W!uhJ}JM(1#*7x+f8*+t(8^sxz$ZlDGal){dv*WTBL45qy zN}bF1{XMVKt=h8M|E(Yytk1D_JD4nJe)oC7& zOm?g#6HQGZ5)LV0ka!h=XOn);HODE|549f`MxcAmyA&f+Z zH=Mn_!|CB5QK>rZ?QjwX+6$V%AQpElxu^NAX|5~##C5MakYr7eZUl4y>Wah6GUTNs z6+oG6ox4#DK|h?iWkZNWqz$edgnufqCU=l%t}Nb#!%8``aPIzB0x_&+8me?C8TB|c zhLx2`OSyNV@pz!oMq`F<16L12Gm(9WO8UzzwgPjKoL#Bvcl959T3DsJTj+)HhV?Eada6ll zqbJe}OR34Fk^7z&)}o+UwSPILk4hR7>P^%o9%#y%@E@r@ZQ{1kWC@wTXuRo9DzUAM z;iFRWj@5Xa{S9j@Q9L<&zOR*}g%ff?PMPWwQ^D@H%-j0L=_fazmpZA#@e}4Owcs<$rpXpcEJ5~=YgzpdS@`8zEua&PSl5xv|p2#P6 z&?Cv%zs9eKZMqydJ-D+3wlx25G0RO>L9A1XSK**=PYbIMO9UCN{DEOOei6xo)e@IT zqlGUbCC7JbS`StG-fQeCR>Qf--2^8b%4y(Y-3S#y{cfzb=-I>zHQdkHK6o=`XO1sK zyHQLWYI37{+e1(t38UjZ4-uR3^OfUI>&1CV7OlMSSS{Fqkn?yJCnsqzqMBZQdOLC( z+cSUv4S|?^d2+8(40oV%IKvH;0xd=&@hH*e^R{hEP^|B)Q;IR=&G}-Er8Uk)~5uv?!bye3o1;ibuW^ ze?jKY2rem%oFYq)85iz(+elMr+;4tX+rF#*pR_?n##KHG2ZmoEzaR-%TKG4ls7JA4 zy;iu6Se&y14sO1~*qOBF#4AZz?H%C?T_vPI=6(|x;bgTCP{1J(NoOGmMXCOXR=qV! z^`UH%s-hiSN}mO0Pch%)eG-YBiAb&|`t0Y^L|kzH`uR2)IBWx31QJ|ConeI`zIo6Igg)sF z76l3<4`@EXNTGfkeLpmbWt6E4o(Qa9J_ak)&TK_lmqMp%!p{#|^LxLPVwoGk&V@ha zua1gjqOikCPd4m?lte;N!0t3=u1gf#(w`sa#l#K;#uZKvi87hp{)3+;_}I}G~#_{QdY;eRL0 zxiVPTI`UC?9R-F@-+Mbq*ks5M>{XLl>!c5coG9E?aXb2W65kOFfy|U$MLXm{15Czb z%SvUYDik}oZsGyY^s+0FT~NiAtztv{@?pl=@s~_r6X2)KB{S93*^={j;>Pw*#2clE zh)bnzLj1Y$ilie#%mUq<^ZcXkebm2ngHK%iTeW2f`QjiC4FmjpV zlG&g&RzO{T2ezzW?XJc2iDH8}ARY6U3&S~u%;OHT`v{3m9Y=jguo(m}G9e#%vA`Z# zQFm3pP}+f4=QWgs=xK`3GWtlP*lo{xMz}X#+BwY1U?VsU7Z%B_w{U*uQDB2Rau>r2 z;*%U9ZX6+~YQ@y%w?6y9Y)#KX2K1dC7fumpItI;7lkG;%AgQ%MB)}Wf+4u+wnJw&* zGV4a^ZN$t{{_53|J+IJhk|UMP+Bmb#G#wL9_Vx2=d};8^{~#uN zNYwrgou}~$&OLH>7dyG&x~2@4=XgwAvy}qgn;#zs){4`5yR^PI4=3FX#begK+sCsf zxqP*3B`(;BpQ}VvN`J(}5-mvlnD6L_=?L2qIW5KMlv|FGlfs*;yz$X@eL?0I%&Xjw zQGx?mqNJY9MA#Y@FhmHEIBVPN&(yyTj5C~(M#Og|+Cf=#kT&P2ZfN7ZLh0Lu!LgJ3`QZYo(vI2ZXQ2NFNNac29A;wg}vA1os-`fEX34E zvO1*5${>s{jkp&7P-T_K)V*5XsLp#Jdyjdj8pAYbzc462b4uPd>=M54=Wq32G81>Sy6*7YCpeCkUZ@qRq$ZFvqE&2WbrcpO`Yb zmViwP8WJb)M=K$ZsIJ#uQ#uH*@5q$W3}0n2R+F3x>^+-Futs`iObK#$NJic*#v7 zS>tNX2+X?N+eYKQZr?bKF%m7zEsY4DOB-WMVY27p*lWEch>_b@cFwEvbAT`*MD;bfM#x=oKkpB?Cq{; zL`W>!2}h;CZBrD+XUWDXj37dmI1?F&TwJPW=a%9Y<`~Z$o#fVyf)26O^?Ue3`ll&< zK+-6iQ8TCxd%sIE$pX*j$a{0ox{8F`Ov-EQ+KAD>>(@din<6k(@d2@w10 zFhC(!!XX047cegcslV1mY8)-tN3;TcV! zURR1x>Pv(0Wk5K>5!O>)!m6)%@HE6%9ltgM!k(fqnE3q`KUM-<3ts@4j0_S8$^-N4 zL&^GxRXfQ=&*>#od$kR<2DFZRF684!O&?g=hT(S^K}7HMu0(d1Wi8`rO1}vA)L|OH zbj3NCA#trLlh)P;b!8U4XN!BWkj5@cil17r5;1T6w`WX|Am7PBP`Kd~5`JfLC zjm*zkPf)l7P3k>1%FTis|V{PLf1y zjr-eDA_y*3<6q9*!R5LW5u@!oM6-@xJ|H@Nw=u*^OEN8{Snmdv-?^nEB)4C=int6y zF50NFD`jQ$RR9#Yv~XmX=i-e+SCr)w`XstCAFzk*IiiJ=$w0zhKo0$QvYOKeTGKkWf3Id5RJ*KsBG&tfhddb0M}UB-)@VYwZ$L7x4x{_+Xem{O`5-`8h2tYjim4&F%tu+FPAZnDhU_SRgJO*0^FE)|^z?m70O+gX@ z@OBL~lkn2CgKfwkuQ-%Jzyt*}(Xbh@mQo6hG|~LPj?T89z=F(PgB($1d(I<|reAfV z$G2Yn9oPHw#?ozxb?1WGMuC4L!{4?dhO-v}4}TvXgNpu%%a7LuYz-H?7wFNJ@r^`z z$)7A-n;zUxM(>!eX&T<2WAW*J+sE&n`XBCed5wHo`TYEmMDu@#XxtHFv&qmY25<;;-#Oij`udZ>=m!~qUqgry`RQbU7GV$xnTz&kHuMET~m z0KcqW2rG69gi0pTB(R$AYGI`D&nV<`H-lyAjC6aK%SNp&tsh3MQr4SkxZFAIjs=?i z<^oJ162268#6|VgM|2ni>37@f5E+H;?2Di53>^5hvmbvDhn(s z9+2L4T%rljIq8~wDk}QCyLy4+YMy6#cf`W!|DeVT`CB~&(%Vx1D#|~VN4q{3{84j9 z6dc;cV#oe`K=?gAehMWT)O9&`6EdjTDvEpd`p=t{Z}w6$Ri_?TYPS{?d)jjjKhNo! z9X3DsvU4YPJS9f+d4T!JCrDRu|0G1>2iU-Zn<;{pTuh_)*5FW6dyb>#q0-5dpV@gmiJw_UiwmaRX zog^#U(%=c*9VL#jNk2fxQMjTXC2EeFFg@MN^-8hABJ*ltv)&*Lkw)uJvrFn5m7q$- zrssLs=Z&`HNQP_7z?iwh-uLLf%SxmymZP3QqC$U)O$OCZ+}uvW3_D3XJ}i3}uR6|X z2)#8fy#R{ZR*Je%8aaaDB1W6@&U)^?eoz4qsx4&@mBB9H$liTY#^wB)Uo4}Cw>R?k z!`I^Wfp0&?e4jR=VwE7`3)@$QF7RVz_dcz@G68MRGNBgbliuf~VJ5anGPfIM3jj*s zG2N$<-A6nIyT%}?i>ke3WQv*38$ebq0|L7{o<)om!N*A2R!U=TJoxjVq16}4s9922 zDfI~XwAuJAFD-!-1vi!@v-=|f^E2lMVnLMjIa3W8l;!jXOxdsW*qGV@fSON)XdLt| z1K@&~=KP=&_pTgJCgb=rU40z1D~e1=B8V%^ds+I*@% z7tp3XI^f2rtVE1PfOfc`I8^^-CM2b#vlO^yqJo>}0vi&T2WktEz&*Rq1s57;GWFpS zJ&q6uVMhB0A3iA?AK#wyQD42htyJs;{=K~3LfnOt0BKfUtQcJgm4g@g?*>zAhDj)g z8t}?vgsx-;^3I*-1f9qcw&;YE@9MUAO^^>mewMbSfIk$G#3RNC5BmI!osr45*ur-} zC?qLoBE(~H21<)7R(1?)K0r(5c*dmfFa%_8=S{1-;-l3cFE!aNH=P#rG?EYUQ#g}G z5HV#cRSSN>+-3Aj`UOk3<-^j;$7D22%Qv#Rb^t(#1LBka#Dwyb!H|?K zOIKGGcwdImz|eugFp<7YpJ}71|LR11Vb}# z6RvK9$V7$8v5rrq(h53eVkecR=XC)E+Cfw+DU{utW!JP?K#OIdJc?DHe3-!X*Hi6d zA5c1$;+9odkS0X?u<;VB1|wIAaB$z8ZU*W#k|cPS4Za%f!U0af0uP$?0J%FVXEvh5 zqa7lNv#N}5i({6!#994D+2j|Z|3WvZP-7{^y&(Ds$~7ut&`|( zqb6b`NjAtt+XlbWvVhD{y3S`pek}%A<2sQFAo;oltZ@VSX;u}630-xy);G$697CTsEn&%3&B<7#JIrJR3&odz_=@9eu-o5AV?4b zGkOc2W+@~nd5=#AiycogZ-=`+319e*|5Shz2+xrwKv{&0ONEEKbD}|7-kG5of|~*G zC03=D2~O!rJeM7G$S$i2Mw3vPqN!e5J3fCapqtA1%rbjaIIxi^*L;* z!I6iBE@FU_b`wo#_j)SGs->PKvG<&;ukVJ4B_JasjVR;@^S1E?V_%)ayhRL%!*uBs z*@Z>Z<|#$)Pz$E$!s38|tdzlRV#2m&fq+r-B;mw3oe3VlPG5YD%Na#b3X2$Y11hS; zyaz{22ccyUD!sSfYtK;-1eF1-m>?LK+sUJ_2SxXv? z?;EF^1oq}%HqO&Eshr(yiaVo`SZMr2Tt)xCnh@T>vP}xno=D}LYEBjnA79F=MWD=> zt$*y&J?!0L>uak7Bw_}Gb(uq01Vm$7!Fcs+tVQM*A2vNgcP-a4XwTqnfWaA>A-!S| zSB{f>y+W%j(Yz-|xVgN-olSyAdB<-${rFYxCGt&8{lzSOxwZYcTGaBra`H)-0B;hN zhEjKS3l7$G^H=jMr0OQ(x5jfEFoo)fvEW~eI@k27Wdm;v+NoTmX0KA+yFnldxT@IK z>KaUd9T>15PHE}A2Ejs#$aN?&@9+&qju=#)nmwE52LZ^nxz=3brwj6@isoh^v;j?BukEh>Tj#u-Zc#Gj%5rYK3P7l=ka9_asm7a{B>vR8qYm)0O4> zmMMlPkxlhG5jbq6@L>c%9y+q5o66`?oRoQP&b#p#;h*ju@UHnghq11r>*YZFAiHfILymKck zi0e%E#_78B85KR>1CHPK&WoFO#{d8IDC<|$iZ>40zy{w<3G`lirSRB}@dI=XD&Io= ze``=R3d(AN$}u%%i0R4``buv;Ylw6b5lp0}chC4J-IC}*LaafO-O+UB?T93+ya|B$ zoCf(zzF2{j#zWj(OUhOn28z>eyR5)k|vrGCIG8MQe%w9@>$GDevRG_&4WOw z#{u?a_N5ZY{skRcBy^t<9%x;1U;sy!H7ACfen_!6O#wvF5kt{Y%IpnmWNKucw2}KY z9ashG!S^!g&j!X=pR9cQP?0e%pvHe-N0U8#<1l4bLKLrR0v$?YPHNBk%2M?Qh=^es3Be+y8a_N5n4|)>jgH zMUO}Sm@t~V$_JP6yEJgHY645s?_K4`^_B`I((4dCR}fFlAVxd*K6WAa08=K<3fk0z z@9SWdBkk};2Wah1eb;AoGN_SNPXQ@s)W+9*N7xL>trPj{*hcvo>pI=MKpAr;%Fh+lEo6cQQpbViHo$yDVj zQXlbL%5zCeAsRhX*PkgejmX5h=L4pM!X245&5|dg*TI$Bwrs=JAnF9^AT=UXrxnyH zY^>uyE~esu$)1Hj$&zA$(td3Qc@B+d`Cv*lQj05BjVj0kW>Jxb;xguzNid^77YIND%`Wl zeMT6)bWYAkc)6lN^qN0sqy=RTn4p*jbtxy%uV2?so}Y?_A4Xj|e{ji>TcOv(F2LIGWTTK|edQJX^HgMWh<>F7K^Qn|F2DO z;kFB<#35jq$Ukilhn{_w_!wa{gCTEZt7Isce$7%pYGJK$-n2YoY1_^tos;qk2y|z> zv3NFA#u{=mDP3Yi_j1uA%#AB-9C`!yw8Z-J-bqJR&}~5h1zf}|GBC0S7~>sBBq2XN z#Ome(O{+r*uIS_r5DKJW8eWAsqaZ>=?*j|<7BRk4e-i;_uWL=iJgmVIEQ1K;<3>za zhbtPI|HR4R6{MG1H=-&rbFLFG`|Y_m$FVs zXJ_=H&TDuU$aS!G)|83Iuwy!6d2gOF-4vk?i{Hi6C~wwCg89b>*1Q7l6EuK>$A8ZW zAy2FVyk{{c8aNSAmj;;PNKD5h^L7DdXQ;UWm>vzryenfeKvx&R8dNmIBdQkbbIA6b z(Zm>HHZmfLourgV1Xts6ZkVo-;o@!z*4EG<6a8~VhbJPYC*1-~vr0%?TH?(N5;ujF=9FZmvsxnA} zQ`@q|TlS*JK~l7Ho7Ta~4*za`&6tPjZ#Ly`E&8o3&euRRG8vql0d(aQoS-1f^Vp3& z-e@H(gLrK_!yE>ud3)cLfPs)O@YC=CwbCeE3M;cdP{6;`Sypf>X91dRVi6h<*;$3{ zvVuRh-&ULl6gpB}^$=77rL;4KI~MyYF0r~?8XTb9cV_o|fywCyvF2H4cVaVI!_P6* zX=$|XIAbIR=}Gt3^lm6e;tv2Bvb0@0jQ8H7zS7sL(fdFb@Cs%vffrT_s3o0YqSw)& zkFmDl)&}J*F9c)cSBa9vEgK*B&1P<~NT14(h9{*d?_qJsr2A74m{Sx<$ldTb+FAZP~J61u9=Cm5}} z0m#Pn-HE(bOu@@fq+THq1*fibw`NI5LhOwL{S;if!sq}~3~ZzNTE76sj+YbDD?M1< z39@691HdgelJn_nXPJMPrCbMMA@~BfgGp9c@PU#QWG)?(7u;QyDqVYA*@uC(yqztE;7ANXsYz{!F7rg2zMZ&riYxzXiq}5lMh6ihWZ;!FNRD zHnVzyn;RWVR6UL5?Cl(|`P=Wue_MwGw<2D`!FYmaHAk=a7g%%UZ^TO1E-f$I3;Y&x z<8_+_&YS-a9jU}60Qdfb7bd?y*Sfg8cqBnXhpQt%ryg$mZG5vjP;hbKv&)j>;x^&_ zXU_GbxVO*Hn9lY(gv?IrzPQW|+#UF``?tigIDq8$qq9D-XQNTIwC_7wrb8E=ue*fD zzRIDvF!7&!*;kq2i}j9El_>Vx64J)>$FE_F%7<=$R!i<>W2xak6 z(sQu>eTLxyr`-PCa!j@Q#fSGN?SS+THjQlWX9nZ~8sg-l_4hd=Kx?WYPkX=gFgMli z>39@jvw?$>O&K%sNn01*@xdeCEhow%v)Fd-(0^j40~oq5;$EMpZvM`^#_^Ar#3Zi^ zCr?y2SryQL+`r@F12OSOwA737Tv9(v_>F04im;slo%<7vEpt0@1smQQ#3>KxzR|HIc? zKvlVQZ@in@bT>$MN=hr;9TJLkceiwRN|zv^5`v_3HwX&S(k)0RB5>EnbIy0Z|NZXW zV>le_v4{A+`(10z`OM!lr$|4u->KZ|N+D6dZr;lTB(#z{>SP;ZEVcIGFvhfE?+z+*!4r zlUJ9@LYXjnJ2q~0br|56hqY?8ct}uCto@vPoFW{rjI-TucZe6uj)OSxd)$vqkIcHM zk1TnEacYP{$u>-D?oCbJ>vj(ib5+e57_com^^2TS?{}UpTchS11~d`pG!lS8z&tEH zH`@j;3Dcd}8I9`h>=-JI+`m7lV9%r5R`>m682jz_0CshfMC;#AT#xeLUf&^#&udY) zb?I(%|8yX@KiDYVsaSj21!UEVx59L*g6+RB9w$^&^^EUsUaYA+i|i`$Nci4p>uFHq z@TeWb^GPkX(|eJm%`vL@s+%3(f|2;h+@Rt6d+cJK)ViC+Psg+qzunI>z33me@AqR6H>ASm4~GjY?zgvmQ9SK61g(urAk_>Y!%&poLkpi5IDQXFi-u`v9wDF zurO96I~wPL)H<$nA|GA80Q4im@*d{TOE3eSbLm^(g%R|-neoL0(;4IXAualPeK;Y1 zTCCN!t? zCZK0!){W#og{VMBzL`Dq+xiN|LeZQ$f8X;`Yd?Jqkj`tz^NXwSXD{7bU9Q5B9_goj zs9eA#c9uDRK>3P$8?jkwVfRP=hcj-+j&_|T=c}>nxo0m?IjGjFM#mPPvuG(KK^cyS zeLEJuUO)6dZ)CdteLjtSyScG$l(tB7_PlZa>bly=zs~T&~nr55u#!1qY4mE z8u&fT?ew2em$wgFZucL3@7E|Yi!38z{l5WBA?4*y`cczE{=u)N;6m`(jVXlZ7_4XB z(f1Q60^r7MztlaL>0(yLL?o1+-z36@C~;LGcQqPTJRz_lBW2`!T+~p7#!t7mxVf_c zKT$!{&Y@O{#Y1u)Jhr>Qh{jKm7d(gA6zdcV!;uv9l7=weuZewks7O7Rb_M^&Oa)_F zk2_g?{&PJw1y4ec+WbsXkW;c_nN=vn0J-h#ALJ4gYl?6s@Lryu^);va>(Yttr;ure znY%#ok*1o@dz&|{#bg|j?WWR=;rp1SJX-}mryh}ok2|QKvGq!eqTtz+0b%KdU}Ieq zoOTMIHW$1QljG8X=)yoz?`M>C=fXVn@xi?&+o#Ow=FsNuzp+b4;Gx8ihh-v& z&2Z-@4(}hBys3d;fZ1ule|QA#FYOM4v4#rnBo??`@HO{g)?y(IuOxC9poO?JFuFQN z40MhEfS05>)YFotUN4!(Ih+xi@I?WM2Y|{KxhN4c6u`ja6(@EFti6+tiYj#5$Nh)7 z6hfIm;D@9?2b$gA%q6IgruFl1p@5b=sEa{DJ3zKdG9c;KnM#W{LvXf-oRQ8~ZC?59 zmq5$Y(C|v;)^20i#u@V8hHG3#&OyBMvT9pgTpnW+0kxw4KKU`wQMUu=RJS zym%abgK?;B@+S!I9;G0|!RQXC&4Z}%+(#=A`T&|#v##1SDd=f$Je>5!>f9Hyr*f!0 zm$vQfD;e+q_>AUATe=V0S|+-ikCyiGm>Wi?mc61KTfN1}&+i0@pOzvmxt*AYZCo57 zYs*hOU!d&)ZU8(soxa0*k*o@}%~LSJuTy0jskIDXpnpl_T zFc-Q@Wu)A3nyQ6beLfH%Gv=!)i=ZppW`` zhtbVIb~`btN$GN5X|$^+kq0dXDK^2eD@I2UnJ-o~IJUM-UB>ad2^@4>|6X|pX4_?9 zvyxsvseg}^V+2+E>g|LKSiYt+9vVd%G>ILhUI+M+of!rSMya8+gqks+&KnSQ-V1zg z`GPycmyIh=nFTKrQD;?Dl4*Xt1qf>J;i`0PpUB}{Hy}?(`JL>E=@Q`)Xb0f7o;Ps* z;LTehv(8=CDA=Wlvy_lWd_d~AG0*cA&u7g$2-LMmd8DL+RQf^c;tJU!^yTKR|EuOr z6#q}n8x-B^k`NiYzY2qoB_KNwFPIXW0cKW|M&V7Z$}qUC$l@Yn9x|}(E;)jyh-O&I z8&NG-1vDdg9i>j1K^r=r(}Ly-*`vp%LDAJnF*WI<+ppNtpU^*r6W^4>qafgUGzce- zCC+dUB9oP%6SVN@!a?`08?ruR7P(Ef4ryp7uZ-ioXa)2{4tX62XxEas_ww(8kTFb} z0=ROQ6HLxT3rsA9P+5d^=zF!3YU#WD-``&aM6atYpDY=mK4%nCdPj|`)8vlbC7Hm( zGdaYIqm1c7^g&?Pwghe_3REo~EZ;AUjc6bFx^8XpHbqH^WWNE?JfNvnWtMXPqS zu|SJi2=C29p@7F#0ta*-B?M=hUE^nfLt#~^PY_a!2O0MWym-Y)%NaM%5CiWYf(M;i z-1{?9ei%6gOY}WqSkrxy9cF$4T_;_h|oJB`DtIf*qxGmZ0tUo!-!eN{vacWZP4^oJUl{f zZfPf$$poHfAW_`1lX1#Zn?NJ87*MbNa7^RKO*$p@klb~|;)KT9Jz9M`KDq$FH~9UbRQgzizaR`m)}+u0jo8s7dA*cZXrSN)lXyCv zpUWApRuGP9$JEiaf#wZr!EFN`!Awe8sox=4B0#5X*nfP{dm>EOo6i$XH*OP=`eLFb zq*27p&ZpW<_?Nw|*K)Av!GBu8b~MsyNq}xM%RIT*L8ox6S=iL_BsQ2BY72CU9*o#~ z%5DvnSqk>-aJsAVNnz6J=91RG*0#wH=?j8a-#~KtP&708b~dlzRYx!~2#jEUhpPnfrK*~%IjGFw@(1A}RVYLQTd{ZdBqY4Qj`Q5e zk;mFW+S_+J-=qT0aV(y-W}E_yPUmZHV4aO?xxRiJXskpP+7r;E8U9P73@I1WJ8c99 zF8FVN-1wFK4N7m+cLC;^MBmaD$}!1fM?iLhqTb=;-&zsAtZ&Iv7eFMzWYASU9Q2$r zR`D`4dTjjM)T4MO^f9d&;3__T1D}to#Z6OAw-6SiES~rEA4*Ga&@}rG80pD^ z=S3}`g+9-Q&7(@tlTY&>STaa{m@mEW;opP^wRVKEqWc9*Fq$W?4XlKhGm7NFF=nU< z98SGqDS<}av-FsZFk=m4_ly8?_MFPjgu1E%&mAH{iY}EQ0|YPFeGG)QG=L3p1cQK2 z5Mswmh z&d2fJz8TiHy*7hJCE-%Cjn4mq;cL`ep8~Bs)j&ZCL_~BwW+C{s{=sGc0U%izB&Pgm?_el?f# z6;$O2ook=BHot)s^C*%wSpEb;BuQr;8Tpj=V-wN3ICHZ2GJ)bsPvao14VEOLn&$=( z)Nn37={r|RJ%sUTb{Q9pcBEevAEVgM1ItMX-MKD*&i5%GAlcznbb`}#)tIZP6^;me zO}AZ;`crxH7{ZDo$_3gvRtQzwIbbSnr5<3XW>G$pTG)*S9eDBR+deZWyedgB3mzL-md>ND+ynITN(20Q zg%(9wu!M!6k^cfjuNnY)Bx+>lAyb0lE1#+UgF04HGbXQs(Be(mKd2)bWm#cZgwG#Z zHfBl7>c71I~pV!^+w84-b&O05wXnSqVk9R%8j7oH?PF? zqp6ye!wvnn)qDdiZ~qiYnyda9klfRCf*-N8%#8o|!>oRL>3^Son?nDyj*4%yK0#JG z{clRkTm2#Q{n%fp-{tIBqEBiAAUFTvGE>0Ks5_NfJlU%t#xs#AT zu3x&OiSC)`)2G2efqN94=uSW|igMau33l8S~`kzkp3r`qgO{rYStq5P8p>S zEThgSm=I%-zMvYLpvLb|VXbiDbsu3Md?F*sJ@K zy%lihQxi#wh@&JMpvt9cJ?WgI6c4xvdnVp&oKhFh0=eT{ffj7JBYV7B)lB&vdDDbZ zVs~(Ys?G#4tJEt40-xCZ56_uNRN48SP(L@hvk=y-kb_^mh0Dv?8U$u(v|QSVxSs>X zDsJKV#YG5pz{-ac%~G()pkZ4g-@;Ny$efmDFM&DFCh67Waf)G?-g{8Y+y^HFBtNZB zSt;~`ZsICwQ(wM#LPW+A5bKgI_xU5~zPtUwEP@%75q5nRr2=%u9$A+-E(x0fZQ^fw zv&^a7xQI(RISFKt(0q5@Vz(#6wm};)N?pm#>#!mL*F-a@`l@r6ktUTSlO0=hUce}V zBIq&6mKGD*ekVu?Pa9b63+GFqtk6AYM*f|hzcguENId>q=_pJx;Kn24qmSwN#DKM;b|XI&TlEuC8CjB&x2G1pr8XKFNeNQq>edI*hh05>qw6#}L#_9RW%L?N4t zFF&6IrpnvUXABl|A>e~77!iDg3!tsdaD?sxinjF`B)-0Vn9hoerl&5zeOI)lKu`uc z$<^kke8Zbzs8%{qP-dt0iCv0s2UZQyDPItiaxsgoYe-JQm>ZLSL6-{bU!ET-K&Mxo zsq%ec)-upnlWQD~aJ7MarF zPeuMl?E4IQC89U#1ph! z<~Lntkgn1@hMup0bvRAX`xUX}efu1U`hC1fD z6EGMB9@H>aL@F3}38i@Hi~NvFsG}2J{;9D;;}z?t1b&mM@I7 zP^Uza0-SdD7e0M>i$Gs zl21CT3zeDj3Mife;4>n;oho{S&2anoA-oy%X-XJkAjWe>NJ~BM1aK{u_+9;RfV8s%T`*m z9EvS;oMf%<--*48Vq_Psd1Z&e)qFIJ?F%~xhkQ@udL9QdJrV{&^8a9q>G`2!o_{}bnfrfVM*ss;0ph;C1IhQQYr`gfm%Ng3 z;uW?WV)w(*tDjEA@A`A$r;dgBW}4k9*JO7I_s2o1WajiGG-PT{ao{`NV&NP!g~}7r z)AJ+20ay^gnPH^jB&cfvKsJwGg*qmCznx! zm^;pj+AGgp2SAq+!O;UOvxS(E4b%7wHqmg7=SK8Uy-4piDFpX!8*BB6K5{W)YN$2S z7c+XOwy{`n5+xZ0?fxg?6{09ORUeu=?^X;`uqK*Z+piGS9Z}CSKxj6>uRKs%6I7|y zAEfi9<)()DO4!n9d2t72jV%XLN0S(!O$xGw=TAG%=`}JfB|^kdLEPHTw#DEG_~s~6 z?h)(kZ|j2?;+Eq4qe0>$bG>uV4@STS$k>DDjAX+Dtue=yoX#OjMU6s-Bk2N;8vay` zQHBKQX`kc2;7oCO89X!frYSmaO(qM$JCP~_2~MRZV3>RsL{orQRnHHT=yYLy586gr zLghiZGyE}A;pv=n49gQxx#dN;ur(JW{S;k-+5pr_z|$bAz8e6!AoW?AK0#OtJ+Oc) zT&0yl1sNRg#Kdq^g>DT!V7kF^Mkq;L!-Iv^uBnQ6^mG0Pv2N(c7`c0QG}TZh&FZr0 z7GN+x8iJEqX)8m)G$qOm_67{f6wZK~4gZDhiU71s;1x#V!*L1IW(2S(y zd4Sm+Ov3AO*#glOaGuAvkjr$N;>yUsIRyv^KSXL`QR!`{;Jw+HVfy|pvpdv1)sD^C zHpnAtR)jx@K~sjl`vSvgl4Xd~!`894R~;#uM#YRH6@v~~WMTG^54v~7dwTWg1dq1)-8#}J% zc6^@qDjT{YS|P2L01A~$Mqq`w)n))H_!lKwsIgy4S40II8r?+8OrTB5pdj9$?|I*U@sTMpL9*qfciDL-h{lLP z|L_uaU>AyK7XqXTpPQUT2rp~W#U5;s4~AdjJ_sJDA7{uD!~@O)-faK`Vzf0~v&Z4j z?3~JG!HA52b>4cJ`66fL{re@SvspX8_}Yh7t^5<`R$cJ|c`sH?i#$UEXK6 zg(!TK9;|V$OCk%J2~sSFqvxYX7gFrKTssi)!7G1jAak!OC8|R2CDYevCX;%t=sR;C zgGTZY#&=I}(gLTM^d#Ucfs~|C>|VlCpO-(Uil&7y`Tng^igFokScQn5DIhBUV1$wi zgQ<|aC(s#z>uj`bM!4o9s)9$kkSoI70osJpvI>w{TD765$Lvz`uR)7zTSy)grhwZ# z8)F1(5L2zs0!r!Rhh+CI0L$1qZs79L5QBBy@B7a1t2U?(h$DU0vL@6_G1l*+^Uj7z zM0vpM2yAfWv=VW}oXark{BMZR2DQEgMN8`Ly;HsymKq41BQZWPGeN*SH96%RcXvBt zNJ*WmY9fbIDOt;C@ja<@R~04&rxSQRxtz0RAs&e695A9R5$j;T!&#&ef&VX@(1^XI^O3^64~mACqqr}-p^l!SbNT+^gNq1{a^1a#pgv(9CaO?+Rhsmqt1VE zdE=paJQ6M>8GqJ-UJja;qIqtS)xHWE`5jMn%pMz#%Tg)hT}%Wgg#gc&@4=l<`yj;@ zq%r;P!;9cf(Uf_!MDB>v)DjwZN~I8(zZ?9|69DX^r{f|CgzV^k1M{k0~7&k1Nt zDhAbm%n@$`WY5up@a_uvxRVv3fuSRKjj=MhQi{2tr11+<+}T9A?0SX;lzMCDhscUkYZhdH*+Y77+#1|4tmNIUn zf9;Mza*SF${eKMR^e}n<_*6$yffW^P@h7~>AIMI0D-02>3ugP|@2m(wyUWpRO(jk4 z5p4~M4kc>#FLOCaJbNMx<9F37qGOa7Y92HMG`3T_5V?8^T6Rxp>k?h*hQ z9=c?S$1Q+@{=+#gf@V4%)N5QscxGy9rXV!1l*fepa8*Y(bj5M!)`*L-1|9am&2cc# z>zu_qF7 zW%c8BKxPEv{o3D_xRh9g9cqCO07?!uU%HY#N;cc5Ekw+DarqnNz|u>Tj)kF1QX`vu zZd?Oc*3vs~{lAiyH>y+r#Up=?e)K=3wk%a3wVmYszoj;q8FD9Q%RKu3H*3MFG5n8X zp%aHip89Vu`oO~3hT%>_fV?pnBWm(z+u`e8xE*S|~! zV82xpbUP8nfwC!sg9P04@=KDYo!lq_&?5oH8j}@i^*psD(T^Oi1QEs^y7(!X`e`Vw zKc_yBPoESJzXN;y{OitIxP}U|wvX|{nK&gn4Be-3y){cVPwuX=g0=#WXf4;>DEIDX z?>)ijR6fx20sihLc%#v3y){c1e+#C<0Pay^E5n&FoKNsUC;2{rK5Y@zil*gd2K~-u z)n9pfKib{s;+ZF;DH1AxVeeGclcq&S+*Y-4LiaoRzZ&0W?g?74e zrR7u8G%2SVf_ceYvRb19h1mJ*#Fs`&rTBxx#Yg_EH)|zvax$6>x?(C#hXOa2b4_1t zPCCZ6C%2}pB@8Y4F;NK8;qD8q?CW7cbX&>B17~dCwXDClt{w|b>FYW$V<}iF+IbP-BRzjX?l%vRrlOK{760Zwa-L3Zlbr!w~=_&f> zhif{WuaEmn)Z#MUMd?HUy6b|rDdqNbfa+P!#mcVQ%ERm3$m7|R7eY&PFBl7l!x)Iv z|L(0=PNOLaZ)%qQB0TW&ZXE-B)H^~b=OmZ z(cNi)#FC0~k#q}NZoky)xKE_7wla#4>xxw2R#S-`>@XufOk;tJ{Kjx{=N_V zlmrKX;Q!a>Y}_pzxH-KY>`Rll?Rvy9!hcBK_7sUdTnN^To1n}ldY9gi)#LJTHbPIB zox$@a084V-axld09?cdq+o0O@9VKWIK0F-n8J8@sGbz(|+ndlz-EE#1rMi zIf^cM%kfSa?!T|vOv+DY6I`tvxN4IB*Hx>#Iyt-DUAjf0hFvHZLHG*t6}IaNzwG{u zDSN%@&i#=Go43w zE!dG0;ph!`3?RQu?m{-0`;>^SW7SCEwJ6N{b*c#Mx8yG$dlLU6o2+ezjAKR?$DgCWxhDCJ7l&s{6mW|>EkDqV?H;<@2WNvD8 z15W*}G5`D4>=k3FRUm-df&+ozfm`F{RYpmn`~i%Bt-^yd7G)L{gDWv7h9G_o38zPhxzuj{mrR6R$* z(&Y@#-DEJsV+4Kjc9S+ir=0=gbrhiwOWNEHGch|+j!JTB6VaxyDt_9W(K`Ym4YW1? zPX9=q$uP4XYe_sTD+lSJn#ak^-^?OL3erVGckuStstUuO2h9!nkjt`%R&K;H7V#D& zx#%~AWy|erV5#2|ob`DY`@uBK&d>BI9-0tJRYUlJv8Vu<_+kUgAtgesS^fLh48zcE zpFuOeCQcVjO?NotuUJX7o~m)elyU8Om4R~7LuSTgGRi0gJ(&c*tQxYoo;p))`OF-o zqH~<2{JPPOQT*j@e)7&*;CES~h43kA7Q=SK=|xcm6B0@N(GQM{-ZHvRk%~55Rki&O z9SvtSICRoZEwK*xv9tSYJ_#Y=XWVx@YGyv6K(gl_W_;BUs+1}6Q*{?_`&>wZLKV2T|2}gmte>rD+5=BuXc1ryN%U|lIFY>Z1QyOxvA?{WW z(7ZEyR?8x8A{$mDvX7ieUX(iKCC4Jyx%T~D%icihnQ^GFt+RQX-YeuX;@rt`xoId# zaCtuAW2ZJGo3q*UET}EusMalwosXJLp)Qfdz~bnQRnjNyW9fINDDD@EvjXYY~zJeM&M*V3ls)mHAO=Pu{h1%tCEYbh(|2LS zMPI9%U$)rI=J&;4*3XaFE&x0D!xk|CuS>z5&v?%V9c;g`BQLR=B)#!)Q~N=6y?OiJ z3!4sYH0l-}0y)6=*TS}Ra&*@=F}1gVE$pSo5>C@xByDsjRJ1FNg8D6%pWfN9#fF6m zcH&qGcsz-nOE_>Z?FhzS>!(P#CxLR}1pRn}RB%|b)Z%W-I83kk-nL_|`eMZI+v(Sn zC;5KF+BS?bAt8owqO3eZ=BBxYy4$;|aiWHJ-1N-^d=hSzQzujFa*=h*@-dozTt+*T z6L@?qBgNZS!a3@yXI1RwK{<34f-GOl$gXnB1*T1zQa?~Lkk{mf! zdd|sGj6VX>G=hD{$vq#@eK893ia~1RBTI>}1lF|=`f4~>eQx~~7x~j!KO|jg4}wBa zDr_KTobvh9_qy$i;LHA#^Psj2loV{ zt(G`v6o-L}iUZ0ukV0IDtPrcCUE9Z%Bmc=(5j6`@1O-t3C#Tg5pdZhTC0TwJ@tVZJiMHS;dS2x2kN>*1(a5?ialk zLf>a*+V_UjTL{)>4vKT45moLl{TkFzQLYx2c;i|)TA6ZVAGd6WtckR2e^Xm&NX0wM zJE;+JIX~Io{4rsNh#N$GME>G1x;#He4AO}@qDR;NDr-hoPgdH{#=d~7i?U+={lqZY zGVg=@G`pYjZ#iz%LbbP*1J00P%jJIuQ0RZ3gANwvHYWckg6c3955k~gijH}VbA@LNRtr(_9lI&!h1BWV&Z6TjFLFCad6tW>Lsm4s|{ zW1-}hn_@I~;$Zr4#*G(;bGQeiY27)wL7JK!OG*YkGgN6b)U_w@9?k79K%^1@Av{Mnv(70;#ET_c>wjLN_XPFWr`VeZj!S7>UF@lUu5kWF z7nem;Y#L}2`$|>w-s+KL`RMaciJv%=dpkcWHf@j|eOZ+g#93evwosCZ8+CU6`sguj z*>AGIl;4c~$eGn}O-RXF&q>#Mr8nM4pwCo?H0hWaP%)wpAi4<-eKZg4{oW`M^Xz!_ z!Yf+cUMgfn+w}9~Kd(Xh8oXw`_OKdko;18f#Hfa>b{SZ$x@W|(YYb~n6Kzpi1-E$3%lDm-Zox!a6nFZsZW~GdeB@3usJ?A zQQ{=mMgE`PWlT%l!y`6Gj)L9mC$r~Bd~=9^*qcEVgjFI=h-WoNGL$0Y(8AGG(vB0ntaJb%071wX>>;^N{(l@Jlp zFV>^DAs$AMj8NgWk+_unNZo%Yp+XghH0aTT{@aDs&RYyWMlMwUG0f;@8cobJ`1~$T z8aO!C0@;_zqVS8h*9nx7>K6oCACsPUJTVP zoQhkI&|O@IyTT2$r#Cu4#;lujAxQX`$*?&=7Ty$_5dCUrha@H{uCTmZ{v>p}s;X*Z zYpefjuLgS=(n+7|Itn!wvRs%&QJ6O;esuQqkYoI|tifes^23{0qYY$Y<{s}0Wae%H zdq$B}&HXE~?$FKcfq_sh$fRRil6d#Z=&$Xqway`7ZhFUdB`e$V?=<;zG*PmbjX zFgP$ravHX%#}aW2_90c)lHI+2VDI>4a6DlQ(CCT4WVRa5wYNKSvI(7f@dcqp=w)@i zv#17N;En$-!ix7g=J%5m?t7@(BoR;Ce($jTI9gJQCBFZvQs=d1oA3ExPmd@FEZ!ay zlaVP(NJxD2q6?g@GJLr{kT~5JOI+dnwfp1judAyk0dt|@-92=@)!=nD#abbkc(3S7 zoux*RWO%v5)y2lT-FPDS#zKSA2a9mk>mK0zqS*QU1-<@Y;*mvKUwAZhFpTg1fdRh& zd;^y}PE;~YAyaSwwYwd8s8#J$t+M1yc?vEO+0^7DPWyu}zh0JjECFBZ<5kxDz;JW< zpHQDv1wO1E>R^AmTMlJy(_Sp;?&$Td`xrQ5=JY%~vht{dgg8U9E+_K3>@qGNQl6^j zvf-m*W2>QIqvPX6)CZI3htYFum-}@95S-_Hl;CH!s7Q)rV(H#?Q^4&aO zZ*4<)yoysYD#@`onfmer{%U{JwrBYy>8rw-t1c%~GOehQ`~XEqhvdgzX#IYSyYvsQ z+#%;z8)h_35J^Rr7k6KdK1n58vr}G>3>5F`>_}z*_KSF(Wq{gy+fU|x(wQ0Z$(P0lx>c~)BO{yxJQVj_mkuHnni_Z?g}pF7Ui+oTCNJ$tQt(*uwBt1B~8Fe5Ry zm$@0^dN%@-y!@7_VDS3KN}w8pQhM6MMGdHLF#Q-g(uUpl5`}u-bK9dQhRtdoxbei+ zY!0g*B*(>tpFO{{XsCOkYc}~aapktq==pVe<)d5C_g39o`}<64jZQ1FP9EN|{%vhG zUD%J*Yf~6{m*cK3=K1*e5I^&~X2xs9LktL!e|b$a`d%G2?&1lEVkxWIM@M(EzImC9 zJD+q=6c8lZ)rN*GzFuk>0uhx!K=8A}*t-pd`);vNUh!dgrM~AGU4{XPb3wkK_Rn3F z*`AQgHnvQKg2+}8Oe&tVmi84o7g;Q|!}OOC;3dl#+3eP$CFMBr_FXHum*Hz`rZ#6$ z$!8q+C6}k$8t=C&YsJiqMdT`>HS6nZEcAR~36w(0G&D5YMUqGct(F||H40AhPrOD>;;YsJzi7|NZsN(Z|>qQv~6~Zzy z_PxT97n~Z){yt&!AvmAQHA4Nb#ostGxi&g36(?R@yrd9m&{}A4Qn$Cquo%h6+naf< zR&aisW-7R{&ZJz}EfYh}=8JTIi$g^$r}Too2>aoVg3$G~&F2ICv))v-q0{}~*$S7 zh*9Ol%gs&DgW2lrAWLa>z|%Z{m|An zG%^w^Dk{1`#!A;T@Se(x=S!UxF+w_Fxyx!JiWjB&AqqNrDyb&qYuj=?sgCb=)S(w4 z8f^UFapC)jK6Qrk$={4rD&*7ZynP{INc-&Phx{-36h@&geN34L&X_%p+}3uUb`Mb4 zI4Qp}gxi#Cdj_t3Hn%URXyRqsCV2j0M6++ypz(MygYzE5+#zN=McebwMlA3wImk+a*lBG_IU_^~vW zc=vK|LTSae`h~lPi-jhs^8V*)d{@-wH+m;)X?a8UEO(df7cvy~-J&2$aV)GKSqeZy}EJHL*~iqTMAzZXhdqYF{UsHgGYuilu2rZ_!!Y>#-7PAPL>oX9nH z1SdoAmGVg2e}_7F>ZRQD+3vK3dS~R&O71sHjnu7bhF6~qFzzQcWy-j?M5rC7Autq68 zLRNr=5M=nqqlS2Y!LTW?*B(E=)pZ400U5!YE5l9TfA+ibth`HR&g`PnWxapqjecG4 z^L~t8DoV=y%x_UqT-l;7cpSfWnSQOs1~2{)oX&o~FU=3;y?M^mm`JsfJDW83ws`DY zFU|AUyKQ65w|Y^Xe_JWYuhI-xidu1mYb|cxW-#BA!AdNsE|LTZ#FPkF`ZMUFNW|X ztqhu$#!a}r3C7?;kP+${1y|vtbXJ{^Y3;P7mZ=rCS@o(Q$lmR4newnd17(uEu0RGZ zb)a6G*(;pj)la4YREs`-enVF>)o~tf1=u9w8o%v(%ab=Y4+9ojKTS?Hbr{nkhaW9G zYNCt89vYl!zrNaZ35G{154iG7WAjtBu{Mb$rD>qtP9~B z=qFi)eltMyLHYH20v8jyKocij*jHnq_of$3zCwd*VZrU?f%ZU{cOFCS&KvPUj1ahw z#z!C0C_ctUp#F&2pr`L8wE=A*cA8!CPZqmyOR%L`Dn~OXQyW96GE(q+`_@-7t6Mj+5-3^k)wq6O+8SfE5kn=W%3g}e8X@Tt+2mddwMukY z+A~_(_gh%UlN<_W2P%D#SgY|g#AUbM2#TY5ii-1f1X7xstXeBA9QQMcNM`l;>G`Lh zGMUuGWvY28r8IQ1aY>lM_Q78&z$1k!)NN2dw_`2rew>8!YHQ5sMOKYna4?_OvM8%z z3*Xqf5e}1I=Np1wRa10wABPFqtfwX(O`q=v*ZY35jb=*fffK(M8sg|YKR#&xG*8&W z!t%9AXoT|b{9?P=s^K86L8|ZJ{!r+%7w!}f-Q}SoBA$EFha&EUT1<&r%l?<<@rEDC znm44eT*-!+d3ZuT^Gu1ltdVREQHVc(E+kmBpC;nvm?hEbfBDY71n=HGW$-)|%f^#w z6?KQxVQo$ZdVJdVV@T{tRnWNSWT8Z~wBv=>%Jl2SEZaZd zs}m&oY9m$6dMum&tgkazyF^~2R+nC$zp4UPNSsekeB%w~JF>y_8;aXYVyImoL9*1( zq3B!*&O!#$QCd=I)z9NOzFah}c~k*J3~Vo#c5iCm|K#uhN%Q;_&4|_;bCcp!TevnCa|>5z!M0zSrlo7IaC~9XIoi zf{>4{Yd>9n)dvRpHq6(}l-lWj8FLxg8mo6$@ciZUgEL#yhDWFBss0Rot%-sRqq3Oq zhlx#NcAL(YM!15D7uy9`Khr9;-NQuT3@-XfM%kR;6GR2C;ZJaTBh3Gq3TfD@EE>w^OB*W`C^koGE>1!i!qd&TR@ z{C+rU-}VvP+_ndtt&Hcn{~R>Y-$&LI_8F$Hd{Rwm*ybA#QV8XNM2a%~mB5LUyh2GN z^pBWWBJAwipT7p&TyD>Nus}yOl9F1#p&_L8>Q&sh7z!BMn;5B*&df4%GJWyMxRF{j z?5*9E#rHxbR)>n=r=4rxlIi4zeG#1)UF+Jf6SCi1S4HQ7$gSTHA{B4VYf?jg%0v|? z+4|$))fcxdy{qF$>`$-Cs#jD#)Et33XuTy)G&g;k1tJP5SEOw1z zL>XCWE}^S5czF17wUzdb{e7uOY>HQ1q0p&FF+a`r50}hNH~!IeQFWGM#nJdo!-bYg zY;Y|eY?=Msq%sf16BN@~6=cweao*V~IF}SWzx>jI&Y-zQy@6SBT2}Bp#TosiwZEUk zVmPhnsgPSt!{pl>fnDEKOqx2q`^evSw~jc^5zRTRs-EJhCLS$WygCZ^_1GQFs^giy z=t)EmcTXVUkKi=?AWi9bMBsg$ZB1_SWB4gtGpgNr?c;V3>J(pO{VWFY(-HcC8V&bk zQ#QF?ZeYYz{u_*X0ULpa+k70k344C-^N%GRx6*fv;{%vsJz;PCq3&EPCG za#r6l757E{QoKedzvb@ebqvQUG{>dl-IuogM+WWwLPh&`hTnFwMV=eEQ5l=L)MH8i zt>d;GBPm4hbCsbIYfrPAm4#W#O5m;G1LH4EHgo~E*IvaDXz#KL6sV#ov^9$GzJv^I zY$H4>OUw*=?02NkLi~s^b&lq=*>+-x8x5i3cgV9%cd_fU>9Zrhyxlynm7+%Bb`B9& zTfDNO6XPV>BZ+6AtED_C1ewm;K*()iMZb(O(D`ow>Q&W2WTI4 za~0N$sfefcKD{0sno_W&p2!s&pg&fre9}m1R8X3;xdk_y(S?i*8?j<^@Fep3XZt4D16o^FkP{3(XNM+O* zn}1)S{KZw7vY;fe(Y~}!xv=n^evR>Ww^{L^2B#HOB_T0ttpT;%q%RL~%7v7-xN?Zd zh-7E0SEz|+OO^!3_Q{hU%e->k7*qv`S5aBMzh;7DCwmE1&IR% za-vmo)kNS%W?%jEo{l)botzm;-R+MT*RPY$KvY$WvOfw@(MW=S@)E=nfyuPVJ;ddY zB;%2T7lfY}p1|@L9_V7bX;0EXg}zF3XI8Kwd4b;%n44(#B6q@bYm}5mdUH6VbpE|< zG%MZbd5JNc0c3H9?-P%12|7@2*ZN}X&4=)^;CfCF{VooGPGS|CP5a=%W&Ld#-s4c{ zeXWrUjx71~mz;*J>a}ZqX+zjh;4F~!^NFZrnFWnI2M{3Qr{;~31p=SVOy(l~aQdKdINw+%5egmg<%f`mzA<>O2nG<1HU!U^MC|8z6~^pJ5OY2)L?dKX z2P#wF%}QY7$M9I<4%dr#-$9xlr41i*_ouFiJwLC^#vBu+ zP;akZB$br^`k+^cN|q*FJhyEKc{?m7FxT5JLFo#_+q@iumEC#hjIO&Aa{BI*FSNO+ zTu%U-#r`L8R8`x9&0&{m5&*K$7N^iePy56 zF(5}^apY8m${3JIV@@iT&K4g3d`~EzPNg!NjKbye@5*`TEL9krg~P>X7xqgh?;B5J zDXE<0@qDgD7Mn=-3nh|ibv#b$AE;YDYO2yQNjVlsrbTH^<&s8>h?TxzaYa7c@c2fGlLPah$X&xzW*6^ z@Wxrd7dkUEG75S&kim6v7^qGrw5#cSOh=~U6>z&D3zTQtt zjyyi0L>A>~h4%1~E!OP`Q5wfF4;Z03G~7X%#e6X{Pm<<# zptDPAFPvd~ph&$V1UU4rUvC^F=Qcv%>p@t;w^*L$i&y9!$uCyf{%)}$e?Q-1G=G~D zUBg)fo{^g#F-Ew3Zg6QfxFclo_{f@m>>LlK=oV_XI($zTy0Ei*ZnRvc4Bw9okIcUb zwOgenV<%4@W1$jpJLb&9S+Wit*{oJ*l0bPB zj&A7ri$>$|1V3J_%4FjP$HXusbYy0RT+|zpA%YCsgZ~MQ>A$^w%r^sGIjLl769gjX z(pNMBjPZjfTW&zH=v*(tdD#j%rzJW0|Gs1klJ6Pp zg2uPFx2tv_#;qnq?BK#18D8i7vS0VtY5mxlq{RoymZ#eULGj^M+T!o~|1`KpH?XcCk3r4{}fr_GJ!V;6?Bj>hrLVzv-c{E*u5#yKnAaP?pg zbDRmNp#r@I&p6OV0%$MV^@GFf859XlbMp<7Io$}<^`75eC)n5)5YQQ|V69aw3eIw8 zIiRJ{8(pO8zJhm*kf6PTXO&a`kG!3Q&CNAZj$Cg$C_*@?mK35|M z7f8RsSupjCkTgErmCK7gVc99G7XDO(G1@9p zL`jF!9@5#YjtZ#-Z|evb2^%Kg8l?nck+c%fOO@AIjxy^|6d{ZRp))aEEZGom%sN#izJy8P;T)=d zkdqE*ibASvAVl%vVS72{n=wXLgV;k;dn^3_;pRh^e9 zBHU^3nj+H}U*u@aYUgv^8rh2swbDZO&W^rDz{_^Ejzdpdu(&vp*y5ODiJVeIGM&ZS zRF;EYs{@&4hZ_?bou>2^8!Izxj?X6-u$M|<3ze!)rL+BT0qK{_^R=V|N6k!W*v;`V zKaD5*?Kud0_P*u8s^0^GWicVS@5}u zSo<3R32$@WVS^ROw7So@-vf1mC&r4F{=Sg6U%`Z;AZ*|biK7sgKxGi)h>1xC@#ezW zp)SAfiKH{W1(+!)#2xHiP%aBPIgtuD#+B~x?^F71_6fWXIq=%oN$X{0k|CDr2w@th zWF~XkA0MC7ST-6Oac#qhV-u4U9B5Q$ettt6-)+aXhl12Sc5-lwp1MFkJQd8=&CWLr z1oph$rA<96Hey{B236QDeS6blX-Ut{Xnm!!Wd zSILPhB5n4!Rq)jA=ulc9!n`mJ^T

AHIgT2FVD?EjC*It~@PCjv}0nRSH*1a5Ap_ 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
L<5K>em*W?2AnS51xqp<;{VmJ%;UaN>!odelq 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

+h94TKP!R?`xN2<~iE7Zz))ZB~bo2h({LLz&v4 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 xu(S9daa*n@JVge+fLeg&`aN!CzXSh(|JBo 0: + # 显示最近的记录 + print("\n最近5条实验记录:") + print("-" * 80) + + if has_save_status and has_save_error: + cur.execute(""" + SELECT id, work_order_no, start_ts, end_ts, save_status, save_error + FROM experiments + ORDER BY id DESC + LIMIT 5 + """) + else: + cur.execute(""" + SELECT id, work_order_no, start_ts, end_ts + FROM experiments + ORDER BY id DESC + LIMIT 5 + """) + + rows = cur.fetchall() + for row in rows: + if has_save_status and has_save_error: + eid, wo, st, et, save_status, save_error = row + print(f"ID: {eid}, 工单: {wo or 'N/A'}, 开始: {st or 'N/A'}, 结束: {et or 'N/A'}") + print(f" 保存状态: {save_status or 'NULL'}, 错误: {save_error or 'NULL'}") + else: + eid, wo, st, et = row + print(f"ID: {eid}, 工单: {wo or 'N/A'}, 开始: {st or 'N/A'}, 结束: {et or 'N/A'}") + + # 3. 测试查询语句 + print("\n3. 测试UI查询语句") + print("-" * 80) + + try: + if has_save_status and has_save_error: + test_sql = """ + SELECT id, start_ts, end_ts, work_order_no, process_name, part_no, + executor, remark, sqlserver_status, is_paused, is_terminated, + save_status, save_error + FROM experiments + ORDER BY id DESC + LIMIT 1 + """ + else: + test_sql = """ + SELECT id, start_ts, end_ts, work_order_no, process_name, part_no, + executor, remark, sqlserver_status, is_paused, is_terminated + FROM experiments + ORDER BY id DESC + LIMIT 1 + """ + + cur.execute(test_sql) + result = cur.fetchone() + + if result: + print("✅ 查询成功") + print(f"返回字段数: {len(result)}") + else: + print("⚠️ 查询成功但无数据") + except Exception as e: + print(f"❌ 查询失败: {e}") + + db.close() + + print("\n" + "="*80) + print("诊断完成") + print("="*80) + + # 给出建议 + if not has_save_status or not has_save_error: + print("\n⚠️ 建议:运行 python add_save_status_columns.py 添加缺失的字段") + + except Exception as e: + print(f"\n❌ 诊断过程出错: {e}") + import traceback + traceback.print_exc() + + +if __name__ == "__main__": + diagnose() diff --git a/experiment_monitor.py b/experiment_monitor.py index 1d05847..a16f77e 100644 --- a/experiment_monitor.py +++ b/experiment_monitor.py @@ -563,6 +563,7 @@ class ExperimentStateMonitor: """实验开始事件处理""" try: self._experiment_started = True + # 记录本地时间,执行脚本时会自动转换为UTC self._start_time_recorded = datetime.datetime.now().isoformat(timespec='seconds') logger.info( @@ -590,6 +591,7 @@ class ExperimentStateMonitor: return self._experiment_ended = True + # 记录本地时间,执行脚本时会自动转换为UTC self._end_time_recorded = datetime.datetime.now().isoformat(timespec='seconds') logger.info( @@ -786,55 +788,99 @@ class ExperimentStateMonitor: ) def _execute_and_save_script_data(self) -> None: - """执行动态脚本并保存返回数据到数据库""" - try: - from pathlib import Path - import json - - logger.info(f"[脚本执行] 开始为实验{self.experiment_id}执行动态脚本") - - # 获取实验配置 - db_path = Path(__file__).parent / "experiments.db" - db = sqlite3.connect(str(db_path)) - cur = db.cursor() - - cur.execute( - "SELECT config_json, work_order_no FROM experiments WHERE id=?", - (self.experiment_id,) - ) - result = cur.fetchone() - - if not result: - logger.warning(f"[脚本执行] 实验{self.experiment_id}未找到配置") + """执行动态脚本并保存返回数据到数据库(带重试机制)""" + max_retries = 3 + retry_delay = 2 # 秒 + + for attempt in range(max_retries): + try: + from pathlib import Path + import json + + logger.info( + f"[脚本执行] 开始为实验{self.experiment_id}执行动态脚本 " + f"(尝试 {attempt + 1}/{max_retries})" + ) + + # 获取实验配置和时间范围 + db_path = Path(__file__).parent / "experiments.db" + db = sqlite3.connect(str(db_path)) + cur = db.cursor() + + cur.execute( + "SELECT config_json, work_order_no, start_ts, end_ts FROM experiments WHERE id=?", + (self.experiment_id,) + ) + result = cur.fetchone() + + if not result: + logger.warning(f"[脚本执行] 实验{self.experiment_id}未找到配置") + db.close() + self._mark_save_failed("未找到实验配置") + return + + config_json, work_order_no, start_ts, end_ts = result db.close() - return - - config_json, work_order_no = result - db.close() - - # 解析配置 - from config_model import AppConfig - from tempfile import NamedTemporaryFile - - with NamedTemporaryFile('w', delete=False, suffix='.json', encoding='utf-8') as tf: - tf.write(config_json) - snap_path = Path(tf.name) - - config = AppConfig.load(snap_path) - - # 执行脚本 - from report_generator import _execute_experiment_script - script_data = _execute_experiment_script(config) - - if script_data: + + # 解析配置 + from config_model import AppConfig + from tempfile import NamedTemporaryFile + import os + + logger.info(f"[脚本执行] 实验{self.experiment_id}正在解析配置...") + with NamedTemporaryFile('w', delete=False, suffix='.json', encoding='utf-8') as tf: + tf.write(config_json) + snap_path = Path(tf.name) + + config = AppConfig.load(snap_path) + logger.info(f"[脚本执行] 实验{self.experiment_id}配置解析成功") + + # 设置环境变量(时间范围) + prev_start = os.environ.get("EXPERIMENT_START") + prev_end = os.environ.get("EXPERIMENT_END") + + try: + if start_ts: + os.environ["EXPERIMENT_START"] = start_ts + logger.info(f"[脚本执行] 设置 EXPERIMENT_START={start_ts}") + if end_ts: + os.environ["EXPERIMENT_END"] = end_ts + logger.info(f"[脚本执行] 设置 EXPERIMENT_END={end_ts}") + + # 执行脚本 + logger.info(f"[脚本执行] 实验{self.experiment_id}正在执行动态脚本...") + from report_generator import _execute_experiment_script + script_data = _execute_experiment_script(config) + finally: + # 恢复环境变量 + if prev_start is None: + os.environ.pop("EXPERIMENT_START", None) + else: + os.environ["EXPERIMENT_START"] = prev_start + if prev_end is None: + os.environ.pop("EXPERIMENT_END", None) + else: + os.environ["EXPERIMENT_END"] = prev_end + + if not script_data: + logger.warning(f"[脚本执行] 实验{self.experiment_id}脚本未返回数据") + self._mark_save_failed("脚本未返回数据") + return + + logger.info( + f"[脚本执行] 实验{self.experiment_id}脚本执行成功," + f"返回数据字段: {list(script_data.keys())}" + ) + # 保存脚本数据到 SQLite 数据库 + logger.info(f"[脚本执行] 实验{self.experiment_id}正在保存数据到 SQLite...") script_data_json = json.dumps(script_data, ensure_ascii=False) db = sqlite3.connect(str(db_path)) cur = db.cursor() cur.execute( - "UPDATE experiments SET script_data=? WHERE id=?", + "UPDATE experiments SET script_data=?, save_status='success' WHERE id=?", (script_data_json, self.experiment_id) ) db.commit() @@ -847,12 +893,57 @@ class ExperimentStateMonitor: # 写入 SQL Server(如果配置了) self._write_to_sqlserver(script_data, work_order_no, config) - else: - logger.warning(f"[脚本执行] 实验{self.experiment_id}脚本未返回数据") + + # 成功保存,退出重试循环 + logger.info(f"[脚本执行] ✅ 实验{self.experiment_id}数据保存完成") + return + + except Exception as e: + is_last_attempt = (attempt == max_retries - 1) + + if is_last_attempt: + # 最后一次尝试失败,记录错误并标记失败状态 + error_msg = f"执行脚本失败(已重试{max_retries}次): {str(e)}" + logger.error( + f"[脚本执行] ❌ 实验{self.experiment_id}{error_msg}", + exc_info=True + ) + self._mark_save_failed(error_msg) + else: + # 非最后一次尝试,等待后重试 + logger.warning( + f"[脚本执行] ⚠️ 实验{self.experiment_id}执行失败(第{attempt + 1}次尝试)," + f"{retry_delay}秒后重试: {e}" + ) + time.sleep(retry_delay) + + def _mark_save_failed(self, error_message: str) -> None: + """标记数据保存失败状态""" + try: + from pathlib import Path + db_path = Path(__file__).parent / "experiments.db" + + db = sqlite3.connect(str(db_path)) + cur = db.cursor() + + # 更新保存状态为失败,并记录错误信息 + cur.execute( + """UPDATE experiments + SET save_status='failed', + save_error=? + WHERE id=?""", + (error_message, self.experiment_id) + ) + db.commit() + db.close() + + logger.error( + f"[保存失败] ❌ 实验{self.experiment_id}数据保存失败已标记: {error_message}" + ) except Exception as e: logger.error( - f"[脚本执行] 实验{self.experiment_id}执行脚本失败: {e}", + f"[保存失败] 标记失败状态时出错: {e}", exc_info=True ) diff --git a/main.py b/main.py index 92eaa11..1ea737b 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,7 @@ import os import traceback import sys +from single_instance import SingleInstance # 在导入任何Qt模块之前设置Qt WebEngine环境变量 # 这样可以避免PySide6 6.8+版本在Windows上的DirectComposition和GPU崩溃问题 @@ -19,18 +20,26 @@ os.environ["QT_OPENGL"] = "software" os.environ["QTWEBENGINE_DISABLE_SANDBOX"] = "1" if __name__ == "__main__": - try: - import ui_main - ui_main.run_app() - except Exception as e: - print("=" * 60) - print("程序崩溃!错误类型:", type(e).__name__) - print("错误信息:", str(e)) - print("=" * 60) - traceback.print_exc() - print("=" * 60) - input("按Enter键退出...") - except SystemExit as e: - if e.code != 0: - print(f"程序异常退出,退出码: {e.code}") + with SingleInstance() as can_run: + if not can_run: + print("=" * 60) + print("程序已在运行中,不允许重复启动!") + print("=" * 60) input("按Enter键退出...") + sys.exit(1) + + try: + import ui_main + ui_main.run_app() + except Exception as e: + print("=" * 60) + print("程序崩溃!错误类型:", type(e).__name__) + print("错误信息:", str(e)) + print("=" * 60) + traceback.print_exc() + print("=" * 60) + input("按Enter键退出...") + except SystemExit as e: + if e.code != 0: + print(f"程序异常退出,退出码: {e.code}") + input("按Enter键退出...") diff --git a/single_instance.py b/single_instance.py new file mode 100644 index 0000000..61b7c04 --- /dev/null +++ b/single_instance.py @@ -0,0 +1,44 @@ +import os +import sys +import tempfile +from pathlib import Path + +class SingleInstance: + def __init__(self, app_name="PCM_Report"): + self.lockfile = Path(tempfile.gettempdir()) / f"{app_name}.lock" + self.fp = None + + def __enter__(self): + try: + if self.lockfile.exists(): + # 尝试读取PID,检查进程是否还在运行 + try: + pid = int(self.lockfile.read_text().strip()) + # 检查进程是否存在 + if sys.platform == "win32": + import ctypes + kernel32 = ctypes.windll.kernel32 + PROCESS_QUERY_INFORMATION = 0x0400 + handle = kernel32.OpenProcess(PROCESS_QUERY_INFORMATION, 0, pid) + if handle: + kernel32.CloseHandle(handle) + return False # 进程存在,不允许启动 + else: + os.kill(pid, 0) # Unix系统检查 + return False + except (ValueError, ProcessLookupError, OSError): + # 进程不存在,删除旧锁文件 + self.lockfile.unlink(missing_ok=True) + + # 创建锁文件 + self.lockfile.write_text(str(os.getpid())) + return True + except Exception: + return False + + def __exit__(self, *args): + try: + if self.lockfile.exists(): + self.lockfile.unlink() + except Exception: + pass diff --git a/test_auto_save_fix.py b/test_auto_save_fix.py new file mode 100644 index 0000000..c24f181 --- /dev/null +++ b/test_auto_save_fix.py @@ -0,0 +1,140 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +""" +测试实验结束后自动保存数据的修复方案 +""" +import sqlite3 +from pathlib import Path +from logger import get_logger + +logger = get_logger() + + +def test_save_status_columns(): + """测试保存状态字段是否存在""" + try: + db_path = Path(__file__).parent / "experiments.db" + + if not db_path.exists(): + logger.error(f"数据库文件不存在: {db_path}") + return False + + db = sqlite3.connect(str(db_path)) + cur = db.cursor() + + # 检查字段 + cur.execute("PRAGMA table_info(experiments)") + columns = {row[1]: row[2] for row in cur.fetchall()} + + logger.info(f"experiments 表字段: {list(columns.keys())}") + + # 验证新字段 + has_save_status = 'save_status' in columns + has_save_error = 'save_error' in columns + + logger.info(f"save_status 字段存在: {has_save_status}") + logger.info(f"save_error 字段存在: {has_save_error}") + + if not has_save_status or not has_save_error: + logger.warning("⚠️ 缺少保存状态字段,请运行 add_save_status_columns.py") + db.close() + return False + + # 查询有结束时间但没有保存状态的实验 + cur.execute(""" + SELECT id, work_order_no, end_ts, save_status, save_error + FROM experiments + WHERE end_ts IS NOT NULL + ORDER BY id DESC + LIMIT 10 + """) + + rows = cur.fetchall() + logger.info(f"\n最近10个已结束的实验:") + logger.info(f"{'ID':<5} {'工单号':<15} {'结束时间':<20} {'保存状态':<10} {'错误信息'}") + logger.info("-" * 80) + + for eid, work_order, end_ts, save_status, save_error in rows: + status_display = save_status or "未记录" + error_display = (save_error[:30] + "...") if save_error and len(save_error) > 30 else (save_error or "") + logger.info(f"{eid:<5} {work_order or 'N/A':<15} {end_ts or 'N/A':<20} {status_display:<10} {error_display}") + + db.close() + + logger.info("\n✅ 保存状态字段测试通过") + return True + + except Exception as e: + logger.error(f"❌ 测试失败: {e}", exc_info=True) + return False + + +def test_monitor_retry_logic(): + """测试监控器的重试逻辑""" + logger.info("\n" + "="*80) + logger.info("测试监控器重试逻辑") + logger.info("="*80) + + try: + from experiment_monitor import ExperimentStateMonitor + + # 检查方法是否存在 + has_mark_failed = hasattr(ExperimentStateMonitor, '_mark_save_failed') + has_execute_save = hasattr(ExperimentStateMonitor, '_execute_and_save_script_data') + + logger.info(f"_mark_save_failed 方法存在: {has_mark_failed}") + logger.info(f"_execute_and_save_script_data 方法存在: {has_execute_save}") + + if has_mark_failed and has_execute_save: + logger.info("✅ 监控器重试逻辑已实现") + return True + else: + logger.error("❌ 监控器缺少必要的方法") + return False + + except Exception as e: + logger.error(f"❌ 测试失败: {e}", exc_info=True) + return False + + +def main(): + """运行所有测试""" + print("\n" + "="*80) + print("实验结束自动保存修复方案测试") + print("="*80 + "\n") + + results = [] + + # 测试1: 数据库字段 + print("测试1: 检查数据库保存状态字段...") + results.append(("数据库字段", test_save_status_columns())) + + # 测试2: 监控器重试逻辑 + print("\n测试2: 检查监控器重试逻辑...") + results.append(("监控器重试", test_monitor_retry_logic())) + + # 汇总结果 + print("\n" + "="*80) + print("测试结果汇总") + print("="*80) + + for name, passed in results: + status = "✅ 通过" if passed else "❌ 失败" + print(f"{name:<20} {status}") + + all_passed = all(passed for _, passed in results) + + print("\n" + "="*80) + if all_passed: + print("✅ 所有测试通过!修复方案已正确实施") + else: + print("❌ 部分测试失败,请检查上述错误信息") + print("="*80 + "\n") + + return all_passed + + +if __name__ == "__main__": + import sys + success = main() + sys.exit(0 if success else 1) diff --git a/test_cot8888.py b/test_cot8888.py new file mode 100644 index 0000000..cc50b62 --- /dev/null +++ b/test_cot8888.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +""" +测试 COT8888 测试工单号功能 +""" +from work_order_query import query_work_order +from logger import get_logger + +logger = get_logger() + + +def test_cot8888(): + """测试 COT8888 工单号""" + print("\n" + "="*60) + print("测试 COT8888 测试工单号") + print("="*60 + "\n") + + # 测试不同的大小写 + test_cases = ['COT8888', 'cot8888', 'Cot8888'] + + for work_order_no in test_cases: + print(f"\n测试工单号: {work_order_no}") + print("-" * 40) + + result = query_work_order(work_order_no) + + if result: + print("✅ 查询成功!") + print(f" 工单号: {result.get('work_order_no')}") + print(f" 工序号: {result.get('process_no')}") + print(f" 工序名称: {result.get('process_name')}") + print(f" 零件号: {result.get('part_no')}") + print(f" 执行人: {result.get('executor')}") + else: + print("❌ 查询失败") + + print("\n" + "="*60) + print("测试完成") + print("="*60 + "\n") + + +if __name__ == "__main__": + test_cot8888() diff --git a/ui_main.py b/ui_main.py index 0f08c81..ee346cf 100644 --- a/ui_main.py +++ b/ui_main.py @@ -1128,6 +1128,9 @@ class MainWindow(QMainWindow): self.logger = get_logger() self.logger.info("MainWindow initialized") + # 自动检查并更新数据库结构 + self._auto_migrate_database() + # 启动界面引用 self._splash = None @@ -1445,6 +1448,9 @@ class MainWindow(QMainWindow): self._alarm_timer.timeout.connect(self._on_alarm_tick) self._alarm_polling = False self._alarm_timer.start() + + # 启动 PCM_Viewer(延迟执行,确保主窗口完全初始化) + QTimer.singleShot(1000, self._auto_start_pcm_viewer) def _update_debug_mode_ui(self) -> None: """根据debug模式更新UI显示""" @@ -3982,6 +3988,45 @@ class MainWindow(QMainWindow): db.close() self._reload_experiments() + def _auto_migrate_database(self) -> None: + """程序启动时自动检查并更新数据库结构""" + try: + db_path = APP_DIR / "experiments.db" + + if not db_path.exists(): + self.logger.info("[数据库迁移] 数据库文件不存在,跳过迁移") + return + + db = sqlite3.connect(str(db_path)) + cur = db.cursor() + + # 检查是否需要添加 save_status 和 save_error 字段 + cur.execute("PRAGMA table_info(experiments)") + columns = [row[1] for row in cur.fetchall()] + + needs_migration = False + + if 'save_status' not in columns: + self.logger.info("[数据库迁移] 添加 save_status 字段...") + cur.execute("ALTER TABLE experiments ADD COLUMN save_status TEXT DEFAULT NULL") + needs_migration = True + + if 'save_error' not in columns: + self.logger.info("[数据库迁移] 添加 save_error 字段...") + cur.execute("ALTER TABLE experiments ADD COLUMN save_error TEXT DEFAULT NULL") + needs_migration = True + + if needs_migration: + db.commit() + self.logger.info("[数据库迁移] ✅ 数据库结构更新完成") + else: + self.logger.info("[数据库迁移] 数据库结构已是最新,无需更新") + + db.close() + + except Exception as e: + self.logger.error(f"[数据库迁移] ❌ 自动迁移失败: {e}", exc_info=True) + def _reload_experiments(self) -> None: # 保护:如果被后台线程误调用,立即切回主线程执行 try: @@ -4024,9 +4069,18 @@ class MainWindow(QMainWindow): try: db = sqlite3.connect(str(APP_DIR / "experiments.db")) cur = db.cursor() + + # 检查是否有新字段(向后兼容) + cur.execute("PRAGMA table_info(experiments)") + columns = [row[1] for row in cur.fetchall()] + has_save_fields = 'save_status' in columns and 'save_error' in columns - # 根据首页筛选条件拼接查询 - base_sql = "SELECT id, start_ts, end_ts, work_order_no, process_name, part_no, executor, remark, sqlserver_status, is_paused, is_terminated FROM experiments" + # 根据首页筛选条件拼接查询(如果有新字段则包含) + if has_save_fields: + base_sql = "SELECT id, start_ts, end_ts, work_order_no, process_name, part_no, executor, remark, sqlserver_status, is_paused, is_terminated, save_status, save_error FROM experiments" + else: + base_sql = "SELECT id, start_ts, end_ts, work_order_no, process_name, part_no, executor, remark, sqlserver_status, is_paused, is_terminated FROM experiments" + conds: list[str] = [] params: list[str] = [] @@ -4050,14 +4104,31 @@ class MainWindow(QMainWindow): rows = [] self.exp_history_table.setRowCount(len(rows)) - for r, (eid, st, et, work_order_no, process_name, part_no, executor, remark, sqlserver_status, is_paused, is_terminated) in enumerate(rows): + for r, row_data in enumerate(rows): + # 兼容新旧数据库结构 + if has_save_fields: + eid, st, et, work_order_no, process_name, part_no, executor, remark, sqlserver_status, is_paused, is_terminated, save_status, save_error = row_data + else: + eid, st, et, work_order_no, process_name, part_no, executor, remark, sqlserver_status, is_paused, is_terminated = row_data + save_status = None + save_error = None + self.exp_history_table.setItem(r, 0, QTableWidgetItem(str(st or ""))) self.exp_history_table.setItem(r, 1, QTableWidgetItem(str(et or ""))) self.exp_history_table.setItem(r, 2, QTableWidgetItem(str(work_order_no or ""))) self.exp_history_table.setItem(r, 3, QTableWidgetItem(str(process_name or ""))) self.exp_history_table.setItem(r, 4, QTableWidgetItem(str(part_no or ""))) self.exp_history_table.setItem(r, 5, QTableWidgetItem(str(executor or ""))) - self.exp_history_table.setItem(r, 6, QTableWidgetItem(str(remark or ""))) + + # 备注列:如果保存失败,添加警告标记 + remark_text = str(remark or "") + if save_status == 'failed' and et: + remark_text = f"⚠️ 数据保存失败 | {remark_text}" if remark_text else "⚠️ 数据保存失败" + remark_item = QTableWidgetItem(remark_text) + if save_status == 'failed': + remark_item.setForeground(Qt.red) + remark_item.setToolTip(f"保存失败原因: {save_error or '未知错误'}") + self.exp_history_table.setItem(r, 6, remark_item) # 数据库状态列 db_status_item = QTableWidgetItem(str(sqlserver_status or "")) @@ -4157,8 +4228,19 @@ class MainWindow(QMainWindow): # 保存数据按钮(仅在实验已结束时显示) if et: # 有结束时间 - btn_save_data = QPushButton("保存数据") - btn_save_data.setStyleSheet("QPushButton { background-color: #1976d2; color: white; }") + # 根据保存状态设置按钮文本和样式(仅在有新字段时才判断状态) + if has_save_fields and save_status == 'failed': + btn_save_data = QPushButton("重试保存") + btn_save_data.setStyleSheet("QPushButton { background-color: #f44336; color: white; font-weight: bold; }") + btn_save_data.setToolTip(f"上次保存失败: {save_error or '未知错误'}\n点击重试") + elif has_save_fields and save_status == 'success': + btn_save_data = QPushButton("已保存") + btn_save_data.setStyleSheet("QPushButton { background-color: #4caf50; color: white; }") + btn_save_data.setToolTip("数据已保存,点击可重新保存") + else: + btn_save_data = QPushButton("保存数据") + btn_save_data.setStyleSheet("QPushButton { background-color: #1976d2; color: white; }") + btn_save_data.clicked.connect(lambda _=False, id=eid: self._execute_script_for_experiment(id)) w_save_data = QWidget(); les = QHBoxLayout(); les.setContentsMargins(0,0,0,0); les.addWidget(btn_save_data); les.addStretch(1); w_save_data.setLayout(les) else: @@ -5494,30 +5576,103 @@ class MainWindow(QMainWindow): QMessageBox.critical(self, "错误", f"实验台断电时发生异常: {str(e)}") def _open_dashboard_viewer(self): - """打开 PCM_Viewer 全屏展示""" - # 选择布局文件 - file_path, _ = QFileDialog.getOpenFileName( - self, - "选择看板布局文件", - "", - "JSON文件 (*.json)" - ) - - if not file_path: - return - - # 检查文件是否存在 - from pathlib import Path - if not Path(file_path).exists(): - QMessageBox.warning(self, "警告", "选择的文件不存在!") - return - - # 启动 PCM_Viewer 子进程(隐藏模式,通过UDP通信) + """打开 PCM_Viewer 全屏展示(仅发送UDP命令)""" try: - self._start_pcm_viewer(file_path) + # 第一步:让用户选择配置类型 + # 传递上次选择的配置类型名称作为默认值 + default_category_name = self._current_config_category.name if self._current_config_category else None + self.logger.info(f"打开数据展示,默认配置类型: {default_category_name}") + + # 使用自定义标题和消息的配置类型选择对话框 + from config_type_selector import ConfigTypeSelectorDialog + category = ConfigTypeSelectorDialog.select_config_type( + parent=self, + title="数据展示 - 选择展示类型", + message="请选择要展示的类型:", + default_category_name=default_category_name + ) + + if category is None: + # 用户取消了选择 + self.logger.info("用户取消了数据展示类型选择") + self.statusBar().showMessage("已取消数据展示", 2000) + return + + self.logger.info(f"用户为数据展示选择展示类型: {category.name}") + + # 第二步:构建dashboard.json的完整路径 + # 路径格式: C:\PPRO\PCM_Report\configs\600泵\dashboard.json + dashboard_path = category.path / "dashboard.json" + + # 检查文件是否存在 + if not dashboard_path.exists(): + QMessageBox.warning(self, "警告", f"展示类型 {category.name} 的dashboard.json文件不存在!\n路径: {dashboard_path}") + self.logger.warning(f"dashboard.json不存在: {dashboard_path}") + return + + # 第三步:发送UDP命令 + file_path = str(dashboard_path.resolve()) # 转换为绝对路径字符串 + self._send_udp_command({ + 'action': 'show_and_fullscreen', + 'path': file_path + }) + self.logger.info(f"已发送显示命令: {file_path}") + self.statusBar().showMessage(f"✓ 已发送看板显示命令: {category.name}", 3000) + except Exception as e: - QMessageBox.critical(self, "错误", f"启动看板失败: {str(e)}") - self.logger.error(f"启动看板失败: {e}") + QMessageBox.critical(self, "错误", f"发送看板命令失败: {str(e)}") + self.logger.error(f"发送看板命令失败: {e}") + + def _auto_start_pcm_viewer(self): + """软件启动时自动启动 PCM_Viewer 可执行文件(不发送UDP命令)""" + import subprocess + import sys + import os + + try: + # 获取当前可执行文件所在目录 + if getattr(sys, 'frozen', False): + # 打包后的环境 + app_dir = os.path.dirname(sys.executable) + else: + # 开发环境 + app_dir = os.path.dirname(os.path.abspath(__file__)) + + # 尝试多个可能的路径 + possible_paths = [ + os.path.join(app_dir, "PCM_Viewer.exe"), # 同级目录 + os.path.join(app_dir, "_internal", "PCM_Viewer.exe"), # _internal 目录 + r"C:\PPro\PCM_Viewer\dist\PCM_Viewer.exe" # 开发环境备用路径 + ] + + viewer_path = None + for path in possible_paths: + if os.path.exists(path): + viewer_path = path + break + + if not viewer_path: + self.logger.warning(f"未找到 PCM_Viewer.exe,尝试的路径: {possible_paths}") + return + + # 检查 PCM_Viewer 是否已在运行 + viewer_running = self._check_viewer_running() + + if not viewer_running: + # 启动 PCM_Viewer(不带参数,正常启动) + self.logger.info("自动启动 PCM_Viewer...") + subprocess.Popen( + [viewer_path], + shell=False, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + creationflags=subprocess.CREATE_NO_WINDOW + ) + self.logger.info("PCM_Viewer 已启动") + else: + self.logger.info("PCM_Viewer 已在运行,跳过启动") + except Exception as e: + self.logger.error(f"自动启动 PCM_Viewer 失败: {e}") def _start_pcm_viewer(self, layout_path: str, udp_port: int = 9876): """启动 PCM_Viewer 并通过 UDP 发送显示命令 @@ -5531,12 +5686,36 @@ class MainWindow(QMainWindow): import subprocess import time import os + import sys - viewer_path = r"F:\PyPro\PCM_Viewer\dist\PCM_Viewer.exe" + # 获取当前可执行文件所在目录 + if getattr(sys, 'frozen', False): + # 打包后的环境 + app_dir = os.path.dirname(sys.executable) + else: + # 开发环境 + app_dir = os.path.dirname(os.path.abspath(__file__)) + + # 尝试多个可能的路径 + possible_paths = [ + os.path.join(app_dir, "PCM_Viewer.exe"), # 同级目录 + os.path.join(app_dir, "_internal", "PCM_Viewer.exe"), # _internal 目录 + r"C:\PPro\PCM_Viewer\dist\PCM_Viewer.exe" # 开发环境备用路径 + ] + + viewer_path = None + for path in possible_paths: + if os.path.exists(path): + viewer_path = path + break + + if not viewer_path: + self.logger.warning(f"未找到 PCM_Viewer.exe,尝试的路径: {possible_paths}") + return # 检查 PCM_Viewer 是否已在运行(通过UDP探测) viewer_running = self._check_viewer_running(udp_port) - + print("viewer_running:", viewer_running) if not viewer_running: # 启动 PCM_Viewer(隐藏模式) self.logger.info("启动 PCM_Viewer...") @@ -5559,23 +5738,25 @@ class MainWindow(QMainWindow): self.logger.info(f"已发送显示命令: {layout_path}") def _check_viewer_running(self, port: int = 9876) -> bool: - """检查 PCM_Viewer 是否已在运行 - + """检查 PCM_Viewer 是否已在运行(通过进程名检测) + Args: - port: UDP 端口 - + port: 保留参数,兼容调用方签名 + Returns: bool: 是否运行中 """ - import socket + import subprocess try: - sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - sock.settimeout(0.5) - # 发送探测命令 - sock.sendto(b'ping', ('127.0.0.1', port)) - sock.close() - return True - except: + result = subprocess.run( + ['tasklist', '/fi', 'imagename eq PCM_Viewer.exe', '/fo', 'csv', '/nh'], + capture_output=True, + text=True, + creationflags=subprocess.CREATE_NO_WINDOW + ) + return 'PCM_Viewer.exe' in result.stdout + except Exception as e: + self.logger.warning(f"进程检测失败,默认视为未运行: {e}") return False def _send_udp_command(self, command: dict, port: int = 9876): @@ -5897,10 +6078,11 @@ class MainWindow(QMainWindow): try: db = sqlite3.connect(str(APP_DIR / "experiments.db")) cur = db.cursor() - # 设置 end_ts 为当前时间(如果还没有),is_terminated = 0(保持正常状态) + # 设置 end_ts 为当前本地时间(如果还没有),is_terminated = 0(保持正常状态) + end_time = datetime.datetime.now().isoformat(timespec="seconds") cur.execute( - "UPDATE experiments SET end_ts = CASE WHEN end_ts IS NULL THEN datetime('now') ELSE end_ts END, is_terminated = 0 WHERE id = ?", - (exp_id,) + "UPDATE experiments SET end_ts = CASE WHEN end_ts IS NULL THEN ? ELSE end_ts END, is_terminated = 0 WHERE id = ?", + (end_time, exp_id) ) db.commit() db.close() diff --git a/work_order_query.py b/work_order_query.py index 05febc4..42694f1 100644 --- a/work_order_query.py +++ b/work_order_query.py @@ -97,6 +97,17 @@ def query_work_order(work_order_no: str) -> Optional[Dict[str, str]]: logger.warning("工单号为空") return None + # 特殊测试工单号:COT8888 - 自动返回假数据用于测试 + if work_order_no.upper() == 'COT8888': + logger.info(f"[测试模式] 检测到测试工单号 {work_order_no},返回假数据") + return { + 'work_order_no': work_order_no, + 'process_no': 'TEST-8888', + 'process_name': WORK_ORDER_DB_CONFIG.get('target_process_name', '泵空跑合'), + 'part_no': 'TEST-PART-8888', + 'executor': '测试人员' + } + # Debug模式:返回假数据 if WORK_ORDER_DB_CONFIG.get('debug_mode', False): logger.info(f"[DEBUG模式] 返回工单号 {work_order_no} 的假数据")