From 00356ea3ec07bd3977d7886b827ee95723c23baf Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Sun, 9 Jun 2024 21:02:04 +0300 Subject: [PATCH 01/32] EA-6B Prowler mod version 2.9.4.102 support (#337) --- game/factions/faction.py | 2 + game/theater/start_generator.py | 1 + pydcs_extensions/__init__.py | 1 + pydcs_extensions/ea6b/__init__.py | 1 + pydcs_extensions/ea6b/ea6b.py | 105 ++++++++++++++++++ qt_ui/main.py | 1 + qt_ui/windows/newgame/QNewGameWizard.py | 1 + .../newgame/WizardPages/QGeneratorSettings.py | 4 + resources/customized_payloads/EA_6B.lua | 36 ++++++ resources/factions/usa_1975.json | 1 + resources/factions/usa_1990.json | 1 + resources/factions/usa_2005.json | 19 ++-- resources/factions/usn_1985.json | 1 + resources/factions/usn_2005.json | 1 + resources/factions/usn_2009.json | 3 +- .../ui/units/aircrafts/banners/EA_6B.jpg | Bin 0 -> 135335 bytes .../ui/units/aircrafts/icons/EA_6B_24.jpg | Bin 0 -> 11318 bytes resources/units/aircraft/EA_6B.yaml | 17 +++ 18 files changed, 185 insertions(+), 10 deletions(-) create mode 100644 pydcs_extensions/ea6b/__init__.py create mode 100644 pydcs_extensions/ea6b/ea6b.py create mode 100644 resources/customized_payloads/EA_6B.lua create mode 100644 resources/ui/units/aircrafts/banners/EA_6B.jpg create mode 100644 resources/ui/units/aircrafts/icons/EA_6B_24.jpg create mode 100644 resources/units/aircraft/EA_6B.yaml diff --git a/game/factions/faction.py b/game/factions/faction.py index 9faee69e..1675abf3 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -402,6 +402,8 @@ class Faction: self.remove_aircraft("VSN_F106B") if not mod_settings.a6a_intruder: self.remove_aircraft("VSN_A6A") + if not mod_settings.ea6b_prowler: + self.remove_aircraft("EA_6B") if not mod_settings.jas39_gripen: self.remove_aircraft("JAS39Gripen") self.remove_aircraft("JAS39Gripen_BVR") diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py index 8e722d78..66bcb295 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -68,6 +68,7 @@ class ModSettings: a4_skyhawk: bool = False a6a_intruder: bool = False a7e_corsair2: bool = False + ea6b_prowler: bool = False f4bc_phantom: bool = False f9f_panther: bool = False f15d_baz: bool = False diff --git a/pydcs_extensions/__init__.py b/pydcs_extensions/__init__.py index ccdd9e01..b1f5b193 100644 --- a/pydcs_extensions/__init__.py +++ b/pydcs_extensions/__init__.py @@ -2,6 +2,7 @@ from .SWPack import * from .a4ec import * from .a7e import * from .a6a import * +from .ea6b import * from .f9f import * from .f100 import * from .f104 import * diff --git a/pydcs_extensions/ea6b/__init__.py b/pydcs_extensions/ea6b/__init__.py new file mode 100644 index 00000000..46638b52 --- /dev/null +++ b/pydcs_extensions/ea6b/__init__.py @@ -0,0 +1 @@ +from .ea6b import * diff --git a/pydcs_extensions/ea6b/ea6b.py b/pydcs_extensions/ea6b/ea6b.py new file mode 100644 index 00000000..9c028ec6 --- /dev/null +++ b/pydcs_extensions/ea6b/ea6b.py @@ -0,0 +1,105 @@ +from dcs import task +from dcs.planes import PlaneType +from dcs.weapons_data import Weapons + +from game.modsupport import planemod +from pydcs_extensions.weapon_injector import inject_weapons + + +class WeaponsEA6B: + EA6B_AN_ALQ_99 = { + "clsid": "{EA6B_ANALQ991}", + "name": "EA6B AN-ALQ-99", + "weight": 435, + } + EA6B_AN_ALQ_99_ = { + "clsid": "{EA6B_ANALQ992}", + "name": "EA6B AN-ALQ-99", + "weight": 435, + } + + +inject_weapons(WeaponsEA6B) + + +@planemod +class EA_6B(PlaneType): + id = "EA_6B" + height = 4.57 + width = 10.15 + length = 17.98 + fuel_max = 6994 + max_speed = 1047.96 + chaff = 30 + flare = 30 + charge_total = 60 + chaff_charge_size = 1 + flare_charge_size = 1 + eplrs = True + radio_frequency = 250.5 + + livery_name = "EA_6B" # from type + + class Pylon1: + LAU_118A___AGM_45B_Shrike_ARM = (1, Weapons.LAU_118A___AGM_45B_Shrike_ARM) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 1, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + F_5_275Gal_Fuel_tank = (1, Weapons.F_5_275Gal_Fuel_tank) + EA6B_AN_ALQ_99 = (1, Weapons.EA6B_AN_ALQ_99) + + # ERRR + + class Pylon2: + LAU_118A___AGM_45B_Shrike_ARM = (2, Weapons.LAU_118A___AGM_45B_Shrike_ARM) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 2, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + F_5_275Gal_Fuel_tank = (2, Weapons.F_5_275Gal_Fuel_tank) + EA6B_AN_ALQ_99 = (2, Weapons.EA6B_AN_ALQ_99) + + # ERRR + + class Pylon3: + F_5_275Gal_Fuel_tank = (3, Weapons.F_5_275Gal_Fuel_tank) + EA6B_AN_ALQ_99_ = (3, Weapons.EA6B_AN_ALQ_99_) + + # ERRR + + class Pylon4: + LAU_118A___AGM_45B_Shrike_ARM = (4, Weapons.LAU_118A___AGM_45B_Shrike_ARM) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 4, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + F_5_275Gal_Fuel_tank = (4, Weapons.F_5_275Gal_Fuel_tank) + EA6B_AN_ALQ_99 = (4, Weapons.EA6B_AN_ALQ_99) + + # ERRR + + class Pylon5: + LAU_118A___AGM_45B_Shrike_ARM = (5, Weapons.LAU_118A___AGM_45B_Shrike_ARM) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 5, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + F_5_275Gal_Fuel_tank = (5, Weapons.F_5_275Gal_Fuel_tank) + EA6B_AN_ALQ_99 = (5, Weapons.EA6B_AN_ALQ_99) + + # ERRR + + pylons = {1, 2, 3, 4, 5} + + tasks = [ + task.Escort, + task.Reconnaissance, + task.GroundAttack, + task.CAS, + task.AFAC, + task.RunwayAttack, + task.AntishipStrike, + task.SEAD, + ] + task_default = task.GroundAttack diff --git a/qt_ui/main.py b/qt_ui/main.py index fb24e21f..7f4b6e78 100644 --- a/qt_ui/main.py +++ b/qt_ui/main.py @@ -324,6 +324,7 @@ def create_game( a4_skyhawk=False, a6a_intruder=False, a7e_corsair2=False, + ea6b_prowler=False, fa_18efg=False, fa18ef_tanker=False, f4bc_phantom=False, diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 696463bf..0ecccbf1 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -92,6 +92,7 @@ class NewGameWizard(QtWidgets.QWizard): a4_skyhawk=self.field("a4_skyhawk"), a6a_intruder=self.field("a6a_intruder"), a7e_corsair2=self.field("a7e_corsair2"), + ea6b_prowler=self.field("ea6b_prowler"), f4bc_phantom=self.field("f4bc_phantom"), f15d_baz=self.field("f15d_baz"), f_15_idf=self.field("f_15_idf"), diff --git a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py index 8184b6bd..926bb923 100644 --- a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py +++ b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py @@ -94,6 +94,8 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.registerField("a6a_intruder", self.a6a_intruder) self.a7e_corsair2 = QtWidgets.QCheckBox() self.registerField("a7e_corsair2", self.a7e_corsair2) + self.ea6b_prowler = QtWidgets.QCheckBox() + self.registerField("ea6b_prowler", self.ea6b_prowler) self.hercules = QtWidgets.QCheckBox() self.registerField("hercules", self.hercules) self.uh_60l = QtWidgets.QCheckBox() @@ -160,6 +162,7 @@ class GeneratorOptions(QtWidgets.QWizardPage): ("A-6A Intruder (v2.7.5.01)", self.a6a_intruder), ("A-7E Corsair II", self.a7e_corsair2), ("C-130J-30 Super Hercules (v6.8.2)", self.hercules), + ("EA-6B Prowler (v2.9.4.102)", self.ea6b_prowler), ("F-100 Super Sabre (v2.7.18.30765 patch 20.10.22)", self.f100_supersabre), ("F-104 Starfighter (v2.7.11.222.01)", self.f104_starfighter), ("F-105 Thunderchief (v2.7.12.23x)", self.f105_thunderchief), @@ -225,6 +228,7 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.a4_skyhawk.setChecked(s.get("a4_skyhawk", False)) self.a6a_intruder.setChecked(s.get("a6a_intruder", False)) self.a7e_corsair2.setChecked(s.get("a7e_corsair2", False)) + self.ea6b_prowler.setChecked(s.get("ea6b_prowler", False)) self.hercules.setChecked(s.get("hercules", False)) self.uh_60l.setChecked(s.get("uh_60l", False)) self.f4bc_phantom.setChecked(s.get("f4bc_phantom", False)) diff --git a/resources/customized_payloads/EA_6B.lua b/resources/customized_payloads/EA_6B.lua new file mode 100644 index 00000000..ba87fc1e --- /dev/null +++ b/resources/customized_payloads/EA_6B.lua @@ -0,0 +1,36 @@ +local unitPayloads = { + ["name"] = "EA_6B", + ["payloads"] = { + [1] = { + ["displayName"] = "Liberation SEAD", + ["name"] = "Liberation SEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}", + ["num"] = 1, + }, + [2] = { + ["CLSID"] = "{0395076D-2F77-4420-9D33-087A4398130B}", + ["num"] = 2, + }, + [3] = { + ["CLSID"] = "{EA6B_ANALQ992}", + ["num"] = 3, + }, + [4] = { + ["CLSID"] = "{0395076D-2F77-4420-9D33-087A4398130B}", + ["num"] = 4, + }, + [5] = { + ["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + }, + ["unitType"] = "EA_6B", +} +return unitPayloads diff --git a/resources/factions/usa_1975.json b/resources/factions/usa_1975.json index ef601ae8..d60fb74a 100644 --- a/resources/factions/usa_1975.json +++ b/resources/factions/usa_1975.json @@ -13,6 +13,7 @@ "CH-53E", "A-4E Skyhawk", "A-7E Corsair II", + "EA-6B Prowler", "F-14A Tomcat (AI)", "F-14A Tomcat (Block 135-GR Late)", "F-4B Phantom II", diff --git a/resources/factions/usa_1990.json b/resources/factions/usa_1990.json index e23ab278..c0cddf0c 100644 --- a/resources/factions/usa_1990.json +++ b/resources/factions/usa_1990.json @@ -16,6 +16,7 @@ "C-130J-30 Super Hercules", "CH-47D", "CH-53E", + "EA-6B Prowler", "F-117A Nighthawk", "F-14A Tomcat (AI)", "F-14A Tomcat (Block 135-GR Late)", diff --git a/resources/factions/usa_2005.json b/resources/factions/usa_2005.json index b678f3ec..cd0a3a19 100644 --- a/resources/factions/usa_2005.json +++ b/resources/factions/usa_2005.json @@ -26,21 +26,22 @@ "F-15E Strike Eagle (AI)", "F-15E Strike Eagle (Suite 4+)", "F-16CM Fighting Falcon (Block 50)", - "F-16D Fighting Falcon (Block 52+)", - "F-16D Fighting Falcon (Block 52)", - "F-16D Fighting Falcon (Block 50+)", - "F-16D Fighting Falcon (Block 50)", + "F-16D Fighting Falcon (Block 52+)", + "F-16D Fighting Falcon (Block 52)", + "F-16D Fighting Falcon (Block 50+)", + "F-16D Fighting Falcon (Block 50)", "F-22A Raptor", "F/A-18C Hornet (Lot 20)", - "F/A-18E Super Hornet", - "F/A-18F Super Hornet", - "EA-18G Growler", + "F/A-18E Super Hornet", + "F/A-18F Super Hornet", + "EA-6B Prowler", + "EA-18G Growler", "OH-58D(R) Kiowa Warrior", "S-3B Viking", "SH-60B Seahawk", "UH-1H Iroquois", - "UH-60A", - "UH-60L" + "UH-60A", + "UH-60L" ], "awacs": [ "E-2C Hawkeye", diff --git a/resources/factions/usn_1985.json b/resources/factions/usn_1985.json index 7b53c2c0..e0610384 100644 --- a/resources/factions/usn_1985.json +++ b/resources/factions/usn_1985.json @@ -10,6 +10,7 @@ "AH-1W SuperCobra", "A-4E Skyhawk", "A-6A Intruder", + "EA-6B Prowler", "A-7E Corsair II", "F-14A Tomcat (AI)", "F-14A Tomcat (Block 135-GR Late)", diff --git a/resources/factions/usn_2005.json b/resources/factions/usn_2005.json index 1f463129..8fca7220 100644 --- a/resources/factions/usn_2005.json +++ b/resources/factions/usn_2005.json @@ -8,6 +8,7 @@ ], "aircrafts": [ "F-14B Tomcat", + "EA-6B Prowler", "F/A-18C Hornet (Lot 20)", "F/A-18E Super Hornet", "F/A-18F Super Hornet", diff --git a/resources/factions/usn_2009.json b/resources/factions/usn_2009.json index 9d35841a..004fb9d8 100644 --- a/resources/factions/usn_2009.json +++ b/resources/factions/usn_2009.json @@ -11,7 +11,8 @@ "F/A-18C Hornet (Lot 20)", "F/A-18E Super Hornet", "F/A-18F Super Hornet", - "EA-18G Growler", + "EA-18G Growler", + "EA-6B Prowler", "AV-8B Harrier II Night Attack", "AH-1W SuperCobra", "S-3B Viking", diff --git a/resources/ui/units/aircrafts/banners/EA_6B.jpg b/resources/ui/units/aircrafts/banners/EA_6B.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bbd5c99242ffcbdef272e661dc3032e3e2632ce1 GIT binary patch literal 135335 zcmeFYby!qg`!BxfP&!4rL%KmyIs}H2mKeG_1XNP#mhKo*N*YvD1f;t~x}_V=9( z+gJjCq9QAR4glaA8vzl}04YcCjgNo?Ab@B1n+yTv?)(v?AO1yu2WjTN`XGWdH^_?x zo(I7<4@eV&=XvmL6NY@pdjQh#gWcTJ0qSZ>&Cbii#lb7U$IZn@&CMYo$jimUN6p92 z&B4nrz$MI0{Z~H=8&_&}E)Fg(Awhny5o7^LUI92I%+D*pD*ynGKoj9s{(Y8LR8^ta0yX!3yJUwi|`8ph(KsO8t@F{!G-hY{L53gg?}IauPwb@yx(W- z?(QtY$?53EVQS%I2IVk!a^Unfb>`&e;Nk=xOL#k*n%hC$sm-8PHjZMndo3Nb)HW7k zw7UGNT&m7bpw>1DzOGPB-=|vUzINuq7PJ!L)Q`PIyd9h!pzfyB-VXMTZX(`dw0FWq zKpNi6NlSg##obPf_8ADx6DLRwpbS?FOA&~S++PyFZ(_86nd;@` z#o@)v;pA$?$t^4_%*n;W$-~1A_F#AOadbEJW_NU>`&)tx)Xm)0#@XG*$&nf^(bUYz z!(EIP)c?mY2WM5)e+2)R7&thS z$jc)j%q_@g&i%I>MMpPxQ%7?sTn;Fi!v+*$X2!!MXu&1K4&@fGWar}%;$}DF=jCPR z5`gju3kV6CSz4I?&9CNa1E!Iw{lD7-mtz6SF|`mj=i%Yv2NhfJv-9ynK|9Qaq3mX6 zmb`qReZm&J{It|?5JjZa6~$ z+=ASKLIT`8V5ti5@bmHf)k6pB>IS9;T-aT4(o$QPi^zeZOu;zYIG9>NIc=SxR(Ix$ zJaL7Zx;wdQIXT&j(f(7?f3B&5S#4qJZYpEy4h5zCQ{h^FS2!CNuLu`tFzBs_s*{C{ zrO*FYS9l%W1y8}o4OHv%S50U_UH+o%ZK&@uQpD68p5J1$Zl<143);UL&8@BKYShes!Orq`PcLgI98(YlFbmkZgy1Ofal!rP1a0Sp7vdi`IR94< z@2>q@(f-{X90}m$KLd+6^?#24An+dq{)51O5cm%Q|3TpYe+c|*X##ZwXE|Qr!sGTA z;(Ns>PfXMyYI2Gyvf#=R01$KR%^lp3B>}*}(cKjyFHQYSPoElX9Y6(FmpA|&KxJy~ z=B%nIr}g(D>wiC=jNh&1fDv}MtpEM`f7^m(0WLwnB^@=`OVZrg)g7dtgS3E`yEB}A z2hxP#WX%Gk%R%~)D`+4{Pr}>H{?OZS+UkymFKhuqS1rgB&^P#smfGsyXtRH#&8=M> zz&?CnA9@Q1M^HW@e0>Sh7I69noOZDH0ByTF;Oo`p4@GKz&AnuZx6VT|6AUF z_-=0i&HvZi3&8DX01q9(8gUQ_0S`dLLqNhqxcvf9g0Lf?fSTd>-W}lP3=%Rb8afIF zCU~73ZWMs@KX*VvMgcqAP6PLm5CBA6BwVmWwiep1#-w8{5DOTjB;yo$pa{UD#Hj*8 zDLKrqGzbq~>6yOfy+k3e!u zTjn0fq0q8xK4;^zHvAHwB&QS3fcXennxkG5LluS8J6IM4LqWrxb&BVK@r2G-J4Q{Z z(sPyW0$o;1AvqmPBIi|JDaf}lhzyLaPo#0UCN`dd6iIVYThAD)+M>U7&%@9udAr0Qx6#tjh<@b<#QC^7eig#>yt6b}Z-Tcc^FN1FUFtK70F#H||R+brldjb7c-_=>1CVzLEmZAWjCoA_&(KSy-bEq3V+a zJe@DOSjbpXX*6VHjM6De+N!ZXh8B~hXocj^B@yp4#ND8}O9t-s-V}HiAqnN6S>zUQ{+BU1NxP%9JQ0o8YWUCj_9EAxJC20vaVbp!w{w~_d5-GDjKq?0z6f&|ecnbvW9d~qJ z%hz^x`$P>keZ2G+m%lK{9Hn~lOJlW9kR14eL?iujp1Rfy;YnPs%404$bo#fW>SaI2 ziR{DW$le7ZW1uRPzlXYe(-(zT#;_?Y3CNihXe9;<@N7EvkJ6*l$g)JJ^6A_6#Lrs! z%N{If%$g9L&^I)dSv6()7-pDo+>9*o4~(1o?CYLYYb%>5n?2bP~dszOXQ*7)^xbfBZbvn zzM+4@Q1|u?mwkR;nT$+Mr@p|BHV;*=G>T9B>0^E#Sqq+KQIYiO83a;Sm!c7L#+OP; zk1aFOyFQ(YmK}DqAJpWslxm90Oi;NwuS<;G0^BE}M!sGcIn>O-NO<=E8rm;(*n9%2 z$n@x)kzCTa_k|Re=$A?Fr^gFzslVt+)9TL6iSl4TsL$Qix6J8O8s@V#4p_nszE6fs z9YT%zPz09l*4Z~2NN{{Dbx0-ek$J&i<>qX^mDZtpb*SYRz-m~=ifM#`f1gmeSdQjF zxb%pUZ4uNk(~ujTUFOl(=QVPyM2Mj)UVs9zl4LG=C$`Yied1~PCKwhLirxbcxl3DV z{9xufbo7^`uEoT=`;}{FRW%zOi5CXr6^!lf$MdW8LvvXj15Ti8y!)48zWO~pton%f z8b$qv;gV$*)wL#k8=9;kHntT$$$h4U#Ow*`lddo8o{bt*2H-)hsKg2X#7CE3H(k-_t8))3f92br{)o)pz%S zF8|emUmGKxkPC{Z-X||Q&_wsA8x~jdqmG&6Q_MY@JlGO2SNq>=yZ9NkH{|wxT0ijE zYr4qt@`6QpU1+t4J+Y`B>QbuF>M3#`Y=HdKkSn4reUjERuZJ&VZG-%ZKtrFERt7_d zL+D&&VX3{iT%2k1#Brx)-BEP2zQ8v#`tx!Zf&XdO!Nll`zRk+wD%Y6y( zwe)b2Un(KLlnP^8N~jT6-e^%?4Cr9_FgzFdGVLhe`amTtC1S03?8QQk*>z<@Sa-Ij zX#20Z6VCjo3-1M4Z{sd3f3<#_-CIC@^Yrs|740=zSond!FH)mBxL>7N7M!munUSLliM=S@}?ht!ftJ!SJu zW0{2I?3KXx&jST_>?^ynE6zpzDUJfUk4=siew1o<4M;>@BZUVL92uy^9-XLVuC6WQ zfPoA;4HPYDKD~FD9kz7~n6DiTxP`4*6%PIuH53!hq6|J255zrgZI3&5D%?~XxLH~= z*^+p7E_M?l)iqU+8uv~hO1~=xoW16OGf;%@lJ+oGdF>YqgZ^q)r#sAY4;5SIdt)hA z8q{sRQh#Cp{WSr5ZsubMJ%?aQ`SJff8T-tM05+RYOmrvr%*VWd^@Vx*Ji z%*)eTAnVv^=7odui+O?cL$RvlK(P~2tF;Bo1+iTZ5{W3guJz4ztq3pWQT_ z2MTo!I*HbQ4(NJf=;`fi@M?-;fpeX6t;3)W{&tETmKvJ_f{LDxDM z1ALaWchbmj3s^08IKuoqd?<^bUM;jFySI4f7FgE%iL50^C^Q>h({z4sFqT#~aSBpP z_ZVQ?ij>Nkew(Ni-&SW)`OuLbW-Ckj-Mx&cln5hfJg>LtqIH_2c%VhJ&BP#q(jw8z ze(HQ;GMl><%t^;Hiu9)+_`>SL&O6Gk0e`jcSM--S@5ZlF-yPbJ}evf zIqSNxZbI<#@`iz8|NV?8r#W^n&k|W@*syY`dmcKeJ?Zll()p>w%k-}9qf?2vjcrce zmZ}y*k*>Cpak1T^4}0$W4r^*#LTD))OIQAT?HyD*M_p)Qr7qa~wYy%#MF?G0>|SI2 zvfnH9d6)b2d7UyDeb~)R zNH40&UL80)XBYCet6ZBOzgXV#Y^|_*)1LBqEk?fTSZ(c^a(MI5NOdVG*wfoXqIzW= zr|R6EWO^U6s?TQ^-+N!Uvat;XS2{K~D9%JT#-H=2pI=zd5m*0HF^zTidauHv&Xzg7 z?(p~T6oQDa0~}z70edQEH$`Xr{)S!o)0It?#hGroyp@Ubt`0xQen7d~^;}v_wjSsd z(ov2U7qZybR$<#t#27PCF-3Luv_5Vxa%%1GT_D!$e(UL7tJdWeaOk5ed+wG0_OVZO zaIrVZ%6&7R$sARO9y^?Xl(-dazDw`udeG`fGRp*W{E3c zPs33ze!1oo|C-65taKU*GR;F88gxY5;2sM^qOz#R1>QX`c5jw{w>iWu`-*mbJ36&8 zsg8H(nRXu#M6q|Qbogbs$ym&DjT4h_+;pP*qzU@%a9Mc7@S<>ZE?Us|aZ4smcjiK8 zZ`MkoFjG(e1kPMQjP0fgPL!vSjrFr$pYk!~cy07CUPX>ywWIQ7NImA=W&RZrscy>l zO^k_0S77yI=iUUCT~ofbL$dCrQFWO(8k0nqMn*;eSP)ghX{BhBv-uBftxcC4eCFn( z4%(iEpWgyjt{&%AGlxPR_G4+&g)cfI3dCXrE!;(oZvhha$MHV`>`+s*tbBLh?>auZ z=Z3ucYx0G`#oF?P@Pk#Gge_q)pN(bZa&M1y%F4nF-{v>Ykj>IAQY$@;MOEK;2W4N9 zlqd}27VU~gEoPgjE%LeTbBV_i@>i$#wtuTatwZ=bOoos#&?RxH5ik;|d05d$G2q<;C%X)O89Ai*Z{>L3})_IVRLTV#j5o-&Qt zwY{^As~q-jR^t4p90F9Z!SO7nK#I*1vGy*a`IP!~4p|eu*2=x1n{2mfHKo<|3E400 zq03(@U`36>;+V&xj~zD71G>;8ru#b>o;;d&jWWwBk?W#kj!}kes_ECTixpOtk9{b7 z#h%(FY}KFLcIIevv6pT{OK9n_W-@||Z82;X62~fofROkm_YD>f$H}2TcFDe2K*@fa z%0fl|O6wT2p3T=LQ(migJ9d}Rp4pnQg-*)jU? z2el@!>C1)u3PMe7L0BS%8%5gEo6|a=T>98a4c2O+%lUJ)L{AmcU-Dz7qOK3m;>&qs zQ$zjNKEtcWOH)6`3{#sTBN85va8k`?zq`O@zLZE=<;*>Jd?TuxA{?k&eH`>tyhZ%r zaxzeY>apv->x2Xjg{#Z+2@~&jx0(6JFOurnBQW?w($^pr>R(oGu=|yndIDaU2kISU zi;DZLpQJdIol<>0;u*hIX1lLD(!=cXW$f^Mz5aCaRO4u42O~F!u^7Vq#+Fmr`JUHS zyVdaa@k*46oPnnCu^6~3VMT^nEeUhm1 zcV<10GzT72KBYj}aIZ6|TC=87%dPaAGpdiWHQ^mPtnFT2@=7*zaiU8&!rC{1h>}Y@ z4A@$FZ>(~eaV4y4lCsOW7U&Y|a^OooRij3!>fihIP@;bP{Jj0qUh(ww_0#^1pUbo4 zhV%XWiCf|@h0^E6Ke8k*P2yLws@z0R9#;$vZ|}5cTaEu($nENlJr;csn7;7I?^=y6 z<<(&ac*Bx!8>?RFit6i(@e-L_%O5;!i{YI=y5KDTCfjS@c|UmKT6}Yc@%76msAPJX z?j#B8PB$@L=EpwG4PD2sjvV>~I&n@6k7pm&k5xn{lSp3}i3c9P*g@LznXc^^D|Rg~ zT}tHvTnfAl$%E@dFX7=s4&Ybp z-ur!Uy!U4F*eY(rT{nHMsf#JIoI_Avq_*Gwoat4i7}AD29}{eN?H17N9~BSN$y%nB zd*U3qTZye4(7?eKsz@2lpRlG^ZA;;Z){>cGn2aNo|7zv%1*_8M{g+Tz%J zcJ`91^Ah=${!GKffp8|NSbSTSi68>H9JTcp zjw$IYQW{!bAx@KafV9W=>RNT_!ryAi*I#kzBH+{{y>GOBv^MqYX$(UY!NyV3<=DF0 zTG`r0$!qIz`s@wm~cWxQt3!&A*5#r&+T zE#Jr0(N5ZGO@8pK<59rGiuEQ(EiMgp=Y8DQt9CrGFQ=dBy+IU+LX(biRS%{o_s8P@ zf`J>!r9x6Q8{C)bv>-UNp3O8kYwYD^<$b+iSJ9@s?S9;0S5e`2ZG^LNnoXu9toA?ppS2~x?ys`dZ zji!9(x*S4)x&ZMjvL&B7KVhy8`igW1#gTVYvs=%RaQ^7w#_U@bTGm1_{2qgkgIYAG z50Yt<^)N6BCLT~L7UZjR-+Ls~X>Fe@WAQu^FGy9c(^Vt#VevXZz=DNRlOv~1B!yxD zU=kuozeYx&mP79(!pyL(R7xd{L&vuUIP%^LB%wqhE=Ts>INMbfctk@C z{yYpIeECuVzneiWmsm!DOAg!&e6Rg;^!t}^f#KJ3&(ULF<>78i6Vgj}lfHVt%S%r~ zJt{ZL{Nw#6Qoc@mjkr`AQpS5Ddm+dO=;%Oh;&**~Wg>-FX0rDf@MZaNhcvMgv=oXN zL4y>eNeMQ}gONaXskRvxkeg$}-)<96q$P%Bgn`z{ATLeE3{Wi*MPlGOp zMd}d#BOP5m1anbLLec^w5qwhg@+AT~5NC=ggG>#|dWEhShc#3~je$x|2U=L?kz7Lf z1|4_(`Oshpt&koK`llw5(9d|Uaf3xd-##Q|BfvPk{2fdK{ae(@J^Q1B2h;Q7Kbh!XU3`&J1t{tL(VrU$t*1y zWp2mw20b_kO`6P>1{!LStMgDjx4ImT3i9&_aKoJw7eGKl0T2-p5s={<^WdI50v7Bsv{Ex0E`GG`I(k4)#GnL5!o7>89b4iH#?aw&=#ES8(ZOp_O@q zPp=ZkV-cIW&8U*f1Ac{{EV|?AgWqIzPWoYh{Xo7qG$3yRqY7L^JVfRVwt_316TDF_>6wICj^WIpg4utTR@S3F}OQkqZ=PT53cA=Fh1Cg zh8|=EwW)wcs4BwX>KXPgB^qy*F2TKXxL#1?;0feuyfsLf&6cEYi@jA<)Dn|FrJ4=s zf++ow1eynTKw2g?j;0G#xCClVO90g{;1|-XV$jf2ppk>Fg02V0#^bA{=JJ5Dr4=N4 z#z&nWPP^ihHZ-lkH#mIoM`#6iq%t&iIw_kov?t7VP~!~VNzY>t}<|UK+oYG z$0tB6?l6OE^q`Q}=pv6@DjwLrj)ns;mp0J;gPNCSmtL|pf#RKH0G+}4y&UUKfirYL9>?uSvn>tc2VRe-7g~n% zfl9jI7tcV+1ExF*ifDfXs$wKC`e7u{2SqEy@qrqT_c`OFZ2&Ao5F{sx?KtJGt$@;<=ya7fVpWNjp z8caTXMn!pYcM3GAn?ETAcNdNXqe5UAsF>F3J?NK3ch*<2w|*G#5G_RuZ5_Z(0Q<=V zm&AbvW8h156F_Xiq~RwI?AZ1IEu$e+iy2JRDpaV87Fvo{!~ioMG%4);2>}G2t75@$ ztOLV9A$;^fIm>UrAcDwG!;xnU4m)@0B6k5p8Ame+S_rXK0TE7sCnY~4JV(&GP>Mg! ztPTCxa7f&$ew39C{c%s%rhlnknDB_a{b`Oi96;>gu#1~6jV_JRyI_Fk6P~~^poQDX zKraL?7a>ZDim+|X>EgPRyS%@%5uX0=3JW8TV}L_uF{+d(tNBfkuEC`ThR6D->eQj0 zc<UCGo`rHyJQ$U|V=T7#KQmRLJFd z5-$c~N(nDo9t#jncpq?c`i~9p#0C4+bbNw2Le=TlD8*k%d)u}Dj=uGH&5-WZKQ z=ejJ_vixZ`-&RrIKKD1+!teqD!3RwQPgINWI)ghFM>7h~dw89Jso{rX3PJ^DP!~9A z(LRBvi3~hr?#ddBP!hQ%2h81f$GD6QGZVFP`WAQ?rR3;Ksg~6gv7$x^weav|bx+*| z3k56!uo~fT+!-C1e9_ShiUZ5c1suF+2Ei&%06lAz7)DqQ_{pwK&Xyo1N<_|%yAbSRC;p%+xH%jnK zcIg5G2@-Jk;o9IP!Bd<;W`KC*MqD69ud*X$f2Fx(Vq!USfxCL zr@JIaeugfPQd`g?5Qs3U#ct5_RBkpf2s9um5-kG9Nm|Rhh23RqV)@tN_APL%?Vh`w zN$I8hed~qKH@$D)K5v|1b&2}fG=JG^oVmDPmiWGd{dXq|kpuzDqb#B7-2U0qSr5Z+ zJyjE(X;Du-_juXJPADPh=Fe9xIhfE!R?^fSZgbTpM}{bsbhv2ZGrxmAJ2EKdrGw5N zwM3ypbZyHsY|kQCYB)n0u6UuJflnmaR2xZq-!9Nct7k_cVT_ov#PxL((DeSu>j=^8plqCV^wm)F9WUgtb1xfrb4s%ZmDRc|$xU9L%@0OhHco7sZM8Kl6<~UNb~EWRKfcDdvuE!q)g^Zs1xEsg zKcn`aT2)aRAlj)~b9mdKeWW#FjB}vqnc>uZ8rAnJh?Wu(8m*dlxl4piFIwqC7w*FIYj z$dgqE@3_Q8#6@g32Wjy&{PE^B`#aYGohIK*DsLy;5dTO?(@t!3;U!nb7@kjKZ(!+&`v2@NEWs7)IhbCtKm^zdL2u z^y^1`|DZveZUyJ)Y1M>k|87}XzwusGp6+t1Otszj)^TZ<%T{txAHB4`Q{{QoC&t@o z$-jrvKO^du&{86U_SmbhN0$U>UoOe|NCYx=1a|_Y5?;BE3C}SmAeL7#?R$T{1$cf9 znM5?qIL4%&5G@qV@hx;i=B~?iS$EjZJrWo66DF0C7{lsuY$-oEK|%ysG;Ar0Zx+kw z^vJ&E)rnOXGK*Q2E29Un7fN7$f43p!MmaY+dA1ZimClLe=EInsaD$|+!>EdO?XF*B zSjd)Nvrjam*!Zz2D&hNn8pVe&sO^afOITCOQ-Oxs1>4|h?H^~Gs|=ZQK4~fu{DtM^ z%B|Tc)dJp`@L0T|;F!%@Nt*?S@A$uNtni!3N{bh# z?yFD7egsIJQ`)4){L9WUR-yyby$2F3Q98OQ9;2xNI&*V8m(j(1wY8}Uc^|(UR$w~> ze=R+(-)A&RYn0DbUQgK$kej%NIz5rzyiz&eG;nI9qm!*&xb8(}e<`YBnEqXGvvjhI z^(&i>f2rE?EfCnl;$~kG@qxg>-so$vMCN%wqdJO8PTbuR7nmpEs`m?H$88w_cvK5evMk#Y){Dc5vwve{F-wzu*zH%701b) zT)YuaD<|8YUlzI!y#;a(=Y1y^o76Cz^>6&VzPWkpoLsdNS$c++Sq1T>`+Kq2>8h3` z=@)c=DypT^luoBW5wsZ?n*XNls|C*#m3QzvZnV%U#WRz*(mC&1)U?O7-=7=w9r9m9 zb}$|5F*?b&Prj|vdIM%v9PLh-9^qk|@mg9jTJNbff0okFT55XPSh4^ch3bah{04s; zDr#-=Mon`hyJgiwPC9ePul&0kewW4CeU&CD33`_E{rgU+EM8Qsc@^T?c2^YgzdeZ7 z?Ko^XhB>mu?lsT7Ww+4|QGRWx#eL`*p~E2$2@$?rCb9b<+cY>^msUBUot-JCt*j~> zBD^B}%W8(eG)6s@kmX$PUJAR8#o|^C{wZGXrM>s5?3=cOhUg3NUy*@0=LQC518*Le zWg5qP%yeX!laJsNDQka+xz2*Aw4Ikyji=nq&{t*i>E~F~hoM#5N^stEch`qc6#mS- z;8O<>EMYnvpW2UQXx*YO+|YX2RDEv&`VH4e;~1kPSzZ5ej~A34bMa=seudXzXfyEV zh1apTPHR7PigTY7)_3gGXlriRq0zqBBC9VOyJ)xt5*swO+;4a>3zeSD_Z z)(vjW{V6&1KU`)q&vOQ?7Hv6P&%88z*!8u|)gtUm=d?y3v(m={M#5qO?S0Q?X31Zd zPve#e472LW=qwSyNTwiJE05!9r=Oqr&bQn%9X?Kv!JXQ8?9wm=ofjn)wNWr(S}kZ@`}beMg5^Q`zpV#{gDb^3|R+EXXg@tJ{4 zOVfsJ--=&z8_lxgnwC3uRtCO#-zpi!njIL4V+4I_mmZT8k29hYV`G(C*A*{KYdG6L zS~2HbI3Ved)I5S~l}7yV-)E3O&Nxpbd1X-^WFB$*_+&Uw0(mCijV*G%(h z-Pw&k;pCrQKANH$BVV)ow)fkU{DYOunsYw{i;1$uqmxnsMPf#z90I-w{pyA zr6`SAZK!UmDT>zN>iGL&x`~AQx#dXh=4m0Z#{O@6=+g4mo|#ecOF;|dFipO zujLU{i%*p?D~yVy)8a6l@-PxL(*go_c&#OvD4WM4h$sZ+`_l<}8blsl4;WOaS~_72 z-2xcH>;a$0WjM`^3TRF^yd$Qa z%O~N1YigSp=affeQks7YI94@mo>$@nIMQND($HpeIwg5TG>*k z`KtC?|JM_qF%SKl0G$>Ig5C!d5>Lv<4XWMx(;vE@%=J?(+YC2O{EBWlpYwQjs*^5I zreBgSlE7GFP_FHPSrZs=kdaih%AtFzor)m9%+V8U&|+(?d`)X0K=Dn0y*<18Ay$?g zd&>uy%ZK6Q60n;6wJmgtZ=P`U8NcCtilW-hW+VHP(g+A7K$bbc=&N?6 z$wRD@bnT}TedJjPb%$BE0QIzIrsejPpLX)T!?b}w>7z+S?`&DQj)((!glpkyL)O^h zd*i;^Sd?MB{`ISm9g0@jXGit=n%*x8_l1a>pd361-TT<`Lepcw$*1>CKtj-hnbkqv zwhikKS+!nGPV<(Qu%)(uiS(5OaCyOi$JSzY-Rj7B@7;|4ylqACRoE9p@yfRZb`?Ff zZp60$XG`yhrJcapj3Fz>E#L~}J})g^hMjYy@Kmsz>kKi)=(BsqHYGX6NA@`Adf6y? z*@hd=<*y#`88p1#wx27#7Inyth=>Ytd=d?=?e7NjrI_Ptvm4bpiMOIyu$SX|ks9St5&@acDpoi9lE2&j>-AZ#T`Wx(|Ddr6$sDfyZl*MseFU z*Iu!4M(q}Vuf2z*UFBu|mKYr$Ld38NMIIWiX@o6jahjHm{x%XTSlgZ{tDM*DUNU%U zZqvN#vU8eltMoV|E$kM^GvvC==nFZXbw5h=Z~I}lFrg!}yRQ;M_cMEZq^Ny@VfT1O zX?*n-@OQ7=ouF0?pdC}zRKBYp@aA_5;2iItR3*&V3(nsgXhBogl7ZJN>WOD&E{hkZD<;CVJS<1*$KE+V?$x{lQ!P4e3Sl8Ld4@pzivcJk7 zDQ_hVOtx4?OEA8!G~oz}`!RdaBx*uz*WfAO7u8;+T(f+5;>+;4L(#Wi8*O{dXD&?9 zt!sLBFTUsVbZK_?Xds)0&Z2&M=+_p}Kz3{Al%h=+LD73DTOHauBtJyaCV1$FED%?Qdt_g zQ`Dj>*V{82icxcD`MK6=8N0<+*R>@HK7Ck9+wmuSzPEVf(C-t{9`7#ZAY72`MGkSN7Qiu!I9u@C%7B?pX>hxaSMRU?5;of{}TnU1%3y1 zA^fuu_qWaPM7gWBgS!)l(9#vCy<_N)Uw;o?(Gur|e~0rRrbRKy8SO37Ui;nY!D>%+z$9z!Rb@nwAnBt({a2X)iTHtSq-mAtx?13q_036ht zhqplLE$|%-&r#q$T-hbgEzlX5av{-q3xwQMf{ePifb31oQQ(2Z*}|36!O~U7)Xl(+ z?pa_M75qnww*bzMuUIX z{bS;tl`CBr9aFc!P+$!Bghd4pe8Pf&jEahejE;3AVSghY~NuJMce#G0>bo~Q@qq0!4|nSbU>sJ(mq0{%Hd0-?2v zMYB|U#m87T>F#5%WV7ev*7lxmBMcG*Z@NeVuQitSoKhCReipxOD?Ml}MDr)|c9x9E zDR9(HQT)iZDUCX)Qp+WL$&E7e_52)-KYHi4qc zK(?>O7a@LcL3=bmDL@L1A)v}rejj7Wve`ej?>yUkwnt^mii1-{G(8`kTfUj(XRLJ4 z8WHOXZVpi~_!vV9b~Tw5CL=T7Vy~b`LA=1Wr?6o1H<^&)(6U(%HO)_INR?X0D{!xs zl6=%q7>ps>yGjS`g0P35<63RoFu~u9z3%AxS+#%0b`^km1Pk$ITQnwrd`vzX1tAQf zQP}!b{cMvN3qlyIgrWc;Ok!Fu*UA#NRiol(dciiU1iE#R zkbt)dN7~1JFrH%Vb=~8hB)T%DXc&c}$TAD2bZb!J7RiT4UYni1nO~LSO4W3~nzic2 zXcEPs4CqKy2fdChV1cN+kZYd?Q2BC*N+;1MOwcGmz(%}@e?-SE<_6k@y#{X zZ7(!tJ=g6o_bc}>t6sPygzY+SzK%$QX_j@(7nJ*EiL7{oSKdS)fc*#R4V(ru6<8^H#!q z@T@u}s`ptCCJxdSuLR0a<0U7!LQ!fo*zV{Fkg`fPl%_t7FMzQs!9SkD#u${6L?@t> zWQB^OgfLb$7p|(Ou&n_v21STgqK8s!abu@ufSvTS4gJ#54Ki}F-j9TQ9+~YG#6C38 z=RFAqU-&qpa%6{=qZmaI$FqS_>t43iV;b&Pz`o8L0pulT@pN$~mq4C)w7;wRbuwBY z0y)pvoob>I&@^SVum$V^4A=nzt={*ykLT%FbrGo;l2A zD%OaIHy*fLtUm6W(0L=d(CsU}cXjq~eeB|5Z48sa<{qc2TrrA%1Wd=zC~0aJ+nV{h z@z|1R*LUSFA>n6sgTF7feJt&yr0^buABcbuG$W>A2A(FbILqNomrK?5{%#JFY(70+T}r zqjRcXKD)mU<6Hb>bB|w)#=?yifo@dv+1@vyp1P@0z0LL{x!6^|bG9M|>0mT{Lgq2t zd>AGn5hfuH?3rmeNe5ob&H5?rXI@?GS=56{Q4300BMBL{Vtb#>&KKu5%1A9;IH%GV zom3~^H9BVlOsR0V#J-eE;GW(n2{rs+ro(x6HI(uGkP6W9hwg_QXIwFOM;9<_%*t;| zDm6!wbX+tT11$euX9SIa*cjZAjmbU=Ts0q4cbYBO*6m!QR;}{LZU*z#lQZ-G~8U(BKslk?_PPfF+bj7g)!Ieta%`jS%)?o4n zvwP&iT`feAPjzwbI9hp~VEfQMqFW58fwWE`5*drH3eSb`rC zQ8MZw@=iGBkvN3VSyzpNiPMuM*|%Oy$tm!6{k$7yR@eva@aITfe(9(l%zsgLv*~yb~Ki z=AVe<#Y)K1date@QIQ5xos~Xz$xXlg(e;c?Ji?(lAEsGAc{1ehIRd^op){QA?UI~G z4_jo)pu{|3QzK2`1n%<-spk%AHCoidiM<7iLZ4PEV_m6tFokR#=!WV)ZzSq(<;i%j z!czD$U+zs-d~j3!bhMi+DsD^ef`*W)w@vRvN{usmHAK4PerPS1U?diIaHDNqqj^6q zu}c1@wfKsOymoXX zbX{P+j_o6;f%Qh&b6KwEJT5!(6$FustWyp{A_7~i>czsSHR+0YZ2=#S0vf8UqCGYC zn>B8M`?{!DnBL@b+F_o^%bIm^A*D0pews3uCWYJ|19O_y;)ka>LSxqZvc}o(mvDcr z!MWEWUR*_Swm@y^^6_~aIK4YyM?zoU*y*x4&m+)b=3A}I5Xze$rF#{klVDr@Bj71s zw}e#F7`d<9TZ^+U;irS;PGwIE)h?oternb+6y5?}GCUGQidoM%M+N%w-hqFnIWj46 zcxWO+F|78HCWq}7NLOAs=Nu)v1^TQ~j!jBfZ-KN0&dt!5?lBEk2e*K>c?}sMg=ML% zr8(9N`59Y4C`|Tr`v-r?=+3=r-{jwx$Udy@?0i`hJn0eBtBo?Is83}U-(P9V2~0@u z=-~M$TyegNr;K@jz2da;nOn#~`v`@4GVhecNhs#EQ~uaMg?4^O7yE}RaLh~Ec{1_JL*Qj!8N>n$SYCM%0QTD9d60YP9q z=BVMoa6j@@x1`3;8ueU&-VL+UtfnJ}f=O0ktoUh#LCWrk$IL)8?eU=U2aAenj;O2= zhC)Fsgk8Oq1x+ukePR=8heEA|oRGdFhzigoR9zU*$X zQhGM`bdkQkOc0{$>35!Ng;9q!#TWK3fmviX*-BJef`@JTJJ>n;4|d4Iv%B@S+(%iB zY4bNy$Uci{P{g9ndX}E(i^#_C!RnKf3HS2>!sT2H~g6Jt=)v zr7=<)O`H42@4mgk3Ma*8-c}u>cG3+Ud%=XO5<+8qJsanRSVi&O^$_CY`pMYqm$5->nvj_HPmyIpO2FtreEbBjPj0Z zB{9fs_4%^)V#n7$VZTrG?%}Zd3(P10H7(ZvwK?9)eVr|=tO2EReU|2W?nwu&MQZ+>Rddw1>72vC;emZsKglb?>t-Be;>|yAz zQM{JC#`BY6?Gb{kot72gFGg{7NO+pgVtI=G9K>npw4 zjMzV&CYJZfzWyi?%Ts%UwLV2ux_{eOu#uF*VZt8enLpkL@wg^TV`ZEyv5G9ZWInav z%`276v*sc_`VkgrAY<7d7wsX@T;ycWZbrYLtwYF^OOEo8bXxK zPKN8$@xGe5gL`M!yrAXI8PiDZ>)sDx!?2;*GDOa3I)ukA!e$+EHIcHV=--!_Ot~B0 z!el?>ps1tdb0kvLmJ7I7PO2?Y$GS{KHOPwuwJBfb~m86FlU@y=r-7?cNh=S z`_gqqBVH!poiRXJjx4|Z1eQ}aTxb)h@N-C`Xk#gqlGOqcoqbXc_NxkOQ)*^j?HOGu zzg#0GnogHp-K5<}ogQl%KkR{dG4|8>k;Dh$&CosP9S9=;CM8}eMn*3oYV4U*&n z5O>P6sJH(ISzjF%RriI9bRz?lcOwEbfP^3|H4F^{NC`*@ zNOyO4OL~vr?>_gR`#j8W=A3=@UOUd&Yp?abYh#TVkwLn8VV}0K^f&oRn}l@}er0U` zNVA@?EP4E-KEFe}^oXE2Ui_q)XVeW{Qx#OL=`QSHD_8OME_Y5PU8r_f?dY8M@fTs5 zi5s~#SgfUdGF=S08~uYNk=IasZIfHsLP$0rTJfQ4p|x)$-Gg^{@!D!?yj05YBK__> z_U63@lSGO!#|~S9<;Pjy&S_rEYe#pZ`sDC1NLOSdm(U9dXRdE6^hg?djPcaui*1_W z`Fa&9L|sfb&H^%(F;t%sh-xjH>TN=&s)f9Zk*b;3&68!7CBC-87i2C!Ue!&fhw0nD zMRt=;A&1@yFFY@gC~sD4&}VDRH*k9fig+uFepPNO&u< z>jJg@5q-#?8@YiRDzu>p3b<=A(PcJsRhw)U?#U#iUt%A}J;o_1PH{Sh;H2Y=FjEsW z5a!#xvmEKw@~OOdwc*1#3A_XM1;|;X^C208_W808RN)cxtqPmXKI$*RnMWg%8!N4{ znrVH2XbE3}veomAE6EP~H4CZo734Kyw5Z+{aA?p39Fbvy9eiky2sdKau%p>#N1` zbJRzwp4mHEx?v_fxcVzokVd*j?exrz6*N5EE0mrexb zdu%wEZ<{ViS+UFP1A5pBpXHU1s$h|CqIBe?Z+Zx_er00sr=; z)9=D-$zOXK#Ug#}3MUsysv>rQ$S#3T9asA&FkW~=dATi8A~@%}W1DckPUg5WVq@Dx zYtm9b@lHq3tC&BdNIIjNt6AeLPUdf_jV>$V=oUnT>9kduRrK`uF9zT;!O!x@6+rynez_=z~#QOwwyW z8^=5FBo50IpXW=x5p9S7uFHYWw!K}`_yJ%M!tr{oYZ^l>HkPsWK{{W4?U46+(A6<< zBO{zYU+Mu(5*EfLRTttaRkD$yQLoL3zoVBw7u!@z9F+Vye8IgC^txlIj3d|x{yEzL zzrt7O0LI&#nK0KI7m@cr|_X#)cjmZ4D2w3&8jJdYFAkkp&)gBuoW}vXjw;SC zbatzrP)pgYA_+?rA z7StJb=1wFRkTJ?a;8e}*^e9y+F?_}WgG2#`@qu7*OtXJmT~&O#KSuZf_y(_9^j>Kq zZtkmi)8sbxCvqI|Qkfvt?8~E#l-bg7(WJF^do=mPW00Y;L@CwzX7aD$G&71i8Oa^= zTfqb!@rd8fkaK+nMAHzVFv7m{xtRkhA&jUWlmfH)s)qc@w32+!Xny zw1$lW>ZDI(Gw*o$&aWEk#{7=v(DSISI+pHj>~r~Ut8a{nHt>VS8PQ&hm>5#R?OWyT zTjO=SV~!>byRNaBlapU>h@DS03!yLhb2Z@ieP_vEj4%c#u?<&ilvKIHT6MP3#|v8f zSS&lIak9JvwEwI}wpXr0SLQh>Q6a}p>o!?N?v|Y^oWsijdIh&~{lo|O+ zMnkKOu3B9HNqe_A&extu8uK{JHA(Iz5A=%37Zmo1v&37*;T}n6STT$b6xKYqD}a z??T>JpeS9jL^{H1Ee5Z>0fPt;agMKuJX<()`|P8uyv62HI(65@hlP@w27UL}^rOn& z=SJV9Oyb6*J3*_@zdq&sz79OUTXSUx_*ga4;e>ofvI>)5N6Q=xBsqJ65G+a6-B30; z$#Fu=plr{|1F5{^ATj$0ixa4uC8~rzrm}G{_=sUzeJC*%w?^flyGld?N4ZZr@(DY4 zp0CD?sM3tiCyho@Wx{YGjC|#w?BE1*vnDG2{rohRBld~9rwz<2D18puzG}jx(o6bF z4b(-I1zL?|pHU88=!X{CBW)m#2W*trU45}LQd9Vz9j`KiFpcMA?;vb5HtCt;`nxC0 z{dy+aaF2+PjTX%5l#CYMBagor?g+0BYE$yxpjjb#;ys}sp>TDGO0^p=CcP2G-4oef zGg}c*Z@#8!X{!^hMuH@~&IEAtE4QojH_>JB3^IImwV+pqtMB%US37SOgQCAiY9LL= zVjlO)+QpUgzAvrq8n*l7>_|IaHhe9oX~39$b*xYX8v57w4ijy}PcHZY$lGCx1oisJ1PU6(B;tu8WHe;h+D?BuBcLaB< zi?Ouv#oMY;)keF)B=$r^iBD)Th$6f;TY7|ZGj@f#FrMx`W&G*ao1=OW6_ZDR(=9Yr zGC`_pK&- z0ku2wAxp=Q4gWkxx*=#6S7?ntjcx_Gl?Hp;T6k+zzI~`|L?(s6Eru(Qt;aW6(yhON zKgPG@$Dg4YJ|f(j6ODJIEyQsep?XOrVLct9EazBq=h``Hsw|xBz9TRO)oBaQ+9CybIFO zpy>0AW{32dB{msCD)19q;Qmf%9gW?sf+e?iQd$F+(NPbXqP>U@U{HDsrZMZb@wFb| zQ<-NyxTG2lSZ#8Kp=+YTWgx}j;Ft#;g3xC%le?v$dsk7^y`oJ9UEn#%Nzti2bKc7^ zMKo9B6e4Z79Sc@Px*2$`pk{r%&u~`ReYeQs&sgdEq6o05O5BAMZ9nJU(L^1HCHunH zbw)&Fg15FKT>Ka!2+I;{C(cou_j-*-5Z8>|M+fiSAMyl?b+~s~hv#nT6^r$wzsxgZ z45=Xqe?%aOR8!}l3n*AFw0p+>LJ5QW-Ue&janx3%TmA9$M!8v!Jke9snkPr?ga_&T zI)@buLZ&8ae{hmgJ3;r(wu#W&QTBMmJS!R684^azxn4{#BX*0zodn(3GUc*VWWY|k z>m~TB^r)tjwrJ4RHMK8DoC#_-7^jl zcucjM*Uf+%hBFR6X@X16{kjBSTvJB8Q0mF03#coW)6oaJh1UuC*0XBc5tA9%;KRJ! zH^xN2Y$wB$DBR$s^)S_ui?)5fIXW&G$jpbWZF)_y^?(+yfuK_vwZrOIzWZnIXUOPi zmg&#$8S|^)P8;~!*R<@y9z8Jhyl@Ck7J2-fXR#_OAC-T3!&#qYAYB7=@0()B;J37s zkrd+0EJP3;KYR`df8q8x-IAk!I(0keo$I97#5iHblX3S6z5&*w*i7Zj2y_EcGUiSk(*k*p$3VUqpD4 z3MqwTzV^jfG2bfO7NI5B7u$4o!RjOPDJn2@E>!D>*3F zeb$JEts>P}?q^w_TTR{MS5J&UtYnRjqVZMJ^BLT05%6lLvz?TU#7nI+Bf#!yrC)7M zfZhEOdzY#v%iX%U;o9GULj_OEK~gN|i`e#z=E#U;VjC@?u=bdLGAaAD^4Q)3k~KJL z=uq$eeB}G7+@T-^Gm=M_xny$;QL!O)$*5oLuV2ovixg`OyBuTVb5KV7|@9*v$Px|N1- zl}IEl0>jhpMR!6^;RYhLIws99zF}9PdjVxrm!%mKaGJ$>hbjO_Isi?@H4X?w^365+ z{`j!?R-qBDo(pBuC@o48ube8Wv%k=8zWeOb_jIaMyL*OCiEA#~L8p*OmT9Ft$=7i{ zE?lPj>dV`|7#)Yawqv2Qo~gH^8A3e>w#*ztN;^ajp>U^yAu?tH)U%V$|C%%}8@fN+ z^e!)>>@+Ki^^>^CbFraEWyKAJ4Fre=sZXKc@jM3WLP)xi9ap>UkNkfwVBrCy&T*PZ zMA2?M_)vGH>>G1E6Kvu57Y?Aaj^jv&d$xe4`;|Ef(!0k^}ujDDpYSvbq=$ z#VF~creHDZa4hiGfYFB72a%K`h2~EAbKufnjHGyBg#QME$uxc5OX+so;FkLEnFWc> z^u&w+vEOVvt?JpA-bnR8E5N@9CJX$W+D|>bsJw@q%WZ6v4jm5%{br5|vwWBBq;Vtb z&ZW0b_*j%O3Gl_LOTP&j{1`|`u8ZIR%`dQ>yUbL}dWL5gH}{Xb8_D2^J|+ZU8-U|I z9?<>0*q7&5TeL;i$-z4x?KM5wmns$)sGdV^q3~WWPxZ3%s+9^+kwE~DqW(WT3JyLl z4k0E1_Wy@R!TpCvaS4upBdwWJc|^%<);3JVBdPTvoyIoF zNy0;EN;X-By&#Es>Bfb!OQ4|tN&~)-kz?53{-vLPr~K~{a;3}@xjKaT&$Ih4&BIP3 z9gX%pbvfyOzYeN|bpovNWdBKuI`jc<0Q{1`g%+;=eNa1`I_l&liVGDp#3ce$<5%~+ z3i4EdNa3Ul!0mt+lad38o2579{jVk~lrCG{I8~!VCwN zD7lT@hEzBYJ)e=T0fhrXQ!U&%!zS5;n<%O9VB@ZvRL;n)pMZ|8YZnAGBGtk z{RUtSfuPM0qMkA9<3HbVI3a*{*a;~^ zPX6mwq%onO2Uo5ko4PLneulI#S9Up>=avijUytS*+Ws3qP@scs!+};oQL+)W7Xmc~ z13BzI07=>k6$$s^EMP^T6%Psw7MCtF&XEzx(81cB)R+sy;#L+i#-4il~ zr0E>MKxrtu{n>a*c=#I_xQ9NWCqM^6aURH8R89a5B&D9s#0<146(A$QFgf zTCge01$?#-zWFMJ9oj_w2P~{SsTf@wmDRM{-uP5sLbbLr9K2jox|4PE>qa5)vrR^I z85snc#QIH{X6b(;0;v0c?S>gVBdJa`P6XNk-eJI#`Tr`xrY@p|EYqyJOV0X>;dQbx z7r^BHQTkQJTQ`NlsG+Y4nbuX~FOE79LanRUlpdR$8lV!pr$`Ngc@C5?J($v?vR&)P zdM|(A_JPOF*pGmNOn4dF%+~ic)68?ZeN@-uL*~A0a+!*M58UCFr={U`Fk6k$QkiYz zXk(3Z<2;ILF-1LcPg;mgIE2ksxL!uS#)$6T`iWr?BsXO`4gPQsZ)W$BK>d_ywP)UC zF+?Ctg$|&H$$o<8`T*t*FbvcC`YrX7Cil9h+O}p%xLgd9cofYY=16uzg)NQihZA@` zTdhmLd^d^n&nkxqW78N3o|4o+juw8xP`cryKYGI6muB3nYueP;kkY*gLMW?5fH8wU zS@*m47f7YUw_~D)e3WW$Xi1iAM;dzJGy2$gSxr|(pa-Mf74gW-up&YQ8@w~Ye?uNh zg(J1q^&R{$%!gG6tS>an_!lGW;?Kv=(3psZ>@OH!sW0X|usLb%i@xobxC=aLXI!;Z zcKj{qJl&?ZPgzQts-G5Y7Y0AADU6&6o*@1Yw#6}%4 zOFuqvSd@N_0RPVxL`WGB&34uYwOkPANYW)@T-M-q_%$HhL}i9EX+h(%Dlre^Jcme# zXt9}yZVD^WqlRdp(>p|bI&$EYQPy$q)~mh9ut~>XpZc*nl{34{xPB{VNahxkT$i(t z=g(Ugnw9Dg>JIxqUgR2bB8co}D$!RSHJ*NdZCOyqYr^ueAtj>&eG4mA(cSx zo!$N9Vt(gX99+jy3@x#qo*UYZF2zOC(O=YViLJ5Ph;ir$pFh39#k-K6&a0g%eo(hd z^+n0%1;zc)POj^+fa(nORIwalWpj?+R6QeD`u`buFO3y_@?mYgsf#a;I(~9aya-p!$PR8wO z3*|ijk>kAv3WO#X_kFV7r}E67cXg{@*f}tXgd?xT80?4x$2g9AII1sKA7#}>B4%^G zx91uC@k&cbMs2eCaaPry#8)le_4xaIjk($O0qH`=sxgeHcoDi+SsTC${Ec1c9VXc! z*-q6U>8D2s{N>d{fK_fTDhl+is6ud7y=mPX!6g75%H{)RM38Hnkw!6}yOBapMR_B` z^WL_xD)Pv$xxHiy!4y~^cYWiZ%+|*<;V)X_W6UxJhP^kY42h4fmXJTHk9}4AQ_dkr z=oj&P)GyDC&e5|iBaZj?1Z6sjJ8|VWUK~3|7jbBf*BhO-ew#ZzPhy>=S_g1FN=3A% z<@*Px?S#JIQ%TYnUh1jY-VZpO8!fmbPAbx$gJETp@|{ZK#VG}od{qEw zK%=Ipwp2jHu=RNJVIlW=-CUj%_Q9{?!DARFFMGg;8gO8ZMlNVr5Y=GYrXnI4ur$#^ zzq0h;=(z##)!)}A1za(Y;2UW<(s{WnAmpiRN-C!2^ca~oZ9nB5dC*7wz zvq3jhK1=wEmqlH$bx6x(eHb|w%Cj&PY4kCl^e2~Ek$;`l<2AHpab|%Hw247wrft9p zEwCq_OMNt|0YsvbeD!&i0)x0o-9@~D_E4dlTBq_C!)q79-4~8GzhwE-R1W731{YwN z(?*9Rh5Abu>08j!u_FF7u>Q8rt4E5i7NGXhC`);m!-f(ADO}-An#vAssh#192X6I~ zM**}G@#|vWax;`WyuVV1LZb(~Xl0kCrwQ9EMrriV^nK5Ylza%oiC}BrP|#a0Fw)nNy7C3mY+>xAUd%Uy;9fIcR_X$0o+B z^hqAaEP$BF(^JjZ6aN%d%raJIIxlBATu1n#~L@`T%lvc=Gb1Q&nm zF(JyJKI(U^m=q=^uDhi$5_r4h0!4`@$&Z-|gcg3fVGSwlrIC)Kn}y3q3KXygLLa3S zrthgL^LFeNs%LpKh*0p}rM9G_Om281V>c8MJxI>U4w!pI=(}K|vSd-7YFKhuH4$8EXbcGggYJYBULW%IgzRW|Jbo~ zBV%5J@8>ZMEsjJ@ZNp@ido4S%P( zcbU6PQy(TeoYhaxu#awpOJYCr^Jx?%%(df>hOz#7)xo(WfWB6V&rCC9ViT@~tbE;c9~=YW=K zDbMKkM7^}z9-^ep5|AY{TrsB>NMD}Co|$_IhN=_M+*N}W2$FYN_fa@V=Psm?w@>uH^y-73dbuYtpkEtJ>=zbA7C7rMRBbM`ZQ9$pW(3}tA0?hkfd;t?ibGFNW zYWOUedd2hpU=t!_THY&8=lg~2tgUR-wE795)S{6_As%`4g_pyLKC}GTNNuGeb&kR= z2NaS0j*C6^PZB8!=pYhDBNr0RuT{`GQJE9uA79ad)zOi@?rAzti1F*eTnq&ZrWwnp zKS){(P%Bx`HU$crIa!Jq8AHs#Rj*`8iL6|y(NR^}SXfyiieP=@X~(2}^@lOOQE)S4 zBmHd*S8QBSMZ|-8Bk=OYk9D_0jeT*E2-~fx(<2>&y3&r7ve667;P2iq6MV{ESb6%S z|0$@bZ0i^Q6koT3ngLIqEht9D%6j8#9EB%3_sBY(>cY!Tbq~cYjXgl-A(@Hnlf5@` zb@DJvpF}W?NL|$PL08$b~%|zbtd3JTWht4c%%8hD(iN((mefh=yFaB>5(JPLE__QnEYHgZ1jgr{ECM(xE zI^%v69)2r0N`e&bZ%GIO7lMWKtlWjsXmNN=WoU8#wvHxB{s^qc-15{ge564wQF~U# zZ6Mk`6aG2QOF}uvsN5A12&MUB;j?n!3oA_e%G7R<=5&9O1deP2f#@;VZLAfgiy_W_q|h5Mu~i^puJ6cM?k@5t;H2?s5U?aLv9(l=Q~%h^4G6w!-&UE{eWlxT<4 zS|4@Au6)&UB-g8(wC~<$&zOWU{w?zUxA^ho@m^@agmRPL)|;)IZWty56=I(_Wk8EKK$lxfjV_t}>ozW#*CzA$d> zB<*=;H#&h&zu>8!;rZSm$BHotY2>ak+_%R`&=5Qb-PYFNWwQZ8 zh>^xZT@Fs_2UA)A&E^uE=CR3b1Q$=RJ+**5!Y-vUTi1E9pHncXQ64JYs0XW2)rWkZ zjA$$l@Tcwk#sXo~w>ycLy8rM4;VINVVP~h$b}lzN@VseOMPEgCHoLw?R}Py=&Zo`be&+YhSqzNZGSlrTHb4V&LB{^U5ks{NUSfxsmx&gFG2JxB^`~2imiWwNKq?Uh*WpFcN?DQ{9e6 zjQVh#%(%TPx6<{!VGWo^ni=5LpW2qvP-I2$!ueP1^HNPYWG z&gCx#Q{fzya181-|K%Ys`ijms;0#|75yOEJiN{!yh4)<0a-0@YG*F=Bu(pKrC8i`| zZjyvWM`>CO&Aq~Lo+e-JTIO{~nAM_<-G@b&f*1CG;4xr3M8LoGD9#h3PjAn2CMC_c zDr*cNWHl{5?)nZRb8{hf3EEd7bdyFTSV4`9nhi7Mc`IP8qF0>HBt3Mo!cs%fvCQ>C zdBNAJL0WF@wj&YZMl6!{mY#e$Xa^AayUMK_E>E8K1vEmx4L!d&rEl8i+uJ-So5EPd zc$Hh#L!;`f|gvD)1AKd3lNt+aE(jYlAmLUlh5x6-6Tf2Cr4 zrwMW4?OH)Q#tomb^AAe8zHM(_wCUzKRz>!PoPxaQf9DJfxtVArc8vMz3Ve^a1&Hvu zTY-of#M2sh%VCf9I5!yp(v2H%mtQy^+VH#3m$s#Eu@)K`caQ1Hy)*+zbN4lMhsj6aV$oSu5`JU#oz0t3vm_!;ir zyB||F4)->RJ|-=;wCS^b2q_~ew<2L4Ltb>(2S|^clTGNerw*JekRK3cz2L+M^066fFPQq$E2gLX5qc?0T`r=_Ta?E6v{tAAj@L5c(ZEG`^rpZ(&XF4L|vq7ak zuUyEmz*eY;0!(Ku15YVO7o8FR5yvFq@s7iF&Y=8iB+OoW25;B?+~8?iSS(jzdy_&Z zAq7G48f&}n7QF;PZNx1a@HoY7au4cOzk3Y*=EH;HBi3kt z46)CTFX2A$ z%#}mD(cw{x+DNJY>Zg&b7R8&|+@^=_MD@JC=3`?rn)EEhGb^?()=kh@?%;~n4hRej0ucVs2Y8yac>I}12u1Ba&4IAqhEp`WPE1Fs}0iTjG1)S z`K+kE@x%?T6p#5HxSdiXH?5x*nQm_zQ6nX3OtvDUb)R`jjRAJ@_w$IWDY4#g7wt4d z;ta0NoRDALgH%bNDyW<$o|J?Sdr?1OBBUyWB zkXqw*HCa_y9Ax!jb1&qK&Xi)Mz#U>L^WM@SHL317?NCtd&kQdob%7o1m|7*!lIfv7 zVV#h9w#O%%ZqxfJ^`}RY3hx=I02;7ZShz^MuR$u-1$=k|fb7*oge?>e2)ht7lYxE^ zwyS}dO`)W z?`zcOE~8acRXMMD+bhULohMm!-Ke~cckR^$P!kcu!P|n@&z_lR%)4N(;C9;O^g|2u zh08FtXve+!-iX|4e;_qi7Y?T9ptKk$t0T*zdXBjcJ}aJ$bJ0mG(n)}DB#h1ViCEpr zc;`Ah22%2fy6mw+i^jzW7yyzgqjH99#P0@X0qTau8Q58KR2afpY<0ZwMWENYbZIYP zS-kugfr}WCYu_XT%Yv3o4zYH(a|P!q!Pfw*xM=H9#fln6nTQMYWo(HnRDN;8>aXbSs!`=Ml%$ zEaeGEnO@);gHy4Z@z$9xKiE~eMbbW|eJIVH(FyG;o^R?-rfFsCO(@>%my?2ZcDOp& zcbIR$bIvo_N2wjaNx0}QO?}^2TCPYuXRJ=&myY#q89%LJZgi>_z!Vwxc>?nPUR5yP z>Cn!?*E$?kFZn*g`K4883-^+=Hj9 zZ}n(GGc?^3LjLiA)ug3eXVsqkNHaixZ-brnM}6Czl)I1`M$`2!)RNuhwn_rM}Oe zD~hRIJvQtUiwg&v4>yI2N|c|g+JiP<0)Z@xZMjM8h%vK@AP_epI_6sS`!m^F(b z`j<>45VyZqV21_)ZE@3tY5J3ou!)ZrTshKL{CaC{Qnc^b^{4L9 zTKScUCnDdk62YJMj--od)ysw}0Hv?n=N01I3n41sIpDhv+ktrrDFLkbL_=vZk8y8B zT}nxT+C#(fQU4G@>|ZZ-%XyPL4&=|sZ|h%R>BsH-LeAki%Y`GHokJ!SLh^<+6N>0+ zAwM%z$L2Of#sw3}>7bxp(DkV-d$?CpMfU2`w@9&0-q6p)64sX-;&8MMV@WPFba%e} zNSj_&0#85kT|6VI|9#GT%U(`Q9v95hrgNYh5=Df@Tp>v6*+E~M;F?*OKaY9-mf-k7 zt8%T)F2Mh(^@t$&bbbrUN@SfWg%R-CjdnV*$>E~|~8moudDyU%M#j$Y$)LFm)};w+fxd{@S?_8GI) z{Z@e6$Jp)gt8Fy>SX<@Ex{8s_&WQczt@$m6h0C0t8S`N@`OO!F%ubuN;$mR~TXWCP zEDXyE@fW4Zs8@I0xjh`tXLg#NheBBotqv4EH>ft+FkBV>#h|ho5|-`;tn-A@Y0jC> z`zIy}5@l9b%{MR*Q6496r!8-WenS7WX~7$loecoTb)4}R1BiOjPp`IZDzR51y4^Sj zdJe>yv@81&u9qH-&(J%`;A6$=mRtGQ+%1MEy;UM*u%7g-jl_5bRLhkPj4Wf z-wYRMlwVxg;egJ!f!)FOCL^dftAzzkjnLqIz5UhT6^w)=*V?R)$1rf^$K_Sk8Kt(LV?qt^^R(SYm*o!d zjN>F!aKsb{7Pw@(;&}zG*`0LXse!ABX%=WCR7$=n(cYO6J9JNNEAwiAP^*rpjoQ5k%8K72n{D#D5^M7D*Ax}P}1xi?NiucK51>ICY z-Hak)*sQ3EAwJF*6Ene`H5NhsFb8zSSfNrr!n+y1JT7K<>6P8P`b=$4Q1%K{ zF!Cy{dvgMh;y}9b$LyO_n};w1Cw{qY@Vrf~p-IBPejE3Rz%!RYT~n7xjo7};YEvQX@7Ei)ZULRE*3Ii z#R4fx1@+mofLK-liG!1&Jm>bgz~_lr{bo{Xs`qQ_wy&EU1ZezU)J@RV7IP+NeEz~e zs5et57q&1?4`BvZZs?mxVUhVbgK)PGOPU-IE$Jz{U(KTi3;Tyk;3z980 zS=(piPh?u`h9Nmp3rRGrVZ4A33ML{(BX6UguXy+lBU429Lt$+kY6hvEpk2dHeC+(^ zeerf54_Cp0-yV~`*y^0A&Zu@nb$?^3&D0!dDG*g``{fC&=+&(Eh+4qUa1RFggDddW z!s2t^#&#U04~+AFyaQzo%}9L*9;M2cYEhR=rLU#(^v5A7E&!J-*Y zC((5L>c5V5rSrd)@K$c%XufgRWBv8+Yp?youA0&dnjyRu1RJD7a5sJ^E{_@X$XrmI zFxw{8?!z2<_2oJ`tv}>w>B!^U!*`U8R;FyUU}Y2Z5yKZCLaEwPrGTHfI$}K}Dx>FS zpCPQZFIQUS_AblZOF+w^EvOHtIk6VBQ-^)@X831bPFQ`N8|KY6wksCcrQwQqUvssx z(uWX!9AS`7*wNe3MA`svfc~sv|6%V`pF-j%p)Fze_~t>)bBiiJ`AhNdp3!4iD(G#N z513+gv9_5a_83Wj)5jp<*Z{pwT0T&w!nTJjdJ* zxiS2-*hdS)`D=nKXj+FPA_z0mD8IRf5&~*BSVJth6WaQybaFp=RVk>W^-CfPBn18w)cD%BuV{G~P*EULGNP$B9$h9-Vmc!N8}8rNcKKAZ$|_6psn7_^dhZk<%DbOa7N_>6cmWE zvLBUD;s!+00js^|+3wNwB><~!@gR!;;t*g(0>bM|vi%FUvu6REDd1DH5Mdl`%Ey}O zZ7QtF43_z%>(?7!uZANkq4e~uLf69;-vg@(L@}LyuAFsASv(*16R!#sX=K!Kds!l^ zMR+23X2DKqu(y+xIp({0H;y<+{F$+f{TQrZ`dm4FGy@2SBo?eGG5024%>fX(0uKl5 zD+KnX?Ul|NQ5pwd6iuj4g595vQT_|cHwFZtAhP8`n^4%=!C>3|LZMl^m1?7W4Ejfq7-K!k^n4@Ad$ z0PHR}=G$OB7Lec)vZY8)9n76M*T`zC%zHcG|=3FmsngcdX%8%%d z2aiCyJKZ|v4Bd25wQ8kcW^a!6%lZgDReWSK-at}>Ut}{jWDM>9{)qOdg$%z zGI`j*sKzlj(~h?HyfJjWoU81cja@wmWbg!TX}a4q7Bc@*|1ZY{*KXiu2AyT^)vOXra9S}h+3CT4{29U$Z2!s#U- zaN~bc-VK-p?{sSmx3H`ujBm1*yn)Kxq#qBS(0gtE2`Fzn{a^lm!g#K*=M$tI^rId z96mvM{_y6+ea~?-s6kGmI@zT)!FkdTVahmJiQ!I~zZg*SPWl}9bLe75>;5Tu#QU6Z z-TM#Em+P{i`UbdOp=t_&)NXm<0X#OxEBmI)4|N+V#&+)mH~&BYbaYd>%AYIqEM@3u zpw~@ijG;qtU)F5#WBzB$nOyjzqp_I_Z{^sGgdEK!@G3MWgti=hX^qv%ecadtFX=0Z z0b}9bWAjRr6W9?#MvtLL)8xu{vwZ7PjCu1?)Uj;wxXbxqrwQzdf|S0ITBeNUHdsk6 z)ULG#c1`S|pw5#h=_x*MIruziJcFHBtu?Cbr@QmsDSRKIAVXijF zjhRv(>B(W+u#v_!d-r(NW{S4t?QbZFEPDkjr5ia&MU}89aPzrtf?t$N7~ym4Refd6 z&RF`5iX4YdIP+?hWTCg>ZQ3zZw)@z3#8XCfo;NjQT$VQMY=5Z$!!E=#8D*st0SS$E ze7V|19V?a}GHxr#7Zuv={)f}FQK>$-cJlekd|~uS6j=CL(KfdE1xR4e+29JSAG*# z$cLNA)=(kGhPtGxIWuHGbFCM!&2(E02jjfALd{PEE4rU+B4NS*TEtE0XBWSmapx=E@QnlU8pPnRfE4B8cSJzHK$8)(p7+Rnjr zqm{pW=hOUzqKDJdj!nMT$Ah8Hr|d6XNPzzUMN9PKZs)4s%O-C){-&HqU0dAx<)U$} z3R!Ej32Jyp#FB8;3b5-NtXf(0kk7+C3 z?3!dPrQ*%%t!=jo{DIZcxE@_N>CtDDm;P#KCj-sIzS!vJ8I?EwCXpWAejUAd`_sCd zxsOn&ib`|)$83G=UzFB%3VP_vA2PO`{W$QnQ-8BwIP;TF#R@#GRA8^d9MmvkJmE9_fpI%D{)8GBSnSrs6IiB_*sClIJH#$0N)_bO~uHKV1B!xTA zPf_E_iJ^G^02@fzIQ}_Nvdmm43Q&FrmOJ3nR0uzxFv-E(*mzw$JbO z)r#1@@_AZS;nc-H(=9krcu6L;JQDqCFgl<%40f++Ztymv_%TS1WpycVMyNQ6c$JuX$4 zNl%~A&jcOd)sJ3k_4G^lwnZnT(s&h3JrvT*sk@=fp$|htE{X_bUWH9^ShUQi$BK__ zBXw$nzv4*8FHdi8UvIfItjcII_-V50c&=|8h7(ydrFjE1vPls<*h2{4YiAi9e9Dj- z49ce~nUCVCmYP>;Tl`t=sv*@a!12a1-1?%mDqApkk{Bsfk!eKqa@9x1mQ7rJLLj9h zNVK;pTw{YFZY&^LBSz>H3l^O9h)piWj zv9U@>4?QG~l1{0|MCfE;Zf;xJaQ<-KfDbqTnZ6m?P(!INM z#E$0Q1z7cBI=J&l>R_5?f;OUxqO(+pf>}B=@krWZjE9m-Xh24yF;tO3n@*HzJ55s# zS5@9$d%|aBO2<@z*_O(hUwIi*pDOywtiLg!Y`!R_YC5>!6;rK7q@@t76V9dTWnK(u zSU(cN*ruvZiq8yFs^4%VK>AND*7oIzDC%^O>1&>^s>Z|~q5;H;YvAuNdJ?2e^)4^s zm`leRupbYMK|AT}v{c!xQ}5E2w=ShmC4xsgdiy%CO&uaZ*eA?ln*No7JAJ&E-7?kl z)}NvbZ!S{5?{gpj02E{SR#HFPPJjG-Z(o&<)}Q|XNMn4@Egp%__Hn**Kn1^;m&WsP zIeBk?CMq&~)~<^;%Ue*29s?;z=KO37vNVE7NjlVQ(Y5sTTaT4NHEvT--Uy}So{5kB zTBoe9{hodJgP|p*3T3BwspgKdDWjI17fV#}V_@h~1Y;{$fqNm_p2q@iDTDm6qj}CWF=Twk&RW^w9+fjQ6PtKIpyBk{$@!#*%uU z0K=6~h8&(qyXHaWmZym0_OKOJ$~gtF9-(Y_qwV(lb#fTo4@keyf;$cepXT4_$Id#f zwY_+(g?wqLDq>rFX(4qU(~UFOERC$4I>Lh6uv5%w=>c(Zr+x7yJX0k^F;CHyAYLy; zx>iXUcDVw@y!}}2ekx3mS5Z`DvAuYtN_ilwX`&B3Wc7R{VKnb4c{rifV+#~<@R6Jz z>2eBRx$?nOYAK>Et^|fdrb;rUW8y53Gu=T2egI9ePpc)$+c2!IF;i5>8$!lf_gKWT ztSrW7iL}cf5=Me4%(Dnb8c=9*npN;LROt?@Sjhb4nXT~Vl)SI{OmVXNKZZP9XRN|k zj(+u$DDKv@*=-+52KTh0`*SK*{gQN8EzORTZkI~kUAy{mTa#29<{i&eWwX15y?>$Fijw(X_ULs&SOnHcu=n#DezL>GI)`; zB&UP9e7dSIY2>b{tfbAVc(X*ug7q462q>Xd?|_Ph5-Z53Nq4>gY@;TS&jhIq5Kyf> zB|DfUja_NbmZ_Cbgpa=Fl?2*Yql7@T)m_l%^;G%BXAc=?rA)q?BB!aCal6(CRx2zK zJBZnVr-Df?ArP_BDrvZ}&)(C`2O0(s6uc*7EgLByf>*TLmobH`sgL}(n?#aSY6Ddj zJ9OfrUa-nE$y4#FdM4tX4k>8z@QG1YCY7g=1fnRSWlKjJjRr?@Ze$J>Q^Y0pDrnBC z<4FSP9qmKGl>9FT-h3w;*sh*d?HCcu!KBQ~TR`x1d6uTwM5Th$)|NlX^`uo!Nu+ou zm7$b^3OXA)8{J4YJit0{wd|xGgo_la(XYCh_G2I4l@b2{li_i_EDk@Euso-zU8C!c z1KTSFDG?1>KA{So)d2D5leHtiMSnXfROqJ`NXs)8W+j=J-IzS{-{R z@n~VAm%4^}=xO-W66LnZ>L8Ln^qP8(B|1GjNlzG^qb(kpZQ##}+&(UKmGGm>W|p@- zYI^A>t)hB{5mQGkM4x-Y^6}GJsw{zA2D0g+q^qcD=cZSTyJ=@+4*Wat7f0gs@*8#U zwl-PYeJ(Ix$EeuYkyZ8 z)lsj>r;z^uS+V~B%wk`YO267T{{ZI%e41Ft(~g#RQ~I&n{&paWyFASM-U(xyflS@( zvdI%_jL#}b-!cVY9H$vjk-Cw#EOQ$6w``Z?%XuBomwi|?wJQ}wEg6PhGM!T)8c!2L zD(Yd(s2lDqaO*|iQE?<`8O-8Ijo6h_Jdw1eP#r0$$*{R4ixZ`4>%jj2#ee>I@Um6O ze~()|y;}@wXdIs{RY%a{*|q};L^@6Sa?cYZHk~Gn(Uz-C%1HaHm&+c!DW@SXC zl6kwSOR(O*FGdeqHl7-thX7rjT|r1J#cg*^d|5{4s4K)rt((DsbkigS}m? zaI#U#&2!~=>X2KkL*&4DV4bwEYbz?Puhga{QN6FV`$@!gl>Y#AC}k@wBBm6ildN%& zaU+c!g?O8_b)mZSZKpEsx4K$rYGYy*=!B5U65`G%b46=>9W5BYUq=!>MtLrGm*td_ z+bWWRY`TkyRU^91m{O#MI>=CoOP1n09uhlnkS;HkW%L<;bd+^*H9baIL?KeEuz7kh z0~NHB5#n2BjJCv3&}LLJQ%g@m$Y!H@jvRGC^sAb5jU(t;>a5Dz;c|tw>@xaPN`}hv zpxLCNt}v3yw644rnFY`Z>z*sGBTuUtbq-Nc-r1FOrlsWz8?-butzf!jRv&#%K;1}a z;h8xx#Ce`vBVOpTr2FcNP>)Q`qm2mEf0EW1xRg^d(vG|-9ZFQ%s)sPiPZ1|qNUEyg zifSoiCs5KP_+17Hd33r@9J+8VKp0-yQfOvv{{TWcH6K@;96<(m9Ys0PqMtRIIYX%c z1dB0{q2k5|gB7-EQEatqQB8J-zbK1MN;C=8w6#SG$S#7Th0uC=hV-@Zed|&RfMb-1 zz0bQDgn#6^Njwa0Hm|BrgJa`Uz-(sfc`Xj$Oa!%c4Y26N8u;?cZ=xu{+f!Savc`d> zkgRCzCakD!QcTz8bfOQ%!yjaE17#K$I;DHdER5fk$SY)m6|13=2$W;(BSea*9Xi&wh-vsR{N3gAFksJk{I?jw-H$FHRF9PhL6#C;25C<|i8{7}yMQ9`BzVy~~hD9Q3JU`zi@IZB0J4QbKp7Rmtifi0f^! z6@PSja^-o1lTN+pBa$K@Ni7q+a-WBq>g)D<(&^A}Jq`68x$-?@ zuNHBCIQhrYKaK^{Pw5U{Zz#l+)l}l5o>9_5H3Qhdj*>c^)y9@nxZf1So<2_$hSSO8 z&hp1)a6V24UhUiTW8r@Bw=UE4W1mu-R@Olp&n{ZObOdjE zG;t{vJh$l6w32yBTdxF5mQyewgQb{l>KKxqqbij|a`(aExF=F6jmn)@vnK31#7ce+ zBT9o;0w5uHu`I}e*pu*nHP11BCp--Q04}L|Nd$bY#&XT<&s{n~o8Dd`xTRX&>NY+BMkzBY0%40fYBMT&JaI2<;UHfi)u{QfQ!wtAA*LYPK+G1ZPIkD8k!F6Q<7xdXV{F$l z%niI;zbj}^?R#;nB#*Y&;d2L;*#7_|cRMQ|fj()O$gkvX1r%z#9x}=g>ByB;9Ge4O}FL9nm3W^IeF#%CjU73m4DuHrOA-*NkQB3z1 zg-eSGA4^0VN&-pz-{H_*nR%?_2bpleta7%V01w9upPMP zAGaPfU%ma@c+md$)sGqwKo?`tZa{pi_4Q!OsyBoiNYRH@kMxSQ?xNtetzo}c zygU7^jm7b@+wJW1W1?H<`Sd#^bB6w+w1BIsotENd!WcQ{^(!@MI@$w(7t% zbs2>go9R@VIpg2|01*_D{{Y1tw#6n>NEx7_jH6EE*)fz<8G94BdJG86QJtqY|7)sWi}v!2)-+`Sz2kc485mTqjw8W z(M}~ZfVy3lP|BS*=}E-XZ5A=rv|x%YR58Y*LP2JlSJ1yIMs4paDH{1)#ZrI@?7E(& zm1Wd#H8n*&MJ!@q4)Rkh)`iBKMyiddV5B*O^2DrkLr}(5G5i}A-s7*OVhO|*_12DT zx4F}rRspx)tx4YumhJDUS~2A#4^d4}Y8paa!}Ol#t%2wIyZNwu8MV!L(!o3~ zvPCp3(MuGFZm%4ORgu*08AxDx9DnfF{Uy^!n9)ua1IW06z(hOla9MI zu}I;nFf)$e^9ZV`Cy%}%p_ZX%rl)Rps8 zAZnU8qn+VOdVAbPjHw%HjQD1kidsm7VM|cSEj*U7bZtezH}INGx3aPk}h<{FKI%_tK+e*n!7}#vL#FcYQYNwQ!kk0mQftH@5GLe22T||zgj=l{rhA%@aTdw@^(2pp|;@fv> zDgn;Jazh)F*Ub4&E%#L_5B~r`OI27m{{T#pcfb5hT9Yfxst-}9nwE+){R`E|KcnsP zU+*dms)TR&)v3%Rw^vBZMwkBpWOws)j}tnog$?{25Q>F&>eWpgb6d|T?dOM&HI1`q zS-94!ndO&^pz!ZeDUx0ms~3w_mIA;IcxMP{3#gRIJHz}837|n47VPiqZuNm+7e}ND;b&3^}gJN*4MRK0iu916HH1e8+)W8#>ZD=k&4lCfv))Ah_w2)=; zR!K<>BvaSV9XxZpRLZH~wKFJnDAFJe(Zu;Db_}eOMHNm*oED*1uTJ)-Y{HJB3U-L` z=xSvulBF<7W4B4(#g?8KRpm6%Rp<_dyWV|V8HxwuDodgC7D0V2kE0j)`ajmj?4!+g z{^<7N##4UFs{1Tk_q|x?uU)sf>OUIz*eLX1?{77+;~Xi!UvKC(H<3r3)O|Sod|%Qh z*N?}?`(x-h=~YHQSp8U%Fk}zT+>LXL&*^y64mf)yT8>}1Sp;<`B^lD)~z~>iI51W6R9PRcV=R8}{ z^xw_T({FR^G0z;w+t-c2#^^EPV2I9#<_YEHzoQpIl6j68*3vZ|WCwxGX;5))yCT&` zvem>nX?sYkaSX8B-nu%BwyL`#t*3ZjFv`b#D!OWxj-!DQIgENAR8vR5*(QDEMFi*h z1zmB<=BLbRD(ETe=&C`^5}_oDHK(gK;WR>L;>R>*H`cCX47)Ni?PITnYiPN>!ryCJ z{am-kPek-m3VAE2%}X?L#tk2R!yNCp9{`=~y+rPJe6}VrwsDxy(P~TDI(l|B^E8?_ z;9i<2rPz%U?xY-1$a|uLG_RZTN7eqEa}#KpUoaExFl~zhIaFv+7-T zvs-_J1+Bkm^fS`3y7iIO=N!kMdyYc~qxSoC;;C~KooVZHC#lNmr3UFs!Hp%I5ryN5 zs&y{BmQEjhC<`vRIQt1o6y3^!$9|SNLr%A}GMG=R-Na_)p?-Kl`SGUDD27c!A>gh$gb=4HLAlt8klT*|4>frBtTH6jD zSKQ5X3-DGY%jpx-!gKRCF1%WYB91Y?N~`4G7#* z%hJ>2kK%*qu(rp1D6FL0;WS(NZKzmt+j2JNy@2nb1fLdh!~NsY^^w)vh-S-IzIAR^ zCWgVHWneW(LV+OEqQ>gPn~#Mc4?I#)uBV<#IF+y?BG|W2rn6~f zXqsLu8ek9&H4&vlbZjqaWPXtvj@pM=tjjYhek@h=%}XOLp(3MrtggJ8C$y2@VCoN6 zAc&TuV^s3ZJA74c5_?%m{jL5c zEesS94~-){@8{kCfceCpd|pbJ3G!MBVBWqp zu<{mvFSi@hNZ%#Vw)rUSe^v2mQdrMq zipYGwj0%37awpG!nEwEVH4RB`($np}0#nph`83o_6Vi3)U)CcVIG77;??*4JhS%$F zPCPDJl7Fj~IQu>{(v$pr*t_KOk!u|d#Qv%`mzQo29*(k~w@_sk9##>N>lhhy8G=1? zL}reijkwV(NTund1A|Z%(nW3@u0taZqigc_Is0+X8~Z+^=eM}!c3Wsw!r(l@{C;!22ejJ6tyW0ohVrKXOKproLQ2O6DWlot5G zwFc<|7+)0G{Bc!1eHuuV;!2qw6=@WqnU}_zaT~e`Y9y3^b$H1cT%+zjWk*DE*RN?I zsWK{58pWqjM5wY6r6P1F@Q`)h{aEjMXP~KxOEB+z(xrT3e-cVq$G03gV1|`>GgW3U zp#K0x49tIIVP&lDqKcVM<7r}}lQ4~e@t0J!6qdheht;6DNAMRm z7~zB_aeux!NvQl^ii6-_#utF z-fq#?=)e;y&2GEz^l#UGzE-x_(^W|zjGd&7`a^B++r6#JY$$5Ajkf5^WjpqrhtbQP zFCA1S;2oq=EPTh?%M#hzIOL6&j;BG6>PHbIYbYQcN^h}S;#%C>yByy!rbo0?G#RyI zF=^JtO$$!>RP-nxHL=KhoQ4k! z>675xl7`;}uX_gNsYTbuvs%V_I@og3(HmKHPT3tp#K0#DAg2q>eRzm!M;DbHG6quqtPB+kMCP=C{u&0Zms%P0gZ?|TbbLR zD~?#{3*XE2e~vU=bp^hX)@>tgdtYLDz_#|j2IBpD6ZDK(tVd;qy+-)dX(2vnz#f%N zDt#((veHB7hBNdWcjjeSlyrfDcf-dyhg*249ypnGx4~Q8t+ykO0X=?VM=tcsreE25 z-t=EcK5TdJlA4Z>eJfX((9K)R^Rd&I2YFT3u!Xjs0BNno2WnDySAYz*^qSs3$FpX%4eRD5+ z$jpxAIAF6GSTG6`PeR9XV0HkskVNgVP2Clnmw)^DH}Tg3tGUCu}>mJBMYQ% z@rf9Ass}8?$}!9V<=f}SFnr$W?dtNLKzi|R&AnTDn+-Ab$ir{d9N77`?IQ(a=67d4 zGk*cpqnDK2~xUA;%JgUoDh2^f))2#9XzFW|@Xk@mrI0UY2a&2%c?=0!BQ zRPjLDin`_RDqC9Ngq0dhp!IMPUU*i`GpN=1nryb6rEaZ-ML|xx^t;uCfIelKi5V(| zzWc9pm`tEwr3`FiqK00zkW!MS!o_t4)lf}bmIGX&O{{Na0YF97V{g$Ln`25U#yb^u z^#BxLo-MEBA67pc{;0q7&N?zbsy~~CF|^LVs|h~X&Nr(A$YX~7p%^&X;+Or44_OkZ z9(!U;=D16)b%%>Z45BJ|B#JeUjU%e@iFH&AvCAKedy-BTnv$L>XcLrBAc{NuViwHK zdfk|l)^W9lHpR}sZ+_1$`3!KGB&u8(;Bl1yss>nAs^*j z&XyX!9r+3>KK}r$(oXtHM{*Bl5BYu>zeg>}vkH^wma1B4&!2~ETAG)-I`hbkm^ z$gjYamMBXm>RK4qHEj*LYg1!p>^MO|M%*tKzGVd=*xKNpl!va!8vVGUp{eg~ED)@6 zNfZJllTN|7OYp7Dn5EA4z8j5C4D3eySR#MjD{o!=_}eYZ?6%y~K)*Bx7w=kRwStAG zi(ohSqn-M@20A1jtu{FPU+k6s(H}kw@Eypx(x`9h9TI<79?rZJn^iMk#gzxbXf1cp}6vT@#7C@`tYsJ z$Ef^myoax|9FM5|Ug!NAROK00-MZ-8x^oU$-*C|P&FHBXOH|Z&DB3tn%DTmvu8)O` zl7qT#;Ol#u&*wEykk{5lLs=A+6!38>qNmJgx=8#Ro|>4Pc*GW5RzuxQW{mOUrCPrW zp780y!kz9l(4P0Fa|VVXEvZOpIz;2ToV&S<(n{{;sPe3yqL_E&)o?9kQ%EOdY5Hoz zhEaobxvOjz-P{VdGews7TV0jWti3S|G^2Em{wj2Vw=8(J`7Fu(Ru~;OUA{0s*H*%g zBN5|#3+>B&Ab8q(vAAaWPJgqcW1|#f^+O+9T>H|G-pL<{9$(9LqI7n_{uhQ?qpo z&R(M5?!#;{<&=45PZ{JyOwa~P;Cesl2-o{HFW@lDTJBk4E5-ZAH6^eM&KW%MC$ z?ItX&$I2tO^~;P=(a_x0R>+j`tEwGtND1Nyl|qZ_X1$PJ`&$uJcS%tBy0$kf$vCaGv@8^Z9pabjhUha%qEtZug#030$}NY#8Qx>>aDp@6ph*fQ<#m~5a7 z0xKp%)Ec4FcDBI_hUpFMZHf4#VHuf^$|soneY&?e@v)QUd1iGsL!M+3)k&6S2}uQX z0c&GOD&nZ4pGwNIMHmXgL?~{0T(R8NbKNg=*(Pa4+|-rx(~3NzOun|FO6o&MR#jPA zm;f}suy)c$gR1M@esu?N1G?OwxRy*A?{9 z_ZgaZAv`=er;9MkDRTI041}(_da5>PD%n3d$(G>S#~<{DSXs~gBIo3(xL`i_(Q)M) zjkg%s`+mF?>*)n0rW!g#Tz9UrhnW8`^n@5+(S8KfW! z7~-sl$n@P8)8#NDNBaK&mMSPL%s^F8OEElxfw?EB3?YXpmX;R(0IX&|c_*AjAn&OM z`l@+8dn}pOYdvFw(xuBH?|8bp4OLNj4f@Xxob?M4bE_@NXsD#MyWy`>S=F(qoV=F4 z_F44Y4YBZ_&#?9noE%$g`98zu$1C~%-!R8n`5^r^#^C+GTGz(yZ$H)kIJL{~*|)6i zjc{5QJ8E8JZ{rIA?Q3IHuOye|BzATEmLz$xr2?Smr4%af%-9QD%mWi(l4Q5n6R!&lVXz<1bSU`u&FEs~j=9{3$wzqp#PG9laJGUMwxQSsVKbk7hPtKU4nz zc06JGC;QkQFYKT1Vwbw=xa4fYNorDt@;44Da0Cq~jB}CPOQp^1zAgui`)~d1b^ge(0-(ETUPuGsTeOMRk`mc>U9kI2sEU>Cn)c|-T6m&{_lOYs^vn0f+f>B1DfnxqDvCH;{o)i@YCR>DWIkCjmDami z1md2ne;$^j!AMWYxNk-9&aHIjY<6Vp+vFX4b11gHEcO;cIqAOq&yaTQ^y2zeH50Xh zwZ`5$fO@*lJ|Cu8PtN$++`3>EUCnnzy{>`1{Ori8iJXv z_s(eD;+8#PCkCm7w*_g+u;kl}ESb(_RhT`&;AQG4>3piw%dTlV2~PKGaw=kK1^yWtdE5!OXt{m!sEubkXsk}ua3V**N(C2#_YH9bdRWC z9w()U9>J*k^x*WZ@r-B z60|%(-3ujsd7?e*fnFwCoH>3f`m zERI7Y%W~Ac{cGXy_@7 zp*mCQshDb1fH2`Xt*w++*RfIwH>af`5D`q41BuMZQc+7eV+2%@HvwzurRHh!=TrJE zNf`O>j`#z@W%KcTyctglQRW23=j35qu;cDcbcp$$T>^wJvsKV7kr@1GDfWt9vYH>P z;1#vh>98xg7U%Mo&(-6u*aQy3cibJ%pR3JoymD_*9a!J(>mT9n54SJ3)r<1Kmlx~% zeZ2VJ?eybsx7*E*chw(ni=gdqD{*doiHQaO0Gj^*nT~$nx0e=U<-gU9k3X;G`*Owg zW5>Uz_~5*g>E~;=KQFJSdNJM^8JbC@8?v(^L^|E~76YBzN{+lU)XT@KnYfh_?`Dy= zI&Z$4l5RjOPapsT@>Pl$z=Gf4+HDL~8UkC4iEl~NDVjo>~`ylKla+6oPaPM)1wsjbM#S1@_xKP%Ud z6ch2JCC{HvSFB@pzmppeSKH~w@V+`vZ*R?fbXAX{-{XsHpKoWk9U@Ph{T#iX;W>_J zLr3~ER7NE82!S%O@&v;r9C?mwDv~?}H+w;G*T<_dF<;V1Wb%0!WjSpITDyTH=1TeP z+tT1usq%0fVV5w^vl$~i;D&QYPi^+#Qg9<9e}t#YgRU^f``@HbpH=Va$AexLu6#9( zZ*Etzbswi2KkaKjGo}G43l;dw%y}=ww*8o)c_55bW`auThJn+DqiADow_X4n9k=r1 zzVi6b+)TmQscpEUoZaQ2Z_xu(l)oAartMDd-fVObD&38gSZa1HBXw@m|^SD_S%GOS`e>WJP17U7FfP=L;gES7usmE@4s5=f+xSZeyp9v&NK<9#+E% zVn>O5WhxG~_$u2Th+8$j9;M_K#I0sWmQ;CUqNgqBejc!Vpy8UDp06yF{5mSR3Xe23 zUGo6_SjVo|X);{S3dJ0$>tZz0`GoOtqjo-6;9oX4dCpl;M{+{UKzeuI;Lj0wZf~;c z586Gn6gjns~kNQY9eBVw#9dhuVMcPNuW_0*;r z@^!0d=@vmJ6>4ark;OB*?w#dZ_qawq=`|7Ap&6X;`@QiIg^1R;dGXKf_2Zwp$#?CxJXN^r1L)hc z8?F6d{P^gbc65)E?e@MlX9RUzZ|hUa_yoBc2sbv_O0qj_qmnx}oDV)E>EELdldgTS zyV(B#4ZeS73Dx%b{{Y9g8=p_r>hoZ)-eqE)m27t@siIDkwur1 zH&D@rYME4Rd(?z~g&0$(7Rz$Xwufyey(uZ7ByF=aXc@T=7@n)+@oDD*$JQ)y@R#Jb z(AtNy5z^G<=~YWp4<44PIa(edRx2z;7)S)LojUAordZfpR*@YPS!QA?Bs`&2s8ttl94Zxwx5`ya0t%ri<3Kj;0w1c zwo*35R9q#~6UY~$HE9fZdYfaq+k4#gV&Xdu`8)M>ZchD!3#76_0pc@R*s(TLKrBV9 zS(&wLKmz;Vu#vR$=|)R-^%3kCMNW_)lJ@{FWx?E&zRRfX%L#T08G_$)<86B=Ccth@ zwgY@+v%{Fu{mqVwk_f8Z_!Q@aybEiXM!UEQFU^g);--SPHp*U_sy)x$3N28$-YS?$ zmuVtFXg9Cu%Vr zIGlVLB738$+!2Gz#&2QU*^aDrVDiI9Q%@A}%Dp6&71V|tnOG1-jjhX`Cd_-30+y%- zcgqgcvvt}J`#bzlJPGBcZ+uTpLpEWT_(R91f?;kl*;`Zu^kmoqbO*MZ>;^vgnW_|8 z;U5T+5 z=YtsxAH z-s=sOxCg>ZhDqjF{^6^wL47ChGR-tH?k{0?rvtVn9OO}q&a$V$Q@ph`JrrJt9-*2T z_uEyN-^hm+N~u(Qgv7Kk)xlSnyR?zRG%T-9@8cNc48qUNme$wPT_*VHQ`0|}jZ(Mu zeTF)Dd`IL}OZ~M!;f?ag?K)~>>iJ8BrJ~6*8mfl`q!f)!ETkaTHK$PI#st{*tLbGnJeYaL28^;| zG-=fJ5MN>}O`Hp!mmn>V2bad5>naob5*GCg8+U{^{{USpdYUjjxclQaomb*gMwH|B zj~Du&<6NlqPw}ecdXL<5!v6q=fT{whVp2|-JKX3)UxSl{`O7<>$HvbqW^x<1NUWQCuq@=2siDeZS+$G01L z{{V^pIN$5V&Ai%2w)(vLTkGj)zo4H$8{@$=!_6bcpR=p`8{(E6;2EN$mF9Nd+%p3cMeSplIxD4B? z$0UPJ{Ud1%k#fH{m<#gcSHfmZQWy&%hB%70+wm1%&@qi3Ngh|1cg(ehM68aYI+kjZkwe9S^vMRL zB36y#bYUk;qnT!L!7}~CT6&)e8AXx`iFj2OFK2BDY5EF9qBrU{T)bxLbf1qN(k+P9qesKXSpA{wHn*67dq6mv47#%~O1M>6Qr1;9Jk!Q+s!CzP zWS2n}kOtPbQbwKd^i{CZ&yiJ<)2i2_wH*3-H8jdpYS&=1MX+&a3>kV(n)eQWf2J*R zZU>8hj0oD+$B&O6+l}P*;a*9jMN|NnV4!IL8C2|=(Hu0>xgmHFo=Uo}Z`QdVKagWf z#TySQf_-FP9V&R6^=j2u zWhVd0?72rx4M=j$x71EPyyS&`7`KQPJhpbrrQzkP-@Lo>>jZTiF59w3_;{p zTB%WoHMQ@<$?{ryXvgOA`g$}inE%%(lsRC%~eGdEpxSjWzi>B;@ILk zxgmw>V^&D&I4C7mdt3<-K|Hp(HuyHaE^NM5=k2-c#@BB*FWNZR1@@n-89Rh##H4#8fyo}0Q&<+?yQ&XBsyJ(@OCNt0T^#%xv{*ssHusCGOGKyMZ)irdl zRWBjG3N8dndGl#UEHJ3fs$q?<;AnKv#becKaE{-u?tHi}BfO4zyo_CsotTn;0T&W2 za?S-rw?fuNHi>P>ksnpIEZ9yP%inuQkR#kj(b&w7ts>~LT`HnN4@TZN-EV%wY!Jxy zJ9S|A%ja9%Uu<~s`MDofJ`Jtgd-C5EIkdHH8l>idXx45TRWnkF!IgEXl*R#QQq5~f z;Bz?O)zhT$e>W%+C~u57fy%#QDF+D(s_@YQ0MPf-gn?C`z%htj}fjZ;NeBFB5wQ`13R8zA4p3NX#X7u2Rm(5={l zw|kXoXzslh29t0{Fnlh?{QEKdvYmcSDt~CU4y@vIz4nGWc)9$TwRyM08mij5okrwO zQ#7hi$ag8~TyD+g)NSm=?Z0ndukuU7JkXxlrIIuIj4-|TSyxxX7Ebx7mVE=UIIjAA zACvHMyuPx&OW2B7B$y@t0Gwn}kq^?4sPf@oGn$Vji2NBGR@M2$6wko(hpdgk_&8ZB zR;xLgcl+{g6*jLWH7^e9`V&n!?ecfNSC>=K(~r&4!4))KaFWc=Z=^4ki7EPf+;ry9ekz64dvy&aPSOVF^oYirw8_~wiPwIFyleVlQS>=L zA=YnbZkl|N@8H*&0yU1sjer(W#msA|sUrlQEp<##_3H7bb-lR@Z(zL6<(4Yhvndzg zWz^3i-~Rv+KYP=Wpl2>UQ`Q6E5>-;B!nrQw+uD>%35=kVRl6jJOljZlj8+ox;RV1^v zTb9!#(!gYsfi-ljQj1!6jL@i_WjxTT_MAvPB9;+U1r*(MY2O znDupv)yiO4q=nt6D04|=zGDK96jkw=DQh0g(bK$78xoML+)o=#cXQJvjftnNRwK8e zG%<4Q)#|_##hOxotfg63*H1L3_i<#;V2Ox2MO0N3+x8PQNC&Ri)k~b^llc;|orv;V zUGcR=GkKjehj|l(A1V%sg0g4jBo+KOSdU zBizSx&_Cx2dQ87K(??8+98{9gP)!QPg36sbVzPP^_&-Yi`OR2xmSPJrOK|SySuwv3j{A-oZ{|I zU;g)APWI%S&F;*-cXnoW?%eOY$ILF|yReZMc!E@4ymeb1^zhp$cam0cx%F8onKucNVa%a(ZNoPsgqXqqq3p;{o}ad zrYd_(Up(57OSpf8E8sa?!17GjX21HP>{*)JFGn1RF``k$`*yyJXGNxc{dp;PRR`a# zIE}6Y2GJxt5>@(XH^s)$f5B?Q`_{k?O-y0Sg|!L!HIa7ae@Ca@gO50AOeAa|2{wf9xaaqt{R+v=R6^g2F|^+dBOevlsZ5$ zS`|6)8bPaH;E$@au@bS8r{vYUL-(!+IA@^W#M!SWmW3^Koyr=ilA2pjNZhRvBxU8? z8@k6bdG-`pnq95}c})I$GnL&G7~=UN9~k{=F7)#0_45PE!lAbx?CL3Nrt7Wa${p0l z0>iQ8fjw~PNM%=l8J?fivKws?&K48@xBE5m`Q<+Awfk+?!j%w&>yB;sX5Po()b>DrCT9Kv1pckz)yO&3$+>!wcS-&S z&{%javF!KA!GB?V^bgdadM$RXqmD$++!1{$Co;M&{)O*S!0rLek0JbJoXh`Uw%Fj-IJN{IwsGH_yuJMvM=BaW~kt zX}v0sDsOUbu`KT=idY@8j@Ifse7vE{obb%GR~#cZGbWQq_sK^nIo-5Yb+Dc1`hS3H zv9TVp*_Ngkm4I0Wksa@ns(*kbW!p0=>Y7xSoSa*&*U3Y7fYAx(?hoUT0`4qFWl!|dlb+!>|1beX>uOuT6;Hk^70Sh+Hy)a8WDf&r?3~Z3gKC) z$%s=@!AVmAtAH2%CVIcUd-?}>Yt3qZHh9n@AQWd;`K>eg1BCK zwzk|#dgN2*{p(J&@4)(BFM(xSH}mc}J*S@XKZX2C{7yew zP<%8WKgGumR8LrW$SP=82`hP4R)2UKcqcN`Wip3j^IG&J;j_1Lpi6h{(UZyCou~yQ z(;v+NB8NSh$_Zg{_`Gue_Wd1K`=>OtKd^Ozvb&d2*B9}}QJ*ofV_48x(C$PbikI6* zG>6H!L*4yJR1&zZ#{P1;CC~YR!*S2`_a$71rsZ5ZTP8hMMC14W02adC4_T8d-3wd` z>)hb!ly_M*X$LOPi7Ro{^z~@}0JLKPfl)H&yRSXNm+O$hUH?7(v*)buIK_+)#rg^z zk`C;FQFGUff|C+Lkg|nG=n>bc@dUo#TgL&Ge*gnD*ARFrd z_l$x)xFYLq$~`x^%6S)2^K9Gqmfkp?!mk@W`;ns0{j_gI zMpikA{sHPWrk_8jJtUuYl1S>LtQ=?6UrxL}D>pqYdp&LW_>69fL1sPIqvr3nAeooh zex3@4>Yh(`ENl8USv~Qu^wSTo#Xb$~`bqoT2O%G%Te4;{H@siEUwW^M;dEGRlkhGv zNO}C2)li#svIU-uD4uqZTLn#XP_3(XzV1B0CLY!~COlsrCj)8?CcnDBD7a>)!>+O} zGvIZgG;mCwx~I*(1Zq^VyCm(gjVJA4mrTB7skCY2jP3W7jq19-rp-pn*k3IhvHgj@ zxM2IetIih?@T>q|L(18w4E6+1uHSJ?=x6o_dRy;$WrwH>M|q#EICC`p*KgPAFQ*Ll z@{1l`Td5bbYC<4Vc_U%S%an=W9g>1wjl%QfcW-IDn%&++4R4%={aEjHmv{C5ocs#U ztoaXc^a^wF-8FK@jrp|7*R#%jVtj4xZ`qXi!cOhja|?c{dCDxfVO_f78hfCnzRn&K z!msb#b8C^o#$3b6IrJSodc&JJ=`%{f=$)7Vi-O2bbny6Fh`fqn3d=2D2;m>NHA9L$ zWb7wTJp*>T1K{JF2)x_j&pc*7r2S3Xb+QWbfjth)n;hQze%x!CD8M!qs@d&vczW)FpU-~}fJY=z)UT?VQ`qmR{a==cF)WN5W^)Ee_A5TS{{Pw)B-hApUo6ovT zhXA#o-+K1&&frb)J~t^(wqDDSEJVD}JY-^@byFYTr$h#JdkGbZnrAl6d|-J}$wkGR*29=5P&n5!|aZ_n}3d3Na9wBJ4Z9@iW!#$wGeE!%1a_j}`R zK(62{c7k;wV{8_$^4|J9&2n=}K*9XSu6f>@UsVsu8^Tg0g$Inq+`=U*72e7&D|`Ak zTw|M_1nu0B0f0|gNuEJ_?0Z)tZ!1Tyld>RDvssR_Z&Y|+7~2$Xpkl{Dn?|(2y=VE3 zfixfs*NQ?&aP~{tdT-+!@-Abc^H7nUwt=GF&O_S{NbC0+v9X#K(Z8E5EC)G*`F|$v z={pYHmJjLx^F-LwBi@eqjgC1_-yj0FDK<0QuW3sC#Vcvte;XCK%Gt)Zhnzkz zo{_f|QCWPSv-(id7cC`$hleXAlYmE{)__MgcD7L>i#GF=O~6T-dL&Z+P@)dW5MCEM z!(g%UY1Oe_;u@^HdUxz6u=ToFa} z89e^bm)d)s*3a&;aT=-9!|j*-0EOOUQ$K{n8MIV3o+WK~|CrgH6W(Zp!TmID``xDR zQDx1z9+!!9&jdc+rT+t{IN$79v8uMOiY+XmeYW-7gIug;LhK2DS(Xm8`RZ754e8sop)V!G5Q+|)<3^O4)rt7w|*B^c7Dk5QSlr& zl0{pYxEEdYc8b!-Ect+D*~BbAIvKDs3Na!XY}4U&{3*2I-Fp@E{b6M?U>(FLI8Yk8 z7hwK!o7?K=kMy^G7TLh+=b)9D$mtl$2YS=5( zFN1_1kf`A>0I?_3QJl=vfQ^TzCwPWV*cCKu1)}#4FzlWXG4temMZ`6M`$1}ac|ou+ zqOcCV$>GYwQQ#jyXspVU(<;4b{id0*rhlJ=$LwU4OFfoZOzFeIudh15N-vj3{;uuV zL!od>UCYvMl9$WjXfyRzCQ4!4dBnws#Q7hG$&j_UCXBrO16>VH(gkYLR-dxg9q)wU zGj(DnTo*iV2kcY9IS!N>lt@DL7sevEKCesbcfzfP%Gf7QR|6HVu(Q6^emSJzpuJu+ zIj}}tfYVLjI%Ol}88mC=c~7(OD*NJf68sNf4tbQnNcDZS5WDr1#MU*43n2&~F56`? zj;&Vl*mXpkzb_p_5g)%Xe_g@QZdAPCX7gfkiJFU~nmv8=7?!squGk6z?s%xQ0 zC|~RKphb(8oU~Q(Cu>FY^|_xFK4(uHJtQUFy(I66TE9$q8@V*BKL>}ma{3w&_5aq^ zpU{Iq+U!~cy_^o%NN-Lq4%kjcN1ZAfAr)(hQ>q3#N8okgojit29)%|-gLlxBZ9Pxe zm3iB_We;c#Z)kJAxU?!V2Uk1={Z@8o?$#=)@mZuQztebk>%*unS)>u9iz-c_0?uzs zqQ_(em}V@#Z>L(ytIOCz)f(zo>!MZn^ha^#o>q>EmT+Sp5WVX5RJck>c@~AaMnmsj z6+T7CAyK0C95-@mjPj`GehT?1w|VdIu==wEBw8j1mX%|GplH$@CMCh2y>1o;Q9t%O z-!)P7wWk*tY~uCJw-P})Iiq+J(n+(085Cmqr)w14=*h}{blpDQfpx#ZZ?H`Xj$!Oqv(|EWMA9%}gjBn(!V$n?rNiQ}rG8s!3C0d47LF(&aN3 zJ;0?Y-X{M`Te)KPLT6>tIWnPaS2l}^%+KI2d2G>in$;^|pEO8VEV_`8^JvsKFe<)Y zGv?YA#0nyf^RTn7(NCO2Xvm-g?C2f1a=DuHnMWySZ+kCa4(u=sP_4N?*(gTSqbiuBqoo7+B7ox(Cc#c@K-ax@cVAlVS=wYc ztlNCbwA9LNexgSzv=vAiSc*22R-R7nlT8J&SiQKun@G<9q9No0R78U*$QxRDs;n)? zRb&79%nkFp^s)xc_3*H%uJLk_&QiOHM_VVoQ@Fh{JyMI4^cn=mug2ebv>fa_UnV9i?5VPErmOeK?NPVgI&*Prf zNk<>mt20~takUN~&^@CsO&#yoi}*+(**DC@nO++#J16G~Nx8cd1?33F&X>E+Nx@a9 z{6#fHw|?U$smr)mC|%MioF>G~CXq?vqTno}NMM0B&*AHi!kw++x@WI6EoSC^_lUl- zK$wDB=;TxnQ_*M?d3}rDS8qDz}Y&Vq+GH(!d)Uy ze^gS6zNBac)zR;ZFf7Ahm^7vr!`wpC#?!+mslUMUGmop7ndzC|$)28>hKob{mK49$ zM|$LzG8$CN?S^@eo4MG?+ta7PRdx2BT`C1iUCvzAyN-rKQPVb8;_|1oS@w$YZ6q9I zvu!ZRCogeDEC`dIu^?(VqZ%F0B7>!KqSNh(r(=8c0!x-m@=#-QW8N6gqF;w9{Rk}+ zj2C-xY<#9XU2lbv=SvjZN?D#>Nze+OoCAouVKqwk*Hv-Fd&|dU_ZL=>lL;obTF_t8 zl&{)F1-WzPo+P&O%^_jjM$7T}Nm?#A(2lF3`2eV)T+vF}zFxzy zf}$l1dyL?r5G|eRh)5x+;rmcXWgIblB$I~+6 z!@*O8obzwRaEGb%Xocf&7hI}T-s!fXmduIE`W9~Z{z=OR(UdXIl->K@4&?g#h(5Fn7+wwOh<#|e28HG1Zm^nJ`NfC)*Tzj7{ zzWer#sje=MT`i;7!~#<-A(YgZ16`qBxwR{^wj?8%1XTv9fpYGx-L3Y9t|y@l6{XI_ zaQd6M6wY+pf`Rntlhox7;^t1iVwULPn^B+5?jbfA_9E6tuj+F1jqVK0WLOEuIy^e& zPZr{x$aRIl&{~E&tmo`q+bvRok+aW~2bO!TMmLuUoKGWc;!7!$EEo0aPPfjTuDDp7Y=+vHZoZ4+35}a1pV%s zOdL^KNz>Lt1m_|qrIq18nQzkfIVqbLu`ok@QksMDU^a?Aus=#%8lVj0b;-Of7UZwfNt7- z4r7@v7Ru%^xQQcQv7-w=R0+ zp^O3=k3fQUjc)wWzpU_SZL^v-sG{o2XAM4DRj7iAmk^HiqP(LSOiR4hcn|yL_vLsT zpz7>i9Mak$${HHczPQ8hq(-=^&vgqVDzrAENMP$vXr~wd0Ae`nzeEoPPqS9^6%=kB zQlKgGkS(=8`>}f|jLVIv*y!X|yT{UWZWG4Gvl~hX=P~o`_!EClrztpX{va&NL|B7D z(un8K;h8j<4ae9%%9E|LS&AH!2>O})`uP2BUTf((_r-s-Cy#ewy62DzC+3w7LULy4 zK*-$FY#}SZd{mO^@>jsQd|7$co?kR3!upR@MY$Q7SB6~Q9*iUioijP_f|cA~ew3?` z#Gv`57vZ;~{~15!%Io@Gl-|UcVl(vJ_hA@IV;f`V`6YpcLblF)bc5AEe$nuKcM_1ADG;Rimi42Cx(TnjyugVOtBWho-hlkF-30 z9`vL4X4d%IcVqL5v$`UP* z-!+s!w*!Uyvnq^JdmmW5Uf z7RX3ma$f9>Dei0LJMGoZ3oBy7$qZ!g#=_(EG{~3H`Asiuysk6|3<&C@Xolnxxf&lLPT*_=d^eRuWgRuzT&6WDxCGxhEB(`&$AZ+A0aRS*DC_Aobf>CUg06<< zP4r!2agXBOoZ{Q-Ph6=jXY<994xS@Pe~Qd`BMj(RuJq&T?o`Ke0^EI%CQRNrN4{ib zs#X5B^)y*1P*(Pcv~|b)AhaqEtOV+6(-d*c@kTQ*Z>^^2V1L#a{Ys+Cyd)XOaosE7 z-Tu7zR9&dl2=lio>oL-?w>rsPjf4)-o)IS?W?MXv9v7OlR^o2QH$jX4OcXH86* zg{R=X6W-opZ|EdD(VpDc4;U$fM@spH6)SykEMBwDVK6pc%vy;?_`VCzQuO{eB0jgq zDt~ggG0E!4mvBUBQyY_l63~*wd_I~A%pM&2yQ7e%zxG0=ysLhpuUIwA6asSQld}@cAnuu}kj-DgLUEKmzBKtw0(xTF0A(_>0 z3M&rlBAO0tpD%lKXfb9t*!h@*)X~DGyoW?oc;*Vyn`sY;P!j;q0>iw5R@{_+*1VQ1!nXzH#CAdk+uuvd;`nH_cVR56;pIdNh)`a4ja z|4uPO(_O?^^T13uoSU63b|1I1C`=fWN!5nid~iWIr(cp5R~-!s$=03~uW*ze{VRTu z#)O^6s@VlPFGH@27E#|mX%)cBcfetdqy*azT%zm4+KGZcx%B;HD`z$a4$n4t%B>*> z9RY|&!q;!iXNU5V9o+|A7q@j23EZ?*V{dy5E%pIN_f;ILr=MNsTq=|k-jSL;r5v61 z*AR#5uoEq9ejja6UDenyMs~ssCF%eTDRLGEj&kH4SuTIvm5jFovqb18{|2`WH_;gF z;%Vy=&olnw#L^%BuC=R3BU~b*c2I~BAtWpTV6!b&Z{Yh7LV>>I_f4e5;#{_0Ku9oe z_qtnOm%S1DW^O{@g*`Ncu3MY6?%t@1z*csie=boY*XGz>24R=qN}EH%Z(Lr`+Ng`m z!M?cS4<1lffsf8y^5KJ+4)7qmUF!WL#|%a+WZ>~mHZ|a3J}}k(b@Eheu?bRV|CjBv z(6(;IcTQO8{I$c4;Fhto&F%O0H@*_Q`YnGp0;*l9cpc-9klrMDg5nKrLV@p)8idh; zXg{IEdZUSBsZ-Ad&zUP}0cGwU97*(Bb7w|Ngr_=o2jo}bYom4KWI8;83|xd!v*Mvp zT~*O^h>icUsFSf3=nGBWfWaBFspcmw$P6cJ%h(R&h5d%kvekf z^>bS8N7COHSNJ2h-#rV+ZcdPX&>ON{^P@JPS`RfpiiyK%_jK}^M5(cjobQ>vIdr;$ z>|G%FuA$ng@w@u0b-@nM4Pxaf`gjjX4QIk>hibjtW#$)QtgZXvQBn|Uw`2PlyFRv?QHK_#@iGh6D@Qmd+u@S?XyEtu$b!vp zndkzF>p^S$hHT=P&)hC~Yh?2W#+JNgP2U?3JGP19^fg9iKPi&_)C!QtJ}#gR;gU9J zUULZ2E|ZBEY0@@eI`J3(O-QJ4!1(2{OG)0~H7QeiB#>qX1%s4U_Te zI4`b976GR*XcZg2=vNgT<@sP|0;~Yw3@m}@i3(PbjQc3n(E4NEJ|dqAYfEHpF_3dD!GLwAu zXkH;3(hrPu{WpZQiRq#@uKk|)@cpEv9W<{1N~#sn-`!rX_hY`3n=dB=ahor@lzb6_ z4HcjLJL~ETkD;Q;fb!e+rk+C4veTk%Gv-HmxeugME35(o}Ud=TKbJKQ)XhqXl z0&!vXGdt66S=@wr@7_fob+z~KiFuhn=`KN;NUA(VxDItD6)sh*lC=d5J(h6;6?uBu zG0Mb(D_7P19Vb-(vfsuoBWhDX9*@e~$B%^HR6dV|AymIPah@3U_EdX39c;ke z_&%6fM>2DKdKX&VAZ@S+a^2}%In&RUB_cX@l*`OKH*LGbMQHHfQ!+)9aV~0_8$T+hV^@zT z?5nkV*F|Qa=S$MVM7b6}9_TgS_VgUb7M|W-4M67$kzA1?Mj!!5_IF-ux?@IIAP~Ke zG0s9#7$9%Muf+iZ*h+&UqBBb#wZk8m>#d0E6b{@EElS*p!d3w+r(JSo$0bJ(>tmM8 zRxcpSG;@C{K>+pcN6{VsH+NQuFQ1FZy4w9ejZ=PQV+CsuHhq;oX@jY!f8#;#al1=9 z= z&FFNqM<1KAzVoU9wZkcQ`tgNA+d1fc$rfsL(DsT}9KKgn0w+0Rrriux_nMX+(4j3% z`?CX8X|Y52`(s(<>+|QabHOdY!NtXkH1TAzOce*cV}%V$@~jIJ%(5se=$$aynQ|kR5LGPlVSI$M0)6%El&%Z9h2uuoAQG#AqHzif@r`_a z>_*YUjNX2ZE7)^RjS24EM zRm3@!biqRLcZ^l@H{H#?Z6sI%sqrb90}QJ($E~9@>vDc*#`@A^-NvTvOB!;+uipM=fSrT&2gi#?T6VQCr$C|Gw&Jv_`4BP* z^0H(JXpXY4BD`-_iQxj*&a9ecs?qcwrd*Wifz;`I6~Dn%o=VAg0uBgnLo zBc3#QOGSs(ANhX(R!!O_LWlOtVXdR|>9ky)2K|7%H5TpEF*KcIeB!q*AG$O&npkaP z(b}}i-@}msw45(p!6U%|Zu@Pr2qkT#_F?FjW=O;<@_l+b4pSyjPoOwPSwDr%K}B7x zZH{Hv3hD0$8N=eHzLH}jY_0bh^#z%~izbd_EEKZ7THA4<*p9irr*Ur@ro8Ev$W)r8 z%&2{5ylQx;TSQ+KieaAjnR{s7d~CW}axbVytUmb^-`bE^05D9M0CNZ_JFGqW{%Bg& zDi+!O4QLIAPUVa(i+#L;2V2QqeohSS6lr=|bCjm|`Ax*%GsLR(J+mp3i&`~~+vRqG zS)0pF;sizt$`ww(mqIAVINsEaK0*inpVCqOoZC1=b%}wgDb$#ErK@$4lm*2gy?hH^ zzhqC%%sh6H{_z$2MqWb-Ro3#h;>Wc6uO=0lW`ExMV{LaQEYV-L->25i>U&P0*|DWO z4Bme{1v54s#ip3nW~^#*-(^XcUsPzk*D_~)Dy_;cTXmlba;0)i+d2Ed?WdPsR&IyY zoRK;L3ita5p!#sx>D2fK-HpM{U4pzyHhnvBzknUs8KzrXD%=_F7B7uHVazota61J0 zBssN{1DRnnG>2*6$RjEVj@f_+A8tVFc%`bUh6+Jcq>9FD1om(SX##3!NO5GXu~ea2 zUo#ZV!eZKcs!ltW+m8yJ_>MF5fM)i6`?x zH9?HB4o&3j0^~`qB(m}juBo-z9<|#mP-9qPhiqa`)aJUe+Auq^j;*s8ir|$4b$^KZ~Cl+aA ztwV>;wuQ7?NHcBzHeX-fJI-0_!;W`4FK#GZ_Cnm)j3~ z2DEZ5voc<8sum!Fq6jDGe}~)}wetrU(*$;HvB2s1)^FKHEs=9Jy;=x6V|c9H$N9%w z`60~)+oN>LeFjNZzaurcbv5t}Sr5w5n}jJTs+CY55iB;OS+Q=8jF4`$V}jyE^*K28 z``}?b=R8YKTZR({OLrWpkwPE?dg-1}879=Fx1E&e{2u#5ReHbq(If>|cB>@^aMbAm=_U9*;<>ig2K>qRGHg zqPGdLtQxdQ2uF^$SoZ=*pE!efBtFx-G|YWg z9-^%W&+o@7;};;tFHyOKj}Di!uw<3#_OZ-ZS3V{qVyRi6AcqnXqrNK>IkfeNkhbFo z^pl=<8mPemysfz)M3+6q(F$?xru+Rn13I+70}tch3T6_<&xB}k#rh2=>JK;0><>V9g^DjAHvOknA^PKwf( zPggr@>7n>5n}33EQrh}jolL;~=$BVj>nMFWG8P#%V6xS~`gu(i0hWU{%~-c2W9wFB z%>7BMC2SU&!TwvKS7pzq++VvJ+)E{FGN1!hpWPw=fUuIVGkc4)CEOX8o6sk=-M(D)9Y(=G;iYVN-Xg7bJ(JII5Hn#0kiGEObC_*j1KzLusee^NXNC!0q^L_9B zRM=XT36B(~Do2B@jes_KZFtjK$+)2r(R_#eCx3&l${|I?bA(<^ z0fW`WCk&#l4pzeUAi-I(y&CVz1{O~Rif`bA#%B77RmZgl^rXpaRXbGdAZ+S?fPsYd z0cGq{(2W=7c`5ZSn#Q!lcRQ!=3c=qHK?fQ05#K4e^%%Jsk911Cr4|J8VFIbh2impc z(jI!xoWfR2tJEU1f*@9On^K}hcboZn2_>qQEzthYhL52o!`X%$p;^6?Nwoz7 za(~ZbD=d1YBQOMZb*POCUJM4bFiXe0L+P55lMM>+!Z#qz15yIbrM+~lNl%f;F|*aN z$lPfSz60Z>r#%|j7-!6Fm2@Tj&J3&EJoldD^tx-+LAbBzAYjw%&vOHzQDReh4icy6 zKij;V=aM(fA|U)4T6S*4q{S9p`~2HzWjnZ6mT}4K&Z^If0t7WXDjqTxFZPu*uT{abxXN(;Jgm723UUZ5mq0`nW>nW*tG!e# zORy9{t8yd%`PXhmAYu^XMgG?3>_mbUQ`nRTSm&GDusK>Z%aox+_nyP1k${zmFMpvr zNb5%k_1-V(DOc^KN=#32Cee%z;_l8fZ7lPKKZ1G?mv7MUNp8$O@^t#rDoT5YvG=x^ z{mWV6is^Z?d!8(s8q!R+GgqJUSUK67%e{6$|VZ4<`0a+8*# zw)#-{W)yv7o3b4FHKofNY95>F@~UPcfa-?DB*H!FkP@*A1J-U(W_TKiWw1lCadnyL ze6aBcsyA~5c^u`@wwK>n58-L{o1n9-%Oiq?myPaP*BU_dA3K&*JsVI-?)wok@(mt) zY$@K*(08?%ROTg&AUq4E;i-w>wlJY*Y3Chwd=BEjz_vl_x@0SdL36 zNJXr}f+mccoh?rQyi5sYVk<7Lp(f@($PvpDoYQ{9ij!NRfP)a+ahItZjVUWlWntR> zlHJ;Bz>!N3>x#iyYI33G*s5dS7A6M5H=faW?bI1WRVtjNoSt73BwZgwEj&L*9*KR$ ztABaSDI)z@mgCs>1Q1UC_yHc4=#`Bdb4RJd`PS`p%hSoAP25WOTSTn~=S3%cA61vP zlAL9yJDNY04P4t{csK|`NN$sJ1FI)%&rjDi(;StBB`V-vbb z=|@=u+_l4avrY&Sr>Z0~XYE5>KUL3MgAvf%#liBRftf!X*6cNO+Cuy_GK=@p% zsG6*hZ9I*^eKsP2-rG-Or>~Ztha!QIIF%RJ4Df&sg)@%~OLRNhMQ-)KJT4P?L z!UaYgtk)B414s&ri@5g7o9SmWnsbEHbuk$+@bT&yq%uqc6MrKz`FQ2tV}ID zc@A|(^fP$S?0MGjj*ykt?W6Up^Xvvu%h0vXKx(lr%PPxn=g*%SE)dr;-}XEWot#r8oJ4meVN{#TBr+i411PS~c)y+K=GR{fHbgFe@JHwjlPTot%f zoCfu9c^)NpqWp-R;VXVvO8**07Tg#cE#Y_1T$R7X+RTn0;B6TdP}%1An$o{he-FX1 zH0yrPiP>`A2A7S(9Bu>y_^sz{PHirkoOmu969-N)a0gXA{Oq0?T>JX_^rB9?4S48o zY)=;KnV4@9LqQA#gThjfA#giw{8ukjVf#M`EGeE5{WMdC%-WpHJ4yO?U>~?D+syte zY3HI|-QYN7MqM4u4ppE_+!2JEv(FOq${d!$RRcQLhnM5G(=80MAcq^tQvn*F!wD~) zJ*Cg@zu!S~cw4Y<{-+_=RYS;5{ko0iKLDko0wav^!ym4Y9mfAU7A&Q2Rk&yX)>(K8 zg~8<-@i)H8S|Rxpe(s@g#1(R{57*R>Bc*@O0dB!_gNASz)JdP?nWxWX$q^%EAv|%! ztRXh>9&TaA#0lb8$$tQVJNGm2@V}ZDrD0ctZ2?;bEg}D@yVVSrs@H3!XB-Z^!$gEb z^Zbcp3vp9GPOuD z6#0RKMTMCrdbt=!l?mn?^IXGUZ(3RSwTx&^By2N8{gPp$8Zj1Ne4;(?Qu-{Zq+-bFNiWydkSP0_*+cDX zeGym+cQ`&@94T6kQa_JEp5~|+^=AsOLN*w2NDck>S0)?T&meOKg=r=r%V5hb0|1p^ zR0&H^Fn|4hj-fdcQt$nR`)q(Tf1<3p-B!>Pkm0jkuPmBAl40D`-$wm)6z^rvA$x(AWu5lQG zQW!cW4Fb7&9)LKWqaU7i(|+wsnnFa3KaIYX60JBc1}Z~50Pq9-U2+RWy+rX;1uDL5 zu{>(ys! zyP%>5BZbHU;t>J7BQ$-+-0|*VYh&T|J&x;pp3P;DzL5KIHgR8z`DIyg1PPi1P*Q~d zIE51)!#)!DuT34@pZE}@7XfB4?F#}BN)(%PetPR9hhkzTIa6@}2`w0Tk&&dhJaSs) za?ha#d^$w|AlTH0+7|**idZ3Jckw3 z;@mSl^nHl!=bO2oK1$M@y&h5X6pPaYfAPZ8}bg*t~) zHnsM#$D&Tmva>yHI(0(8m`nSM_TE7hAl;$ljT9nB69S}x0nsT`dQQV~ zVs&*#`@2W68>t6p2SdgPYE=_u0r&s}gal@^O{4HrF6kzvq8YQi|K8o`>V$D|Ny);{ zWE0@-P_s1RI8iG*7K!b&!L=6uRB;BF?GhEUBTtZ_tb#;XZXupDo`;?67nKlh>O-Q? zR9qDsxTj4I2OkK1mr+U+gvLM!G5c`4K`+ZUb~PnWpXn=~g%Hbl;vD9Dp3~Yn9F2~+s>>$ThY zK~;;iAPZV{)LuYXZ7wdpGpr@s8i)xHdSJF#?7~(o6gTFUMhzyj!j-lMpfVr;t)qEM zi^FJsh`XUEby)|e(xCxDd60sl3iF2<#3hXJfr1Qm!+Nq%{RX7Mk#+-KuX9wzdhwNL zG{sO1*?6g38tkvcVXXjJhD3Q(ZgFg3#F=O`2Ea5!gcK5Qa6B%6CPp6#NPxtYF2@^% z1Q4fb05Tv-18~JrgK?2?X#qhd#`tLLQL^IDAOKVmNe;7FH!5-Z6H<%>Qaq4ST#hIa zh?|6l6hh082mmCif1tsTVCdtPK;qzIMgXW`;`Y%Lkc)@V(g4r_@htQjS&$qJpbtJ=A>qP>2Oy!MTIGtH;Q|SxfvNxi4FHXX zze%S0&HH!Z+aag`;M_PsA}Hi5&0!i1KB6lC$cT$&heivk=cVaIM5CNWiWg@YKL=H}^&CqfY6hQYu8-_nN$QRm;JVKSlJ5L|mtOTtbE2#D2&%?d83ohj+yZ zKa|?titfL;{%A$=`s4XaUfa^iWA0?}Tm@`lUWEb!I;@b;984;c3k1TbK&S`N({!LDCI|?1E zWuCrGoM#>p6j#vvzhd4x%K>aZCWqjERI7*)z2{piXxLs0xfR0k+3=Vd!=ZhtDP^S# z!|Uo6){J#{~~f4%zV=lPQk z#lVT0?dEO%dD`Zi#nLZajn6u7bE5xVU8v6b`^LFtlpx+iuw{n;70#Q$e&=i+ z?~4E}9{-xnuJvDwD#}n5(zuA?ypZBh5kj@pZl;+m2nD%^r_$2g;S|j^u zVtzUk+B(?cl>r> zGR`Js*Ndd|;%Pqri;v&Xr?@zu?~`#p$Ul1ioQN{zy-(ZD(POM(JXRcmB2hd)J~F*?acxUETe3b=6Z{SHNw7+x@4#Znt3?PdeOu z!cu=~MD2jl2R(3~yAP63Xa{X}ZjHCpOV`gdbMnT_uoAW-vEzA15BL6X<#jq&H@y1L z>+#Y?=|RUn;PylP04Bu2nF3Ldi6yiKJ=Tp|YTzE4>x9t9Qf|vuKbIRlt)$^4|I6x_ ztT+nW`p$IpPVfhq=-)ys~k&X*M)shB9!<0ruf4raZH|f|c>iW}L20nqVmU0b& zcd`@5$OAamp=xu&tLk~|L)rNw1wJnYn{R5&b5d!fsxEQ)eva8JEk$Rauv4f_Z;{hUgOJ{U3RLPb|z41qwdf@0^Jz@uXVLHM))3;Xh?2jq2sPV+cb;ae`mdJJfy?bqt_|t>NbB zf06F&RD#y38t@X|HtbdmDFCsv&6@vW4sfE4_UqV@EuRPXht;LZTqG#Pz*Jv>SK9Oi z0FW!<3to$D{n>L%g$dhMI9Y}L(>W5_?QhGr6M zzP^kMTqS;1HCUToZyEmm{nUG?`%xnUT1KF3;nMB*88UId01Wyip%eX5_%7>s;nnZ4O<_i86dgo=#q1y%d157ku*$_biCUE_Strr@kH$tyMtK zNZNbtSG_OW+v3vodVxDZFrY;^LFCHSQuwX<pMglxMs)+!3G%EYZ35PNk-Tt}r0!@HiRff-vL znA6*zWQVuBh=&EXAy!ta`EIvT{G8orbSs-NjSL&@=j9*GN@qJLx}uj=CvQg%Fs4Pe zk`y_|{zv?0H`bJjUp9HkfhqN+ycYGDNiX;S3D>FOf13tiEO=;B3pfA-OY@7OYsS9) z2e#O?_kkA`&cuY<0Ao$Ou z(pdNFnZ0A>ruxj|?r~ku@&%__+cx}}EDV(X?OM%DY~6a6QnDWshK8He>8ZbTtQ}tV z99nILW3OcY+g42WQhERFi*Ec|=YCVuz1wP}oc*G;Kz*vL1Nz2MN6r3B!PU%k^USE$M_WxPeShsL&%Gs|43EepV2bN_x6u0VW$VMB zo%PANT(Y)67qimT75!gOS)1>tXKuj&JtFCztFm;@M*>+}J!-;-k!uj{$*HOnEA)En zN1FatM%xdQ|ATbtBdV*H!woOcvo3kj zyl)X?9Nq(vN?+(tRTqEsLH zp|6DQc6Sa}8Ct0Vq9@;5b<(@lD8-xqA&LnIrj(MO6BRV&&WYUA;Nrh{1t6G zu6F!_(2c5 zwiy3;>FTx$H{oxhfMdHpTB8|vYcD6O*J&L9Drdml|G@IU__~tjJ-v$&|D7oes!O&d zA9IzUa50+fNJb0jdkb}1C)!1JoAV;6be}OkqO*fpS35NGUHsUY$Yq7lbT` zl!s+6-TUPSGK=v{oj7DZ;Y-|?XPke59yspdtNB*=GkN}`WYbEehc7SYv~7e{lWG=j z1+?IUhT8a0RF-|HYw98k-xCpfk>8yL?Ua`a#!)IiMxX&rOOo8-1o-`dfw|>50bRd00`QsL$Z(Nd;PW# z1~1x+DOTLmPs8Jt!+GcklqS^YnbtY(U%kbSVdK>eD~>7axLi46P9X9=s1Si3y{*2V zD%~Okr!ztb2cC*537t*hPaWwb^3MID75j-!=lx6&hdu{^nWyY0)9e0Oan~tv+<`UY zKYpU4QsVT&w*ULYmO+G)Eivw;h-g4uJl3!4D*NmIh$5^X5Qt^b%CCjD!r3o!`E~uD zUjmz*6v1BuTO2S04~k3cj|gMucJl%aPs_yIUx2=`gwv!zSSo+$FPdq9X7EaWTev## zFX$_*a;`_U$*Mv5gTb+1RS3058YO!J6%%~~v-Ct*y$}gfDu3PbKFds%r5N5 zO&wv%W(*R|pAgGH|3sC(4EG<5Ibxe)AC-)*+{851nrHgUW1!_%f z5NYUV+(IrB8&I&0vAH@b-5I7sHnuKeM*gf~OsuO7r`@})>|jd@kuvdy zh0DJ*Ny($7C`pD|s?NNx%iz~49t*WmHR;(UT*z&x!pm09&-@t%r!QZQ)@i9kY^Hwj zQtrhwN(QCb@7wf(_rS{|V4p~Q2wh7xJSJ{l5-W;JPDU{?E)EsuvSvP&0ZltY>O;1Q z#C`wI0U+IH{BC_Koek$c9ttbIJs_M<=MzME(`j`#ky6ICZ>+BM%bFolD z@w!UyoQqfsOmPqEp9uQvW{dBXs4azPj(XERub%X_sJKDpby#bs*B*hVDpk4p3&J1T zeUmdXi6S*w@mrC2RN$`8iGl|w{0fzuBUWZ2LX`U1HSOEws|iIN&mcgw5FsRgZa1)7;?n+#0+WZ{T(0@&~_+%hPymN0Qu zu|Gp64V(4^M1^z6rkxI#FFdy+x7qVC44jk_rGC_Cw5#2xBt!e9o2g$L`~japyiN z2g?HmwR3q{RW3<7E`2{sbL`hM(@nmp}6RJ@l;B9jprN_nKglvmU<=RzMMMu2}`*i8Mf<6a15qGZ58=;(KLEfhm%0X38tc-n$6TClx}Q@W;^ zjljny{BrbK{lm*;Lok$`?m@$SrYkk)$;9P%g(o)sQ@VycS{K}KLKZu*CGQY+xPE11 z=&6Gs7qM_K2z3?Wq?OhV?hEHz#erZWX=x`N@02>C=!raq&ez zks&-~r!2aV_^Q!ZzUmmrd!RW%?_>8Iz0xs`&=g7hY{az0VRUGM-yToJr%5kJ@X63m zwD#Pm;+Ce@^MAKo-`PiPGzmA>kahBjix=ec{tFVE8BO-+G!xRU#GbrvCCMx7_U-Vr zR+g21$0w;mxH%H>L3^ z#ad1BBp9NiZ7&aQ&M#|z@ais3tRlnk<2Kl2Of1!K5!7En9}5e58zH z14bzFvYecQ>AJiQ@z;;y5bT~gBl?OET}#^b0Sm6kx!RM^H^|A1rleiX<*D+)blUhK zZ^}xS&@+u;Va?IySrN7QtC&petO zg)Dv1>%|U<2^?Hlb4kA|&(LalqDH(zBQf2=BcfnjcuM#l^`N0#e)-TI-)6w!0zyOxvDa=M1))wg7Ef)PjgXHkoi*EAQ;UX#`z%S7>sEA1o zQ7KE>>+?*ey3Y0Yg{zIeC5CV-5hEKm>ZY^eaGV4R<*LeF&8^uJee{GgzsUSZ}Yw^NQD3x_tXw4{u7^+^FMNIb7 zO6UwPs;^>U%|d6C=A;S{`G|y-^9}Oj`AF9?82K+qE!?AmwkY{+k+^}P^p))nEgphu zFm~q-MuRg7gUD5N#dW$i`~#%)C?kV)vT7i79Bj#-V5=jC+$G~l8rhL!S?5MI6_A%T zd2671W(tX-HK7r{sji1-Vba5bkIWo*VaD@7Q5J|K-uXhEpE&OpG!({S=vhd_1lh6* zh#;Y%6N^?n;rL*8s;WGb=R(>69dIymi1H5W86qN2dz-gDz6j>h*E*k!S@ZGIcE*t? ztTitp2&r0(CPYas@8qbh@`)&O1dAILOAK-hkl=FR6jD;k(Cu*{??z&$>x62vvBgR9*ilL(_$oga0>+EJ-eBZy*g!0O!$NRjJ0q-;xmI|nx@>AN z$Qd4XpJ^564XT6@JC4i5+MNJ33M9YtKF3osG-sSzGZ+q@QYm6aVP&l!C#A%d>pA-8nazYK#Qu?)(BM%;)%><892c%eU zsRz^$u`~l48{KKQ2p9|&)NrE4ma#g> zO_tw6S7U#9qT*50aw&ep^$^<|Lxw|UDf-UoRsB?7kBy#b(T5;S<5z|p;~M-cvdwZ^ z2EX1-`jAXOBP5ksffl(?LS9~{coPeT3PhzYgo2D|6iXQ{*AYp{c_-Ioz|P){ zrL&Yk@u)+VpfaK8M!<*t2?Ot25=o&&_i`&AQ3xUf7mLv^Oz+(?jxr8>$!X=UA3h~1 z80K`2?+w9ny;k|`5xYRV`J6v;C*H7H=G)dZk`L^&`E2Z}L@?B$|68h^|3TEO*8G_s z%}ynn%T3rCVeofIayxz>&^V<`Vydv3vC`_e?$MzKy5fxRfsJe{bchioMLJUTbV<%6 zrj4PfV(V$^Zl36z3qC;v`1Ps8!Lcq&Ii5AWiRzBqiy?5}WLUj$F}Z$X76CDx^nzAc zYXVph6}9DWHFUxj1?NISb9+IwD?>Q*fy>v-|5Rq)HJZ=X+CC8+`lUSi>@DH)}U(dPxWHJ7Df?pGuN5vpJNN$ zrVA10%C;2H{w0I)%bM7wgrm@M7Rww*r`e`c=qn+X2?YIqOHaMiRcqjoeYuW>zsIX) zN|AqGj=+f6S-z2Ouh2)yfPu+L*r zu~*4E9}&HdoCt}%0_J*(NWQnggCsym$$Q79w)n3<%~B)47Bj}ADr^~ERTqcglrAT4 zZs+_89r|ppo29?4gEEfOIkd__m1uKPvFE)uBJ%EfWcO|79Tn7OTXI01%9@4nm5|lj z-LO1W!xXxrCPFkbUvT_yR+(MQ!HnwTvjFuCo7=2BxtoY2*3osC}9ZMGzY70cAG)VALyUZE8ce!eP3x>MU ziDzXGY>ifyqahwgA94n`LI9?dj4IQQ2_Z4pi1aVW79)Nkl#<8{Dx}Ib1toS?w!22ZEAx>3YH^_*1PV?91A4DW5vb_{P>1{gv64C zrP44Azr*ihtd7$fy}jPXQ3Az7vX? zv4y$OZ!fHCf-+$89%m7fdAb>6>0k2(#~>2r9@nBc2~=rk1Z1-KF$bI*xP3=+zbeht z@lR>dDaWL1G|Zgx7N)Pj_-#}@8({4_!)(ljLs+@Z5(8<7+HXyJ6m8b3Z(WN4>Jxy~ zPFQAjNN)2cc^`NF93@G}e;eHGxR_$$`yTDFzYX6c-vB zr6yaeT-W0ml)@M?NhcNBak8ACZ z(a_DOSfyo4$(eZE%2k_V$I5oz6zQD(cxKEhlsibhY0#Q2XC}@<+jkyJob{DXRBOl# z<1}+momleAk4ka=RbVG=X1)HY`LSf)*YE#=DE0CCF6$5}lbTq_*nUsq6q>%VFWY8m zjVFjs;G|_7j_`aRr0Y~Sy$gc76>88x9HBgyLc?j3I>GNyika6y!N@XhBa9x+c*SeM zzz|v4UfQ-R3WZ`#6U5M1XL9r37OQ4X3YIWYy!SsAo#q(Ua!}Rd33k4S;qzNW!=6axa#!jSZr4f3g&9 z$kkL6;)Q>*DP!5qvClvwY}hMLnTd1i=TO`bEko!GGI{H`B`Lfc$Z|MqJ#FhZutd2R zMIs=Zst9m+XA+t+KDku6XFK-k6Br1(cYTj-Gc0%h={;;3+A9SaA?4rWsX?{FzPS^_ zb|j{~oZevCIcWfPB+gb9B(m}DE+L?P{K<*Zr5liaU~i*y^M39iM|N#DnSK4SI2M&& zmnOWT;yNu6S1u#W+pCn;b#k2BD=XOx$0+khF3a8FU;-*)MPY!oX1x(2{|K&?!!Es) z4lOdU(>UMnQ**@vl@%O91HY47m}#!nW7R^euAh^QX79MCmXB$0wJ)p_Kjyt%RNOQV zoJpVC(`t3F&1Nm_k5yhg^yZCbA%I<>nl~bM2#*YN9}i$DSfzubVsn&4M3V=sXObHQ(+}47Zu?^*t|me+3)nlop|%Uq%y* zx~j?&XTl%MrZNTD$`*-q6vFTUptQP`<}3gL`#uB4`A8#rsQ zao{g59g{|;&7g@Votcnjg&g|2PQF6vV8U9TVyJCRLeYWEGVZTe8h9L^l`bLkZwP1q ziSx7HI>tT6^6`<;tcIfRs&bo7aQ^E}i;&G2vHQdbsu=YZvJ6U>&f(n0@<@(gFw2f^ zV9QVY2sEJyRKfTbiaWPwia!~FA6R2td3)n{$u?;W7KiRIB(d4bsmJzVQzUaC_FK;d zmO<>?!EyB$J9L+Yn?RuFr%If z+TLs5x2g3CjwH8cXKDX+Splz?ry~>(8ZbBtA6eX5Tf6UmWXVmj$7^{tC?h=QKdARn zA>mkMZ0*B9u4*>lJ{LQ_mPf}iLiw8KUOsFe?riwu91(COm3HFyT3eu@*12B&}k zzX4b1n5SSzSS;2k9sW($U^o>rAkot|m13%YV z-=0gyl#`z-=7hy|gCU)JqBJ(aN0xKr`g%=%mwd}s&pd@>B%pV+Sez)CYm_!K9URPx zrw0iQirrl7iLmPp9PmBu@u?ocjM2;z-Gf9 zQFghB9E^eAoa71l@_ONW798K?x9(M=povlEdenFJ(}td=19b{Xr4#*jdXG5FRLwyh zu?l7<`zRTnBI%bGD%_#tBT79jtgoOgM3lr`+0Kz&U%C;R1;_z*0j)_=DD-qQTmvVM zChmy|Rblmw2vQqk=_riA+l$^eZqZnya5lB$Itp0&EN*kj2(^Use0%;{BCkGpl@W__ z5yB9~{wR?2l`<{%QyZ|*2CU?Tr7ZOkb{E((SvJf5 zf?AHlcKd0~OUfA4KtVXBj5>2(P;J!^xMw7%n8}HnQ6>fv?GXjF;`>k438xohJxLc} z7zP<*k15=Tu{gn9iRCS{Q%rfIQ155;+@6A%u$3xexRwIu520E~_^ccV2ZyEK7jTx7 zsTQOg;x)?_6bFyX)AO9@P+(VDF}xu2_wdbT@%~wO_>o3Zy=a45A7j!{uo43qa#@CI z$t^F(h`am0JFl*o32o8IfnQ-kw!qyRPNT8AC`P%T$3wU)a%NGe|HQU1gp)rRV!=vg zghFotXX@6U=#0nr#>YL9o#q8X_DiC8e7dN8Y8~!uwQz&$4`~$pby*wrXmoRnq8i~>*d2u zsR=#K3kl=`z`1)_**!?y0N9S6d|!m1<_g9v8`D!^zN(&ksxFiF89s` zU-7IVuq74G;d{cYVvNYPt0x$`+y~V#k-a}S;lDHi%Vg7yN_PC|i&5hLt-xFU1^K*} zgFec8BL)0?7Pr^*iVj7KkDW6QVOuJb*4ySHN$+8SswMlzsL= z+H4VGOlGwvZ}s|qBuMSOs38MS8Ce-~0iH%z{0m~5FyKU6y5n(p+`q1nU#9=j=JPbf zY~Qth<=*ud#AuPuC*(3oX0d`c!A3Q(Y3ieyf;Gw~pv#kwn=NTd%VStfxLa0uDmp~p z@WX5_y*{BK+Dvzf-Kq58)`lLBdOm9}#`Jt3)Sv^A4ojYNjc!b*1vNO$wZm&k=rHtj zeEO)5+)(7Hry!7eQ+dnpN%WQ-Aq|swHd@4M&D(EfcLhT(VkL_a3}@ zY-ykkuDy|&dk+$?jY*EV2z&4^?`-)Et(99sX_9 z`wsu{6K>>*Tol$jjlfhLaaL~TV+nlIP1}}5)4RuIqG}YtC2_mnOl-2-{`7X~EmS^4g}wJ)!dy93UN=%jgkm!_H(eE-HRx5qFUe?*ym1pYNv^6c zh-P5fq;b6=_-GtgG88MYsG5$~;JngcJ2I1|)U8quBgy0+_k^7<>ET?l#k0>OX6e+d z^~rEXS^V33KO3cj-hi&^+DU6{HS^MbSGRMG4(0GbbSiGsdQDv3Rt^``?+%f_{B? z$3&gDMwhc5n9`wLo9er{x0{H*z)p0Cn`1hn=i-0>D(VmHkv(tz#%?dcY3((|Th0hX zo7S&RozDg@AcN2qhBmWgRl~}s*Gv_W&?m&tyY9SIE6nW z9Al&S9y{>;cxDd6WFV24ZD14~L$Z_|AK$bv&S@fS246dJZi+c*8AI^kgG?QW1+Ue;c5wH^K|5~ECwkaQUjxcf>NpW~`OcO*7F2)j z>j%Bt_42EVNp@M1CFd1dD1={E`ZbI{AvQHHHHwXX=*^eDG8_SCR&cR*DKX|9p!2}~ zQ^tJlLFqd1ck*qgTt7OMB}J^uI`*9 zz$S%_g09pbDw7!4w;W-K=BkNWgoVJ3W-NiOi#%4ZL(S=9oCT`^14sX=NsJx-i5nP9 z)7OyIRSb_VxNIKvNFC&^M*CfMk5-iW z4fnATMyhZO8y8gCkgtgGom=w6L`hTr;k=7+tu(2zQfJOBccKYVy&p6vHVHE}bBJVO z9%g_npmFzz?DG!fl5wOCHrH9*a;S|u8EZm{lS=&|Xbe_DmvPqhG?B1-k-2)a3~UG} zAD8ha2e5M$gjGv3gV71X-yDCBktSb=x7c=BWOb5P9^YP>dn|lr=?gN`)D1ru?4TKr zm6#2|ns9zUM=f6u$Df7hF}2V%AL!%XDP?Q2R1k6a8wWD7b;dj}KHT0v^~?m9)3U$4 zM0Qn#LAU9DQ)w&Gv%uA~=jbk2Pg;`;ML=)00LL{Ud}oic@@WiE2u}XzIR!jf*kvWi# zAjo{FsX0$B{SoQ%IX&Bk&Qqr4N_9A^^w9ZWOm!}>GxUOkMJwUG=s)CoY& z3lk%Q9XYv4R`&gv;xknhK&$SEP8^C{ifr@?Qv{|C3tcmTSng0iCzJ0xYI<;$URC_* z4=f++i1T>8@EJ_M;jA9=&wn;*4y415pq1rBi7JbdZnS_uFdyoTDxD22e$y4KJCkz~ z&c-aGwKUZ@#d(lSD+xmvk7F2O@S918OQRrB;*6ISA2~Q!+yrr!WZ3b%soF2Zmj#^gs~YRDAQ>m z-Mxd0S=U|)Hs<_6?N<6FY>9!1ERFEa#r68XN?X8%^3NaUdvu8Jlm|P>w zdjUZy8qaWP%&;=&11CWx0hm~FjcBU&RMwa87694f!0CK3-cHDzkY+T)9&+J)eX z<>+p+tl0LIN|Aq0g|K`OW`d_lwp2VC?0IBFX$KpJaEPsurC&&VCw8RW=tL(P>Pqeh z5yjM+hh^4J1*-3nqiNKpI&luyBAh6gx+k5XBqxDk6~ zM8VU2@1A;|)omvP{o)gNfsE9p(j%%v7BW}3dY$U~G(R zgy`rXwkBlVx|MKUV{Wp^ej>-#x*f2pe=_*#^jwveeW6dcQFBdf{V|!jorui?;N>3`r1``hld;aKXWXoSBFjTGzmaEbt zwK?F7Jx{?&gYGF&(J*IY3D1kG)f!>0U!7NM?|Sqm)p!SRiWoZRcj;!t&ei5&wJyp&ignN`yigDGHs+m+G=y_#IgidT_n-P}9pP)Hesb3u8W80DrqA7qZmrfh>BO!dA{0D4#OhIT8GU~b}1aA3w ziY3*JMIb*Hq2H84eR9dvt_gL&w=U&kN*$gG34-ysz^bDI%I3}UlLToZ;k`iVtvH-NZmv- zQf&69HS`ENal6cTjD?N*+masRUfpC|YT(6D|@yk#PZGtx14cUbeZ{Bs~Oe`RdhNu&quUUZ+ z*$L>nuA!N0JX}c5@LaXA9>qKFlduM@T}G#CV2CxY z4A(Crjs2{f%@`{gq{fT7YB9`F;N{pTCwHhMYdI|Bq$Ols!Ix;KBr0*T2$%u zj|yj?_y{oB{40rhAS>NH^i0c>2JDuvwI{UN=Vm~hsMM>i#%4KP9R>BA-daA_)I7(?5s&*73y0Vo9xIQmEse;M3%pbeH_h_f;9Kzvh1=- z>4m&UTlT_a;(ytsXX z<@ESMmICOv{V#T^Il6)c#)!2SbCo=okN+fO-R_j9`1r?P5a$1-R2|ExsH~f~6m;3? zL|OuIFU2r4##nI7un1a)p5{ zw6-O+mV+F?Vt6hj>zo0k3$y9#i)IPPw?!RUoo!k`3Y(5c(KvK1`eN{5T<{3Fb!;2N z0^=fU2wGxK6{DovwYRa7*jlYO*I_m+zs_tk(nLXeoZc#!)dD}vRdgJ#0%h$t z&JYXzmXCjAqwHpy2!)S^1>ciIqKxI$OU)t&A5gGr6=L-R@OEIGM6ZCx`f!ym+yBF-uO$SY^Vz zD&>GN_z5G<3xiD&JAhnA%hZHVVE@(S@G2W#=Jh1{5wO4+<$WO_a>)MNT`Rij77GHA z>D`<<^8AiX4GOYHDA%@hz$Vlbqnd&eY*`eg)Ij<6eKcxZTU=gWRk3dp0qkN0Ag}_6 zi0R##+&hRY5!ktqqjplIw>(cMSYpUIdH9wUBlDk|xBaBTCColJztE35e&!>DywFPv zC_Y}up*lQdNPa8~78Mc#%nsO2nU!a^*Z-Eevc}67QmXUo1!0Gk=LOGCzM8xrRD3{` zPqj-0e?)tCk|qEtz1t900d5?OT?3?Rkg=W89hu}La2Y&&gssh}7$V4sFA!~x%6y>| zVj(U}>W&Kl0TU>?1*ZTv?a4IY$Y-V_hQ9pXY5r11PZb8~^bm@+@Ef31e}CDG2UtMT z5B%b3j`2HrPA814Mw@t!g#-i1KZ_>E?Oa0v5313JHl)wx4+IZ(vpl@6rNQz1DvEzW z5kiIYqtIu{4Bowg48F)>YK0Sz7rsU?(XQ2FzYbuPu2hVgt7FHOP~*0F1pLY0Z>mKA zqUytZ3;B`I_#V`UsPXaX3M=W!VlvSami;V3oY(o2l+Gvof&q+dWaD1LpSaW? zpDte3qaZoEv*#Im4`w*{fW(|I=dS$A6{YI#+;w#^Wxh!QUK-!#c z5i=mY_^!Sx_LmnCr-OAfM%CfVuhvFQ4wu2Ot8;2RCFciTgq9M>gOZm!bwu13BQN zCCy)R@*H9h&|H#We3^b3KL3HFf`0s_Q@1jUH$t_8H9`mT1LzHQ268Z$6wyB^y!e@__BbEp=2Rbz({x@ zv;(~8U_P-G_V*hKH9D88FC4`GmSFCHZqYkededOgYH4Nqb2=~wi5@Zy3bA(y+hC>m zmH!15lPxTxpmTJ6teUYhc=(=2Ha~q^rmf$kc24lGqS5;xhZAKa@|;ExQQ*@Gb;_pE z7E+?bQ3(CC_DCAlP0#vf;<}7bh2dw}-eSqfizSJn_s%r6-mU*odC|-7g#=xySP=6Y z3S=jVB>=oV`B#1aa+(d;8M>)C{(?f;5RM`jER36nc{|R#aKhaqMxI2eye<)L2 z!;Z-MN~zv(|3hCcgn#{6F2?(&cD$wGrL7-d0JERoY3$$jFlk)Ip`Uv0jDr(B}BXycrw?M1A1DKbb`fCW>fL&VmHXu*| z9{{h8u1_xnV63Q|NlJYNe?MlAyq-5HYr8K|9eZAO&$CzO22L1G>=J&TWzlm>{!}^o zK4`YxT^F%{_bx?|X{EpVs3N}Fyyt)#$njMl4R*V*rj&vI3xDFq<*^iQs=DgBhpQ#X z5?+t$E<&P5Gp)~8ZG`Jap$yky1ZZCI*-v(X=clS`d#kyf0WrLm3=xw6M3pMNUH#Iq zwf83mt77wGZS2^ed%LSzX>Ce+uZi4F4O~m5-FE>6|KDNGNky|k4gZ8WpL6^t%o+A2 z%sDCY`dPD$;j9;5cr5=g0AG0Onb|k*QS;{QZPnR(ey8k%(+h)*9=n{jNjHzXI>#;1 z`Z8>XBQm<@Q?Lcu2U%#D>`Lja-(__W@m}2JeD_|=(7WmD4j+*>86~^__l23eDeeB# zLcoxUYemP_kitLz8M~V(f|=UB+$jtVmaIW*54JjAxfZv^7@vRgnp9kX?wupf&h)k@ z@5)9w>QwqGoV}mv{m@oj?~^8S51^l+oIhY&gYGtMZ1h$+DSsb0^DZL|B`dHglpk3P za=D44wmL@~k=NS|59Cx29<C7_K!=unLH<6A7rM5PG4bq1myFj0<%|Z^OGD=8hX>INCh5D>;*PJ9p)|uz| zOATHg$+4i;;ik;caQ?mBi}1?i_dCWF-m@>2DTL=tHh5M27Rqm*CR=D=c%MdK)eHyA)0P|GByX+faK~&;8j< zs%hbVfl79h(H0LKE?>bSMtmx=ad$D=VVJTBgzw||g$#t`SkjGw>z|t0{?h|KlQ+fl zpbm5AYpBL>4~VWt&b|KNUb=n)EYOR%7|JA@=1PyQD7NN+I7m`*)cP)Iptn>c9emqf9RupC zzFvk&I9pVn-?W=CPvQ09dzCE^&Y{^HkZ)ts3n~(l6=Yoh6W4ROr?zprTk=))`?Gh= zjvO@&S_&3Kf9@yLcQ{jN0&|@WW8cs3b|-v{)z~wK3!{uLS(Rtk=Py+({w^$er(xSu z5v|y>Bk+bI91-zjlUN&VT<#@PSc+dhk6fymY#a@)_0ElLc=hQ)Pl0^I>rLjj-CY{k zW=L%>%~Ry8#G8!EYFH?DZZGKd+1!)AIC#+ zT{2i)^30TuZE14F>XRZo%J5y#kI{>^wb?!TrAl-K^9&o-_`#*-2^y2M4hw#tf&Tq} zI!?h%)K@Y$wdZJ=raatVOSM1$g6zUJ>fUR&8?NrV18=MKT+=^!Rw^j?`wuw_R|lOQ z2&wg~i`clCu8;9w-gOJ=oVVQ0H=JI8gG&%pL=qCl$bhNzrVtIUZ2s#(J4HZ#>bf^C z{WruqUsk?lhB+hqS9h~ADo$gh6&@Yao7gHSR~L9NAwpdO7*ZRrpAUQW^hROY=E7n> z#QBw1MB=u%UVBxdMWl793J4B90rapinb|dH!G!BiU&2a0Av}aYA^h>HW98Z7dz6ls zi%}%9z|8L^n;+c*hXI?egTQ*W<#+Sc^xkV-a}pX~9iIWLysIPhoOJ%$ z14!vY4EB70uv_+?iH$+2X^`814GQ#!PfKWk2n@G)kemE^tRa*S&h-BU=H$Kb7xDyoeFCPbWc8)#Zob3;&IshMDTAq#{lV z16xwEt78-gRNxY-_8&#D1nJw6ww&a*$r&*XLPqaQS@t3(sfG?->jn0`PJ>If3)JKj z0;r0p+vLpHAyBgWMFrox=QQE_)~Pgp|@<~_ExAi8*xs^;W^v16HmRq ze!&YV5;c589;hJL%QfUqoujt#FGxPHfx~IbCjyALJ9?&qa5t+9#kw#9U4p6T^z=U> zpZ6;ieh;lB)mSW^(VKBDJL7x6NBL;B0F}3v{XFxgf~ZtbHtRxy6V9Qy9jUE_%|7Yo zEZ~QXIhlFh@f$mz|9|r}FECmP6{jnve`Ip!Q@nf%1}!HH;KB@}sb5;PT_-x~3A`{l zU&IMkL!7UO4&U5l8ZU!IGeRlI-p20}(hjBYItZH)7I`xKNg}$1kMVwOl18?Q|8$^a zu;fK6s3h_jk}_SdV&FxjUQMnRX$4RezKfCpBnaR9Ra1*NhfT)s>QnA7sWgmh<| zko_P#vIPVZMH7h$i-=;`e`FF8^`kBfjm)cBzIwP>9Q;lbaR)rJEeW8C$3va)$u~Ed zNxQpvitM}0gi(Qu{O_Q9IpIb6vI$%AFYl-Pe@DyMmso##;Cv{u)C0c4>o9K3coVjM zVSrTT{59V$@ITd&DFYH|z0EJg<9Wp8u9yUwHu?DCAw)Fn#)P!{LDAN340jCOtRPpm~cxWLIDse-Ob z25ZtpF%zPo2vy!Ty_i0x;D59c-FNFbzJ3h&$h>*Qk4siw@yz_mNAvdT-@o_lvO|Cp zqpFj+k`Yb4RRmzhG|&G-)muPC*+yN%LpqewjnX-EgLK2tpmYo{ba!`$NOwsppfpHJ zcXxw;G)PN4-|h3f@Be=viv`2tUX$nA*SXF)d+$}{qZ8hnybZ_x1~z9;m4&8u5~wvo z*}CJdw*A$vvGv3CzUJ2Lbc>-C49c)hKp)xE0HR@8S#cbst;@%6X%u*Rm~YV*edEtE ze|Vls$0^ahfjUT|3N$tldwlc7MvX^OV94DdeXRU!C+IEKZs_BZ5eQ)H8PLGJ}4`lb{ zpOVpKc|&zfilE`qb>Wp@qrPQ}VTXR6O}1=)Yhp$|+V(;s<eAk^4o zZ~rBJ@j{aBn&)jmC7;_?e^SWN{U$(U{THPF7jfzOTK}e&H~RyT?Jx8%TAr#A3|{%L zMO*`UJ(C1qG5P<3I>Lwh3NL^{;`wh{Pt-Ifciz+ySYO;}`ENMt&o&9?SyM%-PN9xT zbWNby`1!QW-d%fFTpX5XzA*-3tHTBf6!6W??Jt4>Yq=Z~;XoeXWB|AJO=kndT z&Af=m^xtWZ7YP%+v|8H%f_W8}!}?UdkCkClskcjs1_AU(jd1^?b!i)Bw*1zJT=?f< za&-e7rj&6VYO7`!#-Y)j7305X`XAQ+?_>SDHA)sN{sM68)%**}KWdXvuiBWXKCEk^ z`v6pNz0?u03_hVZaqD?kxZT8A0Ff4;G@Fcj`OR4HJ(^tK*kFAs47A}kw%s}TBKLI< zD4Wi_;V9yc{(dIOl!^ySy`~^_WDx4 z^2r&`+1@E5>anM8s%W(DlV}M+6p`342bauazyYm4@W}vx_ZP7XTQ6>nX0c^w;~HIl zo&5(m`L`}ozfuRUnWk&T8Wted~ zxEZPN4qQHyt4ze`v?Eg9cs^n4`ttT4-&ONl_E}y4*9US6`xKt3zxnkLkXe8eN539; z5$tq&Urfe(;B%j4U;nkN?=Ou11$4Gur`G(+JI{+dG&7%FjkrFlB#&a&s3#|H(OKN^ z)4s1B1Aeo?2`(Bxqp`l0D8`z}F3g#A!2Z0esQ2w)`q?g4A@K#e)c7I~M(hT^DP>%8Sg3n2;KivMf|v z`sH12w#vI!65JObeFI2T9jPy!?0u>O_9RPS0|OEuF4ZmS^d@#5UBPK}_5h>6*EI`w zJn@>ss#lCD;`IU@72ordek-NXMvH-sn^a>pD_2CKvl6E4(SAIg!}up_*kQ<6spNsxPMySoI$x7^ z=694(A@zbnH06HQ>Kt#a^!Jd_Ki&8QD>)i3-+pQbCk50xxC1&e_1{ z@^3X|OjL!@__4^tiu##E{P0+%!67%3Y=PcwiWejt#c@m+7>1y47(AvQm&cG=xNxlI z4o9INDiQ<#^qu3a67At;Tff0m2TWicLu zp1v>QBMz&*6bToXoTfX@5po=;&YURZ(%Y(;Ppa`8SEh>7AGV#iSflThA9YnoSEefj zH@!Ke)B*z%hCo>Qi2fazMu$`bk+6+%V_J`n1%YTPYM#eGKrdRNK z=sK1z?cn?w42^~Oa4k&3!^bi@+DaYa=tws~Qr_?7DK>ePi#}bXjIq0l&DN zuNU0)n$$PV-kOfmlqQI)Y_9C$>P4QN%^jlVlD8KeMr-+|K^505m^P}0N-TN>c9@8Iu^+YFhYi=7+IMQNH6+;kloFREffwF*8tw_5k@{o%KYMy6_%&WM8i za_GjLTjZgMlB7WHf+P;5@?+yO8stchvuE1qykW$xiNN-pZ5y%yN4$0=*|r~lm>xpY zO%CdcU>(q7Y~FkCMDj*!4|j%Np8n5QkjzL=sDwM|_4{xra&bFjNLQ*<`OqPWnC|+Q zUYC}7LhR2V8-5?v5WCqg(cfoV+pPCJ^jlaH6=<8`CM0nt-`V&u_;gJOys33l5ql`Z zAv07>E?ouTHgLQUb9}VPL?uN=drD5e_)fcVBV?*&rT9q*6RQO_uM5o)>A~qTCUFMiiz&^r%}p8nbjj{p#OriO#C7 zTQoPwczSFREa7;}l8fL9U5g+|_^-WLY!(3oLUgCaUZarJIJ96G8@|yFF1?oc>__}` zG`KnKmRGq673ApiPFVkla=9!qI#(#zNH7zgF+LfVj6_%Xn%hdDg4!T%wF9}@q_MFq zs1ObN`@xDtwY`Rm`!wAT@ml3}>co`C1{yADsb;LoRHn?JeJdj#P`-S z)2VQ?_dHy$(6vhtnikqYQ`D#&e7OvM*|T;nh>Y)WTQK6nB;K1wBT&+u77>LW6 zOsQQyFaz#pLX@DaHMFWb{~3%nHcrMPQ~4{gAjl$TkfnYanH(`FJyZ5B1f3%sJM24R zP)#>S#5Ic$OL1ZjCeEQwU^NEu0h7~R5FYpvo6(RBL6V=2UNSM6bbqGocIJXuOOaqR z)9KC1BmW-p$k#H*p2}DCkJWlIrRWX6t z%+YO2+hd7oRRZOZmL#FUAsn(MOI-gXLRlFBKTc^R^N|4~harGqIIq*^uOck5;*o+s z#qRYXBk)P5N`=(}@-z+)^HCtmE}=~2v1gUmxnOfj<=}jtviFx?jr9CQ0vRn_ro%B% z!EXbwrFC$KOh;@NKhaQIn#-eoM@hzpR)Dm(GDgF&8)@mjD2WG+kSb6KL{Q%drXGSc zs2AuddHRr}L*#Ka2j@I2Lc-vjg1p}Vr!k^Jqrji~ni0 zaE&Ch&=*%c9d%W7Tz(e~=!{Ciby}!MDJg%lr}t*baqSX^IyzI6U{0B!CA&dufyL@E}*(bpF-=6UY8FCtSf0kIJTU2WK>{mE0*zC8Z8%A*vR@g0#DY%; zpDz@rCs$%2w(aR4CR0#|zu=w8Yc4$#auT8#o?kS`Sw-L2W@^03M0GOg&1f+aP-hpt zvO(W;(DnH z)ez;A2LFeJ3&xeo-wy|Op|F}CRX^6s#`LJC8dK@7P=gyjl_+$s`YxxSb+tE(dA4cV zeLEAr@U|}7#`-X-YqH~du!1>B+qqO6(m!~zPUgBJPD*Aj=_a7YY|Rzy))JSsu9FLK zYtN3G;CKm2vVg_Sag>HNe&mZbv|+(?7uG^z)5P$SPuJnOViD}|*b-xR*3FVH%|3#4c4ORt?n|4Z@*RBwH`;DdoVCS;8y?auI=2a~Uo$ZEa?Od(}6D zAROA1H3AlNsI_86Ca;Fp@E3V<=H?(oR|F7YP$MHW9hr-}q6hdEBy)lM+>mA#!@!=>^)J&tn#e91-7SiIO(cxn`wFG)+U+ zLNJEx@Db%StgSvNDfT9f%i}1rNgQ&7wK|4#-HdhZT~Q#iW-Drm7UhTfm#bvZ z(6UHEnv4#3=w7Q~7nKa!K?=FdY)lm(Avs(Mex}o$iZ&;hk~J?0qGEBi%5iFvD50|A zB+a(13P0UTl14A6;w^O_;%2M$wK6C>ZDg6ENcV)J+^=~O;R^d)4;SMNV5)A$Zq`!n z15bQrWs<2xyPi1C>fE%lMo%fZi~dDg)v019Lbg$^k`Eu8cMGW zCKj8j7{Qo{dy4K`CAjj+Z69;@OO(?$LOYhtD>B)q*X|~9%>|SdT4u|_55vu2ig?Qf00pBJ>f1w^cE-2ODZvVptiH$N;F;_B;nw9%YYs3&HNkAHW( zkfPCa28ul zq8B;FBh8A`narYLD#)VDGYD@c;E7YY857PXt+|~@hGWR#y0!1%k(5z|pYS!=vuDB> zJc9-0SCn8E6>RnUK1+SO8Pe@D#G_oMX2FPEga=%0JX8hDk_I1t5Ed9S z)Hi7bsC`*)bNZyQVM#AKURCjE(3+;UAOEK2GIJhUf6z&Tb6%Cw&68j&RL^wG!Qpyp=B@i#9H0{V%gH3~D9Vl6B&zj{VdKE%Ny%?rwzvy3QDdc4OZ zH;1hURKDsZitbyrJuRoy;?0~j+>{#1hoEDX;F>m7_j1`2KV*@%i)eYNc=>xY} z%NK_;SNlG;9Voo6=coK`_Lgs-otbIw+1>Rv3Fj~^@@&nTYT$k!Lo}lle2z8a@Yqlo zqN~{5ij%n6Z!eWN^uk|;+t$ddM>9d76thw_L^EC8@ZLleC-W?N~np4bkzTiH zmTK;ls=2x5z%|}bpT_qUW4@8aiLu;9$B%bh62m7?LbE+D;;+3_SJXLFV2{5B-KoaH zas&KHvCEPS_fEZ?#y&sbj6YF61ol;N=VIPAGJ~_%VFURD$*fhO`#xh_?v8#$8#B|% z;$R4$eX-ExZdMN}*V*lio~+czoTvFD$okgl z9pXu~T87AJ?W^(+XuW>-hvcSwBi!XIk5jGqm`nMqUz}{k05v}gfBMxwput7M&%z>Y zvmUJ$vh!~PAwA1%^) zP4Qbb7}X5I6f&q@NLbD%DgB^Fmn!+7T&DzoZvwI+>e5+`awzfM2b!kdGYb~WfgKU) zo60gy>1AWkG@pE=BSmxdS|4BjnRr4_Yx>&G>joP{m?_nV(hnlcKG5jNyKh~@3|wQ! zRYmXK-ML(qU!3d}hBxNk97u5zJybJ6z_g8adu+zZS*YZDF{2@}lxj)3-=|TMCAn0$~4%k1SRdoT%NTQmc zkxy;-l)sR_OFHPkhepi7wu%#Y@@s0uw@ET)L`!d?il`zG$LW?b^S{q633mKGcyA@| z-BfJvP!Fou9g6d8phYB3X=LD=S>4xAAo)%di(63}{aRT8luTn@WUz>9q~Sm@l{rZ(DbX}*q0>~`d%a10?cA0hTS+CCH!61V;@*rp$a^&;e>K#kChSY1C_>Ah5+NdKyi@Rfb@e?YF>Dr{(W7*u@J{_UkYrL;xt_-)>*LLDJDW7k&|cAl5|@5Y7CZmf8b zl$s7MPt-r^*`4R;8}S^cnA1Hg&FH20rac3r-Ck-qU~3rvP6Y%{3gI?caQDcDKt2J} z2m0qSh6Icu$lL#_sj)^5 zYG7OXNl@p^m;3cd(lF`A5bbr`Q>!qNGL3O3%0V#4mfi1mW2Na+`}p0c-PtXhhm+fQ zJ_HN6QUQGab^{-os4KN$n}mI8p$fx|6bGU_)TGlfJFlTx?}*ZkODdxP;#=T6Gap1!#af9(-g@Z+(LZF2bu)oZVnU-WR4IRR;d&*yBcL2c6V6Y zCol##FYDuHnu;FOa)f&AIc*JtL>nR^*154?JM2>Tw|FSlAH4^lw$%cf@u4}!AF}Xh z-KAa88>2jxpM0hXpv+I50n3_BQf-xg)>mUS_=Ab4xJzjCXUkoXh#Pswh{WqK>Pl}G z`rZ^~M>YNwTWcy-;-HD}URVAkILZK5Ac+-BcwZQXC&W);s%G@N@7EA4Czx|sK$cUD zCmb0nQ{8-$FKLCIE{R9fy!~h|NtJex$K4uzT^OyJkU&Is-v*Djpg;BYISFABi163< z0Y7MPqY|f)pN=(V|Ndfy%toB)=m!aVW#c8)#h0jlgebp@cs9$Md?ioFsj zR)|-K4De&ZrZuwLSJ8?Br^MThT74+&E3m{EZEk-cZ&Aj5Yh?jvFxW;H3Yi|JTWW8U z!dH9AWExL{6y-?oiXPVEvWAkjqJp~^3C>)gs)}x@MhyZpW!w1%P)qN|Q$=-ta{L_8 zo27fHi%3Bg-4J0pABUGgA0fR&cfEb=`bi!ga=mYRpb@OI@YemLsR}CV96hjpCI8uo zGl*e6gD%c!CvUb$ZN-S(I+hR^GVkP8)98Aqnw>J5Rk8jkVB;p$kfpNyQH*g^-yBj;IV4OFK@Xy zzlc-ejzC#T6;u$Ge~0|2fif1!pB$yXf9tBm?lyeUar7fCxlL|dyU@Z-3LgTYLwN%DrK zpIeBRi@3M~HJuh5wZW5UNR2OV^F@leSVkmKXEEt!`l1IP8(&^3+)}>p?%EzYj84R* za!TPko$731Sz0A57O>p}_T-_T`r13w&fH`V8!xa796{4q&J!Ego8`)2kA4VjseZ5M zFhNqHwi(o>_dD*OKc%q?M51fq!pR^^XOK4TYt}@;F0Mw-0j5F{vOBDoB9AfwH;YXM z!f}mkrc5#54CIHutcc^b$KTJaXR%?gQ2~ai2t=8K(}yaR(2e;zZ>I!?FZ!{nJYn;OmkRb(ZEA!s>huJ~>JeX3Jp3*W$#<02 zI;s)iEbC9H^S=T7V6H1Xt)}SIqTP1{oSVnz5pcy7;6J+kUb4!2!b1iPx|)!`&pWa& z0A*bRhk=+KkGC3Q%fQb7dbWdGMZ!Undds%%<>s{y1ijS^4bH8vnY7a{`~6Yp^ zGM%%=P9sXSCqSXgrXpt+snZF{##*rm)h8)+Afs1c{Yd#6+|Cb4zY?iA(D==4g6%;@ z{@Ds~#N}P=3L4_PTaP;!ffy}{Z9-tnt9OdEi(aF6jnipt+L7tSAVZx2KK*o%C3TP* zBXuv>JQjm`L`ba_zQWC+QU%PUMTHmHW4q8}MQy43H$&ubYQONg)F}n?m>?U{P51r$ zp2oFK!c-5V>+Wr8QN^B&Mdq;Ux){&azHd%bVm%$tDH2r2qfrkV4;$-u&p{ou2zr}< zl4e}!gD$yAx$7!r-H=;Q0g@Y5KEKF6!?26sjeDASdm{TgNdgAZx1Y&;)~I5H+c97v zF*N?9ocZ#`{<;XQ>C5X((KEgz8N}rw{_vxoTx1SQHbPcX8AFmTDMHNd=#k($CrpGG!8I4=#c_OO z&6uH$%F^xSC=ERj?Fr*u*ydmqU65lom*u+8LHb5@zM4#~)qyAM$^cr#YU9 zqf@LMyhkp(S;;MzrX-1(KqQ%jd;TUu;?{yrBb_j$u8o(Azd zT4X(`; zaE#Kv7sA1k+B!8sSv%#Y>sqNd5;N|;Vd(Nq;8xeXu@R1>|65hHL@?2eo_JNiduhpf zCA*LyDpN;tR1rZ+VKPcLL*2PB331k4MsO@A;ft){R#14h6yMc6n`_C*sn0r$J;DR> z?v=y*FMx&kj-=ty79a*j9R4}FDsv)VeF(InLdMHpIv}6{`#jDPtHrVKZ{^F;#|y<3 zuXWfRr7>t19TFQ{rw#>gZiz>6fC|H;80jd#lgxMBgh1fp*eJ_pb4WKwl{WloX#@jB;op-sC@r)#)4;-k{%z7$-=5cPs`-04brMMxyC ziJcT>FWnVqj#3pKwjO9M2+_H&MzK+s&+$&SerUiu+3{FQ3YpoZEihz_}fKh&q_SA3<-#fr=>g<0x zrBfLs5n>f=t|xYtA|#`XKp18AX2BsA!$rx3B@?HVKQKoaVXW!03kjL!YS9Ukq-XP2 zYITO*vk5qVOMoF(lxgBU)}N>>9D+H-Q#MCRIz6=&Q!vA~y`0g5(cnKyZ^CXeXZs{X zLJ-+~8C-oeS}xy)KoS#RkIm*=!lkO*bEM~Gvo8zyyO||*uS*t%LOarQf7KhoQ!1CD z8*-NXoDArh;vyi!JaH1y-FZY+I@b!jFD_KOUR&xGNmEi;L%S4iX!vAy_e*u>OHP|go0s_W0!Y-jJX@xQtMmIO0lEj5CBMo7S6A#{n7OqO)6 zgdfxJ@L)=5O?y}|&#;1(qpZIDoeP8zvCYBgww=iePJTctIr8f<7n9TX69Q!Y7L1eI zPwzIR5K~NWD>_i9l~Us7!pYGPpf(KJQE48%GO?f%lkR5Tb%M>dO7NtfTf~l_{G5F%)MF?C%0hG{ETCrJX$2CG3sUY z`WR_!0c<{-39Zd&pPs~yF5D%cXoY{X>IX?O@ie|KH+oE~o4u(CD~ZOtV0>v%vn=M3 zwPU;SJ43^}=kw8Kso;RItLygMbnHP&HV*!qpDAs_(uO&#(MpXx^L@}n8kUe-OWm2$ z-K%AiXwr+DdCnN>@J1QJ*q@0be7T<)Vj$F*pR5H}!pUIYKH;d4IfmRvGhG?RNH9g` zm`=k|(xO?S-_&yY_Hj_k61`3Gz0JZ7bNx`c6C7`v6`)B>*(8}rdYZ%hHkJ*9rI(H^ zj~i<#$c3@jHGp4Zr?r_t=M3k- znmuR$(`Znsk~QO#t1(4s_@GMACENNKI)b9z5dr);}T z#NzJk@$i1u0etEJ7dsS@FE1on+v@9{|ln7 zr3($XPpfq8qPFg2;N@A=UyCw5!%bB;KAS zNto6&E_`qtQ`5I!b<*5gRfB`INq4iq{IG)q*(MS{RZ9eyvE-=OD*{cd9LmLy{8<)y zYV1+*6!Zo$I;u8`=W0ZC&Y1;Z0h9kS^3>YLur+Ws}2dS8{ z2X6lFxzaW7ztzU_PsaBRC}&{X8s(=WnniG*XUOCSQT2a%po-+CP*-g!^)6bCTNkx_z6Un-%-z{ z`mr zcx>V*P6&k~T23t~eJlm%GhmTDzO{STh7z(D%s<5Cj2e!8!!w$SD^4xJ4UYo9^vdkj zVO>!~2z@vM8n^d50PpGV&;h_8ld`gCm|k^KWk11@^?U{<74>Yk??3$6j=0S?2nYqA z800=POG^jrfd8%4Lht~mCG_*Z@1l5$a?{g1lP%k`jV}cdBPUKzfXNiL-86M?+XfvN zQvfKA2oy1n3-~?bbK@Nm&=t@)zPTngudomN?l(Coocu?=cYz@==I7ak z6y@0i6IAtUpNr>R30hQJVE^_E@6g6}P%_nzKt>MPx3f3G_kg)5FkiOewQ{94a&~)$ zj?;2)$JV0>9PrC(HpYn7krwuHU=%+CnEgcm%-;E5|D7NI_rE=7Uwfn%d$3*dysk~^KpeXz&0!T@+r@tgGll0G`VfAjUfe<*x4 z8`xubQniWNm@^K%Q)pQ@pQhTl|9jrlwsFH z>jS6HP6De8%zNxrB>5-n%^e|HX9+^@pJ!4&lMkKa+N|sK(k*}iatRB&5ihVyrtAiC z5HA4J>q{5vJGXxo0IGoY9wP?Q(qqBMnFgN$(9QbSP%{tkI0mZlO@BELHkz0K#X?Ve zM64M2we71Gma5|T??g6ANT6SWWjh4-KzcFZAJA`T5}+V=p6>YtI9gkO9&X%-e!!%u z`};X16J}oB7wdm_+WH4X$Sg|?_-=aMmCjEcUHqLRdC&Z3wv-q+wluJ$1p-v2$8gEp z-TfJNZUp4Z~09LGjM^F9%Z3E7O|J|N8b>C|Z z_~h+4UZP7A{p@dLVbRY{>ImqOdKM~DKTK;FJ_h{GfMtz-i34cfKmL1Nwp`WRM}L6M zZz*dgpu9@EdI&Uo0Xi39HhlHu?C(aSJYHh{P__*O^Yj#JKtSM~B=UbTd8&GX5p4BN zj_ku4Bkr%a|A2mW4Fxbf>il*5(>jD#F#Zlc(JVxga3JF!dZ19jIFWnNa;lNC9Tu{O z6^JA3{>t+_yllOBEg%0|FY&LN!U$!?j*HiwJS9OCOCm8igf1);QeuyV!Krl&$4t`3 zKCxjZjy&VHqWf5q;DIs7G3fwXLod)33nI+7!Ngr>w-f<7wGVMX@L7LvT_CFi4u<*o zD8a}7fVz@BSZmM35d=18-1q(go!PO?QT+EAPm;Rw<|5lh78Y zMF3NiQZ{yMvjhMOqlD40ker8*>VwuzK{Djp|G*IK8l6Ey0G`C;>vAcf)(!xpwrNUy zf}iTy77`o4EC#}k_e~(d(0XC{!(GuPu%wwhed?L$T-*Pb2mpkg7l1PoI-MKF_jr6} z35?W(_R;zGil#9*138_`{JElf-+#Rne4gU;`v)|yJl>g#(eU4zg{N>$Lyen$xBRt& z{TEpP82j5=0K&1j(YJ#URX7WP8z@;Z!~Jj?h$az89_o_}-Nfnv-&f#mMB@;JKm?>?W}y1=IV*GC?> zPz<~M9l7|`kX4QneY3eePFx`5S|bRLrC`8Ku5%2D6pAL8bPD&H&edKF2nXrD#JD+n zyZvO{2Qi>twq`cd_IX!3!}&tl<){Si<|G>Sr}%SQ`{_Lz(c}g0!D&*@p8xQGoPid(Q!D4F z)}=?WL=(h!4Ch?e7*qFvyG=`v?cipwV43K#?@^tLUZAD}?~KQJ)KSd%ccS@e`n1v& zWBgl0;~8T@MwzYm`WXk7r_30Vtxtn*+~V~+=zQP2!6$n6&}#SE$6nFEqTKWdVjpm2 zq;p!eL3ARXc?40K%k+prgM8&G7*<#?{G(xnv9~;!%UY%S2`4Of$@k$4+KYEaAtE9b z;ni6TqazzxZR`$skybbDr*qp#d^HTKcQIMIFD&=`Ck>K6a_35SFq$K0ezRyOL-c;# zz%0P-Xi;^$9On3P&m(ll2HV_@`oNFnTrK_h%Jr4luCj&1k}9DMxtRBTDdT0q3O4J_ zlT~$mNt+ujNxe_IIO4k*B!kg6Ek)G2_2#Pde(fi+=><>qXfQeBT|+PLysFda>inGb z;HvMmcbyr=?p{qKb}D?+x5Zm!UTHECNOpkPHZqLCRbLV76gN$tuL(i;-t-j7^EX!Q;yhT!I_6r7kPfpFMZ<&L@qzrX&RziXBPR`|kS+BrvFEQlqa(O1 zoX|7&Rds4mGW-k&59hRaaCOsDAz{N!^aWzm4#q-8F@*UBp0ES#I!1rECY)bz+n5x8 zq&3fb2XpT$`b1m4ym`kDcq+`gby#0r9kdftvoyOBGYo04BKSjX*6s^q>n~oO8`sHd zk>gOrznz5R%`&XX2Xd9;0Taag2hU_|EVm~cgy zZ2#;aS`MX{eqDUC)t@R1-iW^ShcQgpl|XEF8US zl*Fsn!Dpsno53iFmQKyFNeExD(yon2fSWlB2dRkv&`qn?b=lG%g^Bj^f`%|!q1K)M!u z@c1e%oc2>T4H30dOU~VwrRLQJV7uXtcPm&P5W6bdYj#t5dX+_-scnaIuKedU;O}%Z z=r@p6$J`37p~$m2RzTgnks42>v?VKTjp?WJH400t^c2ZwMQ2<4v?)5=GEn%+)<2Jl zF5~su+(uTd6zNN0?)&A~BQ|_z5Bi6l0=PwXp{UHY3R7st87jB@DEp}Cc#X6?ONN4q z>2f!oJfxhkb>3)Ztg&2zEB3kfD0(|Sdw_f6bL@+XYo)c0>Zw7g^c%U_vGhyhy%YjY zqq3X~JL}nEOS*G0jeY$Kpeo6>(G`%T&DF zZbE-sNilHb269WnRQfGzwy&ARJxTl~yee=rXTQJPv!x=5sL~4#ng5{x%+lJ0nM#qHzUqK??jeL^?Hlrc5qN~m;YydoA6H|;$Pq2 zA7&c-l+W+fe#^n`a(g-ut5r2SxG3$}m^~F+9wONLW;x-tg2ftSzGsPh;f+1A1cd_L zueX}Q&e)a7euEYR5<(lk{6NK(&F(|evBe~6di5) zx4%{dUg1kt3-`Hfjld9J%%?y;T#|ZGnwtg^VhZyG?)C$eUg64N`-gTMNV|jHX`x;a zAVF%Zx;$TXT6lQ*#!s!BU`iDhGmRGi#@34^Zh&R0aK~_9PA-E20+g29T^>{^@@KM? zV=%WJA4-s(kVH`m8q=*`M8S;DtEvPuW9`YVoY$jZPG@3kK5pwFQ7Z2U;P;D*35p~y z+|PVn*R#vTLc=`%0kOz0snhz#agwd%_Kj+0vga?nz79cKdwqPnmz+3GeL|hHH&a3u z`k5DdNl5q9vZQk8{j#)*9Ic_5pO8_eTMj4>vOgvSyUIaj&)BiCG=W0Jo8(HVtPFpY zz1@?2%cL=AEm?gY=iZ_eR{DoQdvA@l!2a!r@Jpp+x*t1F&Si4E{6g~?B(YxooSNyZ zFCB*;gtY#AvPzuc_fXr>i}=32 z-isKeXW-SnsJyNaY8-nJe8H;I`^k9VG-_L=a{0+jnQ`}}UECRsy)q+R!OLLl@u%wo z8{Sx4sJVrA&HHufbvJuk_*Jv6N`YvJik(_cq*|f8Ha4F9-brI0Wo_aC&8F_8zpca) zlI|-{#@>pTX@UvmIFtrQ=87H~l zi~x>DVEl|S`{oDC8y`T5V6K~clZue%ah50+_J}-o-2T~HGgMUbuz}4U{aLoy;}CE2 zlFk|_PWmi+B|Ublll5g`Xzwj-gL&4b);QK;yov>krIWzH_Ya5_dak+m03*fWk}Ax0 ze5ke}%Y@=x<7}t8TeH`CUbJeQOhuexvNyKLAj+F5@k7X+-hB!6I_(+j9M=0`*M_q& z*RXvW=Q-`m&8d79v(7_`jJ2+>CJnN%NV6vtIKk(B4_C#Y;3g<^Zc{X_EOvd(|0Ct? zNBXV6r9M>-s>;UW&^E2+mideNEP?qs)XRRI(od+g3@PAmu(AXbPcA8Em zCm|&0exIdWGn*_Io;%p4Y?2pe(|?XA(sTFZ+szMfCuz@yr566#;tRe?yF%Q1#0QRQ z2LAvHc7f?Ne3VV_$>3t)2Af)pt#mR+^q{jRUA@a#5Dw?_^QA%fn|p2MvFvimJIFJm zEa^h&G`xeBCfV^wU@hmQQE}1+`k%ST;$xOwcqBgRCQHp4 zwsc>+EYXn5cmvUX@%>*AdxypSJlZK|F881J&0n2K)`cd%C7fiQw=KC9C}uX>wrFTz z@{{vW)XtHX_lx_XE=`@;@k)PE{Zj-ji())VKenNh5br;JsBWXU{C?|34SKMALFN*L zh|e4&0)5ZSN5mmPd>36x`%_t!K891)E4Gv@R&9N`ZP{bq=6OlqP${{YNWrgGdo z0^_{mDj6kiVIFxrEL1|18Zx_LVRhM^YV6uF7_@HSQiw+;nyWXHGUFTBQj4eZ8*g((k(-an( zHD3XKw)tuxxD20DH|-Qk&@Rq*i)pn&>`ac-p$Hvb?6jmQH<9~3yVMKJX^{Db`JuCG z-}t{LdKkNp(Rp9ktx480PMC}9MWzX>x3uop1x_?}nHRrm#Ie1sM-yd^al2Al=E#1> z#8L@{8D$5AaRRr+a5|=YsOgV%fhCP5epkhCo~TKaP#7XDnWTtdj*G>t`t?CJPYwFo zwb|Oi-r7)R&;`5>FMFf(#RaduFky(>_KQ+6HfGC5N3|2pv2P0(k3|irSls7QgWIrr zElSorIO`0a)fT>_z607;GsPPxOC~&9r5t2tA%2n;jpqE#8si*~#Uqqm?e`b@j%pDo z^(^-O^+VmWtN@*6`P+$WN6`>{(Z30{om)i<5NBJ=<|jQh#i(V$;QJ`B1R1hPzC!$O zYLy8cZ__yanm~~{6Bpl3mx-ZjI?6f?zDkl8o}r#>K|Fb>Fz)D{E_Aj!6(f}I?*n_% z;nkcz3%1&CS9qke5uI%L`=AV|-t299PF(;No|5mZ)UHFadn_^MT+$|Hddw`h12;4G zWwbW6+s3gUJ8&tCv|*cECQWaf>q6X@RQzL>-0{t04T2M_V{JF02)i9Q)KVPc)N^KD zlKI%zN{m>i7mky2`m9{1M-c&1hE?ydMRdO54f z2n-T9&Mn0AjMNb+4@aB*bg7J@I*-hJe`-@un-T_dY-P7gUZ9Au(tp_XQoQv-t=&EC zLNaV`b)<=f&i?=uCCoi>5wz#G_M(53hZ;WhcBAq?LHj;qomdPTN%$c~Igmx0=# zh+?X?42_kL&TsJAcC{*oxT3pjvD#j*LJwECy=uI?7p=P8Rt&-YkfH)MDC^fO$4$SX2W4;>eRI$d5=LK6$V7uY`#yOC=kbT{^LG< z(Ek9&A6}+{F5$ck!_1cbEnowxGWe99-f0=d&-?WV)Y%cp$CQeO;54%Q9X6<a0id%HM;%iu5%hhmcMrJx# zrIM>@Ir5Tu$^8t?%|$<2Yc|sKm=g7ZH?`ls^OhWU7g>}U3>B#pJd8SCzbh_XygrL=1EKFuLZmd;M^?9xrp z>?xxT98Z4qOeXbS`keQ^K_tY#b(8kgB)7=7Va4IviI?uL_Mj!0h;Dq3%^H=__mk(f zK^8VDX`c@h;+yh7yy5P4aLo$nWs_iL`Qwf;-j$SiOylLpqD z=6`jlj1DxJ`5pPBu00uZq!#ci%Rp-1Ex+33Is#9KnnMg?!p3smQyRY%O|=sP6|fB2Y7{81wS4G(5?E z-X!?%P#U=+=j3lgUQLo?%Ct4+P2$DPv(k`nejm85zmk|lnKhTixGjC^%un0R)Cs%1 zzdyw(X%e?d%f8ywbrqbDd9mt$q<1?$=-53*J!1Kv`PkwgQp)-HrPHP^Pki%!^{7{g zjXh5KccC)Rf;z@@u^LNIUD;*}HnhGdVrR$u1aw-u7iin;eyLHE{*xK8!xEb7Td`+n z$$taaVG>D888hHiEvKC!pLeVh?lg=CvO^s%+0%W93m2??FRs*T!`&$aLv#)NLyP=g znrk)f7qJ(Ro%3uG%8y+0p1wJnLq5!Ebm{80&H~Ub%o*#=4JBFKOJ9H4q_C%C3wMvc zk&SyB!ZzBGY6&c>`tjRa)U8B~?-AY8Io>T4vPtpDx5P~n=JkO3DkAB%_f9SZFJ5At z!*fR0XKd?sTveP(+nF!r&L`~Lwiz2ioOvN8=73;98C=*2zLC%QR=_gEfmwhBX7)2W zP%;E)LwlK?`Jz#fk5xnr2U z&l(jQj`kUrb$2!KNzBCasp2EMdA=wFf^?JP`&l9j=stthsGD(ikMYb;=&M+U&WDMG z)*^?KZ6;$~N%ob1h_G(PfZ78(QJ5!ehmq2Nh&G&}c#?#{I3V=2rQ-9E(=-H2H@+9G zy5c%h3pZYDu$oRfQizn=Q|^}Grw|Xadc#;H_t#w*Qqd-4sY{NH2YKKQIeqbZ*e)YS zvmfueCIAT6OiksXoW>iC;FiOH5}prtYotuW;rO%oG-J4jt z{WU!6*a)@-@bfdj-gT|e_D6V4?~ZGEmogu(4ro-1Qr8xH%Z}b_lYC{Q>8`~K3L^km zb&Gbz12fYyIP067d89N&u*ZQFrIoRHBgG6R(n9>Ad*s`!tNy;6^gbypCFGqri&35e z)@6?9Pr4;6ot8Z&Ow>6}C0WjsK4*%=R`G^>#h;liM%%C_(c)TGjwUbC8q^|hC)E6R zskIJ7d`T4;viMx-#=SQxW?1n+l4e|=R{l_|x1C#_CABUr+jwKlA9SR`E&Bfebv>S6 z=j|xXGnkw8;)R(`82J58uDBwoT^va)F*7T#zfi|cq!)21;jI#NIq*a;ybMCqU(0*_3qL56MP`Dz&uhi03(5%hY+Q2`-i*Tn9TP?TVXZxCEcw1s; zw?<;uzW|7qbW^OyZ6+xO#@4;FEXgh1Z#l(WAQ*DqX41{#3wYL{2@Hvb(K3q}Asm}R z-BgUKTQdYxu;r-@&}j=w1DJ&X#N@;<0dNLjo%2oxh1JCvZ5Pe~HEoWHc^43MW!t3{ z+GoNr6$t>E^n`iy;`5M--CHv@7{LtY_U+9?-FDEjnquC#q`D7MKfdpdD@ibzFY4dg z=z6j0>C&TAADUdxOL0nUM$!5c8_-ms&6}6EZTB-vE&?+Pe=DZWd25jNPqL!@{NeMB z%XKMTEMp!Zyl^yWJqU=f^L_J~(=?DXA3R5^0xSc&#H-ON9IH7mc)x`K9}E`(Z_Gd^+rW_y3erv%SO`l5BD@%h-s+D z2r=ZS($7_x<0ZRl-ivB`pI_}N?Zo3xs$yK$*S0MedLQtVx^W)vQ^5C6$49T-h*hu$hy8Si-R&*G6X#B%=tZAO&%{{SffJq^j0Ha|~z zO68*gt??bFi}H{HJ)(Q!dQB5Bp5HUS6gkl7KIh()IJhs8%y#jU?v~btnVjnvhp+cU zm%^=!MXWjh04pRD(SNgkYH7u-pml_0>vN6hOd7P7Gx>@}s7hJ4tH!yWwH$=rCR<}U zceaJvo+WVVUlXo0=D!T|x-<2PnRZ6f{{X4`TH0IM-00uttpJh+=qqbs-)dGt-JdHu zZyx1ZHtdP5&<82F?c&4R9gNOc2v5fU(ECmq4sRC3$2$xY9lJ64C%BzDe-q>icE>Ort zkc4itcych%=;6efnY6gU5kvq@T;Lo82wRB>X5@nLZAAx2gku7N5l9TgprKBJK?sDX z6--j$p~J#JEjSKJ0*=Zgh{7mM#`BzsGn$T(P1GGS535CBn%pVgK0Mi^rMNaw`Ly)C z0XDguI%_kEAVY1mzkJ6)WX&yYCwJwgtS@^p-sKobPFLWAfUsT5Qft}%tq+Bt&)=a* z88;_RSnAXh5iJKHFXtNC4gA~sd=zL!I_oocE_luOuF}`fR#e6<0C<8Ik>s>z=eJry z?ic5GIq#FjXR+4TdP((CSh1v}MwmWltt(~~)g?QlSg07d-y~nN z^EfaS(eM1Ok90M(7T5dusaZE;OCJ{NKgT84)o(kF^)Y0_X#W7G=7qnJUhNweX>`Ne z?x743-eAkpj#roBZm!@@`Mz1xNef`-$M=7o6Zr;i@ zr^n;f1Y60+7cCX!G)s29Y!_M~{U20141_azopJvFS)#HF9OnAzjXHIr*n%V>&x>}R zBGdxYE|C@AWZu+V1QZHqM#BngNCB{{UdAL6!`Ncf|JdP%yI- zhep;Hn_IPGD*M})alZ17(?<^pmI_feu(Ko}%`0;0F4w)1OUzq0jVWc+tV=ATqHBQV{( z54hZ7q^zYPZy6nw^KSJrB?g4wO~NO4-fH$FVsxEy&q>miF*CSf;f-mI89N=;A~SpM zL20pcLw9bkii=xor@)^lT5h4TT4auFeD|U=BROw9W!uLQLbS6w^t9XJaXL^emUj4I zJ<~m!0|fN}Jf*2-&U>fl_i7cE7H=oces+^ID8;d8kBfA_T2o(f^nK7mN-)}HU$dN0 zEU0*&rlGss`@If3G9IxsZ(Y8c`6zcjjCF(e6e*j=*FLQAdfXn7-t*o&Q2PD(ZCMYo z2W!3M?NK&+jr>p~y9C*~_*UH*iV2Cn=3BGv4I0=pXalZzmfba=jpNk#v$kl0!O^v% zIugxEXkuGgxupHj(=FX~OvH%h^==8xrqb;)li~A9Xbp7!zUd|9&~Rg__kN=^lQX8} zo#73*qXFf&SW^A_R{BU1w;|d!wzJDacXl6c55Ypr<0KO^Xir7|0H3V=9yQ*fwBM1O z?Q||hgPIpFb}saav1FYbo6e2!X4NfmJAcYe(d`HNzp-1(OLT` ziPI6Ek5Bf1U7c*N@u_0r#H?}P+qDA{>Sb?Y$ekh$i>NnaXq$4N(6sK# zyGFXBc`XNYFaFT;1eu%o!EX9ccMksm>G4?1t0jQ`!PaPdgALZnoh{L&Ac)oK*N5<3wIjiE||MElW4N114pi5AOV} zl~Xoyba(1z^ks!7n7;zK*TyM%WG|6rz63teJsM;yZbn?2jGWlec}W!7i!_9}EGCAx z42%*42ryEh(LyCv5q1)7N&zS+k!FD(fjJC?x+q2Q-lgTKBoHAe-OE8LN>Jp-m8`wc zLH1thSEmdV!Ge*0j~6e_k6Os(TpC0gUw6&vo?&<*ce5Zd%RMO#M}k9}%QFTpMoN~$ zc+1ME!c6XtP8&?)Tu|(ybwX1yVRnqvt~?fBYE%{`XHmQ)1fuLv(n~rA@x=hjxguoR zH))&j=B%(YtcS-~{!&aN?ET}tCIWd;{{VcHzx#R{VCo-3OEnXSo^+385MY?NUQ^@hzQ_bK|8zmyL{R=NHW@%V}{MU%s>^*DVCwxw>ys?#DeZ zQ`Qa}KQtmCJ3m*TvoUCuS&cux?QA{F{I;Omr*=I#k9=r0-D2LQ`Kf4lx*egnjMCou zhG8w-wO_A$Bg`K)HxklSPw?wSqG0hsGAwIBYrI1An2?y|qTDwmvh~W2v0TT8`&LrR z5o`HCFfbf3Ek;qcI=1Ml7G3r}q~)(s6atw3Fw%;^)? zeg6QI3-(;cW0r>***6{`z5Q0pAn=dDSo9P^wx z>@~EU<@)~7G7;;<^Yu*i1Bdu6b(}MQFgxZns32o_mSfHQ{L*O2xPw`UT_XjrniHy< zyKiPAt40^%Y>T!V(qP!l<9^1L=SmdLyB{|wWx%i(V;x7yZkM8Lm*iK%Ml~n3OJ^JM zBr0Eg@KLa4BJ=luQ;EF{m0D&SX^FkE>FR>Vl5aeb{oeI8`G477_Kwu1A=iQDM^K^; zxYa%X0H}N601&|VH@Vf1=}Eyin431dVlB=wq(cVM>)RJE8O5}vGTze>1-N4t%l)KL zl;(bHdcV~A%JLR`6El4LR@9Fm^4+0w#jeHmjPm1HaYZH3TjnjapXC`KnHC@`O6r$^vzJblAUZNB(K~V>t%fp^jHE@{F>#n8F+<>m1_(BR zEMypvD6h+uLyXU9^M)P$8xjdpxLT`V3Zm-kXVDoI0p}hw9L@{G#3`SYeJt}UJ7nZ!lS`XU_Tt4EVOSifnTP#@@-?-WYVPgI^3ocjmM-F=_OgXv+DnAm&5j^?K=jTpDH5wA;8&9nii` zEk^jqDQ@}eLe;!wQ(Pg7znba|i?*|=CN-K765F=cpOS;3G+Q~wCHDUS2aBC0PvrC} zEoS&-fQ_4s-)PXKH1U4dj?ymlwP4BGe+JhQhmjkvPaQW{Tf)m8-YTDNEN@0}O7mPONG=_RzZ{zm$Ibnj=-rFM> z&DqxRQnoFNZ`zv>#F%Ao8{@HS(xwi{;&hvP`K7MvF?(jko-tE9I^Vs@U7_;lt?jR! zDQfTw+ZgJ*;-#5;=@zx$eDtXrv(s&#?Gl4A8GfQXNn41ExV`m&-@MYC%x#a?=d(*B zw~*<6q#ZQ18W;*o4M4cLQWPQs?}(Ko*m)+an+TZ%5E5L7F<3GvRA86DN12}>!A@!( zY@#Xok*tb=93BKrj;jt-c$|E&6FjVmKH6di$XmlcMLO zgnojF;$?Mq^X{*+AYW7M_C-lEZ9iwtL;Y#eBiPVJ>T8Q%H#wbg<)1H~pnRRm=6w3N z+O0!v<&QCE=ZXc@9SiBhXHnlycHikvE zlR943O$vPwR^S^kkp8iyD4V?!0ehB+G2Vz6g`DHP)QsFO9qBl*;}^BQHt)_kKq z-8KIJwFHdyXIllpO>L#|OEC;&u?GgS?afZwPW7o|!=CS1^?Ov3jDum;GuH8^dXm1d z2We>yW$~opzx~oGVT*3CnR7B&EkiVusF&)=d;b91p8GLzjqb;Zb{dEmk==cmLwlMn zBLf>)4>R|hR0bW#NQYTC#MIEssU&zlDG{k-A~x#_rZdK&7E*8Zc+>T$24#ATe(6z+ z_EJ1dk5_uhjWCD8v)ZDVZPYy7pf&Qz*E9O`Fk=4zw25h5)js4rFj^)_B+wG1 zNQ~ruqI*5)b9`_A05tbjxnGZMOpBvzoVs#Or)3OVs8jz zB`daY>uG=&ZXCrehW9f%Hva$_=}e8nXI9gKCu#ADVQjcQ;yPaRG0lfl*hF6W#?%)n zg|k0&1H)zp+Lxahnl&%retxLoBSqrYi=8bynGPjgC!1WpoMyD|sd`w|+sxP@vV#*~ zWJh_@)@s8wELi~uDj|R3*3wa?v84~`m@hXS5lBZ_E@I5kVloUw&LSsu2b!G;`rnk} zUldR*Q^8_NWokic!Ut^#Xr#_He`zyZIb?cNBG7G&p}DKZ*0_^%tkDaWo4udcigyug zuQs;-00&x0u(ZfpXZb?4B#0pOv{miePIzZ{w$(hq$IYgT6CUuqj`r?JiGLrO{;Jzs3yY~mGb#I(!M|;b2rC%rF29i9R6+SN& z=#EQQ=7N}93obS&%CxdHW>tO=;}pz^>JWUu&i2*-x?LeInmZtgg!>SrWGh6cQK|B-A!6L`$JWfWRRDh>*5p zSZ=EzDoDZvLt9dbOLtN&qk+45&R(aBWKzfWeV9xT1Fkjq|xv>+7E~p6oZcs{R;Db@(XH)xyXUPaNo~-! zcBzpnc3XKUX2-1k-iQqxTRjKwiV!bhtF5!ggwl@yz2ZyrB%4bb%_gs#u6mKu8((UI z^6~d;N15k%XASe^Vf47%3Ar(AMEm|DIHpGB_em|J+|w()A`tr7IG-qnQ*mX~*>L^GM-f~+6;m1?@2vHLgD&J@#cE9?l0sO!Zrbp%e?h7n4kKvcr;VE_g%D!RmCBIMNkhm^~914uVo zdhvTqIRPI7a?tw#CJH4ty_=8!#vwpNAET?wdFn;kvZ4YyAZ;!YiCq@2Ldm*GQaT7Gv5VJF! zTXdMvV+6$!A&+?!(LzN>U|^R*ieUrW3XsCktz8tuCE+O)B3f=m0H?$VTqLjn z5#V&f#?K*Z=ps$R<>UX>IabJ+0XjHymZ5C};`h9ZIl!l5N9 zo6Jaz$=Bm65>R(%NDe4ZtmIj%_l~tHL1!hAK0l6{*hiIkXZZFf#!O&oClyu1xTrXl znIMT*GG}B=Y7@3>WWCy2+#$fiurQ)I7)>IFBwbHHF)$MajR~Si3l?YMD3yg90D+-| zqtznaWdfRh(-}u>3uR#q>H;v{R2j#`Co|prENdoW&F}Qv!ubkBA!du z{w&G8x1vM~n&JNWJKU*NA-ZS5*JzG0M6$y(Ywr@99JtF$f>h5_F=$V;;|c_9V(iAZ zTg=%5%TW2?V_1mC-fq@`?R(ukR?8g3>B8gYj%Bx-_kXp5v29gQHIa!6>rr9y8}#4B zN?DcG{{VDdE1_v465Fl6SOm&o(-Xl!S=4WvMs57eP!mFDIsJ2{NvXZnpbDNABtX-M z@A5T-j6ekxZIUdJwXnMc_+Z+VX($sfcfTRFujmomnku0nyqAvlDn(;i5GF18eg@pnm37J`Z2B5MSk^l%M z3!6Z6%9dav26_P#a0aMr87l$NNk|PWS;at(8;ImB1j-?h8KFE0g4|0D3*kACxc6*fFS^AN@mJl_LL_2X>fiec&THGh}GIxXh?uv9zX<^X?u;Y z6r@I#IK-06sdTb|AqWit!1uuNNowaK3?v+ZP$C&5N=}KdhE51%DdZ|^G&UpwFMe!V ztW6<#mP3Y_D7$qeWKkFi0|n8*h=9l0BghU>A^~8qR?y6iMB#h?R95n!gVaf+GRJU0j~SzLjfLp5M1(27aMxfzM@>Q!Ml zZ5&J7SR-p9gCn%=fRjqfRDcAdV_bm1LR0?$Av4-ZzHdxb&0 z22lbhF01_DD}h>Jk*!Gti*^qs6;mc@3x@(&h0u%`h9(t?csx2GL|d|vjiH>g;1wda zFckp^<#Z)UIF`+w6IY_nR#(eBl+!9Gs0Ch-}3fMIgG zr;1}TDNaE|36OytJuNM^s#w#E`Zcxn5zY%4466~OFh5Q^)G!JsFjQGDW$Y;c-n?`J z2UvfXp(a$~(I#^uC+m5#NnWO{*rHyxse%_GS zb336Kf_%e68NkF}BiVb;_L-NM&WCJy)0w1S0F#)*tBjYrTNx>{CsQ7ehxtJ<4so1Z zb^Ogdr%bK8FOPJQz*^I5_E#x987aJ-*qef|HgRizY8o=`tk~RFoZ{9kQ!x8=Z>qb? z&M8YWzC!-U_kHMUGmX`@Z=Q0{fRZ9e2-tyQKobO-jr+3mcA1_|g^1yX1uki%tC$qx z^MRLLhH)TZx3~?8cnBazfVn-o2_jo{G{>FqZf$lja@EN|=bxVDYl))Nc9Rzb&z4g% zAgv)FXrrCT0>Z?h0v1LDI+-qm3Svgd2FxUaQ}StK@kJm|fMlFrN7+EGe*%J^E6DeV-#ieCW&*ig$lPFOXilDvY7%AQ`rjuw`LRefNp)X-@ zwV^CEDryGc1fT>!ZmJ}5sH(I92Xg|XNmABmGQz<^$UugKcQFAXfJT5JfCvC1kxWT0 zk_bd3yBJ0kX&ws5O;`g57GTN1rI=AOd0}Rrz+krr{%SqImXQGpv?RO` z=Qo+vP$@`{W=?a%C^3=BDSR*m)B++$0lTP$02bmTND*LeF&0J!W~Ky+4MJ}uuz~3o zwO_Gp%;XLAEfYyj_z(;To=HZs;iEw!35Z&i0Ui4<(-3*dkh4;wv;^n^y-KM_eA*zTK~QGPt2{n;1hNXuXI&nWxW2)YBp=!gs$*(j+|gZSNFTuvPZ#0Qt8 zKusN_Kq?w~7@N##o6ZMPI?!5fO9mqT1p3u)Q3-AL;e|^9 z{@W0n=+EkAhBY6D(`Sk2B_92P-Nx8v$h&9=M1icC>`1ov>lHMT{uX=1<8DTok@{K-v~e%E&bXkqn|1z&iJ*-WZ|D=8c&0LTSqtzh9VyQG zCUxG-^{F#t!KQq!+wn-&9&ZE^iE;g7!6oRm(Jr@rL}z z!c>|*Uw@lL^cmPP*2`&SVd;#^UEZqv%}fHa%WYFzU%Wo6^*_5*Og=s;8V|?9>mN1N z_&;@zbbl?pj5P{f(_2Y>@%<_KcI)tL!I7CR5gOfGkXa=wbU-B{ClO|b2rT4^9m^M#AgCJTP=$q9MQF0TK@qJC4JEv< za`6-#h1p~dAVMZv0kr`XL4pp#WQHJda}p?43Qht`Mbz7J^5)eWz!hM)poywFmbNLn z=`h~oYYoDE1_f*(1*L^1@h>`DygHRG*b*Qh64}HX=48D?%qTcQMp&@0gduJm!^;N2 zix9{JX>=>CObseURKny(b_^pemouPK076x?3)?I=*OxZD5TuvM$b`opsbsMmiPk_d z9p-esNKnAoFlrrF%pIR1B{qa@azq9}ve;%Q+JzPDvWzN_rdlotQwst!uJ*7oGcEX< zClS4yFs3k;TDE|gn3&Db?mH5e$}$K^5w*!>o7zZ{SjK69D#oHN$OsppODG*zaVINw zT(%prtmR3TMPRpeLO}3e1c~aYa1*fvV}?np{|c0qIIW^RJWjON?OUbZXnp;8PfAn$81_oECGZLXg)PJ7+M44LMp<_i(Vq%ev+Un zY%K8^zywztZAYj?aEiT_#S)h=&jkfZxW_DkVy?;}jMW6Rg*SqY10fM)lSwtP7_|jS zVrjPgbgB*uVQk8UDuu7g$yPNT}d(6R-3oCK%@pMnW|in)T{3$loNqK2i8m_ zbxSS^f_rL$o*-7)5(*J1T^AZmq=mwVc@$usH@<$W>t|d7|XSaIaHtq4B zUsb-*(bj*PQ-^#Hxqd6G>W}z&sqpnbjWNs{mp8+5o8fB zLj<9enFRC!VR0d-PK6!@d*z8E5*Z-~p{ZVTm7%>QM9IxVhNVUswt7B^Bi2P5IId{P?uAI`C$SvNv1Y*_7q+?%SD4Y>oKzugprVM z6HMbjr_=($rBDG}o&}$PEheLO2Aff@Da0%6s|F4c3YH-WkpK~)ejH^hK)aJ$NF<=0 z%as#zgaZh)(o$KKGb}P`EN|9ZUW5x9S;4lc22nz}ZYC~JaUJAE_ox&oA%=Eb0$5ufR06G6x2XzMjyQV(0Z6#4+nR8U za6(xDb2r_@lDfn}(t!eG2|>xibdsBuBM65Zr2*6vV4+ycDjv<6-8~?uAjdj^T9Hdk zdo7|lNF$IZ44pG6t;^~kQpui0OdQy2Q;`0nwT38Am|9C?u~m9 zfhne7prWc)7A#C88jKJbL5&y$3>C5x4g_bgE{e&LmXon08U?iqa_&5X&{OsXCo{_- zsRg-y-RnIw)e#dFtDq^lQF`S^D+jO(R!x-ZEA|Wx2wxA>&WXkf#F;fx3<5Hk*&Ri< zL7(zyKteO9huQYf46!@I_kQdCF8cL+-h$%aJH|L(XmUZUmR|PXNOr64vblo`X(hS4 zNxbhCV%mASe9=6%Z-sq`3}NMpVQwc48v6D>DLV+}_A0DB>J@=!_kq^qR^QMAT8 zSrw+^?UI5>w3$j3OjO;_fFUTtg)*e;8Tzp+B64QbQ=udElv4o^I7)>%@C=e%KyZpq zhu&rW`%Z5VV^+DRRujo7B7gv+Gm1b$3xYBlL0C|)P)<)wiU@$T8K<&L>|`=V5(1hl z6UrbLHv~BgvchJdogFAfAy&X3uu4rXzNoOsE7G85yoO>FL869h8|;YLZ~+{yuDtCTH7mI}ZMmLQ9&pdX$W z__QPi7zD7>62kWo3LrsX=nyH)DsKsf7|M$ff|-dX%>;>5jIe~XHUz*G3y4-_Dpi5G zGkFbI3j$dJGO3UVEiPFh;-ns<7lf7&utAVeqS$s7O2H+vh{DO*_s9+5T^3q73Bbfz z6(N8rp-kIm?QSSppaOOQi3_2SB?=6dgHs&<-?hTy5P(vNcUYGwiI*h8iz%k*5DO*} zc{|^n=E7nr5FvN2yh_T10Vu2q*Iui%Q2Ei6O&Tg&|-wc zHq#;u^LV|tW(zi@21p1EvSz_9X;H&+Ko?pFC0r9uLAF5xLT^HhWJHD^5tW5nAJ|uqPJ6tz0twB^JFJ6X&xrK<0Vv8bvRM2ys9tJK=E*oAsbsaHD?;4EN-`G77UiOf zkfb(32@z;ayh#Pw2h%?H_Pc2anywAaS8+t@)KnJV5D6rcRFs-Dail;}86-%%kpe7f zaRHMc-t%V7#>DADtI5@_b$4Z(DAdR#F<4PFAqe`LCH={a5&|)hM&dNPk_)B3@BGam zVQHIPjSSy;>ri3akF7rX)Fs^C7vN;trs|#F_tgy4F6ueUopq%m$(`=}@A_|USnCnx zC(Hb)%Rkum&$>=DF(_JeAKyWHiFYJHcKVTLJ2fSZ=4LHD)zyk9O)YXm%YR+!=6EMR zpEM&YZALA(o}bw75u8rfm!vxLMD~M&Ttl%}FX&g`ngCO>6s8KA4#!l3wu12!Tu)2~|tg;c5sOIX} zVsbZN7RvuZ#31}h;TL4N`A`78V5-YV{drXN49IK$TfLkbd z01QY7B+^odH&R((@mr+y5JwgTCfkS7f~l)Md>91&=9Cck*~(ZERgM^3@pK3h&<>zn zfXG6EWFr|CBBn*6LL?*-AR!FJw1kwyErD|xF9g9YrxXRFA&bx}xl9T~qZlYR;E@NY zY`};@C`A<{R&)mjGL({rz`+t-!XPpZgb^4{rWPRp#DQg4WNEX&mYQjtvT{QqTd2*x z6qA$}K~Qv(F&MIE*$K2}^0bkAsx?k13o1`oT?K)gAR}@mOA4@K7AWk50#*zd8A%YB zNfl97NtIMs0i731n~?QV@`dWzrP_0^}HTMTIcz0Z{_U zu!#yEAPakNu%t@B08J!Vf=20NB*JTN2D2=%)oWnlu>zEmLn3(rZX%!y09rT3;3}DY zPg;9O*Bb#gstYC8HzEibP@5ZwNJ){L!wd|xwh<-5&OvfX4E91)K@>q`SOVZYE*QMs zhU0=%OgdRM14RJKOp?ye7Z$_W4smEGA{9wo2n2#8k|bd?08voHOqFoROe=)FOt>*) zAvstU7Xbp6I$FK38ZZFJpb(7FnNa|oF<|%pNV~x{JK3!Ti4{f8>Q#kbVs#Gf`ik*c zp|MGU2a@ml-0?!9^C2k*&H}?LWvUa9xaTJ~E4q9*hP=d)3}IH-Y@jeh1=Jmck|Ik4 z!>}yxa??selW0N&hAgJ77QDlxlgv-&3=XImPT1mr?A(p<_~2H;X%k%zKK%nFd4fCBanF&72$D`ynY9AhZ~$Y-NLd6L{q zCu|FVQmA>@a~>dILM)7=q5lAImn8c;SwI`69BnWK2)#F%0$#(EoRUZr2I(wqge*yU zi2?;|K$2o_L8KT=p#<7(Vp$qq0ED5K*$D#$!r4hW-78MzY#~DhhuVUBif~-+(6&!m zTi9q@LW+!-2uDdC?pyB+C_;(~u~Pb3DQ7Aq2nI;B0Ihoy(WMS7J}Q$~sIjpSnIhax zky5FJ76(6lpjawnU}%VbRA3=P@NhBN@A2=23jdfi31Q5NMoo%3M>r;foLcg!6HUsixrp`peZ$y z;-s0NKBTac7DOOGnkg&xIao&#LB&uM8X|8gD$C{Qh!M=P0y8Dj^dY)hcC^9cUWE*FLrjL&OO&t$ z(gvs%%>bd4AvUMbseo7^OAL%R9bIifXqab?{)sIzyi-f)=?g#R!j(RQG#?cZW_dwH$++_+Dukv`#MHetOfmcAFgE6^kGx?y(=g zx={^D)+F~Ws#+vW=Uwt%j#kSXviYDj`to7(MD>F<)*cu9>lH39ytDFs(JhXn{fgX4 z!7TTo2(pA3Re`FO0J~!8Psd3o5^4>CwNOhGH7O|Sc%W@*;t2}~6Go=iKt=I`4s?yA zVJIdEr-2242m*!xxT)s_2||Q`Tv8?0<8ez}iGl##2^Ln<2r*=%38c(9K$1d4Ho&kH zq$QbkM1eh8S1r~<4?f~Xb8DxnpWRWT4yLhW$k zh8PkiXIWMgA`Ouf0ftEtNYYj}a25EaN3Gy8gofc-AYL3Hdx<3=im3>Lu+p$B17ML@ z6oKT{h6yN4IEmh`xL_qvlZj=rF_(_U8NIw1hu3i)Ckg3urZt@y_i{q z1PH|p(Kgj0LPP>?Fap#_Mk1czvcy6FUIjJODpE@cWtl80fRdRbToO_ewWk840;Y@` zmc(Xi91QkaLJPLA1;s7Jc|{?MYKe7F!4X7mSWQrbfvl|FTvXy9n-&;Ai6R67MTMe> zOrg}kVi+?fCQ?lU1Q45D8p$gdlrLa!6eE}dWJINz6ik~#6N+QSD^SjV=oc{0LYYBO`MK7gKaOz(kIGUJcB9x$^Q~;s?s8&-_86-S_Mv_LMCA|d< zy@W2p{YRC+bs7eZPr@Z|t1nV47bHNJ7K<+koMdMln z5wR*OBb6wk2$PJgl0dmZD`W=vWw{dHePHE!cu7GaGizR^BF<2;vM|94%#hrq zvPh@`0ZE9;$u%<(5jA-v$p|}u7(){##U%4V37=}p)#@1q2Xwr^3ME}A{AP0wn2sDw zG)Ug8u(83+2DYLt>$ngGH;nYdbRuk``_TG{t~hB7P%Xg<9JnK1^7=e%dxKwD^n^R8TOp^dFHC6Ocj zETS!;%Vj$>pbV(4`>0N~?O1`bv?*u?DPCA0Y~=1nMb?}FL!GqwWR%kCnWEw@r=3^; zHHCzLs71&E=;0Dg;^pWCawJ0W8V4nZMTcEpC z*-e=&w#o}5tfiQ^6Ph3fq*EoL?yI^MA{k~uHi7~%Ah%?T4}nU7aTIAN00AIvrebs9 zw`i5`igz=$*J=4SqU4()+)Jy|tt=Xmn>O#xZgip%$1d($?FdqXFL{5x`&Lr42dK`G z*XoF6*GogDxyISA#lN-0Z}HnbDL1<&?Z-*j?>iJd68n5+l^vMRg}2ESHeq`o$z!f{ zDs9y?+o8`FXm~ku{U~@GI`16k4XS2PzF6_KYq;6`(64dvZxL4(h{K-ux9w_dd>%N@ zez~G9N3J~E(?04JnV#3*T8@Ralpe;l9X-#`{FD{6&l-5W6*VaE&2>q_s4?`~#U%WN zjaedqt_L-t0+0#F-ABQct)oWbqX}lLFdM8~c#NzNp9YD=y2}xK~FUUI77$boGNrC2Rypt3Z+^LLxPgAc`o9ODcdMM9EH)fM+EtWsnplLQuFsAP~+| zFqXDtiv%EvL0Bk)BrAcT8%PvjYT+O(x8!dq6RBu`^g^Wu`r-8GPg+2=8HHwsWE-d= zmt@N(s+6x+GcpArWokH*^{_5XL26tUZ#OW&-a<1V$`EHz+J=$?A#CZHRJNie=`#KT z43P?;LjF*>vh zRvN_PhV3ed4DhTZlF(HQfs76~Mq+8pI1nByabkq1?nB)I?=l_Zv!ZGr~K zl2N!=R0bGT$5#k~X#grq;R-FTh`Rz$mMgFGy;-a2`Dl@x79pJRZf#aFncgh*YHe|B zKg#{KohJTH+J+`?T8=cJjf#jQr4bOJ+0L_w9;KjfNx`eLYXS(aL*2QC(g~&8jWz z9VX`)YfbvMj`2a>68zdPuiR#w)mx++HiNAMP^gj0^hT>B3(Nt~_Koun{L`p6KfrX|JR3IvVFv^z7;3iEEril)G5{fOWR!3bNI193DL8rxmq_W92)heJU}jgu49D3p zj(~uK26C_#7!WWQ8eE%=AL+i}B+3B+HIS*YN}Kb-EFdnFTWAbucn@NurT+j=fPyn< zoZaB@7v#v9Fa?4}MM!#D;UU%=s6CLuB_-8z(wQL%Wy_KQV(ls6z6+ZR%)AAl*EI4W z*1EItpk)99N{U%8V5nWuq?%A%Ac-WTq5uFhO@N4jWEARzB7i0$ph1-($h;&>D8_)H znM9^ExP|QeM3=9Yygp>jiLIf5Vlh7*$cp8DZ8n*}mvK+t# zIl`I|I##doyz-`#Gnqx$AmYY6?^0nO7WCBgSCK!p5i*gyFR9jrnOxrwlxjTqBj$aT z`=onmh4LI-`3u|mSL#NW1oJ0aVYA!)C$%GTc$EF#lLg_FZEIpPR^eaSzFjY;N^f)+ z%M$js@#ebTKZVUQ;Eo>l;#FGJJnIu%Jd&#tjRYbbd%>i595g?^bLLTA( zRFYT#mxT$ll4QdyGEhwff~7!cW8OsEm4w!cK!8M+luSiYz!s$i0zyCnnpg`FWz~fV z3k==)1PLG_D|KBEAn7uk$y@U%7bz`d#*i|_(7{5?)+aGhtYvV8)B;f@Q4wI7sWOTZ z%+VqvP*4MnC6j?Dq(&r3sGHutQ7U2tT0t!ZEKyas!>mX~YCXihz^g*L0g@q_6BN*k z011F9(j}3_^b(~QcX(O3lvrw)QRD)7fcZj@t0Qa}K9hm16|@mlsk1{FCD7rl8-$YP z7#l(m*hB>oYtvJ}ib`auP75(0i)-A#76AYmDVCV4t>zDg4+qTK$l$<8A_JgUBsW!I z5K>cAP<42iOA^!&1!Nk>gbWm34o1TPQzy$qEV!p6(f{hC78C6 z7B6{kL1{scxys;06#&Xo(ic!AAceawYe=|Uz_}z*FBA&7Li0d4JE&&20w%>U+k+bR zTmqny2@fT*pZk^FE+bR`L79*!yPinV1x_bnvskkoU3f>7S5Vjh3GZPs>E@XwpB22LrSt4Yhg{dj; z50km@2*U?GxjLID-pV}3yh5ikTr zpj!j2Z<>4d5MplnRGoYLlgN zXD+SjK@ds-nGOzFAyhyxu~_FDG8(|;ZAFLxiDiMz0+JHg3M&ahPlAAm#S(~NApnsT zk0=u;v9J_WDN2e9BXH^h;YtOiTEN43v=B&M@`wZ_QGm4ZxKj(-%Y10~;EaN|#uP^a zOC@B!vQIa=cbbA}Jrm|uh9q%&L$XWuXhx}K?5))|>3%3H47;TEW+Pd7qhr<|n5A0q za}xQ?>Lb=}ZxGJ6{S_#Qw@YLsO5AXZ@tBZAJQEjHwHm8E!VoDdDiW6?J%?8S|sr}0SZF(RD?BydfH(}Nb z#>09#=}jRc*x&*|ODoB~W&D!d1vL=#J5L7%BA^-{eLz|USWZ${nV9flB9Nn(E+rYt zgC)>{VFX&FM-VYHG7u7BpnT1vtkQ}-IfM0DWp;?cQDCYR!!H6=0EDL$QUf!R%#mYl zaKwh;VGU?NXDf*<)H28m!mc`*mHgBVrQu#DKayZ}IyD#ZfKkVqpraIuM2OCUW{in>?~WHo!!1ICllN{9<# z81Aju!%?QqJr`PXIbxUO8!9pufoqW~6c8l6B5#}$BQT5&53)0kAtPyI5hU+;xJyM~ z@cfFlB^((NRuas-gqdsx*h4;MB7Y%0lQgl5Udx6}494_`j3s-QTm>N3W4-Bnk#Tzj zv;;{5SKpxc$aBt?66k@a%S1M(q{Tq)whDp)g9e2mt1=|OAYmqEi$sE>MCuio46~rI zxmb`SBAtu~I1!4g)oO1D)tNF1r6&M|FOX7&C`;i%f$2jY5KM@W;h~AiO9QR(648h- zv6P7+Xb7Z4$uTBYAf&E@t|6zRsD=zfBuVBFASZs-lje9yAQS{!CSm6Y7|fuh2raum zfD@Dny@_T3aA%`Mw9GgX(HIPgHV8)S43;j4LI(tjP$m!z%rR)amSKc#IT8%0gpgCZ zi#}~g5|p7(Aq+brs;tCFj^fXFFRQpqElMTUZ0Rt4&M zanMXi-r;!>N>Z4~AsoztNg{=LmTAUlRdNquU;+SwvD4Aw#`!6=)z*F)qo1_-sX+_i ze#z@sYFLd+aW?e(sCsb^oqprBPcof0@Q=+Cuo0a`c}6^OTN2(sMAGIkV}mxCnc$7> zQ?U-%iJY?<+Hc;J+5&88(tY$QBQkG~b{bll?=Mlve!b~JVlNfJmlDLZOwK{K9T-k~ z%`DREQzTP4XqBcE(59R%HpnzH4Jm{LMTc<75=b3| zD=naK1h*xe*D?hwhG9IIDt08IqjdyvB1sXn83j@*j)(y)0aS(p7D!q_O)MmfHw&gh z9b_}Lh?Q+fe^k0Of{?W&M3QGLStSFNh8h=1yfpvr$52wA0gO1X$V1UZm zJN4s$mDR1-AjfjvGBm>&fP#(*#(;k!nKKIgcAtv3LH#zJPL`t>-=Qk5*e2>pR4SJ- zS#My%$joXRl88I}(T!>VjNJvHu z*I_7L2#E?|>lv^tkp!G1qfKnQ1Tq&}s-~_OHPT{xQ-%(%N{yQ?NMAD_ z6a#VMfjizT>3DOWSlv(3ggYlFRU%R6f(IbyU<^?p(K6mibnyAijda4Z!B!;V^CpKu z{iQDW%*&l1P)*_}4BTz0bCEI47Ua7*W5TfW>WG(y(|~tp)O(?V5jbS&=K5(_=`+3l zW_9O^Fqf$xVM1<0)2_2TlsinF8+g#*(!WvuRvGI2#S2SYCFjC?(Hu!RvHsPubB6x_ zGemQD44vhJy%NChj`0U+_Y~fePSGu~c#P>iO+hjava#+>xXq^&--34n{nn@n0AABJyH4Prm=q<3wQ&ugNxlhDX%wim5e2}|gZ|C|C1QweJd4&e zvI>=w^)h(u&5~LPEeUtJVwF_p2U>tsfhSE7LLru}SyclKj0z}9!4oSjzyzw|(}Xg~ zRrD4YnmSENazx0*MFe~lGJfDEnt(>v1XO`xzng>rOaQca?F~Ug;sRqZD3FRx0s}dL zN)l!SovB~>YcmdrCC~)LU#w>(^R1(&6m1cU!Tg{ZN#0xQaGBdSu+(MYscm_?f9AB# zbK4#!y8i$>)QwoyblKOLq1D=n;7Ugn;$=YhnXcycox2)=4uq_*2o+#i5!J0IUY`D# zWq^c16p2MF8wdhJ7+``SB9Z1MV6!nNoJmMPhLDMZD+wuNrH#OWbfEz`6Ph>HuvD>H z3wN8aL9j&17N2E?P$F(c(<)4utaA$5G)xN_+?(u#_ak z^_&Vu%fk%uE8Kn7jxlJD3HLymE!;QU9}nF_6V2sb_Ny+r-QM_%c%ll)et(LTWb%J6 z)3rDS-9#9>X?smc&txg&0CQ@}3~DhQL0vjYqe_?+J01vOjZL^JX5-oUrdoUd06o`7 zzw(G_n`cdS_igC1>N`v8{h;c%j5}V@_u8VUOkzQcjLem>wXCs2k9t($YbZlug4xJG zG1mgy1gHWmiR&@fN(|;5zTmYM7GgI407?;gBUodmw&rGSh^Zl$t~i}wH(%V;dA1Gx$CiS&w${AyklJ1NfzCn#N`-N!doB7C~62ro4h~bzfVgO06Wl787Fz1zV;K zLn-YbBxpcF1%(nsOA>NfBC>H|ilMr|bYcdWW^yuRLKRNfUM-R`qf3rg*egufAzYTA zKbEN~QxUyD62}-Eh;85aI@Jfsd%`(@emfK#p%ugTV z^GMx%{nsa#Kbkbkb|3b--N}wI{#Dy}X+~khAIXljBy?-1@`s>&HPU*Y$g5+35VR49 zBnc!U1Vj|3ar(-FsZ|QMSqj)@`q`hE+OC(LABq0}b5h!Evf_5@tars4!wri?nX=<3 zStCXZ)R;hvJwRq}nYaa@02?_1j7*kAtb-7i^gOk5QuPa{?u-&+h?vyTEnh&-umB*c zRGtS#B!NLnE|6d%Tpkd$rxYnEl?WtE$hMXd2n;#3pe6DImTQPoSpD9O&*z$8U>wKO=4uiIt)dK0 z0(tL4tL0PqOr{Z?1${(@@bQdU$5-M_CrnaV!--!XvqIdBr9XJ6<@5bTbbJ2*E224> zk5vw_#nC)bwL2*O?Ls&7$1@}Q6)vO0XV1-==m}uvbaoQVKLS(w-=^Oc5tJh1j=~S^4I%F}S#3*zjCJTswLp83~R7`#`X`l=ABn`{{SMVXbykM=^we8=JbCm zd+V`_MxAOU)YlP>hEBx`akf9_{HbyKy*OI$<~wiFx;_5@l^mu3!XHqa+bGP4v9qP||hY zrFge4Jgnh>s-QLw1;w~vc+_X44o2y`=6cMdcV?#>QF|s{Q(Rq_n5cGe?)Kn(dnjrmpffgA1d#+HBuXx3rh)>k#r0;= zsu{U^w<(cunCZl@Clcp7HrYF&@ilf|ICi<#(`vQ>BZ56GeEe0<8q7z(=k|+pje*w$ z9MiEpKhlZo?0nHJcG69DBkz4EhNIa&3wW#f7qHJnW2b6dS%t+=5qYCrW|9{&K!C8|a5$C;v2a@wbjvs$?1#=B$gtZr|qzvs+@Jdhe!F8p0q@WJ^ujD8&kAT57m$ROr{+0p3ZMdT2YM;*!cF^@+fXi z?sc`{zeg_B@h_L^rpqk#Z~UqA=jPwqpFf={c)#aQ`>jnOmzyua_$x)*V)py^p{WaO z^W^b*yIAe-U)oVG`uSqDOm(w=D;xsKEBE0es?giZRN z#-zaq3ll;)alPlc{riKZowN5{eqZepn@lma5WJ*86D8dbmN8OnCAB}xJ|n#d{{STZ z(l~LvPv6hQNGxB8J}=zyNf9LSu=fkw#Trs#F@1VoEwxXhz5f8MXc{-}PH85+O(Ue= zU9m&fBc=Xm=AB9Y)HbB>Jhg^Su+Q_=CDkL}HZ|IZC@bvq`_+hKUEIDR^hXPR@#h__ z-i_YIeOi`@p1^;8DJL-b?y2$aol!WI&wkyGlI+^iHoRP=+O#^H35Au@(96>js4dmW8(k?}yy=SXeWC3oMa_T0v3yV!m&Zxj{@ zWYl5K(G5!&a+BI8(ZdVDg!%DnF;_ec zKiBGoFu%B^Y7ZN`{_k34n*ngf(0_W@N5Ar-AJx2nv`Df&bKd^|x7>VoC+wi_4D0$R zSdq*UdA8^4P|f>e!qJqvY8#tgfb-ElH1gDWKXsy5hBKM{%?GESqxa0NX4uEo0pqM6 zb>3S6KbT)OT;3)MN=~#ro0)7t=$i z$2heP3_RZc>$ThYG_ht*e@RO_I!D~KGb!GU)_DDI*REd!;lxifIu?pRAy=$6+-*C$ zo@mu5^e4&v=`<82aAnt{ALScWj<3I;b#DFQ+RnEd-i}8*dv)h}gSK-Bd`>y-r82a{ zY#a1RG^Yg4?VckY-xQ_8iz|lxc=t?gB=qfgwZ4i@to!%=(l%bdnuOsO#P-VGp|eou z_j)pABG4_o-4xS7Cf+eq(HFE4ldM>B~&qJ^YeY5vhXsoiVzpJ`V% zx<7G4)E{5pssv?S{-{Nv8%X!3>y;cq(2u2_{qIoOoBHul)qDQ{o+=KfdwkHX3&rhH z)*qkUsv9}qPwfG!arjD}$G`0ZRGub1)H^SlA5uRvMPrsW~d8c9Kr*hM$6(cF$KgyQRRVbKx_=%`*FGm{UIF9x4I%^#_ z^G?ZcoF5ZOZ91yY8u;~0&0X+w&(&puI{p6umCfj>&hEJWMMIxo+DW79>1l2t@5cWC z7^zH4<O6X2z zXZils_rBVHebJQY(q|_0rZkPMNg?J|9BYwpYRPdVp4YEFZT{{V9v+r4#;zvUi3T7cGi-~FR`em`mMfa@K9MG>%@=+`%+`B~#b z4_zZ({-%s%zPo+2BZh$1dfqB~9P>li^B+Ijgdn~*+e#2(XP@gHEwu(OXT1p!j@SLI zN^16>f{c>){xm&Kk^P^l#ELr48-C)4c4Y19+4Itat)Bk?y#D~hN!kAZZAS7=GyJ1# zjW6*>L~;KBXl-M!=%UM5TL(?O(S6|L`>1gCb@TO8*r+e7Yw6vCPx6Jh`1-Dof8_<% zI@;7Qf;j2=^bwSYbMJCAnnrF5=tp9B<8qSb{K5YKYFY>9`5*F}1V-11+{9~YmZ9<~z)AvrcSl2tou5b5Fam*+D_?kxpoc{pHD*M9O{{UzI03_V=MAk6Q zF}{!4#UpdcA8FPin{6}FW2LX*&2xG`l`ZbyF>m}Wvz+JFeRrsA^nX9y+T{7D^8V{l z=l6Qnmu-GAT!jdTxu5yh?Q>j>;`&>R-}aqj_Y*-aJu}{I@Som~bRDCn{;JGP^LYNy zr#~$D3ZEa(nuYVn``_w@<13|@-^bvgmbXv1ops(gsgZJBEqm>z(cfB@r`PtOsrUS= zvoK;=^`#Bf@P7XQr3?Ex>1aM{qumEvd49g?O%dqN$Nn>d-G~#mv!>N7%YL}=QW*fW zV$^Ruf2|F!gRSTGwRGi)C1>kRYf^u7#ZEc;pgeVh?zum9`=DswhPpk`%yqxLdc_G6 zKj-p|#x}A&^X#KJI!E0T&^od8K)?r3Z?F5-hZiN^9|?8!tWfGb>QM|mZ$^m6 zQ0;1)e&qqf5q+YCpm>r00BGEBzj*%uXpN79;Hd2S{?&#Z?U-$}n8&+N^@r2@wGE;@ zWb{oNaM57)eN^W08-2~|sC<7Whq#}%iZ>o8x(QDI02kkn`W;6B)9scW90g z(kK1xN^l33xxEyS-aCIUL#XDtB5g|>_CH5@n_@c0)YK30AF=g88OHWr*Pk;wQdcj$ zs2+Z)o-p5h+xx#tn~p8>dQulht-KJuR{GcNbHuD1d#QJ*xn5G&Go@zC@Js4{%hR^p z{{WS7y^P&788qU#cq{Z*Q{6jJ;uG$=FhiyD&uJ&MO3(arr+-v4H{0|x-@OJezo^dM zBY3FVHQv$Hy$c22%N?mm6aMw}Lpo`=ZOyy$LL`+eOZ(%sPYFE~d$k^VZSnsAh6_ce zKk`!yRHhi;_wRI1PLKFkBj&liAIce<)}tjsu8~vNsS{ar&VzltZF|(onL69`>Qf3( zj(WBG%_xbB@iB{Jp0ozq^v}=!ONqABAdlag8Jqh0u8)7^0mID>qugob z@lbG`?ejt~^~3wtoKW?-+KG&k?TUrb$6lYJhT$>G_gCaL>dzDVnwBK3n7C=Fj^#|s zM?c$N%>l{Wgnin%y+6tk!gSaF00*c)ziB~jhn#uGn4#-`2h{=AH=AqkN*r04!2EIH2ZJ%=)1=CENN`?QXpP06$`bd&dh8%@27yeAG2Q{{WSH>q?h*&25== zW8-dUTj@Oh{jEd0>-kb$nL9!Int^zEF|X&Eo=Kc2^ubAUc(v3u5@+Proa4x!UT;ja z9TL3^Y0`Nw_fDI^(Jj@#dS$xe@w~;e#U}PW9u%I~sp%bVzE%ELH>3GWH-Gw2${lJ) z2>1U0(MC!FUI+F+@J1pvb@3m}*Gh)51?|)O>;C`(SsNJ#AKsVZhf(qRW`lAjlb-Zl zp(Mi*@uja*(ha!%EDbb3Tcg+RQU-CW81#U-w{glF; z=x05DwH|$cXfBVh?D!fstZ*^j(L--CbpHU28_xd#Be{tvf&{5G0 zE?KZXDF$o_-%QP@b2B`C`JpiF`p?h)3r5{-{G_~%t&6_mDmy;Ev?C0in!9`(S({>J zjh<0H??codpWUhrV|z~gewrHCHsj)kZ1tJ>qj}@~XiZPuVuhnV=x#~Xjko;JcaFCA zL(!iNa9wbFzoM^AqiFl7%uVlZynIZBG0N_*tN#F%8P(_Z-d@!XeSc}Y3)R2fY($15 zPQCPNlj4<&ta8+w<&E!FCVfA&sAxYQ+VSTvxQd%d@%?L);-%g4)Vsb~-$sKqmNsG<@ld9J&)b$J3ha)9iLy? zu`~VfO+$R*&-4EPGifYX)-Sg^(1^Y*8c?-7RGOXb^Hz3ayno=%n|{R?vVM&wvPhpl zWeQm6-E=)IOZ zY1TW?jc2Xs-gy52TITfDtbaP@rr)D)<>@1K{pZR0IH!B%u1VqZfy+NtWUmYg(24~~t{k2D*RrsIsoq1aN^Y{GHw=MDe zwQ6$*_VJwewPNVd+nq$NZ%^{Mj{g9$zMIhUjx=)r_8RZZrL%l11t$`OodBMmh^8yY#&eTl)Ugc71Aa*!#KEoP;xihUlbXH z3=nGOS|oybA5OK&@m)vm3O1qFS?;=NVw0fHKlZT2{0F=G`=t%;ZFu;`l|CMK_^CCH z-_j^Z%=2%nfAJ{Jv_8MMqZvBC-9{&LI zlj4J|yx-Mwe9)#mX;awu{iAu~{b~-rZSz6`^Ph_|`xI|HRC)d0z5f8`PyFwlH~#>i zbpe7YD86x@ZHVzwEqC)8H?{sYw){p)Qe(ti0;f=_LVpuh4?AvTw?y?YL3sZ?IEo6yj94b z-81T>i4(gNJxgCP=M6!J=l(}$j!ox}^{8ye?LXQJIk7nYf65Vw{n}_cG3(Bi$o}zN zC-)Ik*!TUTdE@y>v`??&^<2*iPz}!W?q<4&zoh>Flv#tz1L{5~IZNvwO`6z1dmkCw@g$lOWms$IsN|tD%}pl^+0WDX4ve^N586CX}q3uKZ;IfXV1IW zGu-%v`k`qq^GnFyKaq^rQ{UYSA0zW>H9&WV>T4K$Px(VR>serqzklUJha#`LP+UU8 znBFzx`9d!<*5wK#&OO%t;~Yv%M9MEIj);r>wdzpvgX4Y2;j3Sq00KhG2w zHhNly8QO<82;)CAB4A9x32+o@b841>`@IiR z+<)2|j?;k!Zo8$RP2;q*tdDO?KR@(J{$Lg;T zxUqTDbo!vPF?WyQ@kAX5p*np%>DYOx{{YYSYQ#DL7Wz zUZadQyniWS_mdaWW$|2?;r>@A*UfW!f0cVbUo|6!X+tUZ;*#g3M`zdep{V@-04h5^ zzqB*C*FX9rRqylry-Q)>v+bZcBj3e!yjLgB@++kT?nd|c_caYqzvV+g`2N$dj{gAV zO68iCB3Ro>5r(=w{{WObUFP=tnl#Aig#Gi)K^8dE?f(FHscoBbG(Jv`{G*u8_Wo2G zK=&V1kqDPa`n!wg{Et2l?Fp}+{1Jw_R0DfGUN(p7i*0@7Ul@;cH*325S48ip_NAfs z{Ghpk{rV~&pX!05^w3(*U(-U=@j+Pp(2P;M@A_+#=7eGQC+?I9xgF=~hh+5YKULE4 zLDY|b%9bpo?enf^dig(mc+!C3C{qjd;}t6m9N+!=C}nOYk)HSc$No&rKBz65b@%zr Z0gyV8{{WZPJkQZWn4@vy-3Z|;|Jm9)FRB0l literal 0 HcmV?d00001 diff --git a/resources/ui/units/aircrafts/icons/EA_6B_24.jpg b/resources/ui/units/aircrafts/icons/EA_6B_24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b4f7347ce79ca6f07741dba80a8e89ae75e9821 GIT binary patch literal 11318 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 literal 0 HcmV?d00001 diff --git a/resources/units/aircraft/EA_6B.yaml b/resources/units/aircraft/EA_6B.yaml new file mode 100644 index 00000000..ddf3ad31 --- /dev/null +++ b/resources/units/aircraft/EA_6B.yaml @@ -0,0 +1,17 @@ +carrier_capable: true +description: + "The Northrop Grumman EA-6B Prowler is a twin-engine, four-seat, mid-wing electronic-warfare \ + \ aircraft derived from the A-6 Intruder airframe. The EA-6A was the initial electronic warfare \ + \ version of the A-6 used by the United States Marine Corps and United States Navy. \ + \ It was capable of carrying and firing anti-radiation missiles (ARMs), such as the AGM-88 HARM." +introduced: 1971 +manufacturer: Northrop Grumman +origin: USA +price: 11 +role: Carrier-based Electronic-warfare Aircraft +gunfighter: false +variants: + EA-6B Prowler: {} +tasks: + SEAD: 460 + SEAD Escort: 460 From 78fdc1bcfc05fa7af867b97a7981667c4f868f3f Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sun, 16 Jun 2024 03:53:58 +1000 Subject: [PATCH 02/32] Fix for Operation Gazelle (#342) --- resources/campaigns/operation_gazelle.miz | Bin 88196 -> 88625 bytes resources/campaigns/operation_gazelle.yaml | 65 ++++++++------------- 2 files changed, 23 insertions(+), 42 deletions(-) diff --git a/resources/campaigns/operation_gazelle.miz b/resources/campaigns/operation_gazelle.miz index 1787bb8fffb267934c02f4bcfc20fdc46030853d..a47f4bac203cc5c82ba89d1d3def45847183121d 100644 GIT binary patch delta 80852 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 Dq)6cF delta 80465 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%0DYkX+P2VMz8>DzEOB6f5R-|&JZd4+ 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 diff --git a/resources/campaigns/operation_gazelle.yaml b/resources/campaigns/operation_gazelle.yaml index 0dcbbc83..3ab539de 100644 --- a/resources/campaigns/operation_gazelle.yaml +++ b/resources/campaigns/operation_gazelle.yaml @@ -32,7 +32,7 @@ squadrons: aircraft: - C-130J-30 Super Hercules - C-130 - size: 8 + size: 4 # Tel Nof 23: - primary: SEAD @@ -53,20 +53,20 @@ squadrons: secondary: any aircraft: - UH-1H Iroquois - size: 8 + size: 4 # Hatzor 20: - primary: BAI secondary: any aircraft: - A-4E Skyhawk - - F-4E Phantom II + - F-4E-45MC Phantom II size: 20 - primary: Strike secondary: any aircraft: - A-4E Skyhawk - - F-4E Phantom II + - F-4E-45MC Phantom II size: 20 # El Arish 29: @@ -83,7 +83,7 @@ squadrons: secondary: any aircraft: - MiG-15bis Fagot - size: 8 + size: 16 - primary: Air Assault secondary: any aircraft: @@ -91,50 +91,31 @@ squadrons: size: 4 # Al Mansurah 14: - - primary: Escort - secondary: - - BAI - - BARCAP - - Escort - - Fighter sweep - - Intercept - - TARCAP + - primary: BARCAP + secondary: any aircraft: - MiG-21bis Fishbed-N - size: 20 + size: 16 - primary: BAI secondary: any aircraft: - MiG-19P Farmer-B - size: 20 + size: 16 + # Cairo West + 18: + - primary: Strike + secondary: any + aircraft: + - Tu-16 Badger + size: 14 + - primary: Escort + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + size: 16 + # FARP + Port Tewfik Staging Area: - primary: Transport - secondary: any - aircraft: - - Mi-8MTV2 Hip - size: 4 - # Cairo West - 18: - - primary: Strike - secondary: - - DEAD - - OCA/Runway - aircraft: - - Tu-16 Badger - size: 15 - - primary: BARCAP - secondary: - - BAI - - BARCAP - - Escort - - Fighter sweep - - Intercept - - TARCAP - aircraft: - - MiG-21bis Fishbed-N - size: 20 - # FARP - Port Tewfik Staging Area: - - primary: Air Assault secondary: any aircraft: - Mi-8MTV2 Hip From 38e62e7636a8bda390626fb818b0b4140f48e46b Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 15 Jun 2024 19:34:10 +0200 Subject: [PATCH 03/32] Fix Kiowa squadrons --- resources/squadrons/OH58D/AUS Army.yaml | 3 +-- resources/squadrons/OH58D/DE Army.yaml | 3 +-- resources/squadrons/OH58D/ES Army.yaml | 3 +-- resources/squadrons/OH58D/FR Army.yaml | 3 +-- resources/squadrons/OH58D/GR Army.yaml | 3 +-- resources/squadrons/OH58D/ISR Army.yaml | 3 +-- resources/squadrons/OH58D/JPN Army.yaml | 3 +-- resources/squadrons/OH58D/NL Army.yaml | 3 +-- resources/squadrons/OH58D/PL Army.yaml | 3 +-- resources/squadrons/OH58D/RU Army.yaml | 3 +-- resources/squadrons/OH58D/TUN Army.yaml | 3 +-- resources/squadrons/OH58D/TWN Army.yaml | 3 +-- resources/squadrons/OH58D/UK Army Desert.yaml | 3 +-- resources/squadrons/OH58D/UK Army.yaml | 3 +-- resources/squadrons/OH58D/US 3-17 B.yaml | 3 +-- 15 files changed, 15 insertions(+), 30 deletions(-) diff --git a/resources/squadrons/OH58D/AUS Army.yaml b/resources/squadrons/OH58D/AUS Army.yaml index 81419f07..058019df 100644 --- a/resources/squadrons/OH58D/AUS Army.yaml +++ b/resources/squadrons/OH58D/AUS Army.yaml @@ -3,8 +3,7 @@ name: Australian Army country: Australia role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - AUS Army Fictional +livery: AUS Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/DE Army.yaml b/resources/squadrons/OH58D/DE Army.yaml index 8bf42d01..c14386d4 100644 --- a/resources/squadrons/OH58D/DE Army.yaml +++ b/resources/squadrons/OH58D/DE Army.yaml @@ -3,8 +3,7 @@ name: German Army country: Germany role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - DE Army Fictional +livery: DE Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/ES Army.yaml b/resources/squadrons/OH58D/ES Army.yaml index c9d469aa..1f4ad17d 100644 --- a/resources/squadrons/OH58D/ES Army.yaml +++ b/resources/squadrons/OH58D/ES Army.yaml @@ -3,8 +3,7 @@ name: Spanish Army country: Spain role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - ES Army Fictional +livery: ES Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/FR Army.yaml b/resources/squadrons/OH58D/FR Army.yaml index 9f5df872..6242711e 100644 --- a/resources/squadrons/OH58D/FR Army.yaml +++ b/resources/squadrons/OH58D/FR Army.yaml @@ -3,8 +3,7 @@ name: French Army country: France role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - FR Army Fictional +livery: FR Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/GR Army.yaml b/resources/squadrons/OH58D/GR Army.yaml index 8dc89f39..9d2151a8 100644 --- a/resources/squadrons/OH58D/GR Army.yaml +++ b/resources/squadrons/OH58D/GR Army.yaml @@ -3,8 +3,7 @@ name: Greek Army country: Greece role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - GR Army Fictional +livery: GR Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/ISR Army.yaml b/resources/squadrons/OH58D/ISR Army.yaml index 911c1e63..79ac2914 100644 --- a/resources/squadrons/OH58D/ISR Army.yaml +++ b/resources/squadrons/OH58D/ISR Army.yaml @@ -3,8 +3,7 @@ name: Israeli Army country: Israel role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - ISR Army Fictional +livery: ISR Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/JPN Army.yaml b/resources/squadrons/OH58D/JPN Army.yaml index fff41212..bbefc604 100644 --- a/resources/squadrons/OH58D/JPN Army.yaml +++ b/resources/squadrons/OH58D/JPN Army.yaml @@ -3,8 +3,7 @@ name: Japanese Army country: Japan role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - JPN Army Fictional +livery: JPN Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/NL Army.yaml b/resources/squadrons/OH58D/NL Army.yaml index 0a342576..9b3a5fcc 100644 --- a/resources/squadrons/OH58D/NL Army.yaml +++ b/resources/squadrons/OH58D/NL Army.yaml @@ -3,8 +3,7 @@ name: Dutch Army country: The Netherlands role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - NL Army Fictional +livery: NL Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/PL Army.yaml b/resources/squadrons/OH58D/PL Army.yaml index d9c713a5..1ae1f319 100644 --- a/resources/squadrons/OH58D/PL Army.yaml +++ b/resources/squadrons/OH58D/PL Army.yaml @@ -3,8 +3,7 @@ name: Polish Army country: Poland role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - PL Army Fictional +livery: PL Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/RU Army.yaml b/resources/squadrons/OH58D/RU Army.yaml index 6f81909a..ca060c61 100644 --- a/resources/squadrons/OH58D/RU Army.yaml +++ b/resources/squadrons/OH58D/RU Army.yaml @@ -3,8 +3,7 @@ name: Russian Army country: Russia role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - RU Army Fictional +livery: RU Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/TUN Army.yaml b/resources/squadrons/OH58D/TUN Army.yaml index a39ed6a2..a631c84b 100644 --- a/resources/squadrons/OH58D/TUN Army.yaml +++ b/resources/squadrons/OH58D/TUN Army.yaml @@ -3,8 +3,7 @@ name: Tunisian Army country: Tunisia role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - TUN Army +livery: TUN Army mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/TWN Army.yaml b/resources/squadrons/OH58D/TWN Army.yaml index f02dd1a2..82fde046 100644 --- a/resources/squadrons/OH58D/TWN Army.yaml +++ b/resources/squadrons/OH58D/TWN Army.yaml @@ -3,8 +3,7 @@ name: Taiwanese Army country: Combined Joint Task Forces Blue role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - TWN Army Fictional +livery: TWN Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/UK Army Desert.yaml b/resources/squadrons/OH58D/UK Army Desert.yaml index 2caef78d..163d2651 100644 --- a/resources/squadrons/OH58D/UK Army Desert.yaml +++ b/resources/squadrons/OH58D/UK Army Desert.yaml @@ -3,8 +3,7 @@ name: British Army Air Corps Desert country: UK role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - UK Army Fictional Desert +livery: UK Army Fictional Desert mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/UK Army.yaml b/resources/squadrons/OH58D/UK Army.yaml index 3139ee77..948e565a 100644 --- a/resources/squadrons/OH58D/UK Army.yaml +++ b/resources/squadrons/OH58D/UK Army.yaml @@ -3,8 +3,7 @@ name: British Army Air Corps country: UK role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - UK Army Fictional +livery: UK Army Fictional mission_types: - BAI - CAS diff --git a/resources/squadrons/OH58D/US 3-17 B.yaml b/resources/squadrons/OH58D/US 3-17 B.yaml index fdd02416..fd827137 100644 --- a/resources/squadrons/OH58D/US 3-17 B.yaml +++ b/resources/squadrons/OH58D/US 3-17 B.yaml @@ -5,8 +5,7 @@ female_pilot_percentage: 10 country: USA role: Light Attack and Scout Helicopter aircraft: OH-58D(R) Kiowa Warrior -livery: - - US 3-17 B 937 Iraq +livery: US 3-17 B 937 Iraq mission_types: - BAI - CAS From c22f7cbff3f69c526a09db85469af0fd495c668c Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 15 Jun 2024 23:40:16 +0200 Subject: [PATCH 04/32] Overhaul redeployment of units after base-capture(s) --- game/sim/missionresultsprocessor.py | 62 +++++++++++++++++++--------- game/theater/controlpoint.py | 17 ++++++++ qt_ui/windows/basemenu/QBaseMenu2.py | 3 ++ 3 files changed, 63 insertions(+), 19 deletions(-) diff --git a/game/sim/missionresultsprocessor.py b/game/sim/missionresultsprocessor.py index 4fc3f808..79f2d681 100644 --- a/game/sim/missionresultsprocessor.py +++ b/game/sim/missionresultsprocessor.py @@ -159,11 +159,13 @@ class MissionResultsProcessor: captured.control_point.capture( self.game, events, captured.captured_by_player ) - logging.info(f"Will run redeploy for {captured.control_point}") - self.redeploy_units(captured.control_point) except Exception: logging.exception(f"Could not process base capture {captured}") + for captured in debriefing.base_captures: + logging.info(f"Will run redeploy for {captured.control_point}") + self.redeploy_units(captured.control_point) + def record_carcasses(self, debriefing: Debriefing) -> None: for destroyed_unit in debriefing.state_data.destroyed_statics: self.game.add_destroyed_units(destroyed_unit) @@ -301,10 +303,6 @@ class MissionResultsProcessor: """ " Auto redeploy units to newly captured base """ - - ally_connected_cps = [ - ocp for ocp in cp.connected_points if cp.captured == ocp.captured - ] enemy_connected_cps = [ ocp for ocp in cp.connected_points if cp.captured != ocp.captured ] @@ -314,28 +312,54 @@ class MissionResultsProcessor: if len(enemy_connected_cps) == 0: return + ally_connected_cps = [ + ocp + for ocp in cp.transitive_connected_friendly_destinations() + if cp.captured == ocp.captured and ocp.base.total_armor + ] + + settings = cp.coalition.game.settings + factor = ( + settings.frontline_reserves_factor + if cp.captured + else settings.frontline_reserves_factor_red + ) + # From each ally cp, send reinforcements - for ally_cp in ally_connected_cps: + for ally_cp in sorted( + ally_connected_cps, + key=lambda x: len( + [cp for cp in x.connected_points if x.captured != cp.captured] + ), + ): self.redeploy_between(cp, ally_cp) + if cp.base.total_armor > factor * cp.deployable_front_line_units: + break def redeploy_between(self, destination: ControlPoint, source: ControlPoint) -> None: total_units_redeployed = 0 moved_units = {} - if source.has_active_frontline or not destination.captured: - # If there are still active front lines to defend at the - # transferring CP we should not transfer all units. - # - # Opfor also does not transfer all of their units. - # TODO: Balance the CPs rather than moving half from everywhere. - move_factor = 0.5 - else: - # Otherwise we can move everything. - move_factor = 1 + settings = source.coalition.game.settings + reserves = max( + 1, + settings.reserves_procurement_target + if source.captured + else settings.reserves_procurement_target_red, + ) + total_units = source.base.total_armor + reserves_factor = (reserves - 1) / total_units # slight underestimation + + source_frontline_count = len( + [cp for cp in source.connected_points if not source.is_friendly_to(cp)] + ) + + move_factor = max(0.0, 1 / (source_frontline_count + 1) - reserves_factor) for frontline_unit, count in source.base.armor.items(): - moved_units[frontline_unit] = int(count * move_factor) - total_units_redeployed = total_units_redeployed + int(count * move_factor) + moved_count = int(count * move_factor) + moved_units[frontline_unit] = moved_count + total_units_redeployed += moved_count destination.base.commission_units(moved_units) source.base.commit_losses(moved_units) diff --git a/game/theater/controlpoint.py b/game/theater/controlpoint.py index 7add8807..c58e7174 100644 --- a/game/theater/controlpoint.py +++ b/game/theater/controlpoint.py @@ -572,6 +572,23 @@ class ControlPoint(MissionTarget, SidcDescribable, ABC): connected.extend(cp.transitive_friendly_shipping_destinations(seen)) return connected + def transitive_connected_friendly_destinations( + self, seen: Optional[Set[ControlPoint]] = None + ) -> List[ControlPoint]: + if seen is None: + seen = {self} + + connected = [] + for cp in set(self.connected_points + list(self.shipping_lanes.keys())): + if cp.captured != self.captured: + continue + if cp in seen: + continue + seen.add(cp) + connected.append(cp) + connected.extend(cp.transitive_connected_friendly_destinations(seen)) + return connected + @property def has_factory(self) -> bool: for tgo in self.connected_objectives: diff --git a/qt_ui/windows/basemenu/QBaseMenu2.py b/qt_ui/windows/basemenu/QBaseMenu2.py index ebaaea83..da4dea79 100644 --- a/qt_ui/windows/basemenu/QBaseMenu2.py +++ b/qt_ui/windows/basemenu/QBaseMenu2.py @@ -19,6 +19,7 @@ from game.radio.RadioFrequencyContainer import RadioFrequencyContainer from game.radio.TacanContainer import TacanContainer from game.server import EventStream from game.sim import GameUpdateEvents +from game.sim.missionresultsprocessor import MissionResultsProcessor from game.theater import ( AMMO_DEPOT_FRONTLINE_UNIT_CONTRIBUTION, ControlPoint, @@ -181,6 +182,8 @@ class QBaseMenu2(QDialog): def cheat_capture(self) -> None: events = GameUpdateEvents() self.cp.capture(self.game_model.game, events, for_player=not self.cp.captured) + mrp = MissionResultsProcessor(self.game_model.game) + mrp.redeploy_units(self.cp) # Reinitialized ground planners and the like. The ATO needs to be reset because # missions planned against the flipped base are no longer valid. self.game_model.game.initialize_turn(events) From 192fb2087f31967cf5e588a789c88aa9b723b629 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 17 Jun 2024 05:03:09 +1000 Subject: [PATCH 05/32] Update Peace Spring & Grabthar's Hammer (#344) --- resources/campaigns/grabthars_hammer.miz | Bin 52529 -> 52501 bytes resources/campaigns/grabthars_hammer.yaml | 12 ++++++------ .../campaigns/operation_peace_spring.miz | Bin 106371 -> 106562 bytes .../campaigns/operation_peace_spring.yaml | 10 +++++----- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/resources/campaigns/grabthars_hammer.miz b/resources/campaigns/grabthars_hammer.miz index 82e68ccb8cd91413eccef92c2841f109b769ef34..708023a33059f40b9e9a943620049f02c10f6403 100644 GIT binary patch delta 43159 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

%gQBeDw)0-Q5fWUuf{9 zR=#pGTqFBK6O(&p0+fX+{*?}!q3qA9$paU3mal&0;hYymVuAmy@V~nbYMpW3?=CMcExzI|*m`|z)70v|4x(b|Nk;PEkCcJ5OfxV#|K zPQ-YzpL>-UxY4n(RuOgxmI_z51Ci4{2^pP!*LSbCwu3NjD?5HIzON@I6+DX1J&KbP zR2_kbt4G&+lPW{tB=sJ6rQ*o!3Qz@btOBDcTTsaeZ@X!1x|4Gy0xL9D6$Jb53U9*MO6Ca+t-4}FS0(tt{J z$TkiCXy^WPw)gt9f83%{jPk4V=g7v;V#mSsN^zxk`GL|jP$TeCZiR4It7K8AyAa-p zhz_6wlla;tiresVK_*6ag*ogKC5)f^5Bt#b^{mo$oXbW{pL zq2w&i%QohzddlnHo||B|Rv1S7!yd;1G7caVVW_x*L66P&JCCtt1C%5ujTs~yxX=gt zE4;N|RNtm8z3(@Qwj{rT#EIWxg7k-m#MljVZo7(uDdo%27wfnJj`MP8Zg&Jwep%H> z)jKPj@n?t8pTEiieLLtNazL_$(pvFtKKGVz4BA-kwZS3lF|y{A3${`e>_2Fs=lTF& zMM^V7Su|Z_sZL!Jmq??-IQwW6m`iV8rSAWHJq89kxRtmNvR=d|yLFmZezZ z4h13i;#Kgkc*ocbZm^KsOHsJy_^JTJ$j~9n&_wBqu}&d-G;T_7|IpkWAgNKiUr*@#qFkGY+XI2GPsd8V{OfEwTXASSN~) zw!Po=+%-I*i(KJ8&Pw6?^2yUyKpR<0QBa90Q6&TfDKpM%2p~N2^qdaE4Qh*hg{CL;lv+` z9p?;BmHmG0q}jPYQ)8Mv2L^8F!u zB)r2ZP?EBCHH?pp;iP*MKH(A7IMhJtu<47MPEBGZvJk37@$bR-y@L*g;-O-NN%y@d+$5G4%LdL=yKbgqZ~ZOqK#ukiI^m zE*C*%A&6g`F;0-&rWfV6UIB32myd;mS~wBk6?d2jO$XaRD#8~V-aqR{>X(n&#BdBS zn*~iC`q4xA6r?fYV z_1Zgo;f`eb)s7_tBd={hh=@%ENP8~0HD|Lmju;q(GVML2{3k;k-)XA#{QD$NAJ-IG zAdyif`ce>6hws)IMMQEmt8IX1bF;{Z_#fEHr9fD{TgkWQs`VJ=8%M*&nq8X>$?L-2 zd%LCMZ7a#PK-Qo>GD+;l#zF~SCS%NawL)Wu{F%;I6fje>l$-{9L$nBA{{z|+rRDGV zkE+c=UH*SlwV&?)f2bPuHf^+~UY{(zEU2;nf0$aR_7s3d#%g{T+g{DmXUR9lwTgz4 z8a4Pk54%ZW3AGt{(gu5K+6XKxdMaei*$mU0NUn@?EN4*+R%#aw- z$sumnzH};RAsFQ!fAX3+znk_+on!GJ@dipl8-W3^4sm+Ee)X5VbXg5So&JG(mc_AR zi>Lq}2ozq#23Y$l1^75|6+QT#`Vz;9%7)4To#;43rV& zq7kC|qrdij>^_%keD&%>)uVp=?yBS)Nn}vlrjjc#??(_Dgx;5e{bll-)0)c z*A`!==IRHe(XYkoQNxc^knYNSHL55S_rYV#_B@5`p+73C{?btFF7S*ZH_T%@v0edH zMoZrmH6Wv>mwT6>dzJc<5kwn*sWqpY_IXYBMjC(Z`V{mZ6S`12m=vV#mawQ)lnMKE z=O}u`sB)slKkWZr^g}&WEjtP2`BhEq-*bK%g4#8r@nCS-wfauKO7n=~UwcL>^jMn~ zlIwco@?kgWhWO{k!F~fNVBe2(W4|Z-^FQQovwg>EpK$FLpI%GApq2WTzB&fv}X59BWC|8bxb1;;D!L4dBt=shbH@Y4ZUwyL3C-#+XAL)CiVVvJI?{!ppC z|CcRm{3lyhlHF8+>E`pWw|g9k3c4ZS0KYtaIxffkqowDM8{Nb<3djF+T{GLzFjBqw z#M#dO|Z>Ji+C9-b*tSpZD);$CM( zcL97;iVtfP$H9R#pR)^dg1~6R+t&d#VSfajw?EvxPiXPqWWs{3(K3U|m{|6>fi8$S z+5bCTc5-+Y*T(kp=)20VyP1VGIseK7PM4tu%DnuOE*nn!k@$-u-+v4F^w(B=kwf3s z`0KP2D6s@^F?m3H5X#1Vlk(t#SzSy(pOfWm0Rs8hBsN-bwo1YxfI8&(8a4cQ>>)RA|3E*{OpdqhK1@TG5SfW|Mnu_KG!KQ(4QNiYo0SC@p^T8vjgRDm3|XoAn5Kd z;BQ{#eE-(f&-v>4ynp-9pt2#7W1{n(UEx`w8z+OkY4n5A*~QcI+j^+oYN?o-`6Enx zV=~)G@2V9jw0>(EExf-|S9n77_TC|CRDos9Rnp^BG|S)RI`VK2wRgBggSEQxd>7FE zczFjn+v`w0{ zHr5dnXZgRJe&G*CK;10eGG$|jtKX|%xgOp>`V&Z)-II%iC|)B|((`<>eK?_eWzU#V z)b#RLi-HZcw3=hz zRmZ3aB)6)H;1sMw=00H;!Iy2q(>+3XQGQ+$A`QNhOat;CVo{N3sH8-(QBr6-)7U## zJA0dd%KHiPKX_phtK1FGLIT!;v06h#{F<%#p=;_)Hogit?9XyoWt=@5RWWQ6N_t0L zqHGh=(}c4@YZk@nz_L8Zycz7*LL!`19 z*pR!*z`1%~I`K?~KDW{b*ywp(N6~W3hjC51C-!sLwJ541JIl4NA=KD*&D*(mgZ_}w z*L;@l@n}Ej_a*u2=&MC!gVMQJh1rvGjrfzsw}Qzw`Zk`LOmG7obIMtR}MxU0$+ z1hIj0Ez8GlXlMJ`^VX#o{3*64bTHvvEy!}$y}<_B6aEZs3H*E&h%*wjrD@YRIIKN; zM!~8RrSd0Iq7)vzco+w?CGTHj46H1dU-|x?W>o($KvQTU<$M+RRG~r;pF$7|HGlf4 z%Zl&51#Qcz$U|Z!4aeXK>0k`P$ufxytWY#g^WYt%wEsoP@S|=0bw{R0>hPF=!Qj~K z^V#D6Mb%qCMfH7upmaz|NXQTZ0s?|`3@w5pCDJmKbPNqcU3#Qd5Re!^knZkAy1ToZ zq4VL_-}}Gy)|xx(-kEdH=k9&>*>UbUXXl3Yi@TI2dWWvxZ4AMax=gcfw=XA@8|7RL zZ^U!Ybomv^Yc1+B$sh91K?mljX1(eGw~v6Z<6NYBWqo}`xbmNJOwlRSP(zF=+lE<8 zMV+NuK?S60^0ba~Hq*yK@*KGIsk@rxB^!AD(yQ(y)R6W`Q{9KcwE2}diuTXREoy2~ zNR`XQuai1ZNyk$Dn9|IA&zkl3QA1X6SRKZ?urCY^iLsuKy3T;tn;QgMAvx<#s{|ta z*n(jFx};<~DfL72+{y-sCh)(K{OHKKf9E1Tur~$}1@3{>);goVfNm)3>h*W|oYpKtW>=D&HJ8;|ads%ZtF}^RWIga@> zL0?Z&~G$8qnpHbTGU*slm|2x~d6F@xnL71dpJf)9jQ_h`Nw;PJK~TcPHuJ{{b7g1Eh!v z`~jK2r2{scn~;fzbq$Ag`i+Qs2{x{qw*>)ff&cdWD4}rd={dZo7{+%LVwOsmGx|wuF8lE;k<%Y7Vo>I37^^qO^JZT=_ zl1w>i+OK=**~bX8y=5Yb`35HYua0@@sIet!9ine_$Dd&-G}`{zq6{jnUB?a^`ECvC z-@uLD-{C#-h{q3wp<+zX+ev%@KgPS70y6A~@?+~M6l2_PRWXF2lyxP$;1t)Nn43Ah zeXbX2M3i>}Z}JD}@@J#$m#KiAQo*v7hy5zow%W&5N*^t&s_c|re9e(aSvMieeL-OG z@lh`>YPeaiKbNDq+@DXj)UKbEbuK^mt$++~>smQhKumQq4+=73O-ITgTmzpb(bQpW zU-YYU){ly24@(Ny6Z^UVm%Jz!ZoJ*Bfn?268<8oV7LfpFoE_rv;xEpCn<2={5X7Z) zcU$;ka0zdi^9QZU7<>e+-&a{ty@r|8(`g-~6<%RD{!I+pj^sB(nBNAE_{O9XvS-Pt zz*8dBi?YVYa||8}yJgwUsSRP~qrt2OjcUJvZl7{Vfp%Vlg3`~-D11TW*BMb_jCnFz z@FGG(P^cDsHO&I<8~}VziD*I3xw3QjasJruY;HObU;mp}Ct{~F@jnR{5%{Vz{n8l3 z@!y>hYafnA4Glg%sWTZj=t*)NoySh&V~oNYd9nLf`|fG6?BTSC#yRcw9k`KJqI z3_8#zo4=Q&{g&hS^tB@G=4+04$`dgo*rWC;balWW)5dO7ad7nIerIyU@>YC@sM~Fw zf9w$<%U`}SE$+>q8?(>rV++p3l)How^NZjFvf;DJvb~UzpSEPgb!#Wz&1BcYvHvf2 zQb3!}fxbnXA2U@UIUENrmC)wtaow0v3kU1m<2Moq>ly~@VwIPU`VUrq>%T)LvVQ>} zFPuekKoKzR0VQ+D4Fx%=SUzPvDm2_>5lt`wF6glxl4;%l@l^rc!}})50lY!d6c))s zj}%QwD~!!K3Ui0N@RIqW(p@~?ho0NZwvu=BMB4{}B8KXYc7m~qJ7|TuNyRCt{P0sf zp$}qJ&+^eGc{=2U%U?{mFCri4Y)B^%8XRXZC)_)(oBhd-D29Ot@{%_$O~70@4?UO# zTIFC4j?rYcwd5{^k6Qo8Q}MS z8nYMa`D&mv#LKRq5-Z^+k)0Np%XK~E0dYVVKocA7aijf@IsgnM07nM?RZl9qrkDXM z(FG>pfz)#;s*?1#(CUwg|37WUJiz#W+U!C5DS(Oa-2SJbdy&$zZ^I@Zf3`7lL^G)U zKQzak4OmgwM(V$MYBpf~?n^KbSsVAf$Xb$pKOk**2gWe=`7wc&G^XK(`2XOnf;NQz z4=nGnF2)VP$@WEc)9Irq4G|LD6oOqz$j89rSoE5JqOCKrW|=L4S6!))ZgYtz#q4j> zlcrQ+rF48)stEO?jDP$iHF{u-%ydu&)D+didi>H`@jo#E{$Dx4+Jya+8E2FeEgy)2 zWTe6)BQg=t7-0uVidl#+LRAXeDpB^COU6gQIjl8 zdG@AyLUqrcgTbAj|5Y5{j-+or;{?Z0PjcOA50e$BqadWYUst83`qauTqGJ3^W8i5692zhN~_ z)(wIM7?f+ah4pJ&l6#&wGzEC(MR}s&UStt1-30Q1|*E<|A(Dklz9PLGi((x%ZusrMo261REkJu?v#DE=+bAajuEa7

@-@lvp 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

<_4T!{9MB9;gM~@0pZe~$NjBY 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 J%ANrL004IqTvGr5 delta 78171 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 diff --git a/resources/campaigns/operation_peace_spring.yaml b/resources/campaigns/operation_peace_spring.yaml index 34ca8212..3cb90a0b 100644 --- a/resources/campaigns/operation_peace_spring.yaml +++ b/resources/campaigns/operation_peace_spring.yaml @@ -36,6 +36,11 @@ squadrons: aircraft: - S-3B Tanker size: 4 + - primary: Air Assault + secondary: any + aircraft: + - UH-60A + size: 4 # Akrotiri 44: - primary: Strike @@ -85,11 +90,6 @@ squadrons: aircraft: - OH-58D(R) Kiowa Warrior size: 4 - - primary: Air Assault - secondary: any - aircraft: - - UH-60A - size: 4 # Damascus 7: - primary: Strike From b45821de5245852f3ee252f9658657d11f5281cd Mon Sep 17 00:00:00 2001 From: Raffson Date: Mon, 17 Jun 2024 19:04:44 +0200 Subject: [PATCH 06/32] Add pybind11 to requirements.txt --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 2f83aba1..0cba813d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -30,6 +30,7 @@ Pillow==10.3.0 platformdirs==4.2.1 pluggy==1.5.0 pre-commit==3.7.0 +pybind11==2.12 pydantic==2.7.1 pydantic-settings==2.2.1 pydcs @ git+https://github.com/dcs-retribution/pydcs@4f4d3fd51dc14ad8e16e3bf6b130e8efc18dcabd From 9c820f12cf95a39d0abfc4b3ad15ce6df23732b9 Mon Sep 17 00:00:00 2001 From: Raffson Date: Mon, 17 Jun 2024 19:19:10 +0200 Subject: [PATCH 07/32] Assign SEAD-Sweep task priorities if missing Restores behavior that got lost in 0ec375a --- game/dcs/aircrafttype.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/game/dcs/aircrafttype.py b/game/dcs/aircrafttype.py index 20f967ae..01165e4f 100644 --- a/game/dcs/aircrafttype.py +++ b/game/dcs/aircrafttype.py @@ -532,6 +532,12 @@ class AircraftType(UnitType[Type[FlyingType]]): for task_name, priority in data.get("tasks", {}).items(): task_priorities[FlightType(task_name)] = priority + if ( + FlightType.SEAD_SWEEP not in task_priorities + and FlightType.SEAD in task_priorities + ): + task_priorities[FlightType.SEAD_SWEEP] = task_priorities[FlightType.SEAD] + display_name = data.get("display_name", variant_id) return AircraftType( dcs_unit_type=aircraft, From 08de46a3b636a4fdf7ea409a6d26f4cc2601ab4e Mon Sep 17 00:00:00 2001 From: Raffson Date: Mon, 17 Jun 2024 19:19:56 +0200 Subject: [PATCH 08/32] Restore missing weapon-injections Restores functionality that was lost in 0ec375a --- game/dcs/aircrafttype.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/game/dcs/aircrafttype.py b/game/dcs/aircrafttype.py index 01165e4f..b26198fb 100644 --- a/game/dcs/aircrafttype.py +++ b/game/dcs/aircrafttype.py @@ -538,6 +538,9 @@ class AircraftType(UnitType[Type[FlyingType]]): ): task_priorities[FlightType.SEAD_SWEEP] = task_priorities[FlightType.SEAD] + cls._custom_weapon_injections(aircraft, data) + cls._user_weapon_injections(aircraft) + display_name = data.get("display_name", variant_id) return AircraftType( dcs_unit_type=aircraft, From e5f7b577ca3e369c1549e504f7efeef9299fdb4c Mon Sep 17 00:00:00 2001 From: Raffson Date: Mon, 17 Jun 2024 19:22:51 +0200 Subject: [PATCH 09/32] Revert "Add pybind11 to requirements.txt" This reverts commit b45821de5245852f3ee252f9658657d11f5281cd. --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 0cba813d..2f83aba1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -30,7 +30,6 @@ Pillow==10.3.0 platformdirs==4.2.1 pluggy==1.5.0 pre-commit==3.7.0 -pybind11==2.12 pydantic==2.7.1 pydantic-settings==2.2.1 pydcs @ git+https://github.com/dcs-retribution/pydcs@4f4d3fd51dc14ad8e16e3bf6b130e8efc18dcabd From e6683c023705b67aee430a98a56bfb32f75fd286 Mon Sep 17 00:00:00 2001 From: Raffson Date: Mon, 17 Jun 2024 19:58:40 +0200 Subject: [PATCH 10/32] Update most dependencies --- requirements.txt | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/requirements.txt b/requirements.txt index 2f83aba1..68da30ce 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,34 +4,34 @@ asgiref==3.8.1 atomicwrites==1.4.1 attrs==23.2.0 black==23.9.1 -certifi==2024.2.2 +certifi==2024.6.2 cfgv==3.4.0 click==8.1.7 colorama==0.4.6 distlib==0.3.8 -Faker==24.14.0 -fastapi==0.110.2 -filelock==3.13.4 +Faker==25.8.0 +fastapi==0.111.0 +filelock==3.15.1 h11==0.14.0 httptools==0.6.1 identify==2.5.36 idna==3.7 iniconfig==2.0.0 -Jinja2==3.1.3 -lupa==2.1 +Jinja2==3.1.4 +lupa==2.2 MarkupSafe==2.1.5 mypy==1.10.0 mypy-extensions==1.0.0 -nodeenv==1.8.0 -packaging==24.0 +nodeenv==1.9.1 +packaging==24.1 pathspec==0.12.1 pefile==2023.2.7 Pillow==10.3.0 -platformdirs==4.2.1 +platformdirs==4.2.2 pluggy==1.5.0 -pre-commit==3.7.0 -pydantic==2.7.1 -pydantic-settings==2.2.1 +pre-commit==3.7.1 +pydantic==2.7.4 +pydantic-settings==2.3.3 pydcs @ git+https://github.com/dcs-retribution/pydcs@4f4d3fd51dc14ad8e16e3bf6b130e8efc18dcabd pyinstaller==5.13.2 pyinstaller-hooks-contrib==2024.0 @@ -41,7 +41,7 @@ pyshp==2.3.1 PySide6==6.4.2 PySide6-Addons==6.4.2 PySide6-Essentials==6.4.2 -pytest==8.1.2 +pytest==8.2.2 pytest-cov==5.0.0 python-dateutil==2.9.0.post0 python-dotenv==1.0.1 @@ -59,11 +59,11 @@ toml==0.10.2 tomli==2.0.1 types-Jinja2==2.11.9 types-MarkupSafe==1.1.10 -types-Pillow==10.2.0.20240423 +types-Pillow==10.2.0.20240520 types-PyYAML==6.0.12.20240311 types-tabulate==0.9.0.20240106 -typing_extensions==4.11.0 -uvicorn==0.29.0 -virtualenv==20.26.0 +typing_extensions==4.12.2 +uvicorn==0.30.1 +virtualenv==20.26.2 watchgod==0.8.2 websockets==12.0 From af83088dfda5b47688d95fc4e02a0a8ff882a7e1 Mon Sep 17 00:00:00 2001 From: Raffson Date: Mon, 17 Jun 2024 19:58:59 +0200 Subject: [PATCH 11/32] Lock numpy to v1.26.4 --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 68da30ce..5d2df385 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,6 +23,7 @@ MarkupSafe==2.1.5 mypy==1.10.0 mypy-extensions==1.0.0 nodeenv==1.9.1 +numpy==1.26.4 packaging==24.1 pathspec==0.12.1 pefile==2023.2.7 From 6e3f66437e7973e86d03bc8a3ef06819e591328a Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Tue, 25 Jun 2024 08:15:24 +1000 Subject: [PATCH 12/32] Remove PDU from Kiowa (#347) --- resources/units/aircraft/OH58D.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/units/aircraft/OH58D.yaml b/resources/units/aircraft/OH58D.yaml index b5502bc5..34f73457 100644 --- a/resources/units/aircraft/OH58D.yaml +++ b/resources/units/aircraft/OH58D.yaml @@ -29,7 +29,7 @@ radios: default_overrides: #NetCrewControlPriority: 0, #Remove_doors: true, - PDU: true, + #PDU: true, #Rifles: true, #MMS_removal: false, #Rapid_Deployment_Gear: false, From 9a6d912a30af178733ac7e20134a6679285321d2 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 29 Jun 2024 23:35:21 +0200 Subject: [PATCH 13/32] Update weapons data --- resources/weapons/a2a-missiles/AIM-7E-2.yaml | 4 +++- resources/weapons/a2a-missiles/AIM-7E.yaml | 3 ++- resources/weapons/a2a-missiles/AIM-7F.yaml | 3 ++- resources/weapons/a2a-missiles/AIM-7M.yaml | 1 + resources/weapons/a2a-missiles/AIM-7P.yaml | 7 +++++++ resources/weapons/a2a-missiles/AIM-9L.yaml | 2 ++ resources/weapons/a2a-missiles/AIM-9M.yaml | 2 ++ resources/weapons/standoff/AGM-45A.yaml | 3 +++ resources/weapons/standoff/AGM-65A-2X.yaml | 5 +++++ resources/weapons/standoff/AGM-65A-3X.yaml | 5 +++++ resources/weapons/standoff/AGM-65A.yaml | 2 ++ resources/weapons/standoff/AGM-65B-2X.yaml | 5 +++++ resources/weapons/standoff/AGM-65B-3X.yaml | 5 +++++ resources/weapons/standoff/AGM-65B.yaml | 2 ++ resources/weapons/standoff/AGM-65D-2X.yaml | 2 ++ resources/weapons/standoff/AGM-65D-3X.yaml | 2 ++ resources/weapons/standoff/AGM-65D.yaml | 2 ++ resources/weapons/standoff/AGM-65G.yaml | 2 ++ 18 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 resources/weapons/a2a-missiles/AIM-7P.yaml create mode 100644 resources/weapons/standoff/AGM-65A-2X.yaml create mode 100644 resources/weapons/standoff/AGM-65A-3X.yaml create mode 100644 resources/weapons/standoff/AGM-65B-2X.yaml create mode 100644 resources/weapons/standoff/AGM-65B-3X.yaml diff --git a/resources/weapons/a2a-missiles/AIM-7E-2.yaml b/resources/weapons/a2a-missiles/AIM-7E-2.yaml index a8c18f6b..94005435 100644 --- a/resources/weapons/a2a-missiles/AIM-7E-2.yaml +++ b/resources/weapons/a2a-missiles/AIM-7E-2.yaml @@ -4,4 +4,6 @@ fallback: AIM-7E #Ignore how the CLSIDs look, these are not normal 7Es they are 7E-2 DOGFIGHT MISSILES clsids: - "{LAU-115 - AIM-7E}" - - "{AIM-7E}" \ No newline at end of file + - "{AIM-7E}" + - "{AIM-7E-2}" + - "{HB_F4E_AIM-7E-2}" diff --git a/resources/weapons/a2a-missiles/AIM-7E.yaml b/resources/weapons/a2a-missiles/AIM-7E.yaml index e426f1ff..958231b3 100644 --- a/resources/weapons/a2a-missiles/AIM-7E.yaml +++ b/resources/weapons/a2a-missiles/AIM-7E.yaml @@ -4,4 +4,5 @@ fallback: AIM-9X # Do not add the other 7E looking names, they are actually AIM-7E-2 6 years newer clsids: - "{SHOULDER AIM-7E}" - - "{BELLY AIM-7E}" \ No newline at end of file + - "{BELLY AIM-7E}" + - "{HB_F4E_AIM-7E}" diff --git a/resources/weapons/a2a-missiles/AIM-7F.yaml b/resources/weapons/a2a-missiles/AIM-7F.yaml index 3714716d..07abb802 100644 --- a/resources/weapons/a2a-missiles/AIM-7F.yaml +++ b/resources/weapons/a2a-missiles/AIM-7F.yaml @@ -5,4 +5,5 @@ clsids: - "{SHOULDER AIM-7F}" - "{BELLY AIM-7F}" - "{AIM-7F}" - - "{LAU-115 - AIM-7F}" \ No newline at end of file + - "{LAU-115 - AIM-7F}" + - "{HB_F4E_AIM-7F}" diff --git a/resources/weapons/a2a-missiles/AIM-7M.yaml b/resources/weapons/a2a-missiles/AIM-7M.yaml index 9128c8ed..76f5ac5e 100644 --- a/resources/weapons/a2a-missiles/AIM-7M.yaml +++ b/resources/weapons/a2a-missiles/AIM-7M.yaml @@ -6,3 +6,4 @@ clsids: - "{BELLY AIM-7M}" - "{8D399DDA-FF81-4F14-904D-099B34FE7918}" - "{LAU-115 - AIM-7M}" + - "{HB_F4E_AIM-7M}" diff --git a/resources/weapons/a2a-missiles/AIM-7P.yaml b/resources/weapons/a2a-missiles/AIM-7P.yaml new file mode 100644 index 00000000..669ca5ac --- /dev/null +++ b/resources/weapons/a2a-missiles/AIM-7P.yaml @@ -0,0 +1,7 @@ +name: AIM-7P +year: 1987 +fallback: AIM-7M +clsids: + - "{SHOULDER AIM-7P}" + - "{BELLY AIM-7P}" + - "{AIM-7P}" diff --git a/resources/weapons/a2a-missiles/AIM-9L.yaml b/resources/weapons/a2a-missiles/AIM-9L.yaml index ad51cf5d..b1ac2bd1 100644 --- a/resources/weapons/a2a-missiles/AIM-9L.yaml +++ b/resources/weapons/a2a-missiles/AIM-9L.yaml @@ -10,3 +10,5 @@ clsids: - "LAU-127_AIM-9L" - "{LAU-138 wtip - AIM-9L}" - "{LAU-7 - AIM-9L}" + - "{LAU-7_AIM-9L_Left}" + - "{LAU-7_AIM-9L_Right}" diff --git a/resources/weapons/a2a-missiles/AIM-9M.yaml b/resources/weapons/a2a-missiles/AIM-9M.yaml index 67eb6c3a..f6fe582b 100644 --- a/resources/weapons/a2a-missiles/AIM-9M.yaml +++ b/resources/weapons/a2a-missiles/AIM-9M.yaml @@ -11,3 +11,5 @@ clsids: - "{LAU-138 wtip - AIM-9M}" - "{LAU-7 - AIM-9M}" - "{AIM-9M-ON-ADAPTER}" + - "{LAU-7_AIM-9M_Left}" + - "{LAU-7_AIM-9M_Right}" diff --git a/resources/weapons/standoff/AGM-45A.yaml b/resources/weapons/standoff/AGM-45A.yaml index d69a5df0..61828864 100644 --- a/resources/weapons/standoff/AGM-45A.yaml +++ b/resources/weapons/standoff/AGM-45A.yaml @@ -3,3 +3,6 @@ year: 1965 type: ARM clsids: - "{AGM_45A}" + - "{LAU118_AGM_45A}" + - "{LAU_34_AGM_45A}" + - "{LAU_34_AGM_45A_SWA}" diff --git a/resources/weapons/standoff/AGM-65A-2X.yaml b/resources/weapons/standoff/AGM-65A-2X.yaml new file mode 100644 index 00000000..9489389a --- /dev/null +++ b/resources/weapons/standoff/AGM-65A-2X.yaml @@ -0,0 +1,5 @@ +name: 2xAGM-65A +year: 1972 +clsids: + - "{HB_F4EAGM-65A_LAU88_2x_Right}" + - "{HB_F4EAGM-65A_LAU88_2x_Left}" diff --git a/resources/weapons/standoff/AGM-65A-3X.yaml b/resources/weapons/standoff/AGM-65A-3X.yaml new file mode 100644 index 00000000..337fefe4 --- /dev/null +++ b/resources/weapons/standoff/AGM-65A-3X.yaml @@ -0,0 +1,5 @@ +name: 3xAGM-65A +year: 1972 +clsids: + - "{HB_F4EAGM-65A_LAU88_3x_Right}" + - "{HB_F4EAGM-65A_LAU88_3x_Left}" diff --git a/resources/weapons/standoff/AGM-65A.yaml b/resources/weapons/standoff/AGM-65A.yaml index 78b0e54e..f5b0f196 100644 --- a/resources/weapons/standoff/AGM-65A.yaml +++ b/resources/weapons/standoff/AGM-65A.yaml @@ -3,3 +3,5 @@ year: 1972 fallback: AGM-62 Walleye II clsids: - "LAU_117_AGM_65A" + - "{HB_F4E_AGM-65A_LAU117}" + - "{HB_F4E_AGM-65A_LAU117_SWA}" diff --git a/resources/weapons/standoff/AGM-65B-2X.yaml b/resources/weapons/standoff/AGM-65B-2X.yaml new file mode 100644 index 00000000..0ce640bc --- /dev/null +++ b/resources/weapons/standoff/AGM-65B-2X.yaml @@ -0,0 +1,5 @@ +name: 2xAGM-65B +year: 1975 +clsids: + - "{HB_F4EAGM-65B_LAU88_2x_Right}" + - "{HB_F4EAGM-65B_LAU88_2x_Left}" diff --git a/resources/weapons/standoff/AGM-65B-3X.yaml b/resources/weapons/standoff/AGM-65B-3X.yaml new file mode 100644 index 00000000..0534361a --- /dev/null +++ b/resources/weapons/standoff/AGM-65B-3X.yaml @@ -0,0 +1,5 @@ +name: 3xAGM-65B +year: 1975 +clsids: + - "{HB_F4EAGM-65B_LAU88_3x_Right}" + - "{HB_F4EAGM-65B_LAU88_3x_Left}" diff --git a/resources/weapons/standoff/AGM-65B.yaml b/resources/weapons/standoff/AGM-65B.yaml index 8a2f5998..205f724c 100644 --- a/resources/weapons/standoff/AGM-65B.yaml +++ b/resources/weapons/standoff/AGM-65B.yaml @@ -3,3 +3,5 @@ year: 1975 fallback: AGM-65A clsids: - "LAU_117_AGM_65B" + - "{HB_F4E_AGM-65B_LAU117}" + - "{HB_F4E_AGM-65B_LAU117_SWA}" diff --git a/resources/weapons/standoff/AGM-65D-2X.yaml b/resources/weapons/standoff/AGM-65D-2X.yaml index 3911443f..9e7a717c 100644 --- a/resources/weapons/standoff/AGM-65D-2X.yaml +++ b/resources/weapons/standoff/AGM-65D-2X.yaml @@ -4,3 +4,5 @@ fallback: AGM-65D clsids: - "{E6A6262A-CA08-4B3D-B030-E1A993B98452}" - "{E6A6262A-CA08-4B3D-B030-E1A993B98453}" + - "{HB_F4EAGM-65D_LAU88_2x_Right}" + - "{HB_F4EAGM-65D_LAU88_2x_Left}" diff --git a/resources/weapons/standoff/AGM-65D-3X.yaml b/resources/weapons/standoff/AGM-65D-3X.yaml index e3b26152..df1c4299 100644 --- a/resources/weapons/standoff/AGM-65D-3X.yaml +++ b/resources/weapons/standoff/AGM-65D-3X.yaml @@ -3,3 +3,5 @@ year: 1986 fallback: 2xAGM-65D clsids: - "{DAC53A2F-79CA-42FF-A77A-F5649B601308}" + - "{HB_F4EAGM-65D_LAU88_3x_Right}" + - "{HB_F4EAGM-65D_LAU88_3x_Left}" diff --git a/resources/weapons/standoff/AGM-65D.yaml b/resources/weapons/standoff/AGM-65D.yaml index 42c11666..f843c7b5 100644 --- a/resources/weapons/standoff/AGM-65D.yaml +++ b/resources/weapons/standoff/AGM-65D.yaml @@ -5,3 +5,5 @@ clsids: - "{444BA8AE-82A7-4345-842E-76154EFCCA47}" - "{444BA8AE-82A7-4345-842E-76154EFCCA46}" - "LAU_88_AGM_65D_ONE" + - "{HB_F4E_AGM-65D_LAU117}" + - "{HB_F4E_AGM-65D_LAU117_SWA}" diff --git a/resources/weapons/standoff/AGM-65G.yaml b/resources/weapons/standoff/AGM-65G.yaml index 2c2d9d2b..ab2ca14b 100644 --- a/resources/weapons/standoff/AGM-65G.yaml +++ b/resources/weapons/standoff/AGM-65G.yaml @@ -3,3 +3,5 @@ year: 1989 fallback: AGM-65F clsids: - "LAU_117_AGM_65G" + - "{LAU_117A_AGM_65G}" + - "{HB_F4E_AGM-65G_LAU117}" From c27f3e67c00bd560516e002b98109bae82284597 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 29 Jun 2024 23:55:10 +0200 Subject: [PATCH 14/32] Add AGM-12 weapons data --- resources/weapons/standoff/AGM-12A.yaml | 6 ++++++ resources/weapons/standoff/AGM-12B.yaml | 6 ++++++ resources/weapons/standoff/AGM-12C.yaml | 6 ++++++ 3 files changed, 18 insertions(+) create mode 100644 resources/weapons/standoff/AGM-12A.yaml create mode 100644 resources/weapons/standoff/AGM-12B.yaml create mode 100644 resources/weapons/standoff/AGM-12C.yaml diff --git a/resources/weapons/standoff/AGM-12A.yaml b/resources/weapons/standoff/AGM-12A.yaml new file mode 100644 index 00000000..80bd5dc1 --- /dev/null +++ b/resources/weapons/standoff/AGM-12A.yaml @@ -0,0 +1,6 @@ +name: AGM-12A +year: 1959 +fallback: Mk 84 +clsids: + - "{AGM_12A}" + - "{AGM_12A_SWA}" diff --git a/resources/weapons/standoff/AGM-12B.yaml b/resources/weapons/standoff/AGM-12B.yaml new file mode 100644 index 00000000..908af1b9 --- /dev/null +++ b/resources/weapons/standoff/AGM-12B.yaml @@ -0,0 +1,6 @@ +name: AGM-12B +year: 1960 +fallback: AGM-12A +clsids: + - "{AGM_12B}" + - "{AGM_12B_SWA}" diff --git a/resources/weapons/standoff/AGM-12C.yaml b/resources/weapons/standoff/AGM-12C.yaml new file mode 100644 index 00000000..7e107a67 --- /dev/null +++ b/resources/weapons/standoff/AGM-12C.yaml @@ -0,0 +1,6 @@ +name: AGM-12C +year: 1965 +fallback: AGM-12B +clsids: + - "{AGM_12C}" + - "{AGM_12C_SWA}" From 22f7767b99bc8ce657996efd96605b9ae925a979 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 29 Jun 2024 23:56:53 +0200 Subject: [PATCH 15/32] Add AGM-62 Walleye I weapons data --- resources/weapons/standoff/AGM-62-I.yaml | 5 +++++ resources/weapons/standoff/AGM-62.yaml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 resources/weapons/standoff/AGM-62-I.yaml diff --git a/resources/weapons/standoff/AGM-62-I.yaml b/resources/weapons/standoff/AGM-62-I.yaml new file mode 100644 index 00000000..ddf2dc2d --- /dev/null +++ b/resources/weapons/standoff/AGM-62-I.yaml @@ -0,0 +1,5 @@ +name: AGM-62 Walleye I +year: 1967 +fallback: AGM-12C +clsids: + - "{AGM_62_I}" diff --git a/resources/weapons/standoff/AGM-62.yaml b/resources/weapons/standoff/AGM-62.yaml index d1f72a12..b41c2a16 100644 --- a/resources/weapons/standoff/AGM-62.yaml +++ b/resources/weapons/standoff/AGM-62.yaml @@ -1,5 +1,5 @@ name: AGM-62 Walleye II year: 1972 -fallback: Mk 84 +fallback: AGM-62 Walleye I clsids: - "{C40A1E3A-DD05-40D9-85A4-217729E37FAE}" From 6dc529613065d71d7042e197704f67818c5c5e85 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sun, 30 Jun 2024 01:41:09 +0200 Subject: [PATCH 16/32] Disband squadrons sinking with ship + Sink/Resurrect cheat --- changelog.md | 2 ++ game/theater/theatergroundobject.py | 8 ++++++++ game/theater/theatergroup.py | 12 ++++++++++++ qt_ui/windows/basemenu/QBaseMenu2.py | 23 ++++++++++++++++++----- 4 files changed, 40 insertions(+), 5 deletions(-) diff --git a/changelog.md b/changelog.md index 9e34c673..f9677e31 100644 --- a/changelog.md +++ b/changelog.md @@ -18,12 +18,14 @@ * **[Campaign Design]** Support for Kola map by Orbx * **[UI]** Zoom level retained when switching campaigns * **[UX]** Allow changing squadrons in flight's edit dialog +* **[Cheats]** Sink/Resurrect carriers instead of showing an error during cheat-capture (use AWCD-cheat to add squadrons upon resurrection) ## Fixes * **[UI/UX]** A-10A flights can be edited again * **[Mission Generation]** IADS bug sometimes triggering "no skynet usable units" error during mission generation * **[New Game Wizard]** Campaign errors show a dialog again and avoid CTDs * **[UI]** Landmap wasn't updating when switching to a different theater +* **[Mission Results Processor]** Squadrons of a sunken carrier are now disbanded # Retribution v1.3.1 #### Note: Re-save your missions in DCS' Mission Editor to avoid possible crashes due to datalink (usually the case when F-16C blk50s are used) when hosting missions on a dedicated server. diff --git a/game/theater/theatergroundobject.py b/game/theater/theatergroundobject.py index 70467c34..2f8d3bbf 100644 --- a/game/theater/theatergroundobject.py +++ b/game/theater/theatergroundobject.py @@ -283,6 +283,10 @@ class TheaterGroundObject(MissionTarget, SidcDescribable, ABC): def coalition(self) -> Coalition: return self.control_point.coalition + @property + def is_naval_control_point(self) -> bool: + return False + class BuildingGroundObject(TheaterGroundObject): def __init__( @@ -384,6 +388,10 @@ class GenericCarrierGroundObject(NavalGroundObject, ABC): def is_control_point(self) -> bool: return True + @property + def is_naval_control_point(self) -> bool: + return True + # TODO: Why is this both a CP and a TGO? class CarrierGroundObject(GenericCarrierGroundObject): diff --git a/game/theater/theatergroup.py b/game/theater/theatergroup.py index 2965f146..206112d3 100644 --- a/game/theater/theatergroup.py +++ b/game/theater/theatergroup.py @@ -66,6 +66,18 @@ class TheaterUnit: if self.ground_object.is_iads: iads = self.ground_object.control_point.coalition.game.theater.iads_network iads.update_tgo(self.ground_object, events) + if self.ground_object.is_naval_control_point: + cp = self.ground_object.control_point + for squadron in cp.squadrons: + cp.coalition.air_wing.squadrons[squadron.aircraft].remove(squadron) + + def revive(self, events: GameUpdateEvents) -> None: + self.alive = True + self.ground_object.threat_poly() + events.update_tgo(self.ground_object) + if self.ground_object.is_iads: + iads = self.ground_object.control_point.coalition.game.theater.iads_network + iads.update_tgo(self.ground_object, events) @property def unit_name(self) -> str: diff --git a/qt_ui/windows/basemenu/QBaseMenu2.py b/qt_ui/windows/basemenu/QBaseMenu2.py index da4dea79..1e2ad458 100644 --- a/qt_ui/windows/basemenu/QBaseMenu2.py +++ b/qt_ui/windows/basemenu/QBaseMenu2.py @@ -159,7 +159,8 @@ class QBaseMenu2(QDialog): transfer_button.clicked.connect(self.open_transfer_dialog) if self.cheat_capturable: - capture_button = QPushButton("CHEAT: Capture") + label = "Sink/Resurrect" if self.cp.is_fleet else "Capture" + capture_button = QPushButton(f"CHEAT: {label}") capture_button.setProperty("style", "btn-danger") bottom_row.addWidget(capture_button) capture_button.clicked.connect(self.cheat_capture) @@ -181,11 +182,23 @@ class QBaseMenu2(QDialog): def cheat_capture(self) -> None: events = GameUpdateEvents() - self.cp.capture(self.game_model.game, events, for_player=not self.cp.captured) - mrp = MissionResultsProcessor(self.game_model.game) - mrp.redeploy_units(self.cp) + if self.cp.is_fleet: + for go in self.cp.ground_objects: + if go.is_naval_control_point: + if go.alive_unit_count > 0: + for u in go.units: + u.kill(events) + else: + for u in go.units: + u.revive(events) + else: + self.cp.capture( + self.game_model.game, events, for_player=not self.cp.captured + ) + mrp = MissionResultsProcessor(self.game_model.game) + mrp.redeploy_units(self.cp) # Reinitialized ground planners and the like. The ATO needs to be reset because - # missions planned against the flipped base are no longer valid. + # missions planned against the flipped base (or killed carrier) are no longer valid. self.game_model.game.initialize_turn(events) EventStream.put_nowait(events) GameUpdateSignal.get_instance().updateGame(self.game_model.game) From 7d1e3c94f548d2e804446c21b5b8d0ea131def69 Mon Sep 17 00:00:00 2001 From: Turbolious <39207917+Turbolious@users.noreply.github.com> Date: Sun, 30 Jun 2024 11:32:08 -0500 Subject: [PATCH 17/32] F-104S Task Changes Aligned A2A and A2G tasks as each version is not capable of doing the other as Ai and will fly around without weapons while doing the opposite type task. --- resources/units/aircraft/VSN_F104S.yaml | 7 ------- resources/units/aircraft/VSN_F104S_AG.yaml | 5 ----- 2 files changed, 12 deletions(-) diff --git a/resources/units/aircraft/VSN_F104S.yaml b/resources/units/aircraft/VSN_F104S.yaml index 7095ba88..da708fc0 100644 --- a/resources/units/aircraft/VSN_F104S.yaml +++ b/resources/units/aircraft/VSN_F104S.yaml @@ -16,15 +16,8 @@ gunfighter: true variants: F-104S Starfighter: {} tasks: - Anti-ship: 150 - BAI: 140 BARCAP: 250 - CAS: 140 - DEAD: 140 Escort: 150 Fighter sweep: 200 Intercept: 300 - OCA/Aircraft: 140 - OCA/Runway: 200 - Strike: 50 TARCAP: 250 diff --git a/resources/units/aircraft/VSN_F104S_AG.yaml b/resources/units/aircraft/VSN_F104S_AG.yaml index ff5c2c39..36784fd8 100644 --- a/resources/units/aircraft/VSN_F104S_AG.yaml +++ b/resources/units/aircraft/VSN_F104S_AG.yaml @@ -18,13 +18,8 @@ variants: tasks: Anti-ship: 150 BAI: 140 - BARCAP: 250 CAS: 140 DEAD: 140 - Escort: 150 - Fighter sweep: 200 - Intercept: 300 OCA/Aircraft: 140 OCA/Runway: 200 Strike: 50 - TARCAP: 250 From a9f968f7cc9f914ceb899fdd79d4ce6f929e1d8b Mon Sep 17 00:00:00 2001 From: Turbolious <39207917+Turbolious@users.noreply.github.com> Date: Sun, 30 Jun 2024 12:09:46 -0500 Subject: [PATCH 18/32] A6 Task change Removed Escort task as its not capable --- resources/units/aircraft/VSN_A6A.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/units/aircraft/VSN_A6A.yaml b/resources/units/aircraft/VSN_A6A.yaml index aa3bdf80..dd35468c 100644 --- a/resources/units/aircraft/VSN_A6A.yaml +++ b/resources/units/aircraft/VSN_A6A.yaml @@ -15,7 +15,6 @@ tasks: BAI: 350 CAS: 450 DEAD: 450 - Escort: 90 OCA/Aircraft: 400 OCA/Runway: 400 SEAD: 450 From eceec83a01e1c6047c04dc1c47de696bc7f13373 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jun 2024 17:29:05 +0000 Subject: [PATCH 19/32] Bump braces from 3.0.2 to 3.0.3 in /client Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] --- client/package-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 54f411d8..70368388 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -6971,11 +6971,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -10162,9 +10162,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -27236,11 +27236,11 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "browser-process-hrtime": { @@ -29614,9 +29614,9 @@ "dev": true }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "requires": { "to-regex-range": "^5.0.1" } From 06960db5e57ec3b6bf6a50c97d189173abfd1b2d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jun 2024 17:29:26 +0000 Subject: [PATCH 20/32] Bump ejs from 3.1.9 to 3.1.10 in /client Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10. - [Release notes](https://github.com/mde/ejs/releases) - [Commits](https://github.com/mde/ejs/compare/v3.1.9...v3.1.10) --- updated-dependencies: - dependency-name: ejs dependency-type: indirect ... Signed-off-by: dependabot[bot] --- client/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 70368388..f9cbcf88 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -8727,9 +8727,9 @@ "dev": true }, "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, "dependencies": { "jake": "^10.8.5" @@ -28504,9 +28504,9 @@ "dev": true }, "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, "requires": { "jake": "^10.8.5" From 824312e19d529d81a0321787fa4758a57e603ca0 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sun, 30 Jun 2024 18:51:34 +0200 Subject: [PATCH 21/32] Allow changing time, date & weather Resolves #103 --- changelog.md | 1 + qt_ui/widgets/QConditionsDialog.py | 85 ++++++ qt_ui/widgets/QConditionsWidget.py | 281 +----------------- .../conditions/DcsCloudBaseSelector.py | 89 ++++++ .../conditions/DcsCloudDensitySelector.py | 42 +++ .../conditions/DcsCloudThicknessSelector.py | 87 ++++++ .../conditions/DcsPrecipitationSelector.py | 28 ++ .../conditions/QTimeAdjustmentWidget.py | 38 +++ qt_ui/widgets/conditions/QTimeTurnWidget.py | 70 +++++ .../conditions/QWeatherAdjustmentWidget.py | 94 ++++++ qt_ui/widgets/conditions/QWeatherWidget.py | 207 +++++++++++++ resources/stylesheets/style-dcs.css | 9 + 12 files changed, 759 insertions(+), 272 deletions(-) create mode 100644 qt_ui/widgets/QConditionsDialog.py create mode 100644 qt_ui/widgets/conditions/DcsCloudBaseSelector.py create mode 100644 qt_ui/widgets/conditions/DcsCloudDensitySelector.py create mode 100644 qt_ui/widgets/conditions/DcsCloudThicknessSelector.py create mode 100644 qt_ui/widgets/conditions/DcsPrecipitationSelector.py create mode 100644 qt_ui/widgets/conditions/QTimeAdjustmentWidget.py create mode 100644 qt_ui/widgets/conditions/QTimeTurnWidget.py create mode 100644 qt_ui/widgets/conditions/QWeatherAdjustmentWidget.py create mode 100644 qt_ui/widgets/conditions/QWeatherWidget.py diff --git a/changelog.md b/changelog.md index f9677e31..a3d1ea9b 100644 --- a/changelog.md +++ b/changelog.md @@ -19,6 +19,7 @@ * **[UI]** Zoom level retained when switching campaigns * **[UX]** Allow changing squadrons in flight's edit dialog * **[Cheats]** Sink/Resurrect carriers instead of showing an error during cheat-capture (use AWCD-cheat to add squadrons upon resurrection) +* **[UI/UX]** Allow changing conditions such as Time, Date & Weather ## Fixes * **[UI/UX]** A-10A flights can be edited again diff --git a/qt_ui/widgets/QConditionsDialog.py b/qt_ui/widgets/QConditionsDialog.py new file mode 100644 index 00000000..959574a1 --- /dev/null +++ b/qt_ui/widgets/QConditionsDialog.py @@ -0,0 +1,85 @@ +from copy import deepcopy +from datetime import datetime, timedelta + +from PySide6.QtWidgets import QDialog, QVBoxLayout, QHBoxLayout, QPushButton + +from game.sim import GameUpdateEvents +from game.weather.clouds import Clouds +from qt_ui.widgets.conditions.QTimeAdjustmentWidget import QTimeAdjustmentWidget +from qt_ui.widgets.conditions.QTimeTurnWidget import QTimeTurnWidget +from qt_ui.widgets.conditions.QWeatherAdjustmentWidget import QWeatherAdjustmentWidget +from qt_ui.widgets.conditions.QWeatherWidget import QWeatherWidget + + +class QConditionsDialog(QDialog): + def __init__(self, time_turn: QTimeTurnWidget, weather: QWeatherWidget): + super().__init__() + self.time_turn = time_turn + self.weather = weather + self.init_ui() + + def init_ui(self): + self.setWindowTitle("Time & Weather Conditions") + self.setMinimumSize(360, 380) + + vbox = QVBoxLayout() + + self.time_adjuster = QTimeAdjustmentWidget(self.time_turn) + vbox.addWidget(self.time_adjuster, 1) + self.weather_adjuster = QWeatherAdjustmentWidget(self.weather) + vbox.addWidget(self.weather_adjuster, 8) + + hbox = QHBoxLayout() + reject_btn = QPushButton("REJECT") + reject_btn.setProperty("style", "btn-danger") + reject_btn.clicked.connect(self.close) + hbox.addWidget(reject_btn) + accept_btn = QPushButton("ACCEPT") + accept_btn.setProperty("style", "btn-success") + accept_btn.clicked.connect(self.apply_conditions) + hbox.addWidget(accept_btn) + vbox.addLayout(hbox, 1) + + self.setLayout(vbox) + + def apply_conditions(self) -> None: + qdt: datetime = self.time_adjuster.datetime_edit.dateTime().toPython() + + sim = self.time_turn.sim_controller + current_time = sim.current_time_in_sim_if_game_loaded + if current_time: + current_time = deepcopy(current_time) + sim.game_loop.sim.time = qdt + + game = sim.game_loop.game + game.date = qdt.date() - timedelta(days=game.turn // 4) + game.conditions.start_time = qdt + self.time_turn.set_current_turn(game.turn, game.conditions) + + # TODO: create new weather object + + new_weather_type = self.weather_adjuster.type_selector.currentData() + new_weather = new_weather_type( + seasonal_conditions=game.theater.seasonal_conditions, + day=qdt.date(), + time_of_day=game.current_turn_time_of_day, + ) + + # self.weather.conditions.weather = WeatherType() + preset = self.weather_adjuster.preset_selector.currentData() + new_weather.clouds = Clouds( + base=self.weather_adjuster.cloud_base.base.value(), + density=self.weather_adjuster.cloud_density.density.value(), + thickness=self.weather_adjuster.cloud_thickness.thickness.value(), + precipitation=self.weather_adjuster.precipitation.selector.currentData(), + preset=preset, + ) + + self.weather.conditions.weather = new_weather + + self.weather.update_forecast() + if game.turn > 0 and current_time != qdt: + events = GameUpdateEvents() + game.initialize_turn(events, for_blue=True, for_red=True) + sim.sim_update.emit(events) + self.accept() diff --git a/qt_ui/widgets/QConditionsWidget.py b/qt_ui/widgets/QConditionsWidget.py index 37c26d65..69762377 100644 --- a/qt_ui/widgets/QConditionsWidget.py +++ b/qt_ui/widgets/QConditionsWidget.py @@ -1,282 +1,15 @@ -from datetime import datetime - -from PySide6.QtGui import QPixmap +from PySide6 import QtCore, QtGui +from PySide6.QtGui import QCursor from PySide6.QtWidgets import ( QFrame, QGridLayout, - QGroupBox, - QHBoxLayout, - QLabel, - QVBoxLayout, ) -from dcs.weather import CloudPreset, Weather as PydcsWeather -import qt_ui.uiconstants as CONST -from game.sim.gameupdateevents import GameUpdateEvents -from game.timeofday import TimeOfDay -from game.utils import mps from game.weather.conditions import Conditions from qt_ui.simcontroller import SimController - - -class QTimeTurnWidget(QGroupBox): - """ - UI Component to display current turn and time info - """ - - def __init__(self, sim_controller: SimController) -> None: - super(QTimeTurnWidget, self).__init__("Turn") - self.sim_controller = sim_controller - self.setStyleSheet( - "padding: 0px; margin-left: 5px; margin-right: 0px; margin-top: 1ex; margin-bottom: 5px; border-right: 0px" - ) - - self.icons = { - TimeOfDay.Dawn: CONST.ICONS["Dawn"], - TimeOfDay.Day: CONST.ICONS["Day"], - TimeOfDay.Dusk: CONST.ICONS["Dusk"], - TimeOfDay.Night: CONST.ICONS["Night"], - } - - # self.setProperty('style', 'conditions__widget--turn') - self.layout = QHBoxLayout() - self.setLayout(self.layout) - - self.daytime_icon = QLabel() - self.daytime_icon.setPixmap(self.icons[TimeOfDay.Dawn]) - self.layout.addWidget(self.daytime_icon) - - self.time_column = QVBoxLayout() - self.layout.addLayout(self.time_column) - - self.date_display = QLabel() - self.time_column.addWidget(self.date_display) - - self.time_display = QLabel() - self.time_column.addWidget(self.time_display) - - sim_controller.sim_update.connect(self.on_sim_update) - - def on_sim_update(self, _events: GameUpdateEvents) -> None: - time = self.sim_controller.current_time_in_sim_if_game_loaded - if time is None: - self.date_display.setText("") - self.time_display.setText("") - else: - self.set_date_and_time(time) - - def set_current_turn(self, turn: int, conditions: Conditions) -> None: - """Sets the turn information display. - - :arg turn Current turn number. - :arg conditions Current time and weather conditions. - """ - self.daytime_icon.setPixmap(self.icons[conditions.time_of_day]) - self.set_date_and_time(conditions.start_time) - self.setTitle(f"Turn {turn}") - - def set_date_and_time(self, time: datetime) -> None: - self.date_display.setText(time.strftime("%d %b %Y")) - self.time_display.setText(time.strftime("%H:%M:%S Local")) - - -class QWeatherWidget(QGroupBox): - """ - UI Component to display current weather forecast - """ - - turn = None - conditions = None - - def __init__(self): - super(QWeatherWidget, self).__init__("") - self.setProperty("style", "QWeatherWidget") - - self.icons = { - TimeOfDay.Dawn: CONST.ICONS["Dawn"], - TimeOfDay.Day: CONST.ICONS["Day"], - TimeOfDay.Dusk: CONST.ICONS["Dusk"], - TimeOfDay.Night: CONST.ICONS["Night"], - } - - self.layout = QHBoxLayout() - self.setLayout(self.layout) - - self.makeWeatherIcon() - self.makeCloudRainFogWidget() - self.makeWindsWidget() - - def makeWeatherIcon(self): - """Makes the Weather Icon Widget""" - self.weather_icon = QLabel() - self.weather_icon.setPixmap(self.icons[TimeOfDay.Dawn]) - self.layout.addWidget(self.weather_icon) - - def makeCloudRainFogWidget(self): - """Makes the Cloud, Rain, Fog Widget""" - self.textLayout = QVBoxLayout() - self.layout.addLayout(self.textLayout) - - self.forecastClouds = self.makeLabel() - self.textLayout.addWidget(self.forecastClouds) - - self.forecastRain = self.makeLabel() - self.textLayout.addWidget(self.forecastRain) - - self.forecastFog = self.makeLabel() - self.textLayout.addWidget(self.forecastFog) - - def makeWindsWidget(self): - """Factory for the winds widget.""" - windsLayout = QGridLayout() - self.layout.addLayout(windsLayout) - - windsLayout.addWidget(self.makeIcon(CONST.ICONS["Weather_winds"]), 0, 0, 3, 1) - - windsLayout.addWidget(self.makeLabel("At GL"), 0, 1) - windsLayout.addWidget(self.makeLabel("At FL08"), 1, 1) - windsLayout.addWidget(self.makeLabel("At FL26"), 2, 1) - - self.windGLSpeedLabel = self.makeLabel("0kts") - self.windGLDirLabel = self.makeLabel("0º") - windsLayout.addWidget(self.windGLSpeedLabel, 0, 2) - windsLayout.addWidget(self.windGLDirLabel, 0, 3) - - self.windFL08SpeedLabel = self.makeLabel("0kts") - self.windFL08DirLabel = self.makeLabel("0º") - windsLayout.addWidget(self.windFL08SpeedLabel, 1, 2) - windsLayout.addWidget(self.windFL08DirLabel, 1, 3) - - self.windFL26SpeedLabel = self.makeLabel("0kts") - self.windFL26DirLabel = self.makeLabel("0º") - windsLayout.addWidget(self.windFL26SpeedLabel, 2, 2) - windsLayout.addWidget(self.windFL26DirLabel, 2, 3) - - def makeLabel(self, text: str = "") -> QLabel: - """Shorthand to generate a QLabel with widget standard style - - :arg pixmap QPixmap for the icon. - """ - label = QLabel(text) - label.setProperty("style", "text-sm") - - return label - - def makeIcon(self, pixmap: QPixmap) -> QLabel: - """Shorthand to generate a QIcon with pixmap. - - :arg pixmap QPixmap for the icon. - """ - icon = QLabel() - icon.setPixmap(pixmap) - - return icon - - def setCurrentTurn(self, turn: int, conditions: Conditions) -> None: - """Sets the turn information display. - - :arg turn Current turn number. - :arg conditions Current time and weather conditions. - """ - self.turn = turn - self.conditions = conditions - - self.update_forecast() - self.updateWinds() - - def updateWinds(self): - """Updates the UI with the current conditions wind info.""" - windGlSpeed = mps(self.conditions.weather.wind.at_0m.speed or 0) - windGlDir = str(self.conditions.weather.wind.at_0m.direction or 0).rjust(3, "0") - self.windGLSpeedLabel.setText(f"{int(windGlSpeed.knots)}kts") - self.windGLDirLabel.setText(f"{windGlDir}º") - - windFL08Speed = mps(self.conditions.weather.wind.at_2000m.speed or 0) - windFL08Dir = str(self.conditions.weather.wind.at_2000m.direction or 0).rjust( - 3, "0" - ) - self.windFL08SpeedLabel.setText(f"{int(windFL08Speed.knots)}kts") - self.windFL08DirLabel.setText(f"{windFL08Dir}º") - - windFL26Speed = mps(self.conditions.weather.wind.at_8000m.speed or 0) - windFL26Dir = str(self.conditions.weather.wind.at_8000m.direction or 0).rjust( - 3, "0" - ) - self.windFL26SpeedLabel.setText(f"{int(windFL26Speed.knots)}kts") - self.windFL26DirLabel.setText(f"{windFL26Dir}º") - - def update_forecast_from_preset(self, preset: CloudPreset) -> None: - self.forecastFog.setText("No fog") - if "Rain" in preset.name: - self.forecastRain.setText("Rain") - self.update_forecast_icons("rain") - else: - self.forecastRain.setText("No rain") - self.update_forecast_icons("partly-cloudy") - - # We get a description like the following for the cloud preset. - # - # 09 ##Two Layer Broken/Scattered \nMETAR:BKN 7.5/10 SCT 20/22 FEW41 - # - # The second line is probably interesting but doesn't fit into the widget - # currently, so for now just extract the first line. - self.forecastClouds.setText(preset.description.splitlines()[0].split("##")[1]) - - def update_forecast(self): - """Updates the Forecast Text and icon with the current conditions wind info.""" - if ( - self.conditions.weather.clouds - and self.conditions.weather.clouds.preset is not None - ): - self.update_forecast_from_preset(self.conditions.weather.clouds.preset) - return - - if self.conditions.weather.clouds is None: - cloud_density = 0 - precipitation = None - else: - cloud_density = self.conditions.weather.clouds.density - precipitation = self.conditions.weather.clouds.precipitation - - if not cloud_density: - self.forecastClouds.setText("Clear") - weather_type = "clear" - elif cloud_density < 3: - self.forecastClouds.setText("Partly Cloudy") - weather_type = "partly-cloudy" - elif cloud_density < 5: - self.forecastClouds.setText("Mostly Cloudy") - weather_type = "partly-cloudy" - else: - self.forecastClouds.setText("Totally Cloudy") - weather_type = "partly-cloudy" - - if precipitation == PydcsWeather.Preceptions.Rain: - self.forecastRain.setText("Rain") - weather_type = "rain" - elif precipitation == PydcsWeather.Preceptions.Thunderstorm: - self.forecastRain.setText("Thunderstorm") - weather_type = "thunderstorm" - else: - self.forecastRain.setText("No rain") - - if not self.conditions.weather.fog is not None: - self.forecastFog.setText("No fog") - else: - visibility = round(self.conditions.weather.fog.visibility.nautical_miles, 1) - self.forecastFog.setText(f"Fog vis: {visibility}nm") - if cloud_density > 1: - weather_type = "cloudy-fog" - else: - weather_type = "fog" - - self.update_forecast_icons(weather_type) - - def update_forecast_icons(self, weather_type: str) -> None: - time = "night" if self.conditions.time_of_day == TimeOfDay.Night else "day" - icon_key = f"Weather_{time}-{weather_type}" - icon = CONST.ICONS.get(icon_key) or CONST.ICONS["Weather_night-partly-cloudy"] - self.weather_icon.setPixmap(icon) +from qt_ui.widgets.QConditionsDialog import QConditionsDialog +from qt_ui.widgets.conditions.QTimeTurnWidget import QTimeTurnWidget +from qt_ui.widgets.conditions.QWeatherWidget import QWeatherWidget class QConditionsWidget(QFrame): @@ -287,6 +20,7 @@ class QConditionsWidget(QFrame): def __init__(self, sim_controller: SimController) -> None: super(QConditionsWidget, self).__init__() self.setProperty("style", "QConditionsWidget") + self.setCursor(QCursor(QtCore.Qt.CursorShape.PointingHandCursor)) self.layout = QGridLayout() self.layout.setContentsMargins(0, 0, 0, 0) @@ -305,6 +39,9 @@ class QConditionsWidget(QFrame): self.weather_widget.hide() self.layout.addWidget(self.weather_widget, 0, 1) + def mouseDoubleClickEvent(self, event: QtGui.QMouseEvent) -> None: + QConditionsDialog(self.time_turn_widget, self.weather_widget).exec() + def setCurrentTurn(self, turn: int, conditions: Conditions) -> None: """Sets the turn information display. diff --git a/qt_ui/widgets/conditions/DcsCloudBaseSelector.py b/qt_ui/widgets/conditions/DcsCloudBaseSelector.py new file mode 100644 index 00000000..3c734afa --- /dev/null +++ b/qt_ui/widgets/conditions/DcsCloudBaseSelector.py @@ -0,0 +1,89 @@ +from typing import Optional + +from PySide6.QtCore import Qt +from PySide6.QtWidgets import QHBoxLayout, QLabel, QSlider, QSpinBox, QComboBox +from dcs.weather import CloudPreset + + +class DcsCloudBaseSelector(QHBoxLayout): + M2FT_FACTOR = 3.2808399 + + def __init__(self, preset: Optional[CloudPreset]) -> None: + super().__init__() + self.preset = preset + self.unit_changing = False + + self.label = QLabel("Cloud Base: ") + self.addWidget(self.label) + + self.base = QSlider(Qt.Orientation.Horizontal) + self.base.setValue(round(self.max_base - (self.max_base - self.min_base) / 2)) + self.base.valueChanged.connect(self.on_slider_change) + self.addWidget(self.base, 1) + + self.base_spinner = QSpinBox() + self.base_spinner.setValue(self.base.value()) + self.base_spinner.setFixedWidth(75) + self.base_spinner.setSingleStep(100) + self.base_spinner.valueChanged.connect(self.update_slider) + self.addWidget(self.base_spinner, 1) + + self.unit = QComboBox() + self.unit.insertItems(0, ["m", "ft"]) + self.unit.currentIndexChanged.connect(self.on_unit_change) + self.unit.setCurrentIndex(1) + self.addWidget(self.unit) + + self.update_bounds() + + @property + def min_base(self) -> int: + return self.preset.min_base if self.preset else 300 + + @property + def max_base(self) -> int: + return self.preset.max_base if self.preset else 5000 + + def update_bounds(self) -> None: + self.base.setRange(self.min_base, self.max_base) + index = self.unit.currentIndex() + if index == 0: + self.base_spinner.setRange(self.min_base, self.max_base) + elif index == 1: + self.base_spinner.setRange( + self.m2ft(self.min_base), self.m2ft(self.max_base) + ) + + def on_slider_change(self, value: int) -> None: + if self.unit.currentIndex() == 0: + self.base_spinner.setValue(value) + elif self.unit.currentIndex() == 1 and not self.unit_changing: + self.base_spinner.setValue(self.m2ft(value)) + + def update_slider(self, value: int) -> None: + if self.unit_changing: + return + if self.unit.currentIndex() == 0: + self.base.setValue(value) + elif self.unit.currentIndex() == 1: + self.unit_changing = True + self.base.setValue(self.ft2m(value)) + self.unit_changing = False + + def on_unit_change(self, index: int) -> None: + self.unit_changing = True + if index == 0: + self.base_spinner.setRange(self.min_base, self.max_base) + self.base_spinner.setValue(self.base.value()) + elif index == 1: + self.base_spinner.setRange( + self.m2ft(self.min_base), self.m2ft(self.max_base) + ) + self.base_spinner.setValue(self.m2ft(self.base.value())) + self.unit_changing = False + + def m2ft(self, value: int) -> int: + return round(value * self.M2FT_FACTOR) + + def ft2m(self, value: int) -> int: + return round(value / self.M2FT_FACTOR) diff --git a/qt_ui/widgets/conditions/DcsCloudDensitySelector.py b/qt_ui/widgets/conditions/DcsCloudDensitySelector.py new file mode 100644 index 00000000..a86cf848 --- /dev/null +++ b/qt_ui/widgets/conditions/DcsCloudDensitySelector.py @@ -0,0 +1,42 @@ +from typing import Optional + +from PySide6.QtCore import Qt +from PySide6.QtWidgets import QHBoxLayout, QLabel, QSlider, QSpinBox +from dcs.weather import CloudPreset + +from game.weather.clouds import Clouds + + +class DcsCloudDensitySelector(QHBoxLayout): + def __init__(self, clouds: Clouds) -> None: + super().__init__() + self.unit_changing = False + + self.label = QLabel("Density : ") + self.addWidget(self.label) + + self.density = QSlider(Qt.Orientation.Horizontal) + self.density.setRange(0, 10) + self.density.setValue(clouds.density) + self.density.valueChanged.connect(self.on_slider_change) + self.addWidget(self.density, 1) + + self.density_spinner = QSpinBox() + self.density_spinner.setValue(self.density.value()) + self.density_spinner.setFixedWidth(75) + self.density_spinner.valueChanged.connect(self.update_slider) + self.addWidget(self.density_spinner, 1) + + def on_slider_change(self, value: int) -> None: + self.density_spinner.setValue(value) + + def update_slider(self, value: int) -> None: + self.density.setValue(value) + + def update_ui(self, preset: Optional[CloudPreset]) -> None: + self.label.setVisible(preset is None) + self.density.setVisible(preset is None) + self.density_spinner.setVisible(preset is None) + + if preset: + self.density.setValue(0) diff --git a/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py b/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py new file mode 100644 index 00000000..2838f856 --- /dev/null +++ b/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py @@ -0,0 +1,87 @@ +from typing import Optional + +from PySide6.QtCore import Qt +from PySide6.QtWidgets import QHBoxLayout, QLabel, QSlider, QSpinBox, QComboBox +from dcs.weather import CloudPreset + +from game.weather.clouds import Clouds + + +class DcsCloudThicknessSelector(QHBoxLayout): + M2FT_FACTOR = 3.2808399 + + def __init__(self, clouds: Clouds) -> None: + super().__init__() + self.unit_changing = False + + self.label = QLabel("Thickness : ") + self.addWidget(self.label) + + self.thickness = QSlider(Qt.Orientation.Horizontal) + self.thickness.setRange(200, 2000) + self.thickness.setValue(clouds.thickness) + self.thickness.valueChanged.connect(self.on_slider_change) + self.addWidget(self.thickness, 1) + + self.thickness_spinner = QSpinBox() + self.thickness_spinner.setValue(self.thickness.value()) + self.thickness_spinner.setFixedWidth(75) + self.thickness_spinner.setSingleStep(100) + self.thickness_spinner.valueChanged.connect(self.update_slider) + self.addWidget(self.thickness_spinner, 1) + + self.unit = QComboBox() + self.unit.insertItems(0, ["m", "ft"]) + self.unit.currentIndexChanged.connect(self.on_unit_change) + self.unit.setCurrentIndex(1) + self.addWidget(self.unit) + + def update_ui(self, preset: Optional[CloudPreset]) -> None: + self.label.setVisible(preset is None) + self.thickness.setVisible(preset is None) + self.thickness_spinner.setVisible(preset is None) + self.unit.setVisible(preset is None) + + if preset: + self.thickness.setValue(0) + + def on_slider_change(self, value: int) -> None: + if self.unit.currentIndex() == 0: + self.thickness_spinner.setValue(value) + elif self.unit.currentIndex() == 1 and not self.unit_changing: + self.thickness_spinner.setValue(self.m2ft(value)) + + def update_slider(self, value: int) -> None: + if self.unit_changing: + return + if self.unit.currentIndex() == 0: + self.thickness.setValue(value) + elif self.unit.currentIndex() == 1: + self.unit_changing = True + self.thickness.setValue(self.ft2m(value)) + self.unit_changing = False + + def on_unit_change(self, index: int) -> None: + self.unit_changing = True + mini = ( + self.thickness.minimum() + if index == 0 + else self.m2ft(self.thickness.minimum()) + ) + maxi = ( + self.thickness.maximum() + if index == 0 + else self.m2ft(self.thickness.maximum()) + ) + value = ( + self.thickness.value() if index == 0 else self.m2ft(self.thickness.value()) + ) + self.thickness_spinner.setRange(mini, maxi) + self.thickness_spinner.setValue(value) + self.unit_changing = False + + def m2ft(self, value: int) -> int: + return round(value * self.M2FT_FACTOR) + + def ft2m(self, value: int) -> int: + return round(value / self.M2FT_FACTOR) diff --git a/qt_ui/widgets/conditions/DcsPrecipitationSelector.py b/qt_ui/widgets/conditions/DcsPrecipitationSelector.py new file mode 100644 index 00000000..f8b93d8e --- /dev/null +++ b/qt_ui/widgets/conditions/DcsPrecipitationSelector.py @@ -0,0 +1,28 @@ +from typing import Optional + +from PySide6.QtWidgets import QHBoxLayout, QLabel, QComboBox +from dcs.weather import Weather as PydcsWeather, CloudPreset + +from game.weather.clouds import Clouds + + +class DcsPrecipitationSelector(QHBoxLayout): + def __init__(self, clouds: Clouds) -> None: + super().__init__() + self.unit_changing = False + + self.label = QLabel("Precipitation : ") + self.addWidget(self.label) + + self.selector = QComboBox() + for p in PydcsWeather.Preceptions: + self.selector.addItem(p.name.replace("_", ""), p) + + self.selector.setCurrentText(clouds.precipitation.name.replace("_", "")) + self.addWidget(self.selector, 1) + + def update_ui(self, preset: Optional[CloudPreset]) -> None: + self.selector.setEnabled(preset is None) + + if preset: + self.selector.setCurrentText("None") diff --git a/qt_ui/widgets/conditions/QTimeAdjustmentWidget.py b/qt_ui/widgets/conditions/QTimeAdjustmentWidget.py new file mode 100644 index 00000000..8c116d0e --- /dev/null +++ b/qt_ui/widgets/conditions/QTimeAdjustmentWidget.py @@ -0,0 +1,38 @@ +from typing import Optional + +from PySide6.QtCore import QDateTime +from PySide6.QtWidgets import QVBoxLayout, QWidget, QLabel, QHBoxLayout, QDateTimeEdit + +from qt_ui.widgets.conditions.QTimeTurnWidget import QTimeTurnWidget + + +class QTimeAdjustmentWidget(QWidget): + def __init__( + self, time_turn: QTimeTurnWidget, parent: Optional[QWidget] = None + ) -> None: + super().__init__(parent) + self.current_datetime = time_turn.sim_controller.current_time_in_sim + self.init_ui() + + def init_ui(self) -> None: + vbox = QVBoxLayout() + + vbox.addWidget(QLabel("

Time & Date:

")) + vbox.addWidget( + QLabel( + '

WARNING: CHANGING TIME/DATE WILL RE-INITIALIZE THE TURN

' + ) + ) + + hbox = QHBoxLayout() + + t = self.current_datetime.time() + d = self.current_datetime.date() + self.datetime_edit = QDateTimeEdit( + QDateTime(d.year, d.month, d.day, t.hour, t.minute, t.second) + ) + hbox.addWidget(self.datetime_edit) + + vbox.addLayout(hbox) + + self.setLayout(vbox) diff --git a/qt_ui/widgets/conditions/QTimeTurnWidget.py b/qt_ui/widgets/conditions/QTimeTurnWidget.py new file mode 100644 index 00000000..b1149818 --- /dev/null +++ b/qt_ui/widgets/conditions/QTimeTurnWidget.py @@ -0,0 +1,70 @@ +from datetime import datetime + +from PySide6.QtWidgets import QGroupBox, QHBoxLayout, QLabel, QVBoxLayout + +from game.sim import GameUpdateEvents +from game.timeofday import TimeOfDay +from game.weather.conditions import Conditions +from qt_ui import uiconstants as CONST +from qt_ui.simcontroller import SimController + + +class QTimeTurnWidget(QGroupBox): + """ + UI Component to display current turn and time info + """ + + def __init__(self, sim_controller: SimController) -> None: + super(QTimeTurnWidget, self).__init__("Turn") + self.sim_controller = sim_controller + self.setStyleSheet( + "padding: 0px; margin-left: 5px; margin-right: 0px; margin-top: 1ex; margin-bottom: 5px; border-right: 0px" + ) + + self.icons = { + TimeOfDay.Dawn: CONST.ICONS["Dawn"], + TimeOfDay.Day: CONST.ICONS["Day"], + TimeOfDay.Dusk: CONST.ICONS["Dusk"], + TimeOfDay.Night: CONST.ICONS["Night"], + } + + # self.setProperty('style', 'conditions__widget--turn') + self.layout = QHBoxLayout() + self.setLayout(self.layout) + + self.daytime_icon = QLabel() + self.daytime_icon.setPixmap(self.icons[TimeOfDay.Dawn]) + self.layout.addWidget(self.daytime_icon) + + self.time_column = QVBoxLayout() + self.layout.addLayout(self.time_column) + + self.date_display = QLabel() + self.time_column.addWidget(self.date_display) + + self.time_display = QLabel() + self.time_column.addWidget(self.time_display) + + sim_controller.sim_update.connect(self.on_sim_update) + + def on_sim_update(self, _events: GameUpdateEvents) -> None: + time = self.sim_controller.current_time_in_sim_if_game_loaded + if time is None: + self.date_display.setText("") + self.time_display.setText("") + else: + self.set_date_and_time(time) + + def set_current_turn(self, turn: int, conditions: Conditions) -> None: + """Sets the turn information display. + + :arg turn Current turn number. + :arg conditions Current time and weather conditions. + """ + self.daytime_icon.setPixmap(self.icons[conditions.time_of_day]) + self.set_date_and_time(conditions.start_time) + self.setTitle(f"Turn {turn}") + + def set_date_and_time(self, time: datetime) -> None: + self.date_display.setText(time.strftime("%d %b %Y")) + self.time_display.setText(time.strftime("%H:%M:%S Local")) diff --git a/qt_ui/widgets/conditions/QWeatherAdjustmentWidget.py b/qt_ui/widgets/conditions/QWeatherAdjustmentWidget.py new file mode 100644 index 00000000..1fe45ccd --- /dev/null +++ b/qt_ui/widgets/conditions/QWeatherAdjustmentWidget.py @@ -0,0 +1,94 @@ +from PySide6.QtWidgets import QLabel, QHBoxLayout, QComboBox, QWidget, QVBoxLayout +from dcs.cloud_presets import CLOUD_PRESETS + +from game.weather.weather import ClearSkies, Cloudy, Raining, Thunderstorm +from qt_ui.widgets.conditions.DcsCloudBaseSelector import DcsCloudBaseSelector +from qt_ui.widgets.conditions.DcsCloudDensitySelector import DcsCloudDensitySelector +from qt_ui.widgets.conditions.DcsCloudThicknessSelector import DcsCloudThicknessSelector +from qt_ui.widgets.conditions.DcsPrecipitationSelector import DcsPrecipitationSelector +from qt_ui.widgets.conditions.QWeatherWidget import QWeatherWidget + + +class QWeatherAdjustmentWidget(QWidget): + def __init__(self, weather: QWeatherWidget) -> None: + super().__init__() + self.weather = weather + self.init_ui() + + def init_ui(self) -> None: + weather = self.weather.conditions.weather + + vbox = QVBoxLayout() + label = QLabel("

Weather:

") + label.setMaximumHeight(75) + vbox.addWidget(label) + + hbox = QHBoxLayout() + hbox.addWidget(QLabel("Type")) + self.type_selector = QComboBox() + for text, w_type in [ + ("Clear", ClearSkies), + ("Clouds", Cloudy), + ("Rain", Raining), + ("Thunderstorm", Thunderstorm), + ]: + self.type_selector.addItem(text, w_type) + if isinstance(weather, w_type): + self.type_selector.setCurrentText(text) + self.type_selector.currentIndexChanged.connect(self.update_ui_for_type) + hbox.addWidget(self.type_selector) + vbox.addLayout(hbox) + + label = QLabel("

Clouds:

") + label.setMaximumHeight(50) + vbox.addWidget(label) + + hbox = QHBoxLayout() + hbox.addWidget(QLabel("Preset")) + self.preset_selector = QComboBox() + for _, preset in CLOUD_PRESETS.items(): + self.preset_selector.addItem(preset.value.ui_name, preset.value) + self.preset_selector.addItem("Custom", None) + self.preset_selector.setCurrentText( + weather.clouds.preset.ui_name + if weather.clouds and weather.clouds.preset + else "Custom" + ) + self.preset_selector.currentIndexChanged.connect(self.update_ui) + hbox.addWidget(self.preset_selector) + vbox.addLayout(hbox) + + self.cloud_base = DcsCloudBaseSelector(self.preset_selector.currentData()) + vbox.addLayout(self.cloud_base) + + clouds = self.weather.conditions.weather.clouds + + self.cloud_thickness = DcsCloudThicknessSelector(clouds) + vbox.addLayout(self.cloud_thickness) + + self.cloud_density = DcsCloudDensitySelector(clouds) + vbox.addLayout(self.cloud_density) + + self.precipitation = DcsPrecipitationSelector(clouds) + vbox.addLayout(self.precipitation) + + self.setLayout(vbox) + + self.update_ui_for_type() + + def update_ui_for_type(self) -> None: + if self.type_selector.currentData() in [ClearSkies, Thunderstorm]: + self.preset_selector.setCurrentText("Custom") + self.preset_selector.setDisabled(True) + else: + self.preset_selector.setDisabled(False) + + self.update_ui() + + def update_ui(self) -> None: + preset = self.preset_selector.currentData() + self.cloud_base.preset = preset + self.cloud_base.update_bounds() + self.cloud_thickness.update_ui(preset) + self.cloud_density.update_ui(preset) + self.precipitation.update_ui(preset) diff --git a/qt_ui/widgets/conditions/QWeatherWidget.py b/qt_ui/widgets/conditions/QWeatherWidget.py new file mode 100644 index 00000000..dabf13cc --- /dev/null +++ b/qt_ui/widgets/conditions/QWeatherWidget.py @@ -0,0 +1,207 @@ +from PySide6.QtGui import QPixmap +from PySide6.QtWidgets import QGroupBox, QHBoxLayout, QLabel, QVBoxLayout, QGridLayout +from dcs.weather import CloudPreset, Weather as PydcsWeather + +from game.timeofday import TimeOfDay +from game.utils import mps +from game.weather.conditions import Conditions +from qt_ui import uiconstants as CONST + + +class QWeatherWidget(QGroupBox): + """ + UI Component to display current weather forecast + """ + + turn = None + conditions = None + + def __init__(self): + super(QWeatherWidget, self).__init__("") + self.setProperty("style", "QWeatherWidget") + + self.icons = { + TimeOfDay.Dawn: CONST.ICONS["Dawn"], + TimeOfDay.Day: CONST.ICONS["Day"], + TimeOfDay.Dusk: CONST.ICONS["Dusk"], + TimeOfDay.Night: CONST.ICONS["Night"], + } + + self.layout = QHBoxLayout() + self.setLayout(self.layout) + + self.makeWeatherIcon() + self.makeCloudRainFogWidget() + self.makeWindsWidget() + + def makeWeatherIcon(self): + """Makes the Weather Icon Widget""" + self.weather_icon = QLabel() + self.weather_icon.setPixmap(self.icons[TimeOfDay.Dawn]) + self.layout.addWidget(self.weather_icon) + + def makeCloudRainFogWidget(self): + """Makes the Cloud, Rain, Fog Widget""" + self.textLayout = QVBoxLayout() + self.layout.addLayout(self.textLayout) + + self.forecastClouds = self.makeLabel() + self.textLayout.addWidget(self.forecastClouds) + + self.forecastRain = self.makeLabel() + self.textLayout.addWidget(self.forecastRain) + + self.forecastFog = self.makeLabel() + self.textLayout.addWidget(self.forecastFog) + + def makeWindsWidget(self): + """Factory for the winds widget.""" + windsLayout = QGridLayout() + self.layout.addLayout(windsLayout) + + windsLayout.addWidget(self.makeIcon(CONST.ICONS["Weather_winds"]), 0, 0, 3, 1) + + windsLayout.addWidget(self.makeLabel("At GL"), 0, 1) + windsLayout.addWidget(self.makeLabel("At FL08"), 1, 1) + windsLayout.addWidget(self.makeLabel("At FL26"), 2, 1) + + self.windGLSpeedLabel = self.makeLabel("0kts") + self.windGLDirLabel = self.makeLabel("0º") + windsLayout.addWidget(self.windGLSpeedLabel, 0, 2) + windsLayout.addWidget(self.windGLDirLabel, 0, 3) + + self.windFL08SpeedLabel = self.makeLabel("0kts") + self.windFL08DirLabel = self.makeLabel("0º") + windsLayout.addWidget(self.windFL08SpeedLabel, 1, 2) + windsLayout.addWidget(self.windFL08DirLabel, 1, 3) + + self.windFL26SpeedLabel = self.makeLabel("0kts") + self.windFL26DirLabel = self.makeLabel("0º") + windsLayout.addWidget(self.windFL26SpeedLabel, 2, 2) + windsLayout.addWidget(self.windFL26DirLabel, 2, 3) + + def makeLabel(self, text: str = "") -> QLabel: + """Shorthand to generate a QLabel with widget standard style + + :arg pixmap QPixmap for the icon. + """ + label = QLabel(text) + label.setProperty("style", "text-sm") + + return label + + def makeIcon(self, pixmap: QPixmap) -> QLabel: + """Shorthand to generate a QIcon with pixmap. + + :arg pixmap QPixmap for the icon. + """ + icon = QLabel() + icon.setPixmap(pixmap) + + return icon + + def setCurrentTurn(self, turn: int, conditions: Conditions) -> None: + """Sets the turn information display. + + :arg turn Current turn number. + :arg conditions Current time and weather conditions. + """ + self.turn = turn + self.conditions = conditions + + self.update_forecast() + self.updateWinds() + + def updateWinds(self): + """Updates the UI with the current conditions wind info.""" + windGlSpeed = mps(self.conditions.weather.wind.at_0m.speed or 0) + windGlDir = str(self.conditions.weather.wind.at_0m.direction or 0).rjust(3, "0") + self.windGLSpeedLabel.setText(f"{int(windGlSpeed.knots)}kts") + self.windGLDirLabel.setText(f"{windGlDir}º") + + windFL08Speed = mps(self.conditions.weather.wind.at_2000m.speed or 0) + windFL08Dir = str(self.conditions.weather.wind.at_2000m.direction or 0).rjust( + 3, "0" + ) + self.windFL08SpeedLabel.setText(f"{int(windFL08Speed.knots)}kts") + self.windFL08DirLabel.setText(f"{windFL08Dir}º") + + windFL26Speed = mps(self.conditions.weather.wind.at_8000m.speed or 0) + windFL26Dir = str(self.conditions.weather.wind.at_8000m.direction or 0).rjust( + 3, "0" + ) + self.windFL26SpeedLabel.setText(f"{int(windFL26Speed.knots)}kts") + self.windFL26DirLabel.setText(f"{windFL26Dir}º") + + def update_forecast_from_preset(self, preset: CloudPreset) -> None: + self.forecastFog.setText("No fog") + if "Rain" in preset.name: + self.forecastRain.setText("Rain") + self.update_forecast_icons("rain") + else: + self.forecastRain.setText("No rain") + self.update_forecast_icons("partly-cloudy") + + # We get a description like the following for the cloud preset. + # + # 09 ##Two Layer Broken/Scattered \nMETAR:BKN 7.5/10 SCT 20/22 FEW41 + # + # The second line is probably interesting but doesn't fit into the widget + # currently, so for now just extract the first line. + self.forecastClouds.setText(preset.description.splitlines()[0].split("##")[1]) + + def update_forecast(self): + """Updates the Forecast Text and icon with the current conditions wind info.""" + if ( + self.conditions.weather.clouds + and self.conditions.weather.clouds.preset is not None + ): + self.update_forecast_from_preset(self.conditions.weather.clouds.preset) + return + + if self.conditions.weather.clouds is None: + cloud_density = 0 + precipitation = None + else: + cloud_density = self.conditions.weather.clouds.density + precipitation = self.conditions.weather.clouds.precipitation + + if not cloud_density: + self.forecastClouds.setText("Clear") + weather_type = "clear" + elif cloud_density < 3: + self.forecastClouds.setText("Partly Cloudy") + weather_type = "partly-cloudy" + elif cloud_density < 5: + self.forecastClouds.setText("Mostly Cloudy") + weather_type = "partly-cloudy" + else: + self.forecastClouds.setText("Totally Cloudy") + weather_type = "partly-cloudy" + + if precipitation == PydcsWeather.Preceptions.Rain: + self.forecastRain.setText("Rain") + weather_type = "rain" + elif precipitation == PydcsWeather.Preceptions.Thunderstorm: + self.forecastRain.setText("Thunderstorm") + weather_type = "thunderstorm" + else: + self.forecastRain.setText("No rain") + + if not self.conditions.weather.fog is not None: + self.forecastFog.setText("No fog") + else: + visibility = round(self.conditions.weather.fog.visibility.nautical_miles, 1) + self.forecastFog.setText(f"Fog vis: {visibility}nm") + if cloud_density > 1: + weather_type = "cloudy-fog" + else: + weather_type = "fog" + + self.update_forecast_icons(weather_type) + + def update_forecast_icons(self, weather_type: str) -> None: + time = "night" if self.conditions.time_of_day == TimeOfDay.Night else "day" + icon_key = f"Weather_{time}-{weather_type}" + icon = CONST.ICONS.get(icon_key) or CONST.ICONS["Weather_night-partly-cloudy"] + self.weather_icon.setPixmap(icon) diff --git a/resources/stylesheets/style-dcs.css b/resources/stylesheets/style-dcs.css index 601dd897..065c62d3 100644 --- a/resources/stylesheets/style-dcs.css +++ b/resources/stylesheets/style-dcs.css @@ -590,6 +590,11 @@ QFrame[style="QConditionsWidget"] { background: transparent; } +QFrame[style="QConditionsWidget"]:hover { + cursor: pointer; + background: #43A6C6; +} + QGroupBox[style="QWeatherWidget"] { padding: 0px; margin-left: 0px; @@ -664,3 +669,7 @@ QCalendarWidget QTableView{ .comms { padding: 2px; } + +.hidden { + visibility: hidden; +} From 4ca0137a24a0a5e0d00fa26a4ca7b405d0588e74 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sun, 30 Jun 2024 19:23:01 +0200 Subject: [PATCH 22/32] Keep CAS & OCA/AC below cloud base if BKN/OVC Partial #285 --- game/ato/flightplans/waypointbuilder.py | 28 ++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/game/ato/flightplans/waypointbuilder.py b/game/ato/flightplans/waypointbuilder.py index 7d78c9f2..a9be6ee5 100644 --- a/game/ato/flightplans/waypointbuilder.py +++ b/game/ato/flightplans/waypointbuilder.py @@ -249,6 +249,22 @@ class WaypointBuilder: objective: MissionTarget, ) -> FlightWaypoint: alt = self.get_combat_altitude + if ingress_type in [ + FlightWaypointType.INGRESS_CAS, + FlightWaypointType.INGRESS_OCA_AIRCRAFT, + ]: + weather = self.flight.coalition.game.conditions.weather + max_alt = feet(30000) + if weather.clouds and ( + weather.clouds.preset + and "overcast" in weather.clouds.preset.description.lower() + or weather.clouds.density > 5 + ): + max_alt = meters( + max(feet(500).meters, weather.clouds.base - feet(500).meters) + ) + alt = min(alt, max_alt) + alt_type: AltitudeReference = "BARO" if self.is_helo or self.flight.is_hercules: alt_type = "RADIO" @@ -381,13 +397,23 @@ class WaypointBuilder: return waypoint def cas(self, position: Point) -> FlightWaypoint: + weather = self.flight.coalition.game.conditions.weather + max_alt = feet(30000) + if weather.clouds and ( + weather.clouds.preset + and "overcast" in weather.clouds.preset.description.lower() + or weather.clouds.density > 5 + ): + max_alt = meters( + max(feet(500).meters, weather.clouds.base - feet(500).meters) + ) return FlightWaypoint( "CAS", FlightWaypointType.CAS, position, feet(self.flight.coalition.game.settings.heli_combat_alt_agl) if self.is_helo - else meters(1000), + else min(meters(1000), max_alt), "RADIO", description="Provide CAS", pretty_name="CAS", From 3bda2929aad94cff267ea84a336cb71c563c2b95 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sun, 30 Jun 2024 21:52:39 +0200 Subject: [PATCH 23/32] Fix issues in F106 that broke Su30 --- pydcs_extensions/f106/f106.py | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/pydcs_extensions/f106/f106.py b/pydcs_extensions/f106/f106.py index e0253b22..c11b1c94 100644 --- a/pydcs_extensions/f106/f106.py +++ b/pydcs_extensions/f106/f106.py @@ -31,16 +31,6 @@ class WeaponsF106: "name": "AIR-2A Genie Nuclear air-to-air unguided rocket.", "weight": 66, } - L005_Sorbtsiya_ECM_pod__left_ = { - "clsid": "{44EE8698-89F9-48EE-AF36-5FD31896A82F}", - "name": "L005 Sorbtsiya ECM pod (left)", - "weight": 150, - } - L005_Sorbtsiya_ECM_pod__right_ = { - "clsid": "{44EE8698-89F9-48EE-AF36-5FD31896A82A}", - "name": "L005 Sorbtsiya ECM pod (right)", - "weight": 150, - } inject_weapons(WeaponsF106) @@ -150,7 +140,7 @@ class VSN_F106A(PlaneType): # ERRR class Pylon8: - WeaponsF106.L005_Sorbtsiya_ECM_pod__left_ = ( + L005_Sorbtsiya_ECM_pod__left_ = ( 8, Weapons.L005_Sorbtsiya_ECM_pod__left_, ) @@ -279,7 +269,7 @@ class VSN_F106B(PlaneType): # ERRR class Pylon8: - Weapons.L005_Sorbtsiya_ECM_pod__left_ = ( + L005_Sorbtsiya_ECM_pod__left_ = ( 8, Weapons.L005_Sorbtsiya_ECM_pod__left_, ) From 4762b490c061d7675b31eb55587cc57b438e38c7 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Sun, 30 Jun 2024 23:05:45 +0300 Subject: [PATCH 24/32] Su-15 Flagon mod v1.0 support (#345) * Su-15 Flagon mod v1.0 support Implemented support for Su-15 Flagon mod version 1.0 by Marco1985_IT. * Replaced the external fuel tanks with gunpods in Su-15 loadouts and added gunfighter: true --- game/factions/faction.py | 3 + game/theater/start_generator.py | 1 + pydcs_extensions/__init__.py | 1 + pydcs_extensions/su15/__init__.py | 1 + pydcs_extensions/su15/su15.py | 203 ++++++++++++++++++ qt_ui/main.py | 1 + qt_ui/windows/newgame/QNewGameWizard.py | 1 + .../newgame/WizardPages/QGeneratorSettings.py | 3 + resources/customized_payloads/Su_15.lua | 33 +++ resources/customized_payloads/Su_15TM.lua | 43 ++++ resources/factions/russia_1965.json | 1 + resources/factions/russia_1975 (Mi-24P).json | 1 + resources/factions/russia_1975.json | 1 + resources/factions/russia_1980.json | 1 + .../ui/units/aircrafts/icons/Su_15TM_24.jpg | Bin 0 -> 8272 bytes .../ui/units/aircrafts/icons/Su_15_24.jpg | Bin 0 -> 8134 bytes resources/units/aircraft/Su_15.yaml | 20 ++ resources/units/aircraft/Su_15TM.yaml | 23 ++ 18 files changed, 337 insertions(+) create mode 100644 pydcs_extensions/su15/__init__.py create mode 100644 pydcs_extensions/su15/su15.py create mode 100644 resources/customized_payloads/Su_15.lua create mode 100644 resources/customized_payloads/Su_15TM.lua create mode 100644 resources/ui/units/aircrafts/icons/Su_15TM_24.jpg create mode 100644 resources/ui/units/aircrafts/icons/Su_15_24.jpg create mode 100644 resources/units/aircraft/Su_15.yaml create mode 100644 resources/units/aircraft/Su_15TM.yaml diff --git a/game/factions/faction.py b/game/factions/faction.py index 1675abf3..22a1d115 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -410,6 +410,9 @@ class Faction: self.remove_aircraft("JAS39Gripen_AG") if not mod_settings.super_etendard: self.remove_aircraft("VSN_SEM") + if not mod_settings.su15_flagon: + self.remove_aircraft("Su_15") + self.remove_aircraft("Su_15TM") if not mod_settings.su30_flanker_h: self.remove_aircraft("Su-30MKA") self.remove_aircraft("Su-30MKI") diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py index 66bcb295..9a0b2ef4 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -87,6 +87,7 @@ class ModSettings: uh_60l: bool = False jas39_gripen: bool = False super_etendard: bool = False + su15_flagon: bool = False su30_flanker_h: bool = False su57_felon: bool = False frenchpack: bool = False diff --git a/pydcs_extensions/__init__.py b/pydcs_extensions/__init__.py index b1f5b193..c5c4071e 100644 --- a/pydcs_extensions/__init__.py +++ b/pydcs_extensions/__init__.py @@ -24,6 +24,7 @@ from .jas39 import * from .ov10a import * from .spanishnavypack import * from .super_etendard import * +from .su15 import * from .su30 import * from .su57 import * from .swedishmilitaryassetspack import * diff --git a/pydcs_extensions/su15/__init__.py b/pydcs_extensions/su15/__init__.py new file mode 100644 index 00000000..f70df111 --- /dev/null +++ b/pydcs_extensions/su15/__init__.py @@ -0,0 +1 @@ +from .su15 import * diff --git a/pydcs_extensions/su15/su15.py b/pydcs_extensions/su15/su15.py new file mode 100644 index 00000000..aa74087f --- /dev/null +++ b/pydcs_extensions/su15/su15.py @@ -0,0 +1,203 @@ +from typing import Any, Dict, Set + +from dcs import task +from dcs.planes import PlaneType +from dcs.weapons_data import Weapons + +from game.modsupport import planemod +from pydcs_extensions.weapon_injector import inject_weapons + + +class WeaponsSu15: + PTB_600 = {"clsid": "{Su_15_PTB-600}", "name": "PTB-600", "weight": 535} + R_8M1R = {"clsid": "{R-8M1R}", "name": "R-8M1R", "weight": 285} + R_8M1T = {"clsid": "{R-8M1T}", "name": "R-8M1T", "weight": 265} + R_8R_Inert = {"clsid": "{R-8RInert}", "name": "R-8R Inert", "weight": 285} + R_8T_Inert = {"clsid": "{R-8TInert}", "name": "R-8T Inert", "weight": 265} + R_98MR = {"clsid": "{R-98MR}", "name": "R-98MR", "weight": 292} + R_98MT = {"clsid": "{R-98MT}", "name": "R-98MT", "weight": 272} + + +inject_weapons(WeaponsSu15) + + +@planemod +class Su_15TM(PlaneType): + id = "Su_15TM" + height = 5 + width = 9.34 + length = 21.41 + fuel_max = 5550 + max_speed = 2229.984 + chaff = 30 + flare = 15 + charge_total = 60 + chaff_charge_size = 1 + flare_charge_size = 2 + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + radio_frequency = 127.5 + + livery_name = "SU_15TM" # from type + + class Pylon1: + R_98MR = (1, WeaponsSu15.R_98MR) + R_98MT = (1, WeaponsSu15.R_98MT) + R_8M1R = (1, WeaponsSu15.R_8M1R) + R_8M1T = (1, WeaponsSu15.R_8M1T) + UB_32A_pod___32_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag = ( + 1, + Weapons.UB_32A_pod___32_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag, + ) + UB_16UM_pod___16_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag = ( + 1, + Weapons.UB_16UM_pod___16_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag, + ) + S_24B___240mm_UnGd_Rkt__235kg__HE_Frag___Low_Smk_ = ( + 1, + Weapons.S_24B___240mm_UnGd_Rkt__235kg__HE_Frag___Low_Smk_, + ) + FAB_100___100kg_GP_Bomb_LD = (1, Weapons.FAB_100___100kg_GP_Bomb_LD) + FAB_250___250kg_GP_Bomb_LD = (1, Weapons.FAB_250___250kg_GP_Bomb_LD) + FAB_500_M_62___500kg_GP_Bomb_LD = (1, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + + class Pylon2: + APU_60_1M_with_R_60__AA_8_Aphid____IR_AAM = ( + 2, + Weapons.APU_60_1M_with_R_60__AA_8_Aphid____IR_AAM, + ) + APU_60_1M_with_R_60M__AA_8_Aphid_B____IR_AAM = ( + 2, + Weapons.APU_60_1M_with_R_60M__AA_8_Aphid_B____IR_AAM, + ) + + class Pylon3: + SPPU_22_1___2_x_23mm__GSh_23L_Autocannon_Pod = ( + 3, + Weapons.SPPU_22_1___2_x_23mm__GSh_23L_Autocannon_Pod, + ) + PTB_600 = (3, WeaponsSu15.PTB_600) + UB_32A_pod___32_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag = ( + 3, + Weapons.UB_32A_pod___32_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag, + ) + UB_16UM_pod___16_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag = ( + 3, + Weapons.UB_16UM_pod___16_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag, + ) + S_24B___240mm_UnGd_Rkt__235kg__HE_Frag___Low_Smk_ = ( + 3, + Weapons.S_24B___240mm_UnGd_Rkt__235kg__HE_Frag___Low_Smk_, + ) + FAB_100___100kg_GP_Bomb_LD = (3, Weapons.FAB_100___100kg_GP_Bomb_LD) + FAB_250___250kg_GP_Bomb_LD = (3, Weapons.FAB_250___250kg_GP_Bomb_LD) + FAB_500_M_62___500kg_GP_Bomb_LD = (3, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + + class Pylon4: + SPPU_22_1___2_x_23mm__GSh_23L_Autocannon_Pod = ( + 4, + Weapons.SPPU_22_1___2_x_23mm__GSh_23L_Autocannon_Pod, + ) + PTB_600 = (4, WeaponsSu15.PTB_600) + UB_32A_pod___32_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag = ( + 4, + Weapons.UB_32A_pod___32_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag, + ) + UB_16UM_pod___16_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag = ( + 4, + Weapons.UB_16UM_pod___16_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag, + ) + S_24B___240mm_UnGd_Rkt__235kg__HE_Frag___Low_Smk_ = ( + 4, + Weapons.S_24B___240mm_UnGd_Rkt__235kg__HE_Frag___Low_Smk_, + ) + FAB_100___100kg_GP_Bomb_LD = (4, Weapons.FAB_100___100kg_GP_Bomb_LD) + FAB_250___250kg_GP_Bomb_LD = (4, Weapons.FAB_250___250kg_GP_Bomb_LD) + FAB_500_M_62___500kg_GP_Bomb_LD = (4, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + + class Pylon5: + APU_60_1M_with_R_60__AA_8_Aphid____IR_AAM = ( + 5, + Weapons.APU_60_1M_with_R_60__AA_8_Aphid____IR_AAM, + ) + APU_60_1M_with_R_60M__AA_8_Aphid_B____IR_AAM = ( + 5, + Weapons.APU_60_1M_with_R_60M__AA_8_Aphid_B____IR_AAM, + ) + + class Pylon6: + R_98MR = (6, WeaponsSu15.R_98MR) + R_98MT = (6, WeaponsSu15.R_98MT) + R_8M1R = (6, WeaponsSu15.R_8M1R) + R_8M1T = (6, WeaponsSu15.R_8M1T) + UB_32A_pod___32_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag = ( + 6, + Weapons.UB_32A_pod___32_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag, + ) + UB_16UM_pod___16_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag = ( + 6, + Weapons.UB_16UM_pod___16_x_S_5KO__57mm_UnGd_Rkts__HEAT_Frag, + ) + S_24B___240mm_UnGd_Rkt__235kg__HE_Frag___Low_Smk_ = ( + 6, + Weapons.S_24B___240mm_UnGd_Rkt__235kg__HE_Frag___Low_Smk_, + ) + FAB_100___100kg_GP_Bomb_LD = (6, Weapons.FAB_100___100kg_GP_Bomb_LD) + FAB_250___250kg_GP_Bomb_LD = (6, Weapons.FAB_250___250kg_GP_Bomb_LD) + FAB_500_M_62___500kg_GP_Bomb_LD = (6, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6} + + tasks = [ + task.GroundAttack, + task.CAS, + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + ] + task_default = task.Intercept + + +@planemod +class Su_15(PlaneType): + id = "Su_15" + height = 5 + width = 9.34 + length = 21.41 + fuel_max = 5600 + max_speed = 2229.984 + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + radio_frequency = 127.5 + + livery_name = "SU_15" # from type + + class Pylon1: + R_8M1R = (1, WeaponsSu15.R_8M1R) + R_8R_Inert = (1, WeaponsSu15.R_8R_Inert) + R_8M1T = (1, WeaponsSu15.R_8M1T) + R_8T_Inert = (1, WeaponsSu15.R_8T_Inert) + + class Pylon2: + SPPU_22_1___2_x_23mm__GSh_23L_Autocannon_Pod = ( + 2, + Weapons.SPPU_22_1___2_x_23mm__GSh_23L_Autocannon_Pod, + ) + PTB_600 = (2, WeaponsSu15.PTB_600) + + class Pylon3: + SPPU_22_1___2_x_23mm__GSh_23L_Autocannon_Pod = ( + 3, + Weapons.SPPU_22_1___2_x_23mm__GSh_23L_Autocannon_Pod, + ) + PTB_600 = (3, WeaponsSu15.PTB_600) + + class Pylon4: + R_8M1R = (4, WeaponsSu15.R_8M1R) + R_8R_Inert = (4, WeaponsSu15.R_8R_Inert) + R_8M1T = (4, WeaponsSu15.R_8M1T) + R_8T_Inert = (4, WeaponsSu15.R_8T_Inert) + + pylons: Set[int] = {1, 2, 3, 4} + + tasks = [task.CAP, task.Escort, task.FighterSweep, task.Intercept] + task_default = task.Intercept diff --git a/qt_ui/main.py b/qt_ui/main.py index 7f4b6e78..d7063af6 100644 --- a/qt_ui/main.py +++ b/qt_ui/main.py @@ -336,6 +336,7 @@ def create_game( f105_thunderchief=False, hercules=False, jas39_gripen=False, + su15_flagon=False, su30_flanker_h=False, su57_felon=False, frenchpack=False, diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 0ecccbf1..0948079c 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -110,6 +110,7 @@ class NewGameWizard(QtWidgets.QWizard): uh_60l=self.field("uh_60l"), jas39_gripen=self.field("jas39_gripen"), super_etendard=self.field("super_etendard"), + su15_flagon=self.field("su15_flagon"), su30_flanker_h=self.field("su30_flanker_h"), su57_felon=self.field("su57_felon"), ov10a_bronco=self.field("ov10a_bronco"), diff --git a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py index 926bb923..cf153da8 100644 --- a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py +++ b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py @@ -130,6 +130,8 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.registerField("jas39_gripen", self.jas39_gripen) self.super_etendard = QtWidgets.QCheckBox() self.registerField("super_etendard", self.super_etendard) + self.su15_flagon = QtWidgets.QCheckBox() + self.registerField("su15_flagon", self.su15_flagon) self.su30_flanker_h = QtWidgets.QCheckBox() self.registerField("su30_flanker_h", self.su30_flanker_h) self.su57_felon = QtWidgets.QCheckBox() @@ -183,6 +185,7 @@ class GeneratorOptions(QtWidgets.QWizardPage): ("OV-10A Bronco", self.ov10a_bronco), ("Spanish Naval Assets pack (desdemicabina 3.2.0)", self.spanishnavypack), ("Star Wars Modpack 2.54+", self.SWPack), + ("Su-15 Flagon (v1.0)", self.su15_flagon), ("Su-30 Flanker-H (V2.7.3 beta)", self.su30_flanker_h), ("Su-57 Felon (build-04)", self.su57_felon), ("Super Étendard (v2.5.5)", self.super_etendard), diff --git a/resources/customized_payloads/Su_15.lua b/resources/customized_payloads/Su_15.lua new file mode 100644 index 00000000..cc7628e6 --- /dev/null +++ b/resources/customized_payloads/Su_15.lua @@ -0,0 +1,33 @@ +local unitPayloads = { + ["name"] = "Su_15", + ["payloads"] = { + [1] = { + ["name"] = "BARCAP", + ["pylons"] = { + [1] = { + ["CLSID"] = "{R-8M1R}", + ["num"] = 4, + }, + [2] = { + ["CLSID"] = "{R-8M1T}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{E92CBFE5-C153-11d8-9897-000476191836}", + ["num"] = 3, + }, + [4] = { + ["CLSID"] = "{E92CBFE5-C153-11d8-9897-000476191836}", + ["num"] = 2, + }, + }, + ["tasks"] = { + [1] = 10, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "Su_15", +} +return unitPayloads diff --git a/resources/customized_payloads/Su_15TM.lua b/resources/customized_payloads/Su_15TM.lua new file mode 100644 index 00000000..acec4d15 --- /dev/null +++ b/resources/customized_payloads/Su_15TM.lua @@ -0,0 +1,43 @@ +local unitPayloads = { + ["name"] = "Su_15TM", + ["payloads"] = { + [1] = { + ["displayName"] = "BARCAP", + ["name"] = "BARCAP", + ["pylons"] = { + [1] = { + ["CLSID"] = "{R-98MR}", + ["num"] = 6, + }, + [2] = { + ["CLSID"] = "{R-98MT}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{R-60M}", + ["num"] = 5, + }, + [4] = { + ["CLSID"] = "{R-60M}", + ["num"] = 2, + }, + [5] = { + ["CLSID"] = "{E92CBFE5-C153-11d8-9897-000476191836}", + ["num"] = 4, + }, + [6] = { + ["CLSID"] = "{E92CBFE5-C153-11d8-9897-000476191836}", + ["num"] = 3, + }, + }, + ["tasks"] = { + [1] = 11, + [2] = 10, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "Su_15TM", +} +return unitPayloads diff --git a/resources/factions/russia_1965.json b/resources/factions/russia_1965.json index e1f5c8dd..cc308298 100644 --- a/resources/factions/russia_1965.json +++ b/resources/factions/russia_1965.json @@ -11,6 +11,7 @@ "MiG-15bis Fagot", "MiG-19P Farmer-B", "MiG-21bis Fishbed-N", + "Su-15 Flagon-A", "Tu-95MS Bear-H" ], "awacs": [ diff --git a/resources/factions/russia_1975 (Mi-24P).json b/resources/factions/russia_1975 (Mi-24P).json index 52966176..bcc1da4e 100644 --- a/resources/factions/russia_1975 (Mi-24P).json +++ b/resources/factions/russia_1975 (Mi-24P).json @@ -14,6 +14,7 @@ "MiG-23MLD Flogger-K", "MiG-25PD Foxbat-E", "MiG-29A Fulcrum-A", + "Su-15TM Flagon-E", "Su-17M4 Fitter-K", "Su-24M Fencer-D", "Su-25 Frogfoot", diff --git a/resources/factions/russia_1975.json b/resources/factions/russia_1975.json index e38ef47f..7f7ed2cd 100644 --- a/resources/factions/russia_1975.json +++ b/resources/factions/russia_1975.json @@ -14,6 +14,7 @@ "MiG-23MLD Flogger-K", "MiG-25PD Foxbat-E", "MiG-29A Fulcrum-A", + "Su-15TM Flagon-E", "Su-17M4 Fitter-K", "Su-24M Fencer-D", "Su-25 Frogfoot", diff --git a/resources/factions/russia_1980.json b/resources/factions/russia_1980.json index 526b232b..bf81f1ad 100644 --- a/resources/factions/russia_1980.json +++ b/resources/factions/russia_1980.json @@ -17,6 +17,7 @@ "MiG-27K Flogger-J2", "MiG-29A Fulcrum-A", "MiG-31 Foxhound", + "Su-15TM Flagon-E", "Su-17M4 Fitter-K", "Su-24M Fencer-D", "Su-25 Frogfoot", diff --git a/resources/ui/units/aircrafts/icons/Su_15TM_24.jpg b/resources/ui/units/aircrafts/icons/Su_15TM_24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6e96d9b4e11f7a79d32eb7a18db1b2d34540e24f GIT binary patch literal 8272 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 Di+r?X literal 0 HcmV?d00001 diff --git a/resources/ui/units/aircrafts/icons/Su_15_24.jpg b/resources/ui/units/aircrafts/icons/Su_15_24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c744e798b3e29040749112f2deee26f603164447 GIT binary patch literal 8134 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 R5PiE)XXQ^ Date: Sun, 30 Jun 2024 22:07:59 +0200 Subject: [PATCH 25/32] Update changelog for Su-15 mod Co-Authored-By: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> --- changelog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/changelog.md b/changelog.md index a3d1ea9b..5729dd90 100644 --- a/changelog.md +++ b/changelog.md @@ -20,6 +20,7 @@ * **[UX]** Allow changing squadrons in flight's edit dialog * **[Cheats]** Sink/Resurrect carriers instead of showing an error during cheat-capture (use AWCD-cheat to add squadrons upon resurrection) * **[UI/UX]** Allow changing conditions such as Time, Date & Weather +* * **[Modding]** Added support for Su-15 Flagon mod (v1.0) ## Fixes * **[UI/UX]** A-10A flights can be edited again From 1df042fcc6b4a2edcfd0d2dd6a58eea135945e95 Mon Sep 17 00:00:00 2001 From: Raffson Date: Mon, 1 Jul 2024 18:56:10 +0200 Subject: [PATCH 26/32] Fix possible None-exceptions in weather selector --- qt_ui/widgets/conditions/DcsCloudBaseSelector.py | 13 +++++++++---- qt_ui/widgets/conditions/DcsCloudDensitySelector.py | 5 +++-- .../widgets/conditions/DcsCloudThicknessSelector.py | 5 +++-- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/qt_ui/widgets/conditions/DcsCloudBaseSelector.py b/qt_ui/widgets/conditions/DcsCloudBaseSelector.py index 3c734afa..5aa66c3c 100644 --- a/qt_ui/widgets/conditions/DcsCloudBaseSelector.py +++ b/qt_ui/widgets/conditions/DcsCloudBaseSelector.py @@ -2,22 +2,27 @@ from typing import Optional from PySide6.QtCore import Qt from PySide6.QtWidgets import QHBoxLayout, QLabel, QSlider, QSpinBox, QComboBox -from dcs.weather import CloudPreset + +from game.weather.clouds import Clouds class DcsCloudBaseSelector(QHBoxLayout): M2FT_FACTOR = 3.2808399 - def __init__(self, preset: Optional[CloudPreset]) -> None: + def __init__(self, clouds: Optional[Clouds]) -> None: super().__init__() - self.preset = preset + self.preset = clouds.preset if clouds else None self.unit_changing = False self.label = QLabel("Cloud Base: ") self.addWidget(self.label) self.base = QSlider(Qt.Orientation.Horizontal) - self.base.setValue(round(self.max_base - (self.max_base - self.min_base) / 2)) + self.base.setValue( + clouds.base + if clouds + else round(self.max_base - (self.max_base - self.min_base) / 2) + ) self.base.valueChanged.connect(self.on_slider_change) self.addWidget(self.base, 1) diff --git a/qt_ui/widgets/conditions/DcsCloudDensitySelector.py b/qt_ui/widgets/conditions/DcsCloudDensitySelector.py index a86cf848..f2c93445 100644 --- a/qt_ui/widgets/conditions/DcsCloudDensitySelector.py +++ b/qt_ui/widgets/conditions/DcsCloudDensitySelector.py @@ -8,7 +8,7 @@ from game.weather.clouds import Clouds class DcsCloudDensitySelector(QHBoxLayout): - def __init__(self, clouds: Clouds) -> None: + def __init__(self, clouds: Optional[Clouds]) -> None: super().__init__() self.unit_changing = False @@ -17,7 +17,8 @@ class DcsCloudDensitySelector(QHBoxLayout): self.density = QSlider(Qt.Orientation.Horizontal) self.density.setRange(0, 10) - self.density.setValue(clouds.density) + if clouds: + self.density.setValue(clouds.density) self.density.valueChanged.connect(self.on_slider_change) self.addWidget(self.density, 1) diff --git a/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py b/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py index 2838f856..5aa3c40c 100644 --- a/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py +++ b/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py @@ -10,7 +10,7 @@ from game.weather.clouds import Clouds class DcsCloudThicknessSelector(QHBoxLayout): M2FT_FACTOR = 3.2808399 - def __init__(self, clouds: Clouds) -> None: + def __init__(self, clouds: Optional[Clouds]) -> None: super().__init__() self.unit_changing = False @@ -19,7 +19,8 @@ class DcsCloudThicknessSelector(QHBoxLayout): self.thickness = QSlider(Qt.Orientation.Horizontal) self.thickness.setRange(200, 2000) - self.thickness.setValue(clouds.thickness) + if clouds: + self.thickness.setValue(clouds.thickness) self.thickness.valueChanged.connect(self.on_slider_change) self.addWidget(self.thickness, 1) From d0a1a01b123ff4dfa299e668588257cb0b06b2a1 Mon Sep 17 00:00:00 2001 From: Raffson Date: Mon, 1 Jul 2024 21:39:12 +0200 Subject: [PATCH 27/32] Add last guard for weather selector, I hope... --- qt_ui/widgets/conditions/DcsPrecipitationSelector.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qt_ui/widgets/conditions/DcsPrecipitationSelector.py b/qt_ui/widgets/conditions/DcsPrecipitationSelector.py index f8b93d8e..b188dfeb 100644 --- a/qt_ui/widgets/conditions/DcsPrecipitationSelector.py +++ b/qt_ui/widgets/conditions/DcsPrecipitationSelector.py @@ -18,7 +18,8 @@ class DcsPrecipitationSelector(QHBoxLayout): for p in PydcsWeather.Preceptions: self.selector.addItem(p.name.replace("_", ""), p) - self.selector.setCurrentText(clouds.precipitation.name.replace("_", "")) + if clouds: + self.selector.setCurrentText(clouds.precipitation.name.replace("_", "")) self.addWidget(self.selector, 1) def update_ui(self, preset: Optional[CloudPreset]) -> None: From d84a0ebc787f2cd596099bf00eb6ef271dfaddf3 Mon Sep 17 00:00:00 2001 From: Turbolious <39207917+Turbolious@users.noreply.github.com> Date: Mon, 1 Jul 2024 14:43:17 -0500 Subject: [PATCH 28/32] Support for Carsten's Arty Spotter script (#357) * Added Cartsens Arty Script * Added Options to Arty script Added all options and for configuration. * Carstens Arty Spotter with options * Finishing touch --------- Co-authored-by: Raffson --- README.md | 1 + changelog.md | 3 +- .../plugins/arty/CG_ArtySpotter_V1_2a_MP.lua | 723 ++++++++++++++++++ resources/plugins/arty/arty-config.lua | 22 + resources/plugins/arty/plugin.json | 38 + resources/plugins/plugins.json | 1 + 6 files changed, 787 insertions(+), 1 deletion(-) create mode 100644 resources/plugins/arty/CG_ArtySpotter_V1_2a_MP.lua create mode 100644 resources/plugins/arty/arty-config.lua create mode 100644 resources/plugins/arty/plugin.json diff --git a/README.md b/README.md index 1da6ca5f..1556d48d 100644 --- a/README.md +++ b/README.md @@ -90,5 +90,6 @@ Excellent lua scripts DCS Liberation/Retribution uses as plugins: * For the JTAC feature, DCS Retribution embeds Ciribob's JTAC Autolase [script](https://github.com/ciribob/DCS-JTACAutoLaze). * Walder's [Skynet-IADS](https://github.com/walder/Skynet-IADS) is used for Integrated Air Defense System. +* Carstens Arty Spotter https://www.digitalcombatsimulator.com/en/files/3339128/ is an amazing force multiplyer to drop the hammer on enemies. Please also show some support to these projects ! diff --git a/changelog.md b/changelog.md index 5729dd90..1c696026 100644 --- a/changelog.md +++ b/changelog.md @@ -20,7 +20,8 @@ * **[UX]** Allow changing squadrons in flight's edit dialog * **[Cheats]** Sink/Resurrect carriers instead of showing an error during cheat-capture (use AWCD-cheat to add squadrons upon resurrection) * **[UI/UX]** Allow changing conditions such as Time, Date & Weather -* * **[Modding]** Added support for Su-15 Flagon mod (v1.0) +* **[Modding]** Added support for Su-15 Flagon mod (v1.0) +* **[Plugins]** Support for Carsten's Arty Spotter script ## Fixes * **[UI/UX]** A-10A flights can be edited again diff --git a/resources/plugins/arty/CG_ArtySpotter_V1_2a_MP.lua b/resources/plugins/arty/CG_ArtySpotter_V1_2a_MP.lua new file mode 100644 index 00000000..880af5ec --- /dev/null +++ b/resources/plugins/arty/CG_ArtySpotter_V1_2a_MP.lua @@ -0,0 +1,723 @@ +-- Artillery Spotter script - Multiplayer version +-- by Carsten Gurk aka Don Rudi + +-- Map for passing settings from Retribution +cg_arty_options = { + ["user_fireDelay"] = 10, + ["user_quantity"] = 20, + ["user_spread"] = 50, + ["user_spottingDistance"] = 15, +} + +local version = "MP 1.2" + +-- User configurable variables + +local user_fireDelay = cg_arty_options.user_fireDelay -- time to impcat of the rounds +local user_quantity = cg_arty_options.user_quantity -- how many rounds will be fired in a fire for effect task +local user_spread = cg_arty_options.user_spread -- impact radius of the rounds during fire for effect +local user_spottingDistance = cg_arty_options.user_spottingDistance -- max allowable distance from player to target to prevent cheating. In kilometers. +local user_restrictByType = "" -- Restriction by type ("", "helo", etc.) +local user_restrictByUnitName = "" -- Restriction by unit name ("", "spotter", etc.), not case sensitive +local user_markerPrefix = "" -- Prefix for marker text, for instance "#arty" + +-- end of user block + +-- Script variables + +local SINGLE_ROUND = false -- pilot called single round on marker (from F10 menu) + +local artyCall = 0 -- pilot called arty (from F10 menu) +local artyRadius = user_spread -- Artillery Radius +local adjustRadius = 20 -- fire adjustment +local quantity = 1 -- Rounds expanded +local quantity_effect = user_quantity -- Rounds expanded during fire for effect +local tntEquivalent = 12 -- TNT equivalent for explosion +local fireDelay = user_fireDelay -- delay til artillery fires in seconds + +local firstShotFired = true + +local markerSet = false + +local pos = { x = 0, y = 0, z = 0 } +local playerPos = { x = 0, y = 0, z = 0 } + +local target = {} + +local adjustX = 0 +local adjustZ = 0 + +local adjustDistance = 0 -- Adjust fire (from F10 menu) +local adjustDirection = 0 -- Adjust fire (from F10 menu) + +local position = "" + +local markerText = "" + +local artyTasks = {} + +local menuItems = false + +-- optional arty enabled user flag, for use in triggers, if the player wants to + +trigger.action.setUserFlag( "artyEnabled", 1 ) + + +-- select format of target coordinates MGRS or LAT/LONG + +local outputFormat = "MGRS" +--local outputFormat = "LL" + + +-- set values selected by player through F10 menu + +local function setValue( _valueType, _value, _initiatorName ) + + if _valueType == "arty" then + + artyCall = _value + + end + + if _valueType == "dist" then + + adjustDistance = _value + + trigger.action.outText("Fire adjusted by "..adjustDistance.." meters", 10) + + end + + if _valueType == "dir" then + + adjustDirection = _value + + end + + artyAction( _initiatorName ) + +end + + +-- Function to add F10 menu items for a specific group and store references + +local function addMenuItems(groupId, initiatorName) + + menuItems = true + + local artyTask = artyTasks[initiatorName] + + artyTask.ArtyMenu = missionCommands.addSubMenuForGroup(groupId, 'Artillery Commands') + artyTask.AdjustDistance = missionCommands.addSubMenuForGroup(groupId, 'Adjust distance', artyTask.ArtyMenu) + artyTask.AdjustDirection = missionCommands.addSubMenuForGroup(groupId, 'Adjust direction', artyTask.ArtyMenu) + + artyTask.commands = {} + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'request single round', artyTask.ArtyMenu, function() setValue("arty", 1, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'request fire for effect', artyTask.ArtyMenu, function() setValue("arty", 2, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire by 20m', artyTask.AdjustDistance, function() setValue("dist", 20, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire by 50m', artyTask.AdjustDistance, function() setValue("dist", 50, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire by 100m', artyTask.AdjustDistance, function() setValue("dist", 100, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire by 200m', artyTask.AdjustDistance, function() setValue("dist", 200, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire by 500m', artyTask.AdjustDistance, function() setValue("dist", 500, initiatorName) end) + + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire North', artyTask.AdjustDirection, function() setValue("dir", 360, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire North-East', artyTask.AdjustDirection, function() setValue("dir", 45, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire East', artyTask.AdjustDirection, function() setValue("dir", 90, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire South-East', artyTask.AdjustDirection, function() setValue("dir", 135, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire South', artyTask.AdjustDirection, function() setValue("dir", 180, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire South-West', artyTask.AdjustDirection, function() setValue("dir", 225, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire West', artyTask.AdjustDirection, function() setValue("dir", 270, initiatorName) end) + artyTask.commands[#artyTask.commands + 1] = missionCommands.addCommandForGroup(groupId, 'adjust fire North-West', artyTask.AdjustDirection, function() setValue("dir", 315, initiatorName) end) +end + +-- Function to remove F10 menu items for a specific group + +local function removeMenuItems(initiatorName) + + local artyTask = artyTasks[initiatorName] + + if artyTask then + + for _, command in ipairs(artyTask.commands) do + missionCommands.removeItemForGroup(artyTasks[initiatorName].groupID, command) + end + missionCommands.removeItemForGroup(artyTasks[initiatorName].groupID, artyTask.AdjustDistance) + missionCommands.removeItemForGroup(artyTasks[initiatorName].groupID, artyTask.AdjustDirection) + missionCommands.removeItemForGroup(artyTasks[initiatorName].groupID, artyTask.ArtyMenu) + end + + menuItems = false + +end + +-- Calculate distance + +local function getDist(_point1, _point2) + + local xUnit = _point1.x + local yUnit = _point1.z + local xZone = _point2.x + local yZone = _point2.z + + local xDiff = xUnit - xZone + local yDiff = yUnit - yZone + + return math.sqrt(xDiff * xDiff + yDiff * yDiff) + +end + +-- Shelling Zone + +local function shellZone ( _initiatorName ) + + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Arty Task Created - fire incoming "..quantity.." rounds", 10) + + if artyCall == 1 then + artyRadius = 5 + else + artyRadius = 50 + end + + local _shellPos = artyTasks[_initiatorName].pos + + if firstShotFired == true then + _shellPos.x = _shellPos.x + adjustX + _shellPos.y = _shellPos.y + _shellPos.z = _shellPos.z + adjustZ + end + + for i = 1, quantity do + + -- Create a random offset within the given radius + + local randomX = math.random(-artyRadius, artyRadius) + local randomZ = math.random(-artyRadius, artyRadius) + + local strikePos = { + x = _shellPos.x + randomX, + y = _shellPos.y, + z = _shellPos.z + randomZ + } + + -- Delay the shelling by 1 second for each shell + + timer.scheduleFunction(function() + trigger.action.explosion(strikePos, tntEquivalent) -- Create an explosion at the target position with a predefined power + end, {}, timer.getTime() + i) + end + + --[[ + if firstShotFired == false then + addMenuItems () + firstShotFired = true + end + ]]-- + +end + +-- MGRS conversion to LL to x,z + +local function convertMGRStoPos ( _mrgs ) + + local lat, lon = coord.MGRStoLL( _mgrs ) + local markerPos = coord.LLtoLO( lat, lon, 0 ) + return markerPos + +end + +-- x,z coordinates conversion to LAT/LONG and MGRS + +local function convertPos2Coord ( _pos, _reply ) + + local lat, lon, alt = coord.LOtoLL (_pos) + local lat_degrees = math.floor (lat) + local lat_minutes = (60 * (lat - lat_degrees)) + local lat_seconds = math.floor(60 * (lat_minutes - math.floor(lat_minutes))) + lat_minutes = math.floor(lat_minutes) + + local lon_degrees = math.floor (lon) + local lon_minutes = (60 * (lon - lon_degrees)) + local lon_seconds = math.floor (60 * (lon_minutes - math.floor(lon_minutes))) + lon_minutes = math.floor(lon_minutes) + + local coordStringLL = "N" .. lat_degrees .. " " .. lat_minutes .. " " ..lat_seconds.. " E".. lon_degrees .. " " .. lon_minutes .. " ".. lon_seconds + + local targetMGRS = coord.LLtoMGRS(lat, lon) + targetMGRS.Easting = math.floor (( targetMGRS.Easting /10 ) + 0.5 ) + targetMGRS.Northing = math.floor (( targetMGRS.Northing / 10 ) + 0.5 ) + --local coordStringMGRS = targetMGRS.UTMZone.." "..targetMGRS.MGRSDigraph.." "..string.sub(targetMGRS.Easting, 1, -2).." "..string.sub(targetMGRS.Northing, 1, -2) + local coordStringMGRS = targetMGRS.UTMZone.." "..targetMGRS.MGRSDigraph.." "..targetMGRS.Easting.." "..targetMGRS.Northing + + if outputFormat == "MGRS" then + coordString = coordStringMGRS + else + coordString = coordStringLL + end + + -- return either formated string or MGRS coordinate + + if _reply == "string" then + return coordString + elseif _reply == "pos" then + return targetMGRS + end +end + +-- Who is the player + +-- Function to determine which unit is controlled by the player +--[[ +local function getPlayerControlledUnit() + + local playerUnit = nil + + -- Iterate through all coalitions and their respective player units + + for coalitionID = 1, 2 do -- 1 = Red, 2 = Blue + local playerUnits = coalition.getPlayers(coalitionID) + for _, unit in ipairs(playerUnits) do + if unit and unit:getPlayerName() then + playerUnit = unit + break + end + end + if playerUnit then + break + end + end + + return playerUnit +end +]]-- + +-- Check if user has created F10 map marker + +artyAction = function ( _initiatorName ) + + -- Check Call for arty - 1 = single round, 2 = fire for effect + + if artyCall == 1 or artyCall == 2 then + + if MARKER_FOUND == true and artyTasks[_initiatorName] then + + -- check if target is within 15km from player + + --trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Arty action marker found.", 10) + + --local _player = _initiator + local _playerPos = artyTasks[_initiatorName].playerPos + local _targetPos = artyTasks[_initiatorName].pos + + local _dist = math.floor( getDist ( _targetPos, _playerPos ) / 10 ) / 100 + + if trigger.misc.getUserFlag( "artyEnabled" ) == 1 and _dist <= user_spottingDistance then + + position = convertPos2Coord ( _targetPos, "string" ) + + if artyCall == 1 then + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Arty single round requested on "..position, 10) + quantity = 1 + + elseif artyCall == 2 then + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Arty fire for effect requested on "..position, 10) + quantity = quantity_effect + end + + timer.scheduleFunction(shellZone, _initiatorName, timer.getTime() + fireDelay) + trigger.action.setUserFlag( "artyFired", 1 ) + + else + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Artillery not available", 10) + end + + else + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Arty Requested Without Marker", 10) + end + + artyCall = 0 + + end + + -- Check Call for arty direction correction + + if adjustDirection == 360 then + + adjustX = adjustDistance + adjustZ = 0 + artyRadius = 5 + + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Fire adjusted to the North", 10) + + adjustDirection = 0 + end + + if adjustDirection == 45 then + + adjustX = adjustDistance + adjustZ = adjustDistance + artyRadius = 5 + + adjustDirection = 0 + end + + if adjustDirection == 90 then + + adjustX = 0 + adjustZ = adjustDistance + artyRadius = 5 + + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Fire adjusted to the East", 10) + + adjustDirection = 0 + end + + if adjustDirection == 135 then + + adjustX = -adjustDistance + adjustZ = adjustDistance + artyRadius = 5 + + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Fire adjusted to the South-East", 10) + + adjustDirection = 0 + end + + if adjustDirection == 180 then + + adjustX = -adjustDistance + adjustZ = 0 + artyRadius = 5 + + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Fire adjusted to the South", 10) + + adjustDirection = 0 + end + + if adjustDirection == 225 then + + adjustX = -adjustDistance + adjustZ = -adjustDistance + artyRadius = 5 + + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Fire adjusted to the South-West", 10) + + adjustDirection = 0 + end + + if adjustDirection == 270 then + + adjustX = 0 + adjustZ = -adjustDistance + artyRadius = 5 + + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Fire adjusted meters to the West", 10) + + adjustDirection = 0 + end + + if adjustDirection == 315 then + + adjustX = adjustDistance + adjustZ = -adjustDistance + artyRadius = 5 + + trigger.action.outTextForUnit( artyTasks[_initiatorName].unitID, "Fire adjusted meters to the North-West", 10) + + adjustDirection = 0 + end + +end + +-- Main + +trigger.action.outText("Arty spotter script "..version.." loaded", 10) + + +-- Map Marker Text - read and process + +-- Function to remove spaces from a string + +local function removeSpaces( _text ) + + _text = _text:gsub( " ", "" ) + _text = _text:gsub( "-", "" ) + return _text + +end + +-- Function to validate the structure of the MGRS coordinate + +local function checkValidMGRS( _mgrs, len) + + if len == 13 then + + -- Pattern: 2 digits 1 letter UTM Zone, 2 letters MGRS Digraph, 4 digits Easting, 4 digits Northing + return _mgrs:match("^%d%d%u%u%u%d%d%d%d%d%d%d%d$") + + elseif len == 10 then + + -- Pattern: 2 letters MGRS Digraph, 4 digits Easting, 4 digits Northing + return _mgrs:match("^%u%u%d%d%d%d%d%d%d%d$") + + elseif len == 8 then + + -- Pattern: 4 digits Easting, 4 digits Northing + return _mgrs:match("^%d%d%d%d%d%d%d%d$") + + else + return false + end +end + +-- Function to validate and complete MGRS coordinates + +local function processMGRS( _text, _playerPos, initiatorName ) + local _cleanedText = string.upper( removeSpaces( _text ) ) + local len = #_cleanedText + + local _isValidMGRS = checkValidMGRS( _cleanedText, len) + + if _isValidMGRS then + + trigger.action.outTextForUnit( artyTasks[initiatorName].unitID, "Processing MGRS: " .. _cleanedText, 10) + + if len == 13 then + + -- Complete MGRS coordinate + return _cleanedText + + elseif len == 10 then + + -- Add UTM Zone based on player position + local _utmZone = coord.LLtoMGRS(_playerPos.Lat, _playerPos.Lon).UTMZone + return _utmZone .. _cleanedText + + elseif len == 8 then + + -- Add UTM Zone and MGRS Digraph based on player position + local _mgrs = coord.LLtoMGRS( _playerPos.Lat, _playerPos.Lon ) + return _mgrs.UTMZone .. _mgrs.MGRSDigraph .. _cleanedText + + else + + -- Invalid MGRS coordinate + return nil + end + + else + + trigger.action.outTextForUnit( artyTasks[initiatorName].unitID, "Invalid text input: " .. _cleanedText, 10) + return nil + + end + + +end + +-- Function to convert a valid MGRS to vec3 +local function MGRStoVec3( _mgrs ) + + local lat, lon = coord.MGRStoLL( _mgrs ) + local vec3 = coord.LLtoLO( lat, lon, 0 ) + return vec3 +end + +-- Function to check if the initiator is valid based on restrictions + +local function isValidInitiator(initiator) + if not initiator then return false end + + -- Check type restriction + + if user_restrictByType == "helo" then + + if not initiator:getDesc().category == Unit.Category.Helicopter then + return false + end + end + + -- Check name restriction + + if user_restrictByUnitName ~= "" then + + local name = initiator:getName():lower() + + if not name:find(user_restrictByUnitName:lower()) then + return false + end + end + + return true +end + +-- Function to check if the marker text has the required prefix and remove it + +local function checkAndRemovePrefix(text) + + if user_markerPrefix ~= "" and text:sub(1, #user_markerPrefix) == user_markerPrefix then + + return true, text:sub(#user_markerPrefix + 1) + + elseif user_markerPrefix == "" then + + return true, text + + else + + return false, text + + end + +end + + +-- Event handler for map marker creation +local function onPlayerAddMarker(event) + + + if event.id == world.event.S_EVENT_MARK_ADDED and user_markerPrefix == "" then + + if isValidInitiator(event.initiator) then + + --local hasPrefix, cleanedText = checkAndRemovePrefix(event.text) + hasPrefix = true + + if hasPrefix then + + MARKER_FOUND = true + pos = event.pos + + if event.initiator then + + local initiatorName = event.initiator:getName() + + local playerUnit = event.initiator + local playerPos = playerUnit:getPoint() + + -- Store position + + if not artyTasks[initiatorName] then + artyTasks[initiatorName] = {} + end + + trigger.action.outTextForUnit( event.initiator:getID(), "Marker added", 5) + + artyTasks[initiatorName].playerPos = playerPos + artyTasks[initiatorName].pos = pos + artyTasks[initiatorName].unitID = event.initiator:getID() + + -- Add menu items for the initiator's group + local groupId = event.initiator:getGroup():getID() + artyTasks[initiatorName].groupID = groupId + + if menuItems == false then + addMenuItems(groupId, initiatorName) + end + + end + + end + + else + --trigger.action.outText("You do not have permission to add a marker.", 5) + end + + elseif event.id == world.event.S_EVENT_MARK_CHANGE then + + if isValidInitiator(event.initiator) then + + local hasPrefix, cleanedText = checkAndRemovePrefix(event.text) + + if hasPrefix then + + MARKER_FOUND = true + + local markText = cleanedText + + trigger.action.outText("Text: "..markText, 10) + + if markText and event.initiator then + + local initiatorName = event.initiator:getName() + local playerUnit = event.initiator + + if not artyTasks[initiatorName] then + artyTasks[initiatorName] = {} + end + + artyTasks[initiatorName].initiator = event.initiator + artyTasks[initiatorName].unitID = event.initiator:getID() + + trigger.action.outTextForUnit( event.initiator:getID(), "Marker changed", 5) + + if playerUnit then + + local playerPos = playerUnit:getPoint() + local lat, lon = coord.LOtoLL(playerPos) + local playerPosition = { Lat = lat, Lon = lon } + local validMGRS = processMGRS(markText, playerPosition, initiatorName) + + if validMGRS then + + trigger.action.outTextForUnit( artyTasks[initiatorName].unitID, "Valid MGRS: " .. validMGRS, 10) + + local tmpMGRS = { + UTMZone = string.sub(validMGRS, 1, 3), + MGRSDigraph = string.sub(validMGRS, 4, 5), + Easting = tonumber(string.sub(validMGRS, 6, 9)) * 10, + Northing = tonumber(string.sub(validMGRS, 10, 13)) * 10 + } + + local targetPoint = MGRStoVec3(tmpMGRS) + targetPoint.y = land.getHeight({ x = targetPoint.x, y = targetPoint.z }) + + + artyTasks[initiatorName].pos = targetPoint + artyTasks[initiatorName].playerPos = playerPos + + + else + trigger.action.outTextForUnit( artyTasks[initiatorName].unitID, "Invalid MGRS coordinate entered.", 10) + end + + local groupId = event.initiator:getGroup():getID() + artyTasks[initiatorName].groupID = groupId + + if menuItems == false then + addMenuItems(groupId, initiatorName) + end + end + end + end + else + --trigger.action.outText("You do not have permission to change this marker.", 5) + end + + elseif event.id == world.event.S_EVENT_MARK_REMOVED then + + trigger.action.outText("Marker removed", 5) + + if event.initiator then + + local initiatorName = event.initiator:getName() + + if artyTasks[initiatorName] then + + removeMenuItems(initiatorName) + artyTasks[initiatorName] = nil + + end + + end + end +end + +-- Register the event handler +local eventHandler = { f = onPlayerAddMarker } +function eventHandler:onEvent(e) + self.f(e) +end +world.addEventHandler(eventHandler) + + + + diff --git a/resources/plugins/arty/arty-config.lua b/resources/plugins/arty/arty-config.lua new file mode 100644 index 00000000..4297ea0c --- /dev/null +++ b/resources/plugins/arty/arty-config.lua @@ -0,0 +1,22 @@ +------------------------------------------------------------------------------------------------------------------------------------------------------------- +-- configuration file for Carsten's Arty Spotter Plugin +-- +-- This configuration is tailored for a mission generated by DCS Retribution +-- see https://github.com/dcs-retribution/dcs-retribution +------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +-- arty plugin - configuration +if dcsRetribution then + -- retrieve specific options values + if dcsRetribution.plugins then + if dcsRetribution.plugins.arty then + env.info("DCSRetribution|Carsten's Arty Spotter plugin - Setting Up") + + cg_arty_options.user_fireDelay = dcsRetribution.plugins.arty.user_fireDelay + cg_arty_options.user_quantity = dcsRetribution.plugins.arty.user_quantity + cg_arty_options.user_spread = dcsRetribution.plugins.arty.user_spread + cg_arty_options.user_spottingDistance = dcsRetribution.plugins.arty.user_spottingDistance + end + end +end diff --git a/resources/plugins/arty/plugin.json b/resources/plugins/arty/plugin.json new file mode 100644 index 00000000..8b34ec1f --- /dev/null +++ b/resources/plugins/arty/plugin.json @@ -0,0 +1,38 @@ +{ + "nameInUI": "Carsten's Arty Spotter", + "defaultValue": false, + "specificOptions": [ + { + "nameInUI": "Time to impcat of the rounds", + "mnemonic": "user_fireDelay", + "defaultValue": 15 + }, + { + "nameInUI": "Salvo quantity", + "mnemonic": "user_quantity", + "defaultValue": 5 + }, + { + "nameInUI": "Impact radius", + "mnemonic": "user_spread", + "defaultValue": 150 + }, + { + "nameInUI": "Max spotting distance. In kilometers.", + "mnemonic": "user_spottingDistance", + "defaultValue": 15 + } + ], + "scriptsWorkOrders": [ + { + "file": "CG_ArtySpotter_V1_2a_MP.lua", + "mnemonic": "arty" + } + ], + "configurationWorkOrders": [ + { + "file": "arty-config.lua", + "mnemonic": "arty-config" + } + ] +} \ No newline at end of file diff --git a/resources/plugins/plugins.json b/resources/plugins/plugins.json index 31e55c1f..aeafbac8 100644 --- a/resources/plugins/plugins.json +++ b/resources/plugins/plugins.json @@ -1,6 +1,7 @@ [ "base", "ctld", + "arty", "dismounts", "ewrj", "ewrs", From 07cc85f6fa9ebc11da5787f1c9de8f19a47d5586 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Mon, 1 Jul 2024 23:26:50 +0300 Subject: [PATCH 29/32] Large aircraft ground spawns (#237) * Large aircraft ground spawns Added the ability to add separate ground spawns for C-130 and other large aircraft to campaigns. Implemented on @holyorangejuice 's request. Large aircraft ground spawns are added to the campaign by placing a C-130 on the ramp, just like an A-10 or AJS37 previously. Note: use the stock DCS C-130, so the campaign miz can be safely opened without the C-130 mod (or any other mod) installed. Not the C-130J player-flyable transport, not the KC-130J tanker included in the UH-60L mod etc. Large planes (wingspan more than 40 meters, such as the C-130): - First try spawning on large ground spawns - Then try the regular airfield ramp spawns Below 40 meter wingspan aircraft: - First try spawning on regular or roadbase ground spawns - Then try the regular airfield ramp spawns - Then, if both of the above fail, use the large ground spawns * Specify explicit black version 23.9.1 to fix lint error. * Update lint.yml --------- Co-authored-by: Raffson --- changelog.md | 1 + game/campaignloader/mizcampaignloader.py | 13 +- .../aircraft/aircraftgenerator.py | 4 + .../aircraft/flightgroupspawner.py | 139 +++++++++++++----- game/missiongenerator/missiongenerator.py | 1 + game/missiongenerator/tgogenerator.py | 130 +++++++++++++++- game/theater/controlpoint.py | 25 +++- 7 files changed, 267 insertions(+), 46 deletions(-) diff --git a/changelog.md b/changelog.md index 1c696026..df7f38cc 100644 --- a/changelog.md +++ b/changelog.md @@ -80,6 +80,7 @@ * **[Mission Generator]** Set F-14's IP waypoint according to the flight-plan's ingress point * **[Mission Generator]** Automatically de-spawn aircraft when arrival/divert is an off-map spawn * **[Options]** Option to de-spawn AI flights in the air if their start-type was manually set to In-Flight +* **[Campaign Design]** Ability to add separate ground spawns for C-130 and other large aircraft to campaigns. * **[Config]** Preference setting to use custom Liberation payloads instead of prioritizing Retribution's default * **[Config]** Preference setting to configure the server-port on which Retribution's back-end will run * **[Options]** Made AI jettisoning empty fuel tanks optional (disabled by default) diff --git a/game/campaignloader/mizcampaignloader.py b/game/campaignloader/mizcampaignloader.py index 1dcc028c..76737a33 100644 --- a/game/campaignloader/mizcampaignloader.py +++ b/game/campaignloader/mizcampaignloader.py @@ -9,7 +9,7 @@ from uuid import UUID from dcs import Mission from dcs.countries import CombinedJointTaskForcesBlue, CombinedJointTaskForcesRed from dcs.country import Country -from dcs.planes import F_15C, A_10A, AJS37 +from dcs.planes import F_15C, A_10A, AJS37, C_130 from dcs.ships import HandyWind, LHA_Tarawa, Stennis, USS_Arleigh_Burke_IIa from dcs.statics import Fortification, Warehouse from dcs.terrain import Airport @@ -43,6 +43,7 @@ class MizCampaignLoader: OFF_MAP_UNIT_TYPE = F_15C.id GROUND_SPAWN_UNIT_TYPE = A_10A.id GROUND_SPAWN_ROADBASE_UNIT_TYPE = AJS37.id + GROUND_SPAWN_LARGE_UNIT_TYPE = C_130.id CV_UNIT_TYPE = Stennis.id LHA_UNIT_TYPE = LHA_Tarawa.id @@ -237,6 +238,12 @@ class MizCampaignLoader: if group.units[0].type == self.GROUND_SPAWN_ROADBASE_UNIT_TYPE: yield group + @property + def ground_spawns_large(self) -> Iterator[PlaneGroup]: + for group in itertools.chain(self.blue.plane_group, self.red.plane_group): + if group.units[0].type == self.GROUND_SPAWN_LARGE_UNIT_TYPE: + yield group + @property def ground_spawns(self) -> Iterator[PlaneGroup]: for group in itertools.chain(self.blue.plane_group, self.red.plane_group): @@ -536,6 +543,10 @@ class MizCampaignLoader: closest, distance = self.objective_info(plane_group) self._add_ground_spawn(closest.ground_spawns_roadbase, plane_group) + for plane_group in self.ground_spawns_large: + closest, distance = self.objective_info(plane_group) + self._add_ground_spawn(closest.ground_spawns_large, plane_group) + for plane_group in self.ground_spawns: closest, distance = self.objective_info(plane_group) self._add_ground_spawn(closest.ground_spawns, plane_group) diff --git a/game/missiongenerator/aircraft/aircraftgenerator.py b/game/missiongenerator/aircraft/aircraftgenerator.py index 63179163..0370b9bb 100644 --- a/game/missiongenerator/aircraft/aircraftgenerator.py +++ b/game/missiongenerator/aircraft/aircraftgenerator.py @@ -56,6 +56,7 @@ class AircraftGenerator: mission_data: MissionData, helipads: dict[ControlPoint, list[StaticGroup]], ground_spawns_roadbase: dict[ControlPoint, list[Tuple[StaticGroup, Point]]], + ground_spawns_large: dict[ControlPoint, list[Tuple[StaticGroup, Point]]], ground_spawns: dict[ControlPoint, list[Tuple[StaticGroup, Point]]], ) -> None: self.mission = mission @@ -69,6 +70,7 @@ class AircraftGenerator: self.mission_data = mission_data self.helipads = helipads self.ground_spawns_roadbase = ground_spawns_roadbase + self.ground_spawns_large = ground_spawns_large self.ground_spawns = ground_spawns self.ewrj_package_dict: Dict[int, List[FlyingGroup[Any]]] = {} @@ -208,6 +210,7 @@ class AircraftGenerator: self.mission, self.helipads, self.ground_spawns_roadbase, + self.ground_spawns_large, self.ground_spawns, self.mission_data, ).create_idle_aircraft() @@ -239,6 +242,7 @@ class AircraftGenerator: self.mission, self.helipads, self.ground_spawns_roadbase, + self.ground_spawns_large, self.ground_spawns, self.mission_data, ).create_flight_group() diff --git a/game/missiongenerator/aircraft/flightgroupspawner.py b/game/missiongenerator/aircraft/flightgroupspawner.py index 40f00cd5..dfd50248 100644 --- a/game/missiongenerator/aircraft/flightgroupspawner.py +++ b/game/missiongenerator/aircraft/flightgroupspawner.py @@ -66,6 +66,7 @@ class FlightGroupSpawner: mission: Mission, helipads: dict[ControlPoint, list[StaticGroup]], ground_spawns_roadbase: dict[ControlPoint, list[Tuple[StaticGroup, Point]]], + ground_spawns_large: dict[ControlPoint, list[Tuple[StaticGroup, Point]]], ground_spawns: dict[ControlPoint, list[Tuple[StaticGroup, Point]]], mission_data: MissionData, ) -> None: @@ -74,6 +75,7 @@ class FlightGroupSpawner: self.mission = mission self.helipads = helipads self.ground_spawns_roadbase = ground_spawns_roadbase + self.ground_spawns_large = ground_spawns_large self.ground_spawns = ground_spawns self.mission_data = mission_data @@ -177,6 +179,8 @@ class FlightGroupSpawner: raise RuntimeError( f"Cannot spawn fixed-wing aircraft at {cp} because of insufficient ground spawn slots." ) + is_large = self.flight.unit_type.dcs_unit_type.width > 40 + pilot_count = len(self.flight.roster.members) if ( not is_heli @@ -192,10 +196,18 @@ class FlightGroupSpawner: pad_group = self._generate_at_cp_helipad(name, cp) if pad_group is not None: return pad_group + if cp.has_ground_spawns and self.flight.client_count > 0 and is_large: + pad_group = self._generate_at_cp_ground_spawn(name, cp, is_large) + if pad_group is not None: + return pad_group if cp.has_ground_spawns and (self.flight.client_count > 0 or is_heli): pad_group = self._generate_at_cp_ground_spawn(name, cp) if pad_group is not None: return pad_group + else: + pad_group = self._generate_at_cp_ground_spawn(name, cp, True) + if pad_group is not None: + return pad_group return self._generate_over_departure(name, cp) elif isinstance(cp, Airfield): is_heli = self.flight.squadron.aircraft.helicopter @@ -203,6 +215,35 @@ class FlightGroupSpawner: pad_group = self._generate_at_cp_helipad(name, cp) if pad_group is not None: return pad_group + # Large planes (wingspan more than 40 meters, looking at you, C-130) + # First try spawning on large ground spawns + # Then try the regular airfield ramp spawns + is_large = self.flight.unit_type.dcs_unit_type.width > 40 + if ( + cp.has_ground_spawns + and is_large + and len(self.ground_spawns_large[cp]) >= self.flight.count + and (self.flight.client_count > 0) + ): + pad_group = self._generate_at_cp_ground_spawn(name, cp, is_large) + if pad_group is not None: + return pad_group + # Below 40 meter wingspan aircraft + # First try spawning on regular or roadbase ground spawns + # Then try the regular airfield ramp spawns + # Then, if both of the above fail, use the large ground spawns + if ( + cp.has_ground_spawns + and len(self.ground_spawns[cp]) + + len(self.ground_spawns_roadbase[cp]) + + len(self.ground_spawns_large[cp]) + >= self.flight.count + and (self.flight.client_count > 0 or is_heli) + ): + pad_group = self._generate_at_cp_ground_spawn(name, cp) + if pad_group is not None: + return pad_group + if ( cp.has_ground_spawns and len(self.ground_spawns[cp]) @@ -213,33 +254,45 @@ class FlightGroupSpawner: pad_group = self._generate_at_cp_ground_spawn(name, cp) if pad_group is not None: return pad_group - - # TODO: get rid of the nevatim hack once fixed in DCS... - if self._check_nevatim_hack(cp): - slots = [ - slot - for slot in cp.dcs_airport.free_parking_slots( - self.flight.squadron.aircraft.dcs_unit_type - ) - if slot.slot_name in [str(n) for n in range(55, 66)] - ] - return self._generate_at_airfield(name, cp, slots) - elif self._check_ramon_airbase_hack(cp): - # TODO: get rid of the ramon airbase hack once fixed in DCS... - slots = [ - slot - for slot in cp.dcs_airport.free_parking_slots( - self.flight.squadron.aircraft.dcs_unit_type - ) - if slot.slot_name - not in [ - str(n) - for n in [1, 2, 3, 4, 5, 6, 13, 14, 15, 16, 17, 18, 61] + try: + # TODO: get rid of the nevatim hack once fixed in DCS... + if self._check_nevatim_hack(cp): + slots = [ + slot + for slot in cp.dcs_airport.free_parking_slots( + self.flight.squadron.aircraft.dcs_unit_type + ) + if slot.slot_name in [str(n) for n in range(55, 66)] ] - ] - return self._generate_at_airfield(name, cp, slots) - else: - return self._generate_at_airfield(name, cp) + return self._generate_at_airfield(name, cp, slots) + elif self._check_ramon_airbase_hack(cp): + # TODO: get rid of the ramon airbase hack once fixed in DCS... + slots = [ + slot + for slot in cp.dcs_airport.free_parking_slots( + self.flight.squadron.aircraft.dcs_unit_type + ) + if slot.slot_name + not in [ + str(n) + for n in [1, 2, 3, 4, 5, 6, 13, 14, 15, 16, 17, 18, 61] + ] + ] + return self._generate_at_airfield(name, cp, slots) + else: + return self._generate_at_airfield(name, cp) + except NoParkingSlotError: + if ( + cp.has_ground_spawns + and len(self.ground_spawns_large[cp]) >= self.flight.count + and (self.flight.client_count > 0 or is_heli) + ): + pad_group = self._generate_at_cp_ground_spawn(name, cp, True) + if pad_group is not None: + return pad_group + else: + raise NoParkingSlotError + return self._generate_at_airfield(name, cp) else: raise NotImplementedError( f"Aircraft spawn behavior not implemented for {cp} ({cp.__class__})" @@ -439,22 +492,26 @@ class FlightGroupSpawner: return group def _generate_at_cp_ground_spawn( - self, name: str, cp: ControlPoint + self, name: str, cp: ControlPoint, is_large: bool = False ) -> Optional[FlyingGroup[Any]]: is_airbase = False is_roadbase = False try: - if len(self.ground_spawns_roadbase[cp]) > 0: - ground_spawn = self.ground_spawns_roadbase[cp].pop() - is_roadbase = True + if is_large: + if len(self.ground_spawns_large[cp]) > 0: + ground_spawn = self.ground_spawns_large[cp].pop() + is_airbase = True else: - ground_spawn = self.ground_spawns[cp].pop() - is_airbase = True + if len(self.ground_spawns_roadbase[cp]) > 0: + ground_spawn = self.ground_spawns_roadbase[cp].pop() + is_roadbase = True + if len(self.ground_spawns[cp]) > 0: + ground_spawn = self.ground_spawns[cp].pop() + is_airbase = True except IndexError as ex: - logging.warning("Not enough STOL slots available at " + str(ex)) + logging.warning("Not enough ground spawn slots available at " + str(ex)) return None - # raise RuntimeError(f"Not enough STOL slots available at {cp}") from ex group = self._generate_at_group(name, ground_spawn[0]) @@ -490,16 +547,22 @@ class FlightGroupSpawner: for i in range(self.flight.count - 1): try: terrain = cp.coalition.game.theater.terrain - if len(self.ground_spawns_roadbase[cp]) > 0: - ground_spawn = self.ground_spawns_roadbase[cp].pop() + if is_large: + if len(self.ground_spawns_large[cp]) > 0: + ground_spawn = self.ground_spawns_large[cp].pop() else: - ground_spawn = self.ground_spawns[cp].pop() + if len(self.ground_spawns_roadbase[cp]) > 0: + ground_spawn = self.ground_spawns_roadbase[cp].pop() + else: + ground_spawn = self.ground_spawns[cp].pop() group.units[1 + i].position = Point( ground_spawn[0].x, ground_spawn[0].y, terrain=terrain ) group.units[1 + i].heading = ground_spawn[0].units[0].heading except IndexError as ex: - raise RuntimeError(f"Not enough STOL slots available at {cp}") from ex + raise RuntimeError( + f"Not enough ground spawn slots available at {cp}" + ) from ex return group def dcs_start_type(self) -> DcsStartType: diff --git a/game/missiongenerator/missiongenerator.py b/game/missiongenerator/missiongenerator.py index 2a7eebd8..ce13a695 100644 --- a/game/missiongenerator/missiongenerator.py +++ b/game/missiongenerator/missiongenerator.py @@ -249,6 +249,7 @@ class MissionGenerator: mission_data=self.mission_data, helipads=tgo_generator.helipads, ground_spawns_roadbase=tgo_generator.ground_spawns_roadbase, + ground_spawns_large=tgo_generator.ground_spawns_large, ground_spawns=tgo_generator.ground_spawns, ) diff --git a/game/missiongenerator/tgogenerator.py b/game/missiongenerator/tgogenerator.py index 215aaaa4..d8f2c550 100644 --- a/game/missiongenerator/tgogenerator.py +++ b/game/missiongenerator/tgogenerator.py @@ -1007,6 +1007,123 @@ class GroundSpawnRoadbaseGenerator: self.ground_spawns_roadbase = [] +class GroundSpawnLargeGenerator: + """ + Generates STOL aircraft starting positions for given control point + """ + + def __init__( + self, + mission: Mission, + cp: ControlPoint, + game: Game, + radio_registry: RadioRegistry, + tacan_registry: TacanRegistry, + ): + self.m = mission + self.cp = cp + self.game = game + self.radio_registry = radio_registry + self.tacan_registry = tacan_registry + self.ground_spawns_large: list[Tuple[StaticGroup, Point]] = [] + + def create_ground_spawn_large( + self, i: int, vtol_pad: Tuple[PointWithHeading, Point] + ) -> None: + # Note: FARPs are generated as neutral object in order not to interfere with + # capture triggers + neutral_country = self.m.country(self.game.neutral_country.name) + country = self.m.country( + self.game.coalition_for(self.cp.captured).faction.country.name + ) + terrain = self.cp.coalition.game.theater.terrain + + name = f"{self.cp.name} large ground spawn {i}" + logging.info("Generating Large Ground Spawn static : " + name) + + pad = InvisibleFARP(unit_id=self.m.next_unit_id(), name=name, terrain=terrain) + + pad.position = Point(vtol_pad[0].x, vtol_pad[0].y, terrain=terrain) + pad.heading = vtol_pad[0].heading.degrees + sg = unitgroup.StaticGroup(self.m.next_group_id(), name) + sg.add_unit(pad) + sp = StaticPoint(pad.position) + sg.add_point(sp) + neutral_country.add_static_group(sg) + + self.ground_spawns_large.append((sg, vtol_pad[1])) + + # tanker_type: Type[VehicleType] + # ammo_truck_type: Type[VehicleType] + + tanker_type, ammo_truck_type, power_truck_type = farp_truck_types_for_country( + country.id + ) + + # Generate a FARP Ammo and Fuel stack for each pad + if self.game.settings.ground_start_trucks: + self.m.vehicle_group( + country=country, + name=(name + "_fuel"), + _type=tanker_type, + position=pad.position.point_from_heading( + vtol_pad[0].heading.degrees - 175, 45 + ), + group_size=1, + heading=pad.heading + 45, + move_formation=PointAction.OffRoad, + ) + self.m.vehicle_group( + country=country, + name=(name + "_ammo"), + _type=ammo_truck_type, + position=pad.position.point_from_heading( + vtol_pad[0].heading.degrees - 185, 45 + ), + group_size=1, + heading=pad.heading + 45, + move_formation=PointAction.OffRoad, + ) + else: + self.m.static_group( + country=country, + name=(name + "_fuel"), + _type=Fortification.FARP_Fuel_Depot, + position=pad.position.point_from_heading( + vtol_pad[0].heading.degrees - 180, 55 + ), + heading=pad.heading, + ) + self.m.static_group( + country=country, + name=(name + "_ammo"), + _type=Fortification.FARP_Ammo_Dump_Coating, + position=pad.position.point_from_heading( + vtol_pad[0].heading.degrees - 180, 45 + ), + heading=pad.heading + 270, + ) + if self.game.settings.ground_start_ground_power_trucks: + self.m.vehicle_group( + country=country, + name=(name + "_power"), + _type=power_truck_type, + position=pad.position.point_from_heading( + vtol_pad[0].heading.degrees - 185, 45 + ), + group_size=1, + heading=pad.heading + 45, + move_formation=PointAction.OffRoad, + ) + + def generate(self) -> None: + try: + for i, vtol_pad in enumerate(self.cp.ground_spawns_large): + self.create_ground_spawn_large(i, vtol_pad) + except AttributeError: + self.ground_spawns_large = [] + + class GroundSpawnGenerator: """ Generates STOL aircraft starting positions for given control point @@ -1153,6 +1270,9 @@ class TgoGenerator: self.ground_spawns_roadbase: dict[ ControlPoint, list[Tuple[StaticGroup, Point]] ] = defaultdict(list) + self.ground_spawns_large: dict[ + ControlPoint, list[Tuple[StaticGroup, Point]] + ] = defaultdict(list) self.ground_spawns: dict[ ControlPoint, list[Tuple[StaticGroup, Point]] ] = defaultdict(list) @@ -1179,7 +1299,15 @@ class TgoGenerator: ] = ground_spawn_roadbase_gen.ground_spawns_roadbase random.shuffle(self.ground_spawns_roadbase[cp]) - # Generate STOL pads + # Generate Large Ground Spawn slots + ground_large_spawn_gen = GroundSpawnLargeGenerator( + self.m, cp, self.game, self.radio_registry, self.tacan_registry + ) + ground_large_spawn_gen.generate() + self.ground_spawns_large[cp] = ground_large_spawn_gen.ground_spawns_large + random.shuffle(self.ground_spawns_large[cp]) + + # Generate Ground Spawn slots ground_spawn_gen = GroundSpawnGenerator( self.m, cp, self.game, self.radio_registry, self.tacan_registry ) diff --git a/game/theater/controlpoint.py b/game/theater/controlpoint.py index c58e7174..c5fe8801 100644 --- a/game/theater/controlpoint.py +++ b/game/theater/controlpoint.py @@ -390,6 +390,7 @@ class ControlPoint(MissionTarget, SidcDescribable, ABC): self.helipads_quad: List[PointWithHeading] = [] self.helipads_invisible: List[PointWithHeading] = [] self.ground_spawns_roadbase: List[Tuple[PointWithHeading, Point]] = [] + self.ground_spawns_large: List[Tuple[PointWithHeading, Point]] = [] self.ground_spawns: List[Tuple[PointWithHeading, Point]] = [] self._coalition: Optional[Coalition] = None @@ -611,7 +612,12 @@ class ControlPoint(MissionTarget, SidcDescribable, ABC): """ Returns true if cp can operate STOL aircraft """ - return len(self.ground_spawns_roadbase) + len(self.ground_spawns) > 0 + return ( + len(self.ground_spawns_roadbase) + + len(self.ground_spawns_large) + + len(self.ground_spawns) + > 0 + ) def can_recruit_ground_units(self, game: Game) -> bool: """Returns True if this control point is capable of recruiting ground units.""" @@ -1283,6 +1289,7 @@ class Airfield(ControlPoint, CTLD): if parking_type.include_fixed_wing_stol: parking_slots += len(self.ground_spawns) parking_slots += len(self.ground_spawns_roadbase) + parking_slots += len(self.ground_spawns_large) if parking_type.include_fixed_wing: parking_slots += len(self.airport.parking_slots) return parking_slots @@ -1672,13 +1679,19 @@ class Fob(ControlPoint, RadioFrequencyContainer, CTLD): + len(self.helipads_invisible) ) - try: - if parking_type.include_fixed_wing_stol: + if parking_type.include_fixed_wing_stol: + try: parking_slots += len(self.ground_spawns) + except AttributeError: + self.ground_spawns_roadbase = [] + try: parking_slots += len(self.ground_spawns_roadbase) - except AttributeError: - self.ground_spawns_roadbase = [] - self.ground_spawns = [] + except AttributeError: + self.ground_spawns_large = [] + try: + parking_slots += len(self.ground_spawns_large) + except AttributeError: + self.ground_spawns = [] return parking_slots def can_operate(self, aircraft: AircraftType) -> bool: From 02161c02cfadd6f33b5a4d448d95a2603db1b9ae Mon Sep 17 00:00:00 2001 From: Raffson Date: Tue, 2 Jul 2024 18:30:55 +0200 Subject: [PATCH 30/32] Fix another weather selector bug -_- --- qt_ui/widgets/conditions/QWeatherAdjustmentWidget.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/qt_ui/widgets/conditions/QWeatherAdjustmentWidget.py b/qt_ui/widgets/conditions/QWeatherAdjustmentWidget.py index 1fe45ccd..d5ce9498 100644 --- a/qt_ui/widgets/conditions/QWeatherAdjustmentWidget.py +++ b/qt_ui/widgets/conditions/QWeatherAdjustmentWidget.py @@ -43,6 +43,8 @@ class QWeatherAdjustmentWidget(QWidget): label.setMaximumHeight(50) vbox.addWidget(label) + clouds = weather.clouds + hbox = QHBoxLayout() hbox.addWidget(QLabel("Preset")) self.preset_selector = QComboBox() @@ -50,19 +52,15 @@ class QWeatherAdjustmentWidget(QWidget): self.preset_selector.addItem(preset.value.ui_name, preset.value) self.preset_selector.addItem("Custom", None) self.preset_selector.setCurrentText( - weather.clouds.preset.ui_name - if weather.clouds and weather.clouds.preset - else "Custom" + clouds.preset.ui_name if clouds and clouds.preset else "Custom" ) self.preset_selector.currentIndexChanged.connect(self.update_ui) hbox.addWidget(self.preset_selector) vbox.addLayout(hbox) - self.cloud_base = DcsCloudBaseSelector(self.preset_selector.currentData()) + self.cloud_base = DcsCloudBaseSelector(clouds) vbox.addLayout(self.cloud_base) - clouds = self.weather.conditions.weather.clouds - self.cloud_thickness = DcsCloudThicknessSelector(clouds) vbox.addLayout(self.cloud_thickness) From 24fc438fdaedf4bd906e4f9995aeb6a32391a1f6 Mon Sep 17 00:00:00 2001 From: Raffson Date: Tue, 2 Jul 2024 18:31:16 +0200 Subject: [PATCH 31/32] Fix save-compat issue --- game/migrator.py | 1 + 1 file changed, 1 insertion(+) diff --git a/game/migrator.py b/game/migrator.py index 3b67cd94..c96d62a1 100644 --- a/game/migrator.py +++ b/game/migrator.py @@ -96,6 +96,7 @@ class Migrator: try_set_attr(cp, "ground_spawns_roadbase", []) try_set_attr(cp, "helipads_quad", []) try_set_attr(cp, "helipads_invisible", []) + try_set_attr(cp, "ground_spawns_large", []) if ( cp.dcs_airport and is_sinai and cp.dcs_airport.id == 20 ): # fix for Hatzor From 9f5db20195d48732752366c592937088c44718a0 Mon Sep 17 00:00:00 2001 From: Raffson Date: Tue, 2 Jul 2024 18:41:23 +0200 Subject: [PATCH 32/32] Fix cloud-base selector initialization bug --- qt_ui/widgets/conditions/DcsCloudBaseSelector.py | 1 + 1 file changed, 1 insertion(+) diff --git a/qt_ui/widgets/conditions/DcsCloudBaseSelector.py b/qt_ui/widgets/conditions/DcsCloudBaseSelector.py index 5aa66c3c..5510732c 100644 --- a/qt_ui/widgets/conditions/DcsCloudBaseSelector.py +++ b/qt_ui/widgets/conditions/DcsCloudBaseSelector.py @@ -18,6 +18,7 @@ class DcsCloudBaseSelector(QHBoxLayout): self.addWidget(self.label) self.base = QSlider(Qt.Orientation.Horizontal) + self.base.setRange(self.min_base, self.max_base) self.base.setValue( clouds.base if clouds

;iMQl6sVtoB$+uV6hJ~$adl|8)KhB4n~ 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 z zXN0ZI90j-W#T{)~E?8b$R&AfHqrH)({u(}&o4sKG?kczis43q2hXU^|-UB>5Jce?WGC0k{;KZhLyfQpI<;dY)*}E)dk%nb7 ok%E03clskCeKL1gBeVL1@2Ex2_PxCGDe`eYEkSZGt~1{M0}>|ecK`qY delta 43251 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