From c04042306621eb5d51b9f198b92b9d5e03ddf7ae Mon Sep 17 00:00:00 2001
From: tianzhendong <1203886034@qq.com>
Date: Sat, 15 Aug 2026 21:00:37 +0800
Subject: [PATCH] =?UTF-8?q?=E6=97=A0=E4=BA=BA=E6=9C=BA=E8=B5=84=E4=BA=A7?=
=?UTF-8?q?=E7=AE=A1=E7=90=86=E7=B3=BB=E7=BB=9F=E5=8A=9F=E8=83=BD=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0=EF=BC=9A=E7=8A=B6=E6=80=81=E5=8E=86=E5=8F=B2=E7=BC=96?=
=?UTF-8?q?=E8=BE=91=E3=80=81=E9=A3=9E=E8=A1=8C=E9=80=8F=E8=A7=86=E8=A1=A8?=
=?UTF-8?q?=E5=A4=87=E6=B3=A8=E4=B8=8E=E6=80=BB=E6=9E=B6=E6=AC=A1=E3=80=81?=
=?UTF-8?q?=E6=89=B9=E9=87=8F=E6=93=8D=E4=BD=9C=E3=80=81=E7=AD=9B=E9=80=89?=
=?UTF-8?q?=E3=80=81=E8=A1=A8=E6=A0=BC=E5=88=97=E9=A1=BA=E5=BA=8F=E8=B0=83?=
=?UTF-8?q?=E6=95=B4=EF=BC=8C=E9=9D=99=E6=80=81=E6=96=87=E4=BB=B6=E7=A6=81?=
=?UTF-8?q?=E7=94=A8=E7=BC=93=E5=AD=98=EF=BC=8C=E5=BF=BD=E7=95=A5=E8=BF=90?=
=?UTF-8?q?=E8=A1=8C=E6=97=B6=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.reasonix/desktop-topic-auto-title-meta.json | 8 --------
.reasonix/desktop-topic-created-at.json | 3 ---
.reasonix/desktop-topic-title-sources.json | 3 ---
.reasonix/desktop-topic-titles.json | 3 ---
cmd_out.txt | 18 ------------------
main.py | 11 ++++++++++-
static/app.js | 17 ++++++++---------
uav.db | Bin 61440 -> 0 bytes
æ— äººæœºå�°è´¦.xlsx | Bin 13537 -> 0 bytes
9 files changed, 18 insertions(+), 45 deletions(-)
delete mode 100644 .reasonix/desktop-topic-auto-title-meta.json
delete mode 100644 .reasonix/desktop-topic-created-at.json
delete mode 100644 .reasonix/desktop-topic-title-sources.json
delete mode 100644 .reasonix/desktop-topic-titles.json
delete mode 100644 cmd_out.txt
delete mode 100644 uav.db
delete mode 100644 æ— äººæœºå�°è´¦.xlsx
diff --git a/.reasonix/desktop-topic-auto-title-meta.json b/.reasonix/desktop-topic-auto-title-meta.json
deleted file mode 100644
index 8144bab..0000000
--- a/.reasonix/desktop-topic-auto-title-meta.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "topic_20260807-122045_ad70a5c6e85a19b4": {
- "stage": 3,
- "userTurns": 3,
- "basisHash": "67a0aadd52e2dfe4",
- "updatedAt": 1786107445489
- }
-}
\ No newline at end of file
diff --git a/.reasonix/desktop-topic-created-at.json b/.reasonix/desktop-topic-created-at.json
deleted file mode 100644
index c8b366f..0000000
--- a/.reasonix/desktop-topic-created-at.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "topic_20260807-122045_ad70a5c6e85a19b4": 1786105245321
-}
\ No newline at end of file
diff --git a/.reasonix/desktop-topic-title-sources.json b/.reasonix/desktop-topic-title-sources.json
deleted file mode 100644
index f1df253..0000000
--- a/.reasonix/desktop-topic-title-sources.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "topic_20260807-122045_ad70a5c6e85a19b4": "auto"
-}
\ No newline at end of file
diff --git a/.reasonix/desktop-topic-titles.json b/.reasonix/desktop-topic-titles.json
deleted file mode 100644
index be8780c..0000000
--- a/.reasonix/desktop-topic-titles.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "topic_20260807-122045_ad70a5c6e85a19b4": "æˆ‘æƒ³å»ºç«‹ä¸€ä¸ªæ— äººæœºèµ„äº§ç®¡ç�†åº“,采用B…"
-}
\ No newline at end of file
diff --git a/cmd_out.txt b/cmd_out.txt
deleted file mode 100644
index 3b7f66f..0000000
--- a/cmd_out.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-============================================
- ÎÞÈË»ú×ʲú¹ÜÀíϵͳ - Ò»¼üÆô¶¯
-============================================
-
-[1/2] ¼ì²éÒÀÀµ ...
-[2/2] Æô¶¯·þÎñ£º http://127.0.0.1:8000
-´íÎó: ²»Ö§³ÖÊäÈëÖØÐ¶¨Ïò£¬Á¢¼´Í˳ö´Ë½ø³Ì¡£
-
-·þÎñÒÑÆô¶¯£¬ä¯ÀÀÆ÷½«×Ô¶¯´ò¿ªÒ³Ãæ¡£
-¾ÖÓòÍøÄÚÆäËûµçÄÔ¿É·ÃÎÊ£º http://±¾»úIP:8000
-¹Ø±Õ±¾´°¿Ú¼´Í£Ö¹·þÎñ¡£
-
-INFO: Started server process [26368]
-INFO: Waiting for application startup.
-INFO: Application startup complete.
-ERROR: [Errno 10048] error while attempting to bind on address ('0.0.0.0', 8000): ͨ³£Ã¿¸öÌ×½Ó×ÖµØÖ·(ÐÒé/ÍøÂçµØÖ·/¶Ë¿Ú)Ö»ÔÊÐíʹÓÃÒ»´Î¡£
-INFO: Waiting for application shutdown.
-INFO: Application shutdown complete.
diff --git a/main.py b/main.py
index a706104..38b8b92 100644
--- a/main.py
+++ b/main.py
@@ -1141,4 +1141,13 @@ def export_excel_api(
# ---------------------------------------------------------------- ��页�
-app.mount("/", StaticFiles(directory=STATIC_DIR, html=True), name="static")
+class NoCacheStaticFiles(StaticFiles):
+ """é�™æ€�文件ç¦�用缓å˜ï¼šæ¯�次请求都让æµ�览器é‡�æ–°æ ¡éªŒï¼ˆé�¿å…�改版å�Žçœ‹ä¸�到更新)。"""
+
+ def file_response(self, *args, **kwargs):
+ resp = super().file_response(*args, **kwargs)
+ resp.headers["Cache-Control"] = "no-cache"
+ return resp
+
+
+app.mount("/", NoCacheStaticFiles(directory=STATIC_DIR, html=True), name="static")
diff --git a/static/app.js b/static/app.js
index e74882f..08777bf 100644
--- a/static/app.js
+++ b/static/app.js
@@ -158,9 +158,8 @@ function renderDrones() {
table.innerHTML = `
- 机型 编� 链路ID 飞控ID
- 飞控版本 导航版本
- 当�状� 备注 �作
+ 机型 编� 当�状� �作
+ 飞控ID 链路ID 飞控版本 导航版本 备注
u()Tqva_`<#dc$)LzltP!p>T>l z>BH5ywTCwxPpI|@`tWk)gF_knO$n9T$&M@*#lB*hU4ERq2J>{jI=7hkeH7DPRkern zvkh%qUPo!64B<+bT8&iJPlXmN0A4j!7kw ;Wr9;6&I4(TG)>iM*AXF8T?3fLM)w3!hJoe %b)(+FxJr(f+6Ep?=uvYs4J;Opz_olWER!$Gn;5zoa6Y-+{XpX(6nv#{ zmVtklyzN1VX(}d}wiIjW%fj_N%Z9_@F$vQygeV=K7lemK=ZZ%sG<`<(;mgSfwe{6c z%_X&-HTCq~_4ICWi#T7Vu$|gRj>|_VCK|8PY45sSk4${kI&62-ih5#t%~80xtvA@3 z7JEVimQWkNX<79_>SAH4MYqZK?cwb3k6%LWtM%=;jW5MMiNg!gQ|o)?0PhP8Y|QF* zB&=Lh3#iKuY|QAkTe4tfJIa3c0YULZT5fvD8AM(*d%N!nhK{xUKzr}GNQ3M9FCwUi z=wNWEN2@x^B7vmGjSbiX7QIxFH|3tkhn*+F5UTG{R(H*jDh`^cebf6WY@q9UkvcVQ zOtaUPy!X|H(VU~LC|Jt}e&={M(avWP9u^sx=}1^?*V{weg_*?kw}UFuoz~@?7uOD$ z^d1MWLBz UVX`B)odg1cPtuxNWP+Lzo6X zR~Il2M#wSCCN|$Fn;{i0QXu3blf;epfB#gS7VE=B-pFMC-NMF9(g`xRl1kj>@sO80 z8PJ$p+Q~W!!@j#Da@13CwsW>UmIpX#ay{Fc<)f)lI^>v9m&b2@5#VeXaC}$2mK7&X zM+WMMz`r2nAH~cH`YhtEa+mCwBW?INuJ8701UK`(V)$!|0;Y63){X^!>KeHmnim02 zdc~cO&+o+v;L(QD&|#U=6v$omwScYC=P-xHWYv;#NJ|(|2~s~VqVOuV`Rr@>5Y*V? zsM=dddZ?Qz@K(aG`A0|ii_U>?BGNYoLIAciIE=K4-d|WT2AN``gME}>P^VC{;N50+ z^wr(}8^0xI=#G3prQ!@RYq}(Y? U#+K!UjlAQe4^*WJHJ*+FEQ)vh$j@; zSgxM!?SgsIGb~h_vFlwe;=$$Cm9|p4c`LcMM2N}FyrwT$Z%huNSAUSrJ3M%k>zc9l z^N!}G2RU!Ae-}xt{&Dm~B4G`=Kg8^t6Qg^Bi6TtNt3ZnR>tS%~DtrCK1rt4%i)|13 zOof6#3DPtW#QiPBcZ0JzrPscS>&+l?lI
);yar3n+m8%a1mIT~2&_cRT8^%~D{gr&GDzmi?Bo{xG2p6+=wJ@V1C2$FN% zfy#>Uo=C05douHk)-lt(8cn(`O}+Kp%BQyq$yK|Kb+eii2}o5b@IiNtBPc&Arfg8% zubk&lsMi#(lI1T3MO`kRo@=sEz5f+tUrda}R|*sP>}<+w{&9W$2Ej#6y_dS6DHVO> zxB1w(Y-dLM{V0bT!}TNU7J1@Xv3c;OzD&0JHhg*?@>cAwa-35GDW;t)7SlW03lx-m zGwRE4!Y+_uc0{z?S;g`;`AF;eejmSLouKqOd1sb{h=(kvkH4xxFAL~WP%gpwtCY{D zS61FWb$B(n&*^35`+(2n8)d6ZV9hQ5=Q7_Puxw-xv*P=WOg-p;QCG4WD%Ckd;%~5> zj2QIaDx|z6w~-n>L0=GH8|(bFRyOlQXMlc>Z(PKBM0D(&!5kT<%m?=xx1b COmo={|v4;aAAGYBW1g`xV57SIINF|kUTp8Y6Fn*=Cc@zBll2O*jysXAy zUIHgioehFyGvV<7*%)g6Z^4-&A$U-!Z?|V9NBRk$Y!lw34L@(d8(l1zI-`mwK6<=D zm|I&PI*AOf!aTi!IFp@Y^al `4$$Y%Y@e8#+SziW|Dbn~tav@BUK6?8 zNl+4&n^J?VqZnHr;m!3AEZtaAKE++HR7RwkHPRN!kU8AkWF1%b2ew^v!BZm!1+rWh zcp?R6g4IUg+^-n~V~-j D-4wtWzMb}k8Mlb59_uc+j{K2br^xeojrDE zmyf z} zsTvy{qgVaG%{>6!7CIR_biC~1w6|ejH9kgna=7|pdGMePS}|gEQc^03936!a6$IqW zO%AQ@g}E-QNgZ=|G(@QpFYL;GlRVktIGNmRr%(8tIQTkt35k@1jx9@;m(y}_k3q(= zB*&IdijOwuRosi`nl{EPp$uv#6}xr`NY*GysDuQ4WefpBr8g}0VB_`D$&7jFg-DD| zss#`HZhwmlAG4}C&lPAHCU`k<
}*9(ip0CdY0CkbMkB*d4 )JNqO;C;F zQf2F$YfBSd>q@+p2M$e_htc{6iay>NA}dpH*neo&x4e0HqpYQ6o`=qVJkIfjqn|{D z@ ey_ba_b9$7j$2t>b }G6u0a z5)IC8OlKH6ce^`(oPP^pN8%7W$j&n)RzO+ngx;D?K=x-Ki)Hv;KU8md4R+N`g%Z7E z2dSirVKvirh%I{uz*071M>`TmJ03Y)4TGz^gUuV-$OmwJQwaRnLx(vNI!EVFQ>Wjv zr?Nb!wmg>&BWYeXYlYk9eod8$TKsUQZy^-px%@^bY+^Ed;gHoKn9TuyP#@RCVew+A zI}wG0-NL>2h$qx=(%Z{V#%w6XN6F*IXCQks5CqC6Nb=|{oM16gyU(hMH$#?juQ=RX z`HD}!9MlPYE+k$`gZAmhfAOi2%^`J(3p*bsRqFDetYybW5b@d|8}1AUwT`XEWlCew z!5)~i(8~MV4U@*E4d^j8nDiG6)>KKst)`HfvdoLU8{E~>%19^nsQ?sOAj{Zo^xg8| zjSH`x{Ah+bBfs|!6|u19%SP*A>*{_m#-Vy-9S0=xJZ78GC4Fm|*oHUyqA*zfo#JbC z!B;qf?S5S8!v|P|Dz6yozFNnJJSot@QZ}c2|Gt^R)SJ}AG(42f#J9$#c){#4HfONL z%Njx}3Z)>#4+=7}p_Es=-kF@ec|PsD!krZGD?Xm4yo!8ZlRJz8`Qr6WjTrSJbmhX{ z$%@*CJ-*O1loD%3lFKP)b3v$3m(%HE!GW@}NibhGZhrpVCL+F`31K}uCPJ*phHHHj zK)@{hcJ`kG11&W^QcG!3AihgAQq!6TL$al+^Dm#L8SOU9V~*{F2=a#CXnn%ejMAgo z(r4PThfoMtha%O^hbD$|I}N^R4?}Sj(@0SSJN~#bLKwPH)eS>lz+4(%NVWGtDQ4d{ zf@Edwq;MI6pe2(Zf}kV=Fl|Qt5R_!S5a$yyQ|e)roGMM$Ljx*N`~GpxX^)auM@T;K z?15=5^!;9neP7g1rhM7|Mg)VSv>ypUYkv*!r$Dv@j?#XZ5T*UF3bZ5^r9JGY_NFkD z_Qf N_$HowDzf%LMZL+QQAKhLTPUyQ~`&ev`7BbJ_3o-eguNj9*Nc- z`LSd~1<*bpj@CXjACA&~1f~5aI7<6pbwg
Q$ej01j^PfU@943f&$Vuf}kJm%L4;5H5zH8 zw5Ut7nw@<%GJCRs98#w`1L?V`MVW9&qei%8_9aK$&mloLdqGd_xQOjwtWUdi_tKc_ zeu^vqjXkrc^MGp9rj?{7Y2iyjKZJz4sNwEDo@u;`fF>%&2%-D1@%lRh*A4*TL*lee zs%xAE7B0|YbB1VC1F}*pRYwnFva#mNQCVZ_TFg{3;uCci$dyc7F|>GvM+AA&r-Rqo z&n3(oF3{@D)U0SsqVqvcZ1N6GVPj6XbqY>JEsCQydiWxWBO1+7%SeOfm_%_ 5$W2Jshgs4AO; T;2z*~1IlSFS|EvedCf~Y7w2_T^=wFTZ_1J52o+jzlAD`p$DuOR z0Az?1;CYSWDI-UP{s0I)w(%b%_`3f}68^6w9A`)>^ueEnZU2fpSWdk7twTPja|5 M{-HdVpo87T`@B^E c`4fa}_@Z!7W*Ga}D;+{{x4MU$1hIn_HZg*cp)cm{}4fv0Efi z5I+}H X^lX?6Ba!+%QL-%N9x2`jX5K`Q5` z!WRHb^}4Bt%&X7-=zeEcFwh2a|En!jGxh;mI^(kla`~`#a+aLysB8`_XrXtg2J{Zq zK=to+{ bC|0ukW??PilS=NE*hnST%O%JdPT2<{Ka~XU`2_7Xqbv1G^A&q&GkIEjguEo}3yd zv#g6kj!)UR%~;~h10hvX)o(6u0Y?dD8_pv$f~T({E@SDY9A<=I1m6)adOHZT W;tSK;AG1j>CAuO#!s%}2071ncQ`rL?*Sr3qEAPG=+hBM2}b1uN@bC|9eM4< zMiBu0U|&~6gCc<=RG>yFpd?7Cl*)(b50C{4l*zs>jRx7HK_zHV36&4tAE3u5kR|)N zC>o@N1{I+}MN~c){s8HsK%DIBd}xp$8dQJ=6;SzL0ibFiK3BhIm|CE`^k#G6NpU5+ zVBpAA|LHr>cmvbEzk=jl^y1W@p!taiM(v>~dX^-)%yJFDu}y)q!OSjL1=l1n|2uB( zo0qp_4eEf(2f>YeJXv_z1%WNy=(=F4o~85^r3kb@Kd!HX(9Texoyn^qQ~|*h6ap_hemm>D$!i!YfIo2h# zjIMMeSZP_s<2C9h0mOk~`Up_4OA%M)0R+K~bpte_5sm0XA=2NemMj3ZcKvNA *P0g(nqkhrJ9uFA-jt%!4>0}2)c`KV;9tL{dPN#8vziKBJ7~pVo zF-}_)-U@7K>Fwe{nJ DSdv?#!0H8vbIDow@lT8wHJ17Y8rNLSY68D4{bKZ}PV!75_@I z^6w;7zbCO7xGp(7`4Gr5r{Frh4p0Xc+E UT}z%kVA&32HFw*2D$UtnU}LYUi(s3#2*oi@LdX za#*wI3vv)3Zg59Z1_{=$qVx@EYkn&Ei=;Pj-rgr$8aG#UOiDC7*G}%WYr{`Ne`8RF z`hQ~xddkqJGlo#=kNv8CtcLbgY^->Da_QPWDy^%dJ)a7`NLT!oW|StWfG60ZNOoVK z-ZG`XrfQgL`Z>e!{O$~V&Ir5mEMCV_PT!9N*KSx77pN5-KWm_xzTj=ylj8*zsP1Wy z4x&mskLm@v^smb1b!IdX$95cVIaj%F86DYF9Zk;JR}Ja^5L^j0s=5{LvbESyw|_L3 zvjjhgJ!lFZ>44Rxv@nE17b{>+CzA-u17zK#pN-QR`ubVC`~Kqsci0de4w1((1O`9Z z53Y;WPArCjRhPg=45zPM+EShq(ICXY@csH9uU+z?{sUG4*M-u^Q#7pQNb}qtqqWyu z31v1k5_^xy=SkYNuB>+>n1|(Q^Y*ot^hDO82e0S*5l`Doodb*DBmH16zr@o1p(Du2 ztTp__(Nsw+5;^JW1mAJU(axw#Us^VE+kNaX2q#J`9Y#V2j#ihCHx{i+RtBQdlVg#s z=DI~?x==_IrFr`6ig9opvT}Q*!)nL9O4zlcRCmSW xi33 #%p64C+LyzGV43$4z_iP4t zV6oHl0V6{>2a__|2XF>B5)lJ0rm3|5D&TOk(Lk(3A4Ol);&E$iYIZ}&u3TffBoVUL zm7Xv2`Sp^_j# 8MYMu7t q@#cbns|@%CZUu{_z@o%Tlb;=F7?ITL~}(^7@3*ePO50T&V7m$J&uYDfh-y(@NDw z_LDY-F0G^7t=-aZ=}m-^DpsqSlNr+&z`_B7< !h+QH##P_1PcU%cdlo!)%AH)!) z^yYbqq)m%$rWp^$XqUNi>9a;~sauG?RBXC17ZJMB9Tlqo%mA@iYWGgP>`ofu3OgOm z`}?AmGGI~rET^=k`Q8`O2)ut7fFvjhT}*rSPXlgTaMlROKMYtzorjrR%+h;8A$l uEN9PrsDY)~N;tW(IQ5o2)ejZ6$583K&9U~P^|8F*jvsW@3!wUiq|1BEKeBk3 zbd9?8QspSWFMviDl4ww4VdybqdCJuV(B?uCJ!)(fJ;rpG5*Gm?KqOs7jj1!E=1$+G zyn+BRBa)a=W4Y+DR0T?51V|i_#D*FpVL{=H6)Dvbpa+N~cGQ?PdW=bl@(BWDiAcJE z8tX=nO)D|DBFJ13N!)wP9Pa&Y?GWyb|JnTMHt}6PwN+E1Q)2vd%636X;-U+Ot3u@E&4FD$;>vcw zjtqER;kzD6^rVu;D5q7^go!rV{Wog0V|d^ 4i=l ?t1jS^?{Bayr}CzI0UUX;lJnQRO}Fvw<}0t7Ui?Ll6zx^23STvE zZlyzNi4AbQ{5rb?_dcHlH8`>+$`lwrEfYZ{Cz-3R^e-|sMwzafMo+YXPKW8k-G&X0 zJRK&vt1in=*FQPf8L2|^?~IE%=S5feaA#nHwSI^7J{4xhL>qfe6#3~e&x5rtR%W8s z<)7s_-NwF~uefS@{?{-E1L-Q%Exoxp4i)n@!0cM<5A(S9jq<3$S~XFc!0_oX@hUTc zYLGe=rsk^YyNNcuQ( z3&Ho6BpT1&>WzE 7c-O(BPN(gejJR_=!)a>yn4AWM-`b zn~u8Pbc>*4J`20+7s8XhcSN `4rLc=+vss~~q_zf`cSKx;>EY{ahwe7|x={|)^;u5^+!Xqha z^i{*7bC7=5;fV0mWCSxLTb*UZsOQnNV$`0-hJ~(NXu!v}UrTEvErVrkL%8%KU&p8& z@IAkCGrqoqyw*gIGv?VVM7~kK>%-`9;}q0 i z&m;c^MTY>^3th3N5?1Q2b~h6N^LVC!`C!^bIieSRL=8>y8w%gWMR_wshK#z!or_94 z b7Tyy8A)c>t;U?x5YYpQA>pqaO#)l63IUUy+1Dh=Z*h1Rn7o zOzuvpA9Tzw%{%PF;j4XmToTLs?hdxj8)bT6`-5ppg2bv} 0Y@=+Wo=`0Z<#iK8L5z)e$H4>L@{}vP()|M zO|{S6!|=^^qFqyj47C+=5#;G`;R-?O3u5N$y_R{`?kSWqjucVP_!PS35BlWO Rp_19W&;EvvF&%t$8$&Gv zcIo!BB0Ha$J}r(#A$zk|=h$H8(&AEyhflK$U#o!dj urhMygNqrCVW3ez>Z|w2}{U?{=`s#!9*m>+1KP%#@w32lOj{zc(M85 zj2Jpy{gC^EquToPTvtXJH+0>C4dXl;NUM1yb+9k9=|L^to#-xMTS@6bCVKL=;Gi zc#+Gndl vU Irk1wcT&VZ>H>Hp|9)jB*4c!SmINeuY@|&(vVDDjSr4WAyoez?Y zugV!tvkAkea=IlB8l|_mjTHV+9Q^t65y?G^hu^+p-YsT%ZP6Jno!!q#FA&gs`_725 zOzuNYiQ8OMW+fFS6zR4fv|m0Nj8D5Y!mTC+^~@1fwvo2DtHe*V+R^L5x3fVYAUmtb z^iGf3v2XU+enO!qnNf!#Mz*Cdg)Ys5u4y~050PWcSm>;`uxIn+0bb~+G0Q6(qrzhW z?-t@8?ii;pq)hfxk$lC(z{og nLWxk-G<89iG}~`s_hO^2M8mtuuZ>?X3~%4-rPa`*G8~P>P{oVc zJUGWr#m+}x^vK2E9v^wd;nO>ubJm_b1yu*huT;B@{ITG=ii=Q8<~N_zr$kmGHWf^i zZn=CWOn5f?{(Dyl1tW`1pD@NW&k6n*G3$7K`@l=%A)2|64<_9^zUQfz7HI?|H|W)> z!H_SX`?%GGc}Ci6LVNn~zG)<_-S6(a{DKHM <{{F>Q0TF7FnxuRd zt;jn;3U^!9`=S^&_SQFCZJgW=knGBHX{_bZy-qIi?d>FPb;^!bn`_E&*TYKJ9e10x z$2NOK)7PA;HSWm|&NU?8KJPkMkfr5-6_7675>f{iGo&g=P+7>G)#~K_a;H 0dEx3wAMYHJqn9AA@n+a}1N2);$ zpXPfrt>2mheKnxQ-m|!B{JKGz${*TV)oZK#7}c(cs=svXy&KyRQ?b9{wIyEFkmVM* z)IHuZJB=~cr8IszR!BN?IXzI&+SosDi`SEZLhMW-cHjq2)~2@lsG@F&=u!n%a3eUa z^~F;@`w7nheNT=b)%d;x`l)k?Mo>HG>k-J?+o?wEpeVTz `Hfbmu8 zl-;CDk%Yn_e0Nr9Kg&Fi*%d-Q=r_%9NYZMXtzh?ITaCD%b5(GO?bFuSz3tI8!I%mB z@amLi`lk8>O Yv`^{aR_u)&J_xQ+7^x_v} z#X9fBYu=T|zn0FDy?J?YI6~d;`O4QjM#@PXmKe>tB0*dqTk6UD*Ia~RC7YEoMQmfG z@7QzJAiox{xV@m)#RWwpm<(QW-a2sYhUrUfDG9#bVftXddhT0pd*Yh*Ywmra?Y#Xa zi7}ZcC;MM^GVF$T`N4!MEpue*N|;!eF#hv{BtZS3e>?$^|M^(S+1Y2G;rKZh1H%)u z?$_CWKGAV@`q_sZ{+>PwnE%Zq4`&I^-sJixL9rJjE}G!Cx4fQZIeWSJZ Hh(TGlZf5