From 9dbf236a03aa07f5e3ff759ebd7dfbbd0c3b6327 Mon Sep 17 00:00:00 2001 From: Tucker Kern Date: Tue, 7 Jan 2025 14:40:07 -0700 Subject: [PATCH] Add support for all 3 energy formats (#282) * Add support for a 3rd alternate energy format. The 3 formats appear to be: - BCD - Binary - Binary with energy reduced by a power of 10 --- README.md | 3 +- custom_components/midea_ac/__init__.py | 19 +++++++++--- custom_components/midea_ac/config_flow.py | 27 ++++++++++++------ custom_components/midea_ac/const.py | 10 ++++++- custom_components/midea_ac/sensor.py | 11 +++++-- .../midea_ac/translations/ca.json | 2 +- .../midea_ac/translations/en.json | 11 ++++++- .../midea_ac/translations/eu.json | 2 +- .../midea_ac/translations/fr.json | 2 +- .../midea_ac/translations/hu.json | 2 +- .../midea_ac/translations/it.json | 2 +- .../midea_ac/translations/pl.json | 2 +- .../midea_ac/translations/sk.json | 2 +- .../midea_ac/translations/uk.json | 2 +- docs/options.png | Bin 30153 -> 30606 bytes 15 files changed, 71 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index a633373..8f817a6 100644 --- a/README.md +++ b/README.md @@ -133,7 +133,8 @@ Name | Default | Description **Show All Presets** | False | Show all presets regardless of device's reported capabilities. **Additional Operation Modes** | Empty | Additional HVAC modes to make available in case the device's capabilities are incorrect. **Maximum Connection Lifetime** | Empty | Limit the time (in seconds) a connection to the device will be used before reconnecting. If left blank, the connection will persist indefinitely. If your device disconnects at regular intervals, set this to a value below the interval. -**Use Alternate Energy Format** | False | Use an alternative data format when decoding energy and power data from the device. +**Energy Format** | Default | Select alternative data formats for decoding energy and power data from the device.
Options: + ## Resolving Connectivity Issues Some users have reported issue with their devices periodically becoming unavailable, and with logs full of warnings and errors. This is almost always due to the device terminating the existing connection and briefly rejecting new connections. diff --git a/custom_components/midea_ac/__init__.py b/custom_components/midea_ac/__init__.py index 0a10327..ad7da64 100644 --- a/custom_components/midea_ac/__init__.py +++ b/custom_components/midea_ac/__init__.py @@ -12,8 +12,8 @@ from msmart.device import AirConditioner as AC from msmart.lan import AuthenticationError -from .const import (CONF_KEY, CONF_MAX_CONNECTION_LIFETIME, - CONF_USE_ALTERNATE_ENERGY_FORMAT, DOMAIN) +from .const import (CONF_ENERGY_FORMAT, CONF_KEY, CONF_MAX_CONNECTION_LIFETIME, + DOMAIN, EnergyFormat) from .coordinator import MideaDeviceUpdateCoordinator _LOGGER = logging.getLogger(__name__) @@ -51,9 +51,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b device.set_max_connection_lifetime(lifetime) # Configure energy format - if config_entry.options.get(CONF_USE_ALTERNATE_ENERGY_FORMAT): + if (energy_format := config_entry.options.get(CONF_ENERGY_FORMAT)) != EnergyFormat.DEFAULT: _LOGGER.info( - "Using alternate energy format for device ID %s.", device.id) + "Using alternate energy format %s for device ID %s.", energy_format, device.id) device.use_alternate_energy_format = True # Configure token and k1 as needed @@ -103,6 +103,17 @@ async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> hass.config_entries.async_update_entry( config_entry, unique_id=str(config_entry.unique_id), minor_version=2) + # 1.2 -> 1.3: Convert alternate energy boolean option to enum + if config_entry.minor_version == 2: + new_options = {**config_entry.options} + if new_options.pop("use_alternate_energy_format", False): + new_options[CONF_ENERGY_FORMAT] = EnergyFormat.ALTERNATE_B + else: + new_options[CONF_ENERGY_FORMAT] = EnergyFormat.DEFAULT + + hass.config_entries.async_update_entry( + config_entry, options=new_options, minor_version=3) + _LOGGER.debug("Migration to configuration version %s.%s successful.", config_entry.version, config_entry.minor_version) diff --git a/custom_components/midea_ac/config_flow.py b/custom_components/midea_ac/config_flow.py index 626df5c..449e307 100644 --- a/custom_components/midea_ac/config_flow.py +++ b/custom_components/midea_ac/config_flow.py @@ -11,7 +11,10 @@ from homeassistant.core import callback from homeassistant.data_entry_flow import FlowResult from homeassistant.helpers.selector import (CountrySelector, - CountrySelectorConfig) + CountrySelectorConfig, + SelectSelector, + SelectSelectorConfig, + SelectSelectorMode) from msmart.const import DeviceType from msmart.device import AirConditioner as AC from msmart.discover import Discover @@ -19,10 +22,10 @@ from .const import (CONF_ADDITIONAL_OPERATION_MODES, CONF_BEEP, CONF_CLOUD_COUNTRY_CODES, CONF_DEFAULT_CLOUD_COUNTRY, - CONF_FAN_SPEED_STEP, CONF_KEY, + CONF_ENERGY_FORMAT, CONF_FAN_SPEED_STEP, CONF_KEY, CONF_MAX_CONNECTION_LIFETIME, CONF_SHOW_ALL_PRESETS, - CONF_TEMP_STEP, CONF_USE_ALTERNATE_ENERGY_FORMAT, - CONF_USE_FAN_ONLY_WORKAROUND, DOMAIN) + CONF_TEMP_STEP, CONF_USE_FAN_ONLY_WORKAROUND, DOMAIN, + EnergyFormat) _DEFAULT_OPTIONS = { CONF_BEEP: True, @@ -32,7 +35,7 @@ CONF_SHOW_ALL_PRESETS: False, CONF_ADDITIONAL_OPERATION_MODES: None, CONF_MAX_CONNECTION_LIFETIME: None, - CONF_USE_ALTERNATE_ENERGY_FORMAT: False, + CONF_ENERGY_FORMAT: EnergyFormat.DEFAULT, } _CLOUD_CREDENTIALS = { @@ -45,7 +48,7 @@ class MideaConfigFlow(ConfigFlow, domain=DOMAIN): """Config flow for Midea Smart AC.""" VERSION = 1 - MINOR_VERSION = 2 + MINOR_VERSION = 3 async def async_step_user(self, _) -> FlowResult: """Handle a config flow initialized by the user.""" @@ -281,8 +284,16 @@ async def async_step_init(self, user_input=None) -> FlowResult: description={"suggested_value": options.get(CONF_ADDITIONAL_OPERATION_MODES, None)}): cv.string, vol.Optional(CONF_MAX_CONNECTION_LIFETIME, description={"suggested_value": options.get(CONF_MAX_CONNECTION_LIFETIME, None)}): vol.All(vol.Coerce(int), vol.Range(min=30)), - vol.Optional(CONF_USE_ALTERNATE_ENERGY_FORMAT, - default=options.get(CONF_USE_ALTERNATE_ENERGY_FORMAT, False)): cv.boolean, + vol.Optional(CONF_ENERGY_FORMAT, + default=options.get( + CONF_ENERGY_FORMAT, EnergyFormat.DEFAULT) + ): SelectSelector( + SelectSelectorConfig( + options=[e.value for e in EnergyFormat], + translation_key="energy_format", + mode=SelectSelectorMode.DROPDOWN, + ) + ), }) return self.async_show_form(step_id="init", data_schema=data_schema) diff --git a/custom_components/midea_ac/const.py b/custom_components/midea_ac/const.py index 8da1100..56eb21d 100644 --- a/custom_components/midea_ac/const.py +++ b/custom_components/midea_ac/const.py @@ -1,3 +1,5 @@ +from enum import StrEnum, auto + DOMAIN = "midea_ac" CONF_KEY = "k1" @@ -8,8 +10,14 @@ CONF_ADDITIONAL_OPERATION_MODES = "additional_operation_modes" CONF_SHOW_ALL_PRESETS = "show_all_presets" CONF_MAX_CONNECTION_LIFETIME = "max_connection_lifetime" -CONF_USE_ALTERNATE_ENERGY_FORMAT = "use_alternate_energy_format" +CONF_ENERGY_FORMAT = "energy_format" CONF_CLOUD_COUNTRY_CODES = ["DE", "KR", "US"] CONF_DEFAULT_CLOUD_COUNTRY = "US" PRESET_IECO = "ieco" + + +class EnergyFormat(StrEnum): + DEFAULT = auto() + ALTERNATE_A = auto() + ALTERNATE_B = auto() diff --git a/custom_components/midea_ac/sensor.py b/custom_components/midea_ac/sensor.py index dec9d2f..f38f331 100644 --- a/custom_components/midea_ac/sensor.py +++ b/custom_components/midea_ac/sensor.py @@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback -from .const import DOMAIN +from .const import CONF_ENERGY_FORMAT, DOMAIN, EnergyFormat from .coordinator import MideaCoordinatorEntity, MideaDeviceUpdateCoordinator _LOGGER = logging.getLogger(__name__) @@ -30,6 +30,11 @@ async def async_setup_entry( # Fetch coordinator from global data coordinator = hass.data[DOMAIN][config_entry.entry_id] + # Configure energy format + energy_scale = 1.0 + if config_entry.options.get(CONF_ENERGY_FORMAT) == EnergyFormat.ALTERNATE_B: + energy_scale = .1 + entities = [ # Temperature sensors MideaSensor(coordinator, @@ -50,14 +55,14 @@ async def async_setup_entry( UnitOfEnergy.KILO_WATT_HOUR, "total_energy_usage", state_class=SensorStateClass.TOTAL, - scale=.1 if coordinator.device.use_alternate_energy_format else 1.0), + scale=energy_scale), MideaEnergySensor(coordinator, "current_energy_usage", SensorDeviceClass.ENERGY, UnitOfEnergy.KILO_WATT_HOUR, "current_energy_usage", state_class=SensorStateClass.TOTAL_INCREASING, - scale=.1 if coordinator.device.use_alternate_energy_format else 1.0), + scale=energy_scale), MideaEnergySensor(coordinator, "real_time_power_usage", SensorDeviceClass.POWER, diff --git a/custom_components/midea_ac/translations/ca.json b/custom_components/midea_ac/translations/ca.json index 781c48c..7cdd2ec 100644 --- a/custom_components/midea_ac/translations/ca.json +++ b/custom_components/midea_ac/translations/ca.json @@ -55,7 +55,7 @@ "show_all_presets": "Mostrar tots els preajustaments", "additional_operation_modes": "Mètodes d'operació addicionals", "max_connection_lifetime": "Temps màxim de connexió", - "use_alternate_energy_format": "Utilitzar format d'energia alternatiu" + "energy_format": "Utilitzar format d'energia alternatiu" }, "data_description": { "temp_step": "Mida del pas de la consigna de temperatura", diff --git a/custom_components/midea_ac/translations/en.json b/custom_components/midea_ac/translations/en.json index 9c06a43..dd10d0c 100644 --- a/custom_components/midea_ac/translations/en.json +++ b/custom_components/midea_ac/translations/en.json @@ -55,7 +55,7 @@ "show_all_presets": "Show All Presets", "additional_operation_modes": "Additional Operation Modes", "max_connection_lifetime": "Maximum Connection Lifetime", - "use_alternate_energy_format": "Use Alternate Energy Format" + "energy_format": "Energy Format" }, "data_description": { "temp_step": "Step size for temperature set point", @@ -66,6 +66,15 @@ } } }, + "selector": { + "energy_format": { + "options": { + "default": "Default", + "alternate_a": "Alternate A", + "alternate_b": "Alternate B" + } + } + }, "services": { "set_follow_me": { "name": "Set follow me", diff --git a/custom_components/midea_ac/translations/eu.json b/custom_components/midea_ac/translations/eu.json index 69e6887..302a67a 100644 --- a/custom_components/midea_ac/translations/eu.json +++ b/custom_components/midea_ac/translations/eu.json @@ -55,7 +55,7 @@ "show_all_presets": "Erakutsi Aurrezarpen Guztiak", "additional_operation_modes": "Eragiketa-Modu Gehigarriak", "max_connection_lifetime": "Gehienezko Konexio-Denbora", - "use_alternate_energy_format": "Erabili Ordezko Energia Formatua" + "energy_format": "Erabili Ordezko Energia Formatua" }, "data_description": { "temp_step": "Tenperaturaren ezarpen-punturako urratsaren tamaina", diff --git a/custom_components/midea_ac/translations/fr.json b/custom_components/midea_ac/translations/fr.json index c5d46ee..6db4568 100644 --- a/custom_components/midea_ac/translations/fr.json +++ b/custom_components/midea_ac/translations/fr.json @@ -51,7 +51,7 @@ "show_all_presets": "Afficher tous les préréglages", "additional_operation_modes": "Modes de fonctionnement supplémentaires", "max_connection_lifetime": "Durée maximale de connexion", - "use_alternate_energy_format": "Utiliser un format d'énergie alternatif" + "energy_format": "Utiliser un format d'énergie alternatif" }, "data_description": { "temp_step": "Taille du palier pour le réglage de la température", diff --git a/custom_components/midea_ac/translations/hu.json b/custom_components/midea_ac/translations/hu.json index c57b286..869921c 100644 --- a/custom_components/midea_ac/translations/hu.json +++ b/custom_components/midea_ac/translations/hu.json @@ -55,7 +55,7 @@ "show_all_presets": "Minden előbeállítás megjelenítése", "additional_operation_modes": "További üzemmódok", "max_connection_lifetime": "Maximális kapcsolat időtartama", - "use_alternate_energy_format": "Alternatív energia formátum használata" + "energy_format": "Alternatív energia formátum használata" }, "data_description": { "temp_step": "A hőmérséklet beállítás lépésköze", diff --git a/custom_components/midea_ac/translations/it.json b/custom_components/midea_ac/translations/it.json index 39b4f03..4a4a2bf 100644 --- a/custom_components/midea_ac/translations/it.json +++ b/custom_components/midea_ac/translations/it.json @@ -51,7 +51,7 @@ "show_all_presets": "Mostra tutte le preimpostazioni", "additional_operation_modes": "Modalità aggiuntive", "max_connection_lifetime": "Durata massima della connessione", - "use_alternate_energy_format": "Usa formato alternativo per l'energia" + "energy_format": "Usa formato alternativo per l'energia" }, "data_description": { "temp_step": "Incremento per la configurazione della temperatura", diff --git a/custom_components/midea_ac/translations/pl.json b/custom_components/midea_ac/translations/pl.json index f25a370..4762643 100644 --- a/custom_components/midea_ac/translations/pl.json +++ b/custom_components/midea_ac/translations/pl.json @@ -55,7 +55,7 @@ "show_all_presets": "Pokaż wszystkie ustawienia wstępne", "additional_operation_modes": "Dodatkowe tryby pracy", "max_connection_lifetime": "Maksymalny czas połączenia", - "use_alternate_energy_format": "Użyj alternatywnego formatu energii" + "energy_format": "Użyj alternatywnego formatu energii" }, "data_description": { "temp_step": "Wielkość kroku dla nastawy temperatury", diff --git a/custom_components/midea_ac/translations/sk.json b/custom_components/midea_ac/translations/sk.json index 1fa124a..04f494d 100644 --- a/custom_components/midea_ac/translations/sk.json +++ b/custom_components/midea_ac/translations/sk.json @@ -51,7 +51,7 @@ "show_all_presets": "Zobraziť všetky predvoľby", "additional_operation_modes": "Ďalšie prevádzkové režimy", "max_connection_lifetime": "Maximálna životnosť pripojenia", - "use_alternate_energy_format": "Použiť alternatívny formát energie" + "energy_format": "Použiť alternatívny formát energie" }, "data_description": { "temp_step": "Veľkosť kroku pre nastavenú hodnotu teploty", diff --git a/custom_components/midea_ac/translations/uk.json b/custom_components/midea_ac/translations/uk.json index 2097c1d..95be0f4 100644 --- a/custom_components/midea_ac/translations/uk.json +++ b/custom_components/midea_ac/translations/uk.json @@ -51,7 +51,7 @@ "show_all_presets": "Показати всі передналаштування", "additional_operation_modes": "Додаткові режими роботи", "max_connection_lifetime": "Максимальний час підключення", - "use_alternate_energy_format": "Використовувати альтернативний формат енергії" + "energy_format": "Використовувати альтернативний формат енергії" }, "data_description": { "temp_step": "Розмір кроку для налаштування температури", diff --git a/docs/options.png b/docs/options.png index 2609a27e4779a80e8f1a8ae5826d6a6d0f9b96e9..a7da95b5a11e58b970a178de04e3f05ef460105b 100644 GIT binary patch literal 30606 zcmd431yq%Nw=ZgfK`pvFB^TWwEJ73sQIKxwQc6mt7A+Ejpuj>D6e&TZyHUD3M5IAF z&s^WW``&%OarPbGxZ~`7&O6@FcPv@YdY<{8^H+0)Y2H=AzeauS+_`i3w^UKu=gyt) zKX>k;{gn&we_WJLi{L-!A8V^9oXh)3`v-n=>CsK~o9E6I##}!(y9~d->Z1Da@wsyZ z4cLFqw>W28o;&Bsatn1+$IEzi0#{x~rABna>io^x$?G@FDSXze*mmDF+L-5QWnPM6 zOVlG?{;XvYQPpUJA(q;mq~SEbsl-a&7=BHSf6wgEc&_lxpobd=e(S$dlKZ;WWPb+` z&tu2rma%L2MRldUdGt{v{YP%twP@S^Dbl|}!58XrO~O8{n)YyirWGJUuIjvB zO}XXi6ig71aZ*z5t))J{dmFL*Lb%DHSY*p~Y+kfvu({J^MQzbHD(7opvNB28pvbIs z^_`mGH;s3?ZQh;INN(767E$N2qB<`kmxoBdQW^<-uqZe^TO6Vi5}CZr5afQOJEtdh zPZ6)BIMZFIGWIIB@Ii+ucSwi%FB;w-e|L9E~LGo#{Ho>T`n|O}G6iO6fg;%~2 zmGhWIq|DC#Q`gXNKqm4m-Cf7p(N-vGSt#%cUd;Yf(*~P{CBNX^+{&j2*9|kBC!&4d z*aT1V%WYR%v;CZ{{S^%wwI53f2r77FG6dNbC$a}yiVf(!nMa4a?Y)*!*C}?wy|cn2 ztTB}k?WrJq;FkQY02#*hC3EA9_>pa3nE()HtU?~gLjZ~!92om3KoxMdh#>xERlEXSD_6L#Bb=3ob2Ch+@g46 zefdrkOCVuqJ1b$mjKHCY+D_^RM?w4DgCG;U=w_w4O5I`ku2$11+d0EGM=>lOmFTB* z^xmh+?<)+qct<*gV~kO61IWlWZn!nAW}oG;!}E@@t?*?>F8fl^A;?z$&{gv`&fhbb z$i!i8CwektP?^teZ)-$h^)Y5)s|$($g>OSP$l>yjM-)S{I}wYXqAT2c=mz~&J>17f zNxUh$JQ+V|C?yshhCPjYByt;9sJ~WP_l3VP+#@(!(b1bq(Yky+Wv7cy$SF<3K$6*R z@t}Y%U&Oks^8?wCaSh$%vQARp$>N))A4dynZ|emrzLk_%cl;_qdTNE*N!=G-wxbtW zHrFftI&)jGB)Umm$X@s$BAKv*ylO^&UpEiI_d(yMY~J8Tg5Z(#y?%$74S!u`MD?R?y8G;!8v-<>Jmjxp4|;*ZS=o^fdx${zpz z8Ox&b&0)mB!9noR&s45^?Dy`;=Cfk9nFIv|d3bol#rFq3>++ja`<@;j^nKL$RZOTt zQT;OWQ}f#GsQU<`-!dbkqvSk#0s*JTk^0Q-szfb>46?o(({)uod-Iy%$qv*8cka!e z2|w&;e?I@UxVX5qwDjv&#bEAGG+K~Zr%_f`c5-r(iHXT=(J$Fybo=y-isr_+pjCT3 z-^oG>F$%>HN+afESmRGeR=C13brhQa<;$1AK*fd5WUDmvq6IN6t?#e)ggt*ErfT{G zhx?y&aL);~JTY84|a~G zm7o@NNE*-2AwgJ~qEVMvX0>+X*r{eB?hk#|jftT~qs?y$Fw@5+)ZD^1Asr~OA6j_b zhDOf@d!ba>PYx8d8(!BKvoNcr?vtgiRNj77U#gaH!}sTH)b?F;JFEZM%*2eny?w{J zC=r4Uae<_eOX{kR%Kn=-ZzRRVTL};dw)5tH-v-Ps(9IZpxI-no#Kx>f-pF2m&x81- z-oC!R{ucI6R^bM5Fza~C#_8>kj6JPD!ZxHib8$b3OMx(W_ z+zb~_cw5@UP~CPiW`jbJ<_FCRpKkm}hB6uj&U zLvvmxKD>@UD!qB@xF(#18N;f!D3^pjE4)~fZudF`*)oSn8X1XOx$UNEAeNg<$jK^2Y9FFdL7|~7JIg~1(q7Z+>(1upuY?}`d~x}DBDXFdSHQhvivsVz)+2&1 zl@r##KI*a?%9HV2Gi2pArj++9cbbsIGp_c1_%ohXJZZKmVsCX!ch`Mob#+tiFTWXa z7L|sEhK}?;PeobT!NEarNJvOf5M!{Bk5|d?s$0b!^5xE#>U3k0Z^^leUnu_ulY@)W4^7l zY;OPQYl@&?kn*^*+a|9cv|eP@;p^+Wva)h|dgOefi1YaI-<*3NMV-be4iXxf`MZw}=d z#VJbO`*7#r&&Raf++12(+G73HgTKEGO6=J3w3Nb0ZAXf-_QewZ&bI}6#IdVCx!%;( z*4Eb3gW&hwSsI`bwt3b;S6}Kl_N{PhuPzXm@`6BY?Oa}!V0AvA%%j*Cl5M8w1> zSPIj_8@rZ=@+0zy5Qxn#xwBMpSM#IY)wQ)X4-XG(8ZsMeapCGKL^=Sn`a zjbY`%vxSPd&JlAhF>@tnb1`xor?sOlGD!kvFH&!D2nrJGIy+o9X!Hm;+0n(LHYRIo zh&$X__VMyE%}jFa!6;Fx$hWk+Vj_S1_`&-ibw-&;F1A%wm}sx4@bq9(C5FD~FzMqb zhmoR;rFMW^H8nM6rx;ok1@jZ9H zjO*^o!&Gr(66*Wc+Ab;~>&3J8$h`BaX7}#htJE?NX8(q%(OMcW6UqzkN|RGj;!$q= zptTXsmrl7pQQ`U3`iBc5P7%fMTyHPu*#(>70<(PMDqWcaChi;<-`;Ij?RWEp=XAo;fR*3r1_k{J!cfiT82b zx_Rvh+?oARJGb>BI})S!4N$WNZH%X6e*N`h-yHkSJZZhUGOjJim7y5O{FGi1ZPw1f zeaC$E+*>mmQRB{DB`WgXn!h=XAywSMVA@l}_;KcVk9uDnZbZ4Cy&_8GKSsR^chW|4 z&~LJ5im$in)7Z`UpB!Gkd>Nlkve@@v3;I@?sH48T{Ik?M+dZoD+?Sqdz{t42HdRw& zKg1`o9r7xle7a$6aglS2qAj8sx?TbY|NE!=yfr0=U_oT4 z^w{pbuHGc_U;{(9S=`Mwn!L_SU|f-6wnDb-cfcOF-NDitW1H zEo647|H;#nfcwuSR3a&#D+l7>Zo-kq}Ex5^NHrp+~2+I|lIWRIbL z!I}ExzR@BT(}6ir0_hpVc)bW$Fs!AWwD7dn$j z>=l((W@j;HONIM+oA9)hbZz>x5q#50>e9q@Ou~+%q!o@97WYb>j4Hie^BL7U726G{ z`OdsvWO-hC0wZb1grL4+o~w3ka!c)=dY za?LG7@8TH2l^-xPm~sF9>Ik*Kxqdz3?pw*3-6;X@ox|PLBj`z!H30!r)qZAXW+Ha| z!xf(SGrDyzQ{aRvB+b&L=YNf@r`g!d(Mw4E zopf^BZ3Y@&kEh#QMgFVo&BTA_P_1$hhc%9f#u;s3wZ37 z9P04FEl&=2IOnzlW;qgJi012;EdA}0qu86xS)xnGm-P-qPv$^xfkH@pD@IgN_=-Zr zIh25|SKRx2@R!U?3x&4pNy1(m)55BgL5=<^8wt@Xfcx+cj(&(uv2OkN3KIjLR=fZX zN|6Rm?_x4P!b%lpBaM{D3WbTUR*BsJ^fCiIJw1JWIPTdVtD^v<=|${F&#aPzl8Wtz z?#7qTE>~er>S|U2U-hVMB=eu8$T4Gt$w{hVTwoMYC|gB?_o@hIXXg>XW5O9CNMx)! zGqW1^D4g((p;&kU&qA^@bQ~0}_FVoO0C+se8SZz|fFM-F6i}!fzNphrREQpx+rLai zSeTg=@l2SRFH=^dP}c-}!_cIr`@{&Y+6^{l?PoK$QSZ++yhf{@58+3|Uij~MVS1J4 z`a1_=gqD8KJBi2af`Zz+Xf&s~jY*9^OiVr>6e^zmj^vZYXJ>?RU#&XWL(+lg6eWZ_ zIHN(f^704^>hDf9)%RPPmE18Q6N>X=X3m^nS>Z9jDF)gR79K9?z4e|}lj9*gN~#Ee z=vw8NFWOn*Sy{he(pFVf{YqkPQ!}2CA!lM1#L)+w2F*6p9f07*h6_>+?w?x4)14&} zj=Sk(#Kf};3+&2K4<9^^Yf$I;{Ci$3K8%yjhr2${qz3-P;}N8q>g2^JUYdC%onE~m zK~^pFfp8i)w6Uo#h5e3pCn~+au2epEf3d>4GFoEq_PHqn&aEU@1d*09=48nc+SAK> zks8r=kRr|lw4-!{%tvX237K4d-(Ba%oM~mA>O_AaE1ZC$&o?OLTP?kdx|Wra;>o(+ z!=9K>)WYgq8pnjl*-a58{R)+~)|++RuJ?_Iy{ymfoyfD(qjgR#LKSkJf7n_W?Tzh}(3h!`U|d#t?8^2tTttSU5@8Wm=x}C;Yg>nzJK0 zq$=u<(w%)}B_(Jl*Ub==lxR`^a9cG?F)@kJ{-OtYXKGtI>XR%g(dk~K+k`HFA~gXu z!@~!B2tAI01x_&>Vm)}M(7eVmO4ngTBRR|wER@h~9_9YVfz#(OQ7&>#ud}-*;0#{W zdKIV9W31Tr@4@dh3SNCu7N6Y}DnZLDrHU7ls} zE_s@R_y7hyunO~+=-%L@$OiS#0M1HE+@Y(!yr7;UO4b)|ld5aLU;5{?IXUIGkdj!b zQs-l1)^*V-og8ocv;+37sh#BHYF+p(~)09xh8(b_Ps@i*e(V~lrnbUYBbiP>gj z_gx<^3rxeO5p8@V4hRA8c#pca#b;;Bw67V7`cbzPJN%n|5Quzx(#_@^b1&z#mrgb%^hqw72AMHXz z2htL@89~9{o*_=caN~Qjf%ChcyM<-UKUdF|&Ob9vgeu*kvm1tpf9S3?`g&dgJPVMdwg=;%N# zkCi%`d~0A|v`RN_xHk4wG(15@|g(E3)nT0Q?F_ z?n48Ep`3dhAn_2=OH)cd$xeM2(kWV<_(g1KUR36cM{sjKYSD?;fFaI)D6hnEYScWzQ?ZpO)E}KY`*tOx8geJ3p4|_NEN{}t zH5Ch6o7piN+}fp&u*8ECV=;0&KCdZ=KPfpGKwib|*L<^bYs7)J4$zz1uHD;g>9-0+ za~g$tFL0;e#2?=#N1>>+Uv$9~;*3K6pD>I5F$U$2wtn6A^xOkffMIHZS(K0rjYP(G zUx1ahadcD??vZ&h5Gl+}6pHJ~>Zr(wV7j}D3(*&7xM4UTj)*$OGAp5$H|JV_U}Ds< zBP4}GgZ}#U>pf*YdwDiQ2(3@OZ<3N0BTQty8JX2+kR~F1q3h7pGcg!c3TPr4cd+z8 z^>dUhqqm=*pZgpP!EkdyiZ+AqE@nNyEldCjFrHl(1B~1wzpt#K5+MrjOH5UL*isGe z39>rE5ikOqpf4{E&(^{Z?or<@c~t!9KXe*>==&azA1kr|T?jZm_(*xDEIT`UV`HPW zRTTs^LGuqEJ}fLO%t~Eh2><%^s{_@(^F=uKZSQ1!;2EcgI^GD?#%rS?Ca#}n!)#yh z4(?YA*_80W;n_tWd8=P%-PrpX2LXKR6Ms(cX;9~~W? z754#%HZLnd7pilbTPiWFyMXsjE`VN_6nPO5`_49oUdFOdex%6CirZ>(y{qUl4vz76 zmkigrW(+WaQ8Mlaj6=oxU#hB3fb{!<#&ZAj1G7t)7q)(NXjMYllmVQEQ3#sTM1fgg zL_`F*9!=q7b9~X9pp?x5@Bq~#IN^A+g#m`gRRV&aZ$z+g7I_ArN$y~tv`VrKP0UPJH!2{?yir(s~ADgo@5!U2Mw&j$+B zji>!hfPaOoJ8Ku0de_t+pz+>8%nAf*XRW;TLBswS3M10A`S$+ zUEkH4b^CW`GKmO_8;RA2{XIdr`L96<57GxH0B~>4s8X-cd_S2*g+N22%SE0-Hb8Fljv=_H@X2m5T!D*0*g2;26e_=E!d zp=JN#MEJ!=%J{;tD+5Lfb4usK$GdNzKJq(+5eUUf!EgM%tZZa#jH5{0x+7IWsNGUd zuIAaZa}uA9C{i~_M0P-P=ppaI#bYb}2{0trxatrviOtdeJ_?0Ozocx?sR_b4KoWEg z2qqw3+8hIR+7C-ozHF4O$y6M+$YQoKGX?^vlvIUQrt--~17WH2l&FYE0tvAw&@w3K z1YQGj5nJYnp=>Rd8#nA)Uoyd^cf1k#y#K%u#3tkmWsq0kN+YvShSX{{Z{d>ib@M0t zbMC=8dd>5&7ls};H+ScsU%!Iyn+3cPbC$L3WxXQ4l8CIxNgbrT8-ibszgolM2CGPl2s zbIl~d_ux0xIe&*;ry~G!?e0@3$U}w zsv{BP;a{D}U*RUYB|+c5cjwpVv%g~cybR|_5Lv-zy@OLz@QhD-dU{~UqH>zw!!;J! zngSLnN)SAbdxeU>yQ!f@jIfd)&3|I4k%@#8wE|qo4sCRR6?d>#K-~v5;_2x*(sy(3 zYnN=?+xV-5gs*v-F;9M7Jk1G&Io_6dUiL2#IL2KelW8Fs4*ld6TO#l{d7%f36s8@( zg!l{O6p?m-eJkf+=RCu*r+aHZ9zmbYS*_Xl0VnkD!jFSecQm^9*7O|B(TKNjc^fkBc&(6*}(ZDos%qijknf#CPKNr*;Ew=aTh7i!*FyJCz zPm8}Z0ndy1R0fErMcqF=x_^ObKHI(JJCA}NNjI9h8A}4!;=WM`4f#JOsMAmo>FJCk zYDI89#3d!8>7*X)a#>Bzu`#xL!4toD@gm3F)L{VbHv@6L7+2{>`!m8(xlYdW@-6FF ziM=iq_s2WQ%t!GT*7t~stfZAGssYXL-uuv5AAB9!%iQvEh4Yjw9%iXB;H)}{iS3ha zzAQ*fBew({%0U$@iW6qA3!Q4PrW?5>0!89igQtGXrs*|_?oDa~TxZoM4@1C``v=G& zW$w#^`)Ewm(Fr`~_XSD9PUGL)wZ%hEOb} zvFFx)-wMnv_sf^Jsi^`l44#7)463*|5WwNbk*2TjsH;y*Ou+GX15FWH!rU-0iGcl? zP#6PCd*3uO6lP6(nwUX5swJRYb5sbWMIewqyAGgktlS4(>9bDGi<=F7(G*telU0+;J^h14&~DH#fJrRFG$&%n zet|&3FUT2MEn1?3LqkE7W}x!hn7$bh5Ww@IYd81d*AE(L(b6!ih?dV6gYWc=S-+D< z#l7GzrI0nA`D~wtoKiQV;L9zL8lXqz&8QKPm@lgucZPJ=jS3j3s{^(+XQ43t}P+oKrS@zhvi(pMk*f_A`MkbuV#wmi09Orh0e*@Lcky!8T2aC+0@nH%4O~VHxzEK5x^Xke9iY3o$DDu<86#>D!{RuFHRIcV4 zDCB*)_wg<#Ue9;$zwFF-_h-V%xL-afe|S2E$;!&|LPc+x)PyvKS&>LszFz{Xnpb^WCmj)2MePtxcvDs1Kw~A^8N;!40=sF%47oJuS_P^?QwBB&rRdo@TJyO;(nD zuM+96@N|w>z3}OV1T_PUoAJK{lmd*x!ld>M6UC|N6<xAA*ehz3F7}b<$mTG)-1k3`&Qjhdwifq4{@!{I)Pc@pIE8?yGDin~(9gBTvSgD( z@k@blB~N(e%1aXAH@pVlOu?KRAf5n>k|ymd!moYJf{^lpckA>kLhEz4hnpXgREPu%Ax-Tj!I-CY*EaE0n3QSHpI|Eni zZlbtt;*ml)copBj$HTb=q=^}f-Yae~uxY{G*x!-{zd!CXGIxouKldh=lGmzKocB!Tlrk0g)?O~(*$$!#^JZi8Ss5=spI{Zo#@{tFpK7BgM65 zgUJ4O&B?C8inOw31|hAuW&oEu`n0l57JEphJXHBkoV%>#-hy7sqj2NxX)~A6y0q5P zErux%M&?7x_eVfRT3ZXZ*q8;$|9iyHf7W5+qG-h0KRkDuC~tcZuB4;{%}hmExm^|! zix7eVFD5o*CueE4^bfsLyL3xw3+!zH?=a3Pd1I!MmqtZtcG_aTT7TQg5n6|_I3o$= zGaYY$U}Xxo@}1U4{r?kswf8jCa4uhNd(aD%1H61A58*e!3^bAiZhE|$2DA=H5es`i z+(`x~Hc(`BTVlqK*SPXK{0=%l(F8y>(1(CfclY-fgSHChD)AgDeiO6}_>^4xaj(`N zozj3Ps|RfWoWFu;fcQ`)xPT5Ki&*L>OnD-APjMyrF9MPr5498m!+Hbu<2`N}7Y+)JOIo*b5N#)Y9T zS>TzBw_fKA!n#92N+aS<-ANbL_q8O(`FgdV)OZx#$_ocu8{;<=XGUtXQ;Zm2oP5osl2xH&k^ zX+=rVnkERFoRT3aIn?SRI1pgpz}z?7eIU}^OX_{1gYRXXJdar z%q1cXnh!(~$a*VndN2SSBO)VxH)k*7Xra<19xuR9Ollbz5D^e40L=)@sumBVVy>Gz zJhg1^LY@!iuTEo$lnbmKw!yGjJUlosf^<|Au)W+%LJ%k6d4NzyF-TYtnv56tcze$n z(?3UFxjQfBg;wC;_z0ZYd;uEx*w`4rHHJAo+PQ$^O%(u7Jy5J?fVx8Ps04v{eR&X( z?KoK}F{*d1CoI7<2jp`+8d1Do9-#I;Sx!_2uk=}S5oCo>Pu9k%0#zSJrX#`k0=8l% z1E`p&ERwESt>A``5Qx%mnsQ&DRa?GSuWr;e9b%mHw{~`ns(roPYIs#p$_fGYDQ|Ku(Kqy}mV1-k@R1oVk{P=Z1%p3DIJ9s=Fu*Uz_7gHw*c z{8Rz38yOm=zI_Wq0nZWq+}NJr{Iaq#h%Z?g{u^ogPrGxiYC|b}3ZQEVbZ`-&Kp+1< zc*DQ!fYn-pyHRAD4h;r~9C)>{SUzS2BdRFD9GfYzVsr=j3O$Q&A`7$RztmcL9>eDw z_~L~nciY-{+1%oyIQSMLVosnh{DB&P`h&1inq6X zP}$J^*TzZ-1G6R9r)v1ERl`8P0;ycv;}u>CXgHNC??1$U8~{KQLB^d3XB@Oe3#%t* zPmZC`;l4%1qiFVyAatZ^hO{03?h3p@St8QM4ocOo7;Fz4?CAlz30|}NQvboy=lsUb z3)ZrJhsEG^_%8s`0)=~6VBw$n&NY$D88uBVklX%ebcX_Gh3vv;fpBz*=!pmNDt9jA z3!Cxxz9qlFbpkpL67vGslVK5`kirFr|YfM9-uOqdQCfA@L-b4 zRAZTwAZ$6>)|LZZBg7}zBFu9hPBL&9ZqcRbX_sH^WGkQmG=g*qs+H@l+CrTiZ6&8y zij+%T~hCAFMb)%gBPEBx-%4eoB+h1mZ%I`zD?X^`dkqX7YoNC<5wtkTzqO_yME4iBXhgw7cOhw|J53s z3Cbbo^QKfy4C?AU=?!tz3~)(im8sgxZkO5!2 z6eTS{hKr^S0IB70q(DfIh=Zz>)Ep(x6vNsiLYTlsppF+lSO0Fj!jmux=C3(@t_#q; z@6%0En5oC9oX3|8@%W4@#a(AnsrL=>8W|B(M*El*1xfI1uUc`biR!#@tEc&HqD;lc z7&vd^3voJ^d(x)0&$_!cbMg0T++HXL?m{5WXM6EEB{9ozqT!!cY=_&oBvvlYYJ1?Z z7CAFqyPy@H#Toibvwjo?nL#KB=^&3lp-;F86T~mgk^%zf&xqC2jG0Tsz{mQ2wU((v z3lsD1-#JpG%TVNzXHYyPMTtR-x3zkP&i_bzM}G626gdy@Bu#IjXwo9NNe`JPY&H-c!R77`s1a` zK7jjx^E2Z3`TA~j^=FTNjnORsMUq}0Qxned*un=u__CAAl#IhC72R01ze=pJrik5pARF5SAq%2*vh3!;Ba5 z&L=Q{%MXfMcrKa`~Fs3=Z_yqjmo1Co`x&bQ~pQ1 z%rsJgDTi?0mh$D>Ufc^+Y>;K7QdCfwx48iRO5`D_fiy_<@Hm^Mq1hna;EZDJ#|a2d zTI3gmLLy?w&SFx+RR!8b;A_I$VJ6FUa1~Dh&PN_YUJK%-C6uhpnMdCg-KhLypUI{d zTC_0lU8mrK!Mt7F+fqu0M$6*-sm5|9w_KS1k(d8f8|S}0dGgO>>pztuO^aOTlt+ZS zzZi&(s3}4Z1*0M=GBW89Jugot?#`oBH>mvp6 zB@Pab9@)nWciLXDH8eCRLAdP@+B)fK<4p1Ux*1js2+!CAEgdHEMZ!An-0ZB|Q4|2D z4y`PpNKasf^niUM;7>2*fhPwO@c`0?Fr}A25CI69+6UN==gyqYq^v0f_WQ;AjsU}8 za`WJjV0|+%PAp>C)!#^iw8g^71fO{#>ox@*6!1Mf>T3i90yixU0hWJ3?w3wo@{mSAF?VVL%+F`Ryh< zN#HM;tEjYqbr8-s{q!qj6AcNms~O!H-rnB4@I*j|z4}Fz2|_>$!PSr>gO6waFp{wj zO9Go9B7Lyf!-AyIQm)^K3Qb5D08{}99PlJhffHiJ8yIJuA*=vyEx@cU7(3%1UqTXE zDGLX)-JnJk4>-DsIca-iMiEJKO%kaGL2Y0l5jW2xyysgHq-9CrY6Xx=f;S_MBWhQb zSzYDO!f)Ywmqw#~i9jf!1f zUXHM+qdx@;Dk-SE8n~#rC?+y!hKBGxZ~NGK_0iq4;qzJ%hP6MwqjgC`(ALPW?@p8X z)#RSUvV#ynytfb*z;HL0#B(Z}wrAiGKC^L}eHbTbqp#KgVPtoMiOHohm93q1?FC+( z%TbI|mRbT)W413cI}>NOxvDl`^HVa}!oO@V z1!SmsxK)J-z^)vos;fZqb<@X4x-SJCxQZ7!pSu|%b3V2Mv`Z9I7ls*xa?c-IGAU95)7)aPxVfhx?%I5RS@Y#f2yfas`~)~ov>Bv}*; z?)#XhAfPxy&AA+{09%3hYpf=)sq6UoU$XCk76j6pjhx4l|R9!17UYUlDHpK zdkDPGP14$PKFHO}#Vxt|@VmP5SD>QlMLuzDhUs~(NiW7E5yHgK9e_08$$-M9* zf&2C8ZEHOjXe?NC{j(NSAM92JlAeEsFb@|_qxbI&wqpI<^Nx5@Nv|%WMT?fS#5>tRhhhCuwG828uJXHab8dbI0^XAIjvFka0=2sFRC^Lg zWNCA$aJi*W@!w>ZHt0a)gh?kOEe%E3vTfuTql&Tda|GuAQwypS00Bb|d5Lt^QUx zdL+*mXJ_GoJp~)C7)iXBb9ole0Cs!W$PbqDYvyfUfgVhh;0%L8X%Cb;;Hqz>Je5PR zYayy#SbY^0-wb2aX}ExC_i=M16?1IiUuYIs(0uI}yVf$vubY?p-QTpUkREa|LF<5T z3*V)ur-OCaB|MxNq}Zy zt|+-r?!q2x<6+^H_R6L3glE;B?E+^yIXRI#+3o{v)N~#KJ>twyw5AE^B>O=awC2SD zKNT_uP%xnPdaMjT?_=g5()x6e-9SNf>!Uj}3yUiupUT|E?(WYNvHTSqVeo#gSOwX_ ztk(2rcF`hbInq=xC;oI>Vv6RM(L-+K`AL?`8B8E zD~jba)u*r>me{9_!wqW2$165OSzElD&7vxR2AGx;ChXHA<)7*z%~HM!(5vOfQdpf*QtFi%(S`PN|+orV)lc0 z18hqVi&KPcUtAMg6T*G;=rDCKr)>{mF?soO(YNnFz+zV`l;0fTZUgvDO9A{h zh8eQGu;@5LnqctDYBg_N@wu+UAXuycjg>z!1LJ>STI0#|6mnWq1 zGE)Cn2Gpkn${5J7sSC*P-=$42&4Kb-d&Pr3bhm@Q#r>x4XNWNihUXh34GZaE3fx7T>8OE+j3?Pzme6_M2E*--A~~hcpiYIzq)}k?)I5 znF%DkWv%VhLwP{rgA5o;7+R1O8zTAN<#he8A3y&mdT0O2+QlDnU&v5F?9-~{ng6i~ z9nxkI8X}hFy(K)Ka@*z+soLVk{SlCB0fAYCE@nP@KeIeH7bp% z1pYPGz&{F(G4xOJ)qW3f!9W9<(MwHDC5Jc%B_$`v`xkmc=NcLUoIylsk(@hi7=mC- z?f27oVl6i++kGI8JP`Ya^}&Rby)D>!!DEm$^uWXBsi6lK#l3+ZR0MJ`bO4q^Ah&0nVMOl6o9>yKP#8FkqpKhfK$5A7q7Un1es~VVvg1K}<&<1aWY+rpAVfec zCM6}M<0>_Nvu>_lA%JP9Y(R?GAPU%9SEJ_Ghrq6qe|`aY82+_u_2Nt7xkNjo0Oz`E zUw}*u$hBz}epsFQQ)nk8qe<6^6P0%Spw+`v%?Rqu58MPL>TGw+Ir|dq3GYD%1n6K+ zw8L}b=E=`Rv)2NOaF^kdQ`v4O!Z5?`4lKilyNX|Um7tJN3a~Dirf`4_ved{5ZF3!g zDFOU!VaH_tBf5Tbr3>uZg0W$uUE0ec3!n&H-~G|pc!|65=9hqhDg<7toX)-<`2Tg?*me8BTnXt}y4y@|; ze+f}N-!OkG!z=AEwZ$)=!)@F5dQsFOFQr17_+^Jd)BtrV2{svBTncE_y$m^ZvWYJ6 z!A?26Wg6_D()!H-22!~xX@r~n0`x1Ra1q;HOW@BShLV@zKwGwl4;)(qi!zPM$Qa6) zWk`*x=7B`pCd>Ea!-p%RFqKD!Y>rP(3cKV^_gVPx&_a=n36P{W0`b-1f;)FF0|g%P zF9df0K+HoNL4;qwI2#__@EA~bmQOBk!Ctu-Zr>S_W)q=wDVK!I6BG>>9^ej&1k7x| zgrgQtt)5pMzXawfEl- zNenJ#wIUa9M={7vf{oVHbUE<*%jtM?{3JQxG~&ugA*~S0$e9QOtmKU8fjDHt6GcuI ze5mP2h28>F4V&Y)n*OtKX9Kz>W;ZFtT^P#`AAJDr;^qVE_V^sAc+L~Z(4vJAJt34o zfC~Y{l#!8X>U7N*Y}Np3(?eE3%53Z*OufSUEkdT{G=j$a81L%UKOmTkK6f>IK0Yzg z)H%!$AEg%v`^9<8fRGx}-@Y}15e?J##zNR@y+`m17oIC6*ih;tycXsUvji6dIUTT0 ztipXfY6Z54iH2l^PxNIF7Xx1_-wB5M;CkGMG{;6^Rb7yBKLu`hHWnr^aH}ksAA`rK z>Jn*6TY5bt<=^6Rn^#+Y8~Sd*ZuUlw^23j5miG4Cqpj>c&w`q#t|o9P;3^d^VxGsy z;3!cPa#CM#yTnb1kFOLJS>Y}}|A%GeWO0vtZvss(T;ML;csK+0&!PI_9DjbR z7NMZ5;tMra)T1b!xc|6Fkk)u8-p9Jk;py>xlZo*=bB9dPcZp&GuaVslwrVHUnFY=- z-UaxPOo+rv75oS=dmHd`jx~R#0i2yODRWcO@lZ_$;2Ac8XI}+(F$aVXPNAj=;q>R@ zE$NHRJFrYFBO@xKqrr(U~~*}c$Px;ffxv?Y)@fBjk)d@cdZl#{}8%RWeD zaPc@E^dGeX6f+qhFVK>4KU;Gq#km@re*oKpyE#mdb?%zUJWp={oaLhY9>z}_$toqm z9*{$H`RxN(4N{8@MVuL~iu<*h+7Ua;;_>>RUc;I?MY9jYi_#)lCcqGtS=JgPRnYC_XR@SY-~qnpJo zf4m_xl30vT~ z6oQ27Y$N!q@J$BfEJ>0e+l+e>f<9Xjqy*tkjNFr*#gG;mbF%WNz%x5nVLU2+e1p!TXEd}LVo&g<2?{Cxgduj)Fn zF?4Ho5}#Y{_u|%l~O= z6>rerRbqLD%~rmx5NQ!p8tvoY;M`3WF9a_0?-sneEJXX${10yxd#;WS0HlM^9@@#R zDJ5iB@%V|mJ1odOr|dB(G;e~kv*M6J?{VskLm zkP9eQ2|oi7fmKIRM?{N&%XBRyIKsXm`(A$zQMrk-ZCHc=Ey!9>N7Sy*c7b%i2n=*| zZ~*5W3y>g);^T9~;J;tj*@+jYnQO-CJXv`q8nlu|YH#2vkTKOoDH z=lh5EJ@XImI{^?_DzpH|AizF+s<7=VJwlv9C5J4K9$yf>tLqAxtM1|lea z;Mzqd8g!fB8{6Pjy#Q#2;PFIFEca%0fG~tzpd+BVH%I>y;#z(y!^m7(TX;oA{U64cxE<)%`b2lAs%ufvTafF$#N13|ycV z`A6~?S9-z0RV{~39JY)b{tMuQ`6Z>i8M4dCuV57yg(uquF$0x$QzGts*l|v}DNl3^ zHijN84OvR9lWB14%}BI2WU>stTB~;k5+PVFDBuR#pwpga&tm=iI>^+KFC)6{$C`_i z(@p~r0Nn!7tw%$Eg}TGska8`|WqRKW>JqX6sO7}?IFW&QB}5g&7*<}k=hW{Sh*uU}J$(s^=2 z>)HpWr5}QJOpZ;nu7tSxSMr#LizX(ADioK@n zr*8AD&tqsm>H2CS(Zlt>iLCk|o3-iPd}WEzR}J|XAidVep9kbL*77r9M5u|;^qUtY zK3Uk>a=jCQhzTs56E8PjgYVP`y`?IK>;eFe)xJY012|5O(M&oyix{JH`SY~bqpuWj z*sug^wMa-xGBX$2PGFqt@WfqcW$ij4k7x0_2@(Nx{^lf@H_`5Q@qXWGf5142ZzcyE z9{u&XjLNAw>tILV|(B2@hC%_NVx@g|Vsq|~n=hl3xZ|xWP(bUi1LjxJ#!C|VZlDTI2pgMjM0t8M| z)pR1x;M(ZvQHC3ms!*Z|;n+Qnq?K^HlqNIJZr2Pb!J-#frL>F;@`aKMVMHvP$#n7X zhq}JhB6jdC26=k!B#BKLG&D307d#tnGTR%bp`-LbR_96Q9cuM3Vm2_IUW8D_+|E_e zkdt#NjrCg$cU6QvUvVPZ543(Xe3aj>KtQ-(TmoYC=Ho3bxN=&QkdSGX;V6Ij zKIj|qXD4+V#gN%|pXb9X$ZEOB_zS%R==NM-A;3ij(w`uV$MC7%gV5z5}u^YB@7EIP~_OJil8ie@<&@ChAth> zW>O7c_oDp3@bBP|?K{9M?gTE!;DdKMb#}t=0J0_WC%-Gfq!<=+m<42F-lz#}x`41K z^Do2=G4c(^oMeUcg=vK#E^*(uaqT)J_En|PFG=u(9fk`)HWgb3U7*vE$UK-hbKQUrx4n9S3EZiuLBT2cT2~0E5DIE><#U z{*w+yz1ol->;+L>|6eb`{0l$v*?(MzX~JMIfCFJ69c!nfli_>SQc~Wek|Do;Y z7##eM+P*w2=C|#eM5UsAU#FF#eIeS5B$|+ZN_&K8k#?n0rd7KrN()7_AW4gs8H7@3 zu~buN5tXHVc|PC!{yl#@+k3qCd%TasKRU+I%y+Kqyw3BpU8F$B88T~()9fWmlMX%G z+_P7sSQz15Zs-LTcSerw`ZVG8%G`K_Eab``MmPOm3$zH27q43$eYS4I*wpme)-xNS zT1msH7-?e*)cMf+J#?fcNZy=WEQ*@ogAHwA&G z@~R`k+k@^4#JuS0;#cdxIgIlw2lEE^$vn1~0t$Vw_F^NnBqml4z07x&SHLJUdxp3+svC)<>y{6J3wA>Y)rw;zoJr+twKVPEy- zbV84C2pUqH!bHjjXM$5rhB;LD8yUC&*dyk4M$j)}{8M4|rRS zLVOBH!NuSu04c#{#!=_}PoGIWX(2};CU64)B6sAbvGY3P0aCT6R-QQR?cK0eg&@W8 z4glEe-myO6>3K1bZIeye3gMGocdtT1T3F}?4RD#}*xu`gQObXSA7mPow6wNvhBsQE zxyAeP7D&jfPgI!$ecI+I?&VOA-XDMI2b!)qirjR@1F<3E8_FLMqQ4>X_ePvO-s`Bv zuf>nl=tS01D=kG!F=PWYniP}jj83OWb-c+@S10OWmcYwse}+~~dxP^!fX%!+{)UkP zC$>5l;~7u_%Wfl^s$pyDOpuH(7jpe_?0R;oG%6enV}ZiP=W2s0#YtT|S8C?jtMeOTKmRwzb8ShL9bXWn^3pgr)*1 z&Vbjt!^Who^TJ5sY=-6WoFa+z%~YL4OWL0mm$HFe!u=t&U4;@WJjA51;|QH0dQ@1B z<75F>u4KkLbJwHj4DI0>DXE9j%lqQwRYbkKhO5U|Pcv52$_M)PqKIm_IlbsnvaVbq z^-m;o4}vU0+iC3d2hmyRn_?SmlG1I;fL%fnuo0>{RU!Xo=wH^dvcA#t+s&*y3)GDg z?7{QJ2?;0ViV-VPEpNpIGETk}3RkFRSl5D9HUTY&lo_W{ci3m4#B~pDX2LnM)%ntB z=bgC2K}b(99PG9|FV(>w*)3D@x~XZ^Y0_>LHS0vpDUQcC9n5ODdIS;wBLD>eW%Dgh zm8DRx15XsU1wen!8Veep=k5j%=JY85sBtFYJMAhUx zn)P+%GO{ep4+!`Ta)Bxnlhr)DyfQShtE8e==_in*=+r3mZt^WP%7xziV1b61Sqs`t=$@BT)DI9Vup|hq21|aPPrTqwZj;cAbDxb9? z#V9s9x9{?Fq$rI&q1*P!i?lRep=+nl+A3X7)puQp|2-lwYM16%6i7ZvrxB)D01zo} z)UTjS4eZl`oatj*-e_|ER_0R+#(zmy-=bVOXt(V*np#OerHtub+q7WqRYBacyOX%B zBo6EqU2F5GbSr33;-4CO7|24(9TTfRDnZ;c05C^BIN2@w09Qm65JG%a?!t+EwZZ&< zh)k}j@xF@@dlF?G)|zj_D|g_$WcR$y*^JUanAqMIy=E8R=Xj8nM;_AW=yVDBKNlH( z&u2rE)HJSv5Dl5ojk?cTrA+{Cdp&>akYp8_B8g8ZemyrA@|vlEF!yJYgGXxUwzWZL zJ{BSZz#ydONfOXGL%w~h^9XCEjA+-6^th0PV|9+pA+;Zj1#eiDeJVDY#sA zqEVG3y$uqkD_1s^ASr*cq5Pttnyj)iN3afbmUaeE&TXcF zrh81xP(_()f1x=1CL6qkV@6$7^%em58F8Uup|GVZ9v`d7n(WQzBC%`=k_HzeodkO(GKz78XT;q9h9!A9ZiIvqEG?&T>2fJIQ(eO zKV92zCXJ105&y}&@vr@Y|1;|qjx1TQH=LZD;FGNCu*oEP@;=X(9o@Tp9II{$YcZOA z5E)KT`xy3^wQ&W0*PR*adiwMzAY8WsXER~b;?iRw;JTpSMQ|bT zoFX8%9UFCaIca%CyUAUh=|4JtwN$n@l;YB3b~fvb>ret_ZlEuG323XNwy+&?QhQto>N8tgkaJ{cL|-Ie8cKqv}eIWAndfH62i z;5A1%;T8rp9SX@O3d2R9Bw8Em7k-*UaN#<1vUt)E4xJwDwwPlz%e%JO8}{tNJH2`j zUa+Wg3@pRCD6%k9CaT{1$GE>X+j@bA!1yqO$CjU; zPp}#5N9*Bcngy0}b$hU1jnX88U9~TZ8j1>`bpWy5JV(}#nN7Y0SQsK1&dy^lF26o_ z)?fb(o@%A;Q1xPL@mWi|T-2=&%ooy|DR*2LbM>GG&C2vLNgVuQb-|HHV*MHtMKS(F%cmwh7EWi&pbI*nfHxOhG~8kLxD z2f~7@!TLDMQD>iK4-`0Q#=FS5eAl!;fgaRGs!F^uE>ZL@U=zsOmUwr!eDw_$N_DUi z&iFY!y-dF#eh8iwGwopXLd%HLpxzD~el6*tfW~t!+D21Cq9445e9Oe<#!k3qqTB|5 z+{+a7Iv0?ddp+!W`5BKB0E7YE8}r9KJ?rVHHL-@)>T;BTE}Gi!DAMq}kPmond$aj# zU}xs$<|5OZ)GW=}4EAtb0vBrxJ|fT7)vSj`8GV}O$2upYBE>RZ72Zl?do-EVXMcXfP39bhl38HyO~U+AV1Lo7N||~+$JC`qW!8NzU_i$|Go8gk z7;wJw-^afL1!Q(V9?W#O*|CXwk(OibVUqN*~G$puP9;IN$z^n$T>_TRQ~SA@R_PTjIpU`gCs$>ZDJb#oU;+V2|^)^(_I9PTV=7-E&m30r!k9THN~9K1ef zmrA6h@sO`*O;1u#<{e;h%%`@@CfIncGKvWkb7|1F7kwG2AUGCod?wC!4Z*@>m0NtZV^5)z!>aM)A-etYP23h`E_&%W+}D)J@15fYDcTn!f&i6iP z9gJ#{_0o>kGGnN83wYPiW9sE1qrJ*Uex(g>uUgfQfy9-b=>^%xo3=NQ=2!)K>6zT( z>fYAgGDdEZ(E;_;i0`plYjn?ctD9PO(-zeQ>)4wq_J-mLDjIw>;nZ!Jg2&D+s(;Kb zE>;5`tjzY%X&KZg8Yj~u_({N0k*Zx5wdf;dg3)LpaU3P!Fh+?@2 z7tzS{mYBaSJqmg)>f|9l1#1t`dfh9>wzO!)_hEW!Ij}b zJq-;8tykpjjwshxbv49&8ySh=6al$NWc&8{s?qE+O^kN__-Z*ca4169>ptNXgs#5e zU|qnhS7x^Y&&p@7tL7DtaC3MGG`u7o_15(^Bk08hh9CLlAsWt)A(aS=ey;&tk*04H zE?#yI(Mzr`S83}F&{ivDcc%h8=&y3-3s|K!24b90iT#i*&oSHbE;=~E|C07$Z>Ki_ zT6vPap2yZaKi8%+B{+ZaVYY|`Pp@Xc`WK1q#F*8*S$AR}+C=|B#D`vFX;3wLI;O^-*dFQnt$oAM>LYy(#j;_WdNNR(;fuafA(M37dtxKe3oR&%*5$_~gU( zM@q|BAF=PnUku1j;@qb_L)D#hqOFS;*Rx*`8$lOA-NFA$q8Q@&3!J-ACKXKAiESgA zlcy!}>q6EM>F;XF(3K{)g5U@P50e2wn=z0iHmS!L0ISNJq9|Jmw(NPFooh>AIgmJ6 z>R9=MJ5{ z8dHoo!l|-~n>OL7DYf0_G4ncRx))^BXUi*3ZpR1nkE#7&m^|LnZv5%dX(lEa9n&W1 zUI(7$d0u9c)oT7vfZAfeDaf$4tWNt2P(|ulUX1W=FV0OOMX%t(+G%u=Mg6WhDQweE zA*W9kb!nWC*(L5333D4sCrur9cA!~QS(vMtL=><(=;#G~9V73+yhEGy?(xTwM#sxH$z?5Ic_s<<685-;KY$)(Q^No;!Ck z>b^E3jJ+ znU`H%{+I4;;5I?IMg2uF{T zfM_%8l5V7ZV&H|tI118QvD=0xVbvYSJdrQzIfEmLFYC?m2N=v@f>}jm%n*A7U18nn zp*^@ZrDW|syt)pZKE|b(MHUv8zaIG%VgT_g!EX@ILwDC{4M+c1B{D7PJ^h4YTZm|% z{=)Tn>{`g22`MlV5P(?%R`v7uU+!C8(t$Syh1-ij1=>klwpW0%8KDL(IV z>QrJg@^jof3Ro(2of;XltqU|s*Pfdjn;li8$4PJ-kM?wT^T=DSID_Pd+2neJTbh2& z`^@-R)luy2qnTNFpVFELIo4w!&oeQF8^LqN@@~LvW)UxtA~+7S<`iJT%fxLtb^}*5 zPZCKFFVAgqHh!sSZG#*=@L-h1hHNC{|1-3tEH#x#WA5lz>g6WWQcu-=m)K}=9W=Dh z{vA2#LFn9g>9(cz+qe9Vwxcf00$xrrdj1enkOJjhM@n`Ocf{C(nt<}`NJ`3A zXcr-)j!#U?IJ-)q8Ty%d!MHh3oq}v|43Ol(cZ>>DP6hv$t7>8e$aZwqQe6tgYSqR} za1n?o#-!4USRbGLmum1nv4lJkYkyp6%av$d#~^_}AgTrsIYtQkL=pPZ1KT0)*WkH_ z8PxSBmtZ|=?}0mqcqQWuEghDT&AN!xpMSiMHENmhma|;s>gbn?SnlwOw4`l#bMNTh z_!8TPtuJ2OCIVm{`)Md%cw=?^U>#5ltM#*w(Zpierz3}(L~8u-;V~34Rmm2+egat= z#)_}_rMdqV0twQux(>K7ky>UrDk$$Ec)-;OtDeW1a;5Tfluqhi*=hFk29cXy80`J4 z>scy)$BCKf3m2wG-Y{Ky3PWzob!o_(tkImp1r&cSV9X0Wj@4H8+}q2GwpIdPODE-& z1WaZ~YdP}`F)AV%TSiXW1Fr$z(1+a$xy$F*!3KWyJ3_eInWRJMe&}wXCJni}4}7|> z%8b}-7Vx3?!k;K1N_WqIiz4D0ptz0(0mXMIh1;U79CGn5A9S3?$r(aJXbt6?@3VzT0xY8t{LgA zeY^zPbi4|`k!w!YDClT>TL^sVlMoW48_KK2Uc+1oMhCZHuos>Jf1*-_WP$xH@T?k_ zf4qBG2Vw-C7lfgs8c0v3mghB_sjJF*|NgrU5Twy@;PK99AFlkzbuCFof^jO*p1^`9 z_whUeX5j7P!*!7#%B#TTrL#z&`((HLJXz`~6t`4=;$jgygj0k1jx#fM{akUhE%8HV zK>dMegWZj66*=VsE;B-g?~#{LSd%!DUkmWcIYrDzFh)^KX9Zuo9ug~6_s|6DkbpXK zS;;}S{V>3*1FK*L;u{QtAyq)x@ri%m*&*mu1TAG>umECf5oq!UQVb{?56D0V#{z&P zjzJDjvtV$4jHj>x;r4FVShy)OkntS<;Yn3v7vd%HfgmKF$MreJDWQ{8{%6jUY|}ti zq1z2Za?h#WWqgsp0HS5aQURhWE+tEHghhOM^F~csS^0XHOdaT{(9qD#@Vy%;@|y(B zX9!6*s62o}z|V%kpW$1VqoE>CfAa5R7gS~3M`&cQX^=G?X9i&FT@xErw?_G<3E)+% zp)@?dfmY5n{QiN0wJ;x_?2*JmfZaqRdie1abP2e&fjl}$+(i(}w2Yex{%f4){{?OQ zpF0d9lnO~rJ1SvkNXHE*E!MHrc{!PVS}-pR`xNmU~Sv0I`lw>t6G57n~8AUPcE|)#K zb%^iO61neDbPM_Fw{Y^@Thq{!UL4?U-RXj@@4XtRFQWExq543dcX6}s;kevyjQd|^_4TW zLhHJAf?h~d<7by+2+vlowYqU`b0?FqEs69^lx@#|T3^&VMN+kG-`v}cs)ydt11KWz zHXK3DrTOCpznPC&^jSrV_dGjIH!M2I5Z9-95^W$_%Zh~$5uw#0sg?;puiPzm3t#x; zt9Rp&qBHL==?1;sYbFBcG+=cZGfPF)<;*Uk@%gxxM_7w3dZ>Y=J&MKxHK&S>1w# z{_1SI^WAS_!Pwn?TrP3xU77q%b1T+6U){OQ_iN;F0eI2gBkq>28@_8P9a(_499hk*NDULrv&P_p6p$F{b;*q+0+(p&{B(WUr<2iP8LCcTrJjX2?cen1-SI6G&o zMEX^2u6dbUSTFDjvg$u>#v2ET54|TPWy2)1g<=RqAdn*=PM(s&Mvq}mzd9q$S9k79 zWMto5Rx{GlwVS`{D0KOs2XRt>GY-xtGM9vA-)zpV8mSOENP4uc8KQV5JPc~dN?V3& zbwV0mz50%{BwT1`%%Z=ar0ga~He2hU4U4Au5~v;q$(W+FtNv!kXX?-c<3wC&+x+*% zfuxOY%ZF2h>L$?Tqtulz$&g}KH&Ae;U`r^Mv{cB-+e8XO&N3J0h$I(hJd*8p+Rre= zj-rj5oW~)+X0*o!B1G_QUL%CAM2W|t z4Ce;-oPW0!=|Cfrt+=MI5h;mzY5&vxG2|<6+?T`|EZ&DF_8%qg&|P6>vd8$Yp<~3q E0nxN(k^lez literal 30153 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 Xyw}80EwBs6uWmBZGa=s7agO|N9ZHTr