From a9224266f33d879debf207f3de0f81c2fee35cde Mon Sep 17 00:00:00 2001 From: Sergio Tomasello Date: Tue, 11 Apr 2017 17:19:30 +0200 Subject: [PATCH 01/60] Arduino boards with ESP8266 (#3121) default crystal freq 26M for all boards, 40M for arduino --- boards.txt | 70 ++++++++++++++++++++++++++++ cores/esp8266/core_esp8266_phy.c | 7 ++- platform.txt | 4 +- variants/arduino_spi/pins_arduino.h | 39 ++++++++++++++++ variants/arduino_uart/pins_arduino.h | 39 ++++++++++++++++ 5 files changed, 155 insertions(+), 4 deletions(-) create mode 100644 variants/arduino_spi/pins_arduino.h create mode 100644 variants/arduino_uart/pins_arduino.h diff --git a/boards.txt b/boards.txt index 818b26ce25..720ec3a6f4 100644 --- a/boards.txt +++ b/boards.txt @@ -1,5 +1,7 @@ +menu.BoardModel=Model menu.UploadSpeed=Upload Speed menu.CpuFrequency=CPU Frequency +menu.CrystalFreq=Crystal Frequency menu.FlashSize=Flash Size menu.FlashMode=Flash Mode menu.FlashFreq=Flash Frequency @@ -1892,3 +1894,71 @@ coredev.menu.DebugLevel.OTA2____=OTA + Updater coredev.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER coredev.menu.DebugLevel.all_____=All coredev.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM + +############ Arduino boards with Esp8266 ############ + +arduino-esp8266.name=Arduino + +arduino-esp8266.upload.tool=esptool +arduino-esp8266.upload.speed=9600 +arduino-esp8266.upload.resetmethod=ck +arduino-esp8266.upload.maximum_size=1044464 +arduino-esp8266.upload.maximum_data_size=81920 +arduino-esp8266.upload.wait_for_upload_port=true +arduino-esp8266.serial.disableDTR=true +arduino-esp8266.serial.disableRTS=true + +arduino-esp8266.build.mcu=esp8266 +arduino-esp8266.build.f_cpu=80000000L +#arduino-esp8266.build.f_crystal=40000000 +arduino-esp8266.build.core=esp8266 +arduino-esp8266.build.flash_mode=qio +arduino-esp8266.build.flash_size=4M +arduino-esp8266.build.flash_freq=40 +arduino-esp8266.build.debug_port= +arduino-esp8266.build.debug_level= +arduino-esp8266.build.board=ESP8266_ARDUINO + +arduino-esp8266.menu.BoardModel.starottodeved=Star OTTO +arduino-esp8266.menu.BoardModel.starottodeved.build.board=ESP8266_ARDUINO_STAR_OTTO +arduino-esp8266.menu.BoardModel.starottodeved.build.variant=arduino_uart +arduino-esp8266.menu.BoardModel.starottodeved.build.extra_flags=-DF_CRYSTAL=40000000 + +arduino-esp8266.menu.BoardModel.primo=Primo +arduino-esp8266.menu.BoardModel.primo.build.board=ESP8266_ARDUINO_PRIMO +arduino-esp8266.menu.BoardModel.primo.build.variant=arduino_spi +arduino-esp8266.menu.BoardModel.primo.build.extra_flags=-DF_CRYSTAL=40000000 + +arduino-esp8266.menu.BoardModel.unowifideved=Uno WiFi +arduino-esp8266.menu.BoardModel.unowifideved.build.board=ESP8266_ARDUINO_UNOWIFI +arduino-esp8266.menu.BoardModel.unowifideved.build.variant=arduino_uart +arduino-esp8266.menu.BoardModel.unowifideved.build.extra_flags=-DF_CRYSTAL=40000000 + +arduino-esp8266.menu.UploadSpeed.9600=9600 +arduino-esp8266.menu.UploadSpeed.9600.upload.speed=9600 +arduino-esp8266.menu.UploadSpeed.19200=19200 +arduino-esp8266.menu.UploadSpeed.19200.upload.speed=19200 +arduino-esp8266.menu.UploadSpeed.57600=57600 +arduino-esp8266.menu.UploadSpeed.57600.upload.speed=57600 +arduino-esp8266.menu.UploadSpeed.115200=115200 +arduino-esp8266.menu.UploadSpeed.115200.upload.speed=115200 +arduino-esp8266.menu.UploadSpeed.230400=230400 +arduino-esp8266.menu.UploadSpeed.230400.upload.speed=230400 +arduino-esp8266.menu.UploadSpeed.460800=460800 +arduino-esp8266.menu.UploadSpeed.460800.upload.speed=460800 + +arduino-esp8266.menu.FlashSize.4M1M=4M (1M SPIFFS) +arduino-esp8266.menu.FlashSize.4M1M.build.flash_size=4M +arduino-esp8266.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld +arduino-esp8266.menu.FlashSize.4M1M.build.spiffs_start=0x300000 +arduino-esp8266.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 +arduino-esp8266.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 +arduino-esp8266.menu.FlashSize.4M1M.build.spiffs_pagesize=256 + +arduino-esp8266.menu.FlashSize.4M3M=4M (3M SPIFFS) +arduino-esp8266.menu.FlashSize.4M3M.build.flash_size=4M +arduino-esp8266.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld +arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_start=0x100000 +arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 +arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 +arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_pagesize=256 diff --git a/cores/esp8266/core_esp8266_phy.c b/cores/esp8266/core_esp8266_phy.c index 67604174e5..1b45642f8d 100644 --- a/cores/esp8266/core_esp8266_phy.c +++ b/cores/esp8266/core_esp8266_phy.c @@ -88,7 +88,11 @@ static const uint8_t ICACHE_FLASH_ATTR phy_init_data[128] = // 0: 40MHz // 1: 26MHz // 2: 24MHz - [48] = 1, + #if F_CRYSTAL == 40000000 + [48] = 0, + #else + [48] = 1, + #endif @@ -312,4 +316,3 @@ void user_rf_pre_init() void ICACHE_RAM_ATTR user_spi_flash_dio_to_qio_pre_init() {} - diff --git a/platform.txt b/platform.txt index f8f79de6c9..e300effc92 100644 --- a/platform.txt +++ b/platform.txt @@ -31,10 +31,10 @@ compiler.c.flags=-c {compiler.warning_flags} -Os -g -Wpointer-arith -Wno-implici compiler.S.cmd=xtensa-lx106-elf-gcc compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls -compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u call_user_start -u _printf_float -u _scanf_float -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read +compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u call_user_start -u _printf_float -u _scanf_float -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read compiler.c.elf.cmd=xtensa-lx106-elf-gcc -compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lmesh -lwpa2 -lstdc++ -lm -lc -lgcc +compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lmesh -lwpa2 -lstdc++ -lm -lc -lgcc compiler.cpp.cmd=xtensa-lx106-elf-g++ compiler.cpp.flags=-c {compiler.warning_flags} -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections diff --git a/variants/arduino_spi/pins_arduino.h b/variants/arduino_spi/pins_arduino.h new file mode 100644 index 0000000000..69513edbb5 --- /dev/null +++ b/variants/arduino_spi/pins_arduino.h @@ -0,0 +1,39 @@ +/* + pins_arduino.h - Pin definition functions for Arduino + Part of Arduino - http://www.arduino.cc/ + + Copyright (c) 2007 David A. Mellis + Modified for ESP8266 platform by Ivan Grokhotkov, 2014-2015. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ +*/ + +/* + Modified 23 March 2017 + by Sergio Tomasello and Andrea Cannistrá +*/ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include "../generic/common.h" + +static const uint8_t LED_BUILTIN = 2; +static const uint8_t BUILTIN_LED = 2; + +#endif /* Pins_Arduino_h */ diff --git a/variants/arduino_uart/pins_arduino.h b/variants/arduino_uart/pins_arduino.h new file mode 100644 index 0000000000..b64249bd30 --- /dev/null +++ b/variants/arduino_uart/pins_arduino.h @@ -0,0 +1,39 @@ +/* + pins_arduino.h - Pin definition functions for Arduino + Part of Arduino - http://www.arduino.cc/ + + Copyright (c) 2007 David A. Mellis + Modified for ESP8266 platform by Ivan Grokhotkov, 2014-2015. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ +*/ + +/* + Modified 23 March 2017 + by Sergio Tomasello and Andrea Cannistrá +*/ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include "../generic/common.h" + +static const uint8_t LED_BUILTIN = 14; +static const uint8_t BUILTIN_LED = 14; + +#endif /* Pins_Arduino_h */ From a41f55c469dbf3ecfa3aa051fa95322d8d316e2e Mon Sep 17 00:00:00 2001 From: david gauchard Date: Tue, 25 Apr 2017 15:55:01 +0200 Subject: [PATCH 02/60] prepare lwip2 (#3129) * minimum changes for libraries to compile with lwip2 * add WiFiClient::availableForWrite() (similar to Serial::) which indicates how much data can be sent without buffering --- .../ESP8266WiFi/src/ESP8266WiFiGeneric.cpp | 12 +++++++++- libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp | 6 +++++ libraries/ESP8266WiFi/src/WiFiClient.cpp | 7 ++++++ libraries/ESP8266WiFi/src/WiFiClient.h | 2 ++ .../ESP8266WiFi/src/include/ClientContext.h | 5 ++++ .../ESP8266WiFi/src/include/UdpContext.h | 23 ++++++++++++++++--- 6 files changed, 51 insertions(+), 4 deletions(-) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp index 01d32920f3..1fc13a116e 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp @@ -38,6 +38,7 @@ extern "C" { #include "lwip/opt.h" #include "lwip/err.h" #include "lwip/dns.h" +#include "lwip/init.h" // LWIP_VERSION_ } #include "WiFiClient.h" @@ -419,7 +420,11 @@ bool ESP8266WiFiGenericClass::forceSleepWake() { // ------------------------------------------------ Generic Network function --------------------------------------------- // ----------------------------------------------------------------------------------------------------------------------- +#if LWIP_VERSION_MAJOR == 1 void wifi_dns_found_callback(const char *name, ip_addr_t *ipaddr, void *callback_arg); +#else +void wifi_dns_found_callback(const char *name, const ip_addr_t *ipaddr, void *callback_arg); +#endif /** * Resolve the given hostname to an IP address. @@ -465,7 +470,12 @@ int ESP8266WiFiGenericClass::hostByName(const char* aHostname, IPAddress& aResul * @param ipaddr * @param callback_arg */ -void wifi_dns_found_callback(const char *name, ip_addr_t *ipaddr, void *callback_arg) { +#if LWIP_VERSION_MAJOR == 1 +void wifi_dns_found_callback(const char *name, ip_addr_t *ipaddr, void *callback_arg) +#else +void wifi_dns_found_callback(const char *name, const ip_addr_t *ipaddr, void *callback_arg) +#endif +{ (void) name; if(ipaddr) { (*reinterpret_cast(callback_arg)) = ipaddr->addr; diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp index 1d7d22736d..136a60300c 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp @@ -36,6 +36,7 @@ extern "C" { #include "smartconfig.h" #include "lwip/err.h" #include "lwip/dns.h" +#include "lwip/init.h" // LWIP_VERSION_ } #include "debug.h" @@ -400,8 +401,13 @@ IPAddress ESP8266WiFiSTAClass::gatewayIP() { * @return IPAddress DNS Server IP */ IPAddress ESP8266WiFiSTAClass::dnsIP(uint8_t dns_no) { +#if LWIP_VERSION_MAJOR == 1 ip_addr_t dns_ip = dns_getserver(dns_no); return IPAddress(dns_ip.addr); +#else + const ip_addr_t* dns_ip = dns_getserver(dns_no); + return IPAddress(dns_ip->addr); +#endif } diff --git a/libraries/ESP8266WiFi/src/WiFiClient.cpp b/libraries/ESP8266WiFi/src/WiFiClient.cpp index 4b19ed1b0e..144cf194b5 100644 --- a/libraries/ESP8266WiFi/src/WiFiClient.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClient.cpp @@ -106,11 +106,13 @@ int WiFiClient::connect(IPAddress ip, uint16_t port) // if the default interface is down, tcp_connect exits early without // ever calling tcp_err // http://lists.gnu.org/archive/html/lwip-devel/2010-05/msg00001.html +#if LWIP_VERSION_MAJOR == 1 netif* interface = ip_route(&addr); if (!interface) { DEBUGV("no route to host\r\n"); return 0; } +#endif tcp_pcb* pcb = tcp_new(); if (!pcb) @@ -163,6 +165,11 @@ bool WiFiClient::getNoDelay() { return _client->getNoDelay(); } +size_t WiFiClient::availableForWrite () +{ + return _client->availableForWrite(); +} + size_t WiFiClient::write(uint8_t b) { return write(&b, 1); diff --git a/libraries/ESP8266WiFi/src/WiFiClient.h b/libraries/ESP8266WiFi/src/WiFiClient.h index dabd65f26e..cb4f75c37b 100644 --- a/libraries/ESP8266WiFi/src/WiFiClient.h +++ b/libraries/ESP8266WiFi/src/WiFiClient.h @@ -75,6 +75,8 @@ class WiFiClient : public Client, public SList { void setNoDelay(bool nodelay); static void setLocalPortStart(uint16_t port) { _localPort = port; } + size_t availableForWrite(); + friend class WiFiServer; using Print::write; diff --git a/libraries/ESP8266WiFi/src/include/ClientContext.h b/libraries/ESP8266WiFi/src/include/ClientContext.h index 1d621df4ce..7a357390d6 100644 --- a/libraries/ESP8266WiFi/src/include/ClientContext.h +++ b/libraries/ESP8266WiFi/src/include/ClientContext.h @@ -124,6 +124,11 @@ class ClientContext } } + size_t availableForWrite () + { + return _pcb? tcp_sndbuf(_pcb): 0; + } + void setNoDelay(bool nodelay) { if(!_pcb) { diff --git a/libraries/ESP8266WiFi/src/include/UdpContext.h b/libraries/ESP8266WiFi/src/include/UdpContext.h index a1ce2327ed..cb5c5628d5 100644 --- a/libraries/ESP8266WiFi/src/include/UdpContext.h +++ b/libraries/ESP8266WiFi/src/include/UdpContext.h @@ -23,8 +23,12 @@ class UdpContext; -extern "C" void esp_yield(); -extern "C" void esp_schedule(); +extern "C" { +void esp_yield(); +void esp_schedule(); +#include "lwip/init.h" // LWIP_VERSION_ +} + #define GET_IP_HDR(pb) reinterpret_cast(((uint8_t*)((pb)->payload)) - UDP_HLEN - IP_HLEN); #define GET_UDP_HDR(pb) reinterpret_cast(((uint8_t*)((pb)->payload)) - UDP_HLEN); @@ -104,10 +108,17 @@ class UdpContext udp_disconnect(_pcb); } +#if LWIP_VERSION_MAJOR == 1 void setMulticastInterface(ip_addr_t addr) { udp_set_multicast_netif_addr(_pcb, addr); } +#else + void setMulticastInterface(const ip_addr_t& addr) + { + udp_set_multicast_netif_addr(_pcb, &addr); + } +#endif void setMulticastTTL(int ttl) { @@ -328,7 +339,7 @@ class UdpContext } void _recv(udp_pcb *upcb, pbuf *pb, - ip_addr_t *addr, u16_t port) + const ip_addr_t *addr, u16_t port) { (void) upcb; (void) addr; @@ -353,9 +364,15 @@ class UdpContext } +#if LWIP_VERSION_MAJOR == 1 static void _s_recv(void *arg, udp_pcb *upcb, pbuf *p, ip_addr_t *addr, u16_t port) +#else + static void _s_recv(void *arg, + udp_pcb *upcb, pbuf *p, + const ip_addr_t *addr, u16_t port) +#endif { reinterpret_cast(arg)->_recv(upcb, p, addr, port); } From 0b672668bf636ef650b8b700a0af14677c3fafe5 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Fri, 28 Apr 2017 11:47:09 +0800 Subject: [PATCH 03/60] progmem: replace C version of pgm_read_{word,byte} with assembly See discussion in https://github.com/esp8266/Arduino/issues/3140 --- cores/esp8266/pgmspace.h | 42 ++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/cores/esp8266/pgmspace.h b/cores/esp8266/pgmspace.h index 6f04b10229..e8ecd1d999 100644 --- a/cores/esp8266/pgmspace.h +++ b/cores/esp8266/pgmspace.h @@ -87,23 +87,31 @@ int vsnprintf_P(char *str, size_t strSize, PGM_P formatP, va_list ap) __attribut // w1, w0 #ifdef __ets__ -#define pgm_read_byte(addr) \ -(__extension__({ \ - PGM_P __local = (PGM_P)(addr); /* isolate varible for macro expansion */ \ - ptrdiff_t __offset = ((uint32_t)__local & 0x00000003); /* byte aligned mask */ \ - const uint32_t* __addr32 = (const uint32_t*)((const uint8_t*)(__local)-__offset); \ - uint8_t __result = ((*__addr32) >> (__offset * 8)); \ - __result; \ -})) - -#define pgm_read_word(addr) \ -(__extension__({ \ - PGM_P __local = (PGM_P)(addr); /* isolate varible for macro expansion */ \ - ptrdiff_t __offset = ((uint32_t)__local & 0x00000002); /* word aligned mask */ \ - const uint32_t* __addr32 = (const uint32_t*)((const uint8_t*)(__local) - __offset); \ - uint16_t __result = ((*__addr32) >> (__offset * 8)); \ - __result; \ -})) + +#define pgm_read_with_offset(addr, res) \ + asm("extui %0, %1, 0, 2\n" /* Extract offset within word (in bytes) */ \ + "sub %1, %1, %0\n" /* Subtract offset from addr, yielding an aligned address */ \ + "l32i.n %1, %1, 0x0\n" /* Load word from aligned address */ \ + "slli %0, %0, 3\n" /* Mulitiply offset by 8, yielding an offset in bits */ \ + "ssr %0\n" /* Prepare to shift by offset (in bits) */ \ + "srl %0, %1\n" /* Shift right; now the requested byte is the first one */ \ + :"=r"(res), "=r"(addr) \ + :"1"(addr) \ + :); + +static inline uint8_t pgm_read_byte(const void* addr) { + register uint32_t res; + pgm_read_with_offset(addr, res); + return (uint8_t) res; /* This masks the lower byte from the returned word */ +} + +/* Although this says "word", it's actually 16 bit, i.e. half word on Xtensa */ +static inline uint16_t pgm_read_word(const void* addr) { + register uint32_t res; + pgm_read_with_offset(addr, res); + return (uint16_t) res; /* This masks the lower half-word from the returned word */ +} + #else //__ets__ #define pgm_read_byte(addr) (*reinterpret_cast(addr)) #define pgm_read_word(addr) (*reinterpret_cast(addr)) From c5c138ec5abd734dad44bdb3a69a20c2eda98211 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Sat, 29 Apr 2017 22:58:19 +0800 Subject: [PATCH 04/60] axtls: update to bddda2a0 - update ssl_client_new signature - add max fragment length negotiation support (hardcoded to 4096 bytes) - build axtls with -f{function,data}-sections, ~1k less DRAM usage, ~3k less flash - strip prefix from build paths in debug symbols --- .../ESP8266WiFi/src/WiFiClientSecure.cpp | 5 +- libraries/ESP8266WiFi/src/include/ssl.h | 68 ++++++++++++++++-- tools/sdk/ld/eagle.app.v6.common.ld | 1 + tools/sdk/lib/libaxtls.a | Bin 682770 -> 757712 bytes 4 files changed, 68 insertions(+), 6 deletions(-) diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp index da7248fab6..e6ddf0ce5a 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp @@ -90,8 +90,11 @@ class SSLContext void connect(ClientContext* ctx, const char* hostName, uint32_t timeout_ms) { + SSL_EXTENSIONS* ext = ssl_ext_new(); + ssl_ext_set_host_name(ext, hostName); + ssl_ext_set_max_fragment_size(ext, 4096); s_io_ctx = ctx; - _ssl = ssl_client_new(_ssl_ctx, 0, nullptr, 0, hostName); + _ssl = ssl_client_new(_ssl_ctx, 0, nullptr, 0, ext); uint32_t t = millis(); while (millis() - t < timeout_ms && ssl_handshake_status(_ssl) != SSL_OK) { diff --git a/libraries/ESP8266WiFi/src/include/ssl.h b/libraries/ESP8266WiFi/src/include/ssl.h index f23d86af3a..a10e9dfb7e 100644 --- a/libraries/ESP8266WiFi/src/include/ssl.h +++ b/libraries/ESP8266WiFi/src/include/ssl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, Cameron Rich + * Copyright (c) 2007-2016, Cameron Rich * * All rights reserved. * @@ -75,6 +75,7 @@ extern "C" { // struct SSL_CTX_; typedef struct SSL_CTX_ SSL_CTX; typedef struct SSL_ SSL; +typedef struct SSL_EXTENSIONS_ SSL_EXTENSIONS; /* The optional parameters that can be given to the client/server SSL engine */ #define SSL_CLIENT_AUTHENTICATION 0x00010000 @@ -93,13 +94,16 @@ typedef struct SSL_ SSL; #define SSL_ERROR_DEAD -2 #define SSL_CLOSE_NOTIFY -3 #define SSL_ERROR_CONN_LOST -256 +#define SSL_ERROR_RECORD_OVERFLOW -257 #define SSL_ERROR_SOCK_SETUP_FAILURE -258 #define SSL_ERROR_INVALID_HANDSHAKE -260 #define SSL_ERROR_INVALID_PROT_MSG -261 #define SSL_ERROR_INVALID_HMAC -262 #define SSL_ERROR_INVALID_VERSION -263 +#define SSL_ERROR_UNSUPPORTED_EXTENSION -264 #define SSL_ERROR_INVALID_SESSION -265 #define SSL_ERROR_NO_CIPHER -266 +#define SSL_ERROR_INVALID_CERT_HASH_ALG -267 #define SSL_ERROR_BAD_CERTIFICATE -268 #define SSL_ERROR_INVALID_KEY -269 #define SSL_ERROR_FINISHED_INVALID -271 @@ -117,19 +121,25 @@ typedef struct SSL_ SSL; #define SSL_ALERT_CLOSE_NOTIFY 0 #define SSL_ALERT_UNEXPECTED_MESSAGE 10 #define SSL_ALERT_BAD_RECORD_MAC 20 +#define SSL_ALERT_RECORD_OVERFLOW 22 #define SSL_ALERT_HANDSHAKE_FAILURE 40 #define SSL_ALERT_BAD_CERTIFICATE 42 +#define SSL_ALERT_UNSUPPORTED_CERTIFICATE 43 +#define SSL_ALERT_CERTIFICATE_EXPIRED 45 +#define SSL_ALERT_CERTIFICATE_UNKNOWN 46 #define SSL_ALERT_ILLEGAL_PARAMETER 47 +#define SSL_ALERT_UNKNOWN_CA 48 #define SSL_ALERT_DECODE_ERROR 50 #define SSL_ALERT_DECRYPT_ERROR 51 #define SSL_ALERT_INVALID_VERSION 70 #define SSL_ALERT_NO_RENEGOTIATION 100 +#define SSL_ALERT_UNSUPPORTED_EXTENSION 110 /* The ciphers that are supported */ #define SSL_AES128_SHA 0x2f #define SSL_AES256_SHA 0x35 -#define SSL_RC4_128_SHA 0x05 -#define SSL_RC4_128_MD5 0x04 +#define SSL_AES128_SHA256 0x3c +#define SSL_AES256_SHA256 0x3d /* build mode ids' */ #define SSL_BUILD_SKELETON_MODE 0x01 @@ -218,6 +228,36 @@ EXP_FUNC SSL_CTX * STDCALL ssl_ctx_new(uint32_t options, int num_sessions); */ EXP_FUNC void STDCALL ssl_ctx_free(SSL_CTX *ssl_ctx); +/** + * @brief Allocates new SSL extensions structure and returns pointer to it + * + * @return ssl_ext Pointer to SSL_EXTENSIONS structure + * + */ +EXP_FUNC SSL_EXTENSIONS * STDCALL ssl_ext_new(); + +/** + * @brief Set the host name for SNI extension + * @param ssl_ext pointer returned by ssl_ext_new + * @param host_name pointer to a zero-terminated string containing host name + */ +EXP_FUNC void STDCALL ssl_ext_set_host_name(SSL_EXTENSIONS * ext, const char* host_name); + +/** + * @brief Set the maximum fragment size for the fragment size negotiation extension + * @param ssl_ext pointer returned by ssl_ext_new + * @param fragment_size fragment size, allowed values: 2^9, 2^10 ... 2^14 + */ +EXP_FUNC void STDCALL ssl_ext_set_max_fragment_size(SSL_EXTENSIONS * ext, unsigned fragment_size); + +/** + * @brief Frees SSL extensions structure + * + * @param ssl_ext [in] Pointer to SSL_EXTENSION structure + * + */ +EXP_FUNC void STDCALL ssl_ext_free(SSL_EXTENSIONS *ssl_ext); + /** * @brief (server only) Establish a new SSL connection to an SSL client. * @@ -244,11 +284,11 @@ EXP_FUNC SSL * STDCALL ssl_server_new(SSL_CTX *ssl_ctx, int client_fd); * can be null if no session resumption is being used or required. This option * is not used in skeleton mode. * @param sess_id_size The size of the session id (max 32) - * @param host_name If non-zero, host name to be sent to server for SNI support + * @param ssl_ext pointer to a structure with the activated SSL extensions and their values * @return An SSL object reference. Use ssl_handshake_status() to check * if a handshake succeeded. */ -EXP_FUNC SSL * STDCALL ssl_client_new(SSL_CTX *ssl_ctx, int client_fd, const uint8_t *session_id, uint8_t sess_id_size, const char* host_name); +EXP_FUNC SSL * STDCALL ssl_client_new(SSL_CTX *ssl_ctx, int client_fd, const uint8_t *session_id, uint8_t sess_id_size, SSL_EXTENSIONS* ssl_ext); /** * @brief Free any used resources on this connection. @@ -289,6 +329,15 @@ EXP_FUNC int STDCALL ssl_read(SSL *ssl, uint8_t **in_data); */ EXP_FUNC int STDCALL ssl_write(SSL *ssl, const uint8_t *out_data, int out_len); +/** + * @brief Calculate the size of the encrypted data from what you are about to send + * @param ssl [in] An SSL obect reference. + * @param out_len [in] The number of bytes to be written. + * @return The number of bytes that will be sent, or if < 0 if an error. + * @see ssl.h for the error code list. + */ +EXP_FUNC int STDCALL ssl_calculate_write_length(SSL *ssl, int out_len); + /** * @brief Find an ssl object based on a file descriptor. * @@ -384,6 +433,15 @@ EXP_FUNC int STDCALL ssl_verify_cert(const SSL *ssl); */ EXP_FUNC int STDCALL ssl_match_fingerprint(const SSL *ssl, const uint8_t* fp); +/** + * @brief Check if SHA256 hash of Subject Public Key Info matches the one given. + * + * @param ssl [in] An SSL object reference. + * @param fp [in] SHA256 hash to match against + * @return SSL_OK if the certificate is verified. + */ +EXP_FUNC int STDCALL ssl_match_spki_sha256(const SSL *ssl, const uint8_t* hash); + /** * @brief Retrieve an X.509 distinguished name component. * diff --git a/tools/sdk/ld/eagle.app.v6.common.ld b/tools/sdk/ld/eagle.app.v6.common.ld index a2e082c4a9..ba43f358b7 100644 --- a/tools/sdk/ld/eagle.app.v6.common.ld +++ b/tools/sdk/ld/eagle.app.v6.common.ld @@ -165,6 +165,7 @@ SECTIONS *libstdc++.a:(.literal .text .literal.* .text.*) *liblwip_gcc.a:(.literal .text .literal.* .text.*) *liblwip_src.a:(.literal .text .literal.* .text.*) + *libaxtls.a:(.literal .text .literal.* .text.*) *(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text .irom.text.*) _irom0_text_end = ABSOLUTE(.); _flash_code_end = ABSOLUTE(.); diff --git a/tools/sdk/lib/libaxtls.a b/tools/sdk/lib/libaxtls.a index 8abb83ee7ebc3cc086f8794539ea890a34e0e635..0eb8c331005ce1f39012d20ffac1812bf28b63eb 100644 GIT binary patch literal 757712 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�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

JmYHQf#LO~hdqhl=^`GzZqgnqa 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

Pv7{l6PEu*Vt*?6i3WWeJ1o$eL!T4Hr?q&H4@ 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 literal 682770 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 z z=794dd#l`rGB(Z9a-IpbYmX|9mQCv1P`^)? zQ3JVhUy{ox|F+Dm(Dhx$49XsJ{m{FzN8U4JWX?S!$6Y_@`hMeca4zJa+M#@F(o)Tb zj_5Zm2+?Z9&>UZ>%WKx6U6<6`QtQ=fQ0s=&n!|bjfPTYmwsPc~)BzXaq5 zKNH7%p83o_=F{mg^OwWCD}srq7UN89=TBjrz3$BOi20X*iN=KnE}y^GhBLmMc^WeR z7(e)VHpUN5$>p-apR04NF%yR8^y?q0H6|z9r$Yi|4;t35*3j&c!_#Z2Z-i=@Ja(Q? zEp+OBp<4a1TWV#G^fRu^z(M`T-qmMtcE90+w3N>o%9gI>-LHTD>_Ox5-92pNfPC}) zviprd@5q17j2u3E5IRmRf8ua0zYbT8@j0x!7RSt}?2)5_?Z1@f+mWHK zf4p=D5Q~5IFE&)j&f?zqP!Z+$ogeFdoQzo+n8KmLT19I`esOJ|pws?1li$ z=eh9D$*FK(bQR`Tf%nL4yD{-TAE)q#s-V6s!+~J2%=T=6iZH(cyiRTeXX4SC`5ACw zbQQW8yislmkHdo<^V`7Xu@Q6!c)gs-GU!Ik&w{VUWlwZZc&FSKo{l``4}|%h_w*3> zBY7CiZ-Hn2DELNPYC`A0{9bf=JiG{9ke&o*q4DU+a8YzMdMeBdcIfGFKkPSpCd{jJ z>DllX@;tad8lL$J;1pbCMK6MRwH&<^o`cI)=;d%TT-QUdgo~zluZEwI*TUU!Wedx! zhil=|A9^FqFO#Gv90uCU zad4)b0C$s<;NEfxcz|3Q9wL{6hs!B2FQO@pV}=*J@X`~mi(lx&>tUGB2RcqPALyPj zUQeSuk6pT`j^9^R2DJ|DmH7b3i+~u1f4uOA<^v|zP4j`Vi0Z&GfDU4gVLr;Rjt|fp z_GTC}?v)9Cd?+E8M#?FSeEyZg6jmM3l|om_m5kB+E+2=zJDwS{5zHxwlR<0QW-#OM zi9<^o<=Y_T6qN5kt9&NQz#N0S8TXa%MgCp#1bBpeKRljB{7FbT1@R}-ia!-*e2(D{ z8_$-jA^&l?2E17A2y>gmMR0?^Burt9FZ|=9RA4rJU>v@e){Dc@trv;=t>Ca8`qEfN zajrM6Z+wgK9mbuE*;YZEzQ$~;Ab*tcy~eJsRELL5{wm`Q#@md)GCpt2V=`!S9+N>| zx`O#y*VS}UEQCKESAlDqGB=w1Mkc?x$?t63*Lb+`L}T|Wxmxc$lmC?Q8snFZKc!Xw z|qOdlHc;NK{^ zu=gaBzs8i`WXfze`CN+I#lJXAfw>z3W5~YbO2&Bjx|CnTINkV0aX*|_u0px z?Tot^^T$quGEW;nWBhmH?~M5(Dp;03avHdUai;N7lUSYh-_^k1HV?GxS;ukXRXxzp4DdVS&R~z$(HG`NJjQN&nkl)6*gYlilJ&b>6 z{H*b}#@`#ql!&e?-nf%-SL0>ID~z8re%|;8<1k)S2iw)wxTA5FaZlrw#;c8AF#dya zEZ*M>)>YWJv+H11lUSYh-_<7?Ojl+1)Hi%!yxTA3wsB<0p)tH0JM}1?5*7pD{jX+$<$pzNK+{Q&CxKg#~dapGeZ9LX^lJR6?ey$g^)n4QGj6X2`!8n{2 zUAC=pN8`tgA2(iXyv+Eh@p0p?jK49ieO%G-@xA9)%nKh&3XB*#FE1I8Y z{KWOq{3nf%rAPC>H11y~nm^dMOucCS)yApDRg7yI*EVio+{pMg;}*spj5CdU822$A zY<#!z7~^}5bB(7M|H}AL#xEMbWW3dQyYZXGZyO&lK4kov@n4Kj z8lN`)&iDu8xcbrdNiZ&HT*f%XIMukC@h^<)88b%J`h|1>@KT(fv}`xVUjC9 z{>(V`CbJ)niyN0RE^l1XxTq4;epe{Cne?jiT*S+qi*oBjekR zTN!sS&NS|2+|PK3@i5~t#`hZM8c#8P*!U6S`Nj*4pE7>hc(w6bBjYpZ#KTwxTSF$;~vI+j0YRvZ9Lj|tnpOi>BdhO zKWY55@iWHH8^37$it%g4e>Q&C_^|O2`tB`J%uSU8}PC>d;#@oB0Ju==34DFZk zwq59ujJM=MM`XMW7dj^6Es4+x8Be1_r)BK&&^b8+=|%ZAq&x?n+tnN{BDaEhEeiAR zfcXp3bX%C$pU{2ah}<9MdGgF30@sr7f$Pa5;D+*OI77~XdCokSy&vYeyYytZlROj7 zk{^Y8%TL1t<(2T=@)~%Q{5(8PUJp-_xlg9ZFTvC0Kf<%*H({QK&-!qm@Elu;JumY|!b2#_@;nbZUhW4c$%9muWro1zlz$IgK^_hB9A=go1M`QzX|{K| zoD0{NAAlRl(_mgx!18SSmhud^o%{&Q^Ojj=Hr!pF5A*s0<}ZK;%iKT1~+A7yX zxr6 zhKtKH;nMQ6aI*XyoGNqsc%C-nY{0}{X{R@0sw2M)H;{R)XJeUd&`jP2x0e41caYg0 zJU5#$_h9NN?}z)#AHzdro}WHK{tKKVvu!5Ie}gB>Y^P~5+i9l!9XwZNn=O!kgn5oP z>%%r%E*C|*N-lM%$uRIT&@p+xfewpXLAClR|M`WH0 ze@x~N-=C0gLwZ_nhm_}vGbXQJxhQu=8W-pD*~UfWEVzW+9WE=g?Nel4`x24+!D;dU zxRyK^t|#9IH11dZh09zN?rkv zlh?qLFO}biSI8g0tK|>jbu#zWM)`Aii~JXO zyZi;bOD>9ZuUr!80hw)lSpEglPi40Eak)0qlQPfWKO^6S^t{{%X{eCj-X<{5jpw%C z1}Dk4v#i_-=DG1K(;luM^Bn&wawc3|?h2>Nec<|Xf4Gr62yQCh1Gkii!|mj3nCI1V zy*Y4q`ChoMJOLgobKee=AAz&w*)Y$;XB=KnkSouJr^-*jJP)5`egn^zSHbgTUU$Ao zUJEaiUw~K2o8UF_EAV>xRd|!U4c;nq|L>4@z`Nx?!~5j@@Ije<;UoDVd{q7n{!%^$ zpOR0&XXUTp3-W0=22Y5&y?=)je}pQ$sEe^PGP! z%WEte$k)S-<%V!GxiQ>Y<~0@_)Yd6J=gY zFE ztb7lgBD0Notpw}&5S%8@fNRN*!1d&1a6_4GmLdNRZZ1Cqw~?QPJIT+(S@H{TZ}~-d zp!^5;Zuupc*K4qDZ0~V0+k2AyM|g_Nwx2Hl8J;Dx?dQn{;Ds`;FIg%VLb^gOjC8e( zuagR`lZztVC>KMzMP?gsm&+jKH6yHZd8B(~UYl}2u7vckTn*``@^wg$%QcanlZGw^_ulM18tcmnX`FfmY@5aMl}MM%S0h~|ry*S{vpqJ*b&+nC z*#_I>CP;V6Es*Y!*&h4lwnz`j?U5dlJ0d+M_d$qGTUs59D{Va%r=-M^EaXA$;FW_l-V{*uSl>`lZ`Lth=6aIkgDfk50GE?Lge%CW;VSYuxVjvRG+pMG0@jxq zyODea(x!45q%GxSq`an&^<=zEIRj~TxjE9lGRqE@J0Kk?N_jHUHS!ds>*Ze|-6TJPbgR4+=??i1NO#LD zyH94>gYqGyAITphJt`kV`lWml=_&bZq-SMb*LXoL0>@xtJ70@5L9T|hxLgZqX*nHf zvfK`7s?6&ktIFMx){y%mts@Uc+CaVsX=8Z=(q{4~q^;%qk@8wg*6l&0UFB&=d&+Z= z_Lt`)9U?D8%D7y1G145F*Jw_Zmm!@j^BPUYW%=ij&Xjq*=3M!CqzmMikuomJzk-z4 zd(y8WT_tZrx>nwabc6gR(#`TmNLh}{eug3$sZ%-x*79xq)X+$BIR|s%s+{Awfr5@b@BzI8)aUDyG4$L zx68a9mvv&C!th?X2z)?Jf)C5Z;ZNlf@Nu~m%z7|RY50tM6?|S!fkT*BrUKG<`C6o0 z2lIcyRIZD(oO}~fF2gcSkyep!M_OHOfizuijkLZz2x%kvE~H$Zai$<`DKAFaPUiK; zneuOuc9&No?JGZvbg;Yz=`fksC1=a)kdBwvBh8gJAe}02LOMgsN*FnePI_4d6A$YfZ4ZKgT3?G!QgBh30 z)`5@84dE~4M(`>5R`{&k6uuz0fMYN*PAjAd@*PNv%bk((yW&`;3({nn*KMcD-H=w5 zdm^nN_eRS4aoGV#8_0u@HkOAVZ6@E1w6#1MDX$afviBnGDo;epbufQ2(*E*dq>RP< zr;v`2S0K%iS0d%|Eb|;vE>EvTI!)eybf)|g(z)^uqzmMCk#c=pme->%moFe)C0|6! zxGZx8K4@lKx+J_=E)8#!%fdV5tKmIz3cO$DcS9bME5S$PYvE(^b?^!Kdib<_1AI=t z8D{-hpEhtDCYsmE7m2$deKD?hLC&2UME8&Im)$mfe8qDtyU_EQXtL6IeI=Kw#SZYS4U8qSrkhPe&QPl0F172w%&Dm-6~z>DN6@G`j?%%cqYdhl+!A-qp+1Rs<$;E&`s@KO10_)B>hd`cb-pOtgq z3-bLi+lY0Zj5I->hP1f+FjBS`%RGuSSze5k?ZW)^NUO>lkk*hlBjvWS%r>MA_lix<#T7DmC2l)e}UFDCF_LM(C+F$+*=@9vIq$A|NAmui*4qqajD4#&eZD#&g zNV(1Q*GOl|G5EfUxpD%$KrRk*`&qs;yj(5^uacADweqbn+lA$ChuJRl9WdL4ZU^s_ zyTW_qLGXV0e)y1_2Op6ifRD)!!`wE;d;~r%&x6m&^Wlr~D{vepmVXs#5qTHV67p`O zW#tc$rpTWljmW2vrpd){!c#4|JX}w%2se}~!x?fq++3~;w~-sbo#cjamfQ&LEjNbw z-6O1jQ}}MVIXp^k1CNvWy~vZ~9`F>o7d&0&ca6-FC&6qx#?OTp$}`}l@+0sH`B8Ya zJO^GU&xiT_Cyet1yhUCIZ?~1U@4l zgU`!f!u*0=uInqL@$%P5ljLuh%6~^%PW~2Y1^GLqRpjrHR+kHx!T2xV2G^Hwhq?c_ z-j*=;8GQ%bQf>#glRLtha(B49+!O9A^Ltqa%Y)!y@(?&%9u1F|b7AgFuJ@PlRCyN6 z{mT3~@N9V=%>BpwrSKwoIlN3>0k4!-!fWK!@OpU-%zeo?{2uPD@{2I{EAwB2cgt_V z`{cLbgYr@MBl#G7R6YZ9zcS9Z@G1ER_^iyYnZF>HhGTFa%U=yA$d%yY@-JY1XEV#x zgOlZ3;8ZySt}3^LYsjtPI&vGhf!q#mEO&&P$(`ZWau>LRd?(yh?gn$;vpzlG{_;SW z`I7glgPn2iEljXVaGz4b1FrW4c$K^j=00Zr z`|t+&19-FiA-qlg7~Uy=3h$9Whxg0J;Y0Fi_=tQCWk-%7Fn+ik#(y~$X8&M*GR*I5qEq12az%KZTnpYPr^8$1`tWwS3A{^g3GbEL!3X3H z@L{>n(D7aT7Sh1n07e-B(r9uAk2$HEol z2jD6)zt5?<{2ZJvZ-eX0JK;w1J8)C^UAU!u5N;=b1ZT>hz}@8&F#8Sb`87OP{stZ< zpM}|s%Q>eH5B17lmiY#o*cU74Uqy6ud|-4KI_+!Yk!+F#96cTM=F_ zSAsXm)!?o2b?^>317=_3vbVwe^UgK!Mm zh3lFHC&;tm;__o~X?ZcszRvPX;Z&L5tyNWi0j?o$g6qgz;Rf>SaASEV+)UmLx0d(8 z?CV_Dez>cA0PZQj5BHZpfQQJRz$4_NaE|;pc%u9bJXt;qPm?deGvzYL82{yR@B;aI zc(Hr~yj*S!uaf!QU~A=;@CLaZyjkuD^Vr}v_JnzC(0$-Na({TgJPeh@ApKMb>fvkbrIjK2dy&w?ZJJUC6B z57&~PgzL#m;fC@qn0=jb-h!LU`{6e70hr(O#xe)tEcqzRV}SX8fd|TegYTBl!K38w z;c;@fJjQ>y7(7KT4^Nk`fq6VIepPs$Tnk<(*MoTsu*^;H3i)PuwR{V_PQDf9cg?YU z3wVp%8s09qfp^L6;k|MvnEjs1c7+eiJ>gH~KJamQ5PVV|51*0mgU`$N!y&W_V@`(S z<+X5<`~qA`ei7y|!15d63i2y(75R0zy1W}smp_E-%ST{-haTg62{)Bbz&uWve-h?# zLVpcs%HP1<<+E^K`2svx{t+G~^Y>@6<>K&oxdfamSA(a@)!`X3zXOlo);r)7nfZRC&=%?#pMs-(((~FSw04*%CXn@ z1J{wu!wuxhaAUbD%-;;+ve&^p9_Siy2e}r^e$V_nVD@{uJ=|aJ1P_tB!XxCKaE{y? zo+yul+3y)=JUmT)2%afF49}H+122$&2QQYNf%#pFjI$bEC9i{dEHVE@c!RtJ-YmZc zZ@bzTIIk{83{WPZQnB>A`S6nPyyUH$_+OMVHSC%+6YlwW~)9CBU! z-6|e$^fq|4yaVPj#{8Y|M)_lSi~Lu3yL=wrC0~H|%HfI_|K(Wtu$%yYDi?>3%jMvc zas~K|TnXm)aI!wt;Sl-+-3E@AJHSbDCR|GH4wsXA!WHCxa20s~TwNXnr^|Q2_2p4; zBRLyxD$jsh$}?ep7bxrY1e_`JyED7XOX0rq8hEh$0z6FK0B6gaVIJp<`6`?%?}n$! zAHXx@Z{gYUckq1q0=!7R2rrYvsTlv|GVmI?JiK1M2HqrBgty8Oc!yjS-YuuW`{Y~U zgYq5lM{;-gsN56&Qtk(zk_W&X3%Kn=V2%a!2sj4)j2;gs$hmNF`2o1JJOfUaSHP+A zO1P^0EL=l=4z44wg&W8(!yF^H-dEse@~d!b`8BwMydCZ;?|^&CJK_HFZg`0NF3d54 z@!x}Uf08WwD!4Y{qoF=~n*OFg`>&aW;hVtuhhWsbExx5?Zc*Ob~fIG>D z;Vk)MxVL;99w--yVEmVh!yIcErvyAsz6PEoSA?g?5qP>>1)e2Wh3CoD;e~Q7m}3y* zr^EdIUit=jwR|JIPHqlwlv~1E z&x6m%zlG1s>){akJ?p#yj+bA8ljN7-Qt~TsIe8CULEZ~jk@vyXx>*M@t_b>aT<4e${8 zMtFpLE6g#Gb#4Mrly8G4%gy0wa({THJOt+0$7RRB9Q)`A@M1X+UM^38SIKkWwesWe z26-X8SzZEflh?vKTu%;Pi}7DB3}?tGFvmxh zuL!r1`F+)$xdEB_Dvx$%o+za$Hpm3vyw& zx?BuSm#={9%gJyfIRZD8tHLei>*02CZ8%eI1b3G+;J$KGc(B|Y9wxVkv*k|kc)1tM z?`-F`4~3`7)8HBM!|-hR5qQ2l8(t*Og_p^{hF8k`{_-{QyYPDXJ$RFR2;M3mhIh!H z!n@_8@ILtjd{90GedmFu%v1<@w#}sd6sNah&=5ZuJ`SgK!=Bmv9655xBAZDBMi`HQZW$9PS`5guBX% z;GXhwnBz6qy8`BTO|OJU$j`z#@^kP+c`H0w-VINa55Y6#!|+`B3wVM26}(t3mxl3Q zE)TDgE5jVqS)cka$8@>@%rTvA2y;xQ8^Jr}#_%3F1LpVnvrKcC<2cfnX@p*X!;yHPrd*zlrO?d(d?P_)GVPKa~f;$K`wAlX4z>Mt%T3FHeO-7%v!S8XPZw11HI6;ZpKB zxSaewTtWT;t|I>kSC_-pG5*VOaDBNj%yFFSO@uji)BJsamhu&FJGmsBDPIY9m&?L^ z<#O;~IT;=%r@+~A1$ew%3C@)(!&Bw!;Tdvmm}5QbRu`Tx-vBR?Z-kf0H^D3Ao8jNf zx4nBL5AUzZ?IS+#Y^M&V=8WyTKpJ{N4D^$_o(tEK=fU;l`EWz|2{=Pu1oJV5 zbyyDbF@}B??j&!5v*c}XZ~2e#KzS!TLVgp@k@vt8W&UP8AD0-h=JHy`H8 z7vKf*MR>8y-@E5y599E6s8<=Ul_SXCAXkAm%h$o%Wd4TxPPrDmN3I9&mv4mmn8bBu zz(?d(@Gu4&xVNX2C_|esCFiIGievgR9Gv;Ck{@n2%MA z^9anxBzgtR$07Pvn2$H~L3ptIH9Sf#QUm))t_)9=8^P1%E-?SXxNaf%3!KD!#OEJA z*1lvs#9eZ_aUTp&hONMJPb|poV10NW+vRRdHr{f?J04Wl+&2ie@z(wh+l+FIS48(Q-Z)G)-po4q z9Mfb3eE28j-m8n(X15|!e?hsan78X4^(>zI;&|eEi|IbD_X$kFGGJ)-m{2H{&|h%h zJj~m82M}nlDd!aUc$s>cx>|T z792Ql20<`Sa@wvmD3`D}6uKFC!Cz4BEo9h3>Nb>X5EMchg#Or=ci)F{-2cH}Q0@>i z>~_qn8g}i#b}p;?xE&`j1Kp}*k1zhK_RTZ(ur$9NpKcpu}jjZAk7wO@j3 z2ay;21@V{$#|H0fwlox)jLa0cG$zI?fhiG_jko9|QvcX!lIPp@CEUTP|CaLd2GMe=TM(>xpwBC$Ps=W7$5 z)67b6%)zq-)bZ-j!NrAM>-FTzZx()cQvK@JE$n~QhojQFhr7+Wsax@H51zQbOzomu zf4r+|-MdPb$r|!d>-DpK_vm*6i`7c{V0ruVTdryOVhb1QCpS%SiUzJ`jOkWNigc?Z zHSN|(>fbF}n$m5qw5;1YXPW@jfb}CfrwNo+uV#7Gt z(Qj&(daZ=dd%xs|F-b9hs+3qe{q>5x5m>o`7jQK)C=>sisTPPFrvDIskJc?uQXXyB8xM5ui zb1QERC1k|S{}YrrBow!RD8g@HjeCNRr=j>cxOpFwD_l5KbaG7GZ@$I+|DoGOOM?yvFhzcDQaTM!5TUaJz037U_Ni@tw>hCz9i? ztMe!Lzt<5tgn_%L!2yRAau-9}DJ>+D@DU2?(S(0C87k#j=+8vd=iX#QCLN5@#2~ zD~_{^;1yx~aD9t}J!xGYUA63d-Ae3jHAvQrX0`JPscMYKJD+*qh+uD8;YP$=C~_!v ztU^9TcDfbIdbn2*OB`Y8$W=x;R)ZexVs;$GEZ4o)fT^$e#}f3-B{kYbEA>n9z$GD?LW@!m z4d2xRRMbr`%Ndy+ab83L%;|M)MpjMrXf14w;d6|Xi~$wTh1`ei&r276Gnh7 zM6-EfjX?JxTNdO+8o>}4KGihTa@Dr^0dVj73W5bPR&XklU7?_ zQMa_R>c>brN3>3>XWt5{*3w#8Syi1{!;%4G00zbgFEs{c5v&kVZs!o&>A)0kJMHjp zKk~m*a5};r;J+f=jsK2t%tX%6@Nj`iu?5{79wsQE_#HigoPt_v8k$?rB7qah0&EpE{$^#QG_{(ku$GsVFRf6W@03YU0u~|!K76! zDj~_jNXo7Ps|r%pWlftrIoq3D(cI9|(u(eoa?vzzFi^iZB_lO6Gc`SB%&3&bqsLZf zj7_f|CQC0CuU^@?tWwd3$_nbM8?4#IQ_6DliZ7lqyJSk)jDnIWMY%JIC#HAH%`2Fg z!8;|m66pzFv~CsVMg<*bDzQH3w9qK6cwBm1z$AfP zs+JW?TK(nlTbrd{qfv8Joj<-|X7c)F{+-nCvn@$$;wQ)^y~-37(Gm*{WED z#4LbvaUKaUVTgBkx!|+Bq_gRFSD0+PEhC*}z(PV`(grDvC5Kpol7~|*dY9nw!XKe9 zZAJT#hw)<+9tnSf!s+m7GxCgvKULu@_yr1+7t2?{lMjEk!a49SQ^Rev9JfQt(rW`ulE*N{#cGFa9&*GXW4ma zewJVJv;5?*gr8wxmYMX$@NyX zD7IyD{DX_er7_K}Ijn2?Dg*!2z?%)c$H1Q$*oPrQ%Skctcmq#0FmG5jf0==Kr=saxTIxD#1=e=k zV({E*@Z6zz*dF*@5IYP2Zl8e<8~6=kRWF>&biVvnho*M})@`Gw!84dx$xk)#C}Lc6 zGYs57tm>5Cz0mkR12c^-qszcdrs+Kl>@#qZfpxzCN$maUw0Q;(#|KTHX<*&{K@wxP z=3)EMxZc3c23}!c_7ly2qk*>=_%;J$OE18GuYq?OSoAyogX4Ij?aVPn=k<<3{|hjm zi_m?FOXDvUX4gBdFlBI(CJ)Ev5VQ?q_R9!`Gl8QO=2*%d3i8mF0~O{Nn4mEGPG7F* z9l#9=bKIu0Ie;mru^7`JhprDUZRbP-ryH2I&^*%(Tw>rw1_u05&I>N68(0mE2Bu8y z*hlENze}8hi;nLrq^|vNF+Jm0CZ;##(N6c{(oW0c_-o4JdkaS*A?0z-*Ya|JDUUQd z*01SwknJN3*MH(;+tFz#Cmn$r0_C)R9Q#fE`2M@MK%;)4DvsqX$7RancYIz^^@^xK z+@-*#Jiec;6nvD&m8LE)`@Jcz91+~D)K0^-XYuX9{QI0{GU7PjnECQOOI`?JzSLjm zyU9ocXsy5);3ZH_=erSMQy$;DlL#8+!9)Rh9A9)AKI}4b zK*OWndv^U$L?n8j${i($S%4vDnnZQ=WkAKdRF)l+r zX!+02SsEuHGbq8agtNmyQEJQ_oIKS3u!Fn5T>L@!W#`@h%2iiCviP|X-`w=i<}d3f zd@*)lS@u^K-+N@;2M@0)ikvmLZqkU2H6gcO{(SB~9z1sC;1#|rV*4ICeu_7-t;lvTF3a9{`uF%S3j{GWsL89be%7H`0wJkHx5sZ z_s29J>L@?-R`S3d-M5BLcORY~eXH++0`K=pom*Z^&x|fSF1|+tj#SPmEL~J?kLTT zI$^gzV?$2+XWqvBcE{XY?~YvW+T5sH?ZO4#&Ii5i*LaVAo?iG_diw+ErM))ve%hBk z+B-D&<3D+N7uK}@an0QI$zXfi`!SFdwQ;{o;J!+)M;H-<$WOC6Zb&%xJeG! z?XvvMzL<|@7F>GWJ3kxfSby-0r(2#cuE^JOr|*DomoNGV#_tiYENOFRIX1+sOla%n z=`}9X_PD+GM(1pPBWF_X@ju%g-+I$O^LD&o7aq&q`wrFeJ`r7*`Nr{k?82Yt9{wyn z{W+FA=U{HfSN6)bj_1-(zUKY-#L8uRpG)@)96HHyw9{I3s^+l`n{qPK7mbSAx-X|D zYR6rRD!hg9>CZ0jh>t4Fj=HRVHKP ze&<%ZCi-drf!sywa`!&y-TOgwN8K3j3cKThs70T7YoZ&!@$UShEq8~#=y$n|2kpIw zyp7LAb!^VvyE59l-iFq1HSL%Mv+n&YeQWfA_ZHQS>HOY{w(!;$ZFb{M`;}20XQB?w z+S>H!^Jq5djlavS$=JIhs`DN1$A8Tp+jz!%ctg5pz%M7+9?!LFHmqH_YWP-9|DTSx zJrO&O3{TCz?6T)P1O5WjdEWA6kGt-j?AMO@GPk#n8<|4<_ zQ{Ikm%N?FjkTh(}%CV)hJ#mXiu|1&AK0PbB?%COI`RC`4pHZ;j?ab0up17f-AhX;T zo7^lVahFwIw!l3rD5zl9H|DQY;K7P>uQSRxC@TOz4K6M>(q<`tX zZ_uoxBOlG{Y>z*bbNKbW6MGCF`MW)i_?yVrl+^I z-y7Yr!F#wUs&VU54rZfl1k9nByhBx=Cv3_e*OYeN%ujy% zkG)Us{{1y;@BRIgA7wo`{mV=C&l%tMaL7|%M1L{w_KW-e;+}QqZ|<{p$=h!%9PnVC z!+H1C2SVT4)6h7@zU0c7jl15zXwTIdi6@>o^Tw}NduBIW^OIApm+onP?3P~V{qwOu zwvUNLzIXGlNmal*6r^8>E|J{<2Gv9su<~w4$XBGdk;uqJI zv~;W5v1|E+=ek|C?1M)>otAoV|Jw7$tc$yPWb@`q=NB{X`tVoV?ex6e7gqP%vFT^u z9B#bs!u{!cO5AtPs(ZOl(dTdW{c!VG@6K30edvzqx4-w~?ng&g%s=?zPZvD! z)(Xlkt`P z!W=JeOdeE`@a>sB9Uncv?vH=1E4-)YikEhMefQ}-BZ`~^!g)%{(Ah-o2%dcxa~;&XKOBA{nfJ#y_+9ceA0d2)&tvLTwT%ak?yDWxVD}j z-GADE*f9}J{jXZ>O89E|?~}JAzMS)u2VcqDz2{)hZhL+{VMh0;Z7(byIQgl(Nw4mC z{lyu>uc-QN+psnBKKb^|><1fOE$dx6?ShSc^XuBp#nk@*=DONEhvGGKxDE?jdG4gq zH5~Mf_Vtb%oHx3dhHfL`E8r)J5PolhF!usv8m|k>X&gei!F6LuyL~;@q{)h}1|tpk z6eM4|i}wUKxLjQ7x7!;X*E??vv5tWs;^18N3;1u>A;CI9u&ldrLqvyjE6;+A^Coi` za)j_JvN*TG8<^m^l}^Tmg%mI@Ec9W9TpW;1XQXe#@?9;ARHOE&DPC z!oU-a$Jv)Nu$zHOR3ig*$RfJRvX?OM6$90lUC%%Zsy!MTpj$CB08^Kh9zyA1#AJ-Qdz+cqF^e>NF=58*dREA`q#y%NyaqiZdD zFV(mhftU-JejoF%XAr(+@23^kBG`KulC$*unrk1sIK;_YH0p5$bp;3Yx=ch0THl*M zqyE%AEC)%z34Ui2H@0G3>mhi6kJ_c&2`(wGAJ0||yxg+KKQ3t0q2Jf|H)t**E(dr6 z^uYv!1!5D0Fn%7@`@iof&wo6~(;Ia(I(V)J!59RM6FRZ_m`|K}I;YFQpq|D7AZ%;) zioo%o7*s*m!#&1XpuYOl4{R@w1@-TGENFnC10)VKG(>RFxu<~!%X32BA*?OBDY$TA zhu$;+7tp%~ebHfUT0o!Uhr?=G0J3nm;Qy_-99H_B^uyV5g4?2f(E!Hda$7}PT*X_E zSh|s*l?wX8Ev~s+T%0d{W`s50MF6$9+!hj-Y;h5DZzl}uxCMnFX6%s^kP}>6T%^o^ zyl|@t-+$e7)0!R^Ef^CJi46VcECIto{zDjUxq9jllqN5>k8;QZ;NYwP~UKC)1zS9lrPQJd{#CLx8e%3E>(qMNZJh) zG!a9QfO3W+q&3kPT9HKn*Whwnmxx9|Oha~Kn3b9+mHPzE8f|V7h?QGh46$0Zk%%{o zFp7hO#ImWOE)XV;M4oO7VH6h`2-lAP8*xGM6Hp56lA#VdtT-t}xnT6HCL8tVd}fqaFjgYemojNNZv`sfc{e zFFSzjw8UF55kiq|RAjnTWErwCbYrkhk^~pjWssR03AHXpLahqAC(GG{glB7lVU$Xc z6JuwIPJywrM6+^j;==R|R(h8TxPTrP3ti7h26>CgTOoMM&XrWcSgx0FBEJBhUqa0| z5W#tZ#HTF6F|X?csfgZPn1Z0B@VW2?E;L!&1Zy$9ZHPuT^vFqtg9kOa^caSV69fG% zxa{EX5bj3$$AqYWIW{Sh7z0s_I@bXJs7km1DR4_b>U^a8-*V)W4+5}8{y#kOc>-rI z-RkUR@T{ghu_^yA6X!X*@l2+3mB4nm3;5jsZgF~ZrQnfRrahNaQ_jv&o*@H5b07^*cM+`#pQBJnxHmw1;RpDjkK1X{9B!veQ7pq_1ZO-JYDPH|CEz8q-8R#t|!@U%p6Hs6CNUR zJU13K7)UEMm%2%Pa0EM$i;Y%ZDYKUuQ?2vG0cW1~ z=aFX~YIX_}%Y)3T6(;9uVQxuxibK$%X$Dkh;a%Zz_n~L=&!`l_QmoDxIXDEP9*=YKC-QfrB9p} zHaApM;gm2>wg0G-+{V#)dETE#+2uUZTD7Dx!{Yx;bsXL}=dF&Dii4*A@yz%C&?#?j z57N=cq!)1dls8vMoZ9I(;)=(`JIH$#egrs9;r+m9k%H$4aF)X8h~lUx)6N6tZXoeB zz&h<6z+BpsJ_M^fEoY2@^MQG{OP=e1kpv4=xfi*zpbv>he@Yx!K_(NTY5mY4io z>(Nm@@fcvz@6dFGc^eXsYZw-7+|(iFzLB<@-jStz?OaeK48mB~qJIB7Puw@ifbk8`08bs&mij zO!uG9>Gv|(p>0TkU4cn&`eVZEix@I)g;6mUK+ zHf(W*5%D~iFUQi$&mN%98n^Xs;VK4CA3MT?T zpfLKq^{~PtfuB$~9r%|Dj|SeOF#5E$PvHr`2Ncc$epTUo;G+sp2Yy508Nh#3xCHn; zg$se_ppIBZ4q&$_%v(ZUEHCZ)gu*qzzf`ym_(g>qfkQDUk$(|zH-#&Kzr;oPoLF|y zw!oZB_*{aRlL_BFK+MVH4+@`v|E|KEh+K##4=0&og*nMwsW2y*n-%6H<5P9VNhV!k zPBP~!%t>aJ!rWK5M`2DZdlcrx!i{t0%ZcS1g*mar(1xIMVo6n)6Uz*RIkD6z%!!5e zB|j&D-U@RM06V|JZfvu}5vtveQ#_nZxP8F1lyQ;5V7GXmPC6%zUl6Nq8&CU#PIslk zoIo}x%n9TMV$>J=2eHnVX=1~X7koqu%y!Pp2Az&=-B$A1*7X@{pMlxFNr$P#nK;U1 z8|J0uupMhTIl$y+Kg%ZuKie=b&ChnM`3uPdevUzWGNv)xEAf}0vyDE8%vC?fUF)q4n_$(LOc`@mVhhv%Mxm5A6Z8wvy zbX#j+@mmo^=eVcS-m22_k*W9%iQ;+C;Q5t-|3IvCIAPE~0H&Vo7hf1W{~%T}yPDk1POLrl0n8b4p`sD_`kyy#U-QfR)fuAvWC{4E|m^6SR z3`}vFhr_7GJiDxMyn%-pnEh1qWE(ioz*7yZ$19L5_F0{lkMuQeGO!+(KoY<0&^$LA zJe*%O{ayp_H1IDC{G5Rg8Tg2Sj~n=X1D`bT-we!y2U-V@f%_PEfPqIEn7?VzY4Z&{ z-N2;=USMGUjzy>C?^rZmZQ!*AzTUu_4BTnpdkoCAik7+8z^@sYV~FNCZs7L~{5J!C zV_^QSOsCbqD}!0BUIx9Nfs+k9(!di8oMYfZ1D6<>$3b+yjRsz2VBXVc9=@DJ<1Gfh z+ral5_(=mlW8fDJe9*wh4E&CPc~V8^d)mMu=;NA>eYF7Qvu;fvXkd;%nx1Ch^9;=O zq2}ROr18ZDzQn*~2Ie6e&A;5hR~z^m19R-s{5;~JF~>2DdCWuOUm5t<20mh79{SMy ze>U((2L8&xrw#1J;HcAfGceb;%8dh#Ah<3k2MV&LNje&4`cQ|h!|8`zCGQq#K`xUYe^*4I2E4V-RZ zJ}uNd7aF+8z`S46JPQq6ZeX6M(mcxyyxPEP4ZOj?8x72(SX$0@1Mf8O!v^MAEzQ5z zz%Lv4RRbS2@S6ta=`JnjBLnk*mZpDaU?&#kn$G)Bje8h4*1!n{9%|rJ17{j|yn!bg zn1{l2Ud0B!#K2_+=BY8w-)vwWAJg=!4Gb9g9e5Nm#y&dUi)sFMfHnO?;26d8nZlI8 zIhu4X+rCve20piiNay{WTVZa1a_%PG2OOht3NYt!($j$lDLfiDQDNTO4Of`=cAV46 zp94Hr;XL383QqyfQL~qpfJ~NM-~1Y_zw#Afd7HQ{{{b~!f(Ro{Rrig_n!)L&xH3Tq;uU7 zsW9(j`Y6nGN4&z^C*k^m{2$@seG2hkadG`X%=P{S3V#ou>j%=iW8PS(a1Y=bg?S&) ztT5+ct|iEy47^_9;lR9qA)SX*Zc}(1@I4BT2Yy6hp6Yo*;fsKuRk#FrufkUWzohVu zz^^IH{hXr;KLq@i!aQ*HM}>C*zpwDqz#l8j{hyNxzYP3$g%1LMr|_%54qPnDA^2em z{}z6v!km-i6y`osKZW0i?^XB%_`Fx5oDbpCF2ok4=6kb_)&%D13#tk0^r>WF9hDN@FL&?3iCI} ztOMq|5}0*B%=_-&8<_P$I`?t^qHrhhrwVhw_DhAiN6YmR`MEE9M&Sd%A-G8A{%eH7 ze}EsYF!x`3E6g>;K!yJTKS5#M?+;V>d-!PzbKh@_!o06PPvP#sxeDX$cGfh7`CgNm z3UjZKHl=P{gUnNyho{RFP6n=0cmy!lW8~-Bq)Fj?;N=Q)ox-&ldAK)urNT3SuThu> zvAIu99`1SGtT6WzZdaIlYh1IDrwRCeg_i<9tT2x^J+AN-z|SbmHOsFQz7F^mg}EpC zy23XBzpF6!NIz1Td)r*gF<+kArmcy&cA$NUy8}ln%(Vkf_zHS2VA_s61Ax;M9t=EQ zVXi4AE6jaY+KBvXfG<{fJ@9OWuLY)!$iux^I-3)|avF2~)^k1QY>g8Q%(+?9&HYue zj|%y8CAc)tA_H@d)O5~&8ee5#&S#pw&A>Yh{Dgt`8u&E>zh&U}4SdqT-x)Xz^Onvx z&cI#+b3Z}zWEnW$z=Z~0VBi`9w;H(Jz#9#`)xh@{_)!DzHZbRUt=sDcK2EImyFM{6 zivFXV7hFgt_NAGC>oL}yc4*qd@nJb}jtHThCCGIg=}gZ!wlAhP9WPkdtU8+@uMTZNRT6Db++&UrU^ zAs(@AWrT9tE__dbX_pU&SmIq1EC=<`cDW3g<!IZ}b{7-<7@{lAT zk84ex2GDvD&jRi<2pV#YsWJI3$GE`vQfQ~+t^&c#clQYVxC8}YzI=MD%fYp#P6KGU z@Vv=Opq!4o31L%SD;h>3Xq3mjQZ4UcV4VigN`yS#mujcuc7R~Y+X{KFqwXk=&rYI-+dY}p6Sanxksw6OO0{%-k-FZP#e29e~VBfON z>YrcWM4$tc)1y^|t;!ug{45m8~8}fwMfs#t*0a=MNv!fA;d5KI?wc zJnMGc zboialN1yBLe4w-A*3N5}FM6kA-TvPeKG%`+Ku7wm9VzyTS=Zzq%Xr4OGx}Crma_)s zysV*?<-`r_DF-Tlu zz8t}~-9G?)-lJY2VuBFiEs~+Ey(94&1+LDompP11@vQUrL--DzN&03#cVeG+M5K6A zyhXnL>wNt-`}%J84Y(!qbVQPOw)d7NzllipCVOwm{3hby-hV?>F9%U!L*Ade6Ty#d+4-FW5#8 z^UW7o&eKiul@}O=;`ckO0voMjfMaS2Gl)#-F)a5=Qo*sK%;;_h-Ylfe{Ka{_rn~FImD>576gaD5x z^T4Ngy~R@r@p%XS=85%$_N#HDE&6(g$Mr$)@VB?(jUffr)JPQeg7b%u%5>T}KHu=< z%sgvE{_@0+++UyRpRz*La#rNb?%C(d8h?8;Brs`PG)g;kSmc{SZH^9}uoT_^p>eD_ zH8sJio)A%LXNAnE2${+?O7%8RsXe{tg=6NFxYlFh@;p9n+XPUOt{d~+=&2~XeT`FC zd_vr`*cgxFr5ITaJq2;@mQRd2c=N=cU;6tQo!d)aoiXB8J6_snhG`4;p)+A;z1joq zV(-ECMB6)(T@?PsNBd4c_KxF3h~;q%!`o2`a?v^lxmKNeDgFl<;PH!C+oAy`dxlR$ zGpQc+U(f*~=HV1Z-IDiRmZyKhFb`hc;;{a*`Kb}XdGMBX-%j*gn47|3@l(e{&rDmU zY0J%uF1439W=6)p%$r2mF z;p)sRb`fM1aVpt!^5ox6EsUe0DcrV24q2X=J+dbb`?(Bd4vNEY@5mlK-h&#!4AJ#f zGVDvT4}G-ubki_Yk;TfMg-f?<7uguJHy|S=0p2rcE!B3`qXp6xl(9aLv75*4sY;y?x{3!alZ(cO&a-hrOa1W4u-6Q(?eKDVu zMh;IJW)HphPyLgIMb2M<9_~36!U-}fa(MCY?#zNABeQ3ufd7=snwPDT~UR#%Cdv?W79**JT+=%^% zc&Xo65!;dCC?eL!K~Is!bCndfdmVxv)uuie)EyxifesXjMuu?q#BVXgSf_rg+Va;w z|I7NX_&&J!9${HFq-LR=e*CA8(1$!FFpFB(oYQZoG&eUiXM0O(YFoVct8Zxa`n}8i zb+wh=+~SK;GrZNcbyc{Dt*w_t`D2G{FLDz1wn^!kZ4AsF7;PGT({9`yTD40B|i%HyszBySOMkvQT&%9r*kReZ zKv^{}_m6pIMDnH!9r1n_^4=IC-|!O9F$_1wF9zi12wup=E(GMZ+f*^YdlVX5kH7^BJ3z_6R@KyZ#{0fVM0o=`MkvD10No?q1(gV8#o7R*70UK zpwkt45j>YGM1HHuX}h`A>$Jn3M{1`dgbzEMj!^FNI>SPE1jZQ_ItuCWlAP^~bA>jN z(-q2XbGPei3bn&70i)Z+r-h-UIJPoj{bhh*txNDUW^g}<24?NhTf;-cI^3Vz1@k`5)&OMtDKcxfRJx5rKzpAs` zbBW#Ijr?EAjKae2B%a5QTX|rDspN9;Cj^dROuT@Eh2Gj}1WMH`~39axO7+po| z3V)rdR1=4V^O2%^@i<^l_~VpTPuwS*kF(s3#EG88mb+;hPDK}G33n0~{0uAu!ud!g>;htM_&V}mxCuOo;e6y5HX{j?tUh2?d`vT-;Y*j$C+hm^td+%j(wdq6)7H~ z`Jp$+k{^2O$EUe=JIkxr5B9cOAWYh@g^>}i@ml{g9b}9^ zRgVyD@c~L^*A+v;Ei)F)e4x!M}l?GFZmo zYk^okVUBOK>_?>B&NcB(fxxyk@fewP)K-LM1wuEi8Nu;cM|P|kd>d=x7tHZKX7LQO z5WyE1sT74bfes-D0eS{sa6tK+jX+h zhXB$gL<6h_?L)Arx=G*xeKyx_m@yLZEkhWMO&q4w9Gq^+F;a8fb2i6V#c`45*l{+; zLdDUjIXchgs8bx9HOIEIIj&F~PiT&1Xej+@Tr;4u?&e4{x!&gSr-iQNPn z4MqD(wC6b1&?;!!u!eI}jyuuO6vgK5XbR&_r6PIo(}>aHbfB zhYLw}B0Op+(`VQ`|B}Ri9PdyvJM-)TEqx<7vqVaL$6;@K0gGspIJzO%BoMc^(|+Tp1dD3_~Y1i7XqdbN&d4D8~c^V*z zr+c(9MbkwywybeA_;&!eb(vTl+$i!)LO;m5h7x7C7UA)%wjq$vkMvD;E}j{SdGIbo zikdr2z`61?KvK>RW;UKJh9_UDrIc4GvLI_H? z6Nx8M7xHYNlxeomV=pCeh8Ciz2Sp_<_(45jxnyuqSSMxt%zhFU7&;5IPbg;!Kq9gn zIv!vqz$CI|Uy9H>BV^dP18CO96PYcO-9b&IeB}UJXTERyKT<8j!pSv#q6zv zIipUoQy#JRpqq)_(E~s%DEHW>&^3+TaR9M3fr9FX2 z(Ta8}V5R?q1K}}Iae4>H-u8H)2^>s87a>EAeU^g@rPT)pTIuCfB}QbUcem_qeAa^b0Lk&R9C#lTKo}xq_*11`oJiLf zRg)72ww=%n#kTA|j-g2iryyczUw|BdK{_@&1C)iJq&*A%2`Cbr+w~f#p|nmq-#lOs z7NYfLn!U}7J!aX92Rpd5Xo3J)g@YZO*6%=gOhav@WqU>ZLB{`%ixjVr6amG0^LI&h zyaV=e3>Q(E5hDCK!U>$=*rrZEli+ZPj1nfPnD5SxNt%P0 zIj|slo^w-)8_ArTO5qiStg_Zv@zBjmKaPKPuEMpWQgvIIzMthN67uzarM)d5W0S0|A|d}Gh>_J*EUIfI!=lF( zJGc_O4`JEkW(!FlGAwSVWY~wIkDAY%u5)SmMwQz!7}&vpxA`L1iH&wI^%1;2l9_xdc_@dkQqQ%{GER zBeE}YqE=;#3_XF!+(}GZ5(}yb=b;5zuGF95e+p=m`47X)cKpvfhJWFgj>CTr%afA; zto#)y4M|lb5lj}SiIHyC<)BV6niua*Q?03YLX}X5&HJ#)9F`_?ytbzG!i*Psf}`|g z-u?%p{(F!$?L(L^yoeK{P}Q2Y2-${y#tGtI=4eg(1+)!Y$RT$!JDrus7m#!tK%Lo0 zCv&P0|E%fUZ|v5KG13ge7Q#>#-ZY&Q85`k@>>tT@PDi1Xj$VQHS7SRP5g)0agm~DW zFS158DGG*Lw|=#CsC)@^Sgh>~i-^dMI4^=(^C_E^qYa>$p{U95CsCpgIoJ zjrlrm#17K$`yOn(wHtJ=(mR5BcM+8J}^xMH{!9?S=;Ym6IcUq}-Mpv0b zL#&KgDx0jz8NmYz!v=z{$e!K1G-94G^Kh~aK#hzrltr0F%0e*9l%Qb>Vkh(^DHR-6 z8nVY{Dl-sH53qWDpvRi$Foh zmSxZ(b3DaR2NY6>$sVn2aUKB{Hr?Pc!--~wSR7Cw)_`Vdx|Aiyl#FpLXft%!Kq^te z(oneTWGl>19XE~KYQ2&kN#mK5fKDbkr7%|5uueup}{X4 zH=?e_1rogv1T5o0*q*pRrAHyQ_yjbfadUxd9WIoP-n+OQ)+#(q#&;hC=Nx)3<04tR zi3r~-qUX|Mw98ulNo1gKd|u(i?1D_`h2fG`CE`OjM9_;4L}<~$l*MMs;yZ&Wi_Mfl z;|Eigm?=w)lqF`$U{&yeNSaiN9-pj8ZHXqy2zmv92(2ws4ipT<^zsEAFKE!iQW?eE~NJyuC6VZyt4&EF+DyeLjRzrd4o!l zcd1|~q4$)4W%M*}P_64g-6a?n&?5t?Rhy;^!GD_-8GdXL_~7LYDWBeSF7~Vi^k(9c z#U*-4M$qHFbXPl22p{yLt<&SPeKHi^Nfad`=;@R}s{~V)=#+RbdrmN2iB3ndw!k3B z8Y09N(JSIg*jlJ#`K#D$8B0$VX+8^asi4l+j3W?C7o;M3QcRhS^@CI^W9iA*OLc4m zNNqBf-f977>)3V#H^^9e*9%yxV>=MMS;o@i^Ez9+`$sTzBFOU~sBwDS=Cmyyoe+*D z6wiaLB6`>1>RJ~;hGLT;XmT>}hn)Bx2t6$!*!sx82Lxg?B;Ya9aC~heJr$G1;J{GC zX9IWPf}-^PEa0W|KEu^jEArkf7>eorNx%j4G;dHr@;)ROO6WZ%;6i%ONh&@5R2Fqk zPfG}v;7(BgZ5Cwsv8r>sKO{sHQ+SxNG0fZW+_<_Hlf0*Kp(D^cgWDA-Nl)_zi%DKA zM!`@*&jn$8!#{m8n{W6h>kbGJHA3*P5L`s>YfaZJgd5#FWX6e&zIbA6710}s%eG4C zaSNIp^m7HdXePY*0+!NSfQuZp@cH}!315MCM8Y@VF>7+@oSn$|-xiq+Kh~7YwoPR~ ze}ljochcV~aOR!#ZxcBEPU=Rb9M-6SLVSi%sp2V*+u&4~K8xhAGDNzw3!>9Gt*~JE zMS!_Tiz7ytTeG98gT`8@S&fk?$XFI+EDJK0X^DK`LB;>0#3193ka#nsviS73;le;q zj}3-o`ZCi6LG2a3BJ2=qSmI7)k0FqTrl=Mw5Px_h(s_`7u3ze{wq zZfE9@E zp|+7`rC9Rv`H$0Dv*u2M#keqJw8CqXkX}13!J=jGiOyXjzKGs`3Am6RAFOn>V34<% zyhjA@rSvp!(1Mzmy6L?5c;^|BsMsVuAxN|7$=JX^!lysGMQnh?oIaH#dM(&rM-!oU z1+K38lJ`BqTTE}c;9W>h^9J=L?`gqXLhqlr&{a$6hlzA0^j6^_nLcHpW&%s$poH0m zgp#0y*@lD?LqcGX`ztd0w@Q-X#}+;Y>h;8hrbVwoYOC#T#UsokPHt?4aNk5n@DWog zE+peKr9ugH>@Wl;3R3X?0KpE)Mehz=U2B0)lr{>6VtTjZVuPknX5d9yJRc4{i3^$2 zdlLKN=+5+bO1-OC^6nJ8#q=H*ybI`Q-eBdD_f^4LLhoTPQ3d*ZQiT3YZ?_`Trwp(J zx*8?$>4@mH1X4!&omz&7pcJMwy7O<4kVm*cqIXijh4lU=sr2p?X#$fKA4u`{DC|2e z@YjjxGI|?uiT+ElNz%3T_~Zn4uW(pnD@Sd#<5|erxOh)piK`k{8!qj5x`}r*yrZ}e z*G^peu7xL>wBx}Y-V$&L9EPhKE*{d+PS3T~n8vw0)e9IM&xPI;TzuWm0wWz)HC&)@ zp}+}RJH5o^Ey4>1y$6O^PQkIbdg2<0%Zn=+m!58UJVHA@%H=q~UUU-I-*D-k%E!0b zvAa~^T8yjKpwERZ`B0FLYiN4yp2lL(Vfne$W&a}*Ujl+d9K$UwbynJ(hPtIos#?;f z6c?5>G}N`EwY65&xA;@)+A`9|rc~8cr`6S#r!B6iI5%Q+YF6r)wA%WLx}}v>KSt6y zqE*_omK81kf6`m>%Q4uD;d>J*Sh$wf%F3$h)Ec%qeut(75I6a)wM(ji&_2L`ugOSU zUb`5$taeFb9SEpsDbK`ZOKMvxK#-zg5}6W5&GAhiiE+y%+N<+T?9sSTHT>ujKfUBa z{n^eCe$L6_x4xW#uXKs8N(q`Bj!!HJBtFIDMvn!-?F(%*2xM=R8qnKVBsUB3l| zUq%ML3&q$qqIeE$CFu`g$s8rc4wwA$BUkc2b(1;%du@eL&dSTwhmyPMCSysL->H(Z z5<7)`F!Z*B_M&<}P{USFFVMr2-$GJDW#x{woPG_9w!6+G1x* z(6Q83YW}Y{#V6Td6Vuv1jGgN1Vyue-(SFVosg7O|-V-FgwO?1KtOi+CvO2F&9}}bK zP$9@ED654CX=u$a8zLL1Zgx^3(pQOQDjTl&cAc|I$muWSSfVLc3EW?(SS@hZ=0!RE zMH3XCBSRlTx8c?(Jg1=RFS{{c`N=X{NY>w&llri0xkMvyt1i(S6qz<$z_Iz*20V`AC@90P3i5jKgVL|>NTD8_7+F@Ki5_cyX2yJQhe35by+x2!e% z0vsmeNAOw&eSlCv@~jcPz@Y{a*_QZ)L7Aa!6*>c|;1pUr!efCooyC##D}=N)qU@on zCTSE~n5k=frojh@d}Y1JfqRKa6(=;5l_!mRg<vqVdFi!$t%QeKethY*XZLgG`FPDOi3Ysn#8(O#4_ z{QPR88G(j!3k^jh6G&$Nw5(N81Z93ml{Lav`S@y~xLMDy$r9N& z-PF}3G<#!}Q29Zrp|lKWWB`ra2(kDFWa!ydM$JATtt#7rERn=|AtCJ+oFe5?=U?&2 zwxbt9NQ?5)%1AGe?6*#}T%zTggfg*0-6i6GA60%iCNpO_?(6wXYQ*Bn+LmoZ7Fdq$ z-9-EQaqWdV1pA+7(Ib!r1N!viOLoR#-5r#X8N%{elq)~JSzcRK z(b{G$X{an~sIG3o&mEUs&K11XR8YUHjHfGGmz1rj^sf*E3#VAixQ_QXH-p4by&ue# z^=0x)l=`Ea{EB3KRa>i7RGeGZxU{_N@~RbO^;OHQ=Bnxzid;gGlXJ@^Pbn%Xn_NkkMHY1p^^3jY-%_)%`&*YbS4mFs28!C&6;`9r52`P&Y8HBl4}PMgsInzX zEmd2TA++PU<_1wh5o|;y@khFhXRg)FRVo8kOBpz2c2HF1PL)L^3f-l#%3v*7!)dcy zQ2eyo#mx4io4mW49j29T8lE()wZA_bVCv!UZpTvu@Mzt+h(yT zRJApVM#Wl!by1OQfl#&rKNwV`)K9Ug@1U{{8Y->D zFs(3Ji%>jcEL5&nHN(zPQBzfMc^Sl6s=7r{k+{C084a|yrK(cMVTSB$ESa=oOHD&_ zt5+0_&5fYB1x<#Qs%j!H@?ToFRCNvrkku%wP_#LA7#hUiS|$1tKQ;&pQ!mvcrBOt8 zn0C=@?_{soZt$iop>ZqFfm(p;8&X=)WKvqtdC>e*>S|l7n*EGg>`l2C-o=^T6x`}h ztQbGun^Fz-+WNZM`l^)brS&33pf_ZW85{g)EwvMBs%kp7LviTf$RM~x7iJsh*inm7 z2^$Vpp#O=chBhrrkN3Nj`KzI&YT}pIHU=BKvPylczr3zWbP=+bS5-Hl2MYUFU?ggl zNrT;13=+(IIR~!#rAx{hDq1mQkW|yKw3$7=zN*qI8@;H!fOf1ru)%;*s?c41`VsWn zmP&LRR*TtC&}Y?%B|2eceGBWUMU2#}{wC32RL7GlvsM{}_SNjKL~qM05C#;zg1wH# zp`sj`GUnE{*1*J5>cvis)QrZVwqn#~U(&<&|IpWccdIQn`rJ~}PJi7OXS&6XCw)3> z=!suE@mMG~ig-E@#~!VCT)DXD$V1ExP12{}q6VBJBB$5p^cIP&vgRvs`(H{c(4gyV5N0F2*{2+R{$bmZrer3-;c3dPc% ziTG6@!#s0@{W_7B2ao8;L);$<#RK!04IO0?Cjc`o59H91z7g09OgeX!wM-s{p`%RV ziSWt8qcC(#%R?ihfJsk4LaIT2?lez^ACIe+0^vv}&V*0;?ZDb@JR(3Dr1K*%;}m`a zn2u?QC&4EVA4JoUPRtXpr1Rl49qGg=@F{m5u+EFm*YO)DL9aFViFMsA17j(1jkO&?5i6h~Y&I2GULOiYqfwfHTnDe9p!_NTgHozTuI?5r&xog40 zop(CYiFLkwUQb6laSVLsrFZE`C)WD&&<`E!j!&?YfT;s_<+YxC2u{be#J9sI4rxZFZ zpC{7MBgR2-!NaE(d|X8x`1FE~Jj8rhK{6mXju(lze&uKcJfL)9L z<$MmTZOBJiiJ&pxIQ3M7@`-hSNipcenm!en^2k3Ocm#aP;X^Mv(up}{l70iQ?)!WK zqn~*3Asij~iFMo1PrpdlPR|{bL(E}@#Uy5X*O;<3MwGC>Nc-RZ)$vrUeKS%=TdB?e zk3K@)?8i+-3-YU~^QX#>opZ%zDa`wZRIC-2RADKQDxWB&*49@ys1$9jsaOOC1C7lM zjWAGG$L68k|IK&FS!L64ZHFL-sB|rjO(0bKo}Uy}qm7DBgRiTJ;i(AgDr9&T!n%4H zUVyN!dWIJxoQ{k6GHf~=OfiGVlMN&2oMHeq!yFib&M5{5GfYi_&M5{|GmM{J8qO&e zH9-P*R!rvk;O1B}v6|c;<3sj0*3B z&*esg3O@y3JC^Qw9e~g93%I!4cnC6?-?6je-#;t-x3j__Mv*D68^U_2L3zCq<`SbE zaSSIR%wgZF)UUqX-rH=*iQI!HWg zbE#`?@~#y1%ywpDnMBuy%T~k0Dg(D0_$mW$Fz`kLcMvO?HyL=VfdMU>gCQKcL;$0C zTDBMe;J6I3eFBQ_@Yx9xb0o17C8h|Q0|J~Empz0?PX8JwBdqaA1E(8!w1Kk>Ji)*@ z#9sV^%g1GV@egh~F0JPbVx>c&flG+FmVhh8rFj+@coDG||KKWdX_+;|yl;f7!==+U z60;C+t+;I7U%+j{rE#Z$?=kQW13zToM~Ri4pD^L2eB<1T;7#c%0p>;jFLKUT_8 zm_H2Si?rf!KOBX0d?zS*_Txilty zBj`MYMBD+)Gh)Oy0rOB2x{l8ZT>X>)m&Sjj0;ZJS#v`-ve3 z%~N14hu@E(9B!A`xOCb?VqDx7Nipa(iq7qi7K6@1Z{#QaCkk`B$7=p@GlhR))-$OOdevs=8^an_%AEW?IFJTigeB!zg3vqN$(OXJ^51= z@^B3QmKbdy2eu;Cea($H@^I^Ih=J3I!JiL)V$DB6(P?vH-8YL#ha7IbEmS-+z(cI- zmvQ9bHe92^ufS)RbZ*1(d&b11Uu)nk2Ie>A$iwZnrxfN~wvSkq{RKtm_T_8DC`%#q zA=di5WAJ}!;Nfb%5mbgNN_- z(mdA^t8s?EG|`y9D`8nmP!{3{wFY}c(Mv%m)@6K3(HDSDtm&VTjPxkdO#V&t_A$%%Ddd_fX$m@N*5-U-8@n z9%9YI*CmmM>#5O-X9swQH4opHr1QO4@jL_`V$H)BCXt6*jSCddqu?Rdb9%Yr;WlNB z;&}o*#F~c(_gR*wK_}Mq4WvUp)80$0`t1Kl+?#+`QDpD`eQ(xF!oG-#8W049K!Bj= zfQB6u71;y_3?T_58j_F%L`4vBK}Sa!H(YVSZFC$RQE?kV)IkRo9T(hj8TVaB9mnPO zzSZa4yr47l{XO6R($CYkK7H!csimvxc2`$dLoI6GD!%?{W848Q_XOnJcn!g8Aa4Ax z<$_1t3a~S5cevbLzZcnb_}@wWv2b}ho%vr#J_PPT#)rXWUrC!2;Bt4HlgVb2ZJS{^ zW;9cnZIbfOA!oayoqD+3-A)tP>@1=VnB{Vk@TtZ-LH--#oxvB7VRIE+?rxLy%xzu; zrcI7lT_?=*P5I&2?=U_Byq*l355wi|HaC&s&uueyhUJ*n)509rqWmH3ZyIj`e?*4O z&){-*n_rRP&+S|649jsXUK=}ep$+mp$n(jt(*`bgx1-;V?QHrS58F++yYab@_cmS$ z9!!SKA#l07%@VSuZ6tNT98()7Ji(aX9X`_dAK(fyY*xYL?lx=4X0x6;V2;Zz5MFGY z2l;a2mf-Wquz3Mo?rw7x*=$};9Wcl8t`@%0_-~N^(fB#={bbl&50|^!e3)!DH&F-7 z@j$LV?#vbL$p=CHHW_x_gUj9Rusyh)&!_`^jvM|%_-@!bmVdE24-B`x?)ds z2pH`}wy=C`>^wsFVBsT#rwNw|&k>#{9QrPc>qL>S5Dxv4>D(&vdxakren$8;;SYqr z7EYr6cpmwwCTBjLciv05zwi*@F~V3VIvtkZK5#q73LhuTcIrB8gU)Pg&i4s(IUtw+ zP55=;4~2QoUB9I;>%Yr;2p=YVlklCw8-$+~eqH!O;ctX9aL?=Uwie!1xTi4hrcrWbse-e2n z{^MQF#id<;oXDpM&la7qOn{|%zQ`AfKJTC1=4m45)EJjvAo43kel6L`{01<~kk2S? z6Mc@uyUvqjoL6qoiTr)xJX|-pexdN;!t;gC7v_8A9`*%cuKw@xUbq)??k~)HMwfGZ z-g&$*?-^ZwwD4TvevZbwu$csciNaQ6VA4j${@M{HJLz7#%=+p?$ z7yT8&Hwr&OwzRz|{E2XOezQ(%;a$j zOysAF{2a2S;UeKn$yPqMku44P2>)61pA-FeMdu^3mCrXK=Ug_AHxtafb9}M`_E3m*)o9lr2?l<1cWSBZX&=r0hR<)Xt+D|lSzk*!QF7yavmZxz0SZ0X!0 z{4Ck*ye;}43x6&AFVW|hCB1xF3U?w~T)PVI0cM%-Ic6Wx=VusPf4J}r;dPzfgFM@XcgP|61X7WGkO1$(H^XgkKT;Z-oB^W;t-3qdeT# zde{!ay9swATN;K64+GNS>zSM)uK~RwtOuRK3Di!;k9H-^L-+J5X>}l4Cist zd5(;o+grl#kuBcOh4ETy+WtYp2a`>oUov1^9OtQ^-0U|ApCbGlvV}bt%&>gUaGB_= z5xzZunHvJ+n)5-C)Uy06WvgP*>kxv!*ugPX-9vS~P+?I*{*`jkEm~nB; z?K081o@{a5Eb_ZVexJx675VeR?+AY=`d^SOo!^jAF5IxZMLOPAWIGpokWIgcY}fhw zihPX74;A@QA}+V{p5zr=``b#Jk9vqOmkP^9>Rsf{e_1Kj}ksq_z2-?!hH7ZX{!;g7hWuU zvhYgb3x#hI{)6yZ;dR0f3U3sCLilOnt-`Meza#vC@aMw+5YEAPljohEo^Wm_+)3D< zCBa10Rpk6su7}-E_(0*|!v6e-b`BLe$C=$uxiFs@x!j)_G3+9dFBU#c_)OuI!WRl( zDSVCa?ZS5o-!IH(MxHi~X*>T_nDaJW{=D$th2IzU=S0loS0evjI6`}Jn|zhfIZt?3 z;XQ=+65dCc&x72KKM!IW#)$k7VJ;@;`qPE|84$yAp*h!CD13tOGGWfabNzFL&lkQ_ znDg;mpDW2buNCGik1l^u_%UIAT-(NvV_P1U&j_6PdZjbJjO*M^ znBP)%c`xC9!hDY4I$RRonV&Xto*+C~_}9Xv!kjDUVdn`q33Fw5*Evg=pQ&{@SATcD zTKGocTZH+oHP^pe_%Y!pg!w@t*WW7qy6{`V{}BGCF#m+yPNs04aBJbN!aaoh2p0(- zBs@Zx^9eoP!-QuER|p>~Tqn%uGH!>9+B&iOpyi-j)}zDD?Z;oF4Q3Uje~xBsB< z)54tJ=sJA9pGk_;LHUko%v~OXU>y!?j+1PlP>Qj%rPvN7YgHZKxz3f zVJ=MR`kX)MJVBTr)OLBf@G-)*!V82s$I`>D5I$S@eBq0QuNVHk@a@8P3Uhv@$F)hA zb2452H{myh-x20mmFs^l%!l_b&lJuRZY|6&eY<`);k|_mg*k`Q^-F}u2p=NMZ%4a6 zpJzE&3D*eo+tRLcitw4j=LoMB<~&aidyDXG!hDy(b^a>M_ZnROyfEi{y8I2{FNOI| zh3ot%oWxj+%ds|8nmKRA<@}Dd^Pa+-Q|j`*!h?kQyv%h%Eg!v54)9`>W*Ee@LpUpY*+t<#o3IARAePKScbN#P` z`O$2bw-9bC+);Qp;jY5{g$D^AC_G%4&jCH&LxqnP<}*Rp;oMi}THyu4#|!iMpzEJ1 ze6}#h!d&NK;md@t5x!oSb89^;=hiykBm96c=is`|CSi_qx%?I3w}jsn=KNaM|3R25 z&$^szdONokZZF(Jm~(VpzrXMxVXm<4I>UrHch}{I3QrN9F3h>Ru0KzBf$;Id%Y;u8 zK1Y}ze07^w3v(`)%WoC_lkk1Q4+?J)epdKp;n#)V5&l4!&u~2rKL}^ynWoEgg)F?fORuPZORY%xBrIKUa96@Cm}ph0hTF zt?=)JFA=^%c#SZhk9!*aD13+Ty~2MM{)_Nmg`W|AUiekvH-tYB=CgQD&p(9!DV)T! zY1iTNdgqS9I|~;GcNgw0+)sF4;RA%n2_GsvMR>X}pXqzrYJ~ZPAeSF6e3tNUg)bDo zMEFMGTZHcrzFYWF;m3ua7Jg3n72$2dUkHCK{DUyZ$UTp_!uafNTE4q*H{rd73xx*> z?=M^;JW_bP@C4ym!WF{vgy#z%FMN_P=Not)Ip4tfV&Th#e=p3r2d;mo@IAttgf|QS zP51@j_k}q>!R>z~{H<^cJiB+DR>HdrcN6A31lJ!VJW_b9@O0ss!ZpI2x8OFH3NIHv zOZd0K7Ybh@e6#Q$g*pGhpVb0C)w7o3+vGC`@-wJ;(oPoIzZYM{0XJO9YaGgTo{=y}~ zBZUtUK3w={;n~9Tg%=1f7Cu?{4B_7hUm<+8@QuQ^2;U)mxA0@aPY6FNyj6Ic@Y}*4 z3V$m6jqtyO^V&9-Ip?K#`F9fL92J*$6W&X>P`JM^=c{A0a$Vc!qGTaD(vi z!Y2uzD!fAYQsFCwuM@sW_#WX0gr64XTo=#dE5h4^KNbE`IB9c5*pFokw-jzGyr*za z;l9EHgbxrtP}t|vFy4tGpDsL8nDcEsk5$4a2rm&nP54aV^Mo%DzFzqE!nX_GDg1!& z2H{P@n}weh-YWc_Fz4!c9{(ZyPhrl*aGfmSR>JLsy9)OZ<{TckQzX2f@UMi23y&6_ zB0OEVOt@0GMz~)1c;S(*tDORo zcNgv@+()=bxLA0w@DSm#!sCS}2u~LNck>ylM5ji$Ubsnkk+9BrSRwMWh0hbdK=>-* zHNrOv-y*zD_y#2@$bRK#(w}GV0;^x^C)QlPvFtUcY^tT6y>b@6OHc!^SxTiH-L{eX5HsJ3d;Wi zKE{~spx*dzV9u|g&U4_!#xHHfCFS*f<4#+?Z`;i*al4^TwQi^onsu@SDbbpY=Usu9L_) z7)&SUB7J4t9sHf~KHvz?{i#z3#`ll{vpwY-bM6x7U{GfexU=zK@b1RH0&{K#b%uiX zF+LnzWIP4DukkeS5aVBihZ`Ra=K4*vQwBcFxB|?18kElkA7y+Dc$V=z@EqfMaE);z zxWRZKnDaDfhwXcbG3Q2|YRtCI`5V+Z1$>?{+xmc6fii!2uZ-^p zb3O^>f5Se;_&M;Q#xH>Rt}%69!p^n1$Zuii+!8YTwo2pA!N(f2pPO&Yxn{>1CsE%| zGUgg|%Z=ND&opL#cCK-6@P)>M!K;ngKV4_cwdHO$=A1IlGhy1wz;_$--Sh{HPX=!^ zX20^J@m1jGjPD1(Y|ORe-Z0L`dE-0LwBHfTIVa@Zz+W13?$tky3&B4b4+3Z527vkp zf;s<$JO<2nrO6Y(osGF3Cg-A1&UY=l3-f(y%K08V*A^qQo$YHpAIy0vl(WqZH(mlB zYkV^JFyrOmDaM?i#doe5mThjf@r7WnKSuc#V6Hz#X8SwNnDetZUxjk6KX;n(E#Ti6 zvn~G4_)hQ@#$1<Ki(t-mA#+aF`NnU9FEM@(yxN#;4mi)4ZGv-SsKa?%I~j9LKF*Dy{6z4c#w);k z8*|=Pk@2PA{fsXMb8Za7a$UZ$#(w}GX3VwwrWii}{TU7&vE!d3h1cHGj#h@EOLRgE?o0 z^6$W0e}Mcw_!8qJ%5SwX=Y?_p40T$8Z#M1#zTKGX8s2T(1^j?9=Y?%FW;=Mycpvan z#(lug8T0)|&Z}WuoEP?nG1p3b*Z2tV$HtSuUm8ybbB+zemV$pWt^nh6ra{j2BsiCb zI&25K8FM{}p2my7oJ&I;uB|xGnDfZ?H|Bh?gN!*xY?LwE0q4~)EZ>nl!kBZ!xHdB7 zTw8IbG2218G3SL<8$SlFGyW@hp)u!(on*`p#xFO11ALb8`{0$vAA(mIe+FJ{%(lY0 zG)xcYk#VgC@{iy+!F~9l=ihwaG-sz2lpu|@py1g4)D#!_k(XY z=6acT8;3PBjk!i9=he{W)8MC#xi01l#%!0IS3@1HrTMP$7vRs0*)G2^<{Y;~eyraD zoM+56Gus+-jm%w*_XPJaX1nB^8OFu+PWl^jUfX`gW5Gj>+2%$Vb1oa_&oJx^@ZrX@ z!JI!sIp?+g+PD^6Y0UM@>x>)0oHIlHrQqepTr1^F;}zg@joB7Ce}?*8U;Q#;&T+fi z_zLh1##}??55_lwIhTfEIp2+QX~=&BbK|?9zBxlBJ&xL0xVvzXFvmcB+;yz*WZ_xD zHNuO8PZd5-_;TSJh1UwN7v3zqRrqb;&xF4h&c!%|=cR*ifp8yTj-$Cg$Eckr2+t6% z5^fScS@>+>Rl;k8ZxiNNkH@=7_*vm?!W^%0{cnXcQ7>H1abxE$!o7q!hT=LL2X^LI zi8IH0ojDHT%yC`k#lkCuFA(N9t?P4a)|un6&JPQ7+|}i;2)`%Hu?E+PaIfynu~TP` zmpXHd)VWBQW1%kR_<}RXJe_9=b8OS)9M5#-7^XAF7o0g(>CEv-XO2lauNUUnqsuwo z=*%%j=g)*WmgsVhA3Af)(3#_e&Kw(b=9=@)BZWC0;qn>69FK5$lQ72=T+VR>=T*XM zg!vAa>+t^Hd6V$7!rO#D66V;Nht0%&rgIzNF2cQpi-mcA?qT^}m2+5U5A}>&g~;oL z7YnZtzCidY;ah~)3G;m@k9UjkE5f|5cAc+;d0*}Fd|{3$xt#aU&Kx^(9wN*!B41lz zvhXZn-s`#!?{%F|6^={nzyB6M1zi}EAGTur-fv6?r#Ea|vYT8IjxbI#D;@*plGF@O zKmPAAyxQacgnwoan6}r?xP(G%HM4R5i0c#DLvu>oD*@9UW!!Fsj&AhhHX1uFo&T%e zA<$u%0ob|S273(a8}mW`qs+Cc7kvx8!L9_?%VnTQ@S*uaYj+uW}S$4o{lj6;7@ENDZTXZJcWkDP-lA4Y;TxY~V!|%lhMiJD~o7=k<618{1 zP4T+qESEOs$9%9(dKh4IH|$Llf#coqQ+w-RkClS<+L<5iJ%!!F0Hf9=h=U%sx!>bB z-p<}F7&o$V?qGfl_A+*cDZ=YF|?_1ZefLs6K{RR{l@4xTBfdvJFittlV6w8Z>_AM?hC>XqNd|Xg4tHsh$ z<3}eFZizOJPTNHk5w9be2=;aSs$?EZe9VXu2Nd)wZ>Vd;=jiKd3J)7o(0oukx3GWT z0R#FL6%HC$IJbD;IsNx7nzMKOJ@ruR1u#Ub)0!%4@g4VZ{F>&JNux@K4WD%Q_$iY| zm5v`bdDO&V<0lO*YB6m1xS{=d`|%&XG+NzIH?OEKKg^D=c9u1jMSW*C;)|aDHy`sv z1UqcaCBk$6`A_Qo^KVY-*<^9)S>rKlPxF=$;m=gIjPyTJEaW#mqx4BF7tQ~StUFA% zSK;`aHHYy$p<4`kp2~lxR|q}*pZRxs{C{!VjP2j)9cX&qAN-OY?Tq^cyPaLztk>y-^KRto7=0YE32q% z@K*WX+vUK02MihzTIzpqmrW}Wo3zWWp*O;_9*9R`pW%u5f5<)gzt}ky{wy1AEVIi4 z{qKK%cguAw@t$3&km z9<5=N{W0do&K;t&f7k7yPWi34ob2}UQz+m4be>ZUAIfd`H8n$%2M_z*Lk0P(CT2vl zAK5bTk;i7uYFa;~?fUE6PN;91J2-h&eN)58Xm&r87>^T!WC^Hnw2|W*#Dx-~s&)9yYU8A^%&D1b4@_oVHtGVrXV8%}<_= z@?ZQ#vg-{v(GPXK{+X`Vz1elm7hSKtv~A1J+HLqO)qk%&_uOk>)|~c*n6c!+_!1nx zU^bS6F0efsomBHtesVNUDyl$NNHb!MZnu7t+rQn0Ho@j&T~qy^NS^&gw{Gl3m^RC8 zZvRbPgA%N_+i=@MW$lt>?Vl-Y`(|02e}2CAu>H%XAMr$Hr>27Z<@ubJg^+u99o*GJ zS9N_Nxp${`+9e-7G1{7q__q|=De5%5OI6ohhwR^}uw@*qs_XDuzZ%?W@9YD*<#o%? z7%)7l>NKuxb)u^4rtGT3^_`O0^P)#l6JccAYi(cJ^V?)${!q>eLzHEhJCQu*)x!Kv z54Ydia@?|^W^?SaPJe1Qv-L^I!mJ-MkDnha@6&JZ{>`afG=FUWACe_w)(_3hZ#S-O ztTL_b-mRzaacFYU{O^|_zFz&uEsH(IE?YFe(<%JMQLp|Ynccou|FK65&6(MH)T2Kw zn*aPm$?Rfi3~qZ!smHo#{@H(;ed|}RwytiQU4*iXuHQW;f5i0%cG&B{to(tTc~(`H zzvu8rf6Q-JGT{7P!wzlTP?nSR#!q{cKe5kW-q}5w z-6tB5A5CjJeB+l0I&t}glBUfMSG66m@#~_!&PVg=G$6NEBELgkw_P`PnwUE=Kg!P@ z@W|Ii70YK8HBD{&apEIiPAFbJ^{pTFPK@pp?fS`Hhb2$H{-+-@^ON{LKKr1m#5TpzeSv%S6h#3I~s${tqWViI~&)*y@m}g8{74?=aJCSZJ{*r)-T6(o!)kIt7!JE zUsksrjrdxP{@qVeVQU1a>Ob}CA5Z`Ar*Lrk`#=4xj5>Au^wB$i>eUsx$*%2twSA~- zyJxz#eY0zuZ$EFhVM5E#SO>SfzwDp$+1KT_%U_O} zP0UOV%{;W_bgRunTOXQV*y_bDr~UP(S5bcuP44Z5EjL}gb>(}@zMbE0LlL9EcU4+` zHmaeauHk@!!zwE)3d#!V%NiSxt81tzm{ZqK&{S33STJGKp#^iQYdBmTjU07IA+OjD zC>SKi5j@{HO3EMopYNZuGbju)m${kiK7zJ?O>${~>nG=f6o?Y~yDsxDol= zg#9Dz?A5ztABnvN`wHyr5r4vlYtzO2Fj99M`}RHjGqZ8j>Z+{F)^N{Go|Ez0%yY9& zPK57eQI9&4;byY-w`#-T-3Z=k{|ONE5P$w}o}D~7;qh?p8Ryo<;U{n@=-?km#5;$0 z`yK(yfU#Z?mz;{2luX{Ro}6IH($`Y6P-p4i8S5?5#cyIOWC<=@#)+idI8eqdxfR0X z^XzXjGIOq_lg!~Pl8i)lV{mf0j!Z@}YbniUX7L-{8M#@z!g5A#&Ip9g$jssrLkP|l zbFwl4#{jZ3PouR&?wN=(JM(uq$e|?p363*rtB6klGxr%q?95UaG@i)Gb(#C_N4%Zq z;0UHJS&$3k2X6%CE=J^SvL^9gH+35XSyPBn>QuK~9~9ZAkkJx`r!xJ`|6 zQ`b;Fy%&D-k*XKzpZO$ylV39M3<_F|%$of$6jBS2ysQdhlqyG}vMR}$sWwc?9CB`o zGm*09J`T=LapXIzmfSftj`DhP_q@4L)_l%LFG}&7DOn9nNpb3H6mM1|d2ovJh_af< zLsFygn|1s(_$@)&`qDC^qJfsYR!>4oL2_p%!2E? zZh+zJvE*dlv5isoIBI0Ju3i{rA3PZNb|T7WnUaI`wJ1 znSEFleA;qOOVsuv{3N0zCpTmt!6};|=yDJGQ`BNscKs$Crg|c9b^{S-jOvYyv_p#X zX|tQiom0zMX%;Z4T~eH{>aL_;F5@S ztiWMx`#xfn`jmOOpK-Q{<9UGbbdKX$<$*JzB>!o$|4ef&dSyS;8Ks*yFUo$F=QPTz zjIy62W#&~x+0T=5^XjAQt)%?C`BC;#4_4sAN;i1)yQqx_`^#%M#)v+h%nok?rinY+UyJCm&{ zc_Yl^OeVIQmdrVl7ZWK?fz6ptL>Bgd!#xPvxi>tIK)LJi^K9--dttaE z^&pdS^F}B|sqW-k7#e>_RR04xJH>u#i;ILF?LSziB<01oUhX*bubHH9V>J} zY9RR@a`)7|G;=RcL9f(O%I_ohNwMYU-p?c#rFNms2gn0b9Kp@~a}WF$r{>ZAgZsh$ z;MBKF=6WV`NNB^k8^%Chk~)yteTY0V^;_E6_$YX6swM3|LYw1L6}0*2X2>U`wo?8W z+v?;Lzs8>X_%o1Ci>uvcp1|p;Q0`BVk5B!P`cINCN#Rm1%6;lZ=--p#Z2sIWN{wLNUSggzL*JJBGW)jNR6pvx%5|giQ;)$n_jS&rX_LyLv2ElIsS(t9qYb!o ziZ|uCZ?P=8rzTMU?E=VqA^JlRWp?KINLofBnf^CoPC^QE;uLfCPB_ktI!&51KFWQL z$6_2yMx#NEQkHh|FedjCMzYhvP)ICcy-9GQT4$cC#FBuYroB4%KuIK) zo=1g#R9$*Des^xDY>E=g7%+a8s*6?Ta6`)KzN)l2lfiiaT)FEJ5s;;L{^|ioA61S_6m=55wV}>|qjbu!qT5`RtNC zm$5kB91EX}mD^6}c5LPGQQ|Gux{Q^#EbZQv%H0!u!>|X;L|igyujZ1t0Eb1BUMrF68!7~ z>#g${!=$W?J`fbfK!FKtfjR|YNZ>gZs7H`Z(ga>@UZaB7&l9*7 z{!Cz595kK4`;ov+@cS$L&J2E2P|8SA$X#=iww)05-U7YPp?77_LqS5=^EC*QovdUb zi2Cq}jo(lvEd-ifN&^;J^31Gx?Y`(Fc>u31u`hdQFTYBFo3p0e1mZmk}@5T zRt&Ln@!+(iXLs0`X?glG!3PbPx>*2W;`e?hoVc88=fv&z_iVrCz(P?4bWUQ*Y7Fem z#ScXizfG`-Cfc`-qCufk`fcc-28CWJ_8b&?gmV)#IVf}%=O)fZpnXH*UzuRDiHh%F zT6)LU9!Oj39b4n#tmZi=bVj{Hs6oF%$tL=QK(XaM!Sa5g)9D-J`-a&2h1ds&p5XMv zF8iTx85n!lF!{zI(Z(Th#UYygLWdVKCb=HPlMcpXs+zY1A6 zdK)Yb;pzGdqUWDdViFgcDEtnh2B;N&0^sXHg=!C<}=lN zPI8~31L4E|rT2KiZ&7EDi&faQO-%HUdh^{j%6}KjGgq!%nr&VunAO{3udECv8-AH9 z?_Zi7^*-CYx48G^+j(CJ?~9OZE~?TiF(ssSa>mM$v~CtSUya@PPAH0?l8J123QXrC z=*nDyFA;=@t z>5$cRp|C@*|1kV`c6W>YvNBGMi!)@4Z_Ke24i27^GgpRy=(oqRI9VJe?EhH2QP00O zr!y#`;*htr5-<_|i#(Hn_a3hL2F^{*1Tx)U< z-gzZBiz4ce!??}PqkYa$j~i+oeV5=cZm9Kas5juSH$PCza``@Fqq$u6f&5L#+aNVo zioFkj>>J3s2ifFM41Bqb#c-&}_}A_2U`Z4g!Iz1tQP1&EhaT$c(5LcSiX%cld2P^)M)KM@u_mz*Cf55 zoyF?WB^tdLeN?I!{~}mjJ1`mHCmPLv)tuk6^sCZ7JnFzZqz;tfx|V`5FF-SU{ZeZ2 z2V!10j-Cljb?t#)UbVzl$4o`w>RWLLau|c)*3;(dY&E$+?CRzCxdHUP#C=b20i^+MLOdtk zV}a@*LbzQZJvd6VP4sBhJ};xyuC3Z8+GV$a5XF|!>VUjo<&A5PX5T%^%R3PMxG^w9 zRm^G)DU8seR?c1#o!s_`j8=Jh49hi>QZ3Vl21C0=`$V%}9{h6SNa&ZJNQ`UGFfF^n z5*Lzf6>Md>t=6KC7SbkDY_;u$c)FnNwnGf*5bZlAdhSe<9kN2=I!bC_p%Zdx3BbQZ zUnHDS_1t+}`+|`8&ROZi;}Wr0ly}KPVei^EanR0QOa(}97v8+=rgm7KC7mxG9uk4> z$+eRxW8Bhv>^v-Jw$H<^IJ7gs!*1e>SoRcO9CmLJD`)Y6Y>&Lel%1IAy)=D8LK1qO zc}fDOyFYw;oplO^t2?h8j_`ZuLD(*vf%dV8vc|P%yuCdD{rdDp$nCOJm=*O8dVK@H zRKH@A6d`03N7X+zkAGQe;VQT}VLf-=&R($sogu(R2 z3DMN0%koM_{a1UrQN92&2IXW)*-F6lrb~OUIt|X;7#V0;jC7dNjHofOns8lwkX%i8 z6gvuk3!G;HPN(x-EX8lw+#2JfxqGnZMorPmsLP(kt9f*vNCvIu(MFLJr%Q^4Gmx3= zXlc|Kby-c$#f~JvCv4~7_ZsYpXzI;y)&`tH=QZpZ(ZZaxHI`-v{DmX$ba*cwS1;0@ zu?L-AX%ABW*n17i<5yzkz=rZTS9L17Xdk89FuQkU3+j>k1=HEEyNgO0~F zX*KCru?HQGtGP}$=WDX&YjTKd_YiV29gk~rh^tTRLC52o9O4=kd(iQ?nrlDf;;;wL zEnQ{@&yg!|ScFz3BF1}k zETU5%a0ZrHymggsH^Y8hI<+I9V%4dgSgOEVx2A*ii!(#<~Le z7yL`azr_8y?#~Y)A2U?+pAy9&d|-?E6Wn56$VZE#hNugkK6hKq17YtJNKtuR(pYoXh&_fGgl+4Kg$&z$yYzFCh>7TPTkt2p8&p! zlT3#h4f17xIHeQmFfBn&^K1Qpz{InDXExav&iN>!|~xQ3#`IZ!AE zI-Io#T{_GaqPl-6p$a>+>F@+X+jAOJG_NdK*0tc_$>i`M8wzZDdr4q%38)nZb2I3~ zZDX;vjTyAYj7!b^9)~I1y1^EmsR56sGZXvve-+f_I%OyxI^osGsFaTD%6~I-xkeK5 zNyioB4>heYg$i8z2(^li>o#9FGGZ#>T8EA+OikBf1{)U?CeoQ4a3&qv)}zCJw7JnXB=4% z*|>MKb1c%HjLLcGnfO<$miSG8QG8LNv9TuVH?^*2!Mw`GexoK$n2fiM8v88@FAx>h zEb3phZ((K4oPIUcv-{00FaNnmao@px2lcD2Ew5QnQTacy^fS{IwqN7%jsKhQQF+7h z^-U;wdp87+J)@|xsiLBCPTwk?%_dBHZ3LpMAjTX;Fv@Cn^;~di^}PBT2vAV59p%z_ z)s5v4z+h8NWB-^Mn;NQX=YnAa_E11EV+aV5p{>7^NZ?MWW0c5fk;+BbWM(28f@B0I z1FbZX(UeNzw-rT@WaBr9fuTf3Z7Ku59T*C7N|pvmb}9#49zyLALgl2|1YcT61Pifd zg8GOt$r$qk;xn-(%*cjr?4JROy+hiN1O(bn^F+qUv}fcp4DEHHlSpNzW6nzL0?tge z3#ouT_;wDz%zZMXG0D(zZ1{~ecM6gY_{~hUPje#VJCSMy$-PTMrXCN)ma%n7suP4+ zq3|-8a0F!WWCi60tPYgO*v$%(!Lvf7aj`|A@DicelHoTI3Njg@J8Nk$7h!r$A|pG9 zvbRey%Q+{QemEJF;^K}IyJ~4L_+BVsoUHhC@HZLaxF{BV5N9JkxO8bK!JHKHAD36` z5tl_qD77UaOUa}5!O~P7I5Ti6lzT=vA6cO& z!&%N)6vD=JvPH;sDwIz~sx`un37I+|{4NbABQDU4)IRBy#HlSwb%W%uT(^nQv(n!h zr>;jhSQt|At6=-NlY+syA>)ff;b(?q_8 zGNX$_QN@-P2YXR4k!h!wO)#zr+ZQ2=&1*|s!2FFR3ClDSaZ@s!!A*RRjg11GEBe&Z zy4lB+Vs?Kid!wkavazwWx}vnP`h?18UfH73`kJ!p+EP5!ncGwq`Kn{GedhcQC(Nth`y$Q4}j@RP%Uk2Dr>5YDk@`nSw%%@eM9v^$U>mm^Ke*KURqsSQMo8ObmX9r zh}s26r{|%PuSG=TYMUw>=2ccyGvwH^#wtWr(HPY?R4$CltE7M$D$DWKL@7J)sJyJE zrmh^XxinUlmetIS=2Z*|g*IYXDQEVFxRCVH+0Z&R#6G&ZwyY+K--tk>=G2uoMdfw# z>KmhJgNpVK0T!SX1`dFHd^jVeW2@&@MWvV`b@=RK#)nr8an?e-ero4c&Z}!UK0dqU zbqi34Jgu?W%BDsZNNv-c=uqUiY;I-g@Q@ma`tOTa+{m1UN@l3Gln~xCuAWm}j?!qv zpIGhOg7CB5nevdKR`G`=9zr%oRrAWqqvIN?QJ9UD^B3T>!FWw|CH~wR%4#d>=0$T@ z5~v}y)hIk_vksIsEkJFntvs%jRSDIW$?Hekc)_xqVdhpggzP~5gi0hIyBY zi0?<^N*UJ;QM%w!6>BRSkdunwU0P8ah0LOEG@wpd-LTZnK?A9t8=u~W%6T~PQNJmT zsE+-r=Qh+GTUFO|Y~8|smHo;V;orAkWq+^xXi+$kwY8;9)$=N&vht?tg_Wf>)s0P2 zS!H9W6sScFp|shoMvj{_;qXbrhL0Z=&N&-OZ5aZhouEYoS?MCy2r7rSo#Q$av33kb zzFC#W)mAq}v&$MQ_bo0(1E|9_4`YY#+`6XH*~jzTg&d|&fmM3Ta`SnG(dam|k-Fm| zwjh>bY1smF2h|JX2F>=$<{OF|E~B4PkAzjS_4+$MXp9Z!$O&E1OJ~`>qX{;(^k+Gl}Q2Ehl zEmqG-R8c**5+{N+q^=^AV5s?3b&XA>q10>fN|cpXd0Cu$nyagC3cVbQgH}sx>l)DX zsvDtAOROmD{z8ih=b9391n3y6%KC>SHCEwmsL-*^D{Dj-gXU1q=gXn&S?mpXH=dEP zWG9W9G-=%7hlMJ`>Wf6rsVSSQ{YCI&F^@THO2LTub^C(Cc{In~s1aOSSID>I3lS63 zUs!`y*ic5VxdnxX!#R9FK_RXZhnDZZe?j3Ks8`q4RM%D(@|;1@u1eSE5^HBp+Z%oag>Et+uUBmKNEYr=D!KN zffoK^IVVQfOfOs|%?KeY~HJrn2gqs1}W)Y!1r8E1C5~l+UijYjBnLKVyxy zNWy7}d&AJF+J8@6(<-g&M+)M)&iLxeo6z5~Uhv;6qz4r@RN%NCq|?eXKf4ka`w=R1 zdHwOBw+i{TUVl8AqSr-qSWR_J_}^$;F#8ysR8+Ah^kR*yyN&5GvTAOBz;Oo@{~Oe! zC7|bweNc@X$||ZCMZ?F16TrU-{}YICHrQS9PnqTKO}_b`C#1O%_tyX4FAag)m}hw} zgN-il8GXy_71IDXyx*aVJFBp&0dI*rVyFCI>@Me%Gs?SRpN*aVcw`<`V8>JRaNGdb z^%sEiO}-57uGks&a_o4f8kmnt_~?%Em$2gkEHEFR@HU=uK8Ly2m~%CG+fMmgVCIQw z;KM7o$)^O|a*;m8`H)i`%}RbeUBfHi=$mPLDmiX^(;(mOdHwD4?fD|MJQx1XAV+%`Eyi^8{;DT`Qi%ZNK%kA%7`=6{C!~K7NhvQj093Q*GG5;BSV;L{=1Gqe1xx?|* zI~?D>!|{e4jvwFQcq@+CBlm#Y4kh&W9sEDQF?(aq!KVK=JNW;&!*L5Ka;BGyUU*Nz z@O$mxU%10@F^;_lp?>qACvW2XiY>l+>|Wj2P}aRDzV>O1@3G|;6)ld9Zu@(h^sNrO zc)2b29>n;TnpdShQV_0CpezZ-5I!;eeC9k2}s=+Fml zzW(ivy4}Ou<=+ms&*2OutcPaL?95)-nJv?KhVU$MH~e5*jNNrkCR^ums_+WYIa`=@ zAz{t00~s@&xKZTHe{k0+AX{@}AC%xw`V9Tfopxor@{oJ(dq9Ti79F z(=Q>Losl9RD?FZTb|#Sbzz;U|jfn#MV4H?L(KTSW+Dq&ia~0)GIJO$>2{tfn_1Ha+ zP2`@GqK#p9K99UNrFdrxdt#q}(JHc)+vQ~IjIR>;8sQtsmd9JjX7e`TwW7aH_Ot5Z&d;WVg0WXLn&auyop?E82nO?fU{ zK7Mt1g~{{b)|s4kwqbXhEntJpD^<>cA&UDg`xj9Toy+0gYRr0i zpYbxdtYg%93GPg{a7fPM3BtxHa+KE? z=UE?HV)A;($zHFfQ;wZ?ot$^Zuuae*=drS53Ap+4_k_cWa~&>_1HXNtJaVAHt~I%Ka`qfLGbq{8-8nFYnNsOlK{0$R6(!)8QTH>87&|I%L;5PjoIbhDvmmG4JkgB_j>@Lr(TK zewXQRG=MwPL;c5%*$+Qq%+Y}Njd>r$**Vl-hO~V}hW+)hPxdlt0YB=rfy=l0$s6Dn z7#G1UG-f}~sV}ZG&X}VO{H_}1nX@nP5}dl|k&IpSxzy-7Cvcx58!Z-PGA&pT(Y(9UMa$$55dP;Bxo zkdyQ5IstR$gMFrR9NFwcEq%?2Xw#f4oG;u)xPx$KVRqks9Se-w=f&3{3`=IX5EjfW zghk%DF>HHdc5Tk=0?65L2a^$Y2wd*`CJeU{?Cb}*jl@pBJ5`hpJ&X~B(5UE&KkJf-46Q* zx5IuRj!Oafy>=(K1;T=ZKV!)7W7%ZzMgwH@9iMK#*xf~ zaYtcZnz$YQJ<|?1p1TACVPjSEumgp8o#XOh!efOG7oI6xA$+WGgYb#MD}+}GUn|UO zAy3ae!Ve2SCCqCh*MCR&3*jGyTcFOlekb96!o!6R6Fy3Kj&OtU65$JkuM)mRc%ASY z!XF9$Q<&3}JpH`xcb*|UTew>IY+?SVdszODJM(|s`F`Q|g~MpI)k7{>;QAeehY42* z*9$KezC@V+J8qLVPtN(mdkF6%9A+k4+J=k#FkxOFxJ~}oI5!CM-o)i+311|9jWGXX zT>oC-PleeRxXxa}{e|ZWuNJ;p_-^5i!cPgmEc~u8zmw`|_(?c?ufoc0Cv-rr6TVAf z^20^`YvH-V7YN@W{Gjk=;cdbn33H_(PXoXA>CA5)I`g}p&b@{C{Z5zjo1M-Rg=YyL zD}0>ra$$Z;(Cu6%%;oo7euwab!haR!_XA!3En$8G(B=HrpL09m-G%w>KG)e-nBT2* zd3d?n&fQTWpCjBLyhQjcVSaDYZC)eH@9DXm-_vt`RG8n7bopz-9|(Uf%@=E}tXZAk0M~T<0v|i-fNczE${MVSXRc?eIH=&I5#p3m+;xO}Je61mTN? z`Ta5fPrnZA|LM1h&b{PT_;bVdnDCRLvsL8${-3A$U6Fq+%Riq17;^k3X=68%4k{zlQ?BKrJh zp2zhvm}Sce-yc(M<@u%PWa1*s<7z{;baoYap~!~`PZd5!_%z|`gf|F3FZ_)#-Z4+7 zVK3p)!n1|X5?(EQr|>;smIJTVH&Jfo@U-wt!k-F%MYi+x1KG-_9c(!7D%^`~=dPc~ z2ZEUfj%^O196Pszg(nG5BU@ZEz#g_zbdC|7TG43~`3kbt?ca+0cc#z#jw?jx1~PVT zw~#FjcM3mBHk&U9za{*s@V|s}S~rL7AlyT^zwl7ual%uC=LsJ#e75i^;Wfg47T!d* z{B8!b%y~ccg6Oz*Cy{Ry`O_l*O1LxH zkf&jw@EGBvglmOQ5x!RVPT?nn|1Qi`1w7t%WJ~|w--hJcai@j^41tA@pSGY+*^2* zaGmh!!j}o(CA?Yq3*ih*GVyr#6h2V+XyGNo=L+8>yixcq;ctamE-Zg;sB&q>5QTQ(5dxbX$KO($Yc#H6x!tV%wEd06fx5D2G^BJG#H%GXYFrVwWPIqCh ziSP3M!h?i|3J()LSeRpCZimaSI+qDo3(pf?Abh;=GU3yNIfmx;R|#`G&E;!^Zx;Te z@Lj@OlitH_5Pn4XN#SRNUlx8{n9u3m<_E%`3;#nn6ZO~ibA{Uo^I3%JbQ9i7xLA0w zFqgOWuoH#(9MI()Cv=`K%vq`~Uo3pG@EO9t5x!jbD&ZT1Zx+5&_#WZ)!hBZf>3LH4 z8Q~X&Ulo2=m@nbFoiBv>Y|-T$&vecgZZEu(a980T!hM8`gbxtrLX#fXDB*F!lZ1~H zK3aITaFg&N;ibaMh0hUQDZEOU-%j>)@)@V|?}cv{zEhZULR^2NFrQ1h{7K<$!fy+I zB>b81H^ToC&cL6a+s_ehE8J0->*2b7FJV5%bomhB5yE4Hrwh*%t`M#gK0%mc&K?&R z&2?TWyh@nQ>0Req;Twdx7KH0OApEfKCgCl@&kDaR{JQYF!XFBAty+(l&%>Ovab4)l zFRM7W6YeC;wFX?LtMJ~!Sge=LoM9 zzC`#6;WfhimV&4AHsQ6x4-0P+=Hi$h_E}+m$J*uFg!zoX#L@K#|yAMvnn3x6fdXC73Omy*Iy{SRCu{CpC7sYZ-p-wzD#(H@QuP;1l;Z1FZ{6ZCgG=q z|0evh@aw|w2=keg$Mw1JKZJh}PT+Zv>*osR3wIFiEWC&Cp2EF_`w4T!bB}Ad@Hk<9 z;=^?&3r`a+6)qP(R=7@>&(7TDDZ*z8pCim?YOa5&@U_A>2;U~WR+#I#yPd~`xxBl} zUlD#=_&woIg})U3PWVUREQ~F=eXM(t<~G6|gm)F*L%5f4AK`(*`w1T?%x8$6hC_r8 z7v@(YT<6!qT=m}N^}@#qpD28aFh2(DVb2j>DSWB$mBRXr@+OgUb#%9Rzwk!kzXmnu;L&oa635rvQOV#qeFPd^WfTZc5G>rFFFxK3x`F2V)E-Gz&Ui-iXZ z4-qaA9w|IQc(U*`;TghJ!ZpJ6!vAiZbFt{0EPSf)dBPV6uM)mo_$uKw!kl~W=jB9j zJB*KT;}{(o!`#u?#++|>zA>lGUt-MiUTs_mzRsBA#~h=hok8H+jfaEpHXa3j!1z$` zM&qNvj~R0w;#0;I;OC4vX3Q}<+OGq@Va##jca4{UKQ=xC{H5_(;2(|80driAb}j+4 zu8~=OyBV(rbFM$-H-iTl-wqyXycRshnD2IQT#ovG22U~O9L8T8zXmQd-Ugm){2h3n zaX!-6Xxtfmym1kDsWCsxbei!LFvsW^?=&#y`I9Ta7aQ}dOIH~4V@lT=Uk$#=nD1`< z(U@OG;@BPSYyoqwAo(@$Mq|Ej^0+a_N4FSrj=}TBtY@zn^IeHIjX4M4J!6*fC&mNd zer3$@&hL!5@Nb0iAEtrxBD0P8?4ILzlpl#5-}MVT9o*TNWxu;|1(@S_)aN@Cd|!af zXWadb&jjyh%(CQ?lhnBY`v_x>eR3R+^4qXaFy{LaQ;q)uo?-k1xZLYXw0$6Q;a#Mb%im<8qYPRy$g+xg?pJX->10RnD6f0XuKRQ=dv;`zMHew zm}8Bc*Gltax9VZj&Qpe^BsxDN9 zZxw!9_%q?}g~Q7GC_`=?@c-fV3xxX!4;CINJVAJdaFuYA@X5lw=J9y>EYg|JADwR# zzF(OCm#*`y@HXL(gufN$vqBHc=Y!5&g!v!oay}DuE)gCtJWZJYd9GhCyjXaJF#qRV zpZ{~tw+OEj=JPw(*&@vUFqiYc-kJaJ&iqez=Kr`e|GS;L3l|9w5gsc%S$LLk4H@@} z+!hJPlK=i&02Q1z4vmMc7{AXN(?Qo2HokI8E(u4t4ngB&S@Zgt;pxY=&hToFZJ+}E zgl}$-*VJn7f`ef@H@1gtr0tb}X^%2)HJ;G;F!&KiV@L4+s&@!^ZnVd?;2YD# z!%}mR#jv%3@d9Hyo)2E%Yd)Tx7)7%nW4SOr^kcb%ehRK{90z^H58%4JxyB{tS3C*V zVn`6}@ie==C16Q5zUPbo3Rz~w{f@UVC2+aDJsI;KbIv*Rr9tIeVfW6xYwz=Q^I97Xa!`{j8WV!HfjDAcX+k%GyMqk2Soz!Rd zdkTJPui_-w!#FwZ@!r$zZ38n5%!F)MWCv$T)@+dRwz2M|u zd$n=7#;HTVu<zosKj^q^TA{rL zf^F`{>p1pUB_{t2hS!5RZJToLJXfJS;rezxU@t#_>-MG!(|a>^{;&AvdOQyr?`=3> zJdBtB#~yDb*uwy$x3TX=u+9DEYnDuL;gRg9`C1q>AK)F=;?I<#}R+& zx`1`p&jm0#7ka-V{2%t-1w5+i>Ki}j%sn}|2MCbB%p@cO$v`pz5+T84fDkURkOT;l z00{&^xrV6N1_4pDEn2|4jZHwS)(VQXt+v>Ps0a!Q@lvqFB3cVpR1mKf^8fwzK4&sP zdwJjIegDt*Jq6NEsyaeO~~L)As-7^xHjmamEQvSz@BX{6rJa zm(x;@wC-#@$p3nt46%y2u6x2`Ve(b%-!%z`&C&m>YlZIFJ~TuBzX=#`PW|?u+5edG zf5rSOz4-svxwineG3U(xsks*`!jMcmaWRen`49j8Pnw5$reOY={&ev?%=ck%?&P@2 z;h2H*#8?C~4^XlH|4-)O*TDOq%)@Och~=={e>D$tfBm1#!`wopgegpv;o^CC(0@1& z&-)MO;d}nWc{mGpZi7DmZXW&+eBtW>vr6LgQs(COKbeO|!$sSiW!AI{jUnYC~Y;$zY&4&6=EOzcYn>`;kEGp%Aea%nZCvPvfdZ} z@%jRN_W)oLAg?QYNIvwJWCZ%74=^8L9Kt*V`tS-sUPIrE@Cd>I1g^3F_k7lgQvd6J z-$18WjK%*Li#h-*Md+7+jl}5~qvKa!c&x{(Q-{{xx&5>;Rs$ThH_IPB;k1LD$ zvw{1rkL+CS4Zd>SJvpEIt-;oNCtX&qSr>WydZDY$q4;%~#kp(Wwj*0kuK#jn{GRNn zPoUTF{k2D@xmFg;?6e)UUmHIrBhQib+06Kuk|d?zg_-e=f;VQy54QJGj%9hbox4O0 z)~ZrcXXpC^7#EJaWTwzo&) zIyDatQgez1-M-(G{hU!~j(A7gp;X>L1k^St}W?yy(qK4g%fl0UFo4*`D6q;N97kk*t-BSL|*jYdiVUl&mKS2Ps)MAZgwk{yeuM`BBf2guCO$jNw z(I18n3BxmBiV&AQEQcM`P{Q7nFuY$F-X{!C48!BX@aQl+G7NWy;kGaw0|W{#G<-3n zLs;W&-QKo2uC2Xx=Rxg6?PGq++1g(QYg+@g+fLgGt;si)>F4cB;TMm0)b3D40|q?X zf}U3I9!`d6Pp_x7OmAq9U6JSZtL3dpb%)i4THXkUw7`L+K<)Nqt-%E% znxXa!+;~g1!RT#I^rEt;4s*oT8ZMhW*1NqHCKz@2V9bz}U!*$TA2{94MFey`;n{w+ zcKdlp@=Z%)%A%QXtd#i4rS4#BA_y`Hp=HsBmbyVebtEn5+17sG!;XWAFQ)wwx}EiG z*R}G)>W~pbip#D1pzn||MdP!BW0n5iFSh=5V+@QNULz^w+jU`cpn}gQqDD|lm3;P& zF3s~enz!Avv%|CFgy*rdo?qS<#}2!-Rkr!ij#~eT+N`s+nVlA`c345`dFyG6Ng25s zx>A8{sp_}F)=_vjzZ6*(T^QrtV;JegD`+hy7uedC7_S7nq~DHdbS@3$ysXn=@-o}l~|NQt3RsDR%2grh5M#A zP?up)yWKOi!{a~U$vW%Fly$*aaWw9f+G#nhWj&|IyK>rVjTShix!a8b&B6H1_RzSj z>l>{~M|J$BgBbUY7aF7I;K!Uf7#`#Hc}}WwbQ9w>2FI;V*UF>QP8ENZ)AZhi_C%G4jHj&LXl+RD>{N04p7(JM z!%ZE|mHTRsOgmZpWsV$(ZP_I$O=b>`^dS#jqrr>!&NIY@0xSA6=+ zh6rC=sFYJpeqJntGgrk8UJ|ek(Vv=-&_8duExjUYuS-dPppX9ggoJ)}hoYwjrnv1k zMITFuQ|byrRng}I7Q&5Z6-z;0-I}lV_j;#TtBSKPYxCP4N*w9eM_r1&XQ$?ivqzv0 zcrc0ZVjjxv*!hVsjyFd6Et882jrQ!+dIvu98TNFZ@ki}@=g8rcd%oNizo$sde{HAs zoYs5+)^YzkM-N|8eBOHCNj*NW-I!Shk15o2J=l8JMu*b>z=Y<$d$HuyHT&|(*1INmW+cDqgEnQn-UTHKwF4)7(Z#$&)!{Q} zKDGY=cURl{0}t9yb-h3Ep^bm*a-Qj_r`Ox-v4+p*ry^rfZfm}!)uQ+UQJ?sN2;~SG zLOkl@^G1E5BO>@0)jihxp@bx#y}5nz4BfgHOERrFe)9DGb)&<7LfK~0aJc&uXy--3WT z&MqJPm|m_YdaJek>ZY@&mQ2)V?eb@vsa;Lcm>)F9r6pC23H+Hb@ zD?3oPzifZaMobjG8t;<0_PW^pHCRwcxq~-_P-o8IW?l0x8Gab$BM8 z@RXkQOyDRSnolr^gr=0B<~pcloxRnPk(g9ao{`wMpgkk8U%_ilXZ6CoM9qFRUpuZx z+2MJ5%0?JM_g7Wt>)tmk#aLBn@rOEFlU+rft=ad+&NyL5Q|j-bS|_4xH`JzYtsPWe zn_*TugY7mV%NlCOat}yunz6enK|>W$)w=Dmqefg=U#3oZyCZ-*ri zj4#i!ZS@Sg!IQ3Q`oPoLx{q()e0IYp?#71gvB!@$dTZ0ZfAyy51A%pe-N#M@qpXDv z?}6(YYBQupQXQGU!IOdXN!K259hh_M9EJpWrB1rG&{2kY zwJekbdRffZAfv+J#JVW$>zReNc_paUn)2F=y4pb@8`OCQdG{>6azq)%bq)zAv#NSG z7u&&Y^Zfdx@fgFsx~qA>qD_H4Wx+jbbldp6uECq^@z`@V7plQMOZ8s1kzIqEH%4)U zK`!hYipH-q@(o?Isoaw$_+H3mKJLpFH5;;e-4sC1qfNT@FXrj|a#zlQgctI=oS5^t zb1>HVKG2)XbxZI8V{v9~H*{@qwKGSL_fDw_jW?JlzuI+P)3sB3jQJyHqGy&d_ng*x zUmD|6H?`~f{urzNit*mPQGZLd z=c`%Phj*G|OWfcnJB|Y$Gh!#er0=Q`jFHDYv2WAP2}_BYx)iD zRCm5-u*DZul7cyFa_1M#_m#YhareU;vk#ryi?B_r@u{ z9NjXxZbx*drOJBHK6&BHAx@vC(;6sG-(l;Y`$g*SO8ET+-I8TJ6*bu$mJX)rmI6aJ ze-t?UF&EEY!PIyxU4n`6u9f?1o1bq_NXK@|r*G;A)GD%4x|XjF)-k5fPvm06*bjQ! zXNft;t3?>lCE-@5fV$=LpqxHh^EE#vGq^#}8z1oY@(u4f2Lw7UxWmW)Ck7Y$%1evU z)2g2G#ydM|fcJ^^3t@DGQ~atN`Yw@ znCdij^mFT`$6YyHx0FS{G;G#-qe<6aUNECw$4a1c@<$n|hf3ovnRY%Z??KI;t@u2p zE77X)mssI5Xx1avhlWj>JZ_>od2CJ0#JEG}-TTxdar%IK{fmV3(x?v;{V^}+b_+fh z@6+{!!5?1|^`$;@=xgU~c01JhXfpg_=FeW*=v7K%+vo$BYCl{>YKaY|`%exVztoPsg*q3h4rLvthLE+;^ft1CQjS9 z1CwQfKdRjm-{FZn;fek7O#GgybQqk?9Np5XVaarAy=&M0ZC|ZCZR!1_-Rq6&U2exF zN|rlV)%6$SXL`^BzcHq>J(!aGz5IIqYhUN$A&vfgxqchZ6f#=g2cI5e#LK=O8qknz zR^d-Ar;*(5F+3j~Mo)I`!a{$`zHQw{GaQc=X|5c z8PZH)ecEo(TxS-qzi!J?+l1Bq{g$frh1N2A-5z(tp4i1|a>;dZi;cE$!U)DXI6J%X z=wX;)tMig+9Lu=wpH7I(QxS@7ZOKI`cslx-sYFl8#K}$oiQeLbDi>=A?^X^Vr{cOOY z;u{P#etwD zn3BY4F=#E_;g71(m+HuSqE*S?;ahq}E*bgPir!}-jUK?+8 zC!ePODsQXr#i7raM(OcflSi$dhEcdCDY;SCCftoieSe_tkHPA&sbeE1?Z=gi$9D7| z9%`Oi|J6z!X`a@w*0i2&RTjPdb(udpc~y=6;%~HhGuR6518on*+lO?$pZtzb{q|WT z&i=6D#Qb|S?m)n=+x~dLrzc0bJ7YK9Z}y#yHl-L{Y(5SixrWHsp>!%X68@;L6FY@G z=sw9~^=v;Jsp$&r{Koy-1HPtB4G`fKB6#Xrpj&a^5ge-q$7;c` zmf%=KZNahj;8+K?;!$B|f=^(s&@I^02V3)Ext=$6p;bD{M$=5Kv`!tqA$fdxF*f=7 z3&B0s@?wseK0WV5iZ?6X8z0{sEUortCCUYFds?tHTegs2FH@7}C)>b{AqxYR9H>yC zV0@CS&nZ>^?4Wi;^X~j+!msNgX4||WX@Tdg`twr6j1H^5AvyZ^>DcVf*yDxn=2ShQ zOgl98_M$_L&7H?nZ^ve*xf~|OqjBXtk_Dm!uwSwgv{qnfA#i+3IY6tb%@}Yk|uY?`5j@GOIU6Y?^Ys!{VRRti6Bgx*?`ujiyJG z#po6+=F6@5bq;s`-2UTc-lc8yDL1En=-v6*#vxDxIRct>#s-&u&9jy=iyo-4+j%cq z+my}jwANsI?B!!R+LPd;V-?@<(bL^Nk9VxPX!zwr>&9yNX{E!>3Lay2)^(YHoisqjqax#i;5ayf~oV);TS}}Mh}!l7Dm?C1DDx?m)X6SS)RO1tDBqT zk4c^%Y*kmmn6`|S77)p~339<#T3cj8<($$Lzb z?SgI}N-Dv<&fdq>jI3yo+Op?Kj=lMccU%0BtYqvswT;V7`^A2Z+G4SVLbiA@T4%jR~Q~2hR1~AdKm5s!|h=>wr!04t21A5)+EogaLmMM z2WMJawUScwmBV<=vF7qy0=0bd4C}F-=Q3{BN&-rrx5B&QJn><`2YPpW2^{W|@qh-~ zWWDL#@sHE?j8x4&TCoqN`+l5}uqMwNQ(*V*xPTNe4_C1GfnR4NRC;%QnvrnX-T{by zm61@E=k4#^`8jy@`jm{+8CjoucYY!BWGHw;DUbLQ^7FiL$tB*MUyFnik5a;G*ccu& z5`w!wwd=SBHuAK+1UEiRSqKORu4`Rz+HUWoBr}d1Ewg?Dn4n}mblQ$(6m?WH9vGGN z{%QN(C@db9#+;7P`}pX-okmJ1iw7-@|neGmE?-LHM*Lt8Xm=b@i5u3VpFP|*z{ow__Uh+*Bj8wIw z#EE5h)sEBp)NfkzWBMQPTY5idXm%drT$S=I-E@O27rVEmKE7%bN_zd8 zZV8kbTNXn4L}Aqb>I??^LvP1kvi_j<<&!hcUmA$-TOO|k z<1N0r>`T`bjc=0@-3{(Hw;TN))9kZ<+Ny0-RGH?}5VN0Gnoi(cOiv7;8BZ#`&t9n7 z9Zc?vF3&CUQb&#Bx^1Zb>TTX+OCY)LiWTREWVqeuMqL|7*1Xl0hU&g~PihBi?TFD9rX+f>MBVw(C0k^vWl{NCN?uU{F&1x(bzN>;c3@q0 z_BrxYYmijZu9P0@c;FvJW$W^uS`D(yg~Hx}-yJ*jTHD`Hg}vCgS2YLF=$p1m1|G!q z!q1c{?*m;!I=zo6n6m%$2krRVZg@hcVdi67Au+J?AAwqa91*Qx)IER8#$PD21A`yC zWcSfy_Qy$gPmi6Y2XMimb^nm8V2m2TN+?DPVlfodP(kk$r=2%J>IvB++?VJ$Kd#m~ zwT!=N8v{yyldpNv*s_?yn3||IJ5=TJF4yX7!Z`113TWD>uI$dXx8_EUzy%JkW-VIU z=3dx_4bVridaABPE<7ICkdZ!Y>%j~6wG>Tndp|9)(>|}N@pKecje8>$uS=+5Y1>wYxjl=3MD>ZTm5iCG%8M!jj^h5RPJ z8njqHxKtXUx0YhZjUGX*4NKE;n3aOTwgbcE(o}aQS77yRFHt`*wKv{_r=fSDIoZ>!qU zJl^}lnN4SLJ((x;q|-60wiMd1T#2cP-t@4nP@%AaiO;Y^{%I)3_^a-p-V=B1J1wm8w}A{Bw5Bkf8nl<3s{f^#e&S+`pl3lbX2(x#_~4^+!_el0zrEq z=-@T5Th{mfGSb`ZoN*%JE9YB3@s=vy>c0LcTr|Z{6r(Im84!q3{gz|5i%~9LpP~uL zWl>G9afrrH5Tlmr?(BJajSe{Gc+Z9WE!p3*@#+Nh>aycZ5bz&3#UlI|PF~%&IqjD9 zn@--c9wUm=Z^5An7RIr-=)eh}O5gasF42Es6Rzh`tyOz(?qcq*H-6kD1nAmED=r~G z6h)uzx@En0=RaH+QJL8`R+A z3a-QW^$96l&|z^|sQb19^XXq`Q9+I!THaIE11XNW=Wx9}s^_I1E|j^K%xkn|r@C!% zp*^Mtk9PAsWqd=!@&>oxy?EI*wM!N+a91?eHr9`FDJEQ1zih$cWmmXq&W8H=^^32O zF`3Udec4sZmS4MUurg>>gi^euzM*lHTbaLP`Ko&NvgM777mC~Qu3lEZdPV*G#`*>B zrS+>;)m~AL`LcF_8}gPnfL1$S$R@u0n)-$%%df?8U+uC5s}|K>RqtL{yLidf4ag$$ z%tsN67cQO;EqPb*)hqaf6aKnbT^EtOUlFIiH5MeP#zirR+SrS*;V z4JgA%bI-5EeOl0OLA|@4CSv`KFNuc;rp=)9s>REfDa)3lO3Ui6K*ehtNx)w%Z36rH zOu>T|V8tSzmlQS}h5D~vy!7g&?qydmt*dWvFJCAsv&xN+f1_ePWI%r0)x7MAdXcz% z>59cm>ivz2m)5)IFJHEB@fBA$i1JYS%BxvhY)SvA?6JlF6XKPnwX0w-_p18&4fTzv z&sFu;(bl!ggeCAkmHGyl#l3Lxvc;k6m3B15 zxNBFrudAm!4uVM92mKkw4Kt?UH&6rCye5!~`pAyRZqJX&Un|^8!9!;LG0W=f7t9sS zPzVuYAcxJSu*X7b<8t>E4a=`}uUJyMc$vHI>V*sI8$`O%k60}wXXx;umjIU5L$8%YegTV`CE+ArkgC!VTIjVFaKB;B&Y3q!ohiVp>7r zh+&k^KhE2@*R#u_s7(rvu{hV8e|H11a?cr^ZRLjfHmjA7?`+a;wfw}!m*(O=Q8#}1 zcMrmC2$J6|Qpvau1*MSze?H*FfRZPcn@|X|qD92x)*-$n;G238->nvY#R`0zv=HBJ z@Lh>u%A<~u$KyE`8+v|<_fDQAA61TSvk87M#v*!~6;;7?GUT|GRrMk8kMCM}3DC%+ ziqcsjk%5}8Q%&BJi1L{`Qx7z+LPl$pV1vfpa{12RD?+?(VOOXkIi>WF4o`shZz0|y zE9HWhcAyqQV^fEFQ0s@oc#ZZVFFC2XXlum9yA`qlnaIBtXo2u}E8^HA(451!4gtCkfqzH9mqERRoFdWIsE2GnqfJb^@uvNe z$Rl-g8&14QGutR1>GV1?UUX5s^rHCGi{e#?^IXI%ZwcZamd73))=p*}HzPfQwi3Ee zwK5-j^CnH0Dpbd22<12>`Q$i(MxsBnNjGU>b{&p>#%EVdyV0L%S5v2{NT=WZv-BlM z&kd!^{=odEy<3q!I;3-v7+;_ZYGODHbTR99ED>XPNLIFRF0*@ww{;rMmL`SxV$J?a zw-x=*4TOIyz&8(2wqI;WUbw77;Nb$wv?<%u=+9(R+z9*|hnu2q1vKqo4!U$^v#zg$ zCl;9`PiTB*PYCsQ)2{FJfp3L)r9W@dy2r0%7`;A}F8%c4G06?V{JRm)2W$Z}b)(Z$ z76(t$wn=E@Z6O}F(Q&(d$L#03!Pf*QFzrEC!>CEKpxIazx=**B`EKk_mT( z=ApMi3A4`4;6=4VdYZmw_MfMa&Vp_(0S_R4)j>#92ct$eu~ztd#w`G!0zH6X2X9fR zf@9-d3}>Jmo)A3_qWLhW)iD7k#Jd=#!8hL$uWjjrB%5KsN%W=EE2c6__O6% zBtGlvycC0RtfPY8!*NyO$1$C#;+g=uV}|ICF1|?4F_XC6bq{%}ih(;_eCeHI)^bpE z)YA=Uv+~|`$0y8OO+v&tM_nZPtm|Fa+_8YD;(7y0IqHd9UB}UV9Sey&UBgJfA`ZCj zdJ467EF+%e`aS6@h^Iwfp*U80fMvV5T+| z{1!pCtD%t2q9`D00jL_NBsk7c!1virqc25!oKv0SmxJy)g_<}g@GwImR zbDYkrscN!|k778l;Y$(+Nd1Tkp*UEfe#6Z8rHX@b=d~<0Vv%zL-(={jXBjsURa`o3 z>)d!PaHorp$~kYQFrSo5vXE=o;bt@LKs znKLM_lRvYFq6!NE7=)lZk!=Jbj?YlK>+&L^!(BjsMn!DaTkxB}Bep~iY>5J+a*4Dj z(jNhCrw)!E(-RAwM=7{>hQLJ@TrfW$3CX^C-DVftQiTVa&maj)UG z4;ii+3xmZafI*3iMupV4FOj6h@guB}aT7q+;})V*M&T?Eoj>k5R6Qmx5u#$__;SZY zB_c6m_0zQa;~++SpNh({AmRtaRoBmvF`|jM=6VWE8?lDC#U<8Q*Aut8640~}Yl+)j zhaom%-3}=3bZv(JMy$UUIEFmpHxQ4-a7&loK;@lJ(61tHIte@y+kPeDW>NddCH2dc zh+AkFtKt}kAwA;9&w(eRGU8S@RCOI?In zWX6Xn4t_K_V(X{Ou1DOl8YxnTyMzv6nuxet=-@hl=8w3Cb;Kma55h;>%TI8`Ct4zY zs>4PuzBo4Ges*8Q#h0W<{ES0SmFsO6@D>giPxm@c-7Px_;YraSWB<-%<~XcipO9v4D1mPZ@{l}G$g+s z@r&0`vg>hH@s}J~6xTYc^%!$oU4JF}4&rv#6I6YtsGIbI$BDa;9rP!NN4RFOAxqQ<$96y-BdZ-HJmb^B_430wo1ewHsN=; z>o2V0ANfIoeAf*$aN8-+3&cnfvF9AdOTu3M}$fjk4z$7S_^uWbh`s=z*(*`mUWQ$b*_iW{|fPYT_02atGw^$ z8P}W4dx-cRR}*;--vxZXs{+3f9UQF=VQ8Q;*{pv-x}6xO2gvd#Lwu;)$+D z$@9*$_(eNW&bzclnyZ<%c#q?>55@E24K`~L>ZPgL2?!S&vL-@9Jk`O{A2Q=sr8f=- zm54W}w#~W(8EjUj>g;Y5DzcGEYdcP}5k6ueeRARXYLr9$67(dTAu>WumA)$)7Aop0 zi`ok3mMN<&Oi98KGZQ!p_v7&)aQa=pLy)I7TIfgp&fy2R@WH!AAYlFm0q11G(I zGKU{^jff;K4q+8Jih8|}o?Hp`>Uk6%}xn-S0H(CF#kl8XFY#4(EE%Jrl`)l`5oqy=Zm| zW*PMXP5mk)`2mfRsr}ET_5)_3XQ(d=Rn%Ed9bGlop{&bgmXQ+hfE>Xt=sz{*D-`2l_iFax$ zzv?dax-+Ez-BSNPb!?QG7BvGUNT;0{=Cm_q>kFr?3Uk^jK~EA+YtV($N_uiFyz_Dk zMfOjwg?rAoa11g!XdcL-r!7&^K4raj!5(-mIfB}}045(Kde|a{T95c3&erOa8vEL2rr$@8cvA5Hp7E<_-6sYA-w@B}#s2t|NRNk!GA7XmzZU61 z#C>RcYNa}2uv%eRiCcV_ z?o@oWMtXrv*Vclo!m_1OGDImu)`6iyB+jsGsgh*8a{d;OGf<#Wj*`VO#ylWao0p>7 z_@4!7I#l-aBOQ+r;a55SLF70Petux+E+F==`P(wAoiY*nBXc%Mg6$!&iHsdYDC)07 zC>&Rtl^ioy;0!1kp!hltPE|5bfS4a7VY-@aYOUn3&kaQgbRjplCcZC? z-25WDncK&kb(nj$AWm0v3<;TuNT?EGg}pJ`a5OPb!PRDdFWp}XQW<5B0rz5XKOn?Z zSRxWF5TxcPxn)S%fRtPs>^>s%fb0UIWO0O9g4k3<)aF{8#`*66={iXCw*vV&k;j1S z1rm4~$lrhry#Are zgFM6}KPJc=yUAT_l6MO-2LY0+O!Di3{H#GFPj>dJi(l0e4{7fIBd3z;%ZWxbCn4*Px35SJK6R>$Om%9B?x& zJRLCx+($qb18%j_=Q7w*87K)UmPq3r| zH%cceN}ng!Vv7|6m~e#DSmRTjKWw{KY^9VvP5f z0r?S-Y#Wf_Dfr1A!SY644m2sS5Wk-xIj{nV8}oDE2SBa_lD83vWlLLA9=ESRzMs#Y zG!o6^Lw@yU%a=G@_OAjBH)<*VD}dmE0L4EW$c;q4$0Q)b#{x<6=i&DoL`N`t-de;c zbl7hokcWZSL0aCACG~pWK2YC+H%tX}u!^z1?RpNCrI<8?+f=AUa1;tqGCwhR!KbZV z(UVQPo(?7W6d%8!L7@+agnqv#w`EHarxeSUadySG2;7{+UJ~4uG7Xc_ILUGdCEwUx zGKy&GDa;08sj;Ebl}qSbpCU&U&3B8%e+F^f4XOD53S>Evqd+=|90bxAGxzX4K$85w z#_x1QM=)#NdBkXtQ5T3a?BBBO z>(H*ikT^XgG1OQWOJrsEwG7t$#t?hRVJ>E8BrO#zQz!{VwJkQSlvX;X#@cYm`di0u`FmZPwcN3vknl9}4bDk%We3 z9>arn8}jHu9PWFHGCL#@ z`Q2X*v@G;fbtZMBragqB>Nt-WgV9UfQri#j@Is!sY?Nlk3b~h8w{S1d1z{n#;p&!R zq<@C!7@k(Bx0BI>)sIiZXvtMq5(w;X&Ma7qi>@dnOoZ)y{37r)AR`2aTsd=W<_dRW zH!X9dAqi5fYm`8ml!JZHYtZM?8Y(qLY|+eH05ESLyWBI3QMoCa1dY;XK}&=48pJa+ z<}4C9pFn&>D{7L#u}&=$#4}{7MQzo~L|j~ZRf;Yn#~hgrn*B}KXJ|4C5EhuD(gc0r zk#Z9xM4Z!s>c zDs$Sfkdjt?SV&4`99Dfq#AYLw!Lugy7b*{%wjw_22nzS27-`R6oAw;`IyA$YR`~*& zhug6eaoF)Vk_|g*&bv@uo8^c!qze^cm6IT}do&SMwrs)2sB=@mKuar`zk?8V5!l2M zQKcDvUBoX=s;{f-X%_Hi1FFr95GOtQb(Q$QX_S)5lZ>a~9`GI8r)qgBw6s}y1!BT|K-EagW-weS8sP-w zNuP)mr*=CaYtV|TaI6$5R`5p|7u_RLtk!MVr}&;l_D;y(h0NXlc|B5iG2lz2ynJy= z=4qrPjJt?mnQ#>iaJ%Ijq^=MOwYg1&ZWjvWpulu~AR1g81#1v55l1t3TF7hJvU#n~ z4Ugc6G6@7Iq>e!=*(~{RU$)^&C^p>SSRy&(G-zpRWsk9Jxqq$V8*gyj){~=6ay+|M z$*ckgcN2rvnPRe?VQD&!V*pIlWwZkOCui1Du1mx;C{BtGL7v#DOi_w>5&MSn7^KdE(i`w8R^i}m~3-i(f#VZx{8Ij7Z zM8+0&l;4SRP9Z*uryzHDkd5u5K5yaG8q1bLYkd2RN;e^qb#N{c_Bgag$$TA2Lq&sO zopNXm4T%<3hMfR?JdhzMI>@cD`m%*rg)Cd1zCOqcL+SwwuM7$K=M4GBO!-wp{?k~7 z+F>QO*%xNgJhNyYcWdKNbUcdSzy`@i@tMg;y8I%o&@+5@pr93?kC$1*0t^ki84cTv zq#q$^mPjfW(-Jp*Y|5JjZKhhlRTq!YrVG!&GJEq{*^ZckGPzQusLZfQt6?V2%Z|W{ zQAo1z_(z4uD--J|XpfZ%=52Fo^T2e|jrLeMLdIjEmX6WKI+t$s9Lt%x;FR|a+>kB>w`~G$-Pz{09dv>yEZtU4rs=Atj!oq#a|RU z@%F9!1h^pg#cmb!=d34T41XGEA0u%DiGggyVz6TbGtKuZn5)SAs`cqKFkb-eDkS^Q z0=b^Z`#|m>@)nRsiM#@&jYvC?H-U_xguDn8#+AG86lAjD=0jljxKOGwCYRm5Zw!{} zC5u>?Bk3SKG!_an_q{!nPGiwL1WD#lK#wrS0I?T@H?B5v9uzstElpp6xXmD*Fp2n_ zt#7wMJa3diA4KuD!fy{7NlAmG=NU=d!kspf{2~eb7@mCiXpK-eXcBjTmcG|mszQzu=9xJ^HP@r)p#VRj&RI@ zLjGl-&A^`1UkBtGAi1N!A*$h{wB4xcN-(00SjRFX{s|=CA|Ukr+e8{B2E3i688ohT z9u_n#gDROT2MqLxR=3DOhbz9t@L+y_!trk=J(O60mcdV*KT*)-=C`K>JG$mNX_0Hpv zkj^^b9_6fnuGN_S zGA1$}E%F~moP8!n#C%wz%4PFaPVUouZY(6Y?bU5ajj>~k;F766Js3@gSV>-GC<*FS{^S*ku zIn8gHzeDuAt58BZ?-B$T(>5WVS%(se#*4~RARBZD((JtdZ$gX;=C_^Zt@vv5Qz4OW z3z0i0at{lB+qoX#6~-TRApRH8#9uScn}-oEMtZsz)hell3%uie8*!WxW!?h~rU?zq zIzkc71X7;?C#i9Ya5L3C)La6mh&5@y6f^=7PeE2nFX98m3N%Fw7;cd%6SYsq@ z1DWfKF9ca$sVcW!udL-T`w|j2LD4uAKsCEhvrib=28B|T%nv~05DV$xM3DgyreW-w zCYZ2xLOHgC$E-tc)?csW`4MX4gsbG_*+*mvF8v}-k|}z7_>f+;eUaNKt?b%(23X>!~&;)Oe69ckOf3k^p*`kM)A=7hmhf0 z4Ve#*$GQ*^3|Y1&<$64$k^5tip8+}dUIS4w>w(cA-4`c>1KBLRwbC#N1ipo?!B#yW z1xoW)aC}fQ2SWr~g=1rPizr1S(N)wmc>oEP2{d8zs({&t)5PKX4(Of!3nrzBQ`?Uj zS5UT*vp-hr#pu%MLe6**yVi`}$S5WjnYf*?#^pHSlJQ?7p6fu%aj;T~`r09MkOq%c z%*Tt==7d~Rok8LZ@pZ}&%c=~)$-7^~nPMj8P_4n*pHT&|9T|zl%zPyDI8&Sm!t*fl z$6%uY;YXQOh8EoQVDhiDS=?w-PU0m7i&8WI-mCVvQ$O>uCbjuTA^rM`o80P9q|`4( zaB>yzyUCE=2xfC%WwY?61(txhP%5znY&^Ok(Y#wmDdJ^n)h~pZPfDrHxx-Df_(ie5 zMKSVhZkU~EmMu@L^?d+&+#I|sip35fkCMfmJS(9UH(iI^igH0FTedtUPF7$JpC3u| zrg(^gHMj@K%m9~O$6k8Y{W_7SGy4-3WL zh2rv}z{7SfVq>s4Pk)3Hnao*;xU}algrqr$%Z2HqBK}Lp1IVcUQp67V9_a%Zz-rG&yQm`t% zAqIJuAXiwLlz~Fh0U>Fsk-E>!#LvaxwKWF$FDCgzL0)8#KR3w=>ZSM^4RTbTp=Gil zuQSMLCRyG=w8ESmYLXujMK?8>8D4I|Xrl$NT3dVaFSRBGp#=2hdL3K=&~+`g!Y|mW65FNVg zR$%OH4};OrBliGkT!H1jX&^pI0kI0y>q8>imi)+_y7|A?_(ohPx3N#nnhT@{Fm36R3Y6Qy)L{8iRspC#8ZX zN9Bm^V|Dkg2d_9h;vPyIkxe4|LPIYlceR1#-e4lP0r?nXMQ$??wFJm^An`ylA2oPb zoi!+I!0+u~>9A2fHDR>573#22uYO{i)nVI&#FQ&Jb-X3<-PG)ujnh#7Z{2*Y40w$u zI<5(s8$vRVi)Beau^W+zNn*4=E^c4$=Y=O4nNq}U%O^A*^rsB4g8r@$mLl$2_^ZHq zhq=U*0kDvw{$1ALOsKrSi#o_M{w{QtWk|*pF?F66nNlW2LcmA1Q;;LKRUb>bxM1*! zz~xk#U{{JdXox<7Xg+|fHdhvzy|#}iwgzpKeweoHV`JLOh|AfzugDpN^+ATHaz7D2 z%D5;_##^xGkdtA5q58XskK0LkZo$8%fRlxs0{7cq#F};3>SVdN-;Jd3dF2tonz<3l z9G%eeHcKpwiY&hZ?K&Vg7WT~YXOShJuKh=_9A|USwygk{{}|m7TMqvrAeR9d!PLM> z#FiiyI0s}ckkRb49mtHOm7*T86(MsrJFWQ1<^2VsvyS3?QiH_I#FQ`v`AjKj7SQ^^ zZ!xu6)~thDDVe*GGgOa!!In?Q{Rvo;AWL0s^N)dkrJ&tUMGJtOBa#gy9;<$T8jwLi zMvyT-Z+vO1F-ws+jR@fs*4D3W~9AdB_yUvwheiRY) zR@<^m!TcC#^SNqo1%fy1VaEpKULZLpYv5^6j(`$)9*7sKw7?-C#YBz)nFpluB#=aS zjo23ML?MYRM6;)gLNEZW0+-kp-b{qsLP6oS@IFv-%sg^i_y)E@lUXxFRndTdwCz9+F_|5u zmYl0T1TuoDnU8{v6Is|4mV2&0R#1?X%jf*X{xQ}-e1$-`ef+CX0z2t%AjD|WA*JC9;#mg#D!#!ehntapBHh?FpyIxbNZ>RyR3ylS^H-qBO==H8HcKNs*(eR? zWgJC8f+kiK;No*v>QFu>Dz}UFYkWo zJQfnZNAVj-WYMzx*^$WQ{Lvkx@&{$|=84%is35ofl4SmX%zGea55OSoysn*O{(#I| zA;M>jw?OtPvmasp7kSfc*mKcBLl{L#q>n1Ie+`2;_wy#xf5G%IEbe@ncSHVjrs^+Y zMW?FPv_oQqbbH=EmdI5V%mERu`D;iJKfJRIs&4?n&S%4`wqSN})lf6eE3zD3U`gZ^ zA-vKQ(p__S$5A4$G2pox{JL%?|DQtqqF#(bGN0L;-Ha88^T)hfNLaR8du8?)Y@a>6 zT}W6rJn47H>ij-$Oc53iPnrU+a&F>{Bf@^Ny=LDBA9uF%o)JkE%{BW8Hq;Mz$B3kg z)~Y%VUVT6#bmR>qi9{0D<437_5K$5p9+P9oBU${gU68#u2zEYWTD95=rmbWe zL8j0Tm`0O{y3gkJ$oUVR)+h1`f-*asqJPdqU{Qr`>v@$b)<*Bk`ta;EtUf}kn%}Uw ztYX~bnW1?8U;62|u!DJy`(9;^L&cTo7`jN!Ef59-l?7ETLTbd<pj*MhfMH(LPHq-K{e1h7Y7Kt>c%*Qlc zRVOAePm~8@hk+6;WZ6tvF=6~LSgbWnR-6yzB*VqyQ9>w3LN7I=FGVKWgr>d1w1I@) zP~1=e)6-BWj-qTCeceL!B%4gNv5tL_O4d+nKcotFruL77Pb3cy<4-{(lsuqY^uz=y zd|;$Xz1&09OZ)aL*3(TQGh8kSZJ8Qj$ivZXw=_0aQPSN(QO7~u`f6yx^lk+i&FEH$ zQQr@5P|@x=!r+5{gdtx`+7d)bLu3M#%QSf~i4O&9kJ9`$B`1NBh6)5ZhebkQyq!6- zNyB1KQm}p;ZZPLUq{3q1+vMRbZzCdAKHV{rJdEcFW(dqr0b@B5t0HIFDE5+Y0=C4= zNcw2fS+>bo5VB!pM&F4&6)!aG0&k`IV+^|((Mv-)(b8tlyQG1OzAMczK9*0?Kcv)P zn6*)pv1aSV!B56@i&Nn{HR?<-Asc{+N@>~LmDuO6y&_ppM# z7_>t?qJ<^boDi3A81l^x=aXFXx=GXo1@ez$zN(ZHY!>Jog1Zr{c#yTc1xV=6158ya z2D{bbDw)M#tqk!2k*qTa zwj!v?Tmn;r8Q-D7%rLQ4VPdP0PyA)#w-iBDW)V=HMOhowVhXmyCNol_LZZpf$xT(N z@hkrB!7t}f7>eK&0xen5LhK8fK+s1u6NvRiKn{ZRPy)EbU$@B0aFLZ^A}hm1R)$PXbr({C6!>HP^yN&RBCz;39_Cu2#$zs)dXghXN2iDgZf>N zJOpO#XN0LbBV5()=4%K0zbgnV;*Y#6UR7!&0ec=GGW$iw`!>Tx4Q4W!bqZ@_R)Mo- z7|Dm|2tg_*SRhjg_~y5sooNXu*9nGlg5L_XhJcS9e4Ftqk7Z7A# zfnkjTM!uL3%Z=|4I$j8^AP@%|N;$ze2+@=+;|NWG6)mPfri4rEHUrh1C?r-ANQo5$ znNngAp((L4Tw+nU#BRG$;shaaI>9c1&LJq15~mPOM_{F=w-Bo`QV7kmriaQ>VX`oD zbay5e#n&0A$_#>E33M)jQPkA%qGpJq9+E{(B{Ykg5mwaP@S?iAlPO43vRjz-5g{hK zg^*$}8JJ#DjPn0yn)^qP^q{Cz1p%D}Em>+h4Tsh8)Fh$&%R+|=0#<-*W<^XkQ$I=# zGZml02K!XPKO;orm7BPq!Mj#Tj%ZVpTS)sjjDC$lCyj5bB|mtXCE^M23!_2>Of2Cg z@`aC91&>O%5MyDgQfZb6Ub7gqB_;F8ZpLyWNF(|7Y5krlael z>IC#Dbo=ix-lr&XBvNUB@3#;eEqG@T%nKzDyI&;K5KtbL7fXcw{(*?hPK-xrurdK% zL?)PqWoiFi!!qxG*Rag{Kjhzh5SynwSQro-6KD;=`v@F#x`#jVP8JN61Qh};Cs-%Y zxdiP9%vRY#Y@bM|B;fPIXg>l|boV$&(PIU}bbc1V0jJHG!$#3?c8J9`V4``Gpt2>jx6f#o?c~uCRNnloNW@rh+ z2g+p?oY_5y-zm;?EanQ+p90|T;i><|SmCVyg(eHnCJPO%arh|r7ebG60`ZKcGKXLS zf}E1g?BxAS@Kz9v0RvV`1SW5{Q#nA@1w%Q3SD@8{0P-bj3gyGu<$_dB@Ssd3cpRap z0_43$FjNrSV=z>-5NnkQ1ZK`|b(nJj0;ev*l?dn?1UCzGE&;`WYDy!ssV3j@$+r}T z&2hNBTlt|Nh4vPFfxNgttdtXM!toj!nBZ=No|PeQhsa(*FiY^xC72`73WBAQO0Y^& z3HVA=^f>}kZg*9?aB}66E7Z59=v{OA&fD3wfUsycGn6VBpGtkj&wmPO?5D zSStxeAsMY=nvAK(5vU#E2?UGc`n-h*-((4G2zY!OUIXUai$EITs|au+vJMd?R1+|l zMRDF0s^jhutC0Gc$W?B#hFO!(j`OXNAQ7xU=xG5mTqYPQ2$mQO6)nWbjxJ(WlF?Oy zR8GJL!FviL!##qbf}q)8sAwTZ_Ap`BA$l_cYfgBlNDg%_a&H%;a)M_NdX~lK$6t~R z1hZX~UPHjw(SDovpx~__m@9ba5SYB(J?c0ZP6*y|f?B~_O+el-)7lXI=c#;*dxgwE z@B;*k(zv>X$gK!H6(sjE1lWgwOxSUU^L8spULMKQaD-+{ zuR}0Y5L_Y9xdbL}w+^Ii5)9=8zYu6O!A?mfn2X~)bRmKz2t7-qgxdvg1%Z@M(=DNb z66%D68Uj;7PaUL$%5DjByCqao!XhDIE`ceb+d2(kcmM(G(9LUGh)Ff(m_lR%#$b!x%x%sFyP=Z7Ru*9|y5igLyol-z~z$xfNyfTv3LL>tLnavJP zv6KlCQ|e_Z0c#QFWQ^V-Nd)V0NdhJ(xDDYVlY`-2!COJ_kU*;l#1qL%1;I&4B`_s) zo4iWL{ig`3G85l@SNIeUP(H)+dx<^=a7dy@0X`JybUtJIC4y7gQfHtb&15# zn06pk_$<>3H-f}kX-b2Ouv6eo@KgE6^jifjyM>VN4C4$%c(=d3PmR%_(Y)P z1Yb((Kgn~WOeMHYpqCSDmDEQ7o|GuTQv$u5;CX>gCpaLf1g{7*T!HXXSq6uHLcX+} zD=7e$MY35K@$S-Ux=X95e zDI&a2;46zvi;(qc!CFCJuuchM4Yd_nkKnExIuqfa5m1Sb0nQ1uhJerQ3U>ocMu005 zcnvaPh9nc*WROjDc2N~6j9{cd=Th!@iBi@;nV*2-`k-p|)I@vgX1i=|Mzb(G1dupS z@)9f%=v)F83&p}qeGw&F6g=x<65j^lI6^Y|6ZDBg!`w|Zh zgQ3ApBmM6P$;iJ-@fvw3ficaHK#q^QxdO?da=?`%W8Ri{RDPf^z;shRTIyv4O&QTb z$X7*aN?r>gRktXs)E2W2XeO%4!UUa&G;;-kg@OD;Y@(cU0v0RiL^1`vnxH_S72VBJ z&DLSdWAvca`F@Rj@WhpfZ z*ZeYQ#~wjA2LX;put}hE2{t2W7{3UcC7HIhq5x(zt3#ZfW-tO~URL7b{zFUA8e}!C z0_XVrcq8P;0t< ztQp>V3xs8JS_ox3&3Odq69$>^DFiey0bfIa1MIaeME3oE%)NV@Ueo#iea}peCNzk1 zFd_(YBnYAsNk|BZ%!D9JCNq;{VlopmlM_J@b*O5JI<(P5Q9-JzsY9y-sZyzGrC;aP zAuU>`qODf&eBNta*W6d8p5OC(Uccv$XTN66dhgGD?Q5^K_S$Q&z3;Wxo%R3c!+His zmvqqsCGME0<K+w0t7NnN zvr6P1ir3wB+H8IDFo}pw`Fh_MrUiIjfg?iv7X{T>BBmP97bEAd0REYE-)xgs$qJhh zGr5^IBVy)(v>A{STlK~I4>DYB3hxaxd#j`Oa_%i z*Cm`pEv@PZhze|$sWTHzFoDaj4 z=`x$HptHy&c9^r(zS9dN<&3m%h;%Ws`X9vKQ_$t#o%}$ncPQxoyOemfLg&J{y}RsL z3Q{sU$KCo~t^O=YlZf)C?KjWmDl6Vwk6A|Rm9*9r?<7{k+g}fp^U_^H-l&*=*Fyde zkQoPoD(IWK*1_xynT29H&bHKb#5Y8mr9eW7ajeP_KR(+&CcZp5ex(X10=9P<3P_H-pn z62v7}QKy8HiMGfplgi;Dlut1)X`7sv$zD9X{hv2zuZq4u3Y3j^Oa9u6sjpTCBxw@S z%!E^kniMuK5NvtdA6LZV6_higT9b*{Fl3mS1pasTz(fE`^X5cPCY(ydyZW69tq-5q zekNWb<;r9*iRh_>rxRft62R(fSt9!C_NhRLMk#EbMc%AGEg4KAdLrReqTea}x9zNC zP)XFRpkDvt6@Xh8YY3i?RZt^K-Qz=sSnvo+lUgd`Q@H@z#tP1-8&uq>Q+K@^ET#vz*|kv+UW&a%%;) zBFmc_G$y?m@d zo{2Xp=$pR-R{))~iB^tY0rbc#bt`~g3Z;dkR}k-#KiGc-&^NE_w*oj+0mr1G!I*fi zLb%rO(mEzzDz#s*mdfIqWHpIsE4@3Y@*vtyVe|6%fefBXwpD)cc)y&t$F+@1yfr>B zNt1}~PIx-e0}7ja#9(kTm^4h$5gB<)d|bkIrx;;DzWJ!inD{gW?Vo6lLOSz+xmoAc zao!qdQ{t~BF4n)pwccTG9lYXbvuB!oUaz1N&2!CL(r+bc64A!pQksa~PB@9^gRBz$ zBdbKO?4E3i{*-VM(f$=lB^su%dAYH-SJU1qiP)5GCGqRYMJ3U}+76i*AG)Ns_h|93 zWA9ul#Cs{|EB?Y4D^^UqcQ zH`xcow=3wJxknLibF&BHTmY4xdSsISmV&I`RkTe?{oobEdnqWTpMJigV9URhmoHLj zOd|0ID5%jU8lLdvGZZx{bkzg9^kjIlQa?wbU0{WmtGnuglPp;Ig@T$HCR+bPMxs{} zo#PmQu2<15=iu+LZ`yH z7c5-iyTYKq(x)?z%{fY;5x_owdb)2=CgW~tgGp4L{AqhX?}w89KP+$GDQ<`60wIOn zHqRuVc2A$SU#*H8Of7COHM;wyHqx_8B5HD^kz zBNs>F-zap~5Y=-FeHN+8u=x;+_9el^yXf6ha%%$DgE+2d^ORuJQ>tycbH! zTb%3;(*y#tqGgC$2gjKG9~3~bX>C89kn$QC)+cK+_u;Qa$9nKk}Req<4Hu{N_aXE+bKN-Tb66}_AC+oL}Bw3U~p$L zs3dZO;%<8vC~Ou64Cm#63MX9>HC%U?!YBpa8#qpZA^4RF3@Y~Je`U8+wv4A{=&vs@ zL+z(2FofC1L;L6aG}O@wjKMxu0lRAyu2W#xvoDQ$dch>T4060sf#Hjca`c6vbae_1 z3Jj(5WrLW}W(* zlYgtgL*u_I`0}xshs8W0?zxStD(h|avY!GE;LcKLQ{ah}FZ=6J!5{@50oQEh?3ISS_~ zaF6B-{pj};K2Z2b!58|xbcaVOoS@(fQzxCG;GJIAnaO6I0#|1)w&e<3X?^J|cAcxR zFLZZSD6CSrLxIa6Z9UCD7foNh{r^<$3!nMIbS2+YpxvR5;ma-J(!w&mbW~FE=~i3n ze~GxjI`c;jI;pvF-kkc@L1QW>Ry8*_whmg@R^QZGGoW$dkiiEJsBfGxsIg)CpqaI` z|NX(xfx`wKG^nAewsBrv{r`@q|8i~H4r*Q0`hT*0p|)kw+_q*N;KtS=18d1#Yg=7i z{fvRLXp6)(Ei*F@pFXdlv28#@(^n~=wncO6TlIn34jDBxwTaahOmCPeu5Oq!w^4!` zrR+a)^_+&*S_#@!+G!&BP+?^s`r+e-CUz=+Z4GnkGu5}WG&KuT!__&plV$gGE-5SR z-nCFtc3$@~{V#Oyq5q}byQKf!^#9!Mo%O%0d#QF;+Nq?AOk^l56>X8IOe7;|WnHwb zJb+~-?G&}_r>yM!=uv*Mk1l1MQwnz0k1v&!eXF#4PerBrjd&8MO~sw`zf1RB^gks^ zyXlp5eDp|J$$Dw`ZQJ$Il(}xnbxHE`a_8<}(Z`)q?iQzyJEaetDUFhpiu03A-mD~* zOx8=gm&@kcWyx#TBG?W2yR;zuN1PIA=Qvdqya z>wb~`cS<|+|62t`XIF<$Ig)PqzvjFxxyea+wlyW?p7Xo2ho^J8wT6Y(NRHOXSn)GN zFC9wul|uL4if%nWnRo5pKYhN9{^tTaSMx2vWPM(;*)iq0r2Ee8mfgGWDqci2E9;u} zw!yi^xDB}a>sQ<<`doUfdp`_4~?HP@Sx?j-5gh3-2k zn$dkn{qNL$2mN21_S7jknUVgN*zQPoY1&cO?%Rp8i*r(bx}{yuOVzf2vbp%|ysa*$x=W;#9@DS?LuI-h#BpZIb77zNN;o)%HZ)Elc&MhaDT5wA_Mp zPKu|SeauQZ>1_u&Tk2{l54jcQd@M_8`m+DohP>rtoX?pu_59k~ZkZ@~YR2>SxrEM3 zr%;!anuRGh-BT`eUOTb9>`7nt+a=ZYg(aDxHtdxyjP2G2UY3 z&u3ab>%4YglWWI~-P6Wz&QGbxb<101tTNw_t=^w+^)2rsx8#&fZl5}(eC7*D-Y)Ok zPfP4`Dsz6iByYKH=luI=nXe%1B{w$NPq%cm7lxFUr#)`URjQCGVs;cyx${!NXWdUr z?SP|Y)uk*Id#>`OsWSejkRm_ha?1IiODN~U%RRS)`PgvD%nfJPbQWx%+Nwfo&pM~{ z=Y-@EI6LXx(=pC1gP*gxZ1Y8$Ys~rSFy-T&%Q?4>rRn@Cv#is=Max{f^By~=7GR5% zua`=!?WCE_8(e%&D%Vf*#oE>`$`|ub<1sof9kok4r%PD=Ah(*E&Q57u+BrqG_IbW$ zT$sJvT5fm$n9J{$+*rMw*Gf|Q{E9$nem_@rv%aG=ol>1sv7VQV{Z!)sq^#!iu)x_& zw<({z73tIVv$XwFn)puLx7U9!xLoaX6TxAK%}7bgweOKnyw;u3yoA z?n8A7SJ=%z#aq7e#*^`lGCOP?lhrk4GPg6iosNl)H7>W0xs7rg3aFQz*%U|C^GTJ@ z?Cd!m%5>VKb3Dz>0_G4A}yIIZV&`eLgjU!Vn8=3wW{dKnvZ%NsL)CM1J zwVmybPv>~2bg0iyr*b|EO4CW3|2L%lRHQwW*&)hjO+J|X&j)Q$vaCvb>7P=OTjT}C zwDGwD&rKz=ee&tui|maKMBeY{kP1lM4HS1ZW>~~LP(m$0_x;km^q&8nCyQjUx{+Iit2Ar3!jissda{HG1 z%K7BZb;6rf@)i3Axw4n1a>(s-y27Pu(S^NID^iqCN3Ybmy~;~{m8rqW5GnI4h73W4Io|M^7PD$o`RWD7Afj1i*wNB~C{avw^yW(K$yEKjM^O29W zFSSu-tBjbf`;6P?bAdh2OYO;4skY>1JNJt7^*tAU-qRuJ49aK9=6j`1=B@H2tg96! z{526!_cuP8Z%rOu+zI&<-xw_ww`=xI$NEP0F(~#zFMyFJN{6;>XlAOZ%dhT_c z{p8zYZ~CxYwm9uHJN0&i4|2QnaV$vhFm`Ohb8XFC1g{2k+|RQ^L@h2$J%il1zLn4D z?<`E+ti0==c|Rv>^YS7$xg2vY^93tP$dF zI9H#pDYdQXNlS%&N*B`0kE7xpObY0)`KCPAsJn92IXPW;zQ~{abzwSQOti>8I7xDc zz?*TDoco-DoYs6xoo_bsvy*I-OZKn%9{8E=>6qW0?+>&_8UJ*C67%Du&UU@xV6~>o zv~{Yc8@pP1xG;I|hH}Xl)BLm}7kt{IPFrs(GUg`58x8iGcUYR9?c`gfoZEQB@?(*l z&)nhmPbr0*4zIzKw6}VcwCkiY9c@pO3~9bN<2u{rfqMU!{8TTWZ2n{kqkIy2apF2( zfzL@5(G$e((?RI4n|u#}pVriD=km;ze||c=xl;Z2(}LXc=34KkI(yH>k^kot?F)a@ zM!oEkYSVeC7JZ&hT2iEwSZSd3R_!GF+?DzBp6Hc)Y`!;&dUGY8M${31pvM8tRWO%F zeggGLNjfjCIWM)PF~#}N<*J+YP5Bx&JJrctPnPGKy$f@9F<*zhj**1?Sj_7bcR!uN z*7D=8f zHA^QY9+YlsPE0&7>5~%g)_s8NrzhSu>9vV_rvAX(#M>wK`c9q6#T}Jy=>T{Gk!^A_ zk?R=$w=$celFzy5CpUQ`QlpdivexfS%5v+cN?n$(6^T+M>Ol8rzrQ{^70KPXsmjkC za?f&TD#?5y&QG--YO`DXTvJG5c9QE$PL_A2bH@0eYo)hn#f;^;nXgN^ntR31?N>+3 zSOnkfk&Z)d6ys&-{nm6izLoQ!wVZ-{nv(9^8m!LGar1>F_f&Fq&;RqC(xTK1=A`8d ze75YIO8)jOIaDgu(%c0~^kNGQOu|)Ll9Ggey=zZPQlD!{C7k!T`4c6Qn~!YPy%&+& zpPZTepIZG;x6~`j<(c>84Rt<780F*QkL=Jr!#pfc_DWT11oc3mi<%Gm8@YcH)1R*# zxoIm)jeNH8YMoCr{AbHte0g8#2C4n(Pidr!h3{8~hlh$}EcP*SSFy|ri>BFoTX;zK z6td?kmFwZZb6??-{H2SnWw#IbO-Q$l9eSncS~|+@@{g+FILK2 z(Z4v)I{!RiD6w0Hd_ePF(W}yRXi%!F`MBkaPQKaB{ecg1E0$N*bV?nLKju4;_i{)3 zs(kYNJsbM%G|zK#KXH-uZrOV-r$s4k+ob*G3y5clvdrh`^7GS$-|HOt&pp@oa;+-s zzHhQ6H?QUEaK6~&ep~K}d50{!&4)TOiOEN!Te<+|Qu}uHt&HV90fm$w8glR?O$*WmWoSyU zkdD}OXQz|zt$bB~GI#D~q+ZF+$=QtLZ0F=Ach(=ApZ1lv&;45O0dPk8`NT2H?9EQT z*G}iXl?mtleLa)ATsdMLe=>g=)-B~DJ$O+~*0=Jl^{uVd4RzJ64QJOE=F}{#p4(W{ z&{W-6-!!vrR-vJ_dO=G=TYX`ALv?N2!a{3(Q(g7kn%Xn#+X{8f)w61v>RM;joLOHO zTUlK>X3|MxCRHCd=9KCwqsAUns9C6QsH^AKx3o4iH(}j6za?xjSKKPeL&3v-(5s+(ubXw@DxP@tOhY5Uef^Srj|x|+5cePiCD)F~0^RE`}vqA+g^^<_tB;>BdQ9~J2OV5!teIZl zSeU2X&upr%tI!wtg{Jz2Z3WNx+?u-T>5JOxTMIMmo9bI?+Ul$4)U>wMwSEz4FU-}nX>SwejM=6E%D$VLyb82d<=hPiksMCfTcu=UR)4^zI zn2*mh>lYPj8cCf7H?-8xsnj&YCBuI)rm%++16oi;2Bb8WbzV*)(rXv8-F_ zYpeP7D%rO+*ETn%5|~-vma<>nI&b>y`r5YYnnoRwrq-sKIrW8H(E3r&n#OE|&v8x4 z=A8Pv1`;?{N1KCNFR%6U3$?RCHA@MvRuT#`t7~T|G|Zhv0nJr9=ANmFkSb|9yh>Vg zOIQMTQiZB%oLNvIH^0*pBp+AY8x9=tVwH_(NIgSX0+7Tr*RgAW^&9CNmayh z(9kraxmsH^&zaj=NXL(2&3>w9G&D7|&Z@6d6>4o$8qUl+nnDHU(9Ba^I`9B(K0cj{ z)nglG&MH(_R*s)AefId~nmTGG>Cw5Da-*|v+|j3`W3_qx*J(vPk!f>dUA^{|%9GI{ z#RJ>iG^1f=ay5S3m=mh1$Br34enL*NosDx;&ds$n3A6&r(>yt(#mKp&$G`$R)KH^J{d5&CEHWmc>(%rfc(>r|r&~*U+NFU0pr1 zXANfbmY^4rZJu~FE?nD=c-MtFW4bkMD3bh z)7ns*&izzV3)M$yd{to~A2l_%RX3lhT2o(_PWtx4qO|6=Nyn8MuLD93TBOcwZsYuA zeUOcF(m9u!mfVtfZLZ5rZ_Y^VtoqtBUDbS0;g2AgtMUiVwMc`IajI)l_QTDKc@X!qRpz+5*2g` ztB5C7RgWA`+cI&|gsKUnCX6o>FLdnDDw$u1Qu~pvs_m^ob-IF)7_+rwoGyO3UD2gP zWsqyFs?36#mL^rA)L;y==BBxcrh)uR&@r@Y(B_u}KkDK9)TN_Yg;iUV%7u%TTK(J{ z)0nC8))~yXJiXu*xV?2v4RrC8rNLRCI?}wLy@{GM=0uwR%`br7Xja$EQn zIAIKl&1*{SXD>&Azi7so~2Gx>YP|< z()2XfrSm3t47o_92AvLswZP4~#H3z9I$kx6weuReR^~=oZs}Pz&uvTHx+dD9+&@Y! z&%9Qp-)dhU3(R<~^n8Xj*5Q!6rI?YDMKEB})wo$)?Ei`A!p~9zkn?OGWMz z%u)lAx@pOCYulN+h{gU`s=$;HsZZ74TEv!CofMpwYKJSwR923ga6*B0gH}`(t=Okb zofFGvI<7in+CR;MI#Y|m4%Bz8oyGBNzXqtTsH%)sMvog)Y(-R;QqCG{W_tgjLA|IN zHMCq&>|CsF)5kPH6DPKBT0MGX)kt~@b!svec<;SK%`e1roc^s{wNp_RjyYj+#i)uj z?zUpU915sbHLq3N)I6X~z1;z-IULUcjk;NAso|rU6$2(Hns7kH0F6&QqV~{3D+bJv zc|%iULsR_#&YoNYtlF!3=NpBYsy$>?t!aw==Ag1_WYrkDq_y-0sSVamNGD$|bGi$g z^%Qhn;k;>YTq$xIm(98;y5w``!1+!4QM@Xqo1)ZYk{~)&&8;=l8?D<%SFCt1Fyw$? zeqiV?w5K9nQQE7LwWO-zBAv2oQB%*my_)9qa@D7Yo+~XxFQpXuFX~ZdBRmp^iIx+$fGArNOO*{&AP10!}^4 z)as;Gl_F`bZBv)B{e~=ERC6uPw>dcRE6=>#3$k0VRN~er(0R}4-hMPVueq?KeOU<> zZgWNlq82+$bvvsV8Eks}pj3?y8U1HP0I{^`+8%QF1hAZsALA zpIY0ikt!KSHD8^q=fEwW^3>y}c3#%E?D?-J$a*iR3yB{Y&PHFXUO)yU<0x}(OW zO3rPLYLfbPjbtj+ZB7rm^trG%JI|Eg=IOJQvvj}36OO4Ut~AXYFl68X2MioM;GhEs%p7{~j3EaPp0RIkS_-^2QlX&1?S(1nbpV~2 zIzuK`j;S7bRON*6ldHy5j~`bxX41&L^unev9?z7%eUA8H{Da9_pf2L&D0YbHrQG3YSIu#dv&L5E#$2s-Tg zJTV`!-vy?#ei8q)pu^ZBrJqDKeVOTfw7#4VwO|js|5ZVUU0)M)*!8tRhh1MEblCOh zgATjCG3YQl(g#6@-F{QhVb{Cq)eR0A`O@RVR44n0_fD^LNbjfmAih!>F8HC68x>rtHjiEblzcO!5%(RG28ola_F$vbAI-Rg*5Oh4NYR~`K<@e zF?{k%1}tm~^9mR?{MG}0u;G^*Sn$Ko7aSqRh94qeVOyBjy|5o9_Veo)x6!uze!w_= z&bHqY;}-jC#c259X9M(?^zQ*$&|zLf!=7IzU?DwBYmdhE%&5GO;}iK4DM8(_;6@#P^gl_PmqGf*tJT$$N?{=rHAmJ?}2Epu_I} zGjWA9(zdHaZv&YppM?nKaNuWf&|&HZIzI)#LcT_bJ@1vS>ob^YkNwF(hh0A{=&IrU>P<&U5H#O{*`|5->UQ~l2t^V!}S1?uO* z5JrSzqi}$DsABvuQ9ldYGF$#$Vzy2eP_mPHuBN^0^{EOTDyROfe zRNTw(PO9CRidze3yLpIN_oMH8MXcKaG}h3OZF$v!rhi@gqfOYH6KZQ`Y7 zv%d<>)6ie+=j;&_rWW!J@2wc0wc=9K>&2W?=nKW}pPArU((w{&cWImDVowiql(S&N z?BspL_M;@ zZwNL_SiOhYFk3YXX<$a_@nW`R+SWZ4v+WmRv~CK_;d;91Oq=U%3v;mUZ~8aIejJ%Y zmwJUC=4fTX59~UVwz8nZ#Mm=|E5!>lX{#SECU0fI4)(gu4A?B_u(!P*iaq_z`08o? zkJ#H2W}&4h*jEo7T&*VV&4Jc}PuRC*(q5L7Rx!tdZJ7|51sztikoL{gu`KBD5XIQn zioL9uRhQ#}&NQVp1bDx=7-48Rfvfu~CmcWFvxWXs1 z$+F;+8C3Q9eX&;FIWvQz*D+>qWMNz8KU9>qWzs_y(g2fo z0+S!IV9#uZ#hxA}IP_~JQ!%pOA9nxsL5JJ>D#3=i6Is|6_G=bX zJF;*bnJSUzU8HrT*pK@fw~-Ee|KXva!vpm><@S!)`|Zq~=*NW#7g^ZXj$*1G`(o}x z(#5vS2gAZTO#6w=(PF>Wj1zmG&F7549;U3YX9mLq6yuW#5$SKkcZj{dF0!FS zsbaQexj zr&5eR?3pQVuwwRmv6uxN9;Fza`P5j@VPbS9Q1k2NtHB2LBn<$wXhG^{huCmc)UKx&+XzN#xIJ!oqu2K{+YK7Tf#PJPMz$Z3C#SMGTWc$ ziz)wD(z^H{G25OjcArzkR8jO6aj9bL+r(&uYsFr#n9Y%{5jt~=`FZE_{je=ej4!4u zWMLh4{n4PqR5N@sAt4KPu=k5z4?67nn_|xkQxLk&ynQVAfj!NI3e>E_o}O-E7S>@u zceXSpZQF=huz|gP?kZ+MhdnRD#4MaUFvpZKIbOW4VtmdQd)h7&dz!+ugLX> zZC8uEP5X(M1)DV$#WX)4X6crr^xwbxpgni%|!1l z)?ebnz}7``+G?gNZfnW$ET@+G#+rc*EzNTV547)s3j>43m&JvFX(-FU>8-8$teF)Y z4H-DpOtWSyb@kKd&D6LHMj2*LSxMiW4$NFLeL7QmpWZKi#R#COw5 zU)rbAR2Zml!Wc_g7?>xK8kl#RaBxKB~IduhY8MFh2jS)+^+j zn#KB`6npJrJuYSGnp#xKQr(Q}TnCFwS-OVBbS6sJCze#24H~gdcaXQO3byzP8yWlMB)?vL@hxNW4*7xtQen^M)5gpc#?XW(% z!+K4J^`;K%=W3mAXQ(&Z==fgN;q&V|tl!pQ{cf%E4b4p3{wb~V?aG_BzM+HtpE|6+ z)nT1_%C{A_+4ib*=_&tUTkolLo|OCg5UsD&x;nZk{fB9tC)Ctq@^h5d{i!qSleF#& z$7iP2dHOtC%;zl~K3~#d{p%gpuhY6ejb{71w4Rgy4$rT6xpJ|;Zt@Hv}-!h!i`0J&0p0e&^>Di~l=lwgZAIQ48j@)tMZ?x9^ zDJ1JBYkh=1=jzIOv)28oBkLDv-JdqHey!Gd%E+0^`mI{`CyK29RO`Nw-bb{~lf^BR zFFyZ6htL14b)IBhD_cJQRO>v2;)>0>-UdrgoV-44N5fwd*lBE&z1osS^ZN%{X&<0%1FSm?S?VzEznT%Ctqlj}G2LH2=#)dqfTlc#E00uf zA8%Y7*X3q;Kyv%oJsSqP+4`3Z=1K|B_^UihwtXaXd{2jW9~fDx6ck_H;bopY+}VoJ z#^+LyhN&ox+sAHiK6=#$e);e~bz;-_zx>jadCnvBiUSOj-z;_*2o_dTC9t8;Uo!YE z4YjAfXyn*`4bAp4^8tGr%KzU|ag28ybe=8ShtK+mYTsP7kQY~2Rc&m4MJpZ5EPUyZ z(T=a5u>F4z#oc`9sjq3AXc{Y;>yNAXjj=F1K8?7wBT9yB?B(X;_58gv_Mb=aLGitd zFB=&C<%2Ree~sY3Mgpdfsr~K4X0<1dZ}COBRBD?`X{+Lh%l2`P8VH>S!*_gPpna75 z<}Xr(w^Fy8Enx%@2KO z*OvyqH1HLH?+(l;KHruRckc6@z>K(an~wvhQFc}zdZ?f1Ha!E=KX#ux2EBLSioksX zb6@Q~=|?*c4m>n4GuFG!@W3Mi)8BTRv4O`2o*1|)@RY!B1%4;+$ALEm<_6yPJ2bGW zOrc~C{@Xo%pUf0%i7`)@oauv=?3r!U4KDb$JHmal-aF_OLFeO=z4T8@KZTOL6Q*xn zO7_V-7@ZHb3{@!Mfr*wXg_8Xe7N!KA8hBOU)q(F0ye9DdfgcRKHt@Q@PXt~c_?f^P z0zV)4<-o57-Wd3;!0!b90N!8!w0x}K$Kn&%^i6>aoU^8Pg8S=3Ej+96ZFzF&I`1dhi0Az?~%C6u^2$js}|E&WdfULW`wcyzYk0FTN1e6V>L zK052K27P1Tw_t8|wY&q5&HO>I=~OD+($g()kH9?FahqO&cMRM+a7Ez0f&0P7L_zZ&>0xIXKjz_#B_aG$If%EVR8kbA& zMUXvj@HE4{^{h&t&o>?}=J`4L2=Nuhqs8Abrg^0O$7Z~kHXoiSe$059_#;^R;_aEO z6ky(%Il!2=Mouu^sF=5P@KdL4Pc^-lY<^v8w+bjk?*8tLx_{R7jlm;Udd)3#v0TzY4fi%cn&-Xn08@e;+n zMM9dVsD3pB{V`+SgVzm~;*KbB8^84LbI+*RMFz?;PVVEJrQd{|&c*JD%AXVZeN zDW#JA(~5U8X4Ls!ufvJF2k&S+bxnujh zEx(xkkTD}(x6&6I>~{~v`xrB-^hjfVrR+O_*BWEAONKNj<=dTjfNm|xI?H;H$J&3`{*MxsqL?pC38$(Uc*`=v3z3d}FXvMu~p;NBYP zhhEUO#~L$w?$p5V81o~fU(sjS^P8%>8J{7~| zd+48*{T1*zOz|jKAIdy&c^`q62@2@y79@84G}C)1hFzy$i_bR27sA?Bmz2cidkVDN zrhv`citjM~sp20QKdSh?zz-T@&u47=yyEq+{OeMY*z@(W={oHTaCu+-)AG6k+j1X) zFZgrCAHwpZzr^mRRCeeU(qZ@04c+`~Wj5>rF5gR_Wti#xjLY{eDy_oh`(^zq)2C<^cKt?lrJ4JlJI!XQY+$!}!t_8lri@@V~x3|JkFRjSHY@#tCd~Y zkHs|8@0Jd`-e~$7>9Ff(n|{A^*!8cO{-AW&^{Y)^D;;)yh3V_0!>-?H`V-P&*Y7i( za};*{G1H%s4!iza(>F+mU4O}R&Ue`LH%)(8I_&yKroSp3cKr*}H%fs)K`!%P)jwLRN*k_}u=Bco*}(`mP0Pusz!_mB>|{juos$t)M#Kf^yz zd?qaaJ!KEO{n@7ToCbFPSDL<~blC0r#b$g?Q~a|#+0xbXiWDl1Q$mMgI>HVd{?!Vde!O~&3KO0@?=Xt`lW;0Ya zu-n{hI@bZ%eco&OaOtqyGkyx6%=YmcWBTfwV5ND4>|wu-bmh5(^wHAc@P!lGAWmuzAv$XD#cEc}B9qm{~wxhUI6f{J`Zyv!B11K2198*Xw_vE04Y8=M&=+ z@u$Yj6v8?-%mUKIn3+EY!P-}ye8PUbjy4;f;T#Y1@KVbeu|)Fe9Q}-$b>m1_{#VHc_Bwg2>8qu~uFp69Zs~CO z5xEZBiLU)J8^?WSvqm;>`H|V?(O~n8F*9~N4=WA#%N{Ntk?r3!{Xyw)`N*vA%riRK zuagdYogZlW6VhSVk2HO~blCOD=t^^MwNIBAGxNulu>3zGd$@db-tV=hZ;%d`kIDK^ z(dCEPK^`@m=Vb%?zMeMyW$AGF(RthVOn+56?Do8BL>e|qhg~l>{VnNm`7zng_NKoh z9WEc6b)I9AHfAXKsxkRJ0ha#{WDmRl%gu%vO1^2#tR&YMGZV>;#yk^UY0S(Y>y4SA z|x6n4&_mB>|z7M)I(mchOSx-(iu2EcVe1YN?SblnH8`%AP z&1^1Le5o%F7W1e;IXFOE#5MyR`VVyJ&lP}oQc8ux6rNiYX+u{4oW}V{4jhRK}e_+{j{{(w^zG3=!>9Fft+Ov0NeA&Uc zpW@!I{7jTR?0G!ZY?z(pY_pjn8@T+WoZqL+=68ypHs;wr>y*QDiZ>WDYslY?nYHDg z#(XF6Z)0X0*|}#<&s1#>`*pc5x-@1+8DPwF`-6>nZhxpTv!tA0%ya%3#?10^X5dy> zd7mb~aQT#+uXBRUCC1DmbFDG6$lPqq%r0w;nf>K{SU&6I6ZXE%qh`ZwF;5%wUBM)cIg7k&n&IOeq6RP8@}V%)@-=nh23Ufv*Ejr{>FUIG7Of_xw417j*T|G zO*-uQEYlZChh1+oeX(@d^}ErfF@wv!fgd#cW%>;E^W|}~;d_(cn$0z`fxR#H7t^no z4!iyyx-@2#`KQ?|*E;MrUFDbju9ObDz9qUeW}w;LY;Msy>^39JhS_Dt7}KXc*_at+ zro!^SO54KaQ}c0LWH!twbCubwmJM8fMz;C6**v27A!BB3dCXby;F&?J)AY-oMM;i0p<0x3^e@olL<@MR;WOVa?Vc<(( z*)jvrmBzf+dxJ5v0d0ik^Ap*@UYEM^eWmq7dcgXenSr(oybr8xH|aCjkM%+5mY&nh zp6@+p!?G{v*#his(Ok1(W}qd;%rJC?F*6BW6Zm>~M$Y?pO}|C)P4LXD|I2h{1L8$8 z($7pkyBPD`>u$#D6tj*EvkDzx{IudGSZVI0G{c_93(bb_VSfQzexER%ZJ#n`2BUY4 z`A+sDSU#u9C+zLsCbMD2pi%{FrpX2_KQrfRE7R+w!@lh<=o}-(ea&W;Y+$z;YBqfL zdx$aLNgfMpUyZVd-Toxg=SqiNpKf}ablCMK(-%sIT|e9O#nNHdzh?Rp>9FfpnZ8sy z?E3dizf?Nx`W>cUAsu%8UelLJhh2Zv^lPNUu0L)1_0nP2Uo?HWblCO3n7&dv?D~hM z-y$7$y_D}{RnDuV!>*T`zFIo$`e1Y&(}NWsXw0lRhZ~PoJPMwj>&9`WpQ!i*V`l4N z9Y3oSpKN@(;!};WVI7+#iffG<6wfebHXzoqX;$25%=gsujrs0+kul#jUu4`#{54}{ zMOtRe_uE$+W53*(nT@_5_)gw|CKTOdd8U9 zkDfJtOYtkle6RkhG4_8mW;Ubu0`H@B_QmW($H3MOj5nR{%1<=r8OS${nLX$RV`e0} z5pK-K@pjXhk%;fk@y{$okHe}zYgA8QzlJ_z`u);j*Iz_GHv4=PmLFy?dIOf92W1a? zKlvlm*Gh-o&nDB?NrzqUq&(o~3F)xw{m`{9W+WPD%=h~T8Z(>G;qaWCwy&DbY)PjZ z&rv)LmjCtg54(Rp!#^`2wV2H_vVq;^Y_nm8q{U{lK{l}4Tx$CB(&6&voSthyHz=NA%#2OV z#>@^iFYpprfib+Ww`1Qon^lT$HDWE zm>H^`gB2Jr413-F5M6oyMDb^^0^^9`^0s^|%9IXln8j)Hp1$3HV#jW%X{$}z^wL^Z*f*{!OK8Mkt>F*8n88$T+((D+it7aQ*^ z{p-fejCFm`ZwmZ_z;_uxs`%%|^!ZsQ&CIIxtH95~U(IFpy6McYwGmdiG42~KpO71|lw7@e0H^8>vR(L`o zEem07dzs=30xu2xHRIzI-)y{E@$JT>nWaR2SX9*Q+%0gAzqDjDS@X3o))+creL(pQgChzJU1}S zliMr|yg2ZZz)J&P8u*I9%K~2$`1-)h1FsBxOW;+3R|md3@S4ES!2R`4%Lav#vlAAc zhtJ8p5jLB*V6%BA*n9#H&_6Ak6x^nuy6Ap-z-H4EHb1?B4cl+qE7#ec##${9O8BQ` zM+L9jy~W#FJ>Mg6KVx+P3WJRGbw`>x9(#O`K$p+aiV5z2ENni z=1$`_@fuh@?^jH4pAW+3bFCPkv?0F?yx#a>>CYNJB7PZ`&sP-_+~-Eve7+@4`PIRA zH}F4<2TI>$JVe}Cez6}Zrk>!RI+E&%n1yj9?!UL$^L^GHf%i4;BmH3Gf#Tt?{ESdc z@HCHxEzM)G5i>8>@qw$1|0ex(b1V zf#vgh#RT`c95$aTu@N)h*R6q98~;T5PmJ#quZ884?|BLC^9k5|uE$2q9ALi-%=fS8 z-<8fBV(^XPcVPMaKrz96ehiz>Pp}b>=%!;0%f7&83U1#CM$^(wG4{+e)&rJ(PsIec z=Q`>3J7S}-Que)J*;gngxP4z(fu)~f?3t%*K;WUq4@+m<9yX7O$HMYCUNOOaPJ|U$ zsuW|-TxX{Qo@U%CeHJV~jfx5GXD+P3(xwU;8gjC+WA#*P2AiV5zYXVdQg32YRYYwb6Ic^3@5Mfyfq ze%?|{a6j+B3M?NePJYyv`$yo|^d5qPxmZPJf3zFk}e%jXou1ot@=HlNe55i<{5ec(ppm!!8E zzam}&%jZ(X1oz3aHurf2Hu%?fhTjT&y>S=mD`EM$MKQts@XX8otj0!um}Bm4SoUia z6WsoO*z&@23hbGKZY?bPb&3gY&ocA!|%p7%o$KUcu!XBjqPenH~fftMRsO1}k`pH+$p z?q@Y@e(uIb%)Ea;4g8>Sv-EYa{5+wU;C|M_=I0q~#4Bb0hrllz-z@zN<5l7hVEO!5 zF~NO)0-MiG*oc`kkatC$yBYsU`i`(-`WOWFQvsWwzSxNS>U*1g0}nRdNBSYg`-(@v z@;O>D!F`T}&F6S*#Ju0eynfD8jORCZ%W?;%TGc5B7*zr1e>33V*K>hGv+M=_cGpH z`Yy(Mh#5DF&;E)D?vrt|?sF(M^2r>KhXx*De2Mh&u>4F^OmII{u%&GZHe%+EJUuYu zZ_#&=-UiFhLd694vluo%ORy0?DEo^8Ut#>Pbl#7~=27u?jDID*1(yF+iV5z2HEjOr zo3ib&3Z46bA2dE(`eVjNh@XMwbAw`n`+OcYpNs*<=W^M<7WggW71BR|<>zC?1o!g^ zY<@OjBVHqWVWC9zi=~G`iSoyyCbyk+YP7Qsce@`wHcWmL74|^aF=Xkd;C==LJ~;3Z zfsYG3Dex(Qrv;uFn0rj$*SUee5tw^Mx4Aj+j{^TZ@UH@I2>hqOe+~SPzy`hkH*1Rfta_1mp{ZVvkGf$t9dY~Viy{#)RG1umn{WByZL*LYOWCj>q%aO!88 z{hdL-FYsf5>8JU=4(Hlx+a42`Urlv=M&PpopBwnH!1O(Q+nWOaFz^F`d4I<3e;4?b zz;6fsM_~E@zU{$*j}1I0@WQ}%1?JaR-OoFLKMedyVBXzud#*Lk+Xmh#@a}-@l94}4wVn*;wS@XrJPD)6U)yXskn?`zw@ zy9eGs@F9Um1)dQ2w7@e1Ul@2pVCGTrH0-8lBF_5-J~%M%Ah^vXfv*mHQ{X=Yel75a zf$12z&t8G|3OqdUNr7tvHwRuE_}hVR3jD*szYP38ff@7fX&aztD9$4Sj}Oe8FmAIb z@Wp|z4g9mf&j$We;J*bf)0lJjKP>Q(u&&cAqr~(-Sx!OMeF@7M!M-8rO+jB2^veP> zmyPfDhM<2h=(h*`uAn~<^oN4}WYC|6EzOLpcit43@$;_ptEtXaf%%0~*XM{S2l}Ur z(XAXV4t!jJNWEj_En_<2-*9tt+U3j9pq7XtqgHb1Y6-Ot~G%?H7zbI+oE@4yve zwtZV^*caXMGBDVT3OqG%OW^rp{P3O8#pvee@?djI;2#FQH}JZ^jM2v@-%&h=Za!ZP z{B~e|iPde&bR*>D(+gI+&%#_o&WyKro5O;BWZ)Bm&1pfO5%k$&()pm$xd`3!9&Ek~ zTN-#S=KH-T==TSmxs2SNarJKhYS0;1@A|)j{#nqs(sL#E(+gHQS@sJ0{y`re^rM2# zvorT|O3-HqeQwY%2>K;KXKcOu`Cia}6!f14ow4+8zdq=Ur+590pnn|n{{)?J^=`id zY~|25==;Og9~&KbV&JKP+XCMn_|d>m2YxZ|hk*~*eZQyYNO3xkbdPcZy49tV15XRw z5SX#+Zhs-nO~00J1^qjLZw~wrY-RE&Y}@`m*zk+A?tf$8cLQ$``J})X2VNEUmB6owDXZSP_hQa2&)2^Lm+n~9naj&fIJ z85k98#s{7p_>90a1J4aS4>tdc#P0u+pnu(T<_fqm=**qv+rArk2OS63M+dGC%y?k8 zVeGD-zl_~={RuJY;W;bgb=`*Xx?Vo72mPI(|2^pGmr_;kY0)z?_rFu%K7kJod~D!Z zu(dO-L0=#yonv)R`3-d2*HyuuvA(Wvz4uWOJ!kAdszbdAz7?UtA*i^w*R&{~f0xu1G zRp9Gj+ZSVE-Op{X<()CHZo}MVo}S0Vq=)$p)(4wE2AjXbRz8e#^=)_3!(!(>10M!k zdd38OoS1zvcA^^H^Be4&gT5r_Ux)3OGH)7w7*la;u)ibN|1{{21%5KvY=F(@^J085 z?&6JL^B!#J{3z%>HJ;P+xC?B4_yt(}Fdk#SU~>>`ehv%zn4nJ%dw`WYOGh<(!p9#zuS5N=DLI1m$^fUHjQ?Ti(F`}OS9#T?2rGw|}QO z{`jCz3i`~THwJxi;41Mpk z7WB&k-xK(;VE@~o|0i(Yy^H(pC#Ie-Uh5EaJ6^+s%?Ys8)yY9WMa;I0(P~DwZQFv) zm4UB^&Ckt2zfFuE#%0|TY<>Zo&qss)o1niE`1N4(ZqPRcF4?D;h90o_-#X~MgT7zj z17WKhhrm{6jtMps15Xb2)qz_ApA-0-fma3oRp2*ZE5pAA{XH>d$T+lr2OECn+Vj{e z@UF1sWe+jiZli4n1e=2cA0F(FhAj;z27R&^Ka62J6Wz-8tYE)5*e@}A#;{!*?3V}o z+k*X_X3rS5M}qyYg8lD<{r{LfW7ysa_8$iO&w@R_p+x!_!`4IWdE5cEyzCnEez28c ze=*xKp6#e$KRMV`!&YvygWe=&TgI?0MYnxj7VNJH`YnOi1b!gcuM7HM<@9~|_9f<7YXV}d?0=w}434K}l3I~L7>zZLk_ zz;^|HEbt3~-w)hv|Dyjr0v{UqRM^U-KIjc%jxS>i&quf8du8D71-==!yxb;cTb`TV zjc)!Qh5Z@|o6i?u+xD-)W>c`?JrcLsCh(qcx7>f&H|U22eMHcY4|-M5n*z6pNk3yC zFF?0+ULN@Bz{>;w7`D8;0$biU2K_BD{uvwjIlB2T8&I_03O0RP*nAESHircLa4|j^ zCwU^eZF^F%uL=5$pq~}=`9Z%R=--Ad4L=PwzYqM!z<&+=&%j?9C_h#vdj#$edmhE) zg|V7Pqg!5%3-%`ky*}{lU^6f1Ukm!Tf_^P*`~8lX{r*||y*b$573_Z!^v7Y__Sa&z z-Coa-A}hcMSXAB&YeN9mEmEqmCunuKQ`zSVDmpaaFdvQ zU8FRh7wj(zHkSmOWx?jUVDnwGxk-L*LASL1DA=zF`olqA2V2@+3j9gnZ3Y)@_6~eV z;7NfO1zrYQ`>;IdKMee1G38LM=jD%}TY3IE@Uwwm4*VKy>Ho9X{k$La9z%*YJz+bJ z6|n7V-@pTd%^^V_5qMnSNr6v>&Hpsm(zYP*lE9Y-z8SW%`f<>I6Zp@t9p4Xv{;`<6 zGZuP_17u_Q`U-6JI|qIDpzjy-VS$ecJUMWE;MuU{u?@C;ogegz#H5Y!)itORa zFX&%~Ex*?W{X1g(GiLj4bo2kqV6!ps7lF4ODtk-kXxRKu2zsR$|BT;mKsW!30-p!l zwwDF{hQQwoHn#`;uAn~<^oN4}IBe;BJ@7vRcRi?>hHYT8-(F1m88_Y^-O@ii@UekU z4O|UdzGer#Iq2sEz7V$kem(FvVXI>+1K$o?dhQSUBSHUl;AaEB6zn&`md^Ks&Bw5% z=kvfj9bB}pfX$|_n6hF#{GecS7;Nc0GUzA5w(WG-+LKv9KR57|!RDHvuMYY>L4Pdh zPX_(PpuZaQzX$zaLGN}*F>PDHmge1qzE{u>4*Kw*A0PC}pw|U`cF@lW`UOG1D(Ke- z{q~^$DCld0{&>)z3;HWTe=q1C2fg#KVmXw0a7M5{E9mosenHT`7W5y$mbN>@_~(1Pp9TBJ0zVP#*9ZIG1^sV<3x^i{4}mRT zhXnm_G5h8Hi;3u#ugSr_I_R@tOLHT4>7wT>=jZJQlWXPlN5en-Oegiz$;~6?!Kf-SToVZ1&57zB2Hwu;uIFz%K-TFYt$A z_O-l1+l?&lYm2};!{+lK*wQc}=%dB>StCCaf=x}}Ik4S}T@v)GgMMSsR|S47@Na|t z3qk)gytt5-_k-T)sA8J?1wJ(JDS>APUK;qjf$s_YWZ;(q7e*ELyI0_215XM(EAVB3 zR|S3`@E-&JJ8-Yj#r+NnJSOmIfzJy3^}s6w|03}7f&Ue__n6{-M+Tl0xGC^A0hi9cJmI;9MT~D}lEUymMeZmTuoxkFwhN zkidrrR+VYDQF7XOLg324^?@4#&kfubm{Y>@vLx`bz}E!+Zr~MxZwq{9;GYM6IPl|v ze;xRDf&UQr&A@*P{9)jK2L3!SzYpkn+$J#Zy}G_@VBUdseZRm110NOm=)jW$pAvXl z;JUy~fm;GE3Vd#0pN~k{D||iZ{GOnv`P#s%0{a|9Z0mCn!S@B5M*{Qit^4#jh_HVq z=r0E5w*}q)&w<|#%x?v{4e#nYchR}!yhUJsztHvV0;f5Jw9ZlybbbfW?e`Dta|dBR zGU#Ii^DeM&TN(J|z%_yE12+bq8+bwBa{^x+__DyfgY0Qw?jYwM1im9MzZdT|KMkDb z3(`8v+MxeF@c#t_P}=sUK9B7z`qXsyTE@4{AS?41^!Rq&jWYX zMaa|HJ#f#!%#-6bdk5Yx@Q}a<1s)!FMBwp(Ck8$>@EL*Y12+UdC-C`!zZUrNz~2hY zyXT%Sey`A(_t2g14E&?O_XYlW;NJx1{dD*9d|;o`hI7j2w1M9YHtz@iDDY>2d7s_= zcMrT};N1i78F;_I%$?_c4hno|VBUXln=yeW1g;FsZ!Effb>N1;yld|^ZGn03-gVx8 zaK19|w*%i0cx7OpuZFT+9rQGJjoKiVp9TG)z>f$1b>IzwpAY<}z;6WpN8o=4F6mOt zSLeV!7Y%9KI_MRF`vzuC056|Gfe#OSWZ-dunTyc3tqROs0j|#u+!T0T;6;Hi2<&st zkQaV4(tUnA@bbXSE#NlHIpfSc1I}v$GtYqQPX*@pCS89n@JoT;5ByQ!u3d}UmIvNF z@ScGW2z+qh5rIbsJ}&Ttz$XPhHE>Pf`oK+rTLLc)d}-iifv*Yty};iOd`IBB0pKPBHSk{l7isqbXVvuokAI&tXJ*csrkXBP zMAI~CO4DVU5{j-WO-VDUDAP1EHKS=JGgFFgl7!qth(ZWO2qAPsNYW=HA@m`H5aJX4 zU$4F2Yv$#9`Tc&6$NxMYXV&wqz4qE`ueJ6*XU^GsEpc0M7cs|_aQSflO=pfT;XFb- zT3jG57GEl!DxN8xD_$sGBwj9FA?944u528e!udJzi{fo!&im=oe<=P~{Dt@{G3N?( z>;5F>*cUFI#NEU_#l6Mniie6h->A!Tw0NAjNIXq^ zx%f)))#63so5gpF?-M^H=Deq_Y-_}8#jlIs62B*YU(7K;T%KQwzZG-NQ-Z zE5y%XTDvs2xT{kLjB0f=^CT=a}xHPT|oyC2{1H?nc!^NY;W5q?{5^;sNN_@F^ zwwPn!xN=@AzDK-F{IK{j@l)bw#p}fz#BYe-7Vi{)Am&)fuAHBX4~Y+p{}zYw`;S{U zCax=PEN&|1oVjk@bn&U;j^b|OGsOMG1I3&_*X5rpzEI3Df?S%(;!DLGBgmzhCB9nB zv4dP1ju+&7ub5*5xp>ae>&)?joL?4i5pNam5q~QFxA+_JPvT$2@%Zt>Z8s)P5jPgM z61Nd|6n7E#5c3`(x2*xcj8~goXgmiA(~R_WN{;L6EVk4a_e%AW9MvfcX1!_IpPuG z(c%JevA9}1T|7s8mH2k?UE<|pj?v`G|G4-`@ka4$;%(v`VvgP9^88r*z4#~b5%Ezm z$8>V}B#Mt0pCE22K1G}@=6uR7PmcTK+*h0<9wr_y=6FzU-O1uh#nZ(z#W#v?72hqs zPrO?El$hg3xiWCRX6Mb~H^d)_KN0U29}xd2{zV+$uy$K9af+B@Pr34(DCV5gF21w4 ztC(X_xip;L*?E9?uz0MvKwKi`Jxea1D)D9FYsEK+7mGQbmCI+Dm}9%U_{YRgh&j%c zOY?&GZSlL}55#-KpNn}Pk<0U-_>lN_@qfg18`ZAM@v>Y#O~uW{t;B7_9mJf++U0Y) zxTp9$ajtl*xIkPYE)!1^UoO5<%z3O`d2SSQ&TALXd9R)C6|WGl6h9??R=i%kLHwrp z9q|WZjuqz0@QwI;@nP{1@iB2+0ijNncByK6r5VsefCGI00BpxEp6OR(-iwnh< zh|9%u#q-72i*FL&A?CPeu0HPEn#;$Hna0mWCrW$^G3RV>=}#4R5uYaJ{NOG<=LB~iEIv;>QhbqklDI-VTg?fpAc^lZxMeW-Xs1-{Jr?F_=q?O7bLl|)f02Rau?rBoGMNicN3o>?k(;w z&Jhn2j~7o6PZnP)o*|wkzCnD8m~)`J{aPyKJm@ZdrFflqy?C?u4e`6;e~G^oe=Yt& z{ImEE@n2$&t>?-a6*m!cu6CCuP25_XDef%pF76@jD;^*oDjqH#EgmZ_5|@Z8#8u+U z#k0jXh;I?!CB9d@Ld@|7UHz;PuNAKsZxFvB<~;Q-pPk|l#2nAirTJX^jhJ)XyEK1^ zLrrVrW8%7Ej&tbNZ7OadZY4fd%yALjx}4YE`Al&i@i}77YwyxuC@v5ei>HY>m%Ur} zI`NI-+r@W@9~VC<<~;Q-&lknp#5=^Fh(8zqA^uAo!FA#;|ETx`@yX&-#BIf#gWlzH zw)h!x!_&=elh2T zckw@pe;0GiNtdP$E|zt!FFsy;f|z4by7aBZ9GB9?pCRreK1V!6%=zfux}(Hn#6@C` zb?MSqh&k@1i@!oVN4!9Mo%n9?ed342kBZlb*NR^fzbbxR{FeA@@ps~%#lMOF67$-B zx4$Xk#^O`NZN-DcL&U}6Qt|cTo5W9vpA~NrZx!zl?-K77?-PF`{$6}od_)|=y-co7 zIL4-PvN%QDOnj0!U7R8AEbc1qA?_s}ARa6pF1|oKR$L%15toT)iaE!<+uv)%*NZv+ zr%Q8(_+Ih-Vvhgm(ytYBEKnEk#scO45j!M)mw2CeznEi$x_o{Whfb=Ej~6!-A1_W5 zw-$F6cNO;$pCcYFzCe75xLiC*BY> zd&HlLzY>2d=2)h#y?z%T6UUugniARbr5|0;85LbvfW~|%p<>J}m z1>)<(w~Fr&-z&af{HS=f_+{}%@m4X%r*-B0m-s{R=i+~h4~h?o!>P4-CWz~b8;F~V zn~PhC+lV`ev&8+x1I6cwbH#&17A?-M^PeoXw7_*wBQ;!WcB z#P5suiuZ|s7XK#xOB`xh+jdcLviM|inz*evQ_OLIT_5W%K36zEMnYc=PnfO}q4dTV(CF14c72>txb>dgWo5gR5w~Kd+_lmz1 ze=Yt){FgY=s5LR=-jLd-F%UH;dJZxr7vzF)jjyh{9%_*L<{;(v)h7Jnu_Bt9&T zoKjonsJMyvMDeNOj^eY#eZ=RBM~I8WCE_XKYVlR#Ys5E+Zxi1wzE8Yb{FHc|c)gfo zeY-Y&L%dzQQ~Z(m6Y-DYU&I_U+~xnbIKFjld`x_zxP`d2xScpl+)dnHJV-oDoF~3W zoG+drzC?Vfc&d25c%k?v@onM<#1D&~6~7?fD1J@6OT1hBnfOcbx8fhfUYpu>iHJGQ zxogK1aTD>0;#T4|;%?$I#J$D+#W`Y*i|)!WUOYiOS$wH@x_GAeM)9rUyTtd3SBN>j zx+~A~;+Mpm#IK9r5x*zq*z7LPuf;WEv*UgFXNl)H?JoUa;`$l2@r}eMh)))`5uYmV zDef&ED9#aIEFLeuL|iVODxM*pE1oZ2B)(aEr}!SR8}FT;XP%V!7saoL-xI$t-Y4EK z{$2bZaky=5{U?a)iW`VqiQ9-fio1x<5T7L;DjqJrP<*ktSX?Tu6i*Y+5??94R(yl_ zUh)0nHDZoG@A~k1@doi5;di{7ofTl~5B-{OPfL*n1X{}IQvtIa=A+(dk$xRtn# zxPv%Le1`Ze@euL(;?d%<;v#X0_%iVo;;Y2hi0>5NBVHk1DSk@)toU{DTVjrl@7n7V z@qY0EF~`q$>32iT8^4iGLLTA`Z8&EoXxGIB_#^syJPI zs<@-Lx46HUa|*cn86}=5o+Ng24eo!0lI}xQX~gaXWDbaaZx_;&a7A#bd>sAHkKOL|i7W z5?>~sEuJU7R(ykav3QAinfO8RW8x>ooQuJg`33RY;&;U#i1&!U5Pv29Ui_2z5Ak2( zx*clE(?Hxze3H10_*8Kh@oD1T;{M_x;`7C$#bd?A;!<&?c$#>&c%JxL@eShJ#dnF9 zi&uzOiPwmq7r!LlEPg}$k@yqwe(?eEkK$j%oRh-!D>o+v&rx+c*2dQtHy5XhGsT_7 z-Nik`eZ>RBL&d|zqs3#z#o|)&6mhk9rg*M+k(l#exH?%Teo*{`_-XOW;*H{M;vM2I z#b1km5dSRxL;ROG(y6x0QE`27Bk>91lf{|h&f@Ok9^#>5&duTKZM1l-xJ*1nJV$($ z_&V{8;(NvSi&u(QiJuWaFMdV5N&Kex9r63(kHq`L`^AUFN5sd(ah+@Ht)cjM@hM`? zA>!(}lQ>)4S3E#GRLuEATt1`4W5q?{5^;sNN_@F^w)h6|E#l?k72;LmHR4yro5lYU ze<=P+{H^#8@n7P)S+#Z2K-^l)c}!frbryFO_Y)5kpC`^07m6o}tHhUy7l^MDbKVnI zwtK}Z#4E*5ik}g`D1Jr!n)preZZYRfab@^Y{I&Q8@z3Hv#D9q+U25};itCFTiPOZb z#T~?1;@;x^;vwSm#pA@Bx5e#mmH0C8HDb=^;?lc0T=<@QpTs{TepJkPUfjBC#V?6p z6~8WiOZ<`e6Y)XuAu;EUaodf{u62^Qp7=O%GjXaoU3{vzqqw)Yzc@!cOgvJ2k$AHB zQt=G&Eb)BtLh()F+r$ru9~Q3`KPBEQenY%nyi=Tj{t?3cGkm1r84COK8Y6J+!Wid> zI4VvSGar{;^TFlkHSxIQu*Ucrvc~wAuEuyPt1*gP*O- z#WTfo#q-4r#f!vC#7o7?#Vf>X#B0Ut#OuXd#oNR?#Jj}1#e2mE#0SNP#D~R4#7D(Z zoU7b26UED+5OWaR9P@E$kB_1OlCoU3~h|9#&#WTfo#q-4r z#f!vC#7o7?#Vf>X#B0Ut#OuXd#oNR?#Jj}%#QVhu#0SNP#D~RRTy1}dh@;|UaZ_<~ zajH07oFQ&6?j+6@_Y(IL4;1H!|FpW!Q32v-JA~dxMq6%q~v{Q#@FKB=VpAZ<9%oD4*zEE342(N>ka}rwmCfl<}pYY zz$cpv;kM>txTCoO?q;rrdzk0Kea(FT9AsVspJ%=w9$|hEzR3ItTwvY=Pc-vAaI%^2 zbyems;2Gv`;5p{+V2)?befb-{-W)|8++wZ+-)U|F-)C+H^O)kg88F8-r!!$5Uo_vZ zo-=2`Jf;}m72ag-4)ge8d@p#rxj)Qfitz*BJ?0@Wk1xh^%>J*<C?q8*XBr3!h}Z3T|b-7H(^1pXIT`JfDKQnfad6!@L>p zV`e|)vBUIR;i2a3aGv>mEW6M=7Ur?T^rd)CFmtT>GV@h%rTJ!fx|!$2+2)n-eDhlP zI`anjW;4%ocbIp>OU*o=Jz(Z}Yo+-p{De7%kYlQ|oQ)B_WM=(sGV|Q?rkVA$!`vO= zhvvQrKQ#|R_;2%Iga^$WZ~kX`lg<8qo1a5`Q}b5%Wb-aK z-TXPsG1$3Z-@={Dhv07JUto^G&NOuq_A$3WIMB@HL(S(P%rkTOMdou67MO=1oM;}0 zaI*PQgjMFb2xpiVBjniZEW@1$IW{}ZG1nKFA4Yhqnd7YAWqujqGV^N)A2NT0aFzKx zgio6z@t(KN+#G(z+y&lZ<{0O1na_lGm^sGz2j)C@uekvJ!aNl|VCLB5KbV)ohs}?| zf0{Y&xQ8eAcRj*H^A3a@r=9T!5H>RZg0PwScZ4m>M-iT44&$H7Q_T^$vpEqy&CGGc zdzzcVea)%xAoD3O$8TpDGT;&Bb}+|pXM8t!ytzAEVjc*Wo6mzeemm0-hc7o@2+uX= z!wbws@FMd>_*Qcnyu@4q-)FuQ=2-5`e~y zfO#v-dT0E*@L}^V_;2$*ID#kB{2O7C`A38)=3fyWZ~hA*+koloM$zu(0G z@OClVhVc&|evf$t%ywe@Q}9>jweUgn^YG7Rj;DUa%rVseHopT$@MJza5hj^;BTO-W zjPQ8#rwE&y_aRI(e}OQ=ydPl)^VbMDUOn^w9^o109}%)$8UGVPj$=>%f^dlWSA==y zBM2`v|A}y%`6$8(=D!iL{g{sz!+W|p3}0@Jhv%B>!3)eOFvqdyx{csl%}wDY=96Kz z6VtSY*#>kw_%U;Pc#Sy=e$LD>;MoRDe+InC+ymZf9sqAQ4}*7^hr@f!c`)mp`EZ>0 zugoRzLGvZ>&*mvG>yGKC!K@>i^W{_raEDEMh} z8NANSaok@qUjuJ3UkkrwUJUOrKMH?fegfWWeg^)+{49LHybk`sycIrd-Ua_@{t)Ir z`Yit*gbC&^5V9^9f0&^;p$FLN_E4(YgVJ2+-O3$AY-0v~4{2A^oY0B&s_1!tPaz+KD*@ag6& z;eO@?@L=;IZb%;6n2%xYW!s)GN%d!c)x~;VaCWVfGL1<9qNm=3Vd& z<`3c9%pbw*6HNa-yv*#?#s6aFIQVgMJp7b75q{p>7=GEzvDG)5o55^j=HDJ>yV5=3 z_su!*$L90k&&}t~J@6FZlFXn0RpXTYXhkaoFH^T|$+u&sL?Qlc$op4k0Qut)^ z3OL>TILyAnJXgaUtDk-n?q=p#={?LGAH9!x3p~)g73R48T=y+F&-^ZYp?Nnv&iolX z!OZc|%go=vmF6Ge>E_?zdFDUi8_XOxeTmtthxRo`VD>YXClThj{d6+?oVg*)KF9dx z@Fw%g@K!U&Q|DOyOw$V9YtDqfFn5Lzn6u#@%p6bsu(=QXr}=!C{f~K$f)mUa!O7+l zxS@F}+|+zIe6o2yoNm4qZfCv^?qpsLcQZc#_b@*M_c1>P4>WT;b&l=NvaNyh%umA? zn%BbP%$`*`z{u-{)%o~Ph)i(d;@o1cT(cUk6j@LV&;eP3XH z1zu#{2(wQ!{bqQH`8AmRoAGbJE6i`gPnh3^pEbV+uQz`PZ!&ZI_^swo;qB&cVD?Mq z&++5;n7@bjnSX@8GXDf0G#`e4HiuI1dD|QZ|81@VN05&B*M*bJ4Pnj^!1z@7cyl`3 z+}s9cUt}7NL(jfQXTlxKo#1S95BLl-$DwCmWcq&aIcAPYpJN^f4>z9+v(GVo4t%kB zC|qPNf-f$F0B7d^Nn-d<}fJ`DU1Xj_H@e zkC-2XSDRPC&zRT1FPNW(Ii~>ET??}h(a*u}nm56F%v<4qo8N-j514)%%y|Up_uyk@ zj&mQwlkuM+tZ)7T;c@1}2v0Qsg|MaBYv6foSFRg@*_L!N+{N4gKHZ!KpKWdn_cv$3 zgU!9*^UdeNBh5qMv1X2KUuYf$v;DZ;BDlgl1)gfY9KOQL@$A`tOg|f5Xr2q-XucX= zY+efAZGI5u90XkVVfbP56Yx{!HSjv~Gw>_s7vL@C*I~8|^LZ2AVcrJsF~1A%H}8gj zFmud%&O5+$zk>fZAB5QkjQ!Y!8S@+lvu)^Hc!7BY zyvRHf=6nQ9b0NIMJRatJ1dQi6`YX&8@MGpnVYV65aD4se%p6~Ty?F+_$vhL@YMu{o zH!p&BnQw&mm~VzZH**aBug%Nh@68-{pYs&346ETk%+JHe%p7;0?ZGq~5!NxkiLim0 zUI=eDUkAT$z61W)%(3}DH{TDl z-dTo+Vb(SMH2jNsE&PZ1Irx~FYJpXZ#uP zW#*pnEORfI_0BZsz}K1w!8e%)!?&Byhwm|S{C?Io*BuEzV!jYwZ7znNF_*wEm@kK4 zHP3=yGhYqAZC(z)XMPa=(9H4pKQTW6e`$UO=9~yD&$I9$Gso%w&HN(#mw7$Rc@UU> z3&JGxn+O}2w;^m|=J@@b6M^Z!LDhf=ba~1rmc^dqh`EvMe^IZ5nGv@?gT{E9+;IGZs z!QY#2fqyaI3IAcf2j*M}Tz3T=k0-quVIA`hgbmD`E1-#aH^P(5A0upK{v2Uj^L~UK z&EF#IYCeeYO!LnOS&!WAuLuX2Ik&(N^Ir&a&BqXqHivLQRlYd_7n>7d)+zJkyabn- z>%+6mP2j7{nK0{%>AS->oBP3cmtO zX{zAY%~RoR=F8y^&76ziQ}aBSb;@<`fLW*Xeefaklkjimr{JUJm*6m-OurFf)Vu{D z=WAg6E`*KEA0a%!{4qk#*T6KKf1tJb-w4~AITt~e`5T0+N2WiB@GSF>2sw8H<2gsc zVDp~{&o?Jy-1?E`1~BW3>081j=5)Bi+#a50?h4N|_k&qqTz3e((0m?zqnYyzEH;mX z?>2MJf#v3l;D^lx@G5g5{It0k=KK!a7Uv>(#as=uei?rm{FeC&c!!yD5qw~t3x8ss z2k$p?{(*1JkHCk_kHNp0SHnlmoQoigC%5|y!kGCvg!Ro^5FTgVim3t{2fBpHS_131815KA?$7b10m;kV47nH*#y&A7;aTP}@Kxq~_*!!be3N++e7m_CzQ=qSe7|`v%(`a&SHY}bdJ)Vz zrEh{?FfV~$HQxijW?lhveg~$11b)xF2L90e49xi*m}WivrTJBu^E)tpEBvGRZTMI7 zF8Dv@4`I&r!1VhNCYrxQ$hjUEe-L3K^N$FdnU5gkTn|jc`3g=kbB==c<_2(O^6lR+-z8Wq!PlMTJjK3D<91!&N zFx!m25nf=v8D^U?{$==9Gv^;*n=yV9e4lv>%r;~E$M9q3Phhqg;}64}CxZSBW}DGR z;7#VEFx!mrf5Y3&9>%k0n=w8D?=dIBY%|8k;IGWdFx!mr_28e)DKOiN@r~iX&78-8 zb4)P4DV$_J5l%6m1Rrm10kbWcJ{?XocZNCN1mnBHUCgJ!JvCioHa ztuW`IU_ST2&zP6PFPI;M**}=(VfZyO=RZnmK0z=c-`*HaLVQy&WO@2fYJfUGoPB8<}?_}c!XVAc`SEI=4F--xiD`4)tn!-8q< zKzM?ADZ*6q0|?ugA48aFUXQSgc@x6Z&763Xn_{GSH$v70 z%d-bzq4^VpoFjwrzay+R|B3Jla}sWBxYFDdzQ)YCCT=jdfNwLW!FQQYftQ&%2gO6? zp77)5J}~FtU>W+u&zpz9FPqPUH=8-{1oxTgN5JozN5Su#FNQxhkApuq7s3b4rSLE2 zO85`+boiM03Yc?na9gtx)-f+Y*uZ=P!Y1aW2w5*ozYJk3^8*OmnpYz1XnqD^H}iUg ztQW4!xheXYw;(*%{074F&F>%_Y2Jx&tocKP+)w873BpUvUm%=f{u<#l^Unx52M5z1 zK{(GGhxrh$HFN%oo6S*}^KLMG9hmz}H-@>NbSljKq&cs}6XtaISu^Ljc*)!z-e~Ru zb3eK6xiI&W9tQu*JOcj6JO=*ETmb*uTnK+>E`>Qy2lJT@|8C~I7Jr*LuSEn;rnw0r z_l>@Tp?Mj?X66+Lxt~n45@8$jV+b?Ns}XX4m}VWq)6H8Eo^9TNu)ld9!og2c`EjsIq$@G=Eq^y5z{;YA2D;T3Dyha--IK0(t8lHUg#qTImZVb!rTJKo8w^4 z@xge`7s2|Xli{{z&KJ?qd;;9n+#EjBoCfzcbM6Sv@xgq$!b8k?@F?>rINv-LE;bj! zlg!2NrRGau)-Us%40DbTx*ERT%y}VhG0%bTG+zndYvvpg51Ma*A2Z(uKV@DDuQT5V zziPf8e$BiVe%t&a{GNF|{GoXZ%sD<-&NtvM&733RTk}r%C-WyT+llGFhmV>611I3g z_;6~_HgptjXz@*8&gH@Qli-uhE#P!>8honx6u7gwJA9gXAl%bD1nz6T03Kw%80Nel z+*ScR!aM=yydI1%g$vAOaG7};%(*<6<_ef?MqdlhH7|wPPK;j$FEZZ`vz-|KAbgj3 z6}-&67Jg9d;lX*Q+`}1{;dt)8Nc=le<8*N+aS!o8ah`abxJ*1bM$G&D zTs-gVbKWK1Cq5|Vz2Po>1bxRjMciDRAW5gxmYVlk#?-_Ju zTOwW|UL#&F-YVWD-X}gNJ|gD5g>Jhk;^yKEakjXZI7d86TqK?%o+(}^UMyZN<~@h5 zoa@9}#JvB|rP(V!AU-Via8HvlOhIEwpyT={t)opY+Vy_omKxitO6!^C66CE{xFT=60??|F0i^ZqGk z-ZSOQ`=p$CZ;+zqr^qx zDdL%8-nZknwOG7dyh_aba9n!cW8=I-yjOfcd|1r;CfvHbSHhY1M>zAI2xs00;mms< zoO!>4Gw*S5=6wy$yqCe5_b)il7vC&iDqbmGE8Za9Cf+UHFFqtbDvsj%b5|bT)8d>e zZZGaG?k6559wROh^F9`r|6K7R@e=V0@fz`Z@mBFJ@jmfE@ey$Z*I>Kyq=MdB&qnc{`w#p31SRpNExE#e*Gz2XDn!(!eq;r20E+*F({?j-IZ=Di9o zpFHt6G4DfgX{L+ki+NvxOS4qGQoL5YLA*`8TfARcp_3Lh1>&3h_-No+`?-L&s^Ezjjp4T=z^Ll3I=Hd)- zwwTwHyYx9?UOVpMi^NmJGsO$Vi^a>utHkTXTf{rWd&LLDhsC@;+m$m}+*F({?j-IZ z=5^IBpFHt6F|U($X{L*Lt+R{gHO9*TgoGNZF z?k?^p<~77FpE2SRF|P@BY37O-iI<31h}VeMi?@n-{jSS@pZK8oh&Y042wnOVadUBo zI9tqXYTddy;!)xv@f7h)F|W^b`S6-dXI_Wt%xhtt*NJ&OtBc`W{($(f*u(X8 zE={tyshHQ8x-^}{J;VdWdE#;6GVyfrd@-+Gblc+fiq5=7(V5pJI`djYXI_8k%yR+I~5W5PRu=AeiIQv_p$}M zF)$?mZ()A;3ZW*y+3-K|!wy}~O0b7pHUqCUzdZa%wCIc=KbFgt?>gA6!z}t@MUH9b z9&Xvah;Zhz*(k_<0#XWk2CA;}W%+{b=-G@|%GC zN^t&h50_uP|B~MlcV7$3ou6|3iPSF01OCUszUN-JzmmDjuD)Ps_^AKD}F)E~%+qJK;}iCq}1s z?$oJUc6MrNmoBGu?&imgOPbR^=bTW;m5gP)xTc)gytkGIDRwG2JTg#5Tp;qlJWBqT z`2SOMUa+vX0RN}N|BuTWZrt$Z=Ubot=)Kra-)#IO+&r9?<0a!yC^@_R7g-y_eR_L+ zdUKyQ;M%1=@mZP2W!BAV#nE&Tk(PPfq%j#!Cnxj_^@s#f--l04OC8m6-@ukBol}SB zAg8!KIguTisbA#82Prb^HZM$$Ou9IDwE*Ru`E&HAt)K6H@4&`}8++9~| zhQ!7Xi61^Bq0f-SwB^mS-bo6!bH^7+-N&TepW3cf`^co8L0m?1@>Qv=QdaHEN={09 zr%l$7)_szbvbK#5mJUot^vufC^pr0)x9zjJP21$G%^3^W7t@BcZhuw#``TBZJ0v;2 zCGIKg=bh2>+gZu;`}Fk&kMEf{ysy_M?46j_r*G)gE)#G4F}Y#dfG8?;KrAh}PLEcP zU)<)I`kirEY-V$-wBg%NNPF#Q+K{;Bg_+687Ks(cG)qoP8k%e~8f zIT0!1f)ai(+(T?a*vncPy`b>#grmozowv5!-QYl|;l>od9(TNX|3|lcbLAhG4hqGd z`ab+g!mvZUH~>xePPj)_T27sTq4kZ^PHwnrQ~U7mPbX(42Md$K7^a|SByHR1L+7Oi zQ7FUmXlkp}pL3GZ%DhG2r`7cq-I`f9SeRCp-95Q^7>nB?4;*!w$FMdk5AJZ{9Sk zUZhXG_zhheoZBU>eZx+js(WM)FG#6u*zmOMCal3oo9qT@Py7*Vd*>5>B;d`WXJp`* z_Vv^5@0FEPr(Js1_JkqzD+?M}l6tKxTQ>Oc)$oFJZ}|2$$KM%2w)3{P>Hfgj=#b>h z#Ca~^yp|2p${P2KrfrH0v0X#d*l6o_nxwUFoVDEBkv130cAU2%$ar|m20i14)I~i7 zuSX^C%t_kwLsq?vVY!j!eUjG>OTQ{BCzjPR1+AF&PP;Y_hR>PlWsKSR&Z%iT<8}^@ zCf7}v;q83l_XU@s%CffQ1=)NOUQp#V@0*dFH70T77vXcdV4+)bK_7I0tG68cBz(aG zCtx=YtUr==d_|qiRoKARdPUp=et>k$l~G$d3LKLm$b@vOR;^?QbT^*Vgv#mUFlR4Qt8{TF*a zP3_(?YY2{rP!<{{{nX*7t&JbPDN^~y-@`ImrVR}b9~zgL%;WuX4swm+@c_aOtm6*c zTF-3=FE-WP(BAqQ_P>kQeayi1S^tVlYZOI~XxA?-5*{Cko150)lC;6&Cq5KDr=3@l zoR%AHA5QI-n*0^^_VncOV-kC`YSSf>Tz5e$FD(+eDC@L`!U?HfyX>sEge%g{7(elp z>f_`7ZkOIC9Ln1K_wcZXzBQq7(>|{q?bWOLx$N+SQ7W&7*Ctv~cD8KxMa!l?w`|gI;}jeg-uXCMit)S&^}_J~^t=}DEnLnqj_)%6*YvHiyi?~+ zbrWLa77Pp($3?=ScrTKQi^;vZ_&^y=2*rmYp>T-r!N>53^FlK{^sWrNc8}YD2;ZFR z_2Q*F-l8yn!S!y4n;W{3@3$`PVwhu^2We9xT(&5DLmYqa@+@sS$j4r!yB=YXwo`=L zXWAPhH^tAzGM8rwHh4U?9i*EQN$}In4f%Nn$-N)(0gKzh-_RRK5aNLKXRyF{%ti(9 z5q=So;SczEDlU@9U5X1QawN^TP{Ia3h;q!%xNtm&KaND=OUtXhxM+MHa*m58a_suJ zNPI^u!|G#^GCl%K01_fsGq+ImMr<-6aw}dWGA7)HtCp9L940%`u0PolIYqkWkh};Z z((N?zW!BsIEM1txAI6`%8H{enYANx#X;>Irj)?dXq!;7p((xBCk4P+r{NhK_39 zW>hZzMq_s&W&G$2{7puwKH~DocKi*G##ZCUFe0g6{P-=*dooHMUqpJb@3^>_j>IZh zlnHb+Hj(iY--454Z*iODbko>-jGscM*O}5 zbdT6D{EeUS0RHwu**Y+1Zi*Sytw3xTv5W}w$LsjZPiF$A{*OygKX_dSrSVrd<|U0w zm@*76V=a*;p_24siC8_MiWS;8#hbsgM1#`#GSrj5hjlf7gvCjCq! z!A5u?ng9B1FFX~?6E5RslS&ex&=J!IoLMdy17ACpaEQ@DS7>E;H`nAN@S zR76GN&^vl0_Tymjv4*I*#B)e5#u*9{2hhnej%b=V@M5@WjHA~k4!RRbn#VZuZQ{9f zYHS5|DRFQS(xk_}L_bW-VQXf@Iy0Xk55VnW-Eqh!4!s0v+Q-H*&3P9*$r0&eA2QR? zBzEBu1bq4#-Hz3!;YD}~SG({^ax?xU-p9WQkvH+T{+IZZG7amd_+sHwSf5z_4V=g_ zggN|e;<7*RIw5ilf9s!&y$V)fS`pXx8bqSw&qj)d|HiAv4c|q1k83y?m2!N;JMgy& z6HJ=V1dlU$!(ULoP{YTuDBO^v^w!~&lwNYfQY@|8@DBW~*KjA&)NgnjvPx;l88{ka ze23`tKafd`lLJIAXFqhmW|G$<6_ohf6g?z5hmMa` zhvB(DaIM&zh>2dg4o;4JPS2xLyzuoXNAxNdJ}EDHLuZsZR)|7HZ({fGVx#Dr86AnW z#NX&Gz413aIJ!u`Wm*KU&v&modf{G7d@J8|cq0pa*BGR)*ElYE&q>&y7_Y>Q-pj+$i*Y3P=zTnujEW7Vm+|ml*NC%~ zM3=Lmsi8)xthM|3qF1QVZCvuezwmclsFA-953=CwWofLbBeu}OWOK1B%O()0jy@nTkhF|a0i+#*I*U~tR6nfET zS%Su~HZ0k5tj4A>j&mP<{#(R1k8zyu=sF$-sj;)^7wGg@I*a)tn;;{$jqxwh?PHx7 zzn(?z6l=yjU#7ESxa7c#zH$owX2*VInpfE&yT=Z*m>XEk9{!OZ-N;d>d&RnNcQ?`f zVm!{Hn|Y6=+r|bQ9s8Ku zdWW77<9rO!?etwSe#aVp_fDjLA(q2^-$8GT{fF`IJp#WOdw}V8^6aw%hdMh`LgWzk zAdv@}{|>>j+DSeklEF=_Kur7Shb(w(GuQtpXkuPJ9^J!zj`(N9=*K)GMq|%2%_p0X zJUO<7`}WyZI3?DA^}CO59DAE-KHm;Ejq&@O=$EXE^w>pAzn`N(XP{(t5GF*<$G*gc z!n_pPFCq8DFJWTv`g!*{;x*3A&GDk|v)Bod)hJCugiDioxG__IHO8{G!#A?HKX4<* zalVL9PKX^RR2N^09$!^e#t4?yYr>f^LJ#{3v$3$Lzwlu$YgSoY?S)oyk$1ujG;nBy zp9x>zhG%FgN8vruUtvU$8)BRD$PbMS`F#zqPnwF7ghqvU7=~}@b#eoQq0xRuXJc`T z_V~k*dmh2YQ$xAoTl%DihKHjaycRvNgukJ3d}7AULTY{n`V?`zZY(u)L8wz|Xhe8s zLTV^49EEekmm*Om5+ydqz@?VurEc|>bFt)PEa6(SxfV0X4V`1zducCoH#g@ZS!fb= zE~t&oer@>s^%{4pS@mQu^g7R(t#0Dpyx~WddZDdcvDFSVW*rAEC!MTO!XHhcr8vq zR$Ov+uu9y_kC<6_RvWLy)wYP^;IayPVV(H65@dxGiL<=fURtXpujSoH7Sy%Y@=PT2 z+CGhC{5rE8E2HL>Un3`=_FAsT@++}*HV#^7c-UXfJN0pN{!m{whx>;pwDftLx7zdk z6Y5L$!}{%cstomIYw*pZJ>S?u{rDMy^I5fL5kmbQz~86&lIM+3zeRZYDPCs!{rMbj zBMGZ@=!rPgq{pkpI&w(+&`9Px7%w|{E&F5X1AamM{^_;gjT;EnJ0<+A+v zT-)L}qajfQt{kXjF9M&N#+iQ6N7P0%d-A{<@N12XWh7I7KP?jNd z8h+^rj^=p(`0MQV(M12)%UX@pp{SoQi>IMbEHGB|LP?U(*+1F?XFbF; z_53tl@Jo{y!aQ8Zajv@1>R`)H)@*sTZ28Gx%l-w|YeGzu#gCJrr$Rh?b}siqPs_Ff z2W5CBDBGEA-?hGj?S6xg{VeIL$jd*$WqHTl!uFaGlp_~Ejs!I@L&|Z5UyfjpW(GN5 z%{`hG*x&2ff&E&V6LkE)&8oQT-G8g({GU?W;zMG z-0fxb5q{6{C-b<3qkx{W9Z~66sjZ7|y$3O;A*S_LzzE`J;Cg~%PCrT{p)x-wjt4lK zOzSkD5IC&^!0$;~@T1vh=$IV9lU=gTAAfr-_9K$LHP?>}dTTCDq+W}`yWoedv(TJoQ<|K)7kjRz0E^tyqSbKMmUQ8~O0vjRKT*2TBx)tK|R&%6|KIl=2N z*Al!4lasEr<`tO72wr~K7wyrS*IteUPUD4_{PL{ruh>vKY^e3=h*`!o{Q=G)fk%tQ zs3?v#b_WW99f+H`tEK|@!MhrZI3%W>^IEJ!96y!3B5^aY0mki=IR3Z9A;!LvxW$ND zj<`Q1E(;}m7IDo{k?3GJJC9%~ehKBdE%rc)T}aW%PZ6A?M1^s4@#EsM=oOd8OUEA z{Ey2|p?)sG|Hx;pW>%39drgoP-yprSPhs>CuFp>q!IB5?s`ejc@9YKGjaWy10^(qc zDg1*n@O7^rumk-6gQF@2|C{@&KopY9MQrb$oW&*SB!B;wGMT?46jE?E<$ad#rJcO9 zr{ma+{>pTG2TkD{z3s(8>~m6`5YJV9KHgcMqi{)6Lp&V?X?m_^{k9MBgE3D#L4EQw zv+Q>--mb=i^C%4p&N@i(3*Ixt9OC>Ev-<|?@gqafEIm1|R(myrmF40W zGra@W|3`^ViO0aM+<5D3Lz|P3W_V~slTmd>`&E%q2QP4nu7j;N#QT3cu7VFQ|E!dM zCZS`tdjpCr5cJBZ9rC-COX1-RU!wtiUYJ!)T`-K+;Lq3BstLceze zWjsqGgQ&A>qWsDaB6|gqY>jN>#y#%c8oSp=69@5q{~3iueBfQ%3;CZMJf1c}-dF~= z;TiFM2@PKc_zxV$-gS6}yfHxp4m)5to^f96*fJsyPvpg5zR!ypEWp!Gg3x~~#^3w# zL{bL)5)!#G_!!TBZkB1cBNo5uEn~b@68vo}b|< zIWp=4Jmb7s3Cjrnz=9Wv%ZRa!LF$YD z@BSV{F&M{B8{WkXIPLR48?!cTF4MXMxiytln;=gUCfVwAGz+qcKg9+Ms0=)@fB}DN4i-@U9pqjv z16R7*3TEl<_Dh$?z?Ck~FCBjeK>uUlN|(2cS{*E4P;I5lTSiUyOP9yM6&q{d6{qq= zRt#LR^OjLKZ*u{I&OUP)xIM^QR=Wpzx(BsAfP1jm--8hh+#ZaOJs6>TFhcfVgzmuz z*@F?f2Ur8ee%RlG5e(cOjPUm$DE0^~_6RBV2rYJPXS~BI6&-91_^e-}!x_Bjb1Z`m zK`etrfAeD-AmDG#I4$!ZDb_g;$tw`f_M?X{M8NMnsvgdO z6^sPq5bzoUBq%{p6~r=Nr$MYc6Yw8+RPGK?XAxkNMruEc1!)@sBBYmKZ;Inpit8cP%XHDs|H1DChWiO{DkUZdsWX-lQ}M)}GGI=~rQI^ga!yT_{+Zb2$&&KNU$z577B}MI zYY6{0pkTjhPye<1mCJ-5;fbTx<;8<5Xr`KT4Zjp%GfRDQPVykCrjobRMCH4@7U zWVsj)3Ywq6Fg)YD%J4FR-+0NHo~s?gldCagj|+R9Lnz#sU-|5V_o<(~3bl3iPgs9pXFc^@I*|LDlZ<;$b~cyUiwg)n28S*10+J;*Ue<1%7~R{`@HlpBKSSHd${+Yd(i`yCNMvK zstAStQ?D-mhPW1A^9#g|7gUr@om^biv48Hcyo!pls*cmEi_5DDGRvlS?$j-_xNJhl zveNM#Cl(g|_XXJv9!FfY-&;Q|4UB)Eo)o1W7UkR|3B+{g_Sd=RO8?2+G~gl zxrbHNMMcFEI+UhE`VANNemE2tip6`OxH+*f{(7+l{Ehb=#7F$4VLxWJ?@%lbX@b9T z_+2*?7m3yL{~m|GVLwfrpXLfl>C$uE*?xT3mU4?zVh!=Pfxne!X8YNl>}MVFqYC`L zE&QzG{UQd%4VDI32ieW^Q$}RN@xFsi1}SIyF+qF~bGaWA6j}=!hneTNdkye6Y~|q& z%#r-Vv1C7n)fcQgCx-7h%<-`#IH;zO?|6Jw;FiwvV-hSkHbb1hkF%^2nWw8JuH{O| zDqA(j->|mQEPv;(@GB_lXBt#Q*xyXx>HgAWe`l_l@!+vhM_kMZZy2v;Ic?NsQErzT{856W*0%qc3eK*G6<)K(3 zS-@()!Y`;c+zfw@gK7_|G1$vEzvy%P4a|&jXOjJtvwR2D81^?7RBwV`mx03=%Ko2y zG|q3bu%BmqtSOcz_%T=fqq7A^5t}GVLKW1Wh75Y$I-dI+{$ zuxC8W1^uhqKPCJTbflo5K_vu7QG$P{xfpi5;MnlHMC^FJwN({YRppl!zm$%Hm6dQcNwcDxFwfT$IY|SIdj1S9{ZnE18QovADdrvY@&+e{w-p zb#WzfFXRt$CB+3rUU9kq4&+r9PpIC z%rB@a@0^e9v$}Re2?{GJi-OIRV1@jGvWed0qON{b_U)bDxBu`we`}M9XXKABt0GNvRTQ#?s){R73Hc?(Wn~rKsIHw(_cNG^8tRgT z#5sO*(1P(8J> zn2RPBS5B#9&tQ*5xo`=NzrXCOlc##t_qahXzYji`c@xpA&_HMdzZ?5SL0y(knBmnl zK)&l)ML}OIDrX0&M8C2QVkMkV#KHtk+i?UMrK)4;#L9|EB^A|^DyDTT?pQD#b=0xA zv+M6Tv{1k0<@tUK7Zg^PPD34(R-yPjrYu{QV|ro9ME0smzX5~xsX4-UDDgn#k#=5g z?>;&G{r1;9g03+vFTZyV``57H=jEN(_q-e)Yv`0ga^%7$3$`6paB-2BKb`%F*#|uk zhgnTqu!nU=EwlItCRSAEkDtMY_Uopq_|mC3?wFx}bX#TBb^^B3WjMqtF01L5!~37l zBj}$;aOt$*(Dxe?=Y`snjNe7``<*wmKO=)z$YMnQ+&ph`@noK7{Np=+!qoCYFF*KL z>h}$=1cwby0aL3y)Jorhy@w7!tqmGB5T~x(Vg391-4I7qK@rYCMHQ|s*jmMfY#;xK zWB)@}C@3q-FDj@mpo3FJO{L+im+wwK!5P4>ODjoH>BM5RHallU(f@cj=NDC!7kjK| z|2T6;yx&i8PV`DDs;cwL3vhxcFD@>!>Mtztk2`-$6;rDHQ!Ll0;+D!QDkm49lOZ)X z${x$Z&Ocg%z84%2I4hSF;NC%=;Y%titNjx$cE!%C?maOb}Pd`01a{`i=mY0>57iY3VS;YpYC-*MoPA5eZ(J(AIQPZ?+1v?%3 z-Ozux`R`{$9?|8+mwEp<+2#-O-;LO#`0iMHdh*|${gXgY6s~E-2ugqxd_`5k__E^Q z0MF-ziFR^f53V^G`zILxUCwm@cN)mIo?2Z{TIQAGI4_uhigJg6othaxzIZ|fPR0Lt zcMbZGe?~)VRt}L25#rky3uCv$Tj8QlxIPcd~ zDbHl?4KxQQDtBn%J)pXxx}eOfnmYaxbRL`os`HD=t9U3@c|mOjhlrilgI%0bP=x=I z`KE&pRPJDQmCU2FvY@DRy4Por-^6@pwuWPy@(nmRJ8L&$Yx=3DOsWp@^#=6qdq!$T zVP!>CRW;t^GKUUGt$k5GF|%`rtgH^5GP`!koS5BhLg#LsCbSKX4%|xPd8xq{8Qv)W zD+~0x2^HRm-2VB!`{bUNGa|2le$Jr0{=<9cT4d6 zjDS}m;J@+=xg0-O`#*=_Y7;LFPyV*XM-=J#^VWTMGJO^jGh}-H29%1B>G``)wwXWG zv@`QJnnq^+FvADerSTiPzb=2Q;e+usex~-f!JpCiU>W$M%ULkD&5IoQV0xP0C$S9O z;Lc|Ldcp_SErHv>jN&)Nd~jX5J3>aifj`_FKQDfF#Rt>V(-CqT{7#Y&#?u24a$BQe-U3fo!LDrlij_^wb@}Bw zhst1@yI?;2{9)d{&ounbkYBAa4ZjBDgK212Z~V5;<%5d{{Q775lVGN$@dJ5H8Tb|7 zsfc6#{HC4{rlT7oWPBmakn#KqA3q`c`MB@-81EjgPx32Onj!m)AK#&B#^maP@m>d< zDuS@Ysj|4NphIb8#pF&M{y*~GJU*%-{r^3uyOVU&9S8vd+3Yl1zyy*IBw&yvEG8NR zNy4C_p&MD6vID?gp?-FOQDP{)GXl|BsO^u$! zDAv@@SU4NyFkji8S5Lx;-FLwz!4YBo=Xi;%UB3uf$%S4|5!FzCN5d0r0aMP&vQJ2CV`=vMe7o zIzH?^=<`O;!NyGM;>&p!_V#A*SUdl(j`=vZI=>nBtB-AHp3ILQg=*(Fp|(o=CM)UV z&aDR^zk^1xa%gX>Bc8`F2<7}{=wqwEZ?dF5?%`mnl7wR#j7uDOX>w|ti%aZ|i99PJ4hoj~~Rwg7A0P)Bn@hTgUS+*aPf&{6?GO zeK=-e$Pu>m|5cmwrrTU(^xs(}DUUgr**YE%X>(lE=9ohbtfM}Eon#%47qvP5ZJXn3 z+8iIz`K?=2iB?%_3-ZW@zG^4wE)d-yuFI+SIC~Wo4@`x-#OWkgDX`x{a+sdJ4a;1{%3l{&mer z)r8CisAJZQkZ-WLe51f&FcAjQ8#FIB%jHVWvs^Eij_)W}9$k9lnvry@47q%Zz%lP| z{W&_m#N1v6ohVuC^dAYq7aZ3^R`2n6b|a>M}!R{ssfG1#S?l_UOIm3Ah<&M6{ixYHH$7E*_f9F{!BHiC--%9N?8#xtKb*>iI;_aEtf!q!>VmBfKdVxw5_^u#BC~?OoD6-Y0om$r z5P1&dWE=mxDTiO?hX+N6&m1`{&)s&>VdLN#VKyKRkr7q_^vU520GtbZw8@G;W}-=O zJ7G2sI*{SF5c=eB%y@NTA}_)r*~Xu?XtNaC@rp;2VP`D#$>BbpoeIi%Q{Xu6ihh}| zFA!$sm*XoaXT#zFVKyutA;Tui4|2GlF=Kv7Mfp@5zDv2>uYXV<+d*t!2($6=jc^f| zBTwje8vK&O%&>6XMLu2F+U!R;{L}An(W!wBIV@$=i6Wl^IobN<_!RnW#(usqua`r| z7zgHSa+sM4Zj>Ssjk0qRq9?A&2=e!aX25 zk6{0hFz?GN!fgD#E6i~q?+a7s3&jV8Sx$232g7Bfu${1JEGqdi!fa4-@Eqf|0r4S+ z<^96pU6fx7IXNuvnz59_KJRsf=-dDua#-F$XHYKB8cvz#pL+zC;Gp7&VwR^YFX%dB zv)oNFO#?6h zhMjusxmla@$07n>s$7b`aRU34ZY zIn&Vktx-Hzag*Zn6t7ln(nsuXRr0$OKdksE#V;v-Tk%JV4=MgdaXZ{I8~-kfS%Xt-|Ea#T(7uE z@nXehbh6yj%ar{0ivOVaUd4|pepd18ir-iKh2kF+r=n1^@jqH|KgE+3FHn5GVou#+ z?cAjJcEt}W-l_N{#qTKoRPlF;{pez}VWlbVt$3hf{`%VL7b~8i_%y|}iWew8U-2c1 zuTs2O@k5HAQp~wwZG7HQ{E1@D2V-^EJ8n6mxSQg>igOefDlS!Asd&2Ldc}(sU!-`g z;u{p-s+hlNwsGE}m~-S<`Ci3l-7$FyC+zS$9mhROy&?$3#9|$<4ZB zBInd?*8Y`>|E}1q5hnWW+qLQsQ(QzwSxm?EzwG<{bjn#lfIC}pBUx-NQ+$cixtuIE zZ&j?<`FdZ;e^hMN>Js~A9WLSNsI%B`_1ar4kTcG#A6-ZtiSru8SCJ(?zb8v~{H;po zP9=X($sbqzjN(@mzpeN^vV?U=aTxKk@_veo6i*=|Khe!r@(UIJ7R>8qU%@&hze>q( zq8uCDR;BX@S<>@qC4Ux7o2-kzrgYvVW25^($-hwYLrQMe;Szl}wKXjKxHn-ZP070} z`9Q^k$&!Y7V8)HJs~k_c%^OPROvQ^8>vg#PsN|24#m>iyzfpWxaTxi<>i1DRL~()Q zxZ-(=uTXrw;y)_hq4=MQS=Y94NL75a;(m&A6^~Sm35OGQ%=%W64rfs=X+8tYG-sRQ z9LnXME>(V4Dfv~3uTwfVEBSqjx059-u6xC>_<{N*rSqE7;Tl+0=Y6H~55?aoHtS(Y zoRe^UHva7ucU2rEOMLn%9;vueaf9NOif>Zaan4 zCAV=)B}=#+!B(fc(&?i(OYtzpCn!Eq@g&8kktM9N6wd%NT=v_{Rr)Q8mn!{h6#q%_ z;}wrq z%C_Y{BS&HW?Zc%)m;^m6@TWK5CRf^eXW#yX`bK*ZMe^BwGil0!-?_O4a zw_<+Vvho9pKUK`{Tvq2>#q2Aya!xg9xxM0}6d$dalgU~AEX6|=^ZS?8IYDuWV*b9| z>P%H!t$3zlelN573l#JB+*Z#1Jl9z5c%x!|U$cI1SA3V^hZJvD{G{T) zD&`b!*5>Pq-%-3@F~6@_{qGe2tk}g1$?Aj^cTn6#ad*Xi6=y0QqL|<2to>1nixrnD zE>}E7@#%`=ifa|~H|I7i4%)Q5L@~cpTKUC_FHwA@VovXE^>0$VMe+TL`MuBTKd$&m z#V;u4H$khvSMfWFKT`Y;#a}CC-O<|NMB$eG=##X}?}nD!E9URVt-Pn=K8o4jYjtuJ zW8$NPoYT))og&32DQ4fV)u~c^nqp2EX>}SEFH*cj@db)6R=h^>TE*8WzFslsQnlgU zqWDh5>?^i94=ZNBv6Vli_!-47DSlP)+lt>+{CCBlDn6+ATg5*rKCCzyeY`eq?G$r1 zV=F&OF(>7;@=V2?n$yaUS6rfaykgGaY4uN2JY8{(;(EpN6`!N{JjI+C)Y|7<#+I*E ze4XOk6yK@%0mTn1-l6y@#V;s+Me+NJ|E~B;#fKFCsQ9qrWb{$nYiXyrlj5$5ql!5# zyY#4TQ@ly>&5HRA!rFOAF{fFz^5+%5 zs`yRC?++H!)X|XyPiZc~wDdwcGR{uoBoFmrC&rm#5 z@odE{iup~%`sJ*amM>JiMln|vusWQ8*78=xe^Pw6V$M@*^*PJGWfU!ri|-k9?8>qI zJm?Nd=QVnBzg%hNZj*_%`7vnByKP?*o27xIg$2;UVBBghzq@ zDm)qdf-w6_UKKta{FX4shHy*_?N0~)U3ez=GvQg_uZ8QtoMn#s_28d{o4|g^D8C5Y zPIwhKO?U&ii|~!$p28c!96w3Fo57jFw}1x=-vQ1Sz6(53_#SYPF#BD`3qJ@h7k&sl zS@;n!#|<;A$G~j!lAi$A2tNfrTllYFwuPzl9C(p1`)`&CzYJa}{3>|0@EhREh2H{i z5N5y5b;6&4*)FF2pTM^WCm~($5DtR335UTC3AYD7CfptTlyFb*bHc}fUltw!enXh^ zFuo(44`$n$ao~9DPlQhde<{p99=4sS^BeFF!f`MMe^Ji9pJd@Wa738TO}cP1xSKHh zfqDyb+;?ALK0||qIZilN_;N7Y)C`M#Kcj>3h8r&lMB6x`~zw50K{us=*HuW)QzOzP{&(M0|L*Q$L*+0bgHT4gJ z*}f+88RD2#auC~t!l_`kuPNs`20MkjgP#%RbMvBb4)`_Uq2Tv~j{|=sTmb%DnBM`} z)~5YZY~Kr?3jRfS3OIm*l{$Qe+6m7Ab6hOtd?q-?mCSEXoK>C7{-Hj?d=3T*Zv?Zg zO`R>+h6(=xe7x`_e&+eg@38HsyRi<_f<8 zULgD$m}82l^C7nLg+B&gDEtkWZEfm&hwTdCRHV~Y!fD{^g*$;a3rE46kD7kjhs1Sc z$VK4$geQPGW{Gmn*$qJW%)+Fx%bKxeq*C znBV3`3GV=p5oR7Q6XqE0iNfqpV!NAm*q_8Py=0C-iwnO6o-O=7c%JYF;AUYy2j>cZ z3SKV!8JKNw+WZ3iJK=-ib;5i;*aoLg1nG36FrS01!p!ft3HJlvEj$AJfba?6M})_N zpAaqs|5f-D@C(8m56*Ts!)1PdOPKvk?+G*Sv)xS{=KarwXMhh0bIknD!W=UmNcQyE zw-grUcsjPPY3KLguEJZvy@YQ8_Yvkah69C}m$~>P{c;TXFyTkRY16(Z3e0`$u zU%?ZEp95D2?*_9CPQNdKtA#nXyjJ)v@LXYzOXrw0>VF1i8=TBB=^UR%W}g#R{UCo2 zzC`#(Fx%sl{{p^B*hQLMFB|}G7ET5KQJ7=e?-J&C_WOnTqvyW}bGA~p&1s)~PP>Fp z1n(9;6}(57eM@_VIj-xt$^P89T zJ54dab6I(d;uVV5D85!P>nqmpJ&IWuvGQjWzovM<;?EU-uQ-7GW$mOXX5HJ$S#PkM zubA~}D`#EWGT;4{S!cF9Uoq-~Cq3dawN!&$_NeypZPl8AOJc|B#j?W7HYkRNZ*iJkEGW=s5e+y!7MP0vkVmv$uX|u?LFJI)FT zx4oQWKDY^+^#gRCALKYuf;fBb_c+$}w$Dd<1~R4#%qFg58`$~*I-kK_4ndqfcPEau zz5TE^9WvTWmvfBY)7Y#Zpwr`6$N5<0EqiVU&S`r^3moU>cAmY?a*p;m7J+_joP2p` zgS1IMo`0u}-b2UZy$+dm)ZzAbY|LlYeFLQedw@N4=>CPxGLMff^qvDUojrF5tgquk zWDLfe>B2q~p5t)<9;_c6IzwTP?PKfgxx)}>dk0~UdbHO=&e0xUsVciU|2hHvI@Soz zS>#>?;{=L4kH=ugF)<8_`GHBQ?FGi5?Qf0XoJBJUU-P1-!Hq+rbh-J%^YZgY95-}m zG&(E?|DrjbJSXS4{QPKi=y5o0B-7h1A6Gu!o5vUijm@(Xc6nUC8vhUpmUU>2I2pKV zWV8R`Y|Q?%+BAqOv0e0^PyfFzUB6}0+KxMR#@D~#%ba{5zV<-YQL#P#lJwx7__~6} z_HNIP9ExAzi(gr^Z^faW-4OR3juVT73;PVXFD;guoR^xiBGz$aEOOy^Bt$GVke8a| z31$xJGvIFD_zWlWv5})DZ*kI!qcb)!`CuRq2Ks&B8~(t^T-?o!XvwBd-ib9Od+z!s z`6!I4EqTSaBP%N5J<%!e6<-#!Bs@>q@^d70e8|b7?tq(mMf_Sf+lA_c_MU2&lAn8) z#HOXJLK$|~Pri&Rakbg0J2Ter$yj$FW9^}gE3WI9deB+FCC#M4N~S@%5+_T%Dv0cszW?o+M)GyJoJ0cSzvx?rhaL|O< zT|b@JZ_(RB_YaQZVsXhcHo0Cr3jM>^kBPa?th`aNNF>j7qtW~USLS9%Mu|efw8fFU zSN$327r4BnQ!si?TI9Q)CG-1VdD1vU|LxcIR0JbFd{!&;Ss!ose%b}&PVBCO;E@NlL$~_qu9LQK2@usmTfH#_y2 zjJ+MxpGZSmq(AZUvztTrzTkUn-O@v!UhwY)v1!4cCBwJ*c0G&y?L_-*%JiY$v3Gmn zP~7d3)TAA;jwi*U(Uw?wBvu|q9vN_7Ft0qk%G9L`{R4)!kKOfeFQh$p{d?8RPQkRS zq}b-@pgt3l=8l>imlT-V@jz<-kN@CHe$2_sN{_uTAd<9y@|Cep=>=PNluJIydvQRl zzVpcJ5}%Xjb6505zMK5wph+uN{Pyk?+}~9XBR!^+WbI=AW}eSE@ybq@W|x$QfITut z#s&=?K4kAMztbZ&d;R`nt3E!;H~vq~uC301jlSd!&Y)2kRg&j-af6SIjm#gJH+;yS zB5xjhSuzVnoZaI0t@r!UgRtWEjwOEgW^JN89^3!A z817$o^1ou&#Uh1MntI|6l@~^0vGRgd4NmE_toE_ZMT7c|>R|J9W@Pw`K?f%E&&%pO zq5a82ky2jb;yAYZw3CNgy#wX#utGP3Mv8;6H#?sT* z?1^P{9+h-*%$kV!ViQixi-ckm%F1WtO(=~`@b{dV9f<_W|KNqW&o?F3H8T>qd_eo& z*^z|oz)`IS=J`vma9Sl(4t2_mq%@r(rAU`zTz;hI%%1(M|6MHO9TA@?(MC|`r->{w z&Z)jj{AJ00@;xXNuC-Cv+PLHqlfqTcH#A=&+PNr>l@z<@6Xg-UGRiN ze33q}32tnHFOrux!HG=>;F9P5jAuVKA?e`gXl#?@>o;b+zw33pNcY_JFMN{QbJutH z_?!1aRyg*L526{x3(zU!IH#Yv|G?UkBquv%Rq5g2y?A6d?_KxF1>Y}7e<7Q|b_E!yQ<8LI6 z@r{P%GxzQBNMl*PWGwRPqsYn0%}GrTO<$V9k~jmS zKbTYp%l=@>r7-CaB(duU-ZvpBk^+F+0Lg)iY0V8jh7ghi>v51miI4Lj_#5UB^MQdu zfmfFkdKQADDxwqW0(sID z+6aWoU@z%6GpWE4+NnXvL;+yMw)t*}Jw40jzFsrtn?MF;iJ2VF8leaU>G%uV-8BRCP zE<5avUBBbw2d?DDXs%sm@}9Lg6Q1WJzs9t5!nIEF>!d)q#z}sI6b#RIlJ}A#;RR0e zTcosb%_JxJZDQwe&8bfE--z8pSMvJaA@>Y@#p`~T_c9t{dn5Th2GtjLZ9mTY-ehv` z?*UP;8*)Qo%2;+5hbAKBQpOXV&?z{Xaw0hr;@A6>QuY;h3!MkcDP`9{rDur0=1e(> z91U?KY|6=%(CHgGjC_|;&byfzYM`A7Tfl=tW08MTPT^R^tkAX8naJ4Ygp#QgZrf1>=EfpVmtBk1tul8GJ*e=i^`JbbbIhDt!eKrAzuf_}`TZb6coz zi0bM5y5^>{zr>f$(Ieq>Gzy$Z`ZAnNP3QNQ_UY{9?U4Q?Or@po1b24Ybq+4(c(_mu z3c)3es1rIKw=j4f*$q8G`BJhkbQR_2ll`Hk&Y@coso)jN9!`h@frD!)4urDtKe#Rz|NDAR z7t!3AW4z;HdpyMPl~Z~Bx3n7xZa5c5VXmwlyxOFwDQ<(;FtG!nhZ%)y8RwwmLmapk+(wRs*ftH`$8MkYp+U5NKN-cyOegpNW6(KN!z6d@4Ug6 zehdAFLsJ>Im&s3rI4(E%$~E9;L;SuL+{4o6WjyN4OejfVFNF`9c|$O+QphIu(X`zXX_kMEc z&|d1i&yh^sLi{!m{D5iEH&oBG`0z!@GZC{N;UhUvjBD|`zI-H~i6O7V#4yD>{-Zq( zIGs7ockp#aJ2`M8VuO{9aW=xojYf?(N}1Ze*BRX}8OTvj;@F*T7CCl*26w?6kQ6Ys zPS?%26Yf*yEDlY@)xBXe`d+&kwWmBaoH?40w7bhSnFz<-|4qApH9n`~xW_;Q=04-n zuYcV==k=I|n7Yrp+q~oD-Fg4r=UirhX4>Ow9`5tT|2o>^_i%T&Io`wL2N<&#%yDNV zkl6y8O_zwSxce_1@Q)SfFC4{wF@ePRI-@-0J{t-cXEFDEb=qwH44a1oPLc0yq8 zc^{`MyVu>hCUF8tmp7s2-tc_H-o&})CeC6anwvP!+(hPa?FvXSKX88xJdcM5m(n1^s`EKZrE^29;Z{`>S`^hYpf z+ZK|0!x<>p`m%s>M-V?kwED6vbw^Yno!GAFXR`Y7^u{0X^k;_;AC56lA5Z~(w}h%g zaG2>FIr1)3aXYtW| zaPYC5&)R+7C~aa2yg(eB#h0@CIz41nGOBM7;RasHyZs%N+~P#UzcUdx;hAOXoue+G zLLYOJ-E*Mll`wrwt{Y;mu%F3sIVQgSz1(orY+lkf&(~E6U)#I_r_Wg0JefhKA-x}D zY;Q>Kgb^er@lIwOra{u`~|>) z)5D$yj6+0+y$s;c+2j5O7=8f%K0vVjdm_esD?EUnu3`Ux^hPTG6R-Ga~K)*B%F&%%64Rz=Pq zkh9Fm8H~1Vmrg8k@IWCkm@{ueh~04DR`CbjLkB^0Jc7%oY}hayora@4W(8{Efpgp+ zMsIZBA9dkS#OVlR-~kC{J?U^V(AsI5NVEiPLKoWbeXLKO?L11y8~m zmd+LKczKkMxd<6XN*oC;7{#@YV1DPXvvQai?cH0L8ml4WtSPSpo|)4**sz#nc&6#h>JdYuX#A3BQ);Zu^O*IAHtgN%~|*rb{dSvF*HjEw#-Ncc1G z)zBJQ%_sIOK7`v5^6^PX*fG#{da*&(4BBdJRrr^_W=-_!4kgxI{@fZ&FU|?M0qV~y z85?bUF}|l{;~~2TdR#OfN#p;SCr8@JL%coH;Tf`*N7;lB|bw_hK4Nb+9h zymbp8GjH8=r*I=Lq<@*wnoq4vpwT+ZYIVdHS!!)@=NmQN`jk_EJr=Q`z0>`z5%X@R zutq!T4FnYY<{C&%m?u=>Oz>#;J_yoS=B1JFUU`@rSK~1l&0)sLhbr)&H5hZ=Yt!w(xT$gjDX*i%6#{Ffv$l<8tpkJ9Kb(xkMdFQ z&awUM6c5DzhGm!6)Hm^FMaU`sfpN`pS>a{g^#WyGSjB8KuP$g_RLr~HnJtjDHvFC9YiY=5 zV$aNMl$_BV;2J#41Y>UYgvEReu?iri%(bG*=PG47g=bP|{>=d)O=e=3;?>t1i0suU z-i%YhfyT<^^k8l+2_9HMKH))zo#Zm#dM6Xz6wc@^jKWV0jG5Luow(V~m>-$E|MDV+ z!C-E`_MO81_C4Bnbkmd5y5bS;;`rN-3?Cn6&h__o!r>Ee9xWX~q(xE(ND&wAsFl*+ z;V#(8^|ud)>6Z@^T8!3E0kqq7a$C<~aw31w3xww)u3OfLeo`}FX$U0kp`BzcbvVi$ za5PV2>>LB?7*M9tGZ9QrWRgxQJUp?TaUBu_S~-IeHJD2paCBLxsEHnWdCmDGTI{ON zGbM_;T~lI$#IRMX=0oZnoqxn(cN`kKWu17ohdRVdv1dCu+Yt|WuS-_CNbX#7oxLwz zi3KLRtt)}nG4=#%@aFOn`Ha?JI5$_!8bTd*usix_FI{;pN5r)+;wra}vFRs9aF2M{ zKaAkhlbMbKT8)%-Dm2%b$(Q&*NrrH1GNHGjH5rd>wTQ}~T&&3g*%CuUb}&1bhO}M) zUVfr!k~+85AY+x+3rRBBt?D{8e44p0m|rp1#5X?-DQXG%a(rAn0P08FF+mHw>%mKw zCU|Kuk;Kaz*%~tjaXb>(Vans(q|V@iN3|Y~KDzK|JXnc@K~C`!W^_ViQpFP%^+#$I zC(f8`<((<KA(=?s)mQ67IHpQtrH1CoYO@U1k)R;qDcK)42N^w!jgo%0hN7BDnT-v$vCYU+XEJv|yuGpLJ$LLYI5PcPbt|ZA z6)F;s0jE;=8XImVckPU^Gr6O#$|-CQ_VPsBarit!+Y&gLkKLvOvNGQ5^f;)aS_D+yEh8riit4y3Aao{#iaA#xJddZAk zv58$JcQ$sFCU#$&*i~|8V^_JcHFlLcc9k1jV^^tTSGkd~D>9L&t@A zv{Fa3GI4JhQGRE0oht5{u<_cfHj);3C%Cg$P^GS*N?$>hx`HZw1y$+_s`M39nJe(3 zU8SR4rJ`M>qg{1GwAoN)>Bgvii;c|v57>~YxC@&!Ig@D{#YPS8@v@}`cT8P84%{7w zjT+oDZK1(ksff8}r!>UeF=gS=CNMp6N{6ekk-6tbHmGpNUxiSdct9mdk-d3=JPovG zN8oIuN&7Q-8=m*@W$bv(FiAgW7(Zt+&?`J#j~&BRVFInu$qDb(^ls)ScB<*!3%%MZ zGMv5G7+=QyPHZ~vJZ^hEk3;_%Y)BmI9Z28&{S1&hPGRA9n%s?q+p(o%R`-Iw=Q|6X zSYA&l9BnKvOISRs)#6#7K>E1}r-Hjf*uu{F7$6-p-Z%P?KKxbI5kd-%G6`47T@+gn z<>`DU2LDp@wm7kkROpW_4N6T;EZ2(~&oH%^$|!1iZT#{N3b=MP{<9TXL_#bWclJnF;Rrj z7yJ8oL%3((t;yencf5lE8wvbn9?qP&k-&~QlM@IT-a+X`LY8+>wvoVyK<%WB1e*tJ zEOZ`VryMU(B_6xa+K6~aOG+yVm&A7g64Tz3o&e+_IH-!_>)bkaBJ;AD5-jwrv-gsD zl;^Co32U#R?fH82F#DVttPQz8wok=>jx$A!9GBhSL#8y=FT}#ML&jB1s>F)0%|pE9 zAG7Nh=jI%jU0XkENPXRmA+u-B{PhX5Z1Rx0hMDyXYij=|mVRYg{0?b8xB35xe{U&o zbmSz)xXCNSon}JAKh%urJj2qyswq0E}Z+<-lNLI5bc%$a(d3DV* zA%H=e_XsOyVvHdeHjs>-5S<<7&ibG7yM8wmc3l7RkPrWpLKxWRUuym@4<&=ch8LN$ z?acp$=D%ysy5?-i{P!72N(dcAutu9nM$%}wv+)%$X9J;5CX^)n4;Z;mEOayyhUfL7MXxkL$qL{-WloZ!%#^S8i-Z0-)}C`i&of#5;FQrj2+L~5@XGa^b%t; z`3N0``x_(gZvLMgN{6JYvE0$vx&HhR0!Cm=SJzyt->ACgf4~HsY|_kUbi51mg#yMG z131>CdeE3V-~9K|?>xD0)bX2$`iwQt{&K_KoeYG!K*!4|-knc2egh`Cy!pC-gllsj^^;9*@~*|x^v*7m6sAr~s003=XTm+tSjdnNnREZj zK0;nLGr7G<^yV7V-v6LHCd}Agq`jLOFd5#v0DCj2)6N8G6U(#4|MoVwN;WMw!PvN` zK*?t!rF&A|Aa&z>GW3tqP-qF!U{WkA5d8WO< zY*KrVegxKBlW5CLvU|7K4N>l0nHyr{{Bo9$yO##jjAXADIj?-Md5&e2mt5XmS!z<> z3*M7^rtRJ3{rG5^d31W2tW*-}gMnuFjO4mp5wyCl##?WEUVL%&{Q7uZ16P}$-7?3) zI_5K57JEyT%Q~i5&%I*Y6mK`Y3*=RE@PjYntc8=hixUnbdiW zHPwx?W;J8T2TESM0x1@GN5FNB4W4ap+;{by+WPuNXF*xRBB!FXIM-VYy{T~~*mj?Z9=SOHCDHnh3A`{sl#$c7`26Xu@23H zyxiRG>e9N|a~#}YV+XgmZ2W2FrX9JEEEUSj#+_1GT{^D3d?Ji4Y-n+qcet)SuCApS zNdeQdoC&yd@!7T2B_=Kqt;8^TNXCe z@~VcY+6Q!I*EX3*LupAZB8f3qCLQ<;%vdeN5 zhHA4!aC~M<-J;s+`a0x6Ecp~|v@xkSTII*I*qaZw$i^+VAH4anUJUVk4n_H?Ixa538ZEcMt`^>mkGSN!o z{1%j|%_b){vp}&4hg?l-4UJ9n;>bJjjFQ=8NCwBXn7u5;EQ(?U1@xSFu8COloW`b> zDDRrJ<=q5xM=9px$gr9072_%@$|j!ToYPc?QY~=@+b$=aC`FN$NXoIuhbNC~&6Y@O z6RZ08Y@{V`Igj~9Viuk>DWO?Cwz#s`ndzywx!t<#b51;^Dmo@=nn2O)d5ro@+?Hl= zLt}Oep0aF&!=%fuN5q@rJcS=6O~h_uUNjqxkWn*7jEH8>f_hy;J${mu%^V|%?G-!r z?ITI()Xc^mOq5@qj`xb2eZ;GzdQom$wZx+2ERD?j<<})6A97~QBMRB-GV}i73vdjc zfYw5ahVY83@j_mNQdBLyZI9Sh*Oqu) zz0-gKAwCPK$eID)33vg@yWTuaQan>_M(wOd7RUNU>t#9<)n6|!ZZfL(#*z26QOB+4 zORH>r*_h(WapuuQ!nfc(R6DELdo;}h&d4{;Y{4r^9&Zz|>V@<1d?FfnKh)Ml&Gq70 zHP5V<`x9wl9)sF>Gv}Xc($=JEx%c)gM}cM^MZ5!A8e8J^4i|KvH{WSqIOA;OFFaW- z)in*xe1e9zn~(AhZzS)G%|JG(`4l(BYw8v|C1tGzx2{2Xbs8qTSE%Z$ z6K}HdHGeMZH_Q{xiDSl$jAqVkYHV(9!HX^XloO+^2Mx2ca|h?;4bI6PHZ*&7{&BN% zkIR`g(0h=~@9m>r?}Rh8rM3a(Kp83;PF2OY>f(}$iRD$5tK5R?DdDv5j-^=Lemz;(@<&S}> zOZg74jVC{((NRvO4mW;W!xwDhm)|ex7%sn@4Fyw&pTg)UPXiACQ)EXm(k8jD$j<}=$3ZYgJ9Bl8xSy{2^3A=|uhHJD~8XXj})_SEMOeXaaiFu(gV40h_#QJ>7b zM>#ty=_n`Ld&l1+Sv%}^?2Yr(=hr4W>XZ4%P(A|8>_Is{J=t(8l$;-&@Mq$A8Uc>_ zI` z+1*a&p6AK@$dxWUAA3F*Mt^Ygx$|1$Gn~Qb%=7khEH%~E#|PInHO|W!EN^dTu#)lh z?hH1i`QRDN%{bS{0~*R5oG+@LOb%*lXDpnJHVP|Ro+VGhW)v)$v+)@-*j&@6(aJgE zIF2_Rs&Pli{)33M32PN`at5R5o`-gfGuZ2a9qa{bu4r)!FHtPw0B;AT(vgmN#JYg< z^{?a)<`>!e7$cyS^P8O5D)5^erH`4LTb&<2 z^wSP~O8OA-VTse~{N^dt$1D|Fo!{wc)~2=+mW?ay0rosz)8?3Cf~@2Dt@Z$W9@}>r z#XNo*n|)WLBZjZ>ggBmm#~xtM0%xI z|EA3`$H`d7^NZRXU)tvQ>Ndxl+Z=CebF4os9NB|nD^sSSF0I9c%&Va%s@_Ld(w!p@ zS!X|@3rY8R>Fy_~0NUD{tti_*1N2MihOKI4d%b0e=BKUgtKJog5P4h6{Z%&{&mY-! z!^oiK>X|;W>dX4JG^xGD+OO;0NA?i3ZPK+iVOnQzaCEC&HQH^G+f?~gTg1y9cAdK% z9J*306p~pPfGfggd9316#eB!Reee%%5;ii+9aHwmqe{~*D}Hb^?e;Wio)s7KjnQ?+ zX5}matemP=-j^(PGRb_Q!)0M}St*6f$L3}jH1lD(e0jpLe02L6bf%K~dpwQI3Ip79 zY*t>Qc#h(FvV=8X$y*dJCNqL?OR>2F4LU2xgFL>7%mIpUtFc-AHHz0N-k|teGA|nL z25c@XPH>yBxqNxR-Hgp0V$ivj%$p2%2R0l3GH_>D)pn_Karu&diEp2tbaeLwUPd@SVr z!c8s(KS>t9te;x>drHo4`BsO+pe$!8=139Di z?GM6}z}rNJZ3$)z>cEWQusoY1D93rW{rD`9XJB6~{0a8_O#uA{g~Rd;GH+9#@5|Mq z6A=#g1i)R6jXG>M-b99-G~uv3`^=M+cgCJ<{cfWie%E6ExbS}LpCdz``DvoGm(Re{$?8{gTgByn>8yGvSvUmU4;j zP0F(%Cx@ln;BPExhi%=DMJFFRvOV)RVYXd4Y>aZYhrbnO{`|KvpXr~3+5X{kPW>SE{81>G&oXB?uy#rmj}vA& zP%6xJ>{-HW>&_Nt8<_KV(+=evTt#L(nf}RaKXX(Snc@D4jBB5cYbV>Z;=J3`VH=q9 zQBbD_I%KQ!s>tU+PPTH+i%tD{$jLUJ{2=oAkdv)`7!NVSVma1@48JYVAzPi{B3}$S zIn2xn$5BW0%W`kLFx%uOlVOL?G&wBqEDnpZ`WzQUofXg_hvi*%w#YAnoE(<-8iz?) zzZ@q;W_h_>nC0v5$gs)sgKXouMdWKBCtEqoWowf^<)L4e4`i#eN8}qICtLaFBEJ@L za+nV$97nBMn}3hA zIh+H4;~coOd55sg0~b+_aBcsKD{(;79Lqt)5yfeWJ1g#{m}RB46II+-F|&@K*kxJdC>#ifeN6;DzOdqT{Q@`W>oxq~c=5CT~c%6P5f-#WjlODsEDI zp5oPtuT{KN@m-1^R{WIWmlVIP_#?%K6#t@_dBUbc7sW#q^G7UJhjkUprz@VNxJfbB z|F!xX6mL>|hho-Atp59o1GtA)&U|CJr{YY-`HJI;TNJNQyhicEiaFnq4T}S>Eq|-H zBi@NtUaxqu;)@htqj-zryA=OL@h-)C6u+zZABw+I>sr3Q!KNcVtJb48H(p9Zcu!_;!6~> zU1M!-R?NDfl|QWbX~nN7-lzB1rT8Po-zY}+Z^C|i#YZddr#M&fD8*%ps}!3VRiwO~r{w1<=DLmc8rLblRq_3b zcPQSic&}ov!)R?DRQ!`-uD57)IxCJU=30tYr$F&o#gi0sokXiYM{$ed6^c0znAPWx z+b!R$m~%;5`F6$6DE>)t5ET%s-&t`~G1nrrIt7Y3r=*onQanxZ9K~E)(CWXgc)#Lb z6k|MR;+>ufw(s;ll(Vt~H&k%}S@O>qB`;O-sfy<)ZdUpiDqgL0u2k}Cm3*s`->djR zrSm8m?+?12O8%^pzo__tVt=^R@6lvdh~WAwd9mV|iaBG64fjd1q|b{=z6Z>-WgYSp z$|Y^TSNt^-+@>JAwtxh^w;?M<5o9t^mhH^=h9HldgjAxH-tdh@A z`l}WHLGe9`A5r{@;&&8(p!hq*zV@wgOI6%Maf#x&iWe)sTJa{bq{Gc%rUUD14^uAb z`IypwM#m=t@iH*eq$lcVzf<}f6#ri7-zfU*3%W(=+^zUQrT@I*zbg(SJ#2hBkR`2p zlO?VCD0!BW4C7LAO`#nA>CR9(3&?n$=~gQFRZ9LRCBGX?o9u&soN}@Gl+t;FEH*z^@`GUdWxo># zK3Km=WVx2EWbr#t$ww(ZRq;&4v%$3gFW8??xs*9e$P&-xO8*kYH!FTf@ovTY75mVJ zwsG!6mavW?OZ-PD`8Xx7R`Pl!U!>$0D*0tfexu^Y6@Q|*J>p{HGg$FB#nTlpQ2aZ^ zH!A*%;`bE$(dl5rI$H5y#bXt>D85SZy^3E}%zVjvO2=$t8L!_2;}K7A7sdRnV)e5W z=P0&)O%R#!QdYl2>5NxALGh`Irz@^e+^qN<#mf}0RJ=~{Rf=y^yjk(BitkW-zv71! z^V^NR#wQi;QT&GDcNHH{{13%nD(3hKYyStuF6seR&ZQbGbJA1GoF3TnF^c;r&QpAx zVy@|H{T3@ORa~x^6OUMZj@huxJ{-$uD_)?O^G#ZvrHc8z$;#I&=9msEzftjK#q9I3 zI@=X2ihok<;CZt89BXNrd&^vN*K%*g0~8;tc#Pr`6)#tO zq2l$5uU5?YRBgDoDZW=R=ghS_+ZFFn{8z>Ner@$%Rs5#nj}-qy@z;v~shHoztW5{? z63d)v)p8fby%c9C9;%q@K3l&hDCRdcD=$+#LGd)j(-rgkn)N$Zag*XjiutY0>aS6J zrDFEoS)I*_|DgB|#rG&?pPu#mnBu1uKdYGE=B)mkirMdH+S+0Nx#cevA5zR&rmYT^)=DrZowoAsiZc|mkKO8IDb7(mT=DUW$0{yW z%sH;D&3eVniqBEJOz}#^mngnW@lA@iD85hepA|o*c&FkI6o0JvXT|Jev)96Yd&?2U zofLOfoT-@o`PT0+#Um7#C?2nPg5pyZpRSk_xLfn>UO zrHa=nzDn^;inl1fP4S(IA5{Do#ZM~!tKydxzoz(air-WGh2pOjA6D$gHv)T&9Tay` z++A^R#r+fyRGg>yIK`al-G)`B_*BJJimMgRR6JL4qhd}VZ|(E@h~-NaU#^&w$y=Sx zif>hXhhnZ)X7&H9m~+uv`E!cjQ2e%H&M9v7zg5f`?5#YaxU=GJiaF7})jw7-XQa3C z(Tc|_K1ng>thf4SD&}f}R?hD`mKzoGTaT45QM^p?#fmRcyjJlB#n&s|sQ4Dew=3p% zA{&PX6z@{}oZ?p$zpnTl#rqY1s`v}VoVeeHi>dMw98?@pe3W8-d$N9GiuoPN$~g

_tf41UA#m$QO{mbhARxu~oxAN;0-=_FZ#hlgN>hDmD zSGwckn*<%ZTx}mIx(pNgJZJr)3ZGyUX$fW*s@3VHm}BIuJgT^_V%@)&ujB=aITp^^ zDN;OEaU=RnZ2Xsi)6wRqV?PfWm+h<)#wR6bjWDm9{Xf(}x2$umFvn!wB+To$S(szn zZWoS%?-7oH9~906vtNidj|J}(9t`GKf695SFADSeUK2hM%swLOu>W$u@Ko?e!l#2d zWi54PfDZ{T1b;8Q1pJHeQZUCOQGYp@Q`nN%g88kB%yH&jgl`6OoD$^^fMddc0dvd} z<=er7h1pNZ@k^BN1dkMc8C)d1A3R?86YvD#&%hPJW*ne!2gJQvn7{L?6^?=D3iksq z5FP+NM>rdNzA(pyu`i2pV}Il&!kk3;3So|Ize;!{_$XA4!AK9-(`D*Y!;Y-0E2ww*NRCq0zzvH0(RbcjU zkvD>W6lOoAi#`*|nP*dkZv&?aa~ysr;T>R(38(%pa8#K2lw-Ile+Qf;%(3=)!e4<4 zguex|AB_6^jyzVF6PmF#uu+0$e3!Wo99L!ZAsWSpwi}3N_ zCBkLk6~Yt29KTNe$=KLGMy|rPUYO(juN9sNzDc+qe6w&9_;%sdVD^vE&ZXEM6y|vU z?ZQ`rcM9JDen$9i@QcFRz^@52zq~EH6TDyeW$;JB9OuuzGKTvuwnM`E!QTrrzx*Q1 zaeo06*3@VJXggt!0c2kp<^0_M$Gww%@W(On0rmoCY2&%)FB?+!Z`hnBRzt zgqe3ZPM$V1!R5lof+q_P2D1;1I=Nsj-9qN#b2Y-l!DkB}59U%X)L~v*BwPe$9~$K) z;FZGsO~Y#8QZW0_sKam58-&jQUnhJPn0;u}iGyzu=5HPD5aw?m*oQ`)rQnBznb#f@ zUJZUq_;=vvh1Y>!5oTU{Q`ONtpeqM+*nR#|Wo_*|$bJ%ooQBbLvx$)u+5Kn0;&H0pL->1Hog2 zv%nk!Nu42J_N|fG&&n~7n;@U!6Ch1uVEukZozpM^PB!lT0c4aAee?Bje^ z_y;ii))*H1IA0g;i2dJ$*{}J&F#9z>7LH=izBT&g@7}%<9)dml)+j#?`@_PVb0G

tV3H#G%pM9T&!n45~^GW&H;8Njv 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 Bwl@F( From 4cf7909df9aec88102a9008e2dd23846092a31fd Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Tue, 4 Apr 2017 21:13:22 -0600 Subject: [PATCH 05/60] Fix typo in MDNS multi-interface advertising code MDNSResponder::advertiseServices() was transmitting all service adverts on the same interface (AP) rather than once on STA and once on AP. Fix this simple mistake. With this change, both "ping esp8266.local" and "avahi-browse -a" see the ESP8266 from a test Linux PC, on both AP and STA interfaces (where applicable), with the ESP8266 running mDNS_Web_Server.ino modified for each of AP-only, STA-only and AP+STA modes. Note that no attempt has been made to make MDNSResponder::queryService() operate correctly with multiple interfaces, either in this commit or the commit this commit fixes. Fixes: a546d64e07d2 ("ESP8266mDNS: support AP and STA interfaces at once") Fixes #3101 --- libraries/ESP8266mDNS/ESP8266mDNS.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/ESP8266mDNS/ESP8266mDNS.cpp b/libraries/ESP8266mDNS/ESP8266mDNS.cpp index e67ba75c89..2237e58a7e 100644 --- a/libraries/ESP8266mDNS/ESP8266mDNS.cpp +++ b/libraries/ESP8266mDNS/ESP8266mDNS.cpp @@ -888,7 +888,7 @@ size_t MDNSResponder::advertiseServices(){ if (ip) _reply(0x0F, servicePtr->_name, servicePtr->_proto, servicePtr->_port, ip); - wifi_get_ip_info(SOFTAP_IF, &ip_info); + wifi_get_ip_info(STATION_IF, &ip_info); ip = ip_info.ip.addr; if (ip) _reply(0x0F, servicePtr->_name, servicePtr->_proto, servicePtr->_port, ip); From 2450ec6803b8e1e08d0f25b9eb38959f5957094e Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Tue, 4 Apr 2017 21:34:10 -0600 Subject: [PATCH 06/60] ESP8266mDNS: support multiple interfaces in query code Add a loop over all known interfaces to queryService() so that it will find devices attached to all available WiFi networks. --- libraries/ESP8266mDNS/ESP8266mDNS.cpp | 69 ++++++++++++++++----------- 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/libraries/ESP8266mDNS/ESP8266mDNS.cpp b/libraries/ESP8266mDNS/ESP8266mDNS.cpp index 2237e58a7e..000b6b32f5 100644 --- a/libraries/ESP8266mDNS/ESP8266mDNS.cpp +++ b/libraries/ESP8266mDNS/ESP8266mDNS.cpp @@ -317,36 +317,47 @@ int MDNSResponder::queryService(char *service, char *proto) { // Only supports sending one PTR query uint8_t questionCount = 1; - // Write the header - _conn->flush(); - uint8_t head[12] = { - 0x00, 0x00, //ID = 0 - 0x00, 0x00, //Flags = response + authoritative answer - 0x00, questionCount, //Question count - 0x00, 0x00, //Answer count - 0x00, 0x00, //Name server records - 0x00, 0x00 //Additional records - }; - _conn->append(reinterpret_cast(head), 12); - - // Only supports sending one PTR query - // Send the Name field (eg. "_http._tcp.local") - _conn->append(reinterpret_cast(&serviceNameLen), 1); // lenght of "_" + service - _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_" + service - _conn->append(reinterpret_cast(&protoNameLen), 1); // lenght of "_" + proto - _conn->append(reinterpret_cast(protoName), protoNameLen); // "_" + proto - _conn->append(reinterpret_cast(&localNameLen), 1); // lenght of "local" - _conn->append(reinterpret_cast(localName), localNameLen); // "local" - _conn->append(reinterpret_cast(&terminator), 1); // terminator - - //Send the type and class - uint8_t ptrAttrs[4] = { - 0x00, 0x0c, //PTR record query - 0x00, 0x01 //Class IN - }; - _conn->append(reinterpret_cast(ptrAttrs), 4); _waitingForAnswers = true; - _conn->send(); + for (int itfn = 0; itfn < 2; itfn++) { + struct ip_info ip_info; + ip_addr_t ifaddr; + + wifi_get_ip_info((!itfn) ? SOFTAP_IF : STATION_IF, &ip_info); + if (!ip_info.ip.addr) + continue; + ifaddr.addr = ip_info.ip.addr; + _conn->setMulticastInterface(ifaddr); + + // Write the header + _conn->flush(); + uint8_t head[12] = { + 0x00, 0x00, //ID = 0 + 0x00, 0x00, //Flags = response + authoritative answer + 0x00, questionCount, //Question count + 0x00, 0x00, //Answer count + 0x00, 0x00, //Name server records + 0x00, 0x00 //Additional records + }; + _conn->append(reinterpret_cast(head), 12); + + // Only supports sending one PTR query + // Send the Name field (eg. "_http._tcp.local") + _conn->append(reinterpret_cast(&serviceNameLen), 1); // lenght of "_" + service + _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_" + service + _conn->append(reinterpret_cast(&protoNameLen), 1); // lenght of "_" + proto + _conn->append(reinterpret_cast(protoName), protoNameLen); // "_" + proto + _conn->append(reinterpret_cast(&localNameLen), 1); // lenght of "local" + _conn->append(reinterpret_cast(localName), localNameLen); // "local" + _conn->append(reinterpret_cast(&terminator), 1); // terminator + + //Send the type and class + uint8_t ptrAttrs[4] = { + 0x00, 0x0c, //PTR record query + 0x00, 0x01 //Class IN + }; + _conn->append(reinterpret_cast(ptrAttrs), 4); + _conn->send(); + } #ifdef MDNS_DEBUG_TX Serial.println("Waiting for answers.."); From 0c66c8a88fa192f32c81e6f5300002f10ebdc0fd Mon Sep 17 00:00:00 2001 From: Christopher Cooper Date: Mon, 24 Apr 2017 09:30:35 -0500 Subject: [PATCH 07/60] [Issue #3145] ESP8266mDNS: Improve compliance with DNS-SD RFC6763 - When the "_services._dns_sd._udp.local" meta-query is received, an enumeration of services types is now returned (e.g. "_http._tcp.local") instead of an enumeration of instances (e.g. "MyService._http._tcp.local"). This is consistent with Section 9 of the RFC. - When a response is sent, the response records are now properly partitioned as either answers or additional records. Only response records that were explicitly requested as a result of the questions should be treated as answers. This is consistent with Section 12 of the RFC. - The "MDNSResponder::advertiseServices()" method has been removed as it was declared as "private" and is no longer being called. This method was sending a response on multiple interfaces when available, but this wasn't really necessary since the interface from which the request was received that caused it to be invoked is known. --- libraries/ESP8266mDNS/ESP8266mDNS.cpp | 430 ++++++++++++++++---------- libraries/ESP8266mDNS/ESP8266mDNS.h | 5 +- 2 files changed, 263 insertions(+), 172 deletions(-) diff --git a/libraries/ESP8266mDNS/ESP8266mDNS.cpp b/libraries/ESP8266mDNS/ESP8266mDNS.cpp index 000b6b32f5..e30eb817d1 100644 --- a/libraries/ESP8266mDNS/ESP8266mDNS.cpp +++ b/libraries/ESP8266mDNS/ESP8266mDNS.cpp @@ -450,6 +450,21 @@ uint16_t MDNSResponder::_getServicePort(char *name, char *proto){ return 0; } +IPAddress MDNSResponder::_getRequestMulticastInterface(){ + struct ip_info ip_info; + bool match_ap = false; + if (wifi_get_opmode() & SOFTAP_MODE) { + struct ip_info remote_ip_info; + remote_ip_info.ip.addr = _conn->getRemoteAddress(); + wifi_get_ip_info(SOFTAP_IF, &ip_info); + if (ip_info.ip.addr && ip_addr_netcmp(&remote_ip_info.ip, &ip_info.ip, &ip_info.netmask)) + match_ap = true; + } + if (!match_ap) + wifi_get_ip_info(STATION_IF, &ip_info); + return IPAddress(ip_info.ip.addr); +} + void MDNSResponder::_parsePacket(){ int i; char tmp; @@ -759,7 +774,8 @@ void MDNSResponder::_parsePacket(){ protoParsed = true; } else if(strcmp("services", serviceName) == 0 && strcmp("_dns-sd", protoName) == 0){ _conn->flush(); - advertiseServices(); + IPAddress interface = _getRequestMulticastInterface(); + _replyToTypeEnumRequest(interface); return; } else { #ifdef MDNS_DEBUG_ERR @@ -854,28 +870,26 @@ void MDNSResponder::_parsePacket(){ Serial.printf("\n"); #endif } + uint8_t questionMask = 0; uint8_t responseMask = 0; for(i=0;igetRemoteAddress(); - wifi_get_ip_info(SOFTAP_IF, &ip_info); - if (ip_info.ip.addr && ip_addr_netcmp(&remote_ip_info.ip, &ip_info.ip, &ip_info.netmask)) - match_ap = true; + if(questions[i] == MDNS_TYPE_A) { + questionMask |= 0x1; + responseMask |= 0x1; + } else if(questions[i] == MDNS_TYPE_SRV) { + questionMask |= 0x2; + responseMask |= 0x3; + } else if(questions[i] == MDNS_TYPE_TXT) { + questionMask |= 0x4; + responseMask |= 0x4; + } else if(questions[i] == MDNS_TYPE_PTR) { + questionMask |= 0x8; + responseMask |= 0xF; + } } - if (!match_ap) - wifi_get_ip_info(STATION_IF, &ip_info); - uint32_t ip = ip_info.ip.addr; - return _reply(responseMask, serviceName, protoName, servicePort, ip); + IPAddress interface = _getRequestMulticastInterface(); + return _replyToInstanceRequest(questionMask, responseMask, serviceName, protoName, servicePort, interface); } void MDNSResponder::enableArduino(uint16_t port, bool auth){ @@ -887,38 +901,106 @@ void MDNSResponder::enableArduino(uint16_t port, bool auth){ addServiceTxt("arduino", "tcp", "auth_upload", (auth) ? "yes":"no"); } -size_t MDNSResponder::advertiseServices(){ +void MDNSResponder::_replyToTypeEnumRequest(IPAddress multicastInterface) { MDNSService* servicePtr; - struct ip_info ip_info; - uint32_t ip; - size_t i = 0; for (servicePtr = _services; servicePtr; servicePtr = servicePtr->_next) { if(servicePtr->_port > 0){ - wifi_get_ip_info(SOFTAP_IF, &ip_info); - ip = ip_info.ip.addr; - if (ip) - _reply(0x0F, servicePtr->_name, servicePtr->_proto, servicePtr->_port, ip); + char *service = servicePtr->_name; + char *proto = servicePtr->_proto; + uint16_t port = servicePtr->_port; - wifi_get_ip_info(STATION_IF, &ip_info); - ip = ip_info.ip.addr; - if (ip) - _reply(0x0F, servicePtr->_name, servicePtr->_proto, servicePtr->_port, ip); +#ifdef MDNS_DEBUG_TX + Serial.printf("TX: service:%s, proto:%s\n", service, proto); +#endif - i++; + char sdHostName[] = "_services"; + size_t sdHostNameLen = 9; + char sdServiceName[] = "_dns-sd"; + size_t sdServiceNameLen = 7; + char sdProtoName[] = "_udp"; + size_t sdProtoNameLen = 4; + + char underscore[] = "_"; + + // build service name with _ + char serviceName[os_strlen(service) + 2]; + os_strcpy(serviceName, underscore); + os_strcat(serviceName, service); + size_t serviceNameLen = os_strlen(serviceName); + + //build proto name with _ + char protoName[5]; + os_strcpy(protoName, underscore); + os_strcat(protoName, proto); + size_t protoNameLen = 4; + + //local string + char localName[] = "local"; + size_t localNameLen = 5; + + //terminator + char terminator[] = "\0"; + + //Write the header + _conn->flush(); + uint8_t head[12] = { + 0x00, 0x00, //ID = 0 + 0x84, 0x00, //Flags = response + authoritative answer + 0x00, 0x00, //Question count + 0x00, 0x01, //Answer count + 0x00, 0x00, //Name server records + 0x00, 0x00, //Additional records + }; + _conn->append(reinterpret_cast(head), 12); + + // Send the Name field (ie. "_services._dns-sd._udp.local") + _conn->append(reinterpret_cast(&sdHostNameLen), 1); // length of "_services" + _conn->append(reinterpret_cast(sdHostName), sdHostNameLen); // "_services" + _conn->append(reinterpret_cast(&sdServiceNameLen), 1); // length of "_dns-sd" + _conn->append(reinterpret_cast(sdServiceName), sdServiceNameLen);// "_dns-sd" + _conn->append(reinterpret_cast(&sdProtoNameLen), 1); // length of "_udp" + _conn->append(reinterpret_cast(sdProtoName), sdProtoNameLen); // "_udp" + _conn->append(reinterpret_cast(&localNameLen), 1); // length "local" + _conn->append(reinterpret_cast(localName), localNameLen); // "local" + _conn->append(reinterpret_cast(&terminator), 1); // terminator + + //Send the type, class, ttl and rdata length + uint8_t ptrDataLen = serviceNameLen + protoNameLen + localNameLen + 4; // 4 is three label sizes and the terminator + uint8_t ptrAttrs[10] = { + 0x00, 0x0c, //PTR record query + 0x00, 0x01, //Class IN + 0x00, 0x00, 0x11, 0x94, //TTL 4500 + 0x00, ptrDataLen, //RData length + }; + _conn->append(reinterpret_cast(ptrAttrs), 10); + + //Send the RData (ie. "_http._tcp.local") + _conn->append(reinterpret_cast(&serviceNameLen), 1); // length of "_http" + _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_http" + _conn->append(reinterpret_cast(&protoNameLen), 1); // length of "_tcp" + _conn->append(reinterpret_cast(protoName), protoNameLen); // "_tcp" + _conn->append(reinterpret_cast(&localNameLen), 1); // length "local" + _conn->append(reinterpret_cast(localName), localNameLen); // "local" + _conn->append(reinterpret_cast(&terminator), 1); // terminator + + ip_addr_t ifaddr; + ifaddr.addr = multicastInterface; + _conn->setMulticastInterface(ifaddr); + _conn->send(); } } - return i; } -void MDNSResponder::_reply(uint8_t replyMask, char * service, char *proto, uint16_t port, uint32_t ip) { +void MDNSResponder::_replyToInstanceRequest(uint8_t questionMask, uint8_t responseMask, char * service, char *proto, uint16_t port, IPAddress multicastInterface) { int i; - if(replyMask == 0) return; + if(questionMask == 0) return; + if(responseMask == 0) return; #ifdef MDNS_DEBUG_TX - Serial.printf("TX: mask:%01X, service:%s, proto:%s, port:%u\n", replyMask, service, proto, port); + Serial.printf("TX: qmask:%01X, rmask:%01X, service:%s, proto:%s, port:%u\n", questionMask, responseMask, service, proto, port); #endif - + String instanceName = _instanceName; size_t instanceNameLen = instanceName.length(); @@ -937,18 +1019,22 @@ void MDNSResponder::_reply(uint8_t replyMask, char * service, char *proto, uint1 char protoName[5]; os_strcpy(protoName,underscore); os_strcat(protoName, proto); - size_t protoNameLen = 4; - + size_t protoNameLen = 4; + //local string char localName[] = "local"; - size_t localNameLen = 5; - + size_t localNameLen = 5; + //terminator char terminator[] = "\0"; + uint8_t answerMask = responseMask & questionMask; uint8_t answerCount = 0; + uint8_t additionalMask = responseMask & ~questionMask; + uint8_t additionalCount = 0; for(i=0;i<4;i++){ - if(replyMask & (1 << i)) answerCount++; + if(answerMask & (1 << i)) answerCount++; + if(additionalMask & (1 << i)) additionalCount++; } @@ -960,146 +1046,150 @@ void MDNSResponder::_reply(uint8_t replyMask, char * service, char *proto, uint1 0x00, 0x00, //Question count 0x00, answerCount, //Answer count 0x00, 0x00, //Name server records - 0x00, 0x00, //Additional records + 0x00, additionalCount, //Additional records }; _conn->append(reinterpret_cast(head), 12); - // PTR Response - if(replyMask & 0x8){ - // Send the Name field (ie. "_http._tcp.local") - _conn->append(reinterpret_cast(&serviceNameLen), 1); // lenght of "_http" - _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_http" - _conn->append(reinterpret_cast(&protoNameLen), 1); // lenght of "_tcp" - _conn->append(reinterpret_cast(protoName), protoNameLen); // "_tcp" - _conn->append(reinterpret_cast(&localNameLen), 1); // lenght "local" - _conn->append(reinterpret_cast(localName), localNameLen); // "local" - _conn->append(reinterpret_cast(&terminator), 1); // terminator - - //Send the type, class, ttl and rdata length - uint8_t ptrDataLen = instanceNameLen + serviceNameLen + protoNameLen + localNameLen + 5; // 5 is four label sizes and the terminator - uint8_t ptrAttrs[10] = { - 0x00, 0x0c, //PTR record query - 0x00, 0x01, //Class IN - 0x00, 0x00, 0x11, 0x94, //TTL 4500 - 0x00, ptrDataLen, //RData length - }; - _conn->append(reinterpret_cast(ptrAttrs), 10); - - //Send the RData (ie. "My IOT device._http._tcp.local") - _conn->append(reinterpret_cast(&instanceNameLen), 1); // lenght of "My IOT device" - _conn->append(reinterpret_cast(instanceName.c_str()), instanceNameLen);// "My IOT device" - _conn->append(reinterpret_cast(&serviceNameLen), 1); // lenght of "_http" - _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_http" - _conn->append(reinterpret_cast(&protoNameLen), 1); // lenght of "_tcp" - _conn->append(reinterpret_cast(protoName), protoNameLen); // "_tcp" - _conn->append(reinterpret_cast(&localNameLen), 1); // lenght "local" - _conn->append(reinterpret_cast(localName), localNameLen); // "local" - _conn->append(reinterpret_cast(&terminator), 1); // terminator - } - - //TXT Responce - if(replyMask & 0x4){ - //Send the name field (ie. "My IOT device._http._tcp.local") - _conn->append(reinterpret_cast(&instanceNameLen), 1); // lenght of "My IOT device" - _conn->append(reinterpret_cast(instanceName.c_str()), instanceNameLen);// "My IOT device" - _conn->append(reinterpret_cast(&serviceNameLen), 1); // lenght of "_http" - _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_http" - _conn->append(reinterpret_cast(&protoNameLen), 1); // lenght of "_tcp" - _conn->append(reinterpret_cast(protoName), protoNameLen); // "_tcp" - _conn->append(reinterpret_cast(&localNameLen), 1); // lenght "local" - _conn->append(reinterpret_cast(localName), localNameLen); // "local" - _conn->append(reinterpret_cast(&terminator), 1); // terminator - - //Send the type, class, ttl and rdata length - uint8_t txtDataLen = _getServiceTxtLen(service,proto); - uint8_t txtAttrs[10] = { - 0x00, 0x10, //TXT record query - 0x00, 0x01, //Class IN - 0x00, 0x00, 0x11, 0x94, //TTL 4500 - 0x00, txtDataLen, //RData length - }; - _conn->append(reinterpret_cast(txtAttrs), 10); - - //Send the RData - MDNSTxt * txtPtr = _getServiceTxt(service,proto); - while(txtPtr !=0){ - uint8_t txtLen = txtPtr->_txt.length(); - _conn->append(reinterpret_cast(&txtLen), 1); // lenght of txt - _conn->append(reinterpret_cast(txtPtr->_txt.c_str()), txtLen);// the txt - txtPtr = txtPtr->_next; + for(int responseSection = 0; responseSection < 2; ++responseSection) { + + // PTR Response + if((responseSection == 0 ? answerMask : additionalMask) & 0x8){ + // Send the Name field (ie. "_http._tcp.local") + _conn->append(reinterpret_cast(&serviceNameLen), 1); // length of "_http" + _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_http" + _conn->append(reinterpret_cast(&protoNameLen), 1); // length of "_tcp" + _conn->append(reinterpret_cast(protoName), protoNameLen); // "_tcp" + _conn->append(reinterpret_cast(&localNameLen), 1); // length "local" + _conn->append(reinterpret_cast(localName), localNameLen); // "local" + _conn->append(reinterpret_cast(&terminator), 1); // terminator + + //Send the type, class, ttl and rdata length + uint8_t ptrDataLen = instanceNameLen + serviceNameLen + protoNameLen + localNameLen + 5; // 5 is four label sizes and the terminator + uint8_t ptrAttrs[10] = { + 0x00, 0x0c, //PTR record query + 0x00, 0x01, //Class IN + 0x00, 0x00, 0x00, 0x78, //TTL 120 + 0x00, ptrDataLen, //RData length + }; + _conn->append(reinterpret_cast(ptrAttrs), 10); + + //Send the RData (ie. "My IOT device._http._tcp.local") + _conn->append(reinterpret_cast(&instanceNameLen), 1); // length of "My IOT device" + _conn->append(reinterpret_cast(instanceName.c_str()), instanceNameLen);// "My IOT device" + _conn->append(reinterpret_cast(&serviceNameLen), 1); // length of "_http" + _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_http" + _conn->append(reinterpret_cast(&protoNameLen), 1); // length of "_tcp" + _conn->append(reinterpret_cast(protoName), protoNameLen); // "_tcp" + _conn->append(reinterpret_cast(&localNameLen), 1); // length "local" + _conn->append(reinterpret_cast(localName), localNameLen); // "local" + _conn->append(reinterpret_cast(&terminator), 1); // terminator } - } - - //SRV Responce - if(replyMask & 0x2){ - //Send the name field (ie. "My IOT device._http._tcp.local") - _conn->append(reinterpret_cast(&instanceNameLen), 1); // lenght of "My IOT device" - _conn->append(reinterpret_cast(instanceName.c_str()), instanceNameLen);// "My IOT device" - _conn->append(reinterpret_cast(&serviceNameLen), 1); // lenght of "_http" - _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_http" - _conn->append(reinterpret_cast(&protoNameLen), 1); // lenght of "_tcp" - _conn->append(reinterpret_cast(protoName), protoNameLen); // "_tcp" - _conn->append(reinterpret_cast(&localNameLen), 1); // lenght "local" - _conn->append(reinterpret_cast(localName), localNameLen); // "local" - _conn->append(reinterpret_cast(&terminator), 1); // terminator + //TXT Responce + if((responseSection == 0 ? answerMask : additionalMask) & 0x4){ + //Send the name field (ie. "My IOT device._http._tcp.local") + _conn->append(reinterpret_cast(&instanceNameLen), 1); // length of "My IOT device" + _conn->append(reinterpret_cast(instanceName.c_str()), instanceNameLen);// "My IOT device" + _conn->append(reinterpret_cast(&serviceNameLen), 1); // length of "_http" + _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_http" + _conn->append(reinterpret_cast(&protoNameLen), 1); // length of "_tcp" + _conn->append(reinterpret_cast(protoName), protoNameLen); // "_tcp" + _conn->append(reinterpret_cast(&localNameLen), 1); // length "local" + _conn->append(reinterpret_cast(localName), localNameLen); // "local" + _conn->append(reinterpret_cast(&terminator), 1); // terminator + + //Send the type, class, ttl and rdata length + uint8_t txtDataLen = _getServiceTxtLen(service,proto); + uint8_t txtAttrs[10] = { + 0x00, 0x10, //TXT record query + 0x80, 0x01, //Class IN, with cache flush + 0x00, 0x00, 0x11, 0x94, //TTL 4500 + 0x00, txtDataLen, //RData length + }; + _conn->append(reinterpret_cast(txtAttrs), 10); + + //Send the RData + MDNSTxt * txtPtr = _getServiceTxt(service,proto); + while(txtPtr !=0){ + uint8_t txtLen = txtPtr->_txt.length(); + _conn->append(reinterpret_cast(&txtLen), 1); // length of txt + _conn->append(reinterpret_cast(txtPtr->_txt.c_str()), txtLen);// the txt + txtPtr = txtPtr->_next; + } + } - //Send the type, class, ttl, rdata length, priority and weight - uint8_t srvDataSize = hostNameLen + localNameLen + 3; // 3 is 2 lable size bytes and the terminator - srvDataSize += 6; // Size of Priority, weight and port - uint8_t srvAttrs[10] = { - 0x00, 0x21, //Type SRV - 0x80, 0x01, //Class IN, with cache flush - 0x00, 0x00, 0x00, 0x78, //TTL 120 - 0x00, srvDataSize, //RData length - }; - _conn->append(reinterpret_cast(srvAttrs), 10); - - //Send the RData Priority weight and port - uint8_t srvRData[6] = { - 0x00, 0x00, //Priority 0 - 0x00, 0x00, //Weight 0 - (uint8_t)((port >> 8) & 0xFF), (uint8_t)(port & 0xFF) - }; - _conn->append(reinterpret_cast(srvRData), 6); - //Send the RData (ie. "esp8266.local") - _conn->append(reinterpret_cast(&hostNameLen), 1); // lenght of "esp8266" - _conn->append(reinterpret_cast(hostName.c_str()), hostNameLen);// "esp8266" - _conn->append(reinterpret_cast(&localNameLen), 1); // lenght "local" - _conn->append(reinterpret_cast(localName), localNameLen); // "local" - _conn->append(reinterpret_cast(&terminator), 1); // terminator - } + //SRV Responce + if((responseSection == 0 ? answerMask : additionalMask) & 0x2){ + //Send the name field (ie. "My IOT device._http._tcp.local") + _conn->append(reinterpret_cast(&instanceNameLen), 1); // length of "My IOT device" + _conn->append(reinterpret_cast(instanceName.c_str()), instanceNameLen);// "My IOT device" + _conn->append(reinterpret_cast(&serviceNameLen), 1); // length of "_http" + _conn->append(reinterpret_cast(serviceName), serviceNameLen); // "_http" + _conn->append(reinterpret_cast(&protoNameLen), 1); // length of "_tcp" + _conn->append(reinterpret_cast(protoName), protoNameLen); // "_tcp" + _conn->append(reinterpret_cast(&localNameLen), 1); // length "local" + _conn->append(reinterpret_cast(localName), localNameLen); // "local" + _conn->append(reinterpret_cast(&terminator), 1); // terminator + + //Send the type, class, ttl, rdata length, priority and weight + uint8_t srvDataSize = hostNameLen + localNameLen + 3; // 3 is 2 lable size bytes and the terminator + srvDataSize += 6; // Size of Priority, weight and port + uint8_t srvAttrs[10] = { + 0x00, 0x21, //Type SRV + 0x80, 0x01, //Class IN, with cache flush + 0x00, 0x00, 0x00, 0x78, //TTL 120 + 0x00, srvDataSize, //RData length + }; + _conn->append(reinterpret_cast(srvAttrs), 10); + + //Send the RData Priority weight and port + uint8_t srvRData[6] = { + 0x00, 0x00, //Priority 0 + 0x00, 0x00, //Weight 0 + (uint8_t)((port >> 8) & 0xFF), (uint8_t)(port & 0xFF) + }; + _conn->append(reinterpret_cast(srvRData), 6); + //Send the RData (ie. "esp8266.local") + _conn->append(reinterpret_cast(&hostNameLen), 1); // length of "esp8266" + _conn->append(reinterpret_cast(hostName.c_str()), hostNameLen);// "esp8266" + _conn->append(reinterpret_cast(&localNameLen), 1); // length "local" + _conn->append(reinterpret_cast(localName), localNameLen); // "local" + _conn->append(reinterpret_cast(&terminator), 1); // terminator - // A Response - if(replyMask & 0x1){ - //Send the RData (ie. "esp8266.local") - _conn->append(reinterpret_cast(&hostNameLen), 1); // lenght of "esp8266" - _conn->append(reinterpret_cast(hostName.c_str()), hostNameLen);// "esp8266" - _conn->append(reinterpret_cast(&localNameLen), 1); // lenght "local" - _conn->append(reinterpret_cast(localName), localNameLen); // "local" - _conn->append(reinterpret_cast(&terminator), 1); // terminator + } - uint8_t aaaAttrs[10] = { - 0x00, 0x01, //TYPE A - 0x80, 0x01, //Class IN, with cache flush - 0x00, 0x00, 0x00, 0x78, //TTL 120 - 0x00, 0x04, //DATA LEN - }; - _conn->append(reinterpret_cast(aaaAttrs), 10); - - // Send RData - uint8_t aaaRData[4] = { - (uint8_t)(ip & 0xFF), //IP first octet - (uint8_t)((ip >> 8) & 0xFF), //IP second octet - (uint8_t)((ip >> 16) & 0xFF), //IP third octet - (uint8_t)((ip >> 24) & 0xFF) //IP fourth octet - }; - _conn->append(reinterpret_cast(aaaRData), 4); + // A Response + if((responseSection == 0 ? answerMask : additionalMask) & 0x1){ + //Send the RData (ie. "esp8266.local") + _conn->append(reinterpret_cast(&hostNameLen), 1); // length of "esp8266" + _conn->append(reinterpret_cast(hostName.c_str()), hostNameLen);// "esp8266" + _conn->append(reinterpret_cast(&localNameLen), 1); // length "local" + _conn->append(reinterpret_cast(localName), localNameLen); // "local" + _conn->append(reinterpret_cast(&terminator), 1); // terminator + + uint8_t aaaAttrs[10] = { + 0x00, 0x01, //TYPE A + 0x80, 0x01, //Class IN, with cache flush + 0x00, 0x00, 0x00, 0x78, //TTL 120 + 0x00, 0x04, //DATA LEN + }; + _conn->append(reinterpret_cast(aaaAttrs), 10); + + // Send RData + uint32_t ip = multicastInterface; + uint8_t aaaRData[4] = { + (uint8_t)(ip & 0xFF), //IP first octet + (uint8_t)((ip >> 8) & 0xFF), //IP second octet + (uint8_t)((ip >> 16) & 0xFF), //IP third octet + (uint8_t)((ip >> 24) & 0xFF) //IP fourth octet + }; + _conn->append(reinterpret_cast(aaaRData), 4); + } } ip_addr_t ifaddr; - ifaddr.addr = ip; + ifaddr.addr = multicastInterface; _conn->setMulticastInterface(ifaddr); _conn->send(); } diff --git a/libraries/ESP8266mDNS/ESP8266mDNS.h b/libraries/ESP8266mDNS/ESP8266mDNS.h index c8b3ee89e1..37874194ec 100644 --- a/libraries/ESP8266mDNS/ESP8266mDNS.h +++ b/libraries/ESP8266mDNS/ESP8266mDNS.h @@ -125,9 +125,10 @@ class MDNSResponder { uint16_t _getServicePort(char *service, char *proto); MDNSTxt * _getServiceTxt(char *name, char *proto); uint16_t _getServiceTxtLen(char *name, char *proto); + IPAddress _getRequestMulticastInterface(); void _parsePacket(); - void _reply(uint8_t replyMask, char * service, char *proto, uint16_t port, uint32_t ip); - size_t advertiseServices(); // advertise all hosted services + void _replyToTypeEnumRequest(IPAddress multicastInterface); + void _replyToInstanceRequest(uint8_t questionMask, uint8_t responseMask, char * service, char *proto, uint16_t port, IPAddress multicastInterface); MDNSAnswer* _getAnswerFromIdx(int idx); int _getNumAnswers(); bool _listen(); From 72ed29ad5f18aac3d26037e4a8ff14cc523eb7a1 Mon Sep 17 00:00:00 2001 From: Chris Mullins Date: Thu, 20 Apr 2017 22:27:40 -0700 Subject: [PATCH 08/60] allow for overridable value for HTTP_UPLOAD_BUFLEN --- libraries/ESP8266WebServer/src/ESP8266WebServer.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.h b/libraries/ESP8266WebServer/src/ESP8266WebServer.h index 8e0cf0cf4f..ab22fe659e 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.h +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.h @@ -33,7 +33,11 @@ enum HTTPUploadStatus { UPLOAD_FILE_START, UPLOAD_FILE_WRITE, UPLOAD_FILE_END, enum HTTPClientStatus { HC_NONE, HC_WAIT_READ, HC_WAIT_CLOSE }; #define HTTP_DOWNLOAD_UNIT_SIZE 1460 + +#ifndef HTTP_UPLOAD_BUFLEN #define HTTP_UPLOAD_BUFLEN 2048 +#endif + #define HTTP_MAX_DATA_WAIT 1000 //ms to wait for the client to send the request #define HTTP_MAX_POST_WAIT 1000 //ms to wait for POST data to arrive #define HTTP_MAX_SEND_WAIT 5000 //ms to wait for data chunk to be ACKed From 5488792aff5ec28967c88bafab775800744a5956 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Sat, 6 May 2017 10:52:20 +0800 Subject: [PATCH 09/60] package: move toolchains to Github --- package/package_esp8266com_index.template.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package/package_esp8266com_index.template.json b/package/package_esp8266com_index.template.json index 5493d51278..e962612b93 100644 --- a/package/package_esp8266com_index.template.json +++ b/package/package_esp8266com_index.template.json @@ -148,42 +148,42 @@ "systems": [ { "host": "i686-mingw32", - "url": "http://arduino.esp8266.com/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz", + "url": "https://github.com/esp8266/Arduino/releases/download/2.3.0/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz", "archiveFileName": "win32-xtensa-lx106-elf-gb404fb9-2.tar.gz", "checksum": "SHA-256:10476b9c11a7a90f40883413ddfb409f505b20692e316c4e597c4c175b4be09c", "size": "153527527" }, { "host": "x86_64-apple-darwin", - "url": "http://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz", + "url": "https://github.com/esp8266/Arduino/releases/download/2.3.0/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz", "archiveFileName": "osx-xtensa-lx106-elf-gb404fb9-2.tar.gz", "checksum": "SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6", "size": "35385382" }, { "host": "i386-apple-darwin", - "url": "http://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz", + "url": "https://github.com/esp8266/Arduino/releases/download/2.3.0/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz", "archiveFileName": "osx-xtensa-lx106-elf-gb404fb9-2.tar.gz", "checksum": "SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6", "size": "35385382" }, { "host": "x86_64-pc-linux-gnu", - "url": "http://arduino.esp8266.com/linux64-xtensa-lx106-elf-gb404fb9.tar.gz", + "url": "https://github.com/esp8266/Arduino/releases/download/2.3.0/linux64-xtensa-lx106-elf-gb404fb9.tgz", "archiveFileName": "linux64-xtensa-lx106-elf-gb404fb9.tar.gz", "checksum": "SHA-256:46f057fbd8b320889a26167daf325038912096d09940b2a95489db92431473b7", "size": "30262903" }, { "host": "i686-pc-linux-gnu", - "url": "http://arduino.esp8266.com/linux32-xtensa-lx106-elf.tar.gz", + "url": "https://github.com/esp8266/Arduino/releases/download/2.3.0/linux32-xtensa-lx106-elf.tar.gz", "archiveFileName": "linux32-xtensa-lx106-elf.tar.gz", "checksum": "SHA-256:b24817819f0078fb05895a640e806e0aca9aa96b47b80d2390ac8e2d9ddc955a", "size": "32734156" }, { "host": "arm-linux-gnueabihf", - "url": "http://arduino.esp8266.com/linuxarm-xtensa-lx106-elf-g46f160f-2.tar.gz", + "url": "https://github.com/esp8266/Arduino/releases/download/2.3.0/linuxarm-xtensa-lx106-elf-g46f160f-2.tar.gz", "archiveFileName": "linuxarm-xtensa-lx106-elf-g46f160f-2.tar.gz", "checksum": "SHA-256:f693946288f2ffa17288ef75ae16fa08573993f2b0a2a5e6bc35a68dc6087443", "size": "34938475" From ca3a1728d06c2434b75da2e3245f0fca905e2d4b Mon Sep 17 00:00:00 2001 From: 4D Systems Date: Sat, 6 May 2017 23:26:58 +1200 Subject: [PATCH 10/60] Addition of gen4-IoD Range boards (#3202) --- boards.txt | 50 +++++++++++++++++++ doc/boards.md | 11 ++++ .../package_esp8266com_index.template.json | 5 +- 3 files changed, 65 insertions(+), 1 deletion(-) diff --git a/boards.txt b/boards.txt index 720ec3a6f4..84986b1af5 100644 --- a/boards.txt +++ b/boards.txt @@ -1962,3 +1962,53 @@ arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_start=0x100000 arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_pagesize=256 + +############################################################## + +gen4iod.name=4D Systems gen4 IoD Range + +gen4iod.upload.tool=esptool +gen4iod.upload.speed=921600 +gen4iod.upload.resetmethod=nodemcu +gen4iod.upload.maximum_size=434160 +gen4iod.upload.maximum_data_size=81920 +gen4iod.upload.wait_for_upload_port=true +gen4iod.serial.disableDTR=true +gen4iod.serial.disableRTS=true + +gen4iod.build.mcu=esp8266 +gen4iod.build.f_cpu=160000000L +gen4iod.build.board=GEN4_IOD +gen4iod.build.core=esp8266 +gen4iod.build.variant=generic +gen4iod.build.flash_mode=qio +# flash chip: AT25SF041 (512 kbyte, 4Mbit) +gen4iod.build.flash_size=512K +gen4iod.build.flash_ld=eagle.flash.512k0.ld +gen4iod.build.flash_freq=80 +gen4iod.build.debug_port= +gen4iod.build.debug_level= + +gen4iod.menu.CpuFrequency.160=160 MHz +gen4iod.menu.CpuFrequency.160.build.f_cpu=160000000L +gen4iod.menu.CpuFrequency.80=80 MHz +gen4iod.menu.CpuFrequency.80.build.f_cpu=80000000L + +gen4iod.menu.UploadSpeed.115200=115200 +gen4iod.menu.UploadSpeed.115200.upload.speed=115200 +gen4iod.menu.UploadSpeed.9600=9600 +gen4iod.menu.UploadSpeed.9600.upload.speed=9600 +gen4iod.menu.UploadSpeed.57600=57600 +gen4iod.menu.UploadSpeed.57600.upload.speed=57600 +gen4iod.menu.UploadSpeed.256000.windows=256000 +gen4iod.menu.UploadSpeed.256000.upload.speed=256000 +gen4iod.menu.UploadSpeed.230400.linux=230400 +gen4iod.menu.UploadSpeed.230400.macosx=230400 +gen4iod.menu.UploadSpeed.230400.upload.speed=230400 +gen4iod.menu.UploadSpeed.460800.linux=460800 +gen4iod.menu.UploadSpeed.460800.macosx=460800 +gen4iod.menu.UploadSpeed.460800.upload.speed=460800 +gen4iod.menu.UploadSpeed.512000.windows=512000 +gen4iod.menu.UploadSpeed.512000.upload.speed=512000 +gen4iod.menu.UploadSpeed.921600=921600 +gen4iod.menu.UploadSpeed.921600.upload.speed=921600 diff --git a/doc/boards.md b/doc/boards.md index f500263b0d..177a1111d7 100644 --- a/doc/boards.md +++ b/doc/boards.md @@ -33,6 +33,7 @@ title: Supported Hardware * [WeMos D1](#wemos-d1) * [WeMos D1 mini](#wemos-d1-mini) * [ESPino by ThaiEasyElec](#espinotee) + * [gen4-IoD Range by 4D Systems](#gen4iod) ## Adafruit HUZZAH ESP8266 (ESP-12) @@ -303,6 +304,16 @@ We will update an English description soon. - Dimensions: http://thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_Dimension.pdf - Pinouts: http://thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_User_Manual_TH_v1_0_20160204.pdf (Please see pg. 8) +## gen4-IoD Range by 4D Systems +gen4-IoD Range of ESP8266 powered Display Modules by 4D Systems. + +2.4", 2.8" and 3.2" TFT LCD with uSD card socket and Resistive Touch. Chip Antenna + uFL Connector. + +Datasheet and associated downloads can be found on the 4D Systems product page. + +The gen4-IoD range can be programmed using the Arduino IDE and also the 4D Systems Workshop4 IDE, which incorporates many additional graphics benefits. GFX4d library is available, along with a number of demo applications. + +- Product page: http://www.4dsystems.com.au/product/gen4-IoD diff --git a/package/package_esp8266com_index.template.json b/package/package_esp8266com_index.template.json index e962612b93..5a8be9484e 100644 --- a/package/package_esp8266com_index.template.json +++ b/package/package_esp8266com_index.template.json @@ -70,8 +70,11 @@ { "name": "WifInfo" }, - { + { "name": "ESPDuino" + }, + { + "name": "4D Systems gen4 IoD Range" } ], "toolsDependencies": [ From 157698bef9d673392ebd36a9718f86ac81dc2808 Mon Sep 17 00:00:00 2001 From: Beau Hardy Date: Mon, 8 May 2017 20:01:24 +1200 Subject: [PATCH 11/60] Base64: add option to disable any newlines in output. (#3208) Closes #3194 --- cores/esp8266/base64.cpp | 15 +++++++++++---- cores/esp8266/base64.h | 7 +++++-- cores/esp8266/libb64/cencode.c | 9 ++++++++- cores/esp8266/libb64/cencode.h | 2 ++ 4 files changed, 26 insertions(+), 7 deletions(-) mode change 100644 => 100755 cores/esp8266/base64.cpp mode change 100644 => 100755 cores/esp8266/base64.h diff --git a/cores/esp8266/base64.cpp b/cores/esp8266/base64.cpp old mode 100644 new mode 100755 index 11deb0af04..a1e6261890 --- a/cores/esp8266/base64.cpp +++ b/cores/esp8266/base64.cpp @@ -35,13 +35,20 @@ extern "C" { * @param length size_t * @return String */ -String base64::encode(uint8_t * data, size_t length) { +String base64::encode(uint8_t * data, size_t length, bool doNewLines) { // base64 needs more size then the source data size_t size = ((length * 1.6f) + 1); char * buffer = (char *) malloc(size); if(buffer) { base64_encodestate _state; - base64_init_encodestate(&_state); + if(doNewLines) + { + base64_init_encodestate(&_state); + } + else + { + base64_init_encodestate_nonewlines(&_state); + } int len = base64_encode_block((const char *) &data[0], length, &buffer[0], &_state); len = base64_encode_blockend((buffer + len), &_state); @@ -57,7 +64,7 @@ String base64::encode(uint8_t * data, size_t length) { * @param text String * @return String */ -String base64::encode(String text) { - return base64::encode((uint8_t *) text.c_str(), text.length()); +String base64::encode(String text, bool doNewLines) { + return base64::encode((uint8_t *) text.c_str(), text.length(), doNewLines); } diff --git a/cores/esp8266/base64.h b/cores/esp8266/base64.h old mode 100644 new mode 100755 index 39be2d397c..67140123ed --- a/cores/esp8266/base64.h +++ b/cores/esp8266/base64.h @@ -27,8 +27,11 @@ class base64 { public: - static String encode(uint8_t * data, size_t length); - static String encode(String text); + // NOTE: The default behaviour of backend (lib64) + // is to add a newline every 72 (encoded) characters output. + // This may 'break' longer uris and json variables + static String encode(uint8_t * data, size_t length, bool doNewLines = true); + static String encode(String text, bool doNewLines = true); private: }; diff --git a/cores/esp8266/libb64/cencode.c b/cores/esp8266/libb64/cencode.c index 4631f09ed2..0859f36605 100755 --- a/cores/esp8266/libb64/cencode.c +++ b/cores/esp8266/libb64/cencode.c @@ -13,6 +13,13 @@ void base64_init_encodestate(base64_encodestate* state_in){ state_in->step = step_A; state_in->result = 0; state_in->stepcount = 0; + state_in->stepsnewline = CHARS_PER_LINE; +} + + +void base64_init_encodestate_nonewlines(base64_encodestate* state_in){ + base64_init_encodestate(state_in); + state_in->stepsnewline = -1; } char base64_encode_value(char value_in){ @@ -65,7 +72,7 @@ int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, *codechar++ = base64_encode_value(result); ++(state_in->stepcount); - if (state_in->stepcount == CHARS_PER_LINE/4){ + if ((state_in->stepcount == CHARS_PER_LINE/4) && (state_in->stepsnewline > 0)){ *codechar++ = '\n'; state_in->stepcount = 0; } diff --git a/cores/esp8266/libb64/cencode.h b/cores/esp8266/libb64/cencode.h index 058cc5d1a6..7890e7a4a6 100755 --- a/cores/esp8266/libb64/cencode.h +++ b/cores/esp8266/libb64/cencode.h @@ -22,9 +22,11 @@ typedef struct { base64_encodestep step; char result; int stepcount; + int stepsnewline; } base64_encodestate; void base64_init_encodestate(base64_encodestate* state_in); +void base64_init_encodestate_nonewlines(base64_encodestate* state_in); char base64_encode_value(char value_in); From af0f5ed956b85e41da647d51d1799db469d6e697 Mon Sep 17 00:00:00 2001 From: jpmendoza Date: Sat, 6 May 2017 09:26:19 -0500 Subject: [PATCH 12/60] Issue #1062: Implement support for HSPI overlap mode. --- cores/esp8266/esp8266_peri.h | 4 ++ doc/libraries.md | 22 +++++++++ libraries/SPI/SPI.cpp | 96 ++++++++++++++++++++++++++++++------ libraries/SPI/SPI.h | 2 + 4 files changed, 110 insertions(+), 14 deletions(-) diff --git a/cores/esp8266/esp8266_peri.h b/cores/esp8266/esp8266_peri.h index 0ad689353c..3610cb6934 100644 --- a/cores/esp8266/esp8266_peri.h +++ b/cores/esp8266/esp8266_peri.h @@ -586,6 +586,10 @@ extern uint8_t esp8266_gpioToFn[16]; #define SPIE2IHEN 0x3 //SPI_INT_HOLD_ENA #define SPIE2IHEN_S 0 //SPI_INT_HOLD_ENA_S +//SPI PIN (SPIxP) +#define SPIPCS2DIS (1 << 2) +#define SPIPCS1DIS (1 << 1) +#define SPIPCS0DIS (1 << 0) //SLC (DMA) Registers #define SLCC0 ESP8266_REG(0xB00) //SLC_CONF0 diff --git a/doc/libraries.md b/doc/libraries.md index c22a3d8cec..cbcc9762f4 100644 --- a/doc/libraries.md +++ b/doc/libraries.md @@ -56,6 +56,28 @@ else they default to pins 4(SDA) and 5(SCL). SPI library supports the entire Arduino SPI API including transactions, including setting phase (CPHA). Setting the Clock polarity (CPOL) is not supported, yet (SPI_MODE2 and SPI_MODE3 not working). +The usual SPI pins are: + +- `MOSI` = GPIO13 +- `MISO` = GPIO12 +- `SCLK` = GPIO14 + +There's an extended mode where you can swap the normal pins to the pin0 hardware pins. +This is enabled by calling `SPI.pins(6, 7, 8, 0)` before the call to `SPI.begin()`. The pins would +change to: + +- `MOSI` = SD1 +- `MISO` = SD0 +- `SCLK` = CLK +- `HWCS` = GPIO0 + +This mode shares the SPI pins with the controller that reads the program code from flash and is +controlled by a hardware arbiter (the flash has always higher priority). For this mode the CS +will be controlled by hardware as you can't handle the CS line with a GPIO, you never actually +know when the arbiter is going to grant you access to the bus so you must let it handle CS +automatically. + + ## SoftwareSerial diff --git a/libraries/SPI/SPI.cpp b/libraries/SPI/SPI.cpp index ba3a9a0446..9431077c47 100644 --- a/libraries/SPI/SPI.cpp +++ b/libraries/SPI/SPI.cpp @@ -22,6 +22,12 @@ #include "SPI.h" #include "HardwareSerial.h" +#define SPI_PINS_HSPI 0 // Normal HSPI mode (MISO = GPIO12, MOSI = GPIO13, SCLK = GPIO14); +#define SPI_PINS_HSPI_OVERLAP 1 // HSPI Overllaped in spi0 pins (MISO = SD0, MOSI = SDD1, SCLK = CLK); + +#define SPI_OVERLAP_SS 0 + + typedef union { uint32_t regValue; struct { @@ -35,12 +41,43 @@ typedef union { SPIClass::SPIClass() { useHwCs = false; + pinSet = SPI_PINS_HSPI; +} + +bool SPIClass::pins(int8_t sck, int8_t miso, int8_t mosi, int8_t ss) +{ + if (sck == 6 && + miso == 7 && + mosi == 8 && + ss == 0) { + pinSet = SPI_PINS_HSPI_OVERLAP; + } else if (sck == 14 && + miso == 12 && + mosi == 13) { + pinSet = SPI_PINS_HSPI; + } else { + return false; + } + + return true; } void SPIClass::begin() { - pinMode(SCK, SPECIAL); ///< GPIO14 - pinMode(MISO, SPECIAL); ///< GPIO12 - pinMode(MOSI, SPECIAL); ///< GPIO13 + switch (pinSet) { + case SPI_PINS_HSPI_OVERLAP: + IOSWAP |= (1 << IOSWAP2CS); + //SPI0E3 |= 0x1; This is in the MP3_DECODER example, but makes the WD kick in here. + SPI1E3 |= 0x3; + + setHwCs(true); + break; + case SPI_PINS_HSPI: + default: + pinMode(SCK, SPECIAL); ///< GPIO14 + pinMode(MISO, SPECIAL); ///< GPIO12 + pinMode(MOSI, SPECIAL); ///< GPIO13 + break; + } SPI1C = 0; setFrequency(1000000); ///< 1MHz @@ -50,24 +87,55 @@ void SPIClass::begin() { } void SPIClass::end() { - pinMode(SCK, INPUT); - pinMode(MISO, INPUT); - pinMode(MOSI, INPUT); - if(useHwCs) { - pinMode(SS, INPUT); + switch (pinSet) { + case SPI_PINS_HSPI: + pinMode(SCK, INPUT); + pinMode(MISO, INPUT); + pinMode(MOSI, INPUT); + if (useHwCs) { + pinMode(SS, INPUT); + } + break; + case SPI_PINS_HSPI_OVERLAP: + IOSWAP &= ~(1 << IOSWAP2CS); + if (useHwCs) { + SPI1P |= SPIPCS1DIS | SPIPCS0DIS | SPIPCS2DIS; + pinMode(SPI_OVERLAP_SS, INPUT); + } + break; } } void SPIClass::setHwCs(bool use) { - if(use) { - pinMode(SS, SPECIAL); ///< GPIO15 - SPI1U |= (SPIUCSSETUP | SPIUCSHOLD); + switch (pinSet) { + case SPI_PINS_HSPI: + if (use) { + pinMode(SS, SPECIAL); ///< GPIO15 + SPI1U |= (SPIUCSSETUP | SPIUCSHOLD); } else { - if(useHwCs) { - pinMode(SS, INPUT); + if (useHwCs) { + pinMode(SS, INPUT); SPI1U &= ~(SPIUCSSETUP | SPIUCSHOLD); + } + } + break; + case SPI_PINS_HSPI_OVERLAP: + if (use) { + pinMode(SPI_OVERLAP_SS, FUNCTION_1); // GPI0 to SPICS2 mode + SPI1P &= ~SPIPCS2DIS; + SPI1P |= SPIPCS1DIS | SPIPCS0DIS; + SPI1U |= (SPIUCSSETUP | SPIUCSHOLD); } + else { + if (useHwCs) { + pinMode(SPI_OVERLAP_SS, INPUT); + SPI1P |= SPIPCS1DIS | SPIPCS0DIS | SPIPCS2DIS; + SPI1U &= ~(SPIUCSSETUP | SPIUCSHOLD); + } + } + break; } + useHwCs = use; } @@ -306,7 +374,7 @@ void SPIClass::write32(uint32_t data, bool msb) { SPI1W0 = data; SPI1CMD |= SPIBUSY; } - while(SPI1CMD & SPIBUSY) {} + while(SPI1CMD & SPIBUSY) {} } /** diff --git a/libraries/SPI/SPI.h b/libraries/SPI/SPI.h index 22128b8e18..c7e2ae4e7b 100644 --- a/libraries/SPI/SPI.h +++ b/libraries/SPI/SPI.h @@ -53,6 +53,7 @@ class SPISettings { class SPIClass { public: SPIClass(); + bool pins(int8_t sck, int8_t miso, int8_t mosi, int8_t ss); void begin(); void end(); void setHwCs(bool use); @@ -74,6 +75,7 @@ class SPIClass { void endTransaction(void); private: bool useHwCs; + uint8_t pinSet; void writeBytes_(uint8_t * data, uint8_t size); void transferBytes_(uint8_t * out, uint8_t * in, uint8_t size); inline void setDataBits(uint16_t bits); From db4d3e009842e16a2709d91bf28f3e7bcf239d8c Mon Sep 17 00:00:00 2001 From: Pablo Mendoza Date: Mon, 8 May 2017 03:33:20 -0500 Subject: [PATCH 13/60] Free memory we allocated and actually stop i2s. (#3191) --- cores/esp8266/core_esp8266_i2s.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cores/esp8266/core_esp8266_i2s.c b/cores/esp8266/core_esp8266_i2s.c index 3a7ca505ed..a154ac85d5 100644 --- a/cores/esp8266/core_esp8266_i2s.c +++ b/cores/esp8266/core_esp8266_i2s.c @@ -146,6 +146,10 @@ void ICACHE_FLASH_ATTR i2s_slc_end(){ SLCIE = 0; SLCTXL &= ~(SLCTXLAM << SLCTXLA); // clear TX descriptor address SLCRXL &= ~(SLCRXLAM << SLCRXLA); // clear RX descriptor address + + for (int x = 0; x Date: Mon, 8 May 2017 11:56:08 +0200 Subject: [PATCH 14/60] Fixing a few compiler warnings to allow compilation with -Wall -Wextra and -Werror. (#3153) --- libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp | 1 - libraries/ESP8266WiFi/src/WiFiClientSecure.cpp | 2 +- tools/sdk/lwip/include/lwip/debug.h | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp b/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp index 49c1bbca30..31e86277a7 100644 --- a/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp +++ b/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp @@ -132,7 +132,6 @@ bool HTTPClient::begin(String url) bool HTTPClient::beginInternal(String url, const char* expectedProtocol) { DEBUG_HTTPCLIENT("[HTTP-Client][begin] url: %s\n", url.c_str()); - bool hasPort = false; clear(); // check for : (http: or https: diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp index e6ddf0ce5a..1352980016 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp @@ -601,7 +601,7 @@ bool WiFiClientSecure::loadPrivateKey(Stream& stream, size_t size) extern "C" int __ax_port_read(int fd, uint8_t* buffer, size_t count) { ClientContext* _client = SSLContext::getIOContext(fd); - if (!_client || _client->state() != ESTABLISHED && !_client->getSize()) { + if (!_client || (_client->state() != ESTABLISHED && !_client->getSize())) { errno = EIO; return -1; } diff --git a/tools/sdk/lwip/include/lwip/debug.h b/tools/sdk/lwip/include/lwip/debug.h index d8359ea3a5..1950a3e2eb 100644 --- a/tools/sdk/lwip/include/lwip/debug.h +++ b/tools/sdk/lwip/include/lwip/debug.h @@ -63,7 +63,7 @@ #ifndef LWIP_NOASSERT #define LWIP_ASSERT(message, assertion) do { if(!(assertion)) \ - LWIP_PLATFORM_ASSERT(message); } while(0) + { LWIP_PLATFORM_ASSERT(message); } } while(0) #else /* LWIP_NOASSERT */ #define LWIP_ASSERT(message, assertion) #endif /* LWIP_NOASSERT */ From 97373e716d33379e7ae3d96ffc221c5d1c16179a Mon Sep 17 00:00:00 2001 From: Dhruv Acharya Date: Mon, 8 May 2017 16:05:40 +0530 Subject: [PATCH 15/60] Add instructions how to re-enable DHCP (#2600) In WiFi.config, if we pass 0.0.0.0 for all three parameters (as local_ip, gateway and subnet mask), it will re enable the DHCP. We need to re connect the device to get the IP from router. --- doc/esp8266wifi/station-class.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/esp8266wifi/station-class.md b/doc/esp8266wifi/station-class.md index 5d60e6337c..78453e76a6 100644 --- a/doc/esp8266wifi/station-class.md +++ b/doc/esp8266wifi/station-class.md @@ -137,7 +137,7 @@ Connecting to sensor-net . Connected, IP address: 192.168.1.22 ``` -Please note that station with static IP configuration usually connects to the network faster. In the above example it took about 500ms (one dot `.` displayed). This is because obtaining of IP configuration by DHCP client takes time and in this case this step is skipped. +Please note that station with static IP configuration usually connects to the network faster. In the above example it took about 500ms (one dot `.` displayed). This is because obtaining of IP configuration by DHCP client takes time and in this case this step is skipped. If you pass all three parameter as 0.0.0.0 ( local_ip, gateway and subnet), it will re enable DHCP. You need to re connect the device to get new IPs. ### Manage Connection From 0f50fc01d122b33fbbc0c36e32769882a5a519ee Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Mon, 8 May 2017 11:20:17 +0000 Subject: [PATCH 16/60] readme: update target milestones (#2692) Signed-off-by: Karl Palsson --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6348e073a2..f860daa34c 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ If you can not find the answers above, you can also try [ESP8266 Community Forum For minor fixes of code and documentation, go ahead and submit a pull request. -Check out the list of issues which are easy to fix — [easy issues for 2.2.0](https://github.com/esp8266/Arduino/issues?q=is%3Aopen+is%3Aissue+milestone%3A2.2.0+label%3A%22level%3A+easy%22). Working on them is a great way to move the project forward. +Check out the list of issues which are easy to fix — [easy issues for 2.4.0](https://github.com/esp8266/Arduino/issues?q=is%3Aopen+is%3Aissue+milestone%3A2.4.0+label%3A%22level%3A+easy%22). Working on them is a great way to move the project forward. Larger changes (rewriting parts of existing code from scratch, adding new functions to the core, adding new libraries) should generally be discussed [in the chat](https://gitter.im/esp8266/Arduino) first. From 2881e910ec7a3aaf622cfd1fee2e7cabb9f4a219 Mon Sep 17 00:00:00 2001 From: Andrew DeLisa Date: Mon, 8 May 2017 12:13:32 -0400 Subject: [PATCH 17/60] Fix typo in client-class.md (#3045) --- doc/esp8266wifi/client-class.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/esp8266wifi/client-class.md b/doc/esp8266wifi/client-class.md index 8be1d4720e..48c685a40a 100644 --- a/doc/esp8266wifi/client-class.md +++ b/doc/esp8266wifi/client-class.md @@ -36,7 +36,7 @@ This algorithm is intended to reduce TCP/IP traffic of small packets sent over t *Example:* ```cpp -clinet.setNoDelay(true); +client.setNoDelay(true); ``` From 1d4185923805347ee3f010232006c77c4547dee1 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 9 May 2017 17:40:52 +0800 Subject: [PATCH 18/60] axTLS: update to 1b2c299 Includes memory optimizations (less .rodata, less heap) --- tools/sdk/lib/libaxtls.a | Bin 757712 -> 797292 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/sdk/lib/libaxtls.a b/tools/sdk/lib/libaxtls.a index 0eb8c331005ce1f39012d20ffac1812bf28b63eb..5258768b45b0b0486d7d1e2ad18469295bfd3bb2 100644 GIT binary patch delta 264622 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 delta 227963 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 I_HMQR0lL)iY5)KL From 8b27047911dfe354d2d2540d099789174e81baac Mon Sep 17 00:00:00 2001 From: Chris Mullins Date: Tue, 9 May 2017 04:16:40 -0700 Subject: [PATCH 19/60] Put SSDP constants in progmem (#3142) * Put constant strings in progmem * strlen -> strlen_P --- libraries/ESP8266SSDP/ESP8266SSDP.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/libraries/ESP8266SSDP/ESP8266SSDP.cpp b/libraries/ESP8266SSDP/ESP8266SSDP.cpp index a634415377..755021f1df 100644 --- a/libraries/ESP8266SSDP/ESP8266SSDP.cpp +++ b/libraries/ESP8266SSDP/ESP8266SSDP.cpp @@ -56,16 +56,16 @@ static const IPAddress SSDP_MULTICAST_ADDR(239, 255, 255, 250); -static const char* _ssdp_response_template = +static const char _ssdp_response_template[] PROGMEM = "HTTP/1.1 200 OK\r\n" "EXT:\r\n"; -static const char* _ssdp_notify_template = +static const char _ssdp_notify_template[] PROGMEM = "NOTIFY * HTTP/1.1\r\n" "HOST: 239.255.255.250:1900\r\n" "NTS: ssdp:alive\r\n"; -static const char* _ssdp_packet_template = +static const char _ssdp_packet_template[] PROGMEM = "%s" // _ssdp_response_template / _ssdp_notify_template "CACHE-CONTROL: max-age=%u\r\n" // SSDP_INTERVAL "SERVER: Arduino/1.0 UPNP/1.1 %s/%s\r\n" // _modelName, _modelNumber @@ -74,7 +74,7 @@ static const char* _ssdp_packet_template = "LOCATION: http://%u.%u.%u.%u:%u/%s\r\n" // WiFi.localIP(), _port, _schemaURL "\r\n"; -static const char* _ssdp_schema_template = +static const char _ssdp_schema_template[] PROGMEM = "HTTP/1.1 200 OK\r\n" "Content-Type: text/xml\r\n" "Connection: close\r\n" @@ -201,9 +201,12 @@ void SSDPClass::_send(ssdp_method_t method){ char buffer[1460]; uint32_t ip = WiFi.localIP(); - int len = snprintf(buffer, sizeof(buffer), + char valueBuffer[strlen_P(_ssdp_notify_template)+1]; + strcpy_P(valueBuffer, (method == NONE)?_ssdp_response_template:_ssdp_notify_template); + + int len = snprintf_P(buffer, sizeof(buffer), _ssdp_packet_template, - (method == NONE)?_ssdp_response_template:_ssdp_notify_template, + valueBuffer, SSDP_INTERVAL, _modelName, _modelNumber, _uuid, @@ -240,7 +243,9 @@ void SSDPClass::_send(ssdp_method_t method){ void SSDPClass::schema(WiFiClient client){ uint32_t ip = WiFi.localIP(); - client.printf(_ssdp_schema_template, + char buffer[strlen_P(_ssdp_schema_template)+1]; + strcpy_P(buffer, _ssdp_schema_template); + client.printf(buffer, IP2STR(&ip), _port, _deviceType, _friendlyName, From 22c7d792f061f93eb56305ca84bd4e0ae3a711d7 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 9 May 2017 17:31:52 +0800 Subject: [PATCH 20/60] Updater: place debug strings into progmem --- cores/esp8266/Updater.cpp | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/cores/esp8266/Updater.cpp b/cores/esp8266/Updater.cpp index 258d899c3a..37de5c3010 100644 --- a/cores/esp8266/Updater.cpp +++ b/cores/esp8266/Updater.cpp @@ -39,14 +39,14 @@ void UpdaterClass::_reset() { bool UpdaterClass::begin(size_t size, int command) { if(_size > 0){ #ifdef DEBUG_UPDATER - DEBUG_UPDATER.println("[begin] already running"); + DEBUG_UPDATER.println(F("[begin] already running")); #endif return false; } #ifdef DEBUG_UPDATER if (command == U_SPIFFS) { - DEBUG_UPDATER.println("[begin] Update SPIFFS."); + DEBUG_UPDATER.println(F("[begin] Update SPIFFS.")); } #endif @@ -103,7 +103,7 @@ bool UpdaterClass::begin(size_t size, int command) { else { // unknown command #ifdef DEBUG_UPDATER - DEBUG_UPDATER.println("[begin] Unknown update command."); + DEBUG_UPDATER.println(F("[begin] Unknown update command.")); #endif return false; } @@ -137,7 +137,7 @@ bool UpdaterClass::setMD5(const char * expected_md5){ bool UpdaterClass::end(bool evenIfRemaining){ if(_size == 0){ #ifdef DEBUG_UPDATER - DEBUG_UPDATER.println("no update"); + DEBUG_UPDATER.println(F("no update")); #endif return false; } @@ -349,31 +349,33 @@ size_t UpdaterClass::writeStream(Stream &data) { } void UpdaterClass::printError(Stream &out){ - out.printf("ERROR[%u]: ", _error); + out.printf_P(PSTR("ERROR[%u]: "), _error); if(_error == UPDATE_ERROR_OK){ - out.println("No Error"); + out.println(F("No Error")); } else if(_error == UPDATE_ERROR_WRITE){ - out.println("Flash Write Failed"); + out.println(F("Flash Write Failed")); } else if(_error == UPDATE_ERROR_ERASE){ - out.println("Flash Erase Failed"); + out.println(F("Flash Erase Failed")); } else if(_error == UPDATE_ERROR_READ){ - out.println("Flash Read Failed"); + out.println(F("Flash Read Failed")); } else if(_error == UPDATE_ERROR_SPACE){ - out.println("Not Enough Space"); + out.println(F("Not Enough Space")); } else if(_error == UPDATE_ERROR_SIZE){ - out.println("Bad Size Given"); + out.println(F("Bad Size Given")); } else if(_error == UPDATE_ERROR_STREAM){ - out.println("Stream Read Timeout"); + out.println(F("Stream Read Timeout")); } else if(_error == UPDATE_ERROR_MD5){ - out.println("MD5 Check Failed"); + out.println(F("MD5 Check Failed")); } else if(_error == UPDATE_ERROR_FLASH_CONFIG){ - out.printf("Flash config wrong real: %d IDE: %d\n", ESP.getFlashChipRealSize(), ESP.getFlashChipSize()); + out.printf_P(PSTR("Flash config wrong real: %d IDE: %d\n"), ESP.getFlashChipRealSize(), ESP.getFlashChipSize()); } else if(_error == UPDATE_ERROR_NEW_FLASH_CONFIG){ - out.printf("new Flash config wrong real: %d\n", ESP.getFlashChipRealSize()); + out.printf_P(PSTR("new Flash config wrong real: %d\n"), ESP.getFlashChipRealSize()); } else if(_error == UPDATE_ERROR_MAGIC_BYTE){ - out.println("Magic byte is wrong, not 0xE9"); + out.println(F("Magic byte is wrong, not 0xE9")); + } else if (_error == UPDATE_ERROR_BOOTSTRAP){ + out.println(F("Invalid bootstrapping state, reset ESP8266 before updating")); } else { - out.println("UNKNOWN"); + out.println(F("UNKNOWN")); } } From 9b0ad39e94573981168af00db9f20ee4066cdee0 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 9 May 2017 17:32:39 +0800 Subject: [PATCH 21/60] Updater: check boot mode before starting update ref. https://github.com/esp8266/Arduino/issues/1017 --- cores/esp8266/Updater.cpp | 15 +++++++++++++++ cores/esp8266/Updater.h | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/cores/esp8266/Updater.cpp b/cores/esp8266/Updater.cpp index 37de5c3010..3ea10a6d1d 100644 --- a/cores/esp8266/Updater.cpp +++ b/cores/esp8266/Updater.cpp @@ -2,6 +2,7 @@ #include "Arduino.h" #include "eboot_command.h" #include "interrupts.h" +#include "esp8266_peri.h" //#define DEBUG_UPDATER Serial @@ -44,6 +45,20 @@ bool UpdaterClass::begin(size_t size, int command) { return false; } + /* Check boot mode; if boot mode is 1 (UART download mode), + we will not be able to reset into normal mode once update is done. + Fail early to avoid frustration. + https://github.com/esp8266/Arduino/issues/1017#issuecomment-200605576 + */ + int boot_mode = (GPI >> 16) & 0xf; + if (boot_mode == 1) { + _error = UPDATE_ERROR_BOOTSTRAP; +#ifdef DEBUG_UPDATER + printError(DEBUG_UPDATER); +#endif + return false; + } + #ifdef DEBUG_UPDATER if (command == U_SPIFFS) { DEBUG_UPDATER.println(F("[begin] Update SPIFFS.")); diff --git a/cores/esp8266/Updater.h b/cores/esp8266/Updater.h index 046ff1667b..1f9454202a 100644 --- a/cores/esp8266/Updater.h +++ b/cores/esp8266/Updater.h @@ -16,7 +16,7 @@ #define UPDATE_ERROR_FLASH_CONFIG (8) #define UPDATE_ERROR_NEW_FLASH_CONFIG (9) #define UPDATE_ERROR_MAGIC_BYTE (10) - +#define UPDATE_ERROR_BOOTSTRAP (11) #define U_FLASH 0 #define U_SPIFFS 100 From 01e1c586cb67dca7d22ee69de64187142260f6a2 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 9 May 2017 17:33:29 +0800 Subject: [PATCH 22/60] Updater: if low on heap memory, use smaller write buffer --- cores/esp8266/Updater.cpp | 30 +++++++++++++++++++----------- cores/esp8266/Updater.h | 7 ++++--- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/cores/esp8266/Updater.cpp b/cores/esp8266/Updater.cpp index 3ea10a6d1d..90b9c13acf 100644 --- a/cores/esp8266/Updater.cpp +++ b/cores/esp8266/Updater.cpp @@ -127,7 +127,12 @@ bool UpdaterClass::begin(size_t size, int command) { _startAddress = updateStartAddress; _currentAddress = _startAddress; _size = size; - _buffer = new uint8_t[FLASH_SECTOR_SIZE]; + if (ESP.getFreeHeap() > 2 * FLASH_SECTOR_SIZE) { + _bufferSize = FLASH_SECTOR_SIZE; + } else { + _bufferSize = 256; + } + _buffer = new uint8_t[_bufferSize]; _command = command; #ifdef DEBUG_UPDATER @@ -218,13 +223,16 @@ bool UpdaterClass::end(bool evenIfRemaining){ bool UpdaterClass::_writeBuffer(){ - if(!_async) yield(); - bool result = ESP.flashEraseSector(_currentAddress/FLASH_SECTOR_SIZE); - if(!_async) yield(); + bool result = true; + if (_currentAddress % FLASH_SECTOR_SIZE == 0) { + if(!_async) yield(); + result = ESP.flashEraseSector(_currentAddress/FLASH_SECTOR_SIZE); + } + if (result) { - result = ESP.flashWrite(_currentAddress, (uint32_t*) _buffer, _bufferLen); + if(!_async) yield(); + result = ESP.flashWrite(_currentAddress, (uint32_t*) _buffer, _bufferLen); } - if(!_async) yield(); if (!result) { _error = UPDATE_ERROR_WRITE; @@ -253,8 +261,8 @@ size_t UpdaterClass::write(uint8_t *data, size_t len) { size_t left = len; - while((_bufferLen + left) > FLASH_SECTOR_SIZE) { - size_t toBuff = FLASH_SECTOR_SIZE - _bufferLen; + while((_bufferLen + left) > _bufferSize) { + size_t toBuff = _bufferSize - _bufferLen; memcpy(_buffer + _bufferLen, data + (len - left), toBuff); _bufferLen += toBuff; if(!_writeBuffer()){ @@ -340,10 +348,10 @@ size_t UpdaterClass::writeStream(Stream &data) { } while(remaining()) { - toRead = data.readBytes(_buffer + _bufferLen, (FLASH_SECTOR_SIZE - _bufferLen)); + toRead = data.readBytes(_buffer + _bufferLen, (_bufferSize - _bufferLen)); if(toRead == 0) { //Timeout delay(100); - toRead = data.readBytes(_buffer + _bufferLen, (FLASH_SECTOR_SIZE - _bufferLen)); + toRead = data.readBytes(_buffer + _bufferLen, (_bufferSize - _bufferLen)); if(toRead == 0) { //Timeout _error = UPDATE_ERROR_STREAM; _currentAddress = (_startAddress + _size); @@ -355,7 +363,7 @@ size_t UpdaterClass::writeStream(Stream &data) { } } _bufferLen += toRead; - if((_bufferLen == remaining() || _bufferLen == FLASH_SECTOR_SIZE) && !_writeBuffer()) + if((_bufferLen == remaining() || _bufferLen == _bufferSize) && !_writeBuffer()) return written; written += toRead; yield(); diff --git a/cores/esp8266/Updater.h b/cores/esp8266/Updater.h index 1f9454202a..0f98cafd42 100644 --- a/cores/esp8266/Updater.h +++ b/cores/esp8266/Updater.h @@ -116,8 +116,8 @@ class UpdaterClass { if(_bufferLen + available > remaining()){ available = remaining() - _bufferLen; } - if(_bufferLen + available > FLASH_SECTOR_SIZE) { - size_t toBuff = FLASH_SECTOR_SIZE - _bufferLen; + if(_bufferLen + available > _bufferSize) { + size_t toBuff = _bufferSize - _bufferLen; data.read(_buffer + _bufferLen, toBuff); _bufferLen += toBuff; if(!_writeBuffer()) @@ -151,7 +151,8 @@ class UpdaterClass { bool _async; uint8_t _error; uint8_t *_buffer; - size_t _bufferLen; + size_t _bufferLen; // amount of data written into _buffer + size_t _bufferSize; // total size of _buffer size_t _size; uint32_t _startAddress; uint32_t _currentAddress; From 03baea27efddb819ba15ffed9b47ee9da8410f54 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 9 May 2017 18:43:42 +0800 Subject: [PATCH 23/60] ArduinoOTA: forward errors from Update.begin to espota.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If Update.begin fails, instead of printing “No response from device”, espota.py will print the actual error message from the Updater. --- libraries/ArduinoOTA/ArduinoOTA.cpp | 24 ++++++++++++++++++------ libraries/ArduinoOTA/ArduinoOTA.h | 3 ++- tools/espota.py | 2 +- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/libraries/ArduinoOTA/ArduinoOTA.cpp b/libraries/ArduinoOTA/ArduinoOTA.cpp index a73c98498a..d3a4397c6d 100644 --- a/libraries/ArduinoOTA/ArduinoOTA.cpp +++ b/libraries/ArduinoOTA/ArduinoOTA.cpp @@ -5,6 +5,7 @@ #include #include "ArduinoOTA.h" #include "MD5Builder.h" +#include "StreamString.h" extern "C" { #include "osapi.h" @@ -180,6 +181,7 @@ void ArduinoOTAClass::_onRx(){ _ota_ip = _udp_ota->getRemoteAddress(); _cmd = cmd; _ota_port = parseInt(); + _ota_udp_port = _udp_ota->getRemotePort(); _size = parseInt(); _udp_ota->read(); _md5 = readStringUntil('\n'); @@ -199,12 +201,10 @@ void ArduinoOTAClass::_onRx(){ char auth_req[38]; sprintf(auth_req, "AUTH %s", _nonce.c_str()); _udp_ota->append((const char *)auth_req, strlen(auth_req)); - _udp_ota->send(&ota_ip, _udp_ota->getRemotePort()); + _udp_ota->send(&ota_ip, _ota_udp_port); _state = OTA_WAITAUTH; return; } else { - _udp_ota->append("OK", 2); - _udp_ota->send(&ota_ip, _udp_ota->getRemotePort()); _state = OTA_RUNUPDATE; } } else if (_state == OTA_WAITAUTH) { @@ -230,12 +230,10 @@ void ArduinoOTAClass::_onRx(){ ota_ip.addr = (uint32_t)_ota_ip; if(result.equals(response)){ - _udp_ota->append("OK", 2); - _udp_ota->send(&ota_ip, _udp_ota->getRemotePort()); _state = OTA_RUNUPDATE; } else { _udp_ota->append("Authentication Failed", 21); - _udp_ota->send(&ota_ip, _udp_ota->getRemotePort()); + _udp_ota->send(&ota_ip, _ota_udp_port); if (_error_callback) _error_callback(OTA_AUTH_ERROR); _state = OTA_IDLE; } @@ -245,6 +243,9 @@ void ArduinoOTAClass::_onRx(){ } void ArduinoOTAClass::_runUpdate() { + ip_addr_t ota_ip; + ota_ip.addr = (uint32_t)_ota_ip; + if (!Update.begin(_size, _cmd)) { #ifdef OTA_DEBUG OTA_DEBUG.println("Update Begin Error"); @@ -252,10 +253,21 @@ void ArduinoOTAClass::_runUpdate() { if (_error_callback) { _error_callback(OTA_BEGIN_ERROR); } + + StreamString ss; + Update.printError(ss); + _udp_ota->append("ERR: ", 5); + _udp_ota->append(ss.c_str(), ss.length()); + _udp_ota->send(&ota_ip, _ota_udp_port); + delay(100); _udp_ota->listen(*IP_ADDR_ANY, _port); _state = OTA_IDLE; return; } + _udp_ota->append("OK", 2); + _udp_ota->send(&ota_ip, _ota_udp_port); + delay(100); + Update.setMD5(_md5.c_str()); WiFiUDP::stopAll(); WiFiClient::stopAll(); diff --git a/libraries/ArduinoOTA/ArduinoOTA.h b/libraries/ArduinoOTA/ArduinoOTA.h index 623e2492b2..9785d18f89 100644 --- a/libraries/ArduinoOTA/ArduinoOTA.h +++ b/libraries/ArduinoOTA/ArduinoOTA.h @@ -79,7 +79,8 @@ class ArduinoOTAClass ota_state_t _state; int _size; int _cmd; - int _ota_port; + uint16_t _ota_port; + uint16_t _ota_udp_port; IPAddress _ota_ip; String _md5; diff --git a/tools/espota.py b/tools/espota.py index e75e017f60..ecd00b3221 100755 --- a/tools/espota.py +++ b/tools/espota.py @@ -95,7 +95,7 @@ def serve(remoteAddr, localAddr, remotePort, localPort, password, filename, comm sent = sock2.sendto(message.encode(), remote_address) sock2.settimeout(10) try: - data = sock2.recv(37).decode() + data = sock2.recv(128).decode() except: logging.error('No Answer') sock2.close() From 7de81270a35e3867a5593e44c11f85a5c4b93e09 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Mon, 8 May 2017 15:27:51 +0800 Subject: [PATCH 24/60] =?UTF-8?q?ClientContext:=20don=E2=80=99t=20read=20D?= =?UTF-8?q?ataSource=20in=20TCP=20callback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, _write_some function would be called each time TCP stack notifies the application that some data was delivered (via the `sent` callback). In turn, _write_some would obtain more data to be sent from the DataSource. In case of a DataSource backed by a Stream, this would read from a stream. Some libraries (such as SD) may call `yield` and other blocking operations from Stream read function, which can not be used in TCP stack callbacks. This change moves the data sending loop back into the Arduino task, with a negligible loss of performance. TCP callback now wakes the main task via `esp_schedule`, which performs stream read and provides more data to the TCP stack. Possible future optimization would be to buffer Stream data ahead of time. That way, buffered data could be sent immediately from the TCP callback. On the other hand, this optimization would need extra TCP_MSS of temporary storage, per connection. Fixes #2399. --- .../ESP8266WiFi/src/include/ClientContext.h | 49 ++++++++++++------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/libraries/ESP8266WiFi/src/include/ClientContext.h b/libraries/ESP8266WiFi/src/include/ClientContext.h index 7a357390d6..c7d5bde00c 100644 --- a/libraries/ESP8266WiFi/src/include/ClientContext.h +++ b/libraries/ESP8266WiFi/src/include/ClientContext.h @@ -317,9 +317,7 @@ class ClientContext void _cancel_write() { - if (_datasource) { - delete _datasource; - _datasource = nullptr; + if (_send_waiting) { esp_schedule(); } } @@ -327,14 +325,22 @@ class ClientContext size_t _write_from_source(DataSource* ds) { assert(_datasource == nullptr); + assert(_send_waiting == 0); _datasource = ds; _written = 0; - _write_some(); - while (_datasource && !_noblock) { - _send_waiting = true; + do { + _write_some(); + + if (!_datasource->available() || _noblock || state() == CLOSED) { + delete _datasource; + _datasource = nullptr; + break; + } + + ++_send_waiting; esp_yield(); - } - _send_waiting = false; + } while(true); + _send_waiting = 0; return _written; } @@ -350,31 +356,36 @@ class ClientContext can_send = 0; } size_t will_send = (can_send < left) ? can_send : left; - bool did_write = false; - while( will_send ) { + DEBUGV(":wr %d %d %d\r\n", will_send, left, _written); + bool need_output = false; + while( will_send && _datasource) { size_t next_chunk = will_send > _write_chunk_size ? _write_chunk_size : will_send; const uint8_t* buf = _datasource->get_buffer(next_chunk); + if (state() == CLOSED) { + need_output = false; + break; + } err_t err = tcp_write(_pcb, buf, next_chunk, TCP_WRITE_FLAG_COPY); + DEBUGV(":wrc %d %d %d\r\n", next_chunk, will_send, err); _datasource->release_buffer(buf, next_chunk); if (err == ERR_OK) { _written += next_chunk; - did_write = true; + need_output = true; + } else { + break; } will_send -= next_chunk; } - if( did_write ) tcp_output(_pcb); - - if (!_datasource->available() || _noblock) { - delete _datasource; - _datasource = nullptr; + if( need_output ) { + tcp_output(_pcb); } } void _write_some_from_cb() { - _write_some(); - if (!_datasource && _send_waiting) { + if (_send_waiting == 1) { + _send_waiting--; esp_schedule(); } } @@ -490,7 +501,7 @@ class ClientContext size_t _written = 0; size_t _write_chunk_size = 256; bool _noblock = false; - bool _send_waiting = false; + int _send_waiting = 0; }; #endif//CLIENTCONTEXT_H From b623613b2a9f2c4f5abccd434ebdf9610c571290 Mon Sep 17 00:00:00 2001 From: Korzo Date: Sat, 6 May 2017 19:01:45 +0200 Subject: [PATCH 25/60] Remove SD file available size saturation --- libraries/SD/src/File.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libraries/SD/src/File.cpp b/libraries/SD/src/File.cpp index 6eee39aa1f..380298d1f8 100644 --- a/libraries/SD/src/File.cpp +++ b/libraries/SD/src/File.cpp @@ -98,9 +98,7 @@ int File::read(void *buf, uint16_t nbyte) { int File::available() { if (! _file) return 0; - uint32_t n = size() - position(); - - return n > 0X7FFF ? 0X7FFF : n; + return size() - position(); } void File::flush() { From ace0622e46868339b3501e400230bd14595b2259 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 9 May 2017 20:54:26 +0800 Subject: [PATCH 26/60] ESP8266HTTPUpdateServer: fix responses after uploading MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - fix response not being delivered to the browser after upload is done (https://github.com/esp8266/Arduino/issues/2221) - if Update.begin fails, don’t attempt to write data - if update is not successful, send error message from Update to the client - move strings into PROGMEM --- .../src/ESP8266HTTPUpdateServer.cpp | 45 +++++++++++++------ .../src/ESP8266HTTPUpdateServer.h | 20 +++++---- 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.cpp b/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.cpp index 6ef4f93ae7..1223596cf8 100644 --- a/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.cpp +++ b/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.cpp @@ -3,17 +3,18 @@ #include #include #include +#include "StreamString.h" #include "ESP8266HTTPUpdateServer.h" -const char* ESP8266HTTPUpdateServer::_serverIndex = -R"(

+static const char serverIndex[] PROGMEM = + R"( - )"; -const char* ESP8266HTTPUpdateServer::_failedResponse = R"(Update Failed!)"; -const char* ESP8266HTTPUpdateServer::_successResponse = "Update Success! Rebooting..."; + \n)"; +static const char successResponse[] PROGMEM = + "Update Success! Rebooting...\n"; ESP8266HTTPUpdateServer::ESP8266HTTPUpdateServer(bool serial_debug) { @@ -34,20 +35,29 @@ void ESP8266HTTPUpdateServer::setup(ESP8266WebServer *server, const char * path, _server->on(path, HTTP_GET, [&](){ if(_username != NULL && _password != NULL && !_server->authenticate(_username, _password)) return _server->requestAuthentication(); - _server->send(200, "text/html", _serverIndex); + _server->send_P(200, PSTR("text/html"), serverIndex); }); // handler for the /update form POST (once file upload finishes) _server->on(path, HTTP_POST, [&](){ if(!_authenticated) return _server->requestAuthentication(); - _server->send(200, "text/html", Update.hasError() ? _failedResponse : _successResponse); - ESP.restart(); + if (Update.hasError()) { + _server->send(200, F("text/html"), String(F("Update error: ")) + _updaterError); + } else { + _server->client().setNoDelay(true); + _server->send_P(200, PSTR("text/html"), successResponse); + delay(100); + _server->client().stop(); + ESP.restart(); + } },[&](){ // handler for the file upload, get's the sketch bytes, and writes // them through the Update object HTTPUpload& upload = _server->upload(); + if(upload.status == UPLOAD_FILE_START){ + _updaterError = String(); if (_serial_output) Serial.setDebugOutput(true); @@ -63,19 +73,18 @@ void ESP8266HTTPUpdateServer::setup(ESP8266WebServer *server, const char * path, Serial.printf("Update: %s\n", upload.filename.c_str()); uint32_t maxSketchSpace = (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000; if(!Update.begin(maxSketchSpace)){//start with max available size - if (_serial_output) Update.printError(Serial); + _setUpdaterError(); } - } else if(_authenticated && upload.status == UPLOAD_FILE_WRITE){ + } else if(_authenticated && upload.status == UPLOAD_FILE_WRITE && !_updaterError.length()){ if (_serial_output) Serial.printf("."); if(Update.write(upload.buf, upload.currentSize) != upload.currentSize){ - if (_serial_output) Update.printError(Serial); - + _setUpdaterError(); } - } else if(_authenticated && upload.status == UPLOAD_FILE_END){ + } else if(_authenticated && upload.status == UPLOAD_FILE_END && !_updaterError.length()){ if(Update.end(true)){ //true to set the size to the current progress if (_serial_output) Serial.printf("Update Success: %u\nRebooting...\n", upload.totalSize); } else { - if (_serial_output) Update.printError(Serial); + _setUpdaterError(); } if (_serial_output) Serial.setDebugOutput(false); } else if(_authenticated && upload.status == UPLOAD_FILE_ABORTED){ @@ -85,3 +94,11 @@ void ESP8266HTTPUpdateServer::setup(ESP8266WebServer *server, const char * path, delay(0); }); } + +void ESP8266HTTPUpdateServer::_setUpdaterError() +{ + if (_serial_output) Update.printError(Serial); + StreamString str; + Update.printError(str); + _updaterError = str.c_str(); +} diff --git a/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.h b/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.h index fbe1d211d1..b4bc2ddf04 100644 --- a/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.h +++ b/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.h @@ -5,15 +5,6 @@ class ESP8266WebServer; class ESP8266HTTPUpdateServer { - private: - bool _serial_output; - ESP8266WebServer *_server; - static const char *_serverIndex; - static const char *_failedResponse; - static const char *_successResponse; - char * _username; - char * _password; - bool _authenticated; public: ESP8266HTTPUpdateServer(bool serial_debug=false); @@ -33,6 +24,17 @@ class ESP8266HTTPUpdateServer } void setup(ESP8266WebServer *server, const char * path, const char * username, const char * password); + + protected: + void _setUpdaterError(); + + private: + bool _serial_output; + ESP8266WebServer *_server; + char * _username; + char * _password; + bool _authenticated; + String _updaterError; }; From 2404a602af88ee1ecdd61bf45f1b1f7f784430d6 Mon Sep 17 00:00:00 2001 From: Sven Eliasson Date: Fri, 12 May 2017 08:03:14 +0200 Subject: [PATCH 27/60] Const-correctness for MD5Builder (#3222) Resolves #1175 --- cores/esp8266/MD5Builder.cpp | 27 +++++++++------------------ cores/esp8266/MD5Builder.h | 12 ++++++------ cores/esp8266/md5.h | 8 ++++---- tests/host/core/test_md5builder.cpp | 24 +++++++++++++++++------- 4 files changed, 36 insertions(+), 35 deletions(-) diff --git a/cores/esp8266/MD5Builder.cpp b/cores/esp8266/MD5Builder.cpp index ac4fa29ee2..b32693ed73 100644 --- a/cores/esp8266/MD5Builder.cpp +++ b/cores/esp8266/MD5Builder.cpp @@ -1,26 +1,22 @@ #include #include -uint8_t hex_char_to_byte(uint8_t c) -{ +uint8_t hex_char_to_byte(uint8_t c){ return (c >= 'a' && c <= 'f') ? (c - ((uint8_t)'a' - 0xa)) : (c >= 'A' && c <= 'F') ? (c - ((uint8_t)'A' - 0xA)) : (c >= '0' && c<= '9') ? (c - (uint8_t)'0') : 0; } -void MD5Builder::begin(void) -{ +void MD5Builder::begin(void){ memset(_buf, 0x00, 16); MD5Init(&_ctx); } -void MD5Builder::add(uint8_t * data, uint16_t len) -{ +void MD5Builder::add(const uint8_t * data, const uint16_t len){ MD5Update(&_ctx, data, len); } -void MD5Builder::addHexString(const char * data) -{ +void MD5Builder::addHexString(const char * data){ uint16_t i, len = strlen(data); uint8_t * tmp = (uint8_t*)malloc(len/2); if(tmp == NULL) { @@ -35,8 +31,7 @@ void MD5Builder::addHexString(const char * data) free(tmp); } -bool MD5Builder::addStream(Stream & stream, const size_t maxLen) -{ +bool MD5Builder::addStream(Stream & stream, const size_t maxLen){ const int buf_size = 512; int maxLengthLeft = maxLen; uint8_t * buf = (uint8_t*) malloc(buf_size); @@ -76,25 +71,21 @@ bool MD5Builder::addStream(Stream & stream, const size_t maxLen) return true; } -void MD5Builder::calculate(void) -{ +void MD5Builder::calculate(void){ MD5Final(_buf, &_ctx); } -void MD5Builder::getBytes(uint8_t * output) -{ +void MD5Builder::getBytes(uint8_t * output){ memcpy(output, _buf, 16); } -void MD5Builder::getChars(char * output) -{ +void MD5Builder::getChars(char * output){ for(uint8_t i = 0; i < 16; i++) { sprintf(output + (i * 2), "%02x", _buf[i]); } } -String MD5Builder::toString(void) -{ +String MD5Builder::toString(void){ char out[33]; getChars(out); return String(out); diff --git a/cores/esp8266/MD5Builder.h b/cores/esp8266/MD5Builder.h index d4e336fca9..0a2f22b43b 100644 --- a/cores/esp8266/MD5Builder.h +++ b/cores/esp8266/MD5Builder.h @@ -1,9 +1,9 @@ -/* +/* md5.h - exposed md5 ROM functions for esp8266 Copyright (c) 2015 Hristo Gochkov. All rights reserved. This file is part of the esp8266 core for Arduino environment. - + This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either @@ -31,13 +31,13 @@ class MD5Builder { uint8_t _buf[16]; public: void begin(void); - void add(uint8_t * data, uint16_t len); - void add(const char * data){ add((uint8_t*)data, strlen(data)); } + void add(const uint8_t * data, const uint16_t len); + void add(const char * data){ add((const uint8_t*)data, strlen(data)); } void add(char * data){ add((const char*)data); } - void add(String data){ add(data.c_str()); } + void add(const String data){ add(data.c_str()); } void addHexString(const char * data); void addHexString(char * data){ addHexString((const char*)data); } - void addHexString(String data){ addHexString(data.c_str()); } + void addHexString(const String data){ addHexString(data.c_str()); } bool addStream(Stream & stream, const size_t maxLen); void calculate(void); void getBytes(uint8_t * output); diff --git a/cores/esp8266/md5.h b/cores/esp8266/md5.h index b3f1f54533..4efcaa9553 100644 --- a/cores/esp8266/md5.h +++ b/cores/esp8266/md5.h @@ -1,11 +1,11 @@ -/* +/* md5.h - exposed md5 ROM functions for esp8266 Copyright (c) 2015 Hristo Gochkov. All rights reserved. This file is part of the esp8266 core for Arduino environment. - + original C source from https://github.com/morrissinger/ESP8266-Websocket/raw/master/MD5.h - + This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either @@ -34,7 +34,7 @@ typedef struct { } md5_context_t; extern void MD5Init (md5_context_t *); -extern void MD5Update (md5_context_t *, uint8_t *, uint16_t); +extern void MD5Update (md5_context_t *, const uint8_t *, const uint16_t); extern void MD5Final (uint8_t [16], md5_context_t *); #ifdef __cplusplus diff --git a/tests/host/core/test_md5builder.cpp b/tests/host/core/test_md5builder.cpp index f8ce5ed126..72fa56f2cf 100644 --- a/tests/host/core/test_md5builder.cpp +++ b/tests/host/core/test_md5builder.cpp @@ -35,15 +35,25 @@ TEST_CASE("MD5Builder::add works as expected", "[core][MD5Builder]") TEST_CASE("MD5Builder::addHexString works as expected", "[core][MD5Builder]") { - MD5Builder builder; - builder.begin(); - builder.addHexString("1234567890abcdeffedcba98765432106469676974616c7369676e61747572656170706c69636174696f6e73"); - builder.calculate(); - REQUIRE(builder.toString() == "47b937a6f9f12a4c389fa5854e023efb"); + WHEN("A char array is parsed"){ + MD5Builder builder; + builder.begin(); + const char * myPayload = "1234567890abcdeffedcba98765432106469676974616c7369676e61747572656170706c69636174696f6e73"; + builder.addHexString(myPayload); + builder.calculate(); + REQUIRE(builder.toString() == "47b937a6f9f12a4c389fa5854e023efb"); + } + + WHEN("A Arduino String is parsed"){ + MD5Builder builder; + builder.begin(); + builder.addHexString(String("1234567890abcdeffedcba98765432106469676974616c7369676e61747572656170706c69636174696f6e73")); + builder.calculate(); + REQUIRE(builder.toString() == "47b937a6f9f12a4c389fa5854e023efb"); + } } -TEST_CASE("MD5Builder::addStream works", "[core][MD5Builder]") -{ +TEST_CASE("MD5Builder::addStream works", "[core][MD5Builder]"){ MD5Builder builder; const char* str = "MD5Builder::addStream_works_longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong"; { From 0b47911b69bf349af06047da1a93b9f2944f9dd5 Mon Sep 17 00:00:00 2001 From: Charles Date: Fri, 12 May 2017 07:51:20 +0000 Subject: [PATCH 28/60] Added 1M (No SPIFFS) board option (#3203) --- boards.txt | 5 +++++ tools/sdk/ld/eagle.flash.1m0.ld | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 tools/sdk/ld/eagle.flash.1m0.ld diff --git a/boards.txt b/boards.txt index 84986b1af5..6bd05c725f 100644 --- a/boards.txt +++ b/boards.txt @@ -148,6 +148,11 @@ generic.menu.FlashSize.1M64.build.spiffs_end=0xFB000 generic.menu.FlashSize.1M64.build.spiffs_blocksize=4096 generic.menu.FlashSize.1M64.upload.maximum_size=958448 +generic.menu.FlashSize.1M0=1M (no SPIFFS) +generic.menu.FlashSize.1M0.build.flash_size=1M +generic.menu.FlashSize.1M0.build.flash_ld=eagle.flash.1m0.ld +generic.menu.FlashSize.1M0.upload.maximum_size=1023984 + generic.menu.FlashSize.2M=2M (1M SPIFFS) generic.menu.FlashSize.2M.build.flash_size=2M generic.menu.FlashSize.2M.build.flash_ld=eagle.flash.2m.ld diff --git a/tools/sdk/ld/eagle.flash.1m0.ld b/tools/sdk/ld/eagle.flash.1m0.ld new file mode 100644 index 0000000000..250962962e --- /dev/null +++ b/tools/sdk/ld/eagle.flash.1m0.ld @@ -0,0 +1,18 @@ +/* Flash Split for 1M chips, no SPIFFS */ +/* sketch 999KB */ +/* eeprom 20KB */ + +MEMORY +{ + dport0_0_seg : org = 0x3FF00000, len = 0x10 + dram0_0_seg : org = 0x3FFE8000, len = 0x14000 + iram1_0_seg : org = 0x40100000, len = 0x8000 + irom0_0_seg : org = 0x40201010, len = 0xf9ff0 +} + +PROVIDE ( _SPIFFS_start = 0x402FB000 ); +PROVIDE ( _SPIFFS_end = 0x402FB000 ); +PROVIDE ( _SPIFFS_page = 0 ); +PROVIDE ( _SPIFFS_block = 0 ); + +INCLUDE "../ld/eagle.app.v6.common.ld" From 9fd270faf1f407b877710c48ecfd80d765d0a8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9?= Date: Sun, 14 May 2017 09:53:15 -0300 Subject: [PATCH 29/60] Documenting a few Esp.cpp methods (#3057) Adding: getCoreVersion, getSdkVersion, getCpuFreqMHz, getSketchSize, getFreeSketchSpace and getSketchMD5. --- doc/libraries.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/libraries.md b/doc/libraries.md index cbcc9762f4..0aa2532492 100644 --- a/doc/libraries.md +++ b/doc/libraries.md @@ -93,13 +93,23 @@ APIs related to deep sleep and watchdog timer are available in the `ESP` object, `ESP.restart()` restarts the CPU. -`ESP.getResetReason()` returns String containing the last reset reason in human readable format. +`ESP.getResetReason()` returns a String containing the last reset reason in human readable format. `ESP.getFreeHeap()` returns the free heap size. `ESP.getChipId()` returns the ESP8266 chip ID as a 32-bit integer. -Several APIs may be used to get flash chip info: +`ESP.getCoreVersion()` returns a String containing the core version. + +`ESP.getSdkVersion()` returns the SDK version as a char. + +`ESP.getCpuFreqMHz()` returns the CPU frequency in MHz as an unsigned 8-bit integer. + +`ESP.getSketchSize()` returns the size of the current sketch as an unsigned 32-bit integer. + +`ESP.getFreeSketchSpace()` returns the free sketch space as an unsigned 32-bit integer. + +`ESP.getSketchMD5()` returns a lowercase String containing the MD5 of the current sketch. `ESP.getFlashChipId()` returns the flash chip ID as a 32-bit integer. From 5c7247b0f4c647028b3553f4b1b56edf259e5633 Mon Sep 17 00:00:00 2001 From: Jon Sands Date: Sun, 14 May 2017 09:46:08 -0400 Subject: [PATCH 30/60] Fix documentation typo (#3240) --- doc/libraries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/libraries.md b/doc/libraries.md index 0aa2532492..5ed8f7e3a9 100644 --- a/doc/libraries.md +++ b/doc/libraries.md @@ -18,7 +18,7 @@ title: Libraries ## WiFi(ESP8266WiFi library) -The [Wi-Fi library for ESP8266](https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi) has been developed basing on [ESP8266 SDK](http://bbs.espressif.com/viewtopic.php?f=51&t=1023), using naming convention and overall functionality philosophy of [Arduino WiFi library](https://www.arduino.cc/en/Reference/WiFi). Over time the wealth Wi-Fi features ported from ESP9266 SDK to [esp8266 / Adruino](https://github.com/esp8266/Arduino) outgrow [Arduino WiFi library](https://www.arduino.cc/en/Reference/WiFi) and it became apparent that we need to provide separate documentation on what is new and extra. +The [Wi-Fi library for ESP8266](https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi) has been developed basing on [ESP8266 SDK](http://bbs.espressif.com/viewtopic.php?f=51&t=1023), using naming convention and overall functionality philosophy of [Arduino WiFi library](https://www.arduino.cc/en/Reference/WiFi). Over time the wealth Wi-Fi features ported from ESP9266 SDK to [esp8266 / Arduino](https://github.com/esp8266/Arduino) outgrow [Arduino WiFi library](https://www.arduino.cc/en/Reference/WiFi) and it became apparent that we need to provide separate documentation on what is new and extra. [ESP8266WiFi library documentation](esp8266wifi/readme.md) : [Quick Start](esp8266wifi/readme.md#quick-start) | [Who is Who](esp8266wifi/readme.md#who-is-who) | [Station](esp8266wifi/readme.md#station) | [Soft Access Point](esp8266wifi/readme.md#soft-access-point) | [Scan](esp8266wifi/readme.md#scan) | [Client](esp8266wifi/readme.md#client) | [Client Secure](esp8266wifi/readme.md#client-secure) | [Server](esp8266wifi/readme.md#server) | [UDP](esp8266wifi/readme.md#udp) | [Generic](esp8266wifi/readme.md#generic) | [Diagnostics](esp8266wifi/readme.md#diagnostics) From 283eb97cd3f6dac691e8350a612021f1e1ccd8e3 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Sun, 19 Feb 2017 16:55:37 +0800 Subject: [PATCH 31/60] docs: convert to .rst and add readthedocs --- .travis.yml | 22 +- doc/.gitignore | 1 + doc/Makefile | 20 + doc/Troubleshooting/debugging.md | 102 --- doc/Troubleshooting/debugging.rst | 107 +++ doc/Troubleshooting/stack_dump.md | 66 -- doc/Troubleshooting/stack_dump.rst | 65 ++ doc/_static/.keep | 0 doc/boards.md | 319 --------- doc/boards.rst | 376 ++++++++++ doc/changes.md | 364 ---------- doc/changes.rst | 293 ++++++++ doc/conf.py | 169 +++++ doc/eclipse/eclipse.md | 38 -- doc/eclipse/eclipse.rst | 53 ++ doc/esp8266wifi/client-class.md | 65 -- doc/esp8266wifi/client-class.rst | 62 ++ doc/esp8266wifi/client-examples.md | 256 ------- doc/esp8266wifi/client-examples.rst | 260 +++++++ doc/esp8266wifi/client-secure-class.md | 81 --- doc/esp8266wifi/client-secure-class.rst | 78 +++ doc/esp8266wifi/client-secure-examples.md | 172 ----- doc/esp8266wifi/client-secure-examples.rst | 181 +++++ doc/esp8266wifi/generic-class.md | 85 --- doc/esp8266wifi/generic-class.rst | 82 +++ doc/esp8266wifi/generic-examples.md | 138 ---- doc/esp8266wifi/generic-examples.rst | 125 ++++ doc/esp8266wifi/readme.md | 318 --------- doc/esp8266wifi/readme.rst | 332 +++++++++ doc/esp8266wifi/scan-class.md | 267 -------- doc/esp8266wifi/scan-class.rst | 238 +++++++ doc/esp8266wifi/scan-examples.md | 261 ------- doc/esp8266wifi/scan-examples.rst | 243 +++++++ doc/esp8266wifi/server-class.md | 54 -- doc/esp8266wifi/server-class.rst | 49 ++ doc/esp8266wifi/server-examples.md | 253 ------- doc/esp8266wifi/server-examples.rst | 255 +++++++ doc/esp8266wifi/soft-access-point-class.md | 211 ------ doc/esp8266wifi/soft-access-point-class.rst | 227 +++++++ doc/esp8266wifi/soft-access-point-examples.md | 134 ---- .../soft-access-point-examples.rst | 125 ++++ doc/esp8266wifi/station-class.md | 600 ---------------- doc/esp8266wifi/station-class.rst | 642 ++++++++++++++++++ doc/esp8266wifi/station-examples.md | 205 ------ doc/esp8266wifi/station-examples.rst | 205 ++++++ doc/esp8266wifi/udp-class.md | 41 -- doc/esp8266wifi/udp-class.rst | 36 + doc/esp8266wifi/udp-examples.md | 198 ------ doc/esp8266wifi/udp-examples.rst | 194 ++++++ doc/exception_causes.md | 38 -- doc/exception_causes.rst | 124 ++++ doc/faq/a01-espcomm_sync-failed.md | 284 -------- doc/faq/a01-espcomm_sync-failed.rst | 394 +++++++++++ doc/faq/a02-my-esp-crashes.md | 169 ----- doc/faq/a02-my-esp-crashes.rst | 292 ++++++++ doc/faq/a03-library-does-not-work.md | 85 --- doc/faq/a03-library-does-not-work.rst | 112 +++ doc/faq/a04-board-generic-is-unknown.md | 99 --- doc/faq/a04-board-generic-is-unknown.rst | 151 ++++ doc/faq/readme.md | 50 -- doc/faq/readme.rst | 90 +++ doc/filesystem.md | 308 --------- doc/filesystem.rst | 365 ++++++++++ doc/index.rst | 22 + doc/installing.md | 80 --- doc/installing.rst | 101 +++ doc/libraries.md | 193 ------ doc/libraries.rst | 176 +++++ doc/ota_updates/readme.md | 483 ------------- doc/ota_updates/readme.rst | 541 +++++++++++++++ doc/reference.md | 130 ---- doc/reference.rst | 188 +++++ doc/requirements.txt | 5 + libraries/ESP8266AVRISP/README.md | 57 -- libraries/ESP8266AVRISP/README.rst | 70 ++ libraries/ESP8266SSDP/README.md | 22 - libraries/ESP8266SSDP/README.rst | 22 + libraries/ESP8266mDNS/README.md | 52 -- libraries/ESP8266mDNS/README.rst | 61 ++ libraries/GDBStub/README.md | 34 - libraries/GDBStub/README.rst | 49 ++ 81 files changed, 7191 insertions(+), 6324 deletions(-) create mode 100644 doc/.gitignore create mode 100644 doc/Makefile delete mode 100644 doc/Troubleshooting/debugging.md create mode 100644 doc/Troubleshooting/debugging.rst delete mode 100644 doc/Troubleshooting/stack_dump.md create mode 100644 doc/Troubleshooting/stack_dump.rst create mode 100644 doc/_static/.keep delete mode 100644 doc/boards.md create mode 100644 doc/boards.rst delete mode 100644 doc/changes.md create mode 100644 doc/changes.rst create mode 100644 doc/conf.py delete mode 100644 doc/eclipse/eclipse.md create mode 100644 doc/eclipse/eclipse.rst delete mode 100644 doc/esp8266wifi/client-class.md create mode 100644 doc/esp8266wifi/client-class.rst delete mode 100644 doc/esp8266wifi/client-examples.md create mode 100644 doc/esp8266wifi/client-examples.rst delete mode 100644 doc/esp8266wifi/client-secure-class.md create mode 100644 doc/esp8266wifi/client-secure-class.rst delete mode 100644 doc/esp8266wifi/client-secure-examples.md create mode 100644 doc/esp8266wifi/client-secure-examples.rst delete mode 100644 doc/esp8266wifi/generic-class.md create mode 100644 doc/esp8266wifi/generic-class.rst delete mode 100644 doc/esp8266wifi/generic-examples.md create mode 100644 doc/esp8266wifi/generic-examples.rst delete mode 100644 doc/esp8266wifi/readme.md create mode 100644 doc/esp8266wifi/readme.rst delete mode 100644 doc/esp8266wifi/scan-class.md create mode 100644 doc/esp8266wifi/scan-class.rst delete mode 100644 doc/esp8266wifi/scan-examples.md create mode 100644 doc/esp8266wifi/scan-examples.rst delete mode 100644 doc/esp8266wifi/server-class.md create mode 100644 doc/esp8266wifi/server-class.rst delete mode 100644 doc/esp8266wifi/server-examples.md create mode 100644 doc/esp8266wifi/server-examples.rst delete mode 100644 doc/esp8266wifi/soft-access-point-class.md create mode 100644 doc/esp8266wifi/soft-access-point-class.rst delete mode 100644 doc/esp8266wifi/soft-access-point-examples.md create mode 100644 doc/esp8266wifi/soft-access-point-examples.rst delete mode 100644 doc/esp8266wifi/station-class.md create mode 100644 doc/esp8266wifi/station-class.rst delete mode 100644 doc/esp8266wifi/station-examples.md create mode 100644 doc/esp8266wifi/station-examples.rst delete mode 100644 doc/esp8266wifi/udp-class.md create mode 100644 doc/esp8266wifi/udp-class.rst delete mode 100644 doc/esp8266wifi/udp-examples.md create mode 100644 doc/esp8266wifi/udp-examples.rst delete mode 100644 doc/exception_causes.md create mode 100644 doc/exception_causes.rst delete mode 100644 doc/faq/a01-espcomm_sync-failed.md create mode 100644 doc/faq/a01-espcomm_sync-failed.rst delete mode 100644 doc/faq/a02-my-esp-crashes.md create mode 100644 doc/faq/a02-my-esp-crashes.rst delete mode 100644 doc/faq/a03-library-does-not-work.md create mode 100644 doc/faq/a03-library-does-not-work.rst delete mode 100644 doc/faq/a04-board-generic-is-unknown.md create mode 100644 doc/faq/a04-board-generic-is-unknown.rst delete mode 100644 doc/faq/readme.md create mode 100644 doc/faq/readme.rst delete mode 100644 doc/filesystem.md create mode 100644 doc/filesystem.rst create mode 100644 doc/index.rst delete mode 100644 doc/installing.md create mode 100644 doc/installing.rst delete mode 100644 doc/libraries.md create mode 100644 doc/libraries.rst delete mode 100644 doc/ota_updates/readme.md create mode 100644 doc/ota_updates/readme.rst delete mode 100644 doc/reference.md create mode 100644 doc/reference.rst create mode 100644 doc/requirements.txt delete mode 100644 libraries/ESP8266AVRISP/README.md create mode 100644 libraries/ESP8266AVRISP/README.rst delete mode 100644 libraries/ESP8266SSDP/README.md create mode 100644 libraries/ESP8266SSDP/README.rst delete mode 100644 libraries/ESP8266mDNS/README.md create mode 100644 libraries/ESP8266mDNS/README.rst delete mode 100644 libraries/GDBStub/README.md create mode 100644 libraries/GDBStub/README.rst diff --git a/.travis.yml b/.travis.yml index 05fb744fe3..911993d864 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,23 +3,25 @@ language: bash os: - linux -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-4.8 +dist: trusty + +install: + - pip install --user -r doc/requirements.txt script: - set -e - - export CXX="g++-4.8" CC="gcc-4.8" GCOV="gcov-4.8" + - echo -e "travis_fold:start:docs" + - pushd $TRAVIS_BUILD_DIR/doc + - SPHINXOPTS="-W" make html + - popd + - echo -e "travis_fold:end:docs" - echo -e "travis_fold:start:host_tests" - pushd $TRAVIS_BUILD_DIR/tests/host - make - make clean-objects + - popd - echo -e "travis_fold:end:host_tests" - echo -e "travis_fold:start:sketch_test_env_prepare" - - popd - wget -O arduino.tar.xz https://www.arduino.cc/download.php?f=/arduino-nightly-linux64.tar.xz - tar xf arduino.tar.xz - mv arduino-nightly $HOME/arduino_ide @@ -42,10 +44,6 @@ script: - cat size.log - echo -e "travis_fold:end:size_report" -after_success: - - pushd $TRAVIS_BUILD_DIR/tests/host - - bash <(curl -s https://codecov.io/bash) -X gcov - notifications: email: on_success: change diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 0000000000..e35d8850c9 --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1 @@ +_build diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000000..36b4923488 --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SPHINXPROJ = ESP8266ArduinoCore +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/doc/Troubleshooting/debugging.md b/doc/Troubleshooting/debugging.md deleted file mode 100644 index 47a3cbebb4..0000000000 --- a/doc/Troubleshooting/debugging.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: Debugging ---- - -## Table of Contents - * [Introduction](#introduction) - * [Requirements](#requirements) - * [Usage](#Usage) - * [Informations](#Informations) - * [For Developers](#for-developers) - -## Introduction - -Since 2.1.0-rc1 the core includes a Debugging feature that is controllable over the IDE menu. - -The new menu points manage the real-time Debug messages. - -### Requirements - -For usage of the debugging a Serial connection is required (Serial or Serial1). - -The Serial Interface need to be initialized in the ```setup()```. - -Set the Serial baud rate as high as possible for your Hardware setup. - -Minimum sketch to use debugging: -```cpp -void setup() { - Serial.begin(115200); -} - -void loop() { -} -``` - -### Usage - -1. Select the Serial interface for the Debugging messages: -![Debug-Port](debug_port.png) - -2. Select which type / level you want debug messages for: -![Debug-Level](debug_level.png) - -3. Check if the Serial interface is initialized in ```setup()``` (see [Requirements](#requirements)) - -4. Flash sketch - -5. Check the Serial Output - - - -## Informations - -It work with every sketch that enables the Serial interface that is selected as debug port. - -The Serial interface can still be used normal in the Sketch. - -The debug output is additional and will not disable any interface from usage in the sketch. - -### For Developers - -For the debug handling uses defines. - -The defined are set by command line. - -#### Debug Port - -The port has the define ```DEBUG_ESP_PORT``` possible value: - - Disabled: define not existing - - Serial: Serial - - Serial1: Serial1 - -#### Debug Level - -All defines for the different levels starts with ```DEBUG_ESP_``` - -a full list can be found here in the [boards.txt](https://github.com/esp8266/Arduino/blob/master/boards.txt#L180) - -#### Example for own debug messages - -The debug messages will be only shown when the Debug Port in the IDE menu is set. - -```cpp -#ifdef DEBUG_ESP_PORT -#define DEBUG_MSG(...) DEBUG_ESP_PORT.printf( __VA_ARGS__ ) -#else -#define DEBUG_MSG(...) -#endif - -void setup() { - Serial.begin(115200); - - delay(3000); - DEBUG_MSG("bootup...\n"); -} - -void loop() { - DEBUG_MSG("loop %d\n", millis()); - delay(1000); -} -``` - diff --git a/doc/Troubleshooting/debugging.rst b/doc/Troubleshooting/debugging.rst new file mode 100644 index 0000000000..970cb0e7b6 --- /dev/null +++ b/doc/Troubleshooting/debugging.rst @@ -0,0 +1,107 @@ +Debugging +========= + +Introduction +------------ + +Since 2.1.0-rc1 the core includes a Debugging feature that is +controllable over the IDE menu. + +The new menu points manage the real-time Debug messages. + +Requirements +~~~~~~~~~~~~ + +For usage of the debugging a Serial connection is required (Serial or +Serial1). + +The Serial Interface need to be initialized in the ``setup()``. + +Set the Serial baud rate as high as possible for your Hardware setup. + +Minimum sketch to use debugging: + +.. code:: cpp + + void setup() { + Serial.begin(115200); + } + + void loop() { + } + +Usage +~~~~~ + +1. Select the Serial interface for the Debugging messages: |Debug-Port| + +2. Select which type / level you want debug messages for: |Debug-Level| + +3. Check if the Serial interface is initialized in ``setup()`` (see + `Requirements <#requirements>`__) + +4. Flash sketch + +5. Check the Serial Output + +Informations +------------ + +It work with every sketch that enables the Serial interface that is +selected as debug port. + +The Serial interface can still be used normal in the Sketch. + +The debug output is additional and will not disable any interface from +usage in the sketch. + +For Developers +~~~~~~~~~~~~~~ + +For the debug handling uses defines. + +The defined are set by command line. + +Debug Port +^^^^^^^^^^ + +The port has the define ``DEBUG_ESP_PORT`` possible value: - Disabled: +define not existing - Serial: Serial - Serial1: Serial1 + +Debug Level +^^^^^^^^^^^ + +All defines for the different levels starts with ``DEBUG_ESP_`` + +a full list can be found here in the +`boards.txt `__ + +Example for own debug messages +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The debug messages will be only shown when the Debug Port in the IDE +menu is set. + +.. code:: cpp + + #ifdef DEBUG_ESP_PORT + #define DEBUG_MSG(...) DEBUG_ESP_PORT.printf( __VA_ARGS__ ) + #else + #define DEBUG_MSG(...) + #endif + + void setup() { + Serial.begin(115200); + + delay(3000); + DEBUG_MSG("bootup...\n"); + } + + void loop() { + DEBUG_MSG("loop %d\n", millis()); + delay(1000); + } + +.. |Debug-Port| image:: debug_port.png +.. |Debug-Level| image:: debug_level.png + diff --git a/doc/Troubleshooting/stack_dump.md b/doc/Troubleshooting/stack_dump.md deleted file mode 100644 index 49c544940e..0000000000 --- a/doc/Troubleshooting/stack_dump.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Debugging ---- - -## Table of Contents - * [Introduction](#introduction) - * [Decode](#Decode) - -## Introduction - -If the ESP crash the Exception Cause will be shown and the current stack will be dumped. - -example: - -``` -Exception (0): epc1=0x402103f4 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000 - -ctx: sys -sp: 3ffffc10 end: 3fffffb0 offset: 01a0 - ->>>stack>>> -3ffffdb0: 40223e00 3fff6f50 00000010 60000600 -3ffffdc0: 00000001 4021f774 3fffc250 4000050c -3ffffdd0: 400043d5 00000030 00000016 ffffffff -3ffffde0: 400044ab 3fffc718 3ffffed0 08000000 -3ffffdf0: 60000200 08000000 00000003 00000000 -3ffffe00: 0000ffff 00000001 04000002 003fd000 -3ffffe10: 3fff7188 000003fd 3fff2564 00000030 -3ffffe20: 40101709 00000008 00000008 00000020 -3ffffe30: c1948db3 394c5e70 7f2060f2 c6ba0c87 -3ffffe40: 3fff7058 00000001 40238d41 3fff6ff0 -3ffffe50: 3fff6f50 00000010 60000600 00000020 -3ffffe60: 402301a8 3fff7098 3fff7014 40238c77 -3ffffe70: 4022fb6c 40230ebe 3fff1a5b 3fff6f00 -3ffffe80: 3ffffec8 00000010 40231061 3fff0f90 -3ffffe90: 3fff6848 3ffed0c0 60000600 3fff6ae0 -3ffffea0: 3fff0f90 3fff0f90 3fff6848 3fff6d40 -3ffffeb0: 3fff28e8 40101233 d634fe1a fffeffff -3ffffec0: 00000001 00000000 4022d5d6 3fff6848 -3ffffed0: 00000002 4000410f 3fff2394 3fff6848 -3ffffee0: 3fffc718 40004a3c 000003fd 3fff7188 -3ffffef0: 3fffc718 40101510 00000378 3fff1a5b -3fffff00: 000003fd 4021d2e7 00000378 000003ff -3fffff10: 00001000 4021d37d 3fff2564 000003ff -3fffff20: 000003fd 60000600 003fd000 3fff2564 -3fffff30: ffffff00 55aa55aa 00000312 0000001c -3fffff40: 0000001c 0000008a 0000006d 000003ff -3fffff50: 4021d224 3ffecf90 00000000 3ffed0c0 -3fffff60: 00000001 4021c2e9 00000003 3fff1238 -3fffff70: 4021c071 3ffecf84 3ffecf30 0026a2b0 -3fffff80: 4021c0b6 3fffdab0 00000000 3fffdcb0 -3fffff90: 3ffecf40 3fffdab0 00000000 3fffdcc0 -3fffffa0: 40000f49 40000f49 3fffdab0 40000f49 -<<>>stack>>> + 3ffffdb0: 40223e00 3fff6f50 00000010 60000600 + 3ffffdc0: 00000001 4021f774 3fffc250 4000050c + 3ffffdd0: 400043d5 00000030 00000016 ffffffff + 3ffffde0: 400044ab 3fffc718 3ffffed0 08000000 + 3ffffdf0: 60000200 08000000 00000003 00000000 + 3ffffe00: 0000ffff 00000001 04000002 003fd000 + 3ffffe10: 3fff7188 000003fd 3fff2564 00000030 + 3ffffe20: 40101709 00000008 00000008 00000020 + 3ffffe30: c1948db3 394c5e70 7f2060f2 c6ba0c87 + 3ffffe40: 3fff7058 00000001 40238d41 3fff6ff0 + 3ffffe50: 3fff6f50 00000010 60000600 00000020 + 3ffffe60: 402301a8 3fff7098 3fff7014 40238c77 + 3ffffe70: 4022fb6c 40230ebe 3fff1a5b 3fff6f00 + 3ffffe80: 3ffffec8 00000010 40231061 3fff0f90 + 3ffffe90: 3fff6848 3ffed0c0 60000600 3fff6ae0 + 3ffffea0: 3fff0f90 3fff0f90 3fff6848 3fff6d40 + 3ffffeb0: 3fff28e8 40101233 d634fe1a fffeffff + 3ffffec0: 00000001 00000000 4022d5d6 3fff6848 + 3ffffed0: 00000002 4000410f 3fff2394 3fff6848 + 3ffffee0: 3fffc718 40004a3c 000003fd 3fff7188 + 3ffffef0: 3fffc718 40101510 00000378 3fff1a5b + 3fffff00: 000003fd 4021d2e7 00000378 000003ff + 3fffff10: 00001000 4021d37d 3fff2564 000003ff + 3fffff20: 000003fd 60000600 003fd000 3fff2564 + 3fffff30: ffffff00 55aa55aa 00000312 0000001c + 3fffff40: 0000001c 0000008a 0000006d 000003ff + 3fffff50: 4021d224 3ffecf90 00000000 3ffed0c0 + 3fffff60: 00000001 4021c2e9 00000003 3fff1238 + 3fffff70: 4021c071 3ffecf84 3ffecf30 0026a2b0 + 3fffff80: 4021c0b6 3fffdab0 00000000 3fffdcb0 + 3fffff90: 3ffecf40 3fffdab0 00000000 3fffdcc0 + 3fffffa0: 40000f49 40000f49 3fffdab0 40000f49 + <<` +the hex after are the stack dump. + +Decode +~~~~~~ + +It's possible to decode the Stack to readable information. For more info see the `Esp Exception Decoder `__ tool. + +.. figure:: ESP_Exception_Decoderp.png + :alt: ESP Exception Decoder + + ESP Exception Decoder diff --git a/doc/_static/.keep b/doc/_static/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/doc/boards.md b/doc/boards.md deleted file mode 100644 index 177a1111d7..0000000000 --- a/doc/boards.md +++ /dev/null @@ -1,319 +0,0 @@ ---- -title: Supported Hardware ---- - -## Table of contents - * [Adafruit HUZZAH ESP8266 (ESP\-12)](#adafruit-huzzah-esp8266-esp-12) - * [ESPresso Lite 1\.0](#espresso-lite-10) - * [ESPresso Lite 2\.0](#espresso-lite-20) - * [NodeMCU 0\.9 ](#nodemcu-09-) - * [Pin mapping](#pin-mapping) - * [NodeMCU 1\.0](#nodemcu-10) - * [Olimex MOD\-WIFI\-ESP8266\-DEV](#olimex-mod-wifi-esp8266-dev) - * [Olimex MOD\-WIFI\-ESP8266](#olimex-mod-wifi-esp8266) - * [Olimex ESP8266\-EVB](#olimex-esp8266-evb) - * [Phoenix 1\.0](#phoenix-10) - * [Phoenix 2\.0](#phoenix-20) - * [SparkFun ESP8266 Thing](#sparkfun-esp8266-thing) - * [SweetPea ESP\-210](#sweetpea-esp-210) - * [ESPino](#espino) - * [WifInfo](#WifInfo) - * [Generic ESP8266 modules](#generic-esp8266-modules) - * [Generic ESP8285 modules](#generic-esp8285-modules) - * [Serial Adapter](#serial-adapter) - * [Minimal Hardware Setup for Bootloading and Usage](#minimal-hardware-setup-for-bootloading-and-usage) - * [ESP to Serial](#esp-to-serial) - * [Minimal Hardware Setup for Bootloading only](#minimal-hardware-setup-for-bootloading-only) - * [Minimal Hardware Setup for Running only](#minimal-hardware-setup-for-running-only) - * [Minimal](#minimal) - * [Improved Stability](#improved-stability) - * [Boot Messages and Modes](#boot-messages-and-modes) - * [rst cause](#rst-cause) - * [boot mode](#boot-mode) - * [WeMos D1](#wemos-d1) - * [WeMos D1 mini](#wemos-d1-mini) - * [ESPino by ThaiEasyElec](#espinotee) - * [gen4-IoD Range by 4D Systems](#gen4iod) - -## Adafruit HUZZAH ESP8266 (ESP-12) - -*TODO: add notes* - -## ESPresso Lite 1.0 - -ESPresso Lite 1.0 (beta version) is an Arduino-compatible Wi-Fi development board powered by Espressif System's own ESP8266 WROOM-02 module. It has breadboard-friendly breakout pins with in-built LED, two reset/flash buttons and a user programmable button . The operating voltage is 3.3VDC, regulated with 800mA maximum current. Special distinctive features include on-board I2C pads that allow direct connection to OLED LCD and sensor boards. - -## ESPresso Lite 2.0 - -ESPresso Lite 2.0 is an Arduino-compatible Wi-Fi development board based on an earlier V1 (beta version). Re-designed together with Cytron Technologies, the newly-revised ESPresso Lite V2.0 features the auto-load/auto-program function, eliminating the previous need to reset the board manually before flashing a new program. It also feature two user programmable side buttons and a reset button. The special distinctive features of on-board pads for I2C sensor and actuator is retained. - -## Phoenix 1.0 - -Product page: http://www.espert.co - -## Phoenix 2.0 - -Product page: http://www.espert.co - -## NodeMCU 0.9 - -### Pin mapping - -Pin numbers written on the board itself do not correspond to ESP8266 GPIO pin numbers. Constants are defined to make using this board easier: - -```C++ -static const uint8_t D0 = 16; -static const uint8_t D1 = 5; -static const uint8_t D2 = 4; -static const uint8_t D3 = 0; -static const uint8_t D4 = 2; -static const uint8_t D5 = 14; -static const uint8_t D6 = 12; -static const uint8_t D7 = 13; -static const uint8_t D8 = 15; -static const uint8_t D9 = 3; -static const uint8_t D10 = 1; -``` - -If you want to use NodeMCU pin 5, use D5 for pin number, and it will be translated to 'real' GPIO pin 14. - -## NodeMCU 1.0 - -This module is sold under many names for around $6.50 on AliExpress and it's one of the cheapest, fully integrated ESP8266 solutions. - -It's an open hardware design with an ESP-12E core and 4 MB of SPI flash. - -Acording to the manufacturer, "with a micro USB cable, you can connect NodeMCU devkit to your laptop and flash it without any trouble". This is more or less true: the board comes with a CP2102 onboard USB to serial adapter which just works, well, the majority of the time. Sometimes flashing fails and you have to reset the board by holding down FLASH + RST, then releasing FLASH, then releasing RST. This forces the CP2102 device to power cycle and to be re-numbered by Linux. - -The board also features a NCP1117 voltage regulator, a blue LED on GPIO16 and a 220k/100k Ohm voltage divider on the ADC input pin. - -Full pinout and PDF schematics can be found [here](https://github.com/nodemcu/nodemcu-devkit-v1.0) - -## Olimex MOD-WIFI-ESP8266-DEV - -This board comes with 2 MB of SPI flash and optional accessories (e.g. evaluation board ESP8266-EVB or BAT-BOX for batteries). - -The basic module has three solder jumpers that allow you to switch the operating mode between SDIO, UART and FLASH. - -The board is shipped for FLASH operation mode, with jumpers TD0JP=0, IO0JP=1, IO2JP=1. - -Since jumper IO0JP is tied to GPIO0, which is PIN 21, you'll have to ground it before programming with a USB to serial adapter and reset the board by power cycling it. - -UART pins for programming and serial I/O are GPIO1 (TXD, pin 3) and GPIO3 (RXD, pin 4). - -You can find the board schematics [here](https://github.com/OLIMEX/ESP8266/blob/master/HARDWARE/MOD-WIFI-ESP8266-DEV/MOD-WIFI-ESP8266-DEV_schematic.pdf) - -## Olimex MOD-WIFI-ESP8266 - -This is a stripped down version of the above. Behaves identically in terms of jumpers but has less pins readily available for I/O. Still 2 MB of SPI flash. - -## Olimex ESP8266-EVB - -It's a Olimex MOD-WIFI-ESP8266-DEV module installed on the headers of a development board which features some breakout connectors, a button (GPIO0) and a relay (GPIO5). - -Programming is pretty straightforward: the board is supported in the Arduino IDE after [installing it via the Board Manager](https://github.com/esp8266/Arduino#installing-with-boards-manager). To download a program you just have to connect GND/RX/TX from a serial/USB adapter to the UEXT connector and press the only button before applying power to enter UART mode. - -Don't connect 5V from the serial/USB adapter to the board or you won't be able to power cycle it for UART mode. - -You can find the board schematics [here](https://github.com/OLIMEX/ESP8266/blob/master/HARDWARE/ESP8266-EVB/ESP8266-EVB_Rev_A.pdf). - -[This guide](https://www.olimex.com/Products/IoT/ESP8266-EVB/resources/ESP8266-EVB-how-to-use-Arduino.pdf) is also useful for the first setup, since it contains the UEXT connector pinout. - -Board variants include: - * ESP8266-EVB-BAT: comes with built-in LiPo charger and step-up converter - * ESP8266-EVB-BAT-BOX: as above, but enclosd in a plastic box (non-weatherproof) - -## SparkFun ESP8266 Thing ### - -Product page: https://www.sparkfun.com/products/13231 - -*TODO: add notes* - -## SweetPea ESP-210 - -*TODO: add notes* - -## ESPino - -ESPino integrates the ESP-12 module with a 3.3v regulator, CP2104 USB-Serial bridge and a micro USB connector for easy programming. It is designed for fitting in a breadboard and has an RGB Led and two buttons for easy prototyping. - -For more information about the hardware, pinout diagram and programming procedures, please see the [datasheet](https://github.com/makerlabmx/ESPino-tools/raw/master/Docs/ESPino-Datasheet-EN.pdf). - -Product page: http://www.espino.io/en - -## WifInfo - -WifInfo integrates the ESP-12 or ESP-07+Ext antenna module with a 3.3v regulator and the hardware to be able to measure French telemetry issue from ERDF powering meter serial output. It has a USB connector for powering, an RGB WS2812 Led, 4 pins I2C connector to fit OLED or sensor, and two buttons + FTDI connector and auto reset feature. - -For more information, please see WifInfo related [blog](http://hallard.me/category/wifinfo/) entries, [github](https://github.com/hallard/WifInfo) and [community](https://community.hallard.me/category/16/wifinfo) forum. - -## Generic ESP8266 modules - -These modules come in different form factors and pinouts. See the page at ESP8266 community wiki for more info: -[ESP8266 Module Family](http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family). - -Usually these modules have no bootstapping resistors on board, insufficient decoupling capacitors, no voltage regulator, no reset circuit, and no USB-serial adapter. This makes using them somewhat tricky, compared to development boards which add these features. - -In order to use these modules, make sure to observe the following: - -- **Provide sufficient power to the module.** For stable use of the ESP8266 a power supply with 3.3V and >= 250mA is required. Using the power available from USB to Serial adapter is not recommended, these adapters typically do not supply enough current to run ESP8266 reliably in every situation. An external supply or regulator along with filtering capacitors is preferred. - -- **Connect bootstapping resistors** to GPIO0, GPIO2, GPIO15 according to the schematics below. - -- **Put ESP8266 into bootloader mode** before uploading code. - -## Serial Adapter - -There are many different USB to Serial adapters / boards. -To be able to put ESP8266 into bootloader mode using serial handshaking lines, you need the adapter which breaks out RTS and DTR outputs. CTS and DSR are not useful for upload (they are inputs). Make sure the adapter can work with 3.3V IO voltage: it should have a jumper or a switch to select between 5V and 3.3V, or be marked as 3.3V only. - -Adapters based around the following ICs should work: - - - FT232RL - - CP2102 - - CH340G - -PL2303-based adapters are known not to work on Mac OS X. See https://github.com/igrr/esptool-ck/issues/9 for more info. - -## Minimal Hardware Setup for Bootloading and Usage - - -| PIN | Resistor | Serial Adapter | -| ------------- | -------- | -------------- | -| VCC | | VCC (3.3V) | -| GND | | GND | -| TX or GPIO2* | | RX | -| RX | | TX | -| GPIO0 | PullUp | DTR | -| Reset* | PullUp | RTS | -| GPIO15* | PullDown | | -| CH_PD | PullUp | | - -* Note - - GPIO15 is also named MTDO - - Reset is also named RSBT or REST (adding PullUp improves the stability of the module) - - GPIO2 is alternative TX for the boot loader mode - - **Directly connecting a pin to VCC or GND is not a substitute for a PullUp or PullDown resistor, doing this can break upload management and the serial console, instability has also been noted in some cases.** - -## ESP to Serial -![ESP to Serial](ESP_to_serial.png) - -### Minimal Hardware Setup for Bootloading only ## -ESPxx Hardware - -| PIN | Resistor | Serial Adapter | -| ------------- | -------- | --------------- | -| VCC | | VCC (3.3V) | -| GND | | GND | -| TX or GPIO2 | | RX | -| RX | | TX | -| GPIO0 | | GND | -| Reset | | RTS* | -| GPIO15 | PullDown | | -| CH_PD | PullUp | | - -* Note - - if no RTS is used a manual power toggle is needed - -### Minimal Hardware Setup for Running only ## - -ESPxx Hardware - -| PIN | Resistor | Power supply | -| ------------- | -------- | --------------- | -| VCC | | VCC (3.3V) | -| GND | | GND | -| GPIO0 | PullUp | | -| GPIO15 | PullDown | | -| CH_PD | PullUp | | - -## Minimal -![ESP min](ESP_min.png) - -## Improved Stability -![ESP improved stability](ESP_improved_stability.png) - -## Boot Messages and Modes - -The ESP module checks at every boot the Pins 0, 2 and 15. -based on them its boots in different modes: - -| GPIO15 | GPIO0 | GPIO2 | Mode | -| ------ | ----- | ----- | -------------------------------- | -| 0V | 0V | 3.3V | Uart Bootloader | -| 0V | 3.3V | 3.3V | Boot sketch (SPI flash) | -| 3.3V | x | x | SDIO mode (not used for Arduino) | - - -at startup the ESP prints out the current boot mode example: -``` -rst cause:2, boot mode:(3,6) -``` - -note: - - GPIO2 is used as TX output and the internal Pullup is enabled on boot. - -### rst cause - -| Number | Description | -| ------ | ---------------------- | -| 0 | unknown | -| 1 | normal boot | -| 2 | reset pin | -| 3 | software reset | -| 4 | watchdog reset | - - -### boot mode - -the first value respects the pin setup of the Pins 0, 2 and 15. - -| Number | GPIO15 | GPIO0 | GPIO2 | Mode | -| ------ | ------ | ----- | ----- | ---------- | -| 0 | 0V | 0V | 0V | Not valid | -| 1 | 0V | 0V | 3.3V | Uart | -| 2 | 0V | 3.3V | 0V | Not valid | -| 3 | 0V | 3.3V | 3.3V | Flash | -| 4 | 3.3V | 0V | 0V | SDIO | -| 5 | 3.3V | 0V | 3.3V | SDIO | -| 6 | 3.3V | 3.3V | 0V | SDIO | -| 7 | 3.3V | 3.3V | 3.3V | SDIO | - -note: - - number = ((GPIO15 << 2) | (GPIO0 << 1) | GPIO2); - -## Generic ESP8285 modules - -ESP8285 ([datasheet](http://espressif.com/sites/default/files/documentation/0a-esp8285_datasheet_en_v1.0_20160422.pdf)) is a multi-chip package which contains ESP8266 and 1MB flash. -All points related to bootstrapping resistors and recommended circuits listed above apply to ESP8285 as well. - -Note that since ESP8285 has SPI flash memory internally connected in DOUT mode, pins 9 and 10 may be used as GPIO / I2C / PWM pins. - -## WeMos D1 -Product page: http://wemos.cc - -## WeMos D1 mini -Product page: http://wemos.cc - -## ESPino (WROOM-02 Module) by ThaiEasyElec -ESPino by ThaiEasyElec using WROOM-02 module from Espressif Systems with 4 MB Flash. - -We will update an English description soon. -- Product page: http://thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html -- Schematics: www.thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_Schematic.pdf -- Dimensions: http://thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_Dimension.pdf -- Pinouts: http://thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_User_Manual_TH_v1_0_20160204.pdf (Please see pg. 8) - -## gen4-IoD Range by 4D Systems -gen4-IoD Range of ESP8266 powered Display Modules by 4D Systems. - -2.4", 2.8" and 3.2" TFT LCD with uSD card socket and Resistive Touch. Chip Antenna + uFL Connector. - -Datasheet and associated downloads can be found on the 4D Systems product page. - -The gen4-IoD range can be programmed using the Arduino IDE and also the 4D Systems Workshop4 IDE, which incorporates many additional graphics benefits. GFX4d library is available, along with a number of demo applications. - -- Product page: http://www.4dsystems.com.au/product/gen4-IoD - - - diff --git a/doc/boards.rst b/doc/boards.rst new file mode 100644 index 0000000000..ec085057bc --- /dev/null +++ b/doc/boards.rst @@ -0,0 +1,376 @@ +Boards +====== + + +Adafruit HUZZAH ESP8266 (ESP-12) +-------------------------------- + +*TODO: add notes* + +ESPresso Lite 1.0 +----------------- + +ESPresso Lite 1.0 (beta version) is an Arduino-compatible Wi-Fi development board powered by Espressif System's own ESP8266 WROOM-02 module. It has breadboard-friendly breakout pins with in-built LED, two reset/flash buttons and a user programmable button . The operating voltage is 3.3VDC, regulated with 800mA maximum current. Special distinctive features include on-board I2C pads that allow direct connection to OLED LCD and sensor boards. + +ESPresso Lite 2.0 +----------------- + +ESPresso Lite 2.0 is an Arduino-compatible Wi-Fi development board based on an earlier V1 (beta version). Re-designed together with Cytron Technologies, the newly-revised ESPresso Lite V2.0 features the auto-load/auto-program function, eliminating the previous need to reset the board manually before flashing a new program. It also feature two user programmable side buttons and a reset button. The special distinctive features of on-board pads for I2C sensor and actuator is retained. + +Phoenix 1.0 +----------- + +Product page: http://www.espert.co + +Phoenix 2.0 +----------- + +Product page: http://www.espert.co + +NodeMCU 0.9 +----------- + +Pin mapping +~~~~~~~~~~~ + +Pin numbers written on the board itself do not correspond to ESP8266 GPIO pin numbers. Constants are defined to make using this board easier: + +.. code:: c++ + + static const uint8_t D0 = 16; + static const uint8_t D1 = 5; + static const uint8_t D2 = 4; + static const uint8_t D3 = 0; + static const uint8_t D4 = 2; + static const uint8_t D5 = 14; + static const uint8_t D6 = 12; + static const uint8_t D7 = 13; + static const uint8_t D8 = 15; + static const uint8_t D9 = 3; + static const uint8_t D10 = 1; + +If you want to use NodeMCU pin 5, use D5 for pin number, and it will be translated to 'real' GPIO pin 14. + +NodeMCU 1.0 +----------- + +This module is sold under many names for around $6.50 on AliExpress and it's one of the cheapest, fully integrated ESP8266 solutions. + +It's an open hardware design with an ESP-12E core and 4 MB of SPI flash. + +Acording to the manufacturer, "with a micro USB cable, you can connect NodeMCU devkit to your laptop and flash it without any trouble". This is more or less true: the board comes with a CP2102 onboard USB to serial adapter which just works, well, the majority of the time. Sometimes flashing fails and you have to reset the board by holding down FLASH + +RST, then releasing FLASH, then releasing RST. This forces the CP2102 device to power cycle and to be re-numbered by Linux. + +The board also features a NCP1117 voltage regulator, a blue LED on GPIO16 and a 220k/100k Ohm voltage divider on the ADC input pin. + +Full pinout and PDF schematics can be found `here `__ + +Olimex MOD-WIFI-ESP8266-DEV +--------------------------- + +This board comes with 2 MB of SPI flash and optional accessories (e.g. evaluation board ESP8266-EVB or BAT-BOX for batteries). + +The basic module has three solder jumpers that allow you to switch the operating mode between SDIO, UART and FLASH. + +The board is shipped for FLASH operation mode, with jumpers TD0JP=0, IO0JP=1, IO2JP=1. + +Since jumper IO0JP is tied to GPIO0, which is PIN 21, you'll have to ground it before programming with a USB to serial adapter and reset the board by power cycling it. + +UART pins for programming and serial I/O are GPIO1 (TXD, pin 3) and GPIO3 (RXD, pin 4). + +You can find the board schematics `here `__ + +Olimex MOD-WIFI-ESP8266 +----------------------- + +This is a stripped down version of the above. Behaves identically in terms of jumpers but has less pins readily available for I/O. Still 2 MB of SPI flash. + +Olimex ESP8266-EVB +------------------ + +It's an Olimex MOD-WIFI-ESP8266-DEV module installed on the headers of a development board which features some breakout connectors, a button (GPIO0) and a relay (GPIO5). + +To download a program you have to connect GND/RX/TX from a serial/USB adapter to the UEXT connector and press the only button before applying power to enter UART mode. + +Don't connect 5V from the serial/USB adapter to the board or you won't be able to power cycle it for UART mode. + +You can find the board schematics `here `__. + +`This guide `__ is also useful for the first setup, since it contains the UEXT connector pinout. + +Board variants include: + +* ESP8266-EVB-BAT: comes with built-in LiPo charger and step-up converter +* ESP8266-EVB-BAT-BOX: as above, but enclosd in a plastic box (non-weatherproof) + +SparkFun ESP8266 Thing +---------------------- + +Product page: https://www.sparkfun.com/products/13231 + +*TODO: add notes* + +SweetPea ESP-210 +---------------- + +*TODO: add notes* + +ESPino +------ + +ESPino integrates the ESP-12 module with a 3.3v regulator, CP2104 USB-Serial bridge and a micro USB connector for easy programming. It is designed for fitting in a breadboard and has an RGB Led and two buttons for easy prototyping. + +For more information about the hardware, pinout diagram and programming procedures, please see the `datasheet `__. + +Product page: http://www.espino.io/en + +WifInfo +------- + +WifInfo integrates the ESP-12 or ESP-07+Ext antenna module with a 3.3v regulator and the hardware to be able to measure French telemetry issue from ERDF powering meter serial output. It has a USB connector for powering, an RGB WS2812 Led, 4 pins I2C connector to fit OLED or sensor, and two buttons + FTDI connector and auto reset feature. + +For more information, please see WifInfo related `blog `__ entries, `github `__ and `community `__ forum. + +Generic ESP8266 modules +----------------------- + +These modules come in different form factors and pinouts. See the page at ESP8266 community wiki for more info: `ESP8266 Module Family `__. + +Usually these modules have no bootstapping resistors on board, insufficient decoupling capacitors, no voltage regulator, no reset circuit, and no USB-serial adapter. This makes using them somewhat tricky, compared to development boards which add these features. + +In order to use these modules, make sure to observe the following: + +- **Provide sufficient power to the module.** For stable use of the ESP8266 a power supply with 3.3V and >= 250mA is required. Using the power available from USB to Serial adapter is not recommended, these adapters typically do not supply enough current to run ESP8266 reliably in every situation. An external supply or regulator alongwith filtering capacitors is preferred. + +- **Connect bootstapping resistors** to GPIO0, GPIO2, GPIO15 according to the schematics below. + +- **Put ESP8266 into bootloader mode** before uploading code. + +Serial Adapter +-------------- + +There are many different USB to Serial adapters / boards. To be able to put ESP8266 into bootloader mode using serial handshaking lines, you need the adapter which breaks out RTS and DTR outputs. CTS and DSR are not useful for upload (they are inputs). Make sure the adapter can work with 3.3V IO voltage: it should have a jumper or a switch to select between 5V and 3.3V, or be marked as 3.3V only. + +Adapters based around the following ICs should work: + +- FT232RL +- CP2102 +- CH340G + +PL2303-based adapters are known not to work on Mac OS X. See https://github.com/igrr/esptool-ck/issues/9 for more info. + +Minimal Hardware Setup for Bootloading and Usage +------------------------------------------------ + ++-----------------+------------+------------------+ +| PIN | Resistor | Serial Adapter | ++=================+============+==================+ +| VCC | | VCC (3.3V) | ++-----------------+------------+------------------+ +| GND | | GND | ++-----------------+------------+------------------+ +| TX or GPIO2\* | | RX | ++-----------------+------------+------------------+ +| RX | | TX | ++-----------------+------------+------------------+ +| GPIO0 | PullUp | DTR | ++-----------------+------------+------------------+ +| Reset\* | PullUp | RTS | ++-----------------+------------+------------------+ +| GPIO15\* | PullDown | | ++-----------------+------------+------------------+ +| CH\_PD | PullUp | | ++-----------------+------------+------------------+ + +- Note +- GPIO15 is also named MTDO +- Reset is also named RSBT or REST (adding PullUp improves the + stability of the module) +- GPIO2 is alternative TX for the boot loader mode +- **Directly connecting a pin to VCC or GND is not a substitute for a + PullUp or PullDown resistor, doing this can break upload management + and the serial console, instability has also been noted in some + cases.** + +ESP to Serial +------------- + +.. figure:: ESP_to_serial.png + :alt: ESP to Serial + + ESP to Serial + +Minimal Hardware Setup for Bootloading only +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ESPxx Hardware + ++---------------+------------+------------------+ +| PIN | Resistor | Serial Adapter | ++===============+============+==================+ +| VCC | | VCC (3.3V) | ++---------------+------------+------------------+ +| GND | | GND | ++---------------+------------+------------------+ +| TX or GPIO2 | | RX | ++---------------+------------+------------------+ +| RX | | TX | ++---------------+------------+------------------+ +| GPIO0 | | GND | ++---------------+------------+------------------+ +| Reset | | RTS\* | ++---------------+------------+------------------+ +| GPIO15 | PullDown | | ++---------------+------------+------------------+ +| CH\_PD | PullUp | | ++---------------+------------+------------------+ + +- Note +- if no RTS is used a manual power toggle is needed + +Minimal Hardware Setup for Running only +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ESPxx Hardware + ++----------+------------+----------------+ +| PIN | Resistor | Power supply | ++==========+============+================+ +| VCC | | VCC (3.3V) | ++----------+------------+----------------+ +| GND | | GND | ++----------+------------+----------------+ +| GPIO0 | PullUp | | ++----------+------------+----------------+ +| GPIO15 | PullDown | | ++----------+------------+----------------+ +| CH\_PD | PullUp | | ++----------+------------+----------------+ + +Minimal +------- + +.. figure:: ESP_min.png + :alt: ESP min + + ESP min + +Improved Stability +------------------ + +.. figure:: ESP_improved_stability.png + :alt: ESP improved stability + + ESP improved stability + +Boot Messages and Modes +----------------------- + +The ESP module checks at every boot the Pins 0, 2 and 15. based on them its boots in different modes: + ++----------+---------+---------+------------------------------------+ +| GPIO15 | GPIO0 | GPIO2 | Mode | ++==========+=========+=========+====================================+ +| 0V | 0V | 3.3V | Uart Bootloader | ++----------+---------+---------+------------------------------------+ +| 0V | 3.3V | 3.3V | Boot sketch (SPI flash) | ++----------+---------+---------+------------------------------------+ +| 3.3V | x | x | SDIO mode (not used for Arduino) | ++----------+---------+---------+------------------------------------+ + +at startup the ESP prints out the current boot mode example: + +:: + + rst cause:2, boot mode:(3,6) + +note: - GPIO2 is used as TX output and the internal Pullup is enabled on boot. + +rst cause +~~~~~~~~~ + ++----------+------------------+ +| Number | Description | ++==========+==================+ +| 0 | unknown | ++----------+------------------+ +| 1 | normal boot | ++----------+------------------+ +| 2 | reset pin | ++----------+------------------+ +| 3 | software reset | ++----------+------------------+ +| 4 | watchdog reset | ++----------+------------------+ + +boot mode +~~~~~~~~~ + +the first value respects the pin setup of the Pins 0, 2 and 15. + ++----------+----------+---------+---------+-------------+ +| Number | GPIO15 | GPIO0 | GPIO2 | Mode | ++==========+==========+=========+=========+=============+ +| 0 | 0V | 0V | 0V | Not valid | ++----------+----------+---------+---------+-------------+ +| 1 | 0V | 0V | 3.3V | Uart | ++----------+----------+---------+---------+-------------+ +| 2 | 0V | 3.3V | 0V | Not valid | ++----------+----------+---------+---------+-------------+ +| 3 | 0V | 3.3V | 3.3V | Flash | ++----------+----------+---------+---------+-------------+ +| 4 | 3.3V | 0V | 0V | SDIO | ++----------+----------+---------+---------+-------------+ +| 5 | 3.3V | 0V | 3.3V | SDIO | ++----------+----------+---------+---------+-------------+ +| 6 | 3.3V | 3.3V | 0V | SDIO | ++----------+----------+---------+---------+-------------+ +| 7 | 3.3V | 3.3V | 3.3V | SDIO | ++----------+----------+---------+---------+-------------+ + +note: - number = ((GPIO15 << 2) \| (GPIO0 << 1) \| GPIO2); + +Generic ESP8285 modules +----------------------- + +ESP8285 (`datasheet `__) is a multi-chip package which contains ESP8266 and 1MB flash. All points related to bootstrapping resistors and recommended circuits listed above apply to ESP8285 as well. + +Note that since ESP8285 has SPI flash memory internally connected in DOUT mode, pins 9 and 10 may be used as GPIO / I2C / PWM pins. + +WeMos D1 +-------- + +Product page: https://www.wemos.cc/ + +WeMos D1 mini +------------- + +Product page: https://www.wemos.cc/ + +ESPino (WROOM-02 Module) by ThaiEasyElec +---------------------------------------- + +ESPino by ThaiEasyElec using WROOM-02 module from Espressif Systems with 4 MB Flash. + +We will update an English description soon. - Product page: +http://thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html +- Schematics: +www.thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_Schematic.pdf - +Dimensions: +http://thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_Dimension.pdf +- Pinouts: +http://thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_User\_Manual\_TH\_v1\_0\_20160204.pdf (Please see pg. 8) + + +gen4-IoD Range by 4D Systems +---------------------------- + +gen4-IoD Range of ESP8266 powered Display Modules by 4D Systems. + +2.4", 2.8" and 3.2" TFT LCD with uSD card socket and Resistive Touch. Chip Antenna + uFL Connector. + +Datasheet and associated downloads can be found on the 4D Systems product page. + +The gen4-IoD range can be programmed using the Arduino IDE and also the 4D Systems Workshop4 IDE, which incorporates many additional graphics benefits. GFX4d library is available, along with a number of demo applications. + +- Product page: http://www.4dsystems.com.au/product/gen4-IoD diff --git a/doc/changes.md b/doc/changes.md deleted file mode 100644 index df07d5a95e..0000000000 --- a/doc/changes.md +++ /dev/null @@ -1,364 +0,0 @@ ---- -title: Change Log ---- - -## 2.3.0 -June 23, 2016 - -Package link: `http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json`. - -### Core -- Fix NMI interrupt handler alignment -- Update SDK to 1.5.3 -- umm_malloc: print block start address before heap corruption callback is triggered -- If GDBStub library is used, break into gdb on assert and panic -- Add option to keep FS classes in namespace (#2030) -- Add SPIFFS::end (#1657) -- Add ArduinoOTA::getHostname() interface -- Add __throw_out_of_range -- Add support for RTC user memory in ESP-specific APIs. (#1836) -- Expose RTC_USER_MEM in esp8266_peri.h -- Remove DISABLED macro (#2072) -- Execute global constructors in correct order (#2074) -- Real board name available in Sketch/MDNS/OTA (#2054) -- Add DOUT/QOUT flash modes -- Add ESP8285 entry in boards menu -- Move timer detachInterrupt functions into IRAM (#2083) -- Make Updater be able to run inside async callbacks (#2096) -- Add new boards Phoenix 1.0 & Phoenix 2.0 (#2088) -- Store git version of the core in the compiled binary (#2099) -- Rebuild libstdc++ with mlongcalls and link against it (#1983) -- Add mechanism for posting functions to the main loop (#2082) -- MD5Builder::addStream: fixed falsy calculated hash for len > filelength (#2126) -- Fix SPIFFS.openDir("") (#2143) -- Bring back old semantics to random and randomSeed, add secureRandom (#1710) (#2142) -- Add missing pgm_read_ptr{_near/_far} macros (#2160) -- Add macro for maximum open SPIFFS files, settings it to 1 saves about 1k heap. (#2167) -- Fix UART pins setting (#2098) -- Fix ESP.getSketchSize, add ESP.getSketchMD5 (#2158) -- Add Serial.baudRate() to get current baud rate (#2079) - -### Libraries - -- SNI support in WiFiClientSecure (#1285) -- Update axTLS to 139914f -- HTTPClient: return error when HTTPClient::begin is called with HTTPS URL without certificate fingerprint (#1941) -- HTTPClient: fix default port not being set -- HTTPClient: fix handling of chunked transfer encoding (#1975) -- ESP8266SSDP: switch SSDP send arguments around -- ESP8266WiFi: fix UdpContext::peek to return int (#1946) -- ESP8266WiFi: fix WiFiSleepType_t values to match SDK ones -- LwIP: use gcc-built LwIP by default (#1926) -- LwIP: fix crash in igmp_start_timer (#1826) -- HTTPClient: include non-standard ports in Host: header -- ESP8266WiFi: Prevent WiFi config corruption (#1997 #1856 #1699 #1675) -- GDBStub: fix section attribute for core gdbstub functions -- Wire: I2C bus reset with info to user -- ESP8266HTTPClient: allow HTTP header value without LWS -- ESP8266mDNS: Fix mDNS doesn't accept queryService responses from avahi-daemon (#2015) -- Add MFRC522 to supported libraries (#2044) -- Update axTLS to ab516f7 (1.5.3+) -- Mention ESP8266Ping library -- ESP8266HTTPClient: fix duplicate Content-Length headers (#1902) -- ESP8266HTTPUpdateServer: make HTTP Update Server more secure (#2104) -- ESP8266WiFi: add virtual destructor to WiFiServer class (#2116) -- ESP8266WiFi: fix error when calling `WiFiServer::close` more than once -- ESP8266WiFi: WiFi event handling refactoring (#2119) -- ESP8266mDNS: restart listening when WiFi STA is connected/disconnected (#1828) -- ESP8266WiFi: allow DHCP client to be re-enabled using WiFi.config(0U, 0U, 0U) (#1896) -- ESP8266WiFi: enable SO_REUSE in LwIP and WiFiServer (#1431) -- ESP8266WebServer: make ESP8266WebServer::urlDecode public (#1419) -- LwIP: sntp_localtime: return -1 in tm_isdst field (#2010) -- ESP8266WiFi: fix for crash in WiFiClientSecure when WiFi is disconnected (#2139) -- SD: Prevent WDT resets in SD library (#1815) -- ESP8266WiFi: Fix issue when WiFi.begin(ssid, pass) is called right after WiFi.mode(WIFI_OFF) - -### Tools - -- Python 3 compatibility for get.py -- Device side test library and test runner -- Fix ARM toolchain files permissions (#2004) -- Update esptool to 0.4.9 - -## 2.2.0 -April 18, 2016 - -Package link: `http://arduino.esp8266.com/versions/2.2.0/package_esp8266com_index.json`. - -### Core -- Leverage realloc() in String::changeBuffer() -- Clean up core files -- Add host side tests -- Fix possible null pointer in umm_malloc -- Remove "Upload Using" option from Tools menu -- Move attachInterrupt and detachInterrupt into IRAM (#1734) -- Implement strstr_P -- Allow indefinite duration for tone() -- Fix crashes when using tone() -- Fix RF_MODE and ADC_MODE -- Move micros, delayMicroseconds, millis to IRAM (#1326) -- Fix pulseIn (#1072, #1149) -- Accept both named constant and ADC channel number in analogRead (#1766) -- Enable heap poisoning only when debug options are enabled (#1800) -- Bootloader: don't touch RTC memory if it doesn't contain a valid command (#619) -- Update SDK to 1.5.2 (#1653) -- Clean up variants, fix digitalPinHasPWM definition (#1831) -- Don't set RF mode on boot unless it was overridden -- Change build.board property for boards which renumber pins like NodeMCU (#1878) -- Fix Exception 2 when using printf or vprintf - -### Libraries -- Update axTLS to 5b4be7d -- WiFiClientSecure: implement connection timeout, fix connected method behavior -- WiFiClient: fix write behavior when connection is closed by remote side -- ESP8266HTTPServer: add font MIME types, fix #1601 -- ESP8266mDNS: add client support -- Update SPIFFS to 82aeac6 -- Servo: move some functions into IRAM (#1742) -- Update SoftwareSerial to version 3.1.0 -- ESP8266SSDP: change templates to include deviceType -- ESP8266WebServer: handle more file types -- SPI: add CPOL setting -- ESP8266WebServer: Fix buffer overflow in ESP8266WebServer::authenticate (#1790) -- ESP8266WiFi: fix undefined behavior in WiFiServer::setNoDelay (#1695) -- Servo: use peripheral clock frequency when calculating FRC1 tick count (#1789) -- ESP8266WiFi: avoid multiple instances of INADDR_NONE -- Add LwIP binary built with gcc -- ESP8266WiFi: Allow PSK instead of passphrase in WiFiSTA::begin -- SPI: Fix SPI.transfer16() using wrong endianness -- HTTPClient: decouple transport layer handling + save some RAM -- ESP8266httpUpdate: decouple HTTPS overloads + save some RAM -- Update and move lwIP headers, add options to use different lwIP build -- ESP8266WebServer: wait for data to arrive -- ESP8266WebServer: save RAM by moving response strings to flash (#1732) -- SPI: Speed up SPI.writePattern() - - -### Tools -- Add ARM tools (#269) - ---- -## 2.1.0 -February 27, 2016 - -Package link: `http://arduino.esp8266.com/versions/2.1.0/package_esp8266com_index.json`. - -### Core - -- Add function to know last reset reason. -- Allow control of enabling debug and debug level from IDE -- Add espduino board -- Rework StreamString::write to use String internal buffer directly (#1289) -- Add function to measure stack high water mark -- Fix RAM corruption caused by our hook of register_chipv6_phy(init_data*). -- Optimize PWM interrupt handler for better precision -- Add warning levels configurable through Preferences -- SPIFFS: check if path length is valid (#1089) -- Set CPU frequency before running setup -- Add core_esp8266_features.h to be able to detect the features and libraries included in the ESP core -- Add ESPino to supported boards -- Fix pwm first step getting skipped -- Update SDK to 1.5.1_16_01_08 -- Bufferless and interruptless HardwareSerial -- HardwareSerial: allow mapping of UART0 TX to GPIO2 -- Add 128K SPIFFS for 512KB modules -- Reduce stack usage by Print::printf -- Fix a crash in String::changeBuffer() -- Implement static initialization guards (#500) -- Implementation of Tone API using timer1 -- Use umm_malloc for heap management -- Configurable I2C clock stretching limit -- Add a new board entry for the SparkFun Thing Dev - -### Libraries - -- ESP8266HTTPClient: add CHUNKED encoding support (#1324) -- Fixed crash bug with mDNS where a string buffer could be used uninitialized -- Add WiFi TX power control -- Add WiFi sleep management -- Allow to hook into WiFi events from sketch -- Allow setting TCP timeout -- Add setSleepMode + getSleepMode and setPhyMode + getPhyMode to WiFi -- Update GDBStub library with the source of esp-gdbstub -- Servo: fix detach and attach -- ESP8266mDNS: refactoring, add TXT support -- Add HTTP Basic Auth to WebServer and libb64 (base64) to core -- Fix link-time dependency of ESP8266WebServer on SPIFFS (#862) -- Allow setting client side TLS key and certificate -- Replace chain of UDP pbufs with a single pbuf before sending (#1009) -- Unique Built-In libraries library.properties name -- Improvements for MD5Builder with Stream -- ESP8266SSDP: fixing TTL to 2 per spec -- ESP8266WebServer: a content length of zero should also be sent -- Use SoftwareSerial version 2.2 -- EEPROM: optimised `_dirty` flag -- ESP8266mDNS: advertise all hosted services -- Remove bundled OneWire - ESP8266 support has been merged in the official OneWire sources -- WiFiClientSecure: don't panic if memory allocation fails -- Verify domain name in WiFiClientSecure::verify -- Speed up WiFi.hostByName when the hostname is actually an IP -- Fix WiFi scan issue (#1355) -- Workaround for LwIP not handling ERR_ABRT -- Servo value read and write fixes - -### Tools - -- espota.py: add support for manually selecting ip and port for host side -- Update esptool to 0.4.8 -- Make espota compatible with python 3.5 - ---- -## 2.0.0 -November 30, 2015 - -Package link: `http://arduino.esp8266.com/versions/2.0.0/package_esp8266com_index.json`. - -### Core - -- Add file system APIs and documentation -- Add ConfigFile example -- Allow user to run code in user_rf_pre_init -- Add strtoul and strtol, fix strtod -- Update documentation for NodeMCU and Olimex boards -- Disable interrupts inside ESP.getVcc (#567) -- Erase RTC RAM only if RF mode looks invalid (#619) -- Get pin levels at time of interrupt, rather than the time of calling the handler. -- Move interrupt handlers to ram. -- Improve debug output on critical errors -- Add ArduinoOTA library and docs -- Add WeMos D1 & D1 mini boards -- Add documentation about boot messages and mode meaning -- Disable sleep mode before doing OTA (#1005) -- Add the ability to be called back when the device is about to reset -- Add "Reset Method" menu -- Add MD5 to core -- I2C: generate STOP in case of NACK (fix #698, #254) -- Add libc time functions -- Fix linker script for 512k(no SPIFFS) variant (#966) -- I2S optimizations -- Support Sketch > Export compiled binary -- Update SPIFFS wrapper for 0.3.3 -- Fix placement of code into RAM, enable gc-sections -- Make soft wdt reset more obvious -- Force disable IOSWAP for UART0 in HardwareSerial initialization (#744) -- Add IPAddress::toString() - - -### Libraries - -- ESP8266WebServer: support for sending of PROGMEM strings -- ESP8266WebServer: support for serving files from file system -- ESP8266WiFi: fix mode selection (#529) -- ESP8266mDNS: allow to work on SoftAP interface -- EEPROM: round requested size to 4 bytes (#659) -- Add ESP8266AVRISP library -- Add ESP8266HTTPUpdate library -- Add HTTPClient library -- Add WiFiClientSecure -- ESP8266WiFi library: add persistent option, fix #1054 -- Make RequestHandler handle uploads -- Add Digest Authentication to OTA and espota.py -- Don't close UDP pcbs when WiFi connection drops (#969) -- Add espsoftwareserial library -- Add HTTP Updater library -- Add Ethernet library for W5100 -- Add SPIFFS WebServer Example -- add dnsIP() to ESP8266WiFi class -- OTA support encapsulated to ArduinoOTA class -- Add gdb stub library -- Extracted the WebUpdate example into a library. -- Fix to Servo allowing write() to be called before attach() -- ESP8266WiFi: add function `begin` without any parameters and add `psk` function to return current PSK form sdk config -- Fix a crash due to abort() called from TCP error callback (#428) -- Adding support for OPTIONS requests to ESP8266WebServer -- Add HTTPS request sample (#43) -- Fix _useClientMode & _useApMode in SDK auto connect mode (#754) -- Add ESP8266WebServer::sendContent_P with 'size_t size' argument for binary content -- Fix bug in WiFiClient::write_P when content was binary -- Add WiFiClient::write_P to be used with PROGMEM - -### Tools - -- Update SDK to 1.3.0_15_08_10_p1 -- Update esptool to 0.4.6 -- Bump toolchain version to force libm update on Windows -- ESP8266FS tool update - ---- -## 1.6.5-947-g39819f0 -July 23, 2015 - -Package link: `http://arduino.esp8266.com/versions/1.6.5-947-g39819f0/package_esp8266com_index.json`. - -### Core - -- I2C library updated to better handle repeated start for certain devices, - improved waveforms, higher frequencies for 160MHz core clock, fix case where - using different pins would not work with libs calling begin internally. -- Add Adafruit HUZZAH board -- Add SparkFun Thing board -- Add SweetPea ESP-210 board -- Add eboot bootloader -- Timer0 support -- Add PWM range and frequency control -- Add ESP.eraseConfig method -- Fix pin change interrupt handling (#322) -- Add SLC and I2S register definitions -- Fix math functions calling themselves recursively (#233, #354) -- Print stack on exception and soft WDT reset -- Add Updater class -- Remove implementations of WDT-related functions -- Provide selection between A0 and VCC (#443, #338) - -### Libraries - -- ESP8266WebServer: add gzip streaming, fix sendContent behaviour, - add setContentSize method. -- ESP8266WiFi: add BSSID, channel, isHidden methods, fix AP/STA mode - selection (#28). -- Better handling of WiFi disconnect (#231) -- Add API to set the beginning of local ports range for WiFiClient. -- Add RSSI function -- Add function to get the MAC / BSSID as String -- Servo library support -- Add ESP8266WiFiMesh library -- Add ESP8266SSDP library -- Add DNS-SD support to ESP8266mDNS library - -### Tools - -- Update SDK to v1.2.0_15_07_03 -- Better sketch size reporting (#314) -- Update esptool to 0.4.5 - ---- - -## 1.6.4-673-g8cd3697 -May 22, 2015 - -Package link: `http://arduino.esp8266.com/versions/1.6.4-673-g8cd3697/package_esp8266com_index.json`. - -### Tools - -- Add 32-bit Linux toolchain. -- Rebuild toolchain and esptool with support for OS X down to 10.6. - -### Libraries - -- Better connection handling in ESP8266WebServer. - The server now sends Content-Length and Connection: close headers, - then waits for the client to disconnect. By not closing the connection - actively, server avoids TIME_WAIT TCP state, and TCP stack is able to - release the memory immediately, without waiting for 2xMSL period. - If the client doesn't disconnect in 2000ms, the server closes the connection - actively. -- Add Hash library, which has a function to calculate SHA1 hash. -- SD, Adafruit_ILI9341, and OneWire libraries are now bundled. -- Fix incorrect sector calculation in EEPROM library. - ---- - -## 1.6.4-628-g545ffde -May 19, 2015 - -- Initial release of Boards Manager package for ESP8266 platform. diff --git a/doc/changes.rst b/doc/changes.rst new file mode 100644 index 0000000000..767f33a2a8 --- /dev/null +++ b/doc/changes.rst @@ -0,0 +1,293 @@ +Changelog +========= + +2.3.0 +----- + +June 23, 2016 + +Package link: +``http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json``. + +Core +~~~~ + +- Fix NMI interrupt handler alignment +- Update SDK to 1.5.3 +- umm\_malloc: print block start address before heap corruption + callback is triggered +- If GDBStub library is used, break into gdb on assert and panic +- Add option to keep FS classes in namespace (#2030) +- Add SPIFFS::end (#1657) +- Add ArduinoOTA::getHostname() interface +- Add \_\_throw\_out\_of\_range +- Add support for RTC user memory in ESP-specific APIs. (#1836) +- Expose RTC\_USER\_MEM in esp8266\_peri.h +- Remove DISABLED macro (#2072) +- Execute global constructors in correct order (#2074) +- Real board name available in Sketch/MDNS/OTA (#2054) +- Add DOUT/QOUT flash modes +- Add ESP8285 entry in boards menu +- Move timer detachInterrupt functions into IRAM (#2083) +- Make Updater be able to run inside async callbacks (#2096) +- Add new boards Phoenix 1.0 & Phoenix 2.0 (#2088) +- Store git version of the core in the compiled binary (#2099) +- Rebuild libstdc++ with mlongcalls and link against it (#1983) +- Add mechanism for posting functions to the main loop (#2082) +- MD5Builder::addStream: fixed falsy calculated hash for len > + filelength (#2126) +- Fix SPIFFS.openDir("") (#2143) +- Bring back old semantics to random and randomSeed, add secureRandom + (#1710) (#2142) +- Add missing pgm\_read\_ptr{\_near/\_far} macros (#2160) +- Add macro for maximum open SPIFFS files, settings it to 1 saves about + 1k heap. (#2167) +- Fix UART pins setting (#2098) +- Fix ESP.getSketchSize, add ESP.getSketchMD5 (#2158) +- Add Serial.baudRate() to get current baud rate (#2079) + +Libraries +~~~~~~~~~ + +- SNI support in WiFiClientSecure (#1285) +- Update axTLS to 139914f +- HTTPClient: return error when HTTPClient::begin is called with HTTPS + URL without certificate fingerprint (#1941) +- HTTPClient: fix default port not being set +- HTTPClient: fix handling of chunked transfer encoding (#1975) +- ESP8266SSDP: switch SSDP send arguments around +- ESP8266WiFi: fix UdpContext::peek to return int (#1946) +- ESP8266WiFi: fix WiFiSleepType\_t values to match SDK ones +- LwIP: use gcc-built LwIP by default (#1926) +- LwIP: fix crash in igmp\_start\_timer (#1826) +- HTTPClient: include non-standard ports in Host: header +- ESP8266WiFi: Prevent WiFi config corruption (#1997 #1856 #1699 #1675) +- GDBStub: fix section attribute for core gdbstub functions +- Wire: I2C bus reset with info to user +- ESP8266HTTPClient: allow HTTP header value without LWS +- ESP8266mDNS: Fix mDNS doesn't accept queryService responses from + avahi-daemon (#2015) +- Add MFRC522 to supported libraries (#2044) +- Update axTLS to ab516f7 (1.5.3+) +- Mention ESP8266Ping library +- ESP8266HTTPClient: fix duplicate Content-Length headers (#1902) +- ESP8266HTTPUpdateServer: make HTTP Update Server more secure (#2104) +- ESP8266WiFi: add virtual destructor to WiFiServer class (#2116) +- ESP8266WiFi: fix error when calling ``WiFiServer::close`` more than + once +- ESP8266WiFi: WiFi event handling refactoring (#2119) +- ESP8266mDNS: restart listening when WiFi STA is + connected/disconnected (#1828) +- ESP8266WiFi: allow DHCP client to be re-enabled using WiFi.config(0U, + 0U, 0U) (#1896) +- ESP8266WiFi: enable SO\_REUSE in LwIP and WiFiServer (#1431) +- ESP8266WebServer: make ESP8266WebServer::urlDecode public (#1419) +- LwIP: sntp\_localtime: return -1 in tm\_isdst field (#2010) +- ESP8266WiFi: fix for crash in WiFiClientSecure when WiFi is + disconnected (#2139) +- SD: Prevent WDT resets in SD library (#1815) +- ESP8266WiFi: Fix issue when WiFi.begin(ssid, pass) is called right + after WiFi.mode(WIFI\_OFF) + +Tools +~~~~~ + +- Python 3 compatibility for get.py +- Device side test library and test runner +- Fix ARM toolchain files permissions (#2004) +- Update esptool to 0.4.9 + +2.2.0 +----- + +April 18, 2016 + +Package link: +``http://arduino.esp8266.com/versions/2.2.0/package_esp8266com_index.json``. + +Core +~~~~ + +- Leverage realloc() in String::changeBuffer() +- Clean up core files +- Add host side tests +- Fix possible null pointer in umm\_malloc +- Remove "Upload Using" option from Tools menu +- Move attachInterrupt and detachInterrupt into IRAM (#1734) +- Implement strstr\_P +- Allow indefinite duration for tone() +- Fix crashes when using tone() +- Fix RF\_MODE and ADC\_MODE +- Move micros, delayMicroseconds, millis to IRAM (#1326) +- Fix pulseIn (#1072, #1149) +- Accept both named constant and ADC channel number in analogRead + (#1766) +- Enable heap poisoning only when debug options are enabled (#1800) +- Bootloader: don't touch RTC memory if it doesn't contain a valid + command (#619) +- Update SDK to 1.5.2 (#1653) +- Clean up variants, fix digitalPinHasPWM definition (#1831) +- Don't set RF mode on boot unless it was overridden +- Change build.board property for boards which renumber pins like + NodeMCU (#1878) +- Fix Exception 2 when using printf or vprintf + +Libraries +~~~~~~~~~ + +- Update axTLS to 5b4be7d +- WiFiClientSecure: implement connection timeout, fix connected method + behavior +- WiFiClient: fix write behavior when connection is closed by remote + side +- ESP8266HTTPServer: add font MIME types, fix #1601 +- ESP8266mDNS: add client support +- Update SPIFFS to 82aeac6 +- Servo: move some functions into IRAM (#1742) +- Update SoftwareSerial to version 3.1.0 +- ESP8266SSDP: change templates to include deviceType +- ESP8266WebServer: handle more file types +- SPI: add CPOL setting +- ESP8266WebServer: Fix buffer overflow in + ESP8266WebServer::authenticate (#1790) +- ESP8266WiFi: fix undefined behavior in WiFiServer::setNoDelay (#1695) +- Servo: use peripheral clock frequency when calculating FRC1 tick + count (#1789) +- ESP8266WiFi: avoid multiple instances of INADDR\_NONE +- Add LwIP binary built with gcc +- ESP8266WiFi: Allow PSK instead of passphrase in WiFiSTA::begin +- SPI: Fix SPI.transfer16() using wrong endianness +- HTTPClient: decouple transport layer handling + save some RAM +- ESP8266httpUpdate: decouple HTTPS overloads + save some RAM +- Update and move lwIP headers, add options to use different lwIP build +- ESP8266WebServer: wait for data to arrive +- ESP8266WebServer: save RAM by moving response strings to flash + (#1732) +- SPI: Speed up SPI.writePattern() + +Tools +~~~~~ + +- Add ARM tools (#269) + +2.0.0 +----- + +November 30, 2015 + +Package link: +``http://arduino.esp8266.com/versions/2.0.0/package_esp8266com_index.json``. + +Core +~~~~ + +- Add file system APIs and documentation +- Add ConfigFile example +- Allow user to run code in user\_rf\_pre\_init +- Add strtoul and strtol, fix strtod +- Update documentation for NodeMCU and Olimex boards +- Disable interrupts inside ESP.getVcc (#567) +- Erase RTC RAM only if RF mode looks invalid (#619) +- Get pin levels at time of interrupt, rather than the time of calling + the handler. +- Move interrupt handlers to ram. +- Improve debug output on critical errors +- Add ArduinoOTA library and docs +- Add WeMos D1 & D1 mini boards +- Add documentation about boot messages and mode meaning +- Disable sleep mode before doing OTA (#1005) +- Add the ability to be called back when the device is about to reset +- Add "Reset Method" menu +- Add MD5 to core +- I2C: generate STOP in case of NACK (fix #698, #254) +- Add libc time functions +- Fix linker script for 512k(no SPIFFS) variant (#966) +- I2S optimizations +- Support Sketch > Export compiled binary +- Update SPIFFS wrapper for 0.3.3 +- Fix placement of code into RAM, enable gc-sections +- Make soft wdt reset more obvious +- Force disable IOSWAP for UART0 in HardwareSerial initialization + (#744) +- Add IPAddress::toString() + +Libraries +~~~~~~~~~ + +- ESP8266WebServer: support for sending of PROGMEM strings +- ESP8266WebServer: support for serving files from file system +- ESP8266WiFi: fix mode selection (#529) +- ESP8266mDNS: allow to work on SoftAP interface +- EEPROM: round requested size to 4 bytes (#659) +- Add ESP8266AVRISP library +- Add ESP8266HTTPUpdate library +- Add HTTPClient library +- Add WiFiClientSecure +- ESP8266WiFi library: add persistent option, fix #1054 +- Make RequestHandler handle uploads +- Add Digest Authentication to OTA and espota.py +- Don't close UDP pcbs when WiFi connection drops (#969) +- Add espsoftwareserial library +- Add HTTP Updater library +- Add Ethernet library for W5100 +- Add SPIFFS WebServer Example +- add dnsIP() to ESP8266WiFi class +- OTA support encapsulated to ArduinoOTA class +- Add gdb stub library +- Extracted the WebUpdate example into a library. +- Fix to Servo allowing write() to be called before attach() +- ESP8266WiFi: add function ``begin`` without any parameters and add + ``psk`` function to return current PSK form sdk config +- Fix a crash due to abort() called from TCP error callback (#428) +- Adding support for OPTIONS requests to ESP8266WebServer +- Add HTTPS request sample (#43) +- Fix \_useClientMode & \_useApMode in SDK auto connect mode (#754) +- Add ESP8266WebServer::sendContent\_P with 'size\_t size' argument for + binary content +- Fix bug in WiFiClient::write\_P when content was binary +- Add WiFiClient::write\_P to be used with PROGMEM + +Tools +~~~~~ + +- Update SDK to 1.3.0\_15\_08\_10\_p1 +- Update esptool to 0.4.6 +- Bump toolchain version to force libm update on Windows +- ESP8266FS tool update + +1.6.4-673-g8cd3697 +------------------ + +May 22, 2015 + +Package link: +``http://arduino.esp8266.com/versions/1.6.4-673-g8cd3697/package_esp8266com_index.json``. + +Tools +~~~~~ + +- Add 32-bit Linux toolchain. +- Rebuild toolchain and esptool with support for OS X down to 10.6. + +Libraries +~~~~~~~~~ + +- Better connection handling in ESP8266WebServer. The server now sends + Content-Length and Connection: close headers, then waits for the + client to disconnect. By not closing the connection actively, server + avoids TIME\_WAIT TCP state, and TCP stack is able to release the + memory immediately, without waiting for 2xMSL period. If the client + doesn't disconnect in 2000ms, the server closes the connection + actively. +- Add Hash library, which has a function to calculate SHA1 hash. +- SD, Adafruit\_ILI9341, and OneWire libraries are now bundled. +- Fix incorrect sector calculation in EEPROM library. + +-------------- + +1.6.4-628-g545ffde +------------------ + +May 19, 2015 + +- Initial release of Boards Manager package for ESP8266 platform. diff --git a/doc/conf.py b/doc/conf.py new file mode 100644 index 0000000000..2c0f130ca1 --- /dev/null +++ b/doc/conf.py @@ -0,0 +1,169 @@ +# -*- coding: utf-8 -*- +# +# ESP8266 Arduino Core documentation build configuration file, created by +# sphinx-quickstart on Sun Feb 19 14:51:34 2017. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import os +import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'ESP8266 Arduino Core' +copyright = u'2017, Ivan Grokhotkov' +author = u'Ivan Grokhotkov' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = u'2.4.0' +# The full version, including alpha/beta/rc tags. +release = u'2.4.0' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + + +# -- Options for HTMLHelp output ------------------------------------------ + +# Output file base name for HTML help builder. +htmlhelp_basename = 'ESP8266ArduinoCoredoc' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'ESP8266ArduinoCore.tex', u'ESP8266 Arduino Core Documentation', + u'Ivan Grokhotkov', 'manual'), +] + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'esp8266arduinocore', u'ESP8266 Arduino Core Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'ESP8266ArduinoCore', u'ESP8266 Arduino Core Documentation', + author, 'ESP8266ArduinoCore', 'One line description of project.', + 'Miscellaneous'), +] + +linkcheck_anchors_ignore = ["/#!"] + +# -- Use sphinx_rtd_theme for local builds -------------------------------- +# ref. https://github.com/snide/sphinx_rtd_theme#using-this-theme-locally-then-building-on-read-the-docs +# +# on_rtd is whether we are on readthedocs.org +env_readthedocs = os.environ.get('READTHEDOCS', None) +print env_readthedocs + +if not env_readthedocs: # only import and set the theme if we're building docs locally + import sphinx_rtd_theme + html_theme = 'sphinx_rtd_theme' + html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] + + diff --git a/doc/eclipse/eclipse.md b/doc/eclipse/eclipse.md deleted file mode 100644 index 348d1cf19e..0000000000 --- a/doc/eclipse/eclipse.md +++ /dev/null @@ -1,38 +0,0 @@ -using Eclipse with Arduino ESP8266 -=========================================== - -### What to Download ### -- [arduino IDE](https://www.arduino.cc/en/Main/Software) -- [Eclipse IDE for C/C++ Developers](http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/marsr) -- [Java](http://www.java.com/) - -### Setup Arduino ### - see the [Readme](https://github.com/esp8266/Arduino#installing-with-boards-manager) - -### Setup Eclipse ### -- [step 1](http://www.baeyens.it/eclipse/how_to.shtml#/c) -- [step 2](http://www.baeyens.it/eclipse/how_to.shtml#/e) -- go to Window --> preferences --> Arduino -- add as private hardware path the Part to the ESP8266 - -###### example private hardware path - Windows: C:\Users\[username]\AppData\Roaming\Arduino15\packages\esp8266\hardware - Linux: /home/[username]/.arduino15/packages/esp8266/hardware - -### Eclipse wont build ### -if eclipse dont find the path to the Compiler add to the platform.txt -after: -``` -version=1.6.4 -``` -this: -``` -runtime.tools.xtensa-lx106-elf-gcc.path={runtime.platform.path}/../../../tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9 -runtime.tools.esptool.path={runtime.platform.path}/../../../tools/esptool/0.4.4 -``` -Note: - - the path may changed, check the current version. - - each update over the Arduino IDE will remove the fix - - may not needed in future if Eclipse Plugin get an Update - - \ No newline at end of file diff --git a/doc/eclipse/eclipse.rst b/doc/eclipse/eclipse.rst new file mode 100644 index 0000000000..f8ee6e8d89 --- /dev/null +++ b/doc/eclipse/eclipse.rst @@ -0,0 +1,53 @@ +Using Eclipse with Arduino ESP8266 +================================== + +What to Download +~~~~~~~~~~~~~~~~ + +- `arduino IDE `__ +- `Eclipse IDE for C/C++ + Developers `__ +- `Java `__ + +Setup Arduino +~~~~~~~~~~~~~ + +See the +`Readme `__ + +Setup Eclipse +~~~~~~~~~~~~~ + +- `step 1 `__ +- `step 2 `__ +- go to Window --> preferences --> Arduino +- add as private hardware path the Part to the ESP8266 + +example private hardware path + + +:: + + Windows: C:\Users\[username]\AppData\Roaming\Arduino15\packages\esp8266\hardware + Linux: /home/[username]/.arduino15/packages/esp8266/hardware + +Eclipse wont build +~~~~~~~~~~~~~~~~~~ + +if eclipse dont find the path to the Compiler add to the platform.txt +after: + +:: + + version=1.6.4 + +this: + +:: + + runtime.tools.xtensa-lx106-elf-gcc.path={runtime.platform.path}/../../../tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9 + runtime.tools.esptool.path={runtime.platform.path}/../../../tools/esptool/0.4.4 + +Note: - the path may changed, check the current version. - each update +over the Arduino IDE will remove the fix - may not needed in future if +Eclipse Plugin get an Update diff --git a/doc/esp8266wifi/client-class.md b/doc/esp8266wifi/client-class.md deleted file mode 100644 index 48c685a40a..0000000000 --- a/doc/esp8266wifi/client-class.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: ESP8266WiFi Client Class ---- - -[ESP8266WiFi Library :back:](readme.md#client) - - -## Client Class - -Methods documented for [Client](https://www.arduino.cc/en/Reference/WiFiClientConstructor) in [Arduino](https://github.com/arduino/Arduino) - -1. [WiFiClient()](https://www.arduino.cc/en/Reference/WiFiClient) -2. [connected()](https://www.arduino.cc/en/Reference/WiFiClientConnected) -3. [connect()](https://www.arduino.cc/en/Reference/WiFiClientConnect) -4. [write()](https://www.arduino.cc/en/Reference/WiFiClientWrite) -5. [print()](https://www.arduino.cc/en/Reference/WiFiClientPrint) -6. [println()](https://www.arduino.cc/en/Reference/WiFiClientPrintln) -7. [available()](https://www.arduino.cc/en/Reference/WiFiClientAvailable) -8. [read()](https://www.arduino.cc/en/Reference/WiFiClientRead) -9. [flush()](https://www.arduino.cc/en/Reference/WiFiClientFlush) -10. [stop()](https://www.arduino.cc/en/Reference/WiFIClientStop) - - -Methods and properties described further down are specific to ESP8266. They are not covered in [Arduino WiFi library](https://www.arduino.cc/en/Reference/WiFi) documentation. Before they are fully documented please refer to information below. - - -### setNoDelay - -```cpp -setNoDelay(nodelay) -``` - -With `nodelay` set to `true`, this function will to disable [Nagle algorithm](https://en.wikipedia.org/wiki/Nagle%27s_algorithm). - -This algorithm is intended to reduce TCP/IP traffic of small packets sent over the network by combining a number of small outgoing messages, and sending them all at once. The downside of such approach is effectively delaying individual messages until a big enough packet is assembled. - -*Example:* -```cpp -client.setNoDelay(true); -``` - - -### Other Function Calls - -```cpp -uint8_t status () -virtual size_t write (const uint8_t *buf, size_t size) -size_t write_P (PGM_P buf, size_t size) -size_t write (Stream &stream) -size_t write (Stream &stream, size_t unitSize) __attribute__((deprecated)) -virtual int read (uint8_t *buf, size_t size) -virtual int peek () -virtual size_t peekBytes (uint8_t *buffer, size_t length) -size_t peekBytes (char *buffer, size_t length) -virtual operator bool () -IPAddress remoteIP () -uint16_t remotePort () -IPAddress localIP () -uint16_t localPort () -bool getNoDelay () -``` -Documentation for the above functions is not yet prepared. - - -For code samples please refer to separate section with [examples :arrow_right:](client-examples.md) dedicated specifically to the Client Class. diff --git a/doc/esp8266wifi/client-class.rst b/doc/esp8266wifi/client-class.rst new file mode 100644 index 0000000000..4b98034ce2 --- /dev/null +++ b/doc/esp8266wifi/client-class.rst @@ -0,0 +1,62 @@ +:orphan: + +Client Class +------------ + +Methods documented for `Client `__ in `Arduino `__ + +1. `WiFiClient() `__ +2. `connected() `__ +3. `connect() `__ +4. `write() `__ +5. `print() `__ +6. `println() `__ +7. `available() `__ +8. `read() `__ +9. `flush() `__ +10. `stop() `__ + +Methods and properties described further down are specific to ESP8266. They are not covered in `Arduino WiFi library `__ documentation. Before they are fully documented please refer to information below. + +setNoDelay +~~~~~~~~~~ + +.. code:: cpp + + setNoDelay(nodelay) + +With ``nodelay`` set to ``true``, this function will to disable `Nagle algorithm `__. + +This algorithm is intended to reduce TCP/IP traffic of small packets sent over the network by combining a number of small outgoing messages, and sending them all at once. The downside of such approach is effectively delaying individual messages until a big enough packet is assembled. + +*Example:* + +.. code:: cpp + + client.setNoDelay(true); + +Other Function Calls +~~~~~~~~~~~~~~~~~~~~ + +.. code:: cpp + + uint8_t status () + virtual size_t write (const uint8_t *buf, size_t size) + size_t write_P (PGM_P buf, size_t size) + size_t write (Stream &stream) + size_t write (Stream &stream, size_t unitSize) __attribute__((deprecated)) + virtual int read (uint8_t *buf, size_t size) + virtual int peek () + virtual size_t peekBytes (uint8_t *buffer, size_t length) + size_t peekBytes (char *buffer, size_t length) + virtual operator bool () + IPAddress remoteIP () + uint16_t remotePort () + IPAddress localIP () + uint16_t localPort () + bool getNoDelay () + +Documentation for the above functions is not yet prepared. + +For code samples please refer to separate section with `examples +:arrow\_right: `__ dedicated specifically to the Client Class. diff --git a/doc/esp8266wifi/client-examples.md b/doc/esp8266wifi/client-examples.md deleted file mode 100644 index a38ff37af3..0000000000 --- a/doc/esp8266wifi/client-examples.md +++ /dev/null @@ -1,256 +0,0 @@ ---- -title: ESP8266WiFi Client Class - Sketch Examples ---- - -[ESP8266WiFi Library :back:](readme.md#client) - - -## Client - -Let's write a simple client program to access a single web page and display its contents on a serial monitor. This is typical operation performed by a client to access server's API to retrieve specific information. For instance we may want to contact GitHub's API to periodically check the number of open issues reported on [esp8266 / Arduino](https://github.com/esp8266/Arduino/issues) repository. - - -## Table of Contents - * [Introduction](#introduction) - * [Get Connected to Wi-Fi](#get-connected-to-wi-fi) - * [Select a Server](#select-a-server) - * [Instantiate the Client](#instantiate-the-client) - * [Get Connected to the Server](#get-connected-to-the-server) - * [Request the Data](#request-the-data) - * [Read Reply from the Server](#read-reply-from-the-server) - * [Now to the Sketch](#now-to-the-sketch) - * [Test it Live](#test-it-live) - * [Test it More](#test-it-more) - * [Conclusion](#conclusion) - - -### Introduction - -This time we are going to concentrate just on retrieving a web page contents sent by a server, to demonstrate basic client's functionality. Once you are able to retrieve information from a server, you should be able to phrase it and extract specific data you need. - - -### Get Connected to Wi-Fi - -We should start with connecting the module to an access point to obtain an access to internet. The code to provide this functionality has been already discussed in chapter [Quick Start](readme.md#quick-start). Please refer to it for details. - - -### Select a Server - -Once connected to the network we should connect to the specific server. Web address of this server is declared in `host` character string as below. - -```cpp -const char* host = "www.example.com"; -``` -I have selected `www.example.com` domain name and you can select any other. Just check if you can access it using a web browser. - -![alt text](pictures/client-example-domain.png "A web page to be retreived by the clinet program") - - -### Instantiate the Client - -Now we should declare a client that will be contacting the host (server): - -```cpp -WiFiClient client; -``` - - -### Get Connected to the Server - -In next line we will connect to the host and check the connection result. Note `80`, that is the standard port number used for web access. - -```cpp -if (client.connect(host, 80)) -{ - // we are connected to the host! -} -else -{ - // connection failure -} -``` - - -### Request the Data - -If connection is successful, we should send request the host to provide specific information we need. This is done using the [HTTP GET](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods) request as in the following lines: - -```cpp -client.print(String("GET /") + " HTTP/1.1\r\n" + - "Host: " + host + "\r\n" + - "Connection: close\r\n" + - "\r\n" - ); -``` - -### Read Reply from the Server - -Then, while connection by our client is still alive (`while (client.connected())`, see below) we can read line by line and print out server's response: - -```cpp -while (client.connected()) -{ - if (client.available()) - { - String line = client.readStringUntil('\n'); - Serial.println(line); - } -} -``` - -The inner `if (client.available())` is checking if there are any data available from the server. If so, then they are printed out. - -Once server sends all requested data it will disconnect and program will exit the `while` loop. - - -### Now to the Sketch - -Complete sketch, including a case when contention to the server fails, is presented below. - -```cpp -#include - -const char* ssid = "********"; -const char* password = "********"; - -const char* host = "www.example.com"; - - -void setup() -{ - Serial.begin(115200); - Serial.println(); - - Serial.printf("Connecting to %s ", ssid); - WiFi.begin(ssid, password); - while (WiFi.status() != WL_CONNECTED) - { - delay(500); - Serial.print("."); - } - Serial.println(" connected"); -} - - -void loop() -{ - WiFiClient client; - - Serial.printf("\n[Connecting to %s ... ", host); - if (client.connect(host, 80)) - { - Serial.println("connected]"); - - Serial.println("[Sending a request]"); - client.print(String("GET /") + " HTTP/1.1\r\n" + - "Host: " + host + "\r\n" + - "Connection: close\r\n" + - "\r\n" - ); - - Serial.println("[Response:]"); - while (client.connected()) - { - if (client.available()) - { - String line = client.readStringUntil('\n'); - Serial.println(line); - } - } - client.stop(); - Serial.println("\n[Disconnected]"); - } - else - { - Serial.println("connection failed!]"); - client.stop(); - } - delay(5000); -} -``` - - -### Test it Live - -Upload sketch the module and open serial monitor. You should see a log similar to presented below. - -First, after establishing Wi-Fi connection, you should see confirmation, that client connected to the server and send the request: - -``` -Connecting to sensor-net ........ connected - -[Connecting to www.example.com ... connected] -[Sending a request] -``` - -Then, after getting the request, server will first respond with a header that specifies what type of information will follow (e.g. `Content-Type: text/html`), how long it is (like `Content-Length: 1270`), etc.: - -``` -[Response:] -HTTP/1.1 200 OK - -Cache-Control: max-age=604800 -Content-Type: text/html -Date: Sat, 30 Jul 2016 12:30:45 GMT -Etag: "359670651+ident" -Expires: Sat, 06 Aug 2016 12:30:45 GMT -Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT -Server: ECS (ewr/15BD) -Vary: Accept-Encoding -X-Cache: HIT -x-ec-custom-error: 1 -Content-Length: 1270 -Connection: close -``` - -End of header is marked with an empty line and then you should see the HTML code of requested web page. - -``` - - - - Example Domain - - - - -