From c873dcbb20f06e00659ab1c984ce7a753aaea7dc Mon Sep 17 00:00:00 2001 From: Caleb Jamison Date: Sat, 10 Feb 2024 16:55:32 -0500 Subject: Add explicit reset time to ws2812 write fn. --- examples/rp/src/bin/pio_ws2812.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'examples') diff --git a/examples/rp/src/bin/pio_ws2812.rs b/examples/rp/src/bin/pio_ws2812.rs index 9a97cb8a7..e9a3d0e41 100644 --- a/examples/rp/src/bin/pio_ws2812.rs +++ b/examples/rp/src/bin/pio_ws2812.rs @@ -107,6 +107,8 @@ impl<'d, P: Instance, const S: usize, const N: usize> Ws2812<'d, P, S, N> { // DMA transfer self.sm.tx().dma_push(self.dma.reborrow(), &words).await; + + Timer::after_micros(55).await; } } -- cgit From b4dc406e199a7e4aafcdd601aaef999c6b7ba590 Mon Sep 17 00:00:00 2001 From: Caleb Jamison Date: Sat, 10 Feb 2024 17:00:10 -0500 Subject: Switch to ticker --- examples/rp/src/bin/pio_ws2812.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/pio_ws2812.rs b/examples/rp/src/bin/pio_ws2812.rs index e9a3d0e41..ac145933c 100644 --- a/examples/rp/src/bin/pio_ws2812.rs +++ b/examples/rp/src/bin/pio_ws2812.rs @@ -12,7 +12,7 @@ use embassy_rp::pio::{ Common, Config, FifoJoin, Instance, InterruptHandler, Pio, PioPin, ShiftConfig, ShiftDirection, StateMachine, }; use embassy_rp::{bind_interrupts, clocks, into_ref, Peripheral, PeripheralRef}; -use embassy_time::Timer; +use embassy_time::{Duration, Ticker, Timer}; use fixed::types::U24F8; use fixed_macro::fixed; use smart_leds::RGB8; @@ -145,6 +145,7 @@ async fn main(_spawner: Spawner) { let mut ws2812 = Ws2812::new(&mut common, sm0, p.DMA_CH0, p.PIN_16); // Loop forever making RGB values and pushing them out to the WS2812. + let mut ticker = Ticker::every(Duration::from_millis(10)); loop { for j in 0..(256 * 5) { debug!("New Colors:"); @@ -154,7 +155,7 @@ async fn main(_spawner: Spawner) { } ws2812.write(&data).await; - Timer::after_millis(10).await; + ticker.next().await; } } } -- cgit From 58fa5e57b67935d2a81f4fd708d6829afb8112b0 Mon Sep 17 00:00:00 2001 From: Mick Chanthaseth Date: Sun, 11 Feb 2024 16:04:06 -0800 Subject: added usb_hid_mouse example for rp --- examples/rp/src/bin/usb_hid_mouse.rs | 183 +++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 examples/rp/src/bin/usb_hid_mouse.rs (limited to 'examples') diff --git a/examples/rp/src/bin/usb_hid_mouse.rs b/examples/rp/src/bin/usb_hid_mouse.rs new file mode 100644 index 000000000..ec125a47e --- /dev/null +++ b/examples/rp/src/bin/usb_hid_mouse.rs @@ -0,0 +1,183 @@ +#![no_std] +#![no_main] + +use core::sync::atomic::{AtomicBool, Ordering}; + +use defmt::*; +use embassy_executor::Spawner; +use embassy_futures::join::join; +use embassy_rp::bind_interrupts; +use embassy_rp::clocks::RoscRng; +use embassy_rp::gpio::{Input, Pull}; +use embassy_rp::peripherals::USB; +use embassy_time::Timer; +use embassy_rp::usb::{Driver, InterruptHandler}; +use embassy_usb::class::hid::{HidReaderWriter, ReportId, RequestHandler, State}; +use embassy_usb::control::OutResponse; +use embassy_usb::{Builder, Config, Handler}; +use rand::{Rng, RngCore}; +use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + USBCTRL_IRQ => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + // Create the driver, from the HAL. + let driver = Driver::new(p.USB, Irqs); + + // Create embassy-usb Config + let mut config = Config::new(0xc0de, 0xcafe); + config.manufacturer = Some("Embassy"); + config.product = Some("HID keyboard example"); + config.serial_number = Some("12345678"); + config.max_power = 100; + config.max_packet_size_0 = 64; + + // Create embassy-usb DeviceBuilder using the driver and config. + // It needs some buffers for building the descriptors. + let mut device_descriptor = [0; 256]; + let mut config_descriptor = [0; 256]; + let mut bos_descriptor = [0; 256]; + // You can also add a Microsoft OS descriptor. + let mut msos_descriptor = [0; 256]; + let mut control_buf = [0; 64]; + let request_handler = MyRequestHandler {}; + let mut device_handler = MyDeviceHandler::new(); + + let mut state = State::new(); + + let mut builder = Builder::new( + driver, + config, + &mut device_descriptor, + &mut config_descriptor, + &mut bos_descriptor, + &mut msos_descriptor, + &mut control_buf, + ); + + builder.handler(&mut device_handler); + + // Create classes on the builder. + let config = embassy_usb::class::hid::Config { + report_descriptor: MouseReport::desc(), + request_handler: Some(&request_handler), + poll_ms: 60, + max_packet_size: 64, + }; + let hid = HidReaderWriter::<_, 1, 8>::new(&mut builder, &mut state, config); + + // Build the builder. + let mut usb = builder.build(); + + // Run the USB device. + let usb_fut = usb.run(); + + // Set up the signal pin that will be used to trigger the keyboard. + let mut signal_pin = Input::new(p.PIN_16, Pull::None); + + // Enable the schmitt trigger to slightly debounce. + signal_pin.set_schmitt(true); + + let (reader, mut writer) = hid.split(); + + // Do stuff with the class! + let in_fut = async { + let mut rng = RoscRng; + + loop { + // every 1 second + _ = Timer::after_secs(1).await; + let report = MouseReport{ + buttons: 0, + x: rng.gen_range(-100..100), // random small x movement + y: rng.gen_range(-100..100), // random small y movement + wheel: 0, + pan: 0, + }; + match writer.write_serialize(&report).await{ + Ok(())=>{}, + Err(e)=>{ + warn!("Failed to send report: {:?}", e); + }, + } + } + }; + + let out_fut = async { + reader.run(false, &request_handler).await; + }; + + // Run everything concurrently. + // If we had made everything `'static` above instead, we could do this using separate tasks instead. + join(usb_fut, join(in_fut, out_fut)).await; +} + +struct MyRequestHandler {} + +impl RequestHandler for MyRequestHandler { + fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + info!("Get report for {:?}", id); + None + } + + fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + info!("Set report for {:?}: {=[u8]}", id, data); + OutResponse::Accepted + } + + fn set_idle_ms(&self, id: Option, dur: u32) { + info!("Set idle rate for {:?} to {:?}", id, dur); + } + + fn get_idle_ms(&self, id: Option) -> Option { + info!("Get idle rate for {:?}", id); + None + } +} + +struct MyDeviceHandler { + configured: AtomicBool, +} + +impl MyDeviceHandler { + fn new() -> Self { + MyDeviceHandler { + configured: AtomicBool::new(false), + } + } +} + +impl Handler for MyDeviceHandler { + fn enabled(&mut self, enabled: bool) { + self.configured.store(false, Ordering::Relaxed); + if enabled { + info!("Device enabled"); + } else { + info!("Device disabled"); + } + } + + fn reset(&mut self) { + self.configured.store(false, Ordering::Relaxed); + info!("Bus reset, the Vbus current limit is 100mA"); + } + + fn addressed(&mut self, addr: u8) { + self.configured.store(false, Ordering::Relaxed); + info!("USB address set to: {}", addr); + } + + fn configured(&mut self, configured: bool) { + self.configured.store(configured, Ordering::Relaxed); + if configured { + info!("Device configured, it may now draw up to the configured current limit from Vbus.") + } else { + info!("Device is no longer configured, the Vbus current limit is 100mA."); + } + } +} -- cgit From b7c147445a98ced9557ca6c0950f6083d0cf09af Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 12 Feb 2024 21:54:53 +0100 Subject: stm32/rcc: port F1 to new API. --- examples/stm32f1/src/bin/hello.rs | 4 +--- examples/stm32f1/src/bin/usb_serial.rs | 20 +++++++++++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/hello.rs b/examples/stm32f1/src/bin/hello.rs index 7b761ecc1..3c295612c 100644 --- a/examples/stm32f1/src/bin/hello.rs +++ b/examples/stm32f1/src/bin/hello.rs @@ -3,15 +3,13 @@ use defmt::info; use embassy_executor::Spawner; -use embassy_stm32::time::Hertz; use embassy_stm32::Config; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] async fn main(_spawner: Spawner) -> ! { - let mut config = Config::default(); - config.rcc.sys_ck = Some(Hertz(36_000_000)); + let config = Config::default(); let _p = embassy_stm32::init(config); loop { diff --git a/examples/stm32f1/src/bin/usb_serial.rs b/examples/stm32f1/src/bin/usb_serial.rs index e28381893..1ae6c1dee 100644 --- a/examples/stm32f1/src/bin/usb_serial.rs +++ b/examples/stm32f1/src/bin/usb_serial.rs @@ -21,9 +21,23 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); - config.rcc.hse = Some(Hertz(8_000_000)); - config.rcc.sys_ck = Some(Hertz(48_000_000)); - config.rcc.pclk1 = Some(Hertz(24_000_000)); + { + use embassy_stm32::rcc::*; + config.rcc.hse = Some(Hse { + freq: Hertz(8_000_000), + // Oscillator for bluepill, Bypass for nucleos. + mode: HseMode::Oscillator, + }); + config.rcc.pll = Some(Pll { + src: PllSource::HSE, + prediv: PllPreDiv::DIV1, + mul: PllMul::MUL9, + }); + config.rcc.sys = Sysclk::PLL1_P; + config.rcc.ahb_pre = AHBPrescaler::DIV1; + config.rcc.apb1_pre = APBPrescaler::DIV2; + config.rcc.apb2_pre = APBPrescaler::DIV1; + } let mut p = embassy_stm32::init(config); info!("Hello World!"); -- cgit From d8b4922b3ced8645a6225dcb0e8b873364bc8337 Mon Sep 17 00:00:00 2001 From: Caleb Garrett <47389035+caleb-garrett@users.noreply.github.com> Date: Mon, 12 Feb 2024 20:33:04 -0500 Subject: Add STM32 HMAC function. --- examples/stm32f7/src/bin/hash.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32f7/src/bin/hash.rs b/examples/stm32f7/src/bin/hash.rs index 96e50f84b..cbb880353 100644 --- a/examples/stm32f7/src/bin/hash.rs +++ b/examples/stm32f7/src/bin/hash.rs @@ -26,7 +26,7 @@ async fn main(_spawner: Spawner) -> ! { let hw_start_time = Instant::now(); // Compute a digest in hardware. - let mut context = hw_hasher.start(Algorithm::SHA256, DataType::Width8); + let mut context = hw_hasher.start(Algorithm::SHA256, DataType::Width8, None); hw_hasher.update(&mut context, test_1).await; hw_hasher.update(&mut context, test_2).await; let mut hw_digest: [u8; 32] = [0; 32]; -- cgit From f0f1f2d14c6cb82ee1a4f452bdece2f98479c39f Mon Sep 17 00:00:00 2001 From: Caleb Garrett <47389035+caleb-garrett@users.noreply.github.com> Date: Mon, 12 Feb 2024 20:33:04 -0500 Subject: Added HMAC example. --- examples/stm32f7/Cargo.toml | 1 + examples/stm32f7/src/bin/hash.rs | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) (limited to 'examples') diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index a612c2554..736e81723 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml @@ -29,6 +29,7 @@ critical-section = "1.1" embedded-storage = "0.3.1" static_cell = "2" sha2 = { version = "0.10.8", default-features = false } +hmac = "0.12.1" [profile.release] debug = 2 diff --git a/examples/stm32f7/src/bin/hash.rs b/examples/stm32f7/src/bin/hash.rs index cbb880353..c2d1a7158 100644 --- a/examples/stm32f7/src/bin/hash.rs +++ b/examples/stm32f7/src/bin/hash.rs @@ -6,9 +6,12 @@ use embassy_executor::Spawner; use embassy_stm32::hash::*; use embassy_stm32::{bind_interrupts, hash, peripherals, Config}; use embassy_time::Instant; +use hmac::{Hmac, Mac}; use sha2::{Digest, Sha256}; use {defmt_rtt as _, panic_probe as _}; +type HmacSha256 = Hmac; + bind_interrupts!(struct Irqs { HASH_RNG => hash::InterruptHandler; }); @@ -52,5 +55,24 @@ async fn main(_spawner: Spawner) -> ! { info!("Software Execution Time: {:?}", sw_execution_time); assert_eq!(hw_digest, sw_digest[..]); + let hmac_key: [u8; 64] = [0x55; 64]; + + // Compute HMAC in hardware. + let mut sha256hmac_context = hw_hasher.start(Algorithm::SHA256, DataType::Width8, Some(&hmac_key)); + hw_hasher.update(&mut sha256hmac_context, test_1).await; + hw_hasher.update(&mut sha256hmac_context, test_2).await; + let mut hw_hmac: [u8; 32] = [0; 32]; + hw_hasher.finish(sha256hmac_context, &mut hw_hmac).await; + + // Compute HMAC in software. + let mut sw_mac = HmacSha256::new_from_slice(&hmac_key).unwrap(); + sw_mac.update(test_1); + sw_mac.update(test_2); + let sw_hmac = sw_mac.finalize().into_bytes(); + + info!("Hardware HMAC: {:?}", hw_hmac); + info!("Software HMAC: {:?}", sw_hmac[..]); + assert_eq!(hw_hmac, sw_hmac[..]); + loop {} } -- cgit From 5b7eff65417e491fa7908dfd8b62013efb55d30b Mon Sep 17 00:00:00 2001 From: Barnaby Walters Date: Thu, 15 Feb 2024 23:56:26 +0100 Subject: [embassy-stm32]: started stm32g4 RCC refactor * Copied API from f.rs where applicable * HSE and HSI independantly configurable * Boost mode set by user rather * Added HSE, pll1_q and pll1_p frequencies to set_clocks call * Stubbed max module based on f.rs, needs cleanup --- examples/stm32g4/src/bin/adc.rs | 16 ++++++++-------- examples/stm32g4/src/bin/pll.rs | 16 ++++++++-------- examples/stm32g4/src/bin/usb_serial.rs | 29 ++++++++++++++++++----------- 3 files changed, 34 insertions(+), 27 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/adc.rs b/examples/stm32g4/src/bin/adc.rs index 35324d931..99e3ef63b 100644 --- a/examples/stm32g4/src/bin/adc.rs +++ b/examples/stm32g4/src/bin/adc.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::adc::{Adc, SampleTime}; -use embassy_stm32::rcc::{AdcClockSource, ClockSrc, Pll, PllM, PllN, PllR, PllSource}; +use embassy_stm32::rcc::{AdcClockSource, Pll, PllMul, PllPreDiv, PllRDiv, Pllsrc, Sysclk}; use embassy_stm32::Config; use embassy_time::{Delay, Timer}; use {defmt_rtt as _, panic_probe as _}; @@ -14,17 +14,17 @@ async fn main(_spawner: Spawner) { let mut config = Config::default(); config.rcc.pll = Some(Pll { - source: PllSource::HSI, - prediv_m: PllM::DIV4, - mul_n: PllN::MUL85, - div_p: None, - div_q: None, + source: Pllsrc::HSI, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL85, + divp: None, + divq: None, // Main system clock at 170 MHz - div_r: Some(PllR::DIV2), + divr: Some(PllRDiv::DIV2), }); config.rcc.adc12_clock_source = AdcClockSource::SYS; - config.rcc.mux = ClockSrc::PLL; + config.rcc.sys = Sysclk::PLL1_R; let mut p = embassy_stm32::init(config); info!("Hello World!"); diff --git a/examples/stm32g4/src/bin/pll.rs b/examples/stm32g4/src/bin/pll.rs index 46ebe0b0d..5274de79d 100644 --- a/examples/stm32g4/src/bin/pll.rs +++ b/examples/stm32g4/src/bin/pll.rs @@ -3,7 +3,7 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::rcc::{ClockSrc, Pll, PllM, PllN, PllR, PllSource}; +use embassy_stm32::rcc::{Pll, PllMul, PllPreDiv, PllRDiv, Pllsrc, Sysclk}; use embassy_stm32::Config; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; @@ -13,16 +13,16 @@ async fn main(_spawner: Spawner) { let mut config = Config::default(); config.rcc.pll = Some(Pll { - source: PllSource::HSI, - prediv_m: PllM::DIV4, - mul_n: PllN::MUL85, - div_p: None, - div_q: None, + source: Pllsrc::HSI, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL85, + divp: None, + divq: None, // Main system clock at 170 MHz - div_r: Some(PllR::DIV2), + divr: Some(PllRDiv::DIV2), }); - config.rcc.mux = ClockSrc::PLL; + config.rcc.sys = Sysclk::PLL1_R; let _p = embassy_stm32::init(config); info!("Hello World!"); diff --git a/examples/stm32g4/src/bin/usb_serial.rs b/examples/stm32g4/src/bin/usb_serial.rs index c26fa76b7..d9207e4cd 100644 --- a/examples/stm32g4/src/bin/usb_serial.rs +++ b/examples/stm32g4/src/bin/usb_serial.rs @@ -3,7 +3,9 @@ use defmt::{panic, *}; use embassy_executor::Spawner; -use embassy_stm32::rcc::{Clock48MhzSrc, ClockSrc, Hsi48Config, Pll, PllM, PllN, PllQ, PllR, PllSource}; +use embassy_stm32::rcc::{ + Clock48MhzSrc, Hse, HseMode, Hsi48Config, Pll, PllMul, PllPreDiv, PllQDiv, PllRDiv, Pllsrc, Sysclk, +}; use embassy_stm32::time::Hertz; use embassy_stm32::usb::{self, Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, Config}; @@ -24,25 +26,30 @@ async fn main(_spawner: Spawner) { // Change this to `false` to use the HSE clock source for the USB. This example assumes an 8MHz HSE. const USE_HSI48: bool = true; - let plldivq = if USE_HSI48 { None } else { Some(PllQ::DIV6) }; + let plldivq = if USE_HSI48 { None } else { Some(PllQDiv::DIV6) }; + + config.rcc.hse = Some(Hse { + freq: Hertz(8_000_000), + mode: HseMode::Oscillator, + }); config.rcc.pll = Some(Pll { - source: PllSource::HSE(Hertz(8_000_000)), - prediv_m: PllM::DIV2, - mul_n: PllN::MUL72, - div_p: None, - div_q: plldivq, + source: Pllsrc::HSE, + prediv: PllPreDiv::DIV2, + mul: PllMul::MUL72, + divp: None, + divq: plldivq, // Main system clock at 144 MHz - div_r: Some(PllR::DIV2), + divr: Some(PllRDiv::DIV2), }); - config.rcc.mux = ClockSrc::PLL; + config.rcc.sys = Sysclk::PLL1_R; if USE_HSI48 { // Sets up the Clock Recovery System (CRS) to use the USB SOF to trim the HSI48 oscillator. - config.rcc.clock_48mhz_src = Some(Clock48MhzSrc::Hsi48(Hsi48Config { sync_from_usb: true })); + config.rcc.clk48_src = Some(Clock48MhzSrc::Hsi48(Hsi48Config { sync_from_usb: true })); } else { - config.rcc.clock_48mhz_src = Some(Clock48MhzSrc::PllQ); + config.rcc.clk48_src = Some(Clock48MhzSrc::PllQ); } let p = embassy_stm32::init(config); -- cgit From bd0b450ca4ff36b2b1fe0b3b422cd478f9201ad0 Mon Sep 17 00:00:00 2001 From: Caleb Jamison Date: Thu, 15 Feb 2024 17:43:20 -0500 Subject: Improve rp2040 i2c slave This commit takes the fixes and error reporting improvements from jcdickinson's work and applies them without overlaying a software state machine on top of the hardware state machine. Also allows configuration of response to 'general call' writes. --- examples/rp/src/bin/i2c_slave.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/src/bin/i2c_slave.rs b/examples/rp/src/bin/i2c_slave.rs index ac470d2be..9fffb4646 100644 --- a/examples/rp/src/bin/i2c_slave.rs +++ b/examples/rp/src/bin/i2c_slave.rs @@ -110,7 +110,7 @@ async fn main(spawner: Spawner) { let c_sda = p.PIN_1; let c_scl = p.PIN_0; let mut config = i2c::Config::default(); - config.frequency = 5_000; + config.frequency = 1_000_000; let controller = i2c::I2c::new_async(p.I2C0, c_sda, c_scl, Irqs, config); unwrap!(spawner.spawn(controller_task(controller))); -- cgit From ae748339999034854a78629c2e2f160d0d8417f9 Mon Sep 17 00:00:00 2001 From: Barnaby Walters Date: Fri, 16 Feb 2024 20:32:35 +0100 Subject: Removed redundant HSI48 configuration --- examples/stm32g4/src/bin/usb_serial.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_serial.rs b/examples/stm32g4/src/bin/usb_serial.rs index d9207e4cd..353ac1799 100644 --- a/examples/stm32g4/src/bin/usb_serial.rs +++ b/examples/stm32g4/src/bin/usb_serial.rs @@ -4,7 +4,7 @@ use defmt::{panic, *}; use embassy_executor::Spawner; use embassy_stm32::rcc::{ - Clock48MhzSrc, Hse, HseMode, Hsi48Config, Pll, PllMul, PllPreDiv, PllQDiv, PllRDiv, Pllsrc, Sysclk, + Clk48Src, Hse, HseMode, Hsi48Config, Pll, PllMul, PllPreDiv, PllQDiv, PllRDiv, Pllsrc, Sysclk, }; use embassy_stm32::time::Hertz; use embassy_stm32::usb::{self, Driver, Instance}; @@ -47,9 +47,10 @@ async fn main(_spawner: Spawner) { if USE_HSI48 { // Sets up the Clock Recovery System (CRS) to use the USB SOF to trim the HSI48 oscillator. - config.rcc.clk48_src = Some(Clock48MhzSrc::Hsi48(Hsi48Config { sync_from_usb: true })); + config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); + config.rcc.clk48_src = Clk48Src::HSI48; } else { - config.rcc.clk48_src = Some(Clock48MhzSrc::PllQ); + config.rcc.clk48_src = Clk48Src::PLL1_Q; } let p = embassy_stm32::init(config); -- cgit From 6d7458dac7e768425342910e04a75c85e667cb82 Mon Sep 17 00:00:00 2001 From: Barnaby Walters Date: Sat, 17 Feb 2024 00:30:16 +0100 Subject: Refinements * Implemented boost mode dance (RM0440 p234-245, 6.5.1) * Enabled boost mode in usb_serial example, tested on hardware * Removed hard requirement of a valid 48MHz source (HSI48 is checked if requested, PLL passed through as-is and assumed to be valid) * Used calc_pclk to calculate APB frequencies * Refactored 48MHz configuration code to remove unnecessary let and block * Renamed ahb_freq to hclk for clarity and consistency --- examples/stm32g4/src/bin/usb_serial.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_serial.rs b/examples/stm32g4/src/bin/usb_serial.rs index 353ac1799..989fef5b0 100644 --- a/examples/stm32g4/src/bin/usb_serial.rs +++ b/examples/stm32g4/src/bin/usb_serial.rs @@ -44,6 +44,7 @@ async fn main(_spawner: Spawner) { }); config.rcc.sys = Sysclk::PLL1_R; + config.rcc.boost = true; // BOOST! if USE_HSI48 { // Sets up the Clock Recovery System (CRS) to use the USB SOF to trim the HSI48 oscillator. -- cgit From e99ef496116b4cdfa0dd0706ac1bfc600f45c97b Mon Sep 17 00:00:00 2001 From: Eli Orona Date: Fri, 16 Feb 2024 19:56:07 -0800 Subject: Move to auto-generated based system. --- examples/stm32f3/src/bin/usart_dma.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32f3/src/bin/usart_dma.rs b/examples/stm32f3/src/bin/usart_dma.rs index 5234e53b9..7dc905adc 100644 --- a/examples/stm32f3/src/bin/usart_dma.rs +++ b/examples/stm32f3/src/bin/usart_dma.rs @@ -17,7 +17,9 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { - let p = embassy_stm32::init(Default::default()); + let mut init_config = embassy_stm32::Config::default(); + init_config.rcc.cfgr3.usart1sw = Some(embassy_stm32::pac::rcc::vals::Usart1sw::HSI); + let p = embassy_stm32::init(init_config); info!("Hello World!"); let config = Config::default(); -- cgit From 0097cbcfe3311ca89f52284a4a1187e19666a330 Mon Sep 17 00:00:00 2001 From: Mick Chanthaseth Date: Fri, 16 Feb 2024 22:22:13 -0800 Subject: Update imports in usb_hid_mouse.rs --- examples/rp/src/bin/usb_hid_mouse.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/src/bin/usb_hid_mouse.rs b/examples/rp/src/bin/usb_hid_mouse.rs index ec125a47e..a812b22c3 100644 --- a/examples/rp/src/bin/usb_hid_mouse.rs +++ b/examples/rp/src/bin/usb_hid_mouse.rs @@ -15,7 +15,7 @@ use embassy_rp::usb::{Driver, InterruptHandler}; use embassy_usb::class::hid::{HidReaderWriter, ReportId, RequestHandler, State}; use embassy_usb::control::OutResponse; use embassy_usb::{Builder, Config, Handler}; -use rand::{Rng, RngCore}; +use rand::Rng; use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; use {defmt_rtt as _, panic_probe as _}; -- cgit From 70b3c4374d57ab638e0cb76013b725e1ea229546 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Sat, 3 Feb 2024 09:44:00 +1000 Subject: Port FDCAN HAL to use PAC directly instead of fdcan crate. - Provide separate FDCAN capable and Classic CAN API's - Don't use fdcan crate dep anymore - Provide embedded-can traits. --- examples/stm32g4/Cargo.toml | 1 + examples/stm32g4/src/bin/can.rs | 96 +++++++++++++++++++++++++++++++++++------ examples/stm32h5/src/bin/can.rs | 89 ++++++++++++++++++++++++-------------- examples/stm32h7/src/bin/can.rs | 89 ++++++++++++++++++++++++-------------- 4 files changed, 195 insertions(+), 80 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index 895ad3e7c..fdb325f06 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -20,6 +20,7 @@ defmt-rtt = "0.4" cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" +embedded-can = { version = "0.4" } panic-probe = { version = "0.3", features = ["print-defmt"] } futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } diff --git a/examples/stm32g4/src/bin/can.rs b/examples/stm32g4/src/bin/can.rs index 727921fba..5ff4f0ef0 100644 --- a/examples/stm32g4/src/bin/can.rs +++ b/examples/stm32g4/src/bin/can.rs @@ -20,32 +20,100 @@ async fn main(_spawner: Spawner) { let mut can = can::Fdcan::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); + can.set_extended_filter( + can::fd::filter::ExtendedFilterSlot::_0, + can::fd::filter::ExtendedFilter::accept_all_into_fifo1(), + ); + // 250k bps can.set_bitrate(250_000); + // 1M bps + can.set_fd_data_bitrate(1_000_000, false); + info!("Configured"); - //let mut can = can.into_external_loopback_mode(); - let mut can = can.into_normal_mode(); + //let mut can = can.into_normal_mode(); + let mut can = can.into_internal_loopback_mode(); let mut i = 0; + let mut last_read_ts = embassy_time::Instant::now(); + loop { - let frame = can::TxFrame::new( - can::TxFrameHeader { - len: 1, - frame_format: can::FrameFormat::Standard, - id: can::StandardId::new(0x123).unwrap().into(), - bit_rate_switching: false, - marker: None, - }, - &[i], - ) - .unwrap(); + let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); + _ = can.write(&frame).await; match can.read().await { - Ok(rx_frame) => info!("Rx: {}", rx_frame.data()[0]), + Ok((rx_frame, ts)) => { + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {} {:02x} --- {}ms", + rx_frame.header().len(), + rx_frame.data()[0..rx_frame.header().len() as usize], + delta, + ) + } + Err(_err) => error!("Error in frame"), + } + + Timer::after_millis(250).await; + + i += 1; + if i > 2 { + break; + } + } + + // Use the FD API's even if we don't get FD packets. + loop { + let frame = can::frame::FdFrame::new_extended(0x123456F, &[i; 16]).unwrap(); + info!("Writing frame using FD API"); + + _ = can.write_fd(&frame).await; + + match can.read_fd().await { + Ok((rx_frame, ts)) => { + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {} {:02x} --- using FD API {}ms", + rx_frame.header().len(), + rx_frame.data()[0..rx_frame.header().len() as usize], + delta, + ) + } + Err(_err) => error!("Error in frame"), + } + + Timer::after_millis(250).await; + + i += 1; + if i > 4 { + break; + } + } + + let (mut tx, mut rx) = can.split(); + // With split + loop { + let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + info!("Writing frame"); + _ = tx.write(&frame).await; + + match rx.read().await { + Ok((rx_frame, ts)) => { + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {} {:02x} --- {}ms", + rx_frame.header().len(), + rx_frame.data()[0..rx_frame.header().len() as usize], + delta, + ) + } Err(_err) => error!("Error in frame"), } diff --git a/examples/stm32h5/src/bin/can.rs b/examples/stm32h5/src/bin/can.rs index 2906d1576..4b29a0d21 100644 --- a/examples/stm32h5/src/bin/can.rs +++ b/examples/stm32h5/src/bin/can.rs @@ -16,54 +16,77 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); - - // configure FDCAN to use PLL1_Q at 64 MHz - config.rcc.pll1 = Some(rcc::Pll { - source: rcc::PllSource::HSI, - prediv: rcc::PllPreDiv::DIV4, - mul: rcc::PllMul::MUL8, - divp: None, - divq: Some(rcc::PllDiv::DIV2), - divr: None, + config.rcc.hse = Some(rcc::Hse { + freq: embassy_stm32::time::Hertz(25_000_000), + mode: rcc::HseMode::Oscillator, }); - config.rcc.fdcan_clock_source = rcc::FdCanClockSource::PLL1_Q; + config.rcc.fdcan_clock_source = rcc::FdCanClockSource::HSE; let peripherals = embassy_stm32::init(config); + //let mut can = can::Fdcan::new(peripherals.FDCAN1, peripherals.PB8, peripherals.PB9, Irqs); let mut can = can::Fdcan::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); - can.can.apply_config( - can::config::FdCanConfig::default().set_nominal_bit_timing(can::config::NominalBitTiming { - sync_jump_width: 1.try_into().unwrap(), - prescaler: 8.try_into().unwrap(), - seg1: 13.try_into().unwrap(), - seg2: 2.try_into().unwrap(), - }), - ); + // 250k bps + can.set_bitrate(250_000); - info!("Configured"); + //let mut can = can.into_internal_loopback_mode(); + let mut can = can.into_normal_mode(); - let mut can = can.into_external_loopback_mode(); - //let mut can = can.into_normal_mode(); + info!("CAN Configured"); let mut i = 0; + let mut last_read_ts = embassy_time::Instant::now(); + loop { - let frame = can::TxFrame::new( - can::TxFrameHeader { - len: 1, - frame_format: can::FrameFormat::Standard, - id: can::StandardId::new(0x123).unwrap().into(), - bit_rate_switching: false, - marker: None, - }, - &[i], - ) - .unwrap(); + let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); _ = can.write(&frame).await; match can.read().await { - Ok(rx_frame) => info!("Rx: {}", rx_frame.data()[0]), + Ok((rx_frame, ts)) => { + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {:x} {:x} {:x} {:x} --- NEW {}", + rx_frame.data()[0], + rx_frame.data()[1], + rx_frame.data()[2], + rx_frame.data()[3], + delta, + ) + } + Err(_err) => error!("Error in frame"), + } + + Timer::after_millis(250).await; + + i += 1; + if i > 3 { + break; + } + } + + let (mut tx, mut rx) = can.split(); + // With split + loop { + let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + info!("Writing frame"); + _ = tx.write(&frame).await; + + match rx.read().await { + Ok((rx_frame, ts)) => { + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {:x} {:x} {:x} {:x} --- NEW {}", + rx_frame.data()[0], + rx_frame.data()[1], + rx_frame.data()[2], + rx_frame.data()[3], + delta, + ) + } Err(_err) => error!("Error in frame"), } diff --git a/examples/stm32h7/src/bin/can.rs b/examples/stm32h7/src/bin/can.rs index 2906d1576..4b29a0d21 100644 --- a/examples/stm32h7/src/bin/can.rs +++ b/examples/stm32h7/src/bin/can.rs @@ -16,54 +16,77 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); - - // configure FDCAN to use PLL1_Q at 64 MHz - config.rcc.pll1 = Some(rcc::Pll { - source: rcc::PllSource::HSI, - prediv: rcc::PllPreDiv::DIV4, - mul: rcc::PllMul::MUL8, - divp: None, - divq: Some(rcc::PllDiv::DIV2), - divr: None, + config.rcc.hse = Some(rcc::Hse { + freq: embassy_stm32::time::Hertz(25_000_000), + mode: rcc::HseMode::Oscillator, }); - config.rcc.fdcan_clock_source = rcc::FdCanClockSource::PLL1_Q; + config.rcc.fdcan_clock_source = rcc::FdCanClockSource::HSE; let peripherals = embassy_stm32::init(config); + //let mut can = can::Fdcan::new(peripherals.FDCAN1, peripherals.PB8, peripherals.PB9, Irqs); let mut can = can::Fdcan::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); - can.can.apply_config( - can::config::FdCanConfig::default().set_nominal_bit_timing(can::config::NominalBitTiming { - sync_jump_width: 1.try_into().unwrap(), - prescaler: 8.try_into().unwrap(), - seg1: 13.try_into().unwrap(), - seg2: 2.try_into().unwrap(), - }), - ); + // 250k bps + can.set_bitrate(250_000); - info!("Configured"); + //let mut can = can.into_internal_loopback_mode(); + let mut can = can.into_normal_mode(); - let mut can = can.into_external_loopback_mode(); - //let mut can = can.into_normal_mode(); + info!("CAN Configured"); let mut i = 0; + let mut last_read_ts = embassy_time::Instant::now(); + loop { - let frame = can::TxFrame::new( - can::TxFrameHeader { - len: 1, - frame_format: can::FrameFormat::Standard, - id: can::StandardId::new(0x123).unwrap().into(), - bit_rate_switching: false, - marker: None, - }, - &[i], - ) - .unwrap(); + let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); _ = can.write(&frame).await; match can.read().await { - Ok(rx_frame) => info!("Rx: {}", rx_frame.data()[0]), + Ok((rx_frame, ts)) => { + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {:x} {:x} {:x} {:x} --- NEW {}", + rx_frame.data()[0], + rx_frame.data()[1], + rx_frame.data()[2], + rx_frame.data()[3], + delta, + ) + } + Err(_err) => error!("Error in frame"), + } + + Timer::after_millis(250).await; + + i += 1; + if i > 3 { + break; + } + } + + let (mut tx, mut rx) = can.split(); + // With split + loop { + let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + info!("Writing frame"); + _ = tx.write(&frame).await; + + match rx.read().await { + Ok((rx_frame, ts)) => { + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {:x} {:x} {:x} {:x} --- NEW {}", + rx_frame.data()[0], + rx_frame.data()[1], + rx_frame.data()[2], + rx_frame.data()[3], + delta, + ) + } Err(_err) => error!("Error in frame"), } -- cgit From 5ad291b708528b5772d6ebcc9309fbd3f8a002c8 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Sat, 17 Feb 2024 18:12:47 +1000 Subject: Add a buffered mode. --- examples/stm32g4/src/bin/can.rs | 97 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 90 insertions(+), 7 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/can.rs b/examples/stm32g4/src/bin/can.rs index 5ff4f0ef0..043ca7144 100644 --- a/examples/stm32g4/src/bin/can.rs +++ b/examples/stm32g4/src/bin/can.rs @@ -5,6 +5,7 @@ use embassy_executor::Spawner; use embassy_stm32::peripherals::*; use embassy_stm32::{bind_interrupts, can, Config}; use embassy_time::Timer; +use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { @@ -28,13 +29,17 @@ async fn main(_spawner: Spawner) { // 250k bps can.set_bitrate(250_000); + let use_fd = false; + // 1M bps - can.set_fd_data_bitrate(1_000_000, false); + if use_fd { + can.set_fd_data_bitrate(1_000_000, false); + } info!("Configured"); - //let mut can = can.into_normal_mode(); - let mut can = can.into_internal_loopback_mode(); + let mut can = can.into_normal_mode(); + //let mut can = can.into_internal_loopback_mode(); let mut i = 0; let mut last_read_ts = embassy_time::Instant::now(); @@ -68,11 +73,17 @@ async fn main(_spawner: Spawner) { } // Use the FD API's even if we don't get FD packets. - loop { - let frame = can::frame::FdFrame::new_extended(0x123456F, &[i; 16]).unwrap(); - info!("Writing frame using FD API"); - _ = can.write_fd(&frame).await; + loop { + if use_fd { + let frame = can::frame::FdFrame::new_extended(0x123456F, &[i; 16]).unwrap(); + info!("Writing frame using FD API"); + _ = can.write_fd(&frame).await; + } else { + let frame = can::frame::FdFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + info!("Writing frame using FD API"); + _ = can.write_fd(&frame).await; + } match can.read_fd().await { Ok((rx_frame, ts)) => { @@ -96,6 +107,7 @@ async fn main(_spawner: Spawner) { } } + i = 0; let (mut tx, mut rx) = can.split(); // With split loop { @@ -120,5 +132,76 @@ async fn main(_spawner: Spawner) { Timer::after_millis(250).await; i += 1; + + if i > 2 { + break; + } + } + + let can = can::Fdcan::join(tx, rx); + + info!("\n\n\nBuffered\n"); + if use_fd { + static TX_BUF: StaticCell> = StaticCell::new(); + static RX_BUF: StaticCell> = StaticCell::new(); + let mut can = can.buffered_fd( + TX_BUF.init(can::TxFdBuf::<8>::new()), + RX_BUF.init(can::RxFdBuf::<10>::new()), + ); + loop { + let frame = can::frame::FdFrame::new_extended(0x123456F, &[i; 16]).unwrap(); + info!("Writing frame"); + + _ = can.write(frame).await; + + match can.read().await { + Ok((rx_frame, ts)) => { + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {} {:02x} --- {}ms", + rx_frame.header().len(), + rx_frame.data()[0..rx_frame.header().len() as usize], + delta, + ) + } + Err(_err) => error!("Error in frame"), + } + + Timer::after_millis(250).await; + + i += 1; + } + } else { + static TX_BUF: StaticCell> = StaticCell::new(); + static RX_BUF: StaticCell> = StaticCell::new(); + let mut can = can.buffered( + TX_BUF.init(can::TxBuf::<8>::new()), + RX_BUF.init(can::RxBuf::<10>::new()), + ); + loop { + let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + info!("Writing frame"); + + _ = can.write(frame).await; + + match can.read().await { + Ok((rx_frame, ts)) => { + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {} {:02x} --- {}ms", + rx_frame.header().len(), + rx_frame.data()[0..rx_frame.header().len() as usize], + delta, + ) + } + Err(_err) => error!("Error in frame"), + } + + Timer::after_millis(250).await; + + i += 1; + } } } -- cgit From dd9f0d9d9e73feffce371ab7fda714b09b268715 Mon Sep 17 00:00:00 2001 From: Zach Date: Sat, 17 Feb 2024 12:04:53 -0600 Subject: support u5 flash --- examples/stm32u5/src/bin/flash.rs | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 examples/stm32u5/src/bin/flash.rs (limited to 'examples') diff --git a/examples/stm32u5/src/bin/flash.rs b/examples/stm32u5/src/bin/flash.rs new file mode 100644 index 000000000..e4fd6bb9c --- /dev/null +++ b/examples/stm32u5/src/bin/flash.rs @@ -0,0 +1,55 @@ +#![no_std] +#![no_main] + +use defmt::{info, unwrap}; +use embassy_executor::Spawner; +use embassy_stm32::flash::Flash; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello Flash!"); + + const ADDR: u32 = 0x8_0000; // This is the offset into the third region, the absolute address is 4x32K + 128K + 0x8_0000. + + // wait a bit before accessing the flash + Timer::after_millis(300).await; + + let mut f = Flash::new_blocking(p.FLASH).into_blocking_regions().bank1_region; + + info!("Reading..."); + let mut buf = [0u8; 32]; + unwrap!(f.blocking_read(ADDR, &mut buf)); + info!("Read: {=[u8]:x}", buf); + + info!("Erasing..."); + unwrap!(f.blocking_erase(ADDR, ADDR + 256 * 1024)); + + info!("Reading..."); + let mut buf = [0u8; 32]; + unwrap!(f.blocking_read(ADDR, &mut buf)); + info!("Read after erase: {=[u8]:x}", buf); + + info!("Writing..."); + unwrap!(f.blocking_write( + ADDR, + &[ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32 + ] + )); + + info!("Reading..."); + let mut buf = [0u8; 32]; + unwrap!(f.blocking_read(ADDR, &mut buf)); + info!("Read: {=[u8]:x}", buf); + assert_eq!( + &buf[..], + &[ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32 + ] + ); +} -- cgit From f9e7fc6e5e3a8c50fb425735a48e65040185413b Mon Sep 17 00:00:00 2001 From: Zach Date: Sat, 17 Feb 2024 14:00:03 -0600 Subject: u5 - add working rng example --- examples/stm32u5/src/bin/rng.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 examples/stm32u5/src/bin/rng.rs (limited to 'examples') diff --git a/examples/stm32u5/src/bin/rng.rs b/examples/stm32u5/src/bin/rng.rs new file mode 100644 index 000000000..3a5bce097 --- /dev/null +++ b/examples/stm32u5/src/bin/rng.rs @@ -0,0 +1,25 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::rng::Rng; +use embassy_stm32::{bind_interrupts, peripherals, rng}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + RNG => rng::InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + + info!("Hello World!"); + + let mut rng = Rng::new(p.RNG, Irqs); + + let mut buf = [0u8; 16]; + unwrap!(rng.async_fill_bytes(&mut buf).await); + info!("random bytes: {:02x}", buf); +} -- cgit From eafa90cd0707298f354d5d1e496f8364117bd781 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Sun, 18 Feb 2024 13:09:37 +1000 Subject: Remove the OperatingMode typestates Instead have two explcit types(without the mode generic arg)types: - One for config - One for all operating modes --- examples/stm32g4/src/bin/can.rs | 9 +++++---- examples/stm32h5/src/bin/can.rs | 3 +-- examples/stm32h7/src/bin/can.rs | 3 +-- 3 files changed, 7 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/can.rs b/examples/stm32g4/src/bin/can.rs index 043ca7144..affa97039 100644 --- a/examples/stm32g4/src/bin/can.rs +++ b/examples/stm32g4/src/bin/can.rs @@ -19,7 +19,7 @@ async fn main(_spawner: Spawner) { let peripherals = embassy_stm32::init(config); - let mut can = can::Fdcan::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); + let mut can = can::FdcanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); can.set_extended_filter( can::fd::filter::ExtendedFilterSlot::_0, @@ -38,8 +38,10 @@ async fn main(_spawner: Spawner) { info!("Configured"); - let mut can = can.into_normal_mode(); - //let mut can = can.into_internal_loopback_mode(); + let mut can = can.start(match use_fd { + true => can::FdcanOperatingMode::InternalLoopbackMode, + false => can::FdcanOperatingMode::NormalOperationMode, + }); let mut i = 0; let mut last_read_ts = embassy_time::Instant::now(); @@ -106,7 +108,6 @@ async fn main(_spawner: Spawner) { break; } } - i = 0; let (mut tx, mut rx) = can.split(); // With split diff --git a/examples/stm32h5/src/bin/can.rs b/examples/stm32h5/src/bin/can.rs index 4b29a0d21..e5ccfe4f7 100644 --- a/examples/stm32h5/src/bin/can.rs +++ b/examples/stm32h5/src/bin/can.rs @@ -24,8 +24,7 @@ async fn main(_spawner: Spawner) { let peripherals = embassy_stm32::init(config); - //let mut can = can::Fdcan::new(peripherals.FDCAN1, peripherals.PB8, peripherals.PB9, Irqs); - let mut can = can::Fdcan::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); + let mut can = can::FdcanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); // 250k bps can.set_bitrate(250_000); diff --git a/examples/stm32h7/src/bin/can.rs b/examples/stm32h7/src/bin/can.rs index 4b29a0d21..e5ccfe4f7 100644 --- a/examples/stm32h7/src/bin/can.rs +++ b/examples/stm32h7/src/bin/can.rs @@ -24,8 +24,7 @@ async fn main(_spawner: Spawner) { let peripherals = embassy_stm32::init(config); - //let mut can = can::Fdcan::new(peripherals.FDCAN1, peripherals.PB8, peripherals.PB9, Irqs); - let mut can = can::Fdcan::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); + let mut can = can::FdcanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); // 250k bps can.set_bitrate(250_000); -- cgit From f12bba8a6db167582b072b007927b1a9920e86ba Mon Sep 17 00:00:00 2001 From: Zach Date: Sun, 18 Feb 2024 16:23:01 -0600 Subject: Add simple i2c example for u5 --- examples/stm32u5/src/bin/i2c.rs | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 examples/stm32u5/src/bin/i2c.rs (limited to 'examples') diff --git a/examples/stm32u5/src/bin/i2c.rs b/examples/stm32u5/src/bin/i2c.rs new file mode 100644 index 000000000..e376c6bc8 --- /dev/null +++ b/examples/stm32u5/src/bin/i2c.rs @@ -0,0 +1,41 @@ +#![no_std] +#![no_main] + +use defmt::{info, unwrap}; +use embassy_executor::Spawner; +use embassy_stm32::dma::NoDma; +use embassy_stm32::i2c::I2c; +use embassy_stm32::time::Hertz; +use embassy_stm32::{bind_interrupts, i2c, peripherals}; +use {defmt_rtt as _, panic_probe as _}; + +const HTS221_ADDRESS: u8 = 0x5F; +const WHOAMI: u8 = 0x0F; + +bind_interrupts!(struct Irqs { + I2C2_EV => i2c::EventInterruptHandler; + I2C2_ER => i2c::ErrorInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + let mut i2c = I2c::new( + p.I2C2, + p.PH4, + p.PH5, + Irqs, + NoDma, + NoDma, + Hertz(100_000), + Default::default(), + ); + + let mut data = [0u8; 1]; + unwrap!(i2c.blocking_write_read(HTS221_ADDRESS, &[WHOAMI], &mut data)); + + // HTS221 data sheet is here: https://www.st.com/resource/en/datasheet/hts221.pdf + // 7.1 WHO_AM_I command is x0F which expected response xBC. + info!("Whoami: 0x{:02x}", data[0]); + assert_eq!(0xBC, data[0]); +} -- cgit From 3f93105e9fe7c5cbdada46a4367b01448fd61c62 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Mon, 19 Feb 2024 08:33:19 +1000 Subject: Add dep for static_cell to example. --- examples/stm32g4/Cargo.toml | 1 + 1 file changed, 1 insertion(+) (limited to 'examples') diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index fdb325f06..74ccfa3b0 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -24,6 +24,7 @@ embedded-can = { version = "0.4" } panic-probe = { version = "0.3", features = ["print-defmt"] } futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } +static_cell = "2.0.0" [profile.release] debug = 2 -- cgit From f3b96d8ba0d5143035a03679d94a4ba14f9652ac Mon Sep 17 00:00:00 2001 From: Mick Chanthaseth Date: Mon, 19 Feb 2024 15:14:28 -0800 Subject: Updated formatting in usb_hid_mouse.rs. --- examples/rp/src/bin/usb_hid_mouse.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/usb_hid_mouse.rs b/examples/rp/src/bin/usb_hid_mouse.rs index a812b22c3..d2c63605a 100644 --- a/examples/rp/src/bin/usb_hid_mouse.rs +++ b/examples/rp/src/bin/usb_hid_mouse.rs @@ -10,8 +10,8 @@ use embassy_rp::bind_interrupts; use embassy_rp::clocks::RoscRng; use embassy_rp::gpio::{Input, Pull}; use embassy_rp::peripherals::USB; -use embassy_time::Timer; use embassy_rp::usb::{Driver, InterruptHandler}; +use embassy_time::Timer; use embassy_usb::class::hid::{HidReaderWriter, ReportId, RequestHandler, State}; use embassy_usb::control::OutResponse; use embassy_usb::{Builder, Config, Handler}; @@ -92,18 +92,18 @@ async fn main(_spawner: Spawner) { loop { // every 1 second _ = Timer::after_secs(1).await; - let report = MouseReport{ + let report = MouseReport { buttons: 0, x: rng.gen_range(-100..100), // random small x movement y: rng.gen_range(-100..100), // random small y movement wheel: 0, pan: 0, }; - match writer.write_serialize(&report).await{ - Ok(())=>{}, - Err(e)=>{ + match writer.write_serialize(&report).await { + Ok(()) => {}, + Err(e) => { warn!("Failed to send report: {:?}", e); - }, + } } } }; -- cgit From 9c870981e3696c8afb16951c806cc6678073f7ca Mon Sep 17 00:00:00 2001 From: Mick Chanthaseth Date: Mon, 19 Feb 2024 15:28:57 -0800 Subject: fixed formatting in usb_hid_mouse.rs --- examples/rp/src/bin/usb_hid_mouse.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/usb_hid_mouse.rs b/examples/rp/src/bin/usb_hid_mouse.rs index d2c63605a..3a5201b59 100644 --- a/examples/rp/src/bin/usb_hid_mouse.rs +++ b/examples/rp/src/bin/usb_hid_mouse.rs @@ -99,11 +99,10 @@ async fn main(_spawner: Spawner) { wheel: 0, pan: 0, }; + // Send the report. match writer.write_serialize(&report).await { - Ok(()) => {}, - Err(e) => { - warn!("Failed to send report: {:?}", e); - } + Ok(()) => {} + Err(e) => warn!("Failed to send report: {:?}", e), } } }; -- cgit From bae30fb3973e0c35613422b1ecff299961b0dda4 Mon Sep 17 00:00:00 2001 From: Mick Chanthaseth Date: Mon, 19 Feb 2024 15:41:15 -0800 Subject: removed extra spaces. --- examples/rp/src/bin/usb_hid_mouse.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/src/bin/usb_hid_mouse.rs b/examples/rp/src/bin/usb_hid_mouse.rs index 3a5201b59..afebd8813 100644 --- a/examples/rp/src/bin/usb_hid_mouse.rs +++ b/examples/rp/src/bin/usb_hid_mouse.rs @@ -88,7 +88,7 @@ async fn main(_spawner: Spawner) { // Do stuff with the class! let in_fut = async { let mut rng = RoscRng; - + loop { // every 1 second _ = Timer::after_secs(1).await; -- cgit From 95056958300d92b34d5f8f77c7429894efbc0fa1 Mon Sep 17 00:00:00 2001 From: Eli Orona Date: Tue, 20 Feb 2024 17:55:05 -0800 Subject: Move compile test to the STM32F334 example. --- examples/stm32f3/src/bin/usart_dma.rs | 4 +--- examples/stm32f334/src/bin/pwm.rs | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32f3/src/bin/usart_dma.rs b/examples/stm32f3/src/bin/usart_dma.rs index 7dc905adc..5234e53b9 100644 --- a/examples/stm32f3/src/bin/usart_dma.rs +++ b/examples/stm32f3/src/bin/usart_dma.rs @@ -17,9 +17,7 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { - let mut init_config = embassy_stm32::Config::default(); - init_config.rcc.cfgr3.usart1sw = Some(embassy_stm32::pac::rcc::vals::Usart1sw::HSI); - let p = embassy_stm32::init(init_config); + let p = embassy_stm32::init(Default::default()); info!("Hello World!"); let config = Config::default(); diff --git a/examples/stm32f334/src/bin/pwm.rs b/examples/stm32f334/src/bin/pwm.rs index 7fc1ea926..24606b9b6 100644 --- a/examples/stm32f334/src/bin/pwm.rs +++ b/examples/stm32f334/src/bin/pwm.rs @@ -28,6 +28,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb1_pre = APBPrescaler::DIV2; config.rcc.apb2_pre = APBPrescaler::DIV1; config.rcc.hrtim = HrtimClockSource::PllClk; + config.rcc.mux.hrtim1sw = Some(embassy_stm32::pac::rcc::vals::Timsw::PLL1_P); // TODO: The two lines here do the same thing } let p = embassy_stm32::init(config); -- cgit From 88e29608ed5425f5dbc3edf56acff1654d587a5e Mon Sep 17 00:00:00 2001 From: Eli Orona Date: Tue, 20 Feb 2024 17:59:51 -0800 Subject: Rust fmt --- examples/stm32f334/src/bin/pwm.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32f334/src/bin/pwm.rs b/examples/stm32f334/src/bin/pwm.rs index 24606b9b6..cf5eb7b26 100644 --- a/examples/stm32f334/src/bin/pwm.rs +++ b/examples/stm32f334/src/bin/pwm.rs @@ -27,8 +27,10 @@ async fn main(_spawner: Spawner) { config.rcc.ahb_pre = AHBPrescaler::DIV1; config.rcc.apb1_pre = APBPrescaler::DIV2; config.rcc.apb2_pre = APBPrescaler::DIV1; + + // TODO: The two lines here do the same thing config.rcc.hrtim = HrtimClockSource::PllClk; - config.rcc.mux.hrtim1sw = Some(embassy_stm32::pac::rcc::vals::Timsw::PLL1_P); // TODO: The two lines here do the same thing + config.rcc.mux.hrtim1sw = Some(embassy_stm32::pac::rcc::vals::Timsw::PLL1_P); } let p = embassy_stm32::init(config); -- cgit From 0665e0d452627b5fe3c0b52981c7f4ef380de83f Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 23 Feb 2024 01:22:11 +0100 Subject: stm32/rcc: port U5 to new API, add all PLLs, all HSE modes. --- examples/stm32u5/src/bin/usb_serial.rs | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'examples') diff --git a/examples/stm32u5/src/bin/usb_serial.rs b/examples/stm32u5/src/bin/usb_serial.rs index dca34fd0e..99cdeacc9 100644 --- a/examples/stm32u5/src/bin/usb_serial.rs +++ b/examples/stm32u5/src/bin/usb_serial.rs @@ -4,7 +4,6 @@ use defmt::{panic, *}; use defmt_rtt as _; // global logger use embassy_executor::Spawner; -use embassy_stm32::rcc::*; use embassy_stm32::usb_otg::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; @@ -22,22 +21,28 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let mut config = Config::default(); - config.rcc.mux = ClockSrc::PLL1_R(PllConfig { - source: PllSource::HSI, - m: Pllm::DIV2, - n: Plln::MUL10, - p: Plldiv::DIV1, - q: Plldiv::DIV1, - r: Plldiv::DIV1, - }); - config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB + { + use embassy_stm32::rcc::*; + config.rcc.hsi = true; + config.rcc.pll1 = Some(Pll { + source: PllSource::HSI, // 16 MHz + prediv: PllPreDiv::DIV1, + mul: PllMul::MUL10, + divp: None, + divq: None, + divr: Some(PllDiv::DIV1), // 160 MHz + }); + config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.voltage_range = VoltageScale::RANGE1; + config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB + } let p = embassy_stm32::init(config); // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb_otg::Config::default(); - config.vbus_detection = true; + config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config -- cgit From e79d2dd7561c0acfb2eb81ea95929c1ca8ba1b77 Mon Sep 17 00:00:00 2001 From: Eli Orona Date: Sat, 24 Feb 2024 12:54:58 -0800 Subject: Move to internal mod and re-export the enums --- examples/stm32f334/src/bin/pwm.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32f334/src/bin/pwm.rs b/examples/stm32f334/src/bin/pwm.rs index cf5eb7b26..7c6d6cd71 100644 --- a/examples/stm32f334/src/bin/pwm.rs +++ b/examples/stm32f334/src/bin/pwm.rs @@ -28,9 +28,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb1_pre = APBPrescaler::DIV2; config.rcc.apb2_pre = APBPrescaler::DIV1; - // TODO: The two lines here do the same thing - config.rcc.hrtim = HrtimClockSource::PllClk; - config.rcc.mux.hrtim1sw = Some(embassy_stm32::pac::rcc::vals::Timsw::PLL1_P); + config.rcc.mux.hrtim1sw = Some(embassy_stm32::rcc::mux::Timsw::PLL1_P); } let p = embassy_stm32::init(config); -- cgit From 1327a644b6194093e732372d2aab571214ef5717 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Sun, 25 Feb 2024 09:57:30 +1000 Subject: FDCAN: Don't require internal module for public API. --- examples/stm32g4/src/bin/can.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/can.rs b/examples/stm32g4/src/bin/can.rs index affa97039..a41f765c1 100644 --- a/examples/stm32g4/src/bin/can.rs +++ b/examples/stm32g4/src/bin/can.rs @@ -22,8 +22,8 @@ async fn main(_spawner: Spawner) { let mut can = can::FdcanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); can.set_extended_filter( - can::fd::filter::ExtendedFilterSlot::_0, - can::fd::filter::ExtendedFilter::accept_all_into_fifo1(), + can::filter::ExtendedFilterSlot::_0, + can::filter::ExtendedFilter::accept_all_into_fifo1(), ); // 250k bps -- cgit From 489d0be2a2971cfae7d6413b601bbd044d42e351 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 26 Feb 2024 00:00:17 +0100 Subject: stm32/rcc: unify naming sysclk field to `sys`, enum to `Sysclk`. --- examples/stm32g0/src/bin/hf_timer.rs | 4 ++-- examples/stm32l1/src/bin/usb_serial.rs | 2 +- examples/stm32l4/src/bin/rng.rs | 4 ++-- examples/stm32l4/src/bin/rtc.rs | 2 +- examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 2 +- examples/stm32l4/src/bin/usb_serial.rs | 2 +- examples/stm32l5/src/bin/rng.rs | 4 ++-- examples/stm32l5/src/bin/usb_ethernet.rs | 2 +- examples/stm32l5/src/bin/usb_hid_mouse.rs | 2 +- examples/stm32l5/src/bin/usb_serial.rs | 2 +- examples/stm32u5/src/bin/usb_serial.rs | 2 +- examples/stm32wl/src/bin/random.rs | 2 +- examples/stm32wl/src/bin/rtc.rs | 2 +- examples/stm32wl/src/bin/uart_async.rs | 2 +- 14 files changed, 17 insertions(+), 17 deletions(-) (limited to 'examples') diff --git a/examples/stm32g0/src/bin/hf_timer.rs b/examples/stm32g0/src/bin/hf_timer.rs index 78a779e29..3f63d0dfd 100644 --- a/examples/stm32g0/src/bin/hf_timer.rs +++ b/examples/stm32g0/src/bin/hf_timer.rs @@ -5,7 +5,7 @@ use defmt::info; use embassy_executor::Spawner; use embassy_stm32::gpio::OutputType; use embassy_stm32::pac::rcc::vals::Tim1sel; -use embassy_stm32::rcc::{ClockSrc, Config as RccConfig, PllConfig, PllSource, Pllm, Plln, Pllq, Pllr}; +use embassy_stm32::rcc::{Config as RccConfig, PllConfig, PllSource, Pllm, Plln, Pllq, Pllr, Sysclk}; use embassy_stm32::time::khz; use embassy_stm32::timer::complementary_pwm::{ComplementaryPwm, ComplementaryPwmPin}; use embassy_stm32::timer::simple_pwm::PwmPin; @@ -16,7 +16,7 @@ use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut rcc_config = RccConfig::default(); - rcc_config.mux = ClockSrc::PLL(PllConfig { + rcc_config.sys = Sysclk::PLL(PllConfig { source: PllSource::HSI, m: Pllm::DIV1, n: Plln::MUL16, diff --git a/examples/stm32l1/src/bin/usb_serial.rs b/examples/stm32l1/src/bin/usb_serial.rs index 7b1e84cbc..f738ea358 100644 --- a/examples/stm32l1/src/bin/usb_serial.rs +++ b/examples/stm32l1/src/bin/usb_serial.rs @@ -27,7 +27,7 @@ async fn main(_spawner: Spawner) { mul: PllMul::MUL6, // PLLVCO = 16*6 = 96Mhz div: PllDiv::DIV3, // 32Mhz clock (16 * 6 / 3) }); - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; } let p = embassy_stm32::init(config); diff --git a/examples/stm32l4/src/bin/rng.rs b/examples/stm32l4/src/bin/rng.rs index 638b3e9e4..14d0e3c1e 100644 --- a/examples/stm32l4/src/bin/rng.rs +++ b/examples/stm32l4/src/bin/rng.rs @@ -3,7 +3,7 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::rcc::{ClockSrc, Pll, PllMul, PllPreDiv, PllQDiv, PllRDiv, PllSource}; +use embassy_stm32::rcc::{Pll, PllMul, PllPreDiv, PllQDiv, PllRDiv, PllSource, Sysclk}; use embassy_stm32::rng::Rng; use embassy_stm32::{bind_interrupts, peripherals, rng, Config}; use {defmt_rtt as _, panic_probe as _}; @@ -15,7 +15,7 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.hsi = true; config.rcc.pll = Some(Pll { source: PllSource::HSI, diff --git a/examples/stm32l4/src/bin/rtc.rs b/examples/stm32l4/src/bin/rtc.rs index 526620bfb..a8a375ab4 100644 --- a/examples/stm32l4/src/bin/rtc.rs +++ b/examples/stm32l4/src/bin/rtc.rs @@ -15,7 +15,7 @@ async fn main(_spawner: Spawner) { let mut config = Config::default(); { use embassy_stm32::rcc::*; - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.hse = Some(Hse { freq: Hertz::mhz(8), mode: HseMode::Oscillator, diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index 026a3a477..32bfab6eb 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs @@ -75,7 +75,7 @@ async fn main(spawner: Spawner) { use embassy_stm32::rcc::*; // 80Mhz clock (Source: 8 / SrcDiv: 1 * PllMul 20 / ClkDiv 2) // 80MHz highest frequency for flash 0 wait. - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.hse = Some(Hse { freq: Hertz::mhz(8), mode: HseMode::Oscillator, diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs index 8cc9a7aed..9247e56a1 100644 --- a/examples/stm32l4/src/bin/usb_serial.rs +++ b/examples/stm32l4/src/bin/usb_serial.rs @@ -23,7 +23,7 @@ async fn main(_spawner: Spawner) { let mut config = Config::default(); config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.hsi = true; config.rcc.pll = Some(Pll { source: PllSource::HSI, diff --git a/examples/stm32l5/src/bin/rng.rs b/examples/stm32l5/src/bin/rng.rs index 50da6c946..0a644e73d 100644 --- a/examples/stm32l5/src/bin/rng.rs +++ b/examples/stm32l5/src/bin/rng.rs @@ -3,7 +3,7 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::rcc::{ClockSrc, Pll, PllMul, PllPreDiv, PllRDiv, PllSource}; +use embassy_stm32::rcc::{Pll, PllMul, PllPreDiv, PllRDiv, PllSource, Sysclk}; use embassy_stm32::rng::Rng; use embassy_stm32::{bind_interrupts, peripherals, rng, Config}; use {defmt_rtt as _, panic_probe as _}; @@ -16,7 +16,7 @@ bind_interrupts!(struct Irqs { async fn main(_spawner: Spawner) { let mut config = Config::default(); config.rcc.hsi = true; - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.pll = Some(Pll { // 64Mhz clock (16 / 1 * 8 / 2) source: PllSource::HSI, diff --git a/examples/stm32l5/src/bin/usb_ethernet.rs b/examples/stm32l5/src/bin/usb_ethernet.rs index 88060b6b0..f6d8b16d0 100644 --- a/examples/stm32l5/src/bin/usb_ethernet.rs +++ b/examples/stm32l5/src/bin/usb_ethernet.rs @@ -45,7 +45,7 @@ async fn net_task(stack: &'static Stack>) -> ! { async fn main(spawner: Spawner) { let mut config = Config::default(); config.rcc.hsi = true; - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.pll = Some(Pll { // 80Mhz clock (16 / 1 * 10 / 2) source: PllSource::HSI, diff --git a/examples/stm32l5/src/bin/usb_hid_mouse.rs b/examples/stm32l5/src/bin/usb_hid_mouse.rs index 7c8a8ebfb..c51ed96e0 100644 --- a/examples/stm32l5/src/bin/usb_hid_mouse.rs +++ b/examples/stm32l5/src/bin/usb_hid_mouse.rs @@ -22,7 +22,7 @@ bind_interrupts!(struct Irqs { async fn main(_spawner: Spawner) { let mut config = Config::default(); config.rcc.hsi = true; - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.pll = Some(Pll { // 80Mhz clock (16 / 1 * 10 / 2) source: PllSource::HSI, diff --git a/examples/stm32l5/src/bin/usb_serial.rs b/examples/stm32l5/src/bin/usb_serial.rs index 75053ce4b..87987f2ce 100644 --- a/examples/stm32l5/src/bin/usb_serial.rs +++ b/examples/stm32l5/src/bin/usb_serial.rs @@ -20,7 +20,7 @@ bind_interrupts!(struct Irqs { async fn main(_spawner: Spawner) { let mut config = Config::default(); config.rcc.hsi = true; - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.pll = Some(Pll { // 80Mhz clock (16 / 1 * 10 / 2) source: PllSource::HSI, diff --git a/examples/stm32u5/src/bin/usb_serial.rs b/examples/stm32u5/src/bin/usb_serial.rs index 99cdeacc9..61851e5a2 100644 --- a/examples/stm32u5/src/bin/usb_serial.rs +++ b/examples/stm32u5/src/bin/usb_serial.rs @@ -32,7 +32,7 @@ async fn main(_spawner: Spawner) { divq: None, divr: Some(PllDiv::DIV1), // 160 MHz }); - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.voltage_range = VoltageScale::RANGE1; config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB } diff --git a/examples/stm32wl/src/bin/random.rs b/examples/stm32wl/src/bin/random.rs index 3610392be..8e9fe02b2 100644 --- a/examples/stm32wl/src/bin/random.rs +++ b/examples/stm32wl/src/bin/random.rs @@ -22,7 +22,7 @@ async fn main(_spawner: Spawner) { mode: HseMode::Bypass, prescaler: HsePrescaler::DIV1, }); - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.pll = Some(Pll { source: PllSource::HSE, prediv: PllPreDiv::DIV2, diff --git a/examples/stm32wl/src/bin/rtc.rs b/examples/stm32wl/src/bin/rtc.rs index 4738d5770..0c26426ef 100644 --- a/examples/stm32wl/src/bin/rtc.rs +++ b/examples/stm32wl/src/bin/rtc.rs @@ -21,7 +21,7 @@ async fn main(_spawner: Spawner) { mode: HseMode::Bypass, prescaler: HsePrescaler::DIV1, }); - config.rcc.mux = ClockSrc::PLL1_R; + config.rcc.sys = Sysclk::PLL1_R; config.rcc.pll = Some(Pll { source: PllSource::HSE, prediv: PllPreDiv::DIV2, diff --git a/examples/stm32wl/src/bin/uart_async.rs b/examples/stm32wl/src/bin/uart_async.rs index 8e545834c..3637243a0 100644 --- a/examples/stm32wl/src/bin/uart_async.rs +++ b/examples/stm32wl/src/bin/uart_async.rs @@ -20,7 +20,7 @@ but can be surely changed for your needs. #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = embassy_stm32::Config::default(); - config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSE; + config.rcc.sys = embassy_stm32::rcc::Sysclk::HSE; let p = embassy_stm32::init(config); defmt::info!("Starting system"); -- cgit From bf4cbd75779b230e9e33a9d2a849f67335a68cf9 Mon Sep 17 00:00:00 2001 From: Caleb Garrett <47389035+caleb-garrett@users.noreply.github.com> Date: Thu, 22 Feb 2024 15:47:36 -0500 Subject: Add CRYP example. --- examples/stm32f7/Cargo.toml | 1 + examples/stm32f7/src/bin/cryp.rs | 69 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 examples/stm32f7/src/bin/cryp.rs (limited to 'examples') diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index 736e81723..305816a2b 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml @@ -30,6 +30,7 @@ embedded-storage = "0.3.1" static_cell = "2" sha2 = { version = "0.10.8", default-features = false } hmac = "0.12.1" +aes-gcm = {version = "0.10.3", default-features = false, features = ["aes", "heapless"] } [profile.release] debug = 2 diff --git a/examples/stm32f7/src/bin/cryp.rs b/examples/stm32f7/src/bin/cryp.rs new file mode 100644 index 000000000..c1b80ddc3 --- /dev/null +++ b/examples/stm32f7/src/bin/cryp.rs @@ -0,0 +1,69 @@ +#![no_std] +#![no_main] + +use aes_gcm::{ + aead::{heapless::Vec, AeadInPlace, KeyInit}, + Aes128Gcm, +}; +use defmt::info; +use embassy_executor::Spawner; +use embassy_stm32::cryp::*; +use embassy_stm32::Config; +use embassy_time::Instant; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) -> ! { + let config = Config::default(); + let p = embassy_stm32::init(config); + + let payload: &[u8] = b"hello world"; + let aad: &[u8] = b"additional data"; + + let hw_cryp = Cryp::new(p.CRYP); + let key: [u8; 16] = [0; 16]; + let mut ciphertext: [u8; 11] = [0; 11]; + let mut plaintext: [u8; 11] = [0; 11]; + let iv: [u8; 12] = [0; 12]; + + let hw_start_time = Instant::now(); + + // Encrypt in hardware using AES-GCM 128-bit + let aes_gcm = AesGcm::new(&key, &iv); + let mut gcm_encrypt = hw_cryp.start(&aes_gcm, Direction::Encrypt); + hw_cryp.aad_blocking(&mut gcm_encrypt, aad, true); + hw_cryp.payload_blocking(&mut gcm_encrypt, payload, &mut ciphertext, true); + let encrypt_tag = hw_cryp.finish_blocking(gcm_encrypt); + + // Decrypt in hardware using AES-GCM 128-bit + let mut gcm_decrypt = hw_cryp.start(&aes_gcm, Direction::Decrypt); + hw_cryp.aad_blocking(&mut gcm_decrypt, aad, true); + hw_cryp.payload_blocking(&mut gcm_decrypt, &ciphertext, &mut plaintext, true); + let decrypt_tag = hw_cryp.finish_blocking(gcm_decrypt); + + let hw_end_time = Instant::now(); + let hw_execution_time = hw_end_time - hw_start_time; + + info!("AES-GCM Ciphertext: {:?}", ciphertext); + info!("AES-GCM Plaintext: {:?}", plaintext); + assert_eq!(payload, plaintext); + assert_eq!(encrypt_tag, decrypt_tag); + + let sw_start_time = Instant::now(); + + //Encrypt in software using AES-GCM 128-bit + let mut payload_vec: Vec = Vec::from_slice(&payload).unwrap(); + let cipher = Aes128Gcm::new(&key.into()); + let _ = cipher.encrypt_in_place(&iv.into(), aad.into(), &mut payload_vec); + + //Decrypt in software using AES-GCM 128-bit + let _ = cipher.encrypt_in_place(&iv.into(), aad.into(), &mut payload_vec); + + let sw_end_time = Instant::now(); + let sw_execution_time = sw_end_time - sw_start_time; + + info!("Hardware Execution Time: {:?}", hw_execution_time); + info!("Software Execution Time: {:?}", sw_execution_time); + + loop {} +} -- cgit From 967b4927b002dbcdcfbe968bf9c15014fc1de2a0 Mon Sep 17 00:00:00 2001 From: Caleb Garrett <47389035+caleb-garrett@users.noreply.github.com> Date: Fri, 23 Feb 2024 16:05:18 -0500 Subject: Correct tag generation. --- examples/stm32f7/src/bin/cryp.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32f7/src/bin/cryp.rs b/examples/stm32f7/src/bin/cryp.rs index c1b80ddc3..be41955c5 100644 --- a/examples/stm32f7/src/bin/cryp.rs +++ b/examples/stm32f7/src/bin/cryp.rs @@ -51,13 +51,16 @@ async fn main(_spawner: Spawner) -> ! { let sw_start_time = Instant::now(); - //Encrypt in software using AES-GCM 128-bit + // Encrypt in software using AES-GCM 128-bit let mut payload_vec: Vec = Vec::from_slice(&payload).unwrap(); let cipher = Aes128Gcm::new(&key.into()); let _ = cipher.encrypt_in_place(&iv.into(), aad.into(), &mut payload_vec); + + assert_eq!(ciphertext, payload_vec[0..ciphertext.len()]); + assert_eq!(encrypt_tag, payload_vec[ciphertext.len()..ciphertext.len() + encrypt_tag.len()]); - //Decrypt in software using AES-GCM 128-bit - let _ = cipher.encrypt_in_place(&iv.into(), aad.into(), &mut payload_vec); + // Decrypt in software using AES-GCM 128-bit + let _ = cipher.decrypt_in_place(&iv.into(), aad.into(), &mut payload_vec); let sw_end_time = Instant::now(); let sw_execution_time = sw_end_time - sw_start_time; -- cgit From f352b6d68b17fee886af58494b7e793cea3ea383 Mon Sep 17 00:00:00 2001 From: Caleb Garrett <47389035+caleb-garrett@users.noreply.github.com> Date: Sat, 24 Feb 2024 16:14:44 -0500 Subject: Address CI build issues. --- examples/stm32f7/src/bin/cryp.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/stm32f7/src/bin/cryp.rs b/examples/stm32f7/src/bin/cryp.rs index be41955c5..04927841a 100644 --- a/examples/stm32f7/src/bin/cryp.rs +++ b/examples/stm32f7/src/bin/cryp.rs @@ -1,10 +1,9 @@ #![no_std] #![no_main] -use aes_gcm::{ - aead::{heapless::Vec, AeadInPlace, KeyInit}, - Aes128Gcm, -}; +use aes_gcm::aead::heapless::Vec; +use aes_gcm::aead::{AeadInPlace, KeyInit}; +use aes_gcm::Aes128Gcm; use defmt::info; use embassy_executor::Spawner; use embassy_stm32::cryp::*; @@ -55,9 +54,12 @@ async fn main(_spawner: Spawner) -> ! { let mut payload_vec: Vec = Vec::from_slice(&payload).unwrap(); let cipher = Aes128Gcm::new(&key.into()); let _ = cipher.encrypt_in_place(&iv.into(), aad.into(), &mut payload_vec); - + assert_eq!(ciphertext, payload_vec[0..ciphertext.len()]); - assert_eq!(encrypt_tag, payload_vec[ciphertext.len()..ciphertext.len() + encrypt_tag.len()]); + assert_eq!( + encrypt_tag, + payload_vec[ciphertext.len()..ciphertext.len() + encrypt_tag.len()] + ); // Decrypt in software using AES-GCM 128-bit let _ = cipher.decrypt_in_place(&iv.into(), aad.into(), &mut payload_vec); -- cgit From 72c6f9a101141183fb2de46c2fe40aa979330d9c Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 26 Feb 2024 02:58:03 +0100 Subject: stm32/adc: reexport enums from PAC to avoid boilerplate hell. --- examples/stm32f0/src/bin/adc.rs | 2 +- examples/stm32f334/src/bin/adc.rs | 2 +- examples/stm32f334/src/bin/opamp.rs | 2 +- examples/stm32g4/src/bin/adc.rs | 2 +- examples/stm32h7/src/bin/adc.rs | 2 +- examples/stm32l0/src/bin/adc.rs | 2 +- examples/stm32l4/src/bin/adc.rs | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'examples') diff --git a/examples/stm32f0/src/bin/adc.rs b/examples/stm32f0/src/bin/adc.rs index 8fef062b3..c2fb143cd 100644 --- a/examples/stm32f0/src/bin/adc.rs +++ b/examples/stm32f0/src/bin/adc.rs @@ -19,7 +19,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let mut adc = Adc::new(p.ADC, Irqs, &mut Delay); - adc.set_sample_time(SampleTime::Cycles71_5); + adc.set_sample_time(SampleTime::CYCLES71_5); let mut pin = p.PA1; let mut vrefint = adc.enable_vref(&mut Delay); diff --git a/examples/stm32f334/src/bin/adc.rs b/examples/stm32f334/src/bin/adc.rs index a9fb7f1a6..bd126ce68 100644 --- a/examples/stm32f334/src/bin/adc.rs +++ b/examples/stm32f334/src/bin/adc.rs @@ -40,7 +40,7 @@ async fn main(_spawner: Spawner) -> ! { let mut adc = Adc::new(p.ADC1, Irqs, &mut Delay); - adc.set_sample_time(SampleTime::Cycles601_5); + adc.set_sample_time(SampleTime::CYCLES601_5); info!("enable vrefint..."); diff --git a/examples/stm32f334/src/bin/opamp.rs b/examples/stm32f334/src/bin/opamp.rs index 6f25191be..a5c710aa2 100644 --- a/examples/stm32f334/src/bin/opamp.rs +++ b/examples/stm32f334/src/bin/opamp.rs @@ -42,7 +42,7 @@ async fn main(_spawner: Spawner) -> ! { let mut adc = Adc::new(p.ADC2, Irqs, &mut Delay); let mut opamp = OpAmp::new(p.OPAMP2); - adc.set_sample_time(SampleTime::Cycles601_5); + adc.set_sample_time(SampleTime::CYCLES601_5); info!("enable vrefint..."); diff --git a/examples/stm32g4/src/bin/adc.rs b/examples/stm32g4/src/bin/adc.rs index 99e3ef63b..6c6de1ffe 100644 --- a/examples/stm32g4/src/bin/adc.rs +++ b/examples/stm32g4/src/bin/adc.rs @@ -30,7 +30,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let mut adc = Adc::new(p.ADC2, &mut Delay); - adc.set_sample_time(SampleTime::Cycles32_5); + adc.set_sample_time(SampleTime::CYCLES32_5); loop { let measured = adc.read(&mut p.PA7); diff --git a/examples/stm32h7/src/bin/adc.rs b/examples/stm32h7/src/bin/adc.rs index fe6fe69a1..f0278239f 100644 --- a/examples/stm32h7/src/bin/adc.rs +++ b/examples/stm32h7/src/bin/adc.rs @@ -46,7 +46,7 @@ async fn main(_spawner: Spawner) { let mut adc = Adc::new(p.ADC3, &mut Delay); - adc.set_sample_time(SampleTime::Cycles32_5); + adc.set_sample_time(SampleTime::CYCLES32_5); let mut vrefint_channel = adc.enable_vrefint(); diff --git a/examples/stm32l0/src/bin/adc.rs b/examples/stm32l0/src/bin/adc.rs index adeaa208a..97d41ca4b 100644 --- a/examples/stm32l0/src/bin/adc.rs +++ b/examples/stm32l0/src/bin/adc.rs @@ -19,7 +19,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let mut adc = Adc::new(p.ADC, Irqs, &mut Delay); - adc.set_sample_time(SampleTime::Cycles79_5); + adc.set_sample_time(SampleTime::CYCLES79_5); let mut pin = p.PA1; let mut vrefint = adc.enable_vref(&mut Delay); diff --git a/examples/stm32l4/src/bin/adc.rs b/examples/stm32l4/src/bin/adc.rs index d01e9f1b3..910944673 100644 --- a/examples/stm32l4/src/bin/adc.rs +++ b/examples/stm32l4/src/bin/adc.rs @@ -20,7 +20,7 @@ fn main() -> ! { let mut adc = Adc::new(p.ADC1, &mut Delay); //adc.enable_vref(); - adc.set_resolution(Resolution::EightBit); + adc.set_resolution(Resolution::BITS8); let mut channel = p.PC0; loop { -- cgit From a0afd378f4f3bb0032a1f845c2883334b433dd79 Mon Sep 17 00:00:00 2001 From: Haobo Gu Date: Mon, 26 Feb 2024 17:28:29 +0800 Subject: update usbd-hid to latest Signed-off-by: Haobo Gu --- examples/nrf52840/Cargo.toml | 2 +- examples/nrf5340/Cargo.toml | 2 +- examples/rp/Cargo.toml | 2 +- examples/stm32g4/Cargo.toml | 2 +- examples/stm32l5/Cargo.toml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index abb995be6..4ab5c7b7c 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml @@ -28,7 +28,7 @@ panic-probe = { version = "0.3", features = ["print-defmt"] } futures = { version = "0.3.17", default-features = false, features = ["async-await"] } rand = { version = "0.8.4", default-features = false } embedded-storage = "0.3.1" -usbd-hid = "0.6.0" +usbd-hid = "0.7.0" serde = { version = "1.0.136", default-features = false } embedded-hal = { version = "1.0" } embedded-hal-async = { version = "1.0" } diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index 56b9c8018..24aa560d5 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml @@ -24,7 +24,7 @@ panic-probe = { version = "0.3", features = ["print-defmt"] } futures = { version = "0.3.17", default-features = false, features = ["async-await"] } rand = { version = "0.8.4", default-features = false } embedded-storage = "0.3.1" -usbd-hid = "0.6.0" +usbd-hid = "0.7.0" serde = { version = "1.0.136", default-features = false } [profile.release] diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index e1092dba4..585349506 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -36,7 +36,7 @@ display-interface = "0.4.1" byte-slice-cast = { version = "1.2.0", default-features = false } smart-leds = "0.3.0" heapless = "0.8" -usbd-hid = "0.6.1" +usbd-hid = "0.7.0" embedded-hal-1 = { package = "embedded-hal", version = "1.0" } embedded-hal-async = "1.0" diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index 74ccfa3b0..64c749b9b 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -12,7 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } -usbd-hid = "0.6.0" +usbd-hid = "0.7.0" defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml index 0c6beb72c..5bcee178f 100644 --- a/examples/stm32l5/Cargo.toml +++ b/examples/stm32l5/Cargo.toml @@ -13,7 +13,7 @@ embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["de embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } -usbd-hid = "0.6.0" +usbd-hid = "0.7.0" defmt = "0.3" defmt-rtt = "0.4" -- cgit From 47c579eba2a7b4372a891bcd747f2bb0c56ce8a4 Mon Sep 17 00:00:00 2001 From: eZio Pan Date: Wed, 28 Feb 2024 18:08:41 +0800 Subject: update metapac --- examples/stm32h7/src/bin/low_level_timer_api.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/low_level_timer_api.rs b/examples/stm32h7/src/bin/low_level_timer_api.rs index cc508c3cf..049d9967d 100644 --- a/examples/stm32h7/src/bin/low_level_timer_api.rs +++ b/examples/stm32h7/src/bin/low_level_timer_api.rs @@ -113,11 +113,11 @@ impl<'d, T: CaptureCompare32bitInstance> SimplePwm32<'d, T> { } pub fn get_max_duty(&self) -> u32 { - T::regs_gp32().arr().read().arr() + T::regs_gp32().arr().read() } pub fn set_duty(&mut self, channel: Channel, duty: u32) { defmt::assert!(duty < self.get_max_duty()); - T::regs_gp32().ccr(channel.index()).modify(|w| w.set_ccr(duty)) + T::regs_gp32().ccr(channel.index()).write_value(duty) } } -- cgit From 95234cddbac6f21fce0f5df510d49816f343b87d Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 26 Feb 2024 03:28:27 +0100 Subject: stm32: autogenerate mux config for all chips. --- examples/stm32f334/src/bin/pwm.rs | 2 +- examples/stm32g0/src/bin/hf_timer.rs | 44 ++++++++++++++---------------- examples/stm32g0/src/bin/usb_serial.rs | 10 +++---- examples/stm32g4/src/bin/adc.rs | 29 ++++++++++---------- examples/stm32g4/src/bin/can.rs | 21 ++++++++++++-- examples/stm32g4/src/bin/pll.rs | 1 + examples/stm32g4/src/bin/usb_serial.rs | 50 ++++++++++++---------------------- examples/stm32h5/src/bin/can.rs | 2 +- examples/stm32h5/src/bin/usb_serial.rs | 7 ++--- examples/stm32h7/src/bin/adc.rs | 2 +- examples/stm32h7/src/bin/can.rs | 2 +- examples/stm32h7/src/bin/dac.rs | 2 +- examples/stm32h7/src/bin/dac_dma.rs | 2 +- examples/stm32l4/src/bin/adc.rs | 14 +++++----- 14 files changed, 93 insertions(+), 95 deletions(-) (limited to 'examples') diff --git a/examples/stm32f334/src/bin/pwm.rs b/examples/stm32f334/src/bin/pwm.rs index 7c6d6cd71..e6d1a6c02 100644 --- a/examples/stm32f334/src/bin/pwm.rs +++ b/examples/stm32f334/src/bin/pwm.rs @@ -28,7 +28,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb1_pre = APBPrescaler::DIV2; config.rcc.apb2_pre = APBPrescaler::DIV1; - config.rcc.mux.hrtim1sw = Some(embassy_stm32::rcc::mux::Timsw::PLL1_P); + config.rcc.mux.hrtim1sw = embassy_stm32::rcc::mux::Timsw::PLL1_P; } let p = embassy_stm32::init(config); diff --git a/examples/stm32g0/src/bin/hf_timer.rs b/examples/stm32g0/src/bin/hf_timer.rs index 3f63d0dfd..647ff0419 100644 --- a/examples/stm32g0/src/bin/hf_timer.rs +++ b/examples/stm32g0/src/bin/hf_timer.rs @@ -4,37 +4,35 @@ use defmt::info; use embassy_executor::Spawner; use embassy_stm32::gpio::OutputType; -use embassy_stm32::pac::rcc::vals::Tim1sel; -use embassy_stm32::rcc::{Config as RccConfig, PllConfig, PllSource, Pllm, Plln, Pllq, Pllr, Sysclk}; use embassy_stm32::time::khz; use embassy_stm32::timer::complementary_pwm::{ComplementaryPwm, ComplementaryPwmPin}; use embassy_stm32::timer::simple_pwm::PwmPin; use embassy_stm32::timer::Channel; -use embassy_stm32::{pac, Config as PeripheralConfig}; +use embassy_stm32::Config as PeripheralConfig; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] async fn main(_spawner: Spawner) { - let mut rcc_config = RccConfig::default(); - rcc_config.sys = Sysclk::PLL(PllConfig { - source: PllSource::HSI, - m: Pllm::DIV1, - n: Plln::MUL16, - r: Pllr::DIV4, // CPU clock comes from PLLR (HSI (16MHz) / 1 * 16 / 4 = 64MHz) - q: Some(Pllq::DIV2), // TIM1 or TIM15 can be sourced from PLLQ (HSI (16MHz) / 1 * 16 / 2 = 128MHz) - p: None, - }); - - let mut peripheral_config = PeripheralConfig::default(); - peripheral_config.rcc = rcc_config; - - let p = embassy_stm32::init(peripheral_config); - - // configure TIM1 mux to select PLLQ as clock source - // https://www.st.com/resource/en/reference_manual/rm0444-stm32g0x1-advanced-armbased-32bit-mcus-stmicroelectronics.pdf - // RM0444 page 210 - // RCC - Peripherals Independent Clock Control Register - bit 22 -> 1 - pac::RCC.ccipr().modify(|w| w.set_tim1sel(Tim1sel::PLL1_Q)); + let mut config = PeripheralConfig::default(); + { + use embassy_stm32::rcc::*; + + config.rcc.sys = Sysclk::PLL(PllConfig { + source: PllSource::HSI, + m: Pllm::DIV1, + n: Plln::MUL16, + r: Pllr::DIV4, // CPU clock comes from PLLR (HSI (16MHz) / 1 * 16 / 4 = 64MHz) + q: Some(Pllq::DIV2), // TIM1 or TIM15 can be sourced from PLLQ (HSI (16MHz) / 1 * 16 / 2 = 128MHz) + p: None, + }); + + // configure TIM1 mux to select PLLQ as clock source + // https://www.st.com/resource/en/reference_manual/rm0444-stm32g0x1-advanced-armbased-32bit-mcus-stmicroelectronics.pdf + // RM0444 page 210 + // RCC - Peripherals Independent Clock Control Register - bit 22 -> 1 + config.rcc.mux.tim1sel = embassy_stm32::rcc::mux::Tim1sel::PLL1_Q; + } + let p = embassy_stm32::init(config); let ch1 = PwmPin::new_ch1(p.PA8, OutputType::PushPull); let ch1n = ComplementaryPwmPin::new_ch1(p.PA7, OutputType::PushPull); diff --git a/examples/stm32g0/src/bin/usb_serial.rs b/examples/stm32g0/src/bin/usb_serial.rs index f5aaa5624..8b9915626 100644 --- a/examples/stm32g0/src/bin/usb_serial.rs +++ b/examples/stm32g0/src/bin/usb_serial.rs @@ -4,7 +4,6 @@ use defmt::{panic, *}; use embassy_executor::Spawner; use embassy_futures::join::join; -use embassy_stm32::rcc::{Hsi48Config, UsbSrc}; use embassy_stm32::usb::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; @@ -19,10 +18,11 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); - config.rcc.usb_src = Some(UsbSrc::Hsi48(Hsi48Config { - sync_from_usb: true, - ..Default::default() - })); + { + use embassy_stm32::rcc::*; + config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); + config.rcc.mux.usbsel = mux::Usbsel::HSI48; + } let p = embassy_stm32::init(config); info!("Hello World!"); diff --git a/examples/stm32g4/src/bin/adc.rs b/examples/stm32g4/src/bin/adc.rs index 6c6de1ffe..f81335f93 100644 --- a/examples/stm32g4/src/bin/adc.rs +++ b/examples/stm32g4/src/bin/adc.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::adc::{Adc, SampleTime}; -use embassy_stm32::rcc::{AdcClockSource, Pll, PllMul, PllPreDiv, PllRDiv, Pllsrc, Sysclk}; use embassy_stm32::Config; use embassy_time::{Delay, Timer}; use {defmt_rtt as _, panic_probe as _}; @@ -12,20 +11,20 @@ use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); - - config.rcc.pll = Some(Pll { - source: Pllsrc::HSI, - prediv: PllPreDiv::DIV4, - mul: PllMul::MUL85, - divp: None, - divq: None, - // Main system clock at 170 MHz - divr: Some(PllRDiv::DIV2), - }); - - config.rcc.adc12_clock_source = AdcClockSource::SYS; - config.rcc.sys = Sysclk::PLL1_R; - + { + use embassy_stm32::rcc::*; + config.rcc.pll = Some(Pll { + source: Pllsrc::HSI, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL85, + divp: None, + divq: None, + // Main system clock at 170 MHz + divr: Some(PllRDiv::DIV2), + }); + config.rcc.mux.adc12sel = mux::Adcsel::SYS; + config.rcc.sys = Sysclk::PLL1_R; + } let mut p = embassy_stm32::init(config); info!("Hello World!"); diff --git a/examples/stm32g4/src/bin/can.rs b/examples/stm32g4/src/bin/can.rs index a41f765c1..7551b2a55 100644 --- a/examples/stm32g4/src/bin/can.rs +++ b/examples/stm32g4/src/bin/can.rs @@ -3,6 +3,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::peripherals::*; +use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, can, Config}; use embassy_time::Timer; use static_cell::StaticCell; @@ -15,8 +16,24 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { - let config = Config::default(); - + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hse = Some(Hse { + freq: Hertz(24_000_000), + mode: HseMode::Oscillator, + }); + config.rcc.pll = Some(Pll { + source: Pllsrc::HSE, + prediv: PllPreDiv::DIV6, + mul: PllMul::MUL85, + divp: None, + divq: Some(PllQDiv::DIV8), // 42.5 Mhz for fdcan. + divr: Some(PllRDiv::DIV2), // Main system clock at 170 MHz + }); + config.rcc.mux.fdcansel = mux::Fdcansel::PLL1_Q; + config.rcc.sys = Sysclk::PLL1_R; + } let peripherals = embassy_stm32::init(config); let mut can = can::FdcanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); diff --git a/examples/stm32g4/src/bin/pll.rs b/examples/stm32g4/src/bin/pll.rs index 5274de79d..2609abfa2 100644 --- a/examples/stm32g4/src/bin/pll.rs +++ b/examples/stm32g4/src/bin/pll.rs @@ -12,6 +12,7 @@ use {defmt_rtt as _, panic_probe as _}; async fn main(_spawner: Spawner) { let mut config = Config::default(); + config.rcc.hsi = true; config.rcc.pll = Some(Pll { source: Pllsrc::HSI, prediv: PllPreDiv::DIV4, diff --git a/examples/stm32g4/src/bin/usb_serial.rs b/examples/stm32g4/src/bin/usb_serial.rs index 989fef5b0..90caaae14 100644 --- a/examples/stm32g4/src/bin/usb_serial.rs +++ b/examples/stm32g4/src/bin/usb_serial.rs @@ -3,9 +3,6 @@ use defmt::{panic, *}; use embassy_executor::Spawner; -use embassy_stm32::rcc::{ - Clk48Src, Hse, HseMode, Hsi48Config, Pll, PllMul, PllPreDiv, PllQDiv, PllRDiv, Pllsrc, Sysclk, -}; use embassy_stm32::time::Hertz; use embassy_stm32::usb::{self, Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, Config}; @@ -22,38 +19,27 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); - - // Change this to `false` to use the HSE clock source for the USB. This example assumes an 8MHz HSE. - const USE_HSI48: bool = true; - - let plldivq = if USE_HSI48 { None } else { Some(PllQDiv::DIV6) }; - - config.rcc.hse = Some(Hse { - freq: Hertz(8_000_000), - mode: HseMode::Oscillator, - }); - - config.rcc.pll = Some(Pll { - source: Pllsrc::HSE, - prediv: PllPreDiv::DIV2, - mul: PllMul::MUL72, - divp: None, - divq: plldivq, - // Main system clock at 144 MHz - divr: Some(PllRDiv::DIV2), - }); - - config.rcc.sys = Sysclk::PLL1_R; - config.rcc.boost = true; // BOOST! - - if USE_HSI48 { + { + use embassy_stm32::rcc::*; // Sets up the Clock Recovery System (CRS) to use the USB SOF to trim the HSI48 oscillator. config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); - config.rcc.clk48_src = Clk48Src::HSI48; - } else { - config.rcc.clk48_src = Clk48Src::PLL1_Q; + config.rcc.hse = Some(Hse { + freq: Hertz(8_000_000), + mode: HseMode::Oscillator, + }); + config.rcc.pll = Some(Pll { + source: Pllsrc::HSE, + prediv: PllPreDiv::DIV2, + mul: PllMul::MUL72, + divp: None, + divq: Some(PllQDiv::DIV6), // 48mhz + divr: Some(PllRDiv::DIV2), // Main system clock at 144 MHz + }); + config.rcc.sys = Sysclk::PLL1_R; + config.rcc.boost = true; // BOOST! + config.rcc.mux.clk48sel = mux::Clk48sel::HSI48; + //config.rcc.mux.clk48sel = mux::Clk48sel::PLL1_Q; // uncomment to use PLL1_Q instead. } - let p = embassy_stm32::init(config); info!("Hello World!"); diff --git a/examples/stm32h5/src/bin/can.rs b/examples/stm32h5/src/bin/can.rs index e5ccfe4f7..643df27f9 100644 --- a/examples/stm32h5/src/bin/can.rs +++ b/examples/stm32h5/src/bin/can.rs @@ -20,7 +20,7 @@ async fn main(_spawner: Spawner) { freq: embassy_stm32::time::Hertz(25_000_000), mode: rcc::HseMode::Oscillator, }); - config.rcc.fdcan_clock_source = rcc::FdCanClockSource::HSE; + config.rcc.mux.fdcan12sel = rcc::mux::Fdcansel::HSE; let peripherals = embassy_stm32::init(config); diff --git a/examples/stm32h5/src/bin/usb_serial.rs b/examples/stm32h5/src/bin/usb_serial.rs index 208493d8c..83477c8fa 100644 --- a/examples/stm32h5/src/bin/usb_serial.rs +++ b/examples/stm32h5/src/bin/usb_serial.rs @@ -5,7 +5,7 @@ use defmt::{panic, *}; use embassy_executor::Spawner; use embassy_stm32::time::Hertz; use embassy_stm32::usb::{Driver, Instance}; -use embassy_stm32::{bind_interrupts, pac, peripherals, usb, Config}; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; @@ -41,15 +41,12 @@ async fn main(_spawner: Spawner) { config.rcc.apb3_pre = APBPrescaler::DIV4; config.rcc.sys = Sysclk::PLL1_P; config.rcc.voltage_scale = VoltageScale::Scale0; + config.rcc.mux.usbsel = mux::Usbsel::HSI48; } let p = embassy_stm32::init(config); info!("Hello World!"); - pac::RCC.ccipr4().write(|w| { - w.set_usbsel(pac::rcc::vals::Usbsel::HSI48); - }); - // Create the driver, from the HAL. let driver = Driver::new(p.USB, Irqs, p.PA12, p.PA11); diff --git a/examples/stm32h7/src/bin/adc.rs b/examples/stm32h7/src/bin/adc.rs index f0278239f..a5594d10c 100644 --- a/examples/stm32h7/src/bin/adc.rs +++ b/examples/stm32h7/src/bin/adc.rs @@ -38,7 +38,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb3_pre = APBPrescaler::DIV2; // 100 Mhz config.rcc.apb4_pre = APBPrescaler::DIV2; // 100 Mhz config.rcc.voltage_scale = VoltageScale::Scale1; - config.rcc.adc_clock_source = AdcClockSource::PLL2_P; + config.rcc.mux.adcsel = mux::Adcsel::PLL2_P; } let mut p = embassy_stm32::init(config); diff --git a/examples/stm32h7/src/bin/can.rs b/examples/stm32h7/src/bin/can.rs index e5ccfe4f7..13a6a5051 100644 --- a/examples/stm32h7/src/bin/can.rs +++ b/examples/stm32h7/src/bin/can.rs @@ -20,7 +20,7 @@ async fn main(_spawner: Spawner) { freq: embassy_stm32::time::Hertz(25_000_000), mode: rcc::HseMode::Oscillator, }); - config.rcc.fdcan_clock_source = rcc::FdCanClockSource::HSE; + config.rcc.mux.fdcansel = rcc::mux::Fdcansel::HSE; let peripherals = embassy_stm32::init(config); diff --git a/examples/stm32h7/src/bin/dac.rs b/examples/stm32h7/src/bin/dac.rs index a9bf46de0..a6f969aba 100644 --- a/examples/stm32h7/src/bin/dac.rs +++ b/examples/stm32h7/src/bin/dac.rs @@ -40,7 +40,7 @@ fn main() -> ! { config.rcc.apb3_pre = APBPrescaler::DIV2; // 100 Mhz config.rcc.apb4_pre = APBPrescaler::DIV2; // 100 Mhz config.rcc.voltage_scale = VoltageScale::Scale1; - config.rcc.adc_clock_source = AdcClockSource::PLL2_P; + config.rcc.mux.adcsel = mux::Adcsel::PLL2_P; } let p = embassy_stm32::init(config); diff --git a/examples/stm32h7/src/bin/dac_dma.rs b/examples/stm32h7/src/bin/dac_dma.rs index d88bd838f..feec28993 100644 --- a/examples/stm32h7/src/bin/dac_dma.rs +++ b/examples/stm32h7/src/bin/dac_dma.rs @@ -42,7 +42,7 @@ async fn main(spawner: Spawner) { config.rcc.apb3_pre = APBPrescaler::DIV2; // 100 Mhz config.rcc.apb4_pre = APBPrescaler::DIV2; // 100 Mhz config.rcc.voltage_scale = VoltageScale::Scale1; - config.rcc.adc_clock_source = AdcClockSource::PLL2_P; + config.rcc.mux.adcsel = mux::Adcsel::PLL2_P; } // Initialize the board and obtain a Peripherals instance diff --git a/examples/stm32l4/src/bin/adc.rs b/examples/stm32l4/src/bin/adc.rs index 910944673..a9f4604aa 100644 --- a/examples/stm32l4/src/bin/adc.rs +++ b/examples/stm32l4/src/bin/adc.rs @@ -3,7 +3,7 @@ use defmt::*; use embassy_stm32::adc::{Adc, Resolution}; -use embassy_stm32::pac; +use embassy_stm32::Config; use embassy_time::Delay; use {defmt_rtt as _, panic_probe as _}; @@ -11,12 +11,12 @@ use {defmt_rtt as _, panic_probe as _}; fn main() -> ! { info!("Hello World!"); - pac::RCC.ccipr().modify(|w| { - w.set_adcsel(pac::rcc::vals::Adcsel::SYS); - }); - pac::RCC.ahb2enr().modify(|w| w.set_adcen(true)); - - let p = embassy_stm32::init(Default::default()); + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.mux.adcsel = mux::Adcsel::SYS; + } + let p = embassy_stm32::init(config); let mut adc = Adc::new(p.ADC1, &mut Delay); //adc.enable_vref(); -- cgit From df8f508ffa2bec79f6e3fba4ac3cfe0e5545b5b2 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Sat, 2 Mar 2024 09:00:54 +1000 Subject: Writing to TX buffer also needs to fire an interrupt to kick off transmission if it is idle. Formatting --- examples/stm32g4/src/bin/can.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/can.rs b/examples/stm32g4/src/bin/can.rs index a41f765c1..11e96361e 100644 --- a/examples/stm32g4/src/bin/can.rs +++ b/examples/stm32g4/src/bin/can.rs @@ -184,7 +184,11 @@ async fn main(_spawner: Spawner) { let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); - _ = can.write(frame).await; + // You can use any of these approaches to send. The writer makes it + // easy to share sending from multiple tasks. + //_ = can.write(frame).await; + //can.writer().try_write(frame).unwrap(); + can.writer().write(frame).await; match can.read().await { Ok((rx_frame, ts)) => { -- cgit From b4567bb8c56dced1c64177d727ebb32ee4680ea3 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sun, 3 Mar 2024 23:18:29 +0100 Subject: stm32/rcc: g4: consistent PllSource, add pll pqr limits, simplify a bit. --- examples/stm32g4/src/bin/adc.rs | 2 +- examples/stm32g4/src/bin/can.rs | 2 +- examples/stm32g4/src/bin/pll.rs | 29 ++++++++++++++--------------- examples/stm32g4/src/bin/usb_serial.rs | 2 +- 4 files changed, 17 insertions(+), 18 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/adc.rs b/examples/stm32g4/src/bin/adc.rs index f81335f93..ae64bc8e4 100644 --- a/examples/stm32g4/src/bin/adc.rs +++ b/examples/stm32g4/src/bin/adc.rs @@ -14,7 +14,7 @@ async fn main(_spawner: Spawner) { { use embassy_stm32::rcc::*; config.rcc.pll = Some(Pll { - source: Pllsrc::HSI, + source: PllSource::HSI, prediv: PllPreDiv::DIV4, mul: PllMul::MUL85, divp: None, diff --git a/examples/stm32g4/src/bin/can.rs b/examples/stm32g4/src/bin/can.rs index 93b206de8..4373a89a8 100644 --- a/examples/stm32g4/src/bin/can.rs +++ b/examples/stm32g4/src/bin/can.rs @@ -24,7 +24,7 @@ async fn main(_spawner: Spawner) { mode: HseMode::Oscillator, }); config.rcc.pll = Some(Pll { - source: Pllsrc::HSE, + source: PllSource::HSE, prediv: PllPreDiv::DIV6, mul: PllMul::MUL85, divp: None, diff --git a/examples/stm32g4/src/bin/pll.rs b/examples/stm32g4/src/bin/pll.rs index 2609abfa2..08ed95b34 100644 --- a/examples/stm32g4/src/bin/pll.rs +++ b/examples/stm32g4/src/bin/pll.rs @@ -3,7 +3,6 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::rcc::{Pll, PllMul, PllPreDiv, PllRDiv, Pllsrc, Sysclk}; use embassy_stm32::Config; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; @@ -11,20 +10,20 @@ use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); - - config.rcc.hsi = true; - config.rcc.pll = Some(Pll { - source: Pllsrc::HSI, - prediv: PllPreDiv::DIV4, - mul: PllMul::MUL85, - divp: None, - divq: None, - // Main system clock at 170 MHz - divr: Some(PllRDiv::DIV2), - }); - - config.rcc.sys = Sysclk::PLL1_R; - + { + use embassy_stm32::rcc::*; + config.rcc.hsi = true; + config.rcc.pll = Some(Pll { + source: PllSource::HSI, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL85, + divp: None, + divq: None, + // Main system clock at 170 MHz + divr: Some(PllRDiv::DIV2), + }); + config.rcc.sys = Sysclk::PLL1_R; + } let _p = embassy_stm32::init(config); info!("Hello World!"); diff --git a/examples/stm32g4/src/bin/usb_serial.rs b/examples/stm32g4/src/bin/usb_serial.rs index 90caaae14..dc95aa6e5 100644 --- a/examples/stm32g4/src/bin/usb_serial.rs +++ b/examples/stm32g4/src/bin/usb_serial.rs @@ -28,7 +28,7 @@ async fn main(_spawner: Spawner) { mode: HseMode::Oscillator, }); config.rcc.pll = Some(Pll { - source: Pllsrc::HSE, + source: PllSource::HSE, prediv: PllPreDiv::DIV2, mul: PllMul::MUL72, divp: None, -- cgit From c8c4b0b701ecfbb146c6f651bebd43f053f55ac2 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sun, 3 Mar 2024 23:19:54 +0100 Subject: stm32/rcc: port g0 to new api. --- examples/stm32g0/src/bin/hf_timer.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'examples') diff --git a/examples/stm32g0/src/bin/hf_timer.rs b/examples/stm32g0/src/bin/hf_timer.rs index 647ff0419..3ea06cdee 100644 --- a/examples/stm32g0/src/bin/hf_timer.rs +++ b/examples/stm32g0/src/bin/hf_timer.rs @@ -16,15 +16,16 @@ async fn main(_spawner: Spawner) { let mut config = PeripheralConfig::default(); { use embassy_stm32::rcc::*; - - config.rcc.sys = Sysclk::PLL(PllConfig { + config.rcc.hsi = true; + config.rcc.pll = Some(Pll { source: PllSource::HSI, - m: Pllm::DIV1, - n: Plln::MUL16, - r: Pllr::DIV4, // CPU clock comes from PLLR (HSI (16MHz) / 1 * 16 / 4 = 64MHz) - q: Some(Pllq::DIV2), // TIM1 or TIM15 can be sourced from PLLQ (HSI (16MHz) / 1 * 16 / 2 = 128MHz) - p: None, + prediv: PllPreDiv::DIV1, + mul: PllMul::MUL16, + divp: None, + divq: Some(PllQDiv::DIV2), // 16 / 1 * 16 / 2 = 128 Mhz + divr: Some(PllRDiv::DIV4), // 16 / 1 * 16 / 4 = 64 Mhz }); + config.rcc.sys = Sysclk::PLL1_R; // configure TIM1 mux to select PLLQ as clock source // https://www.st.com/resource/en/reference_manual/rm0444-stm32g0x1-advanced-armbased-32bit-mcus-stmicroelectronics.pdf -- cgit From 315fb040ee15306158d1c7c24249ee08cd22e36a Mon Sep 17 00:00:00 2001 From: Vo Trung Chi Date: Thu, 7 Mar 2024 00:45:01 +0700 Subject: stm32: add usb_hid_mouse example Signed-off-by: Vo Trung Chi --- examples/stm32f4/Cargo.toml | 1 + examples/stm32f4/src/bin/usb_hid_mouse.rs | 148 ++++++++++++++++++++++++++++++ 2 files changed, 149 insertions(+) create mode 100644 examples/stm32f4/src/bin/usb_hid_mouse.rs (limited to 'examples') diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index cd46fc85b..512158bef 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -27,6 +27,7 @@ heapless = { version = "0.8", default-features = false } nb = "1.0.0" embedded-storage = "0.3.1" micromath = "2.0.0" +usbd-hid = "0.7.0" static_cell = "2" chrono = { version = "^0.4", default-features = false} diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs new file mode 100644 index 000000000..add1ef306 --- /dev/null +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -0,0 +1,148 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::time::Hertz; +use embassy_stm32::usb_otg::Driver; +use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_time::Timer; +use embassy_usb::class::hid::{HidWriter, ReportId, RequestHandler, State}; +use embassy_usb::control::OutResponse; +use embassy_usb::Builder; +use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; +use futures::future::join; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + OTG_FS => usb_otg::InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hse = Some(Hse { + freq: Hertz(8_000_000), + mode: HseMode::Bypass, + }); + config.rcc.pll_src = PllSource::HSE; + config.rcc.pll = Some(Pll { + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL168, + divp: Some(PllPDiv::DIV2), // 8mhz / 4 * 168 / 2 = 168Mhz. + divq: Some(PllQDiv::DIV7), // 8mhz / 4 * 168 / 7 = 48Mhz. + divr: None, + }); + config.rcc.ahb_pre = AHBPrescaler::DIV1; + config.rcc.apb1_pre = APBPrescaler::DIV4; + config.rcc.apb2_pre = APBPrescaler::DIV2; + config.rcc.sys = Sysclk::PLL1_P; + } + let p = embassy_stm32::init(config); + + // Create the driver, from the HAL. + let mut ep_out_buffer = [0u8; 256]; + let mut config = embassy_stm32::usb_otg::Config::default(); + config.vbus_detection = true; + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); + + // Create embassy-usb Config + let mut config = embassy_usb::Config::new(0xc0de, 0xcafe); + config.manufacturer = Some("Embassy"); + config.product = Some("HID mouse example"); + config.serial_number = Some("12345678"); + + // Required for windows compatibility. + // https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_CDC_ACM_IAD.html#help + config.device_class = 0xEF; + config.device_sub_class = 0x02; + config.device_protocol = 0x01; + config.composite_with_iads = true; + + // Create embassy-usb DeviceBuilder using the driver and config. + // It needs some buffers for building the descriptors. + let mut device_descriptor = [0; 256]; + let mut config_descriptor = [0; 256]; + let mut bos_descriptor = [0; 256]; + let mut control_buf = [0; 64]; + + let request_handler = MyRequestHandler {}; + + let mut state = State::new(); + + let mut builder = Builder::new( + driver, + config, + &mut device_descriptor, + &mut config_descriptor, + &mut bos_descriptor, + &mut [], // no msos descriptors + &mut control_buf, + ); + + // Create classes on the builder. + let config = embassy_usb::class::hid::Config { + report_descriptor: MouseReport::desc(), + request_handler: Some(&request_handler), + poll_ms: 60, + max_packet_size: 8, + }; + + let mut writer = HidWriter::<_, 5>::new(&mut builder, &mut state, config); + + // Build the builder. + let mut usb = builder.build(); + + // Run the USB device. + let usb_fut = usb.run(); + + // Do stuff with the class! + let hid_fut = async { + let mut y: i8 = 5; + loop { + Timer::after_millis(500).await; + + y = -y; + let report = MouseReport { + buttons: 0, + x: 0, + y, + wheel: 0, + pan: 0, + }; + match writer.write_serialize(&report).await { + Ok(()) => {} + Err(e) => warn!("Failed to send report: {:?}", e), + } + } + }; + +// Run everything concurrently. +// If we had made everything `'static` above instead, we could do this using separate tasks instead. +join(usb_fut, hid_fut).await; +} + +struct MyRequestHandler {} + +impl RequestHandler for MyRequestHandler { +fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + info!("Get report for {:?}", id); + None +} + +fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + info!("Set report for {:?}: {=[u8]}", id, data); + OutResponse::Accepted +} + +fn set_idle_ms(&self, id: Option, dur: u32) { + info!("Set idle rate for {:?} to {:?}", id, dur); +} + +fn get_idle_ms(&self, id: Option) -> Option { + info!("Get idle rate for {:?}", id); + None +} +} -- cgit From 61653229b6c0c77235704dc3b4283f57deabc02b Mon Sep 17 00:00:00 2001 From: Vo Trung Chi Date: Thu, 7 Mar 2024 00:57:18 +0700 Subject: stm32: add usb_hid_mouse example Signed-off-by: Vo Trung Chi --- examples/stm32f4/src/bin/usb_hid_mouse.rs | 32 +++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index add1ef306..0dc5f5804 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -10,8 +10,8 @@ use embassy_time::Timer; use embassy_usb::class::hid::{HidWriter, ReportId, RequestHandler, State}; use embassy_usb::control::OutResponse; use embassy_usb::Builder; -use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; use futures::future::join; +use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { @@ -127,22 +127,22 @@ join(usb_fut, hid_fut).await; struct MyRequestHandler {} impl RequestHandler for MyRequestHandler { -fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { - info!("Get report for {:?}", id); - None -} + fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + info!("Get report for {:?}", id); + None + } -fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { - info!("Set report for {:?}: {=[u8]}", id, data); - OutResponse::Accepted -} + fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + info!("Set report for {:?}: {=[u8]}", id, data); + OutResponse::Accepted + } -fn set_idle_ms(&self, id: Option, dur: u32) { - info!("Set idle rate for {:?} to {:?}", id, dur); -} + fn set_idle_ms(&self, id: Option, dur: u32) { + info!("Set idle rate for {:?} to {:?}", id, dur); + } -fn get_idle_ms(&self, id: Option) -> Option { - info!("Get idle rate for {:?}", id); - None -} + fn get_idle_ms(&self, id: Option) -> Option { + info!("Get idle rate for {:?}", id); + None + } } -- cgit From 5d53348c76242a83cdd42a69ec2ae418d43f6238 Mon Sep 17 00:00:00 2001 From: Vo Trung Chi Date: Thu, 7 Mar 2024 00:59:49 +0700 Subject: stm32: add usb_hid_mouse example Signed-off-by: Vo Trung Chi --- examples/stm32f4/src/bin/usb_hid_mouse.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index 0dc5f5804..c98792880 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -119,9 +119,9 @@ async fn main(_spawner: Spawner) { } }; -// Run everything concurrently. -// If we had made everything `'static` above instead, we could do this using separate tasks instead. -join(usb_fut, hid_fut).await; + // Run everything concurrently. + // If we had made everything `'static` above instead, we could do this using separate tasks instead. + join(usb_fut, hid_fut).await; } struct MyRequestHandler {} -- cgit From f3efa4ee3ba562fd51cd49b70a6c5305a1aaac6a Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Wed, 6 Mar 2024 19:45:57 +0100 Subject: stm32/rtc: remove use of deprecated .timestamp() --- examples/stm32f4/src/bin/rtc.rs | 2 +- examples/stm32h7/src/bin/rtc.rs | 4 ++-- examples/stm32l4/src/bin/rtc.rs | 4 ++-- examples/stm32wl/src/bin/rtc.rs | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/rtc.rs b/examples/stm32f4/src/bin/rtc.rs index abab07b6b..82d8a37ba 100644 --- a/examples/stm32f4/src/bin/rtc.rs +++ b/examples/stm32f4/src/bin/rtc.rs @@ -28,7 +28,7 @@ async fn main(_spawner: Spawner) { loop { let now: NaiveDateTime = rtc.now().unwrap().into(); - info!("{}", now.timestamp()); + info!("{}", now.and_utc().timestamp()); Timer::after_millis(1000).await; } diff --git a/examples/stm32h7/src/bin/rtc.rs b/examples/stm32h7/src/bin/rtc.rs index c6b9cf57e..0adb48877 100644 --- a/examples/stm32h7/src/bin/rtc.rs +++ b/examples/stm32h7/src/bin/rtc.rs @@ -24,7 +24,7 @@ async fn main(_spawner: Spawner) { .unwrap(); let mut rtc = Rtc::new(p.RTC, RtcConfig::default()); - info!("Got RTC! {:?}", now.timestamp()); + info!("Got RTC! {:?}", now.and_utc().timestamp()); rtc.set_datetime(now.into()).expect("datetime not set"); @@ -32,5 +32,5 @@ async fn main(_spawner: Spawner) { Timer::after_millis(20000).await; let then: NaiveDateTime = rtc.now().unwrap().into(); - info!("Got RTC! {:?}", then.timestamp()); + info!("Got RTC! {:?}", then.and_utc().timestamp()); } diff --git a/examples/stm32l4/src/bin/rtc.rs b/examples/stm32l4/src/bin/rtc.rs index a8a375ab4..f554f0f78 100644 --- a/examples/stm32l4/src/bin/rtc.rs +++ b/examples/stm32l4/src/bin/rtc.rs @@ -40,7 +40,7 @@ async fn main(_spawner: Spawner) { .unwrap(); let mut rtc = Rtc::new(p.RTC, RtcConfig::default()); - info!("Got RTC! {:?}", now.timestamp()); + info!("Got RTC! {:?}", now.and_utc().timestamp()); rtc.set_datetime(now.into()).expect("datetime not set"); @@ -48,5 +48,5 @@ async fn main(_spawner: Spawner) { Timer::after_millis(20000).await; let then: NaiveDateTime = rtc.now().unwrap().into(); - info!("Got RTC! {:?}", then.timestamp()); + info!("Got RTC! {:?}", then.and_utc().timestamp()); } diff --git a/examples/stm32wl/src/bin/rtc.rs b/examples/stm32wl/src/bin/rtc.rs index 0c26426ef..cf7d6d220 100644 --- a/examples/stm32wl/src/bin/rtc.rs +++ b/examples/stm32wl/src/bin/rtc.rs @@ -40,7 +40,7 @@ async fn main(_spawner: Spawner) { .unwrap(); let mut rtc = Rtc::new(p.RTC, RtcConfig::default()); - info!("Got RTC! {:?}", now.timestamp()); + info!("Got RTC! {:?}", now.and_utc().timestamp()); rtc.set_datetime(now.into()).expect("datetime not set"); @@ -48,5 +48,5 @@ async fn main(_spawner: Spawner) { Timer::after_millis(20000).await; let then: NaiveDateTime = rtc.now().unwrap().into(); - info!("Got RTC! {:?}", then.timestamp()); + info!("Got RTC! {:?}", then.and_utc().timestamp()); } -- cgit From fecb65b98862fe4c8c83df0be60dc6810625fa65 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Sun, 3 Mar 2024 16:23:40 +1000 Subject: Make use of internal BXCAN crate work. Tested on stm32f103 with real bus and HIL tests. Fix --- examples/stm32f1/src/bin/can.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/can.rs b/examples/stm32f1/src/bin/can.rs index c1c4f8359..176fc888f 100644 --- a/examples/stm32f1/src/bin/can.rs +++ b/examples/stm32f1/src/bin/can.rs @@ -3,8 +3,8 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::can::bxcan::filter::Mask32; -use embassy_stm32::can::bxcan::{Fifo, Frame, Id, StandardId}; +use embassy_stm32::can::bx::filter::Mask32; +use embassy_stm32::can::bx::{Fifo, Frame, Id, StandardId}; use embassy_stm32::can::{Can, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, TxInterruptHandler}; use embassy_stm32::peripherals::CAN; use embassy_stm32::{bind_interrupts, Config}; -- cgit From a9ff38003bebbb87aea2405437155d5312326803 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Tue, 5 Mar 2024 20:27:52 +1000 Subject: Documentation. . --- examples/stm32f1/src/bin/can.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/can.rs b/examples/stm32f1/src/bin/can.rs index 176fc888f..130b3905a 100644 --- a/examples/stm32f1/src/bin/can.rs +++ b/examples/stm32f1/src/bin/can.rs @@ -45,16 +45,16 @@ async fn main(_spawner: Spawner) { let mut i: u8 = 0; loop { - let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), [i]); + let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), [i, 0, 1, 2, 3, 4, 5, 6]); can.write(&tx_frame).await; match can.read().await { Ok(env) => match env.frame.id() { Id::Extended(id) => { - defmt::println!("Extended Frame id={:x}", id.as_raw()); + defmt::println!("Extended Frame id={:x} {:02x}", id.as_raw(), env.frame.data().unwrap()); } Id::Standard(id) => { - defmt::println!("Standard Frame id={:x}", id.as_raw()); + defmt::println!("Standard Frame id={:x} {:02x}", id.as_raw(), env.frame.data().unwrap()); } }, Err(err) => { -- cgit From 65b38cf75504339033c56b39ce23da0b697a35a5 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Tue, 5 Mar 2024 20:51:05 +1000 Subject: Fix examples and improve imports required. --- examples/stm32f1/src/bin/can.rs | 9 +++++---- examples/stm32f4/src/bin/can.rs | 7 ++++--- examples/stm32f7/src/bin/can.rs | 21 ++++++++++++++------- 3 files changed, 23 insertions(+), 14 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/can.rs b/examples/stm32f1/src/bin/can.rs index 130b3905a..00d61096f 100644 --- a/examples/stm32f1/src/bin/can.rs +++ b/examples/stm32f1/src/bin/can.rs @@ -3,9 +3,10 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::can::bx::filter::Mask32; -use embassy_stm32::can::bx::{Fifo, Frame, Id, StandardId}; -use embassy_stm32::can::{Can, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, TxInterruptHandler}; +use embassy_stm32::can::{ + filter, Can, Fifo, Frame, Id, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, StandardId, + TxInterruptHandler, +}; use embassy_stm32::peripherals::CAN; use embassy_stm32::{bind_interrupts, Config}; use {defmt_rtt as _, panic_probe as _}; @@ -31,7 +32,7 @@ async fn main(_spawner: Spawner) { can.as_mut() .modify_filters() - .enable_bank(0, Fifo::Fifo0, Mask32::accept_all()); + .enable_bank(0, Fifo::Fifo0, filter::Mask32::accept_all()); can.as_mut() .modify_config() diff --git a/examples/stm32f4/src/bin/can.rs b/examples/stm32f4/src/bin/can.rs index d074b4265..b20af8cf1 100644 --- a/examples/stm32f4/src/bin/can.rs +++ b/examples/stm32f4/src/bin/can.rs @@ -4,9 +4,10 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::bind_interrupts; -use embassy_stm32::can::bxcan::filter::Mask32; -use embassy_stm32::can::bxcan::{Fifo, Frame, StandardId}; -use embassy_stm32::can::{Can, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, TxInterruptHandler}; +use embassy_stm32::can::filter::Mask32; +use embassy_stm32::can::{ + Can, Fifo, Frame, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, StandardId, TxInterruptHandler, +}; use embassy_stm32::gpio::{Input, Pull}; use embassy_stm32::peripherals::CAN1; use embassy_time::Instant; diff --git a/examples/stm32f7/src/bin/can.rs b/examples/stm32f7/src/bin/can.rs index bcfdb67a8..c3e14bbf4 100644 --- a/examples/stm32f7/src/bin/can.rs +++ b/examples/stm32f7/src/bin/can.rs @@ -1,16 +1,18 @@ #![no_std] #![no_main] +use core::num::{NonZeroU16, NonZeroU8}; + use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::bind_interrupts; -use embassy_stm32::can::bxcan::filter::Mask32; -use embassy_stm32::can::bxcan::{Fifo, Frame, StandardId}; +use embassy_stm32::can::filter::Mask32; use embassy_stm32::can::{ - Can, CanTx, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, TxInterruptHandler, + Can, CanTx, Fifo, Frame, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, StandardId, + TxInterruptHandler, }; use embassy_stm32::gpio::{Input, Pull}; use embassy_stm32::peripherals::CAN3; +use embassy_stm32::{bind_interrupts, can}; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; @@ -22,7 +24,7 @@ bind_interrupts!(struct Irqs { }); #[embassy_executor::task] -pub async fn send_can_message(tx: &'static mut CanTx<'static, 'static, CAN3>) { +pub async fn send_can_message(tx: &'static mut CanTx<'static, CAN3>) { loop { let frame = Frame::new_data(unwrap!(StandardId::new(0 as _)), [0]); tx.write(&frame).await; @@ -51,13 +53,18 @@ async fn main(spawner: Spawner) { can.as_mut() .modify_config() - .set_bit_timing(0x001c0001) // http://www.bittiming.can-wiki.info/ + .set_bit_timing(can::util::NominalBitTiming { + prescaler: NonZeroU16::new(2).unwrap(), + seg1: NonZeroU8::new(13).unwrap(), + seg2: NonZeroU8::new(2).unwrap(), + sync_jump_width: NonZeroU8::new(1).unwrap(), + }) // http://www.bittiming.can-wiki.info/ .set_loopback(true) .enable(); let (tx, mut rx) = can.split(); - static CAN_TX: StaticCell> = StaticCell::new(); + static CAN_TX: StaticCell> = StaticCell::new(); let tx = CAN_TX.init(tx); spawner.spawn(send_can_message(tx)).unwrap(); -- cgit From 6e9e8eeb5f6458833b28a08e7480b2630107d79c Mon Sep 17 00:00:00 2001 From: Caleb Garrett <47389035+caleb-garrett@users.noreply.github.com> Date: Tue, 5 Mar 2024 11:25:56 -0500 Subject: Refactored cryp din/dout into functions. --- examples/stm32f7/src/bin/cryp.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32f7/src/bin/cryp.rs b/examples/stm32f7/src/bin/cryp.rs index 04927841a..79b74e569 100644 --- a/examples/stm32f7/src/bin/cryp.rs +++ b/examples/stm32f7/src/bin/cryp.rs @@ -6,11 +6,19 @@ use aes_gcm::aead::{AeadInPlace, KeyInit}; use aes_gcm::Aes128Gcm; use defmt::info; use embassy_executor::Spawner; -use embassy_stm32::cryp::*; -use embassy_stm32::Config; +use embassy_stm32::dma::NoDma; +use embassy_stm32::{ + bind_interrupts, + cryp::{self, *}, +}; +use embassy_stm32::{peripherals, Config}; use embassy_time::Instant; use {defmt_rtt as _, panic_probe as _}; +bind_interrupts!(struct Irqs { + CRYP => cryp::InterruptHandler; +}); + #[embassy_executor::main] async fn main(_spawner: Spawner) -> ! { let config = Config::default(); @@ -19,7 +27,7 @@ async fn main(_spawner: Spawner) -> ! { let payload: &[u8] = b"hello world"; let aad: &[u8] = b"additional data"; - let hw_cryp = Cryp::new(p.CRYP); + let hw_cryp = Cryp::new(p.CRYP, NoDma, NoDma, Irqs); let key: [u8; 16] = [0; 16]; let mut ciphertext: [u8; 11] = [0; 11]; let mut plaintext: [u8; 11] = [0; 11]; -- cgit From d99fcfd0c285be220c8f0004974567d7d4e2607b Mon Sep 17 00:00:00 2001 From: Timo Kröger Date: Sun, 3 Mar 2024 15:09:53 +0100 Subject: [UCPD] Configuration Channel (CC) handling --- examples/stm32g4/src/bin/usb_c_pd.rs | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 examples/stm32g4/src/bin/usb_c_pd.rs (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_c_pd.rs b/examples/stm32g4/src/bin/usb_c_pd.rs new file mode 100644 index 000000000..c442ab0a7 --- /dev/null +++ b/examples/stm32g4/src/bin/usb_c_pd.rs @@ -0,0 +1,62 @@ +#![no_std] +#![no_main] + +use defmt::{info, Format}; +use embassy_executor::Spawner; +use embassy_stm32::{ + ucpd::{self, CcPull, CcVState, Ucpd}, + Config, +}; +use embassy_time::{with_timeout, Duration}; +use {defmt_rtt as _, panic_probe as _}; + +#[derive(Debug, Format)] +enum CableOrientation { + Normal, + Flipped, + DebugAccessoryMode, +} + +// Returns true when the cable +async fn wait_attached<'d, T: ucpd::Instance>(ucpd: &mut Ucpd<'d, T>) -> CableOrientation { + loop { + let (cc1, cc2) = ucpd.cc_vstate(); + if cc1 == CcVState::LOWEST && cc2 == CcVState::LOWEST { + // Detached, wait until attached by monitoring the CC lines. + ucpd.wait_for_cc_change().await; + continue; + } + + // Attached, wait for CC lines to be stable for tCCDebounce (100..200ms). + if with_timeout(Duration::from_millis(100), ucpd.wait_for_cc_change()) + .await + .is_ok() + { + // State has changed, restart detection procedure. + continue; + }; + + // State was stable for the complete debounce period, check orientation. + return match (cc1, cc2) { + (_, CcVState::LOWEST) => CableOrientation::Normal, // CC1 connected + (CcVState::LOWEST, _) => CableOrientation::Flipped, // CC2 connected + _ => CableOrientation::DebugAccessoryMode, // Both connected (special cable) + }; + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + // TODO: Disable DBCC pin functionality by default but have flag in the config to keep it enabled when required. + let p = embassy_stm32::init(Config::default()); + + info!("Hello World!"); + + let mut ucpd = Ucpd::new(p.UCPD1, p.PB6, p.PB4, CcPull::Sink); + + info!("Waiting for USB connection..."); + let cable_orientation = wait_attached(&mut ucpd).await; + info!("USB cable connected, orientation: {}", cable_orientation); + + loop {} +} -- cgit From a3b12226170d6b1a9ded47cc043cc09489cee278 Mon Sep 17 00:00:00 2001 From: Timo Kröger Date: Thu, 7 Mar 2024 09:17:05 +0100 Subject: [UCPD] Improve Type-C CC handling * Improved interrupt handling: Clear flags in ISR, check state change in future * Disable pull-up/pull-down resistors and voltage monitor on drop * nightly rustfmt --- examples/stm32g4/src/bin/usb_c_pd.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_c_pd.rs b/examples/stm32g4/src/bin/usb_c_pd.rs index c442ab0a7..7a0065087 100644 --- a/examples/stm32g4/src/bin/usb_c_pd.rs +++ b/examples/stm32g4/src/bin/usb_c_pd.rs @@ -3,10 +3,8 @@ use defmt::{info, Format}; use embassy_executor::Spawner; -use embassy_stm32::{ - ucpd::{self, CcPull, CcVState, Ucpd}, - Config, -}; +use embassy_stm32::ucpd::{self, CcPull, CcVState, Ucpd}; +use embassy_stm32::Config; use embassy_time::{with_timeout, Duration}; use {defmt_rtt as _, panic_probe as _}; @@ -18,17 +16,17 @@ enum CableOrientation { } // Returns true when the cable -async fn wait_attached<'d, T: ucpd::Instance>(ucpd: &mut Ucpd<'d, T>) -> CableOrientation { +async fn wait_attached(ucpd: &mut Ucpd<'_, T>) -> CableOrientation { loop { let (cc1, cc2) = ucpd.cc_vstate(); if cc1 == CcVState::LOWEST && cc2 == CcVState::LOWEST { // Detached, wait until attached by monitoring the CC lines. - ucpd.wait_for_cc_change().await; + ucpd.wait_for_cc_vstate_change().await; continue; } // Attached, wait for CC lines to be stable for tCCDebounce (100..200ms). - if with_timeout(Duration::from_millis(100), ucpd.wait_for_cc_change()) + if with_timeout(Duration::from_millis(100), ucpd.wait_for_cc_vstate_change()) .await .is_ok() { -- cgit From 4d0e3838168a7447b3580135ef78d65baa578933 Mon Sep 17 00:00:00 2001 From: Timo Kröger Date: Thu, 7 Mar 2024 11:17:39 +0100 Subject: [UCPD] Prepare for PD communication implementation --- examples/stm32g4/src/bin/usb_c_pd.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_c_pd.rs b/examples/stm32g4/src/bin/usb_c_pd.rs index 7a0065087..1443cb773 100644 --- a/examples/stm32g4/src/bin/usb_c_pd.rs +++ b/examples/stm32g4/src/bin/usb_c_pd.rs @@ -3,7 +3,7 @@ use defmt::{info, Format}; use embassy_executor::Spawner; -use embassy_stm32::ucpd::{self, CcPull, CcVState, Ucpd}; +use embassy_stm32::ucpd::{self, CcPull, CcSel, CcVState, Ucpd}; use embassy_stm32::Config; use embassy_time::{with_timeout, Duration}; use {defmt_rtt as _, panic_probe as _}; @@ -56,5 +56,18 @@ async fn main(_spawner: Spawner) { let cable_orientation = wait_attached(&mut ucpd).await; info!("USB cable connected, orientation: {}", cable_orientation); + let cc_sel = match cable_orientation { + CableOrientation::Normal => { + info!("Starting PD communication on CC1 pin"); + CcSel::CC1 + } + CableOrientation::Flipped => { + info!("Starting PD communication on CC2 pin"); + CcSel::CC2 + } + CableOrientation::DebugAccessoryMode => panic!("No PD communication in DAM"), + }; + let (mut _rx, mut _tx) = ucpd.pd(p.DMA1_CH1, p.DMA1_CH2, cc_sel); + loop {} } -- cgit From 5e271ff31b55b339d4321af4b2c8a096bf153d4b Mon Sep 17 00:00:00 2001 From: Timo Kröger Date: Thu, 7 Mar 2024 19:47:13 +0100 Subject: [UCPD] Combine RX and TX `select(rx.receive(), tx.transmit()` had subtle interrupt enable race conditions. Combine receiver and transmitter into one new `PdPhy` struct to disallow the problematic pattern. Scanning through the USB PD 2.0 specification there is no need to have RX and TX running concurrently (after all the USB PD communication is half-duplex). --- examples/stm32g4/src/bin/usb_c_pd.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_c_pd.rs b/examples/stm32g4/src/bin/usb_c_pd.rs index 1443cb773..fd2400bd5 100644 --- a/examples/stm32g4/src/bin/usb_c_pd.rs +++ b/examples/stm32g4/src/bin/usb_c_pd.rs @@ -67,7 +67,7 @@ async fn main(_spawner: Spawner) { } CableOrientation::DebugAccessoryMode => panic!("No PD communication in DAM"), }; - let (mut _rx, mut _tx) = ucpd.pd(p.DMA1_CH1, p.DMA1_CH2, cc_sel); + let mut pd_phy = ucpd.pd_phy(p.DMA1_CH1, p.DMA1_CH2, cc_sel); loop {} } -- cgit From b7972048a1642679392b2a1dfc976881205fd23b Mon Sep 17 00:00:00 2001 From: Timo Kröger Date: Thu, 7 Mar 2024 19:54:55 +0100 Subject: [UCPD] Improve example and defmt Format for enums --- examples/stm32g4/src/bin/usb_c_pd.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_c_pd.rs b/examples/stm32g4/src/bin/usb_c_pd.rs index fd2400bd5..14abd542f 100644 --- a/examples/stm32g4/src/bin/usb_c_pd.rs +++ b/examples/stm32g4/src/bin/usb_c_pd.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -use defmt::{info, Format}; +use defmt::{error, info, Format}; use embassy_executor::Spawner; use embassy_stm32::ucpd::{self, CcPull, CcSel, CcVState, Ucpd}; use embassy_stm32::Config; @@ -69,5 +69,12 @@ async fn main(_spawner: Spawner) { }; let mut pd_phy = ucpd.pd_phy(p.DMA1_CH1, p.DMA1_CH2, cc_sel); - loop {} + loop { + // Enough space for the longest non-extended data message. + let mut buf = [0_u8; 30]; + match pd_phy.receive(buf.as_mut()).await { + Ok(n) => info!("USB PD RX: {=[u8]:?}", &buf[..n]), + Err(e) => error!("USB PD RX: {}", e), + } + } } -- cgit From 89504f51629d0ab81070db91c3eb5b96b1e41fcb Mon Sep 17 00:00:00 2001 From: Timo Kröger Date: Fri, 8 Mar 2024 20:36:37 +0100 Subject: [UCPD] Split into CC and PD phy PD3.0 spec requires concurrent control of CC resistors for collision avoidance. Needed to introduce some "ref counting" (its just a bool) for drop code. --- examples/stm32g4/src/bin/usb_c_pd.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_c_pd.rs b/examples/stm32g4/src/bin/usb_c_pd.rs index 14abd542f..0e80840df 100644 --- a/examples/stm32g4/src/bin/usb_c_pd.rs +++ b/examples/stm32g4/src/bin/usb_c_pd.rs @@ -3,7 +3,7 @@ use defmt::{error, info, Format}; use embassy_executor::Spawner; -use embassy_stm32::ucpd::{self, CcPull, CcSel, CcVState, Ucpd}; +use embassy_stm32::ucpd::{self, CcPhy, CcPull, CcSel, CcVState, Ucpd}; use embassy_stm32::Config; use embassy_time::{with_timeout, Duration}; use {defmt_rtt as _, panic_probe as _}; @@ -16,17 +16,17 @@ enum CableOrientation { } // Returns true when the cable -async fn wait_attached(ucpd: &mut Ucpd<'_, T>) -> CableOrientation { +async fn wait_attached(cc_phy: &mut CcPhy<'_, T>) -> CableOrientation { loop { - let (cc1, cc2) = ucpd.cc_vstate(); + let (cc1, cc2) = cc_phy.vstate(); if cc1 == CcVState::LOWEST && cc2 == CcVState::LOWEST { // Detached, wait until attached by monitoring the CC lines. - ucpd.wait_for_cc_vstate_change().await; + cc_phy.wait_for_vstate_change().await; continue; } // Attached, wait for CC lines to be stable for tCCDebounce (100..200ms). - if with_timeout(Duration::from_millis(100), ucpd.wait_for_cc_vstate_change()) + if with_timeout(Duration::from_millis(100), cc_phy.wait_for_vstate_change()) .await .is_ok() { @@ -50,10 +50,11 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); - let mut ucpd = Ucpd::new(p.UCPD1, p.PB6, p.PB4, CcPull::Sink); + let mut ucpd = Ucpd::new(p.UCPD1, p.PB6, p.PB4); + ucpd.cc_phy().set_pull(CcPull::Sink); info!("Waiting for USB connection..."); - let cable_orientation = wait_attached(&mut ucpd).await; + let cable_orientation = wait_attached(ucpd.cc_phy()).await; info!("USB cable connected, orientation: {}", cable_orientation); let cc_sel = match cable_orientation { @@ -67,7 +68,7 @@ async fn main(_spawner: Spawner) { } CableOrientation::DebugAccessoryMode => panic!("No PD communication in DAM"), }; - let mut pd_phy = ucpd.pd_phy(p.DMA1_CH1, p.DMA1_CH2, cc_sel); + let (_cc_phy, mut pd_phy) = ucpd.split_pd_phy(p.DMA1_CH1, p.DMA1_CH2, cc_sel); loop { // Enough space for the longest non-extended data message. -- cgit From 61050a16d5f02a7db718c6e39c811e6e434b032b Mon Sep 17 00:00:00 2001 From: Caleb Garrett <47389035+caleb-garrett@users.noreply.github.com> Date: Tue, 12 Mar 2024 12:01:14 -0400 Subject: Add CRYP DMA support. Updated example. --- examples/stm32f7/src/bin/cryp.rs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'examples') diff --git a/examples/stm32f7/src/bin/cryp.rs b/examples/stm32f7/src/bin/cryp.rs index 79b74e569..a5418765b 100644 --- a/examples/stm32f7/src/bin/cryp.rs +++ b/examples/stm32f7/src/bin/cryp.rs @@ -6,7 +6,6 @@ use aes_gcm::aead::{AeadInPlace, KeyInit}; use aes_gcm::Aes128Gcm; use defmt::info; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::{ bind_interrupts, cryp::{self, *}, @@ -27,7 +26,7 @@ async fn main(_spawner: Spawner) -> ! { let payload: &[u8] = b"hello world"; let aad: &[u8] = b"additional data"; - let hw_cryp = Cryp::new(p.CRYP, NoDma, NoDma, Irqs); + let mut hw_cryp = Cryp::new(p.CRYP, p.DMA2_CH6, p.DMA2_CH5, Irqs); let key: [u8; 16] = [0; 16]; let mut ciphertext: [u8; 11] = [0; 11]; let mut plaintext: [u8; 11] = [0; 11]; @@ -37,16 +36,16 @@ async fn main(_spawner: Spawner) -> ! { // Encrypt in hardware using AES-GCM 128-bit let aes_gcm = AesGcm::new(&key, &iv); - let mut gcm_encrypt = hw_cryp.start(&aes_gcm, Direction::Encrypt); - hw_cryp.aad_blocking(&mut gcm_encrypt, aad, true); - hw_cryp.payload_blocking(&mut gcm_encrypt, payload, &mut ciphertext, true); - let encrypt_tag = hw_cryp.finish_blocking(gcm_encrypt); + let mut gcm_encrypt = hw_cryp.start(&aes_gcm, Direction::Encrypt).await; + hw_cryp.aad(&mut gcm_encrypt, aad, true).await; + hw_cryp.payload(&mut gcm_encrypt, payload, &mut ciphertext, true).await; + let encrypt_tag = hw_cryp.finish(gcm_encrypt).await; // Decrypt in hardware using AES-GCM 128-bit - let mut gcm_decrypt = hw_cryp.start(&aes_gcm, Direction::Decrypt); - hw_cryp.aad_blocking(&mut gcm_decrypt, aad, true); - hw_cryp.payload_blocking(&mut gcm_decrypt, &ciphertext, &mut plaintext, true); - let decrypt_tag = hw_cryp.finish_blocking(gcm_decrypt); + let mut gcm_decrypt = hw_cryp.start(&aes_gcm, Direction::Decrypt).await; + hw_cryp.aad(&mut gcm_decrypt, aad, true).await; + hw_cryp.payload(&mut gcm_decrypt, &ciphertext, &mut plaintext, true).await; + let decrypt_tag = hw_cryp.finish(gcm_decrypt).await; let hw_end_time = Instant::now(); let hw_execution_time = hw_end_time - hw_start_time; -- cgit From 2634a57098ebee5fb2ea3efe7cfb5629817a5b43 Mon Sep 17 00:00:00 2001 From: Caleb Garrett <47389035+caleb-garrett@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:05:22 -0400 Subject: Correct cryp CI build issues. --- examples/stm32f7/src/bin/cryp.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32f7/src/bin/cryp.rs b/examples/stm32f7/src/bin/cryp.rs index a5418765b..ce2cf0489 100644 --- a/examples/stm32f7/src/bin/cryp.rs +++ b/examples/stm32f7/src/bin/cryp.rs @@ -44,7 +44,9 @@ async fn main(_spawner: Spawner) -> ! { // Decrypt in hardware using AES-GCM 128-bit let mut gcm_decrypt = hw_cryp.start(&aes_gcm, Direction::Decrypt).await; hw_cryp.aad(&mut gcm_decrypt, aad, true).await; - hw_cryp.payload(&mut gcm_decrypt, &ciphertext, &mut plaintext, true).await; + hw_cryp + .payload(&mut gcm_decrypt, &ciphertext, &mut plaintext, true) + .await; let decrypt_tag = hw_cryp.finish(gcm_decrypt).await; let hw_end_time = Instant::now(); -- cgit From b1ba2729878a1553145f215dff40281c65b75983 Mon Sep 17 00:00:00 2001 From: Caleb Garrett <47389035+caleb-garrett@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:13:06 -0400 Subject: rustfmt --- examples/stm32f7/src/bin/cryp.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/stm32f7/src/bin/cryp.rs b/examples/stm32f7/src/bin/cryp.rs index ce2cf0489..235853cb9 100644 --- a/examples/stm32f7/src/bin/cryp.rs +++ b/examples/stm32f7/src/bin/cryp.rs @@ -6,11 +6,8 @@ use aes_gcm::aead::{AeadInPlace, KeyInit}; use aes_gcm::Aes128Gcm; use defmt::info; use embassy_executor::Spawner; -use embassy_stm32::{ - bind_interrupts, - cryp::{self, *}, -}; -use embassy_stm32::{peripherals, Config}; +use embassy_stm32::cryp::{self, *}; +use embassy_stm32::{bind_interrupts, peripherals, Config}; use embassy_time::Instant; use {defmt_rtt as _, panic_probe as _}; -- cgit From 12a3af5043fd1d9a32f57b5cab9b5729a304ffc5 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Thu, 7 Mar 2024 22:48:25 +1000 Subject: Shared frame types. Remove BXCAN speciffic id and frame modules Remove SizedClassicData --- examples/stm32f1/src/bin/can.rs | 6 +++--- examples/stm32f4/src/bin/can.rs | 4 ++-- examples/stm32f7/src/bin/can.rs | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/can.rs b/examples/stm32f1/src/bin/can.rs index 00d61096f..a43fb4427 100644 --- a/examples/stm32f1/src/bin/can.rs +++ b/examples/stm32f1/src/bin/can.rs @@ -46,16 +46,16 @@ async fn main(_spawner: Spawner) { let mut i: u8 = 0; loop { - let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), [i, 0, 1, 2, 3, 4, 5, 6]); + let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), &[i, 0, 1, 2, 3, 4, 5, 6]); can.write(&tx_frame).await; match can.read().await { Ok(env) => match env.frame.id() { Id::Extended(id) => { - defmt::println!("Extended Frame id={:x} {:02x}", id.as_raw(), env.frame.data().unwrap()); + defmt::println!("Extended Frame id={:x} {:02x}", id.as_raw(), env.frame.data()); } Id::Standard(id) => { - defmt::println!("Standard Frame id={:x} {:02x}", id.as_raw(), env.frame.data().unwrap()); + defmt::println!("Standard Frame id={:x} {:02x}", id.as_raw(), env.frame.data()); } }, Err(err) => { diff --git a/examples/stm32f4/src/bin/can.rs b/examples/stm32f4/src/bin/can.rs index b20af8cf1..2ed631a46 100644 --- a/examples/stm32f4/src/bin/can.rs +++ b/examples/stm32f4/src/bin/can.rs @@ -51,7 +51,7 @@ async fn main(_spawner: Spawner) { let mut i: u8 = 0; loop { - let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), [i]); + let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), &[i]); let tx_ts = Instant::now(); can.write(&tx_frame).await; @@ -65,7 +65,7 @@ async fn main(_spawner: Spawner) { info!( "loopback frame {=u8}, latency: {} us", - unwrap!(envelope.frame.data())[0], + envelope.frame.data()[0], latency.as_micros() ); i += 1; diff --git a/examples/stm32f7/src/bin/can.rs b/examples/stm32f7/src/bin/can.rs index c3e14bbf4..2701196ed 100644 --- a/examples/stm32f7/src/bin/can.rs +++ b/examples/stm32f7/src/bin/can.rs @@ -26,7 +26,7 @@ bind_interrupts!(struct Irqs { #[embassy_executor::task] pub async fn send_can_message(tx: &'static mut CanTx<'static, CAN3>) { loop { - let frame = Frame::new_data(unwrap!(StandardId::new(0 as _)), [0]); + let frame = Frame::new_data(unwrap!(StandardId::new(0 as _)), &[0]); tx.write(&frame).await; embassy_time::Timer::after_secs(1).await; } -- cgit From 242759a600418aaaed1bbbec96a9fc7e7effc383 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Tue, 12 Mar 2024 21:19:06 +1000 Subject: Use Result instead of Option for Frame creation. --- examples/stm32f1/src/bin/can.rs | 2 +- examples/stm32f4/src/bin/can.rs | 2 +- examples/stm32f7/src/bin/can.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/can.rs b/examples/stm32f1/src/bin/can.rs index a43fb4427..ac337e8a0 100644 --- a/examples/stm32f1/src/bin/can.rs +++ b/examples/stm32f1/src/bin/can.rs @@ -46,7 +46,7 @@ async fn main(_spawner: Spawner) { let mut i: u8 = 0; loop { - let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), &[i, 0, 1, 2, 3, 4, 5, 6]); + let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), &[i, 0, 1, 2, 3, 4, 5, 6]).unwrap(); can.write(&tx_frame).await; match can.read().await { diff --git a/examples/stm32f4/src/bin/can.rs b/examples/stm32f4/src/bin/can.rs index 2ed631a46..71b9453eb 100644 --- a/examples/stm32f4/src/bin/can.rs +++ b/examples/stm32f4/src/bin/can.rs @@ -51,7 +51,7 @@ async fn main(_spawner: Spawner) { let mut i: u8 = 0; loop { - let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), &[i]); + let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), &[i]).unwrap(); let tx_ts = Instant::now(); can.write(&tx_frame).await; diff --git a/examples/stm32f7/src/bin/can.rs b/examples/stm32f7/src/bin/can.rs index 2701196ed..221ac2a05 100644 --- a/examples/stm32f7/src/bin/can.rs +++ b/examples/stm32f7/src/bin/can.rs @@ -26,7 +26,7 @@ bind_interrupts!(struct Irqs { #[embassy_executor::task] pub async fn send_can_message(tx: &'static mut CanTx<'static, CAN3>) { loop { - let frame = Frame::new_data(unwrap!(StandardId::new(0 as _)), &[0]); + let frame = Frame::new_data(unwrap!(StandardId::new(0 as _)), &[0]).unwrap(); tx.write(&frame).await; embassy_time::Timer::after_secs(1).await; } -- cgit From 9f699e5772815d95da473dcec4f4f574e2659e06 Mon Sep 17 00:00:00 2001 From: Vo Trung Chi Date: Thu, 14 Mar 2024 23:02:22 +0700 Subject: stm32: add usb_hid_keyboard example Signed-off-by: Vo Trung Chi --- examples/stm32f4/src/bin/usb_hid_keyboard.rs | 222 +++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 examples/stm32f4/src/bin/usb_hid_keyboard.rs (limited to 'examples') diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs new file mode 100644 index 000000000..19b5971fb --- /dev/null +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -0,0 +1,222 @@ +#![no_std] +#![no_main] + +use core::sync::atomic::{AtomicBool, Ordering}; + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::exti::ExtiInput; +use embassy_stm32::gpio::Pull; +use embassy_stm32::time::Hertz; +use embassy_stm32::usb_otg::Driver; +use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_usb::class::hid::{HidReaderWriter, ReportId, RequestHandler, State}; +use embassy_usb::control::OutResponse; +use embassy_usb::{Builder, Handler}; +use futures::future::join; +use usbd_hid::descriptor::{KeyboardReport, SerializedDescriptor}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + OTG_FS => usb_otg::InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hse = Some(Hse { + freq: Hertz(8_000_000), + mode: HseMode::Bypass, + }); + config.rcc.pll_src = PllSource::HSE; + config.rcc.pll = Some(Pll { + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL168, + divp: Some(PllPDiv::DIV2), // 8mhz / 4 * 168 / 2 = 168Mhz. + divq: Some(PllQDiv::DIV7), // 8mhz / 4 * 168 / 7 = 48Mhz. + divr: None, + }); + config.rcc.ahb_pre = AHBPrescaler::DIV1; + config.rcc.apb1_pre = APBPrescaler::DIV4; + config.rcc.apb2_pre = APBPrescaler::DIV2; + config.rcc.sys = Sysclk::PLL1_P; + } + let p = embassy_stm32::init(config); + + // Create the driver, from the HAL. + let mut ep_out_buffer = [0u8; 256]; + let mut config = embassy_stm32::usb_otg::Config::default(); + config.vbus_detection = true; + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); + + // Create embassy-usb Config + let mut config = embassy_usb::Config::new(0xc0de, 0xcafe); + config.manufacturer = Some("Embassy"); + config.product = Some("HID keyboard example"); + config.serial_number = Some("12345678"); + config.max_power = 100; + config.max_packet_size_0 = 64; + + // Required for windows compatibility. + // https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_CDC_ACM_IAD.html#help + config.device_class = 0xEF; + config.device_sub_class = 0x02; + config.device_protocol = 0x01; + config.composite_with_iads = true; + + // Create embassy-usb DeviceBuilder using the driver and config. + // It needs some buffers for building the descriptors. + let mut device_descriptor = [0; 256]; + let mut config_descriptor = [0; 256]; + let mut bos_descriptor = [0; 256]; + // You can also add a Microsoft OS descriptor. + let mut msos_descriptor = [0; 256]; + let mut control_buf = [0; 64]; + + let request_handler = MyRequestHandler {}; + let mut device_handler = MyDeviceHandler::new(); + + let mut state = State::new(); + + let mut builder = Builder::new( + driver, + config, + &mut device_descriptor, + &mut config_descriptor, + &mut bos_descriptor, + &mut msos_descriptor, + &mut control_buf, + ); + + builder.handler(&mut device_handler); + + // Create classes on the builder. + let config = embassy_usb::class::hid::Config { + report_descriptor: KeyboardReport::desc(), + request_handler: Some(&request_handler), + poll_ms: 60, + max_packet_size: 8, + }; + + let hid = HidReaderWriter::<_, 1, 8>::new(&mut builder, &mut state, config); + + // Build the builder. + let mut usb = builder.build(); + + // Run the USB device. + let usb_fut = usb.run(); + + let (reader, mut writer) = hid.split(); + + let mut button = ExtiInput::new(p.PC13, p.EXTI13, Pull::Down); + + // Do stuff with the class! + let in_fut = async { + loop { + button.wait_for_rising_edge().await; + // signal_pin.wait_for_high().await; + info!("Button pressed!"); + // Create a report with the A key pressed. (no shift modifier) + let report = KeyboardReport { + keycodes: [4, 0, 0, 0, 0, 0], + leds: 0, + modifier: 0, + reserved: 0, + }; + // Send the report. + match writer.write_serialize(&report).await { + Ok(()) => {} + Err(e) => warn!("Failed to send report: {:?}", e), + }; + + button.wait_for_falling_edge().await; + // signal_pin.wait_for_low().await; + info!("Button released!"); + let report = KeyboardReport { + keycodes: [0, 0, 0, 0, 0, 0], + leds: 0, + modifier: 0, + reserved: 0, + }; + match writer.write_serialize(&report).await { + Ok(()) => {} + Err(e) => warn!("Failed to send report: {:?}", e), + }; + } + }; + + let out_fut = async { + reader.run(false, &request_handler).await; + }; + + // Run everything concurrently. + // If we had made everything `'static` above instead, we could do this using separate tasks instead. + join(usb_fut, join(in_fut, out_fut)).await; +} + +struct MyRequestHandler {} + +impl RequestHandler for MyRequestHandler { + fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + info!("Get report for {:?}", id); + None + } + + fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + info!("Set report for {:?}: {=[u8]}", id, data); + OutResponse::Accepted + } + + fn set_idle_ms(&self, id: Option, dur: u32) { + info!("Set idle rate for {:?} to {:?}", id, dur); + } + + fn get_idle_ms(&self, id: Option) -> Option { + info!("Get idle rate for {:?}", id); + None + } +} + +struct MyDeviceHandler { + configured: AtomicBool, +} + +impl MyDeviceHandler { + fn new() -> Self { + MyDeviceHandler { + configured: AtomicBool::new(false), + } + } +} + +impl Handler for MyDeviceHandler { + fn enabled(&mut self, enabled: bool) { + self.configured.store(false, Ordering::Relaxed); + if enabled { + info!("Device enabled"); + } else { + info!("Device disabled"); + } + } + + fn reset(&mut self) { + self.configured.store(false, Ordering::Relaxed); + info!("Bus reset, the Vbus current limit is 100mA"); + } + + fn addressed(&mut self, addr: u8) { + self.configured.store(false, Ordering::Relaxed); + info!("USB address set to: {}", addr); + } + + fn configured(&mut self, configured: bool) { + self.configured.store(configured, Ordering::Relaxed); + if configured { + info!("Device configured, it may now draw up to the configured current limit from Vbus.") + } else { + info!("Device is no longer configured, the Vbus current limit is 100mA."); + } + } +} -- cgit From e95e95ac7a00ca014b23f6ac57ecffce7fc6ffa0 Mon Sep 17 00:00:00 2001 From: Timo Kröger Date: Tue, 12 Mar 2024 20:38:37 +0100 Subject: [UCPD] Take interrupt in constructor and enable it --- examples/stm32g4/src/bin/usb_c_pd.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_c_pd.rs b/examples/stm32g4/src/bin/usb_c_pd.rs index 0e80840df..c850b2753 100644 --- a/examples/stm32g4/src/bin/usb_c_pd.rs +++ b/examples/stm32g4/src/bin/usb_c_pd.rs @@ -4,10 +4,14 @@ use defmt::{error, info, Format}; use embassy_executor::Spawner; use embassy_stm32::ucpd::{self, CcPhy, CcPull, CcSel, CcVState, Ucpd}; -use embassy_stm32::Config; +use embassy_stm32::{bind_interrupts, peripherals, Config}; use embassy_time::{with_timeout, Duration}; use {defmt_rtt as _, panic_probe as _}; +bind_interrupts!(struct Irqs { + UCPD1 => ucpd::InterruptHandler; +}); + #[derive(Debug, Format)] enum CableOrientation { Normal, @@ -50,7 +54,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); - let mut ucpd = Ucpd::new(p.UCPD1, p.PB6, p.PB4); + let mut ucpd = Ucpd::new(p.UCPD1, Irqs {}, p.PB6, p.PB4); ucpd.cc_phy().set_pull(CcPull::Sink); info!("Waiting for USB connection..."); -- cgit From 7b80de5e3db69a3d348bc74f6294e8642a11785e Mon Sep 17 00:00:00 2001 From: Timo Kröger Date: Thu, 14 Mar 2024 22:14:20 +0100 Subject: [UCPD] Enable dead-battery support in example --- examples/stm32g4/src/bin/usb_c_pd.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_c_pd.rs b/examples/stm32g4/src/bin/usb_c_pd.rs index c850b2753..7caea634f 100644 --- a/examples/stm32g4/src/bin/usb_c_pd.rs +++ b/examples/stm32g4/src/bin/usb_c_pd.rs @@ -49,8 +49,9 @@ async fn wait_attached(cc_phy: &mut CcPhy<'_, T>) -> CableOri #[embassy_executor::main] async fn main(_spawner: Spawner) { - // TODO: Disable DBCC pin functionality by default but have flag in the config to keep it enabled when required. - let p = embassy_stm32::init(Config::default()); + let mut config = Config::default(); + config.enable_ucpd1_dead_battery = true; + let p = embassy_stm32::init(config); info!("Hello World!"); -- cgit From 530ff9d4d33abff34edb718d650c71a41dd68f8c Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Tue, 19 Mar 2024 20:44:33 +0100 Subject: stm32/usb: merge usb and usb_otg into single module. --- examples/stm32f4/src/bin/usb_ethernet.rs | 8 ++++---- examples/stm32f4/src/bin/usb_hid_keyboard.rs | 8 ++++---- examples/stm32f4/src/bin/usb_hid_mouse.rs | 8 ++++---- examples/stm32f4/src/bin/usb_raw.rs | 8 ++++---- examples/stm32f4/src/bin/usb_serial.rs | 8 ++++---- examples/stm32f7/src/bin/usb_serial.rs | 8 ++++---- examples/stm32h7/src/bin/usb_serial.rs | 8 ++++---- examples/stm32l4/src/bin/usb_serial.rs | 8 ++++---- examples/stm32u5/src/bin/usb_serial.rs | 8 ++++---- 9 files changed, 36 insertions(+), 36 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs index a196259a8..60e580609 100644 --- a/examples/stm32f4/src/bin/usb_ethernet.rs +++ b/examples/stm32f4/src/bin/usb_ethernet.rs @@ -7,8 +7,8 @@ use embassy_net::tcp::TcpSocket; use embassy_net::{Stack, StackResources}; use embassy_stm32::rng::{self, Rng}; use embassy_stm32::time::Hertz; -use embassy_stm32::usb_otg::Driver; -use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_stm32::usb::Driver; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_ncm::embassy_net::{Device, Runner, State as NetState}; use embassy_usb::class::cdc_ncm::{CdcNcmClass, State}; use embassy_usb::{Builder, UsbDevice}; @@ -36,7 +36,7 @@ async fn net_task(stack: &'static Stack>) -> ! { } bind_interrupts!(struct Irqs { - OTG_FS => usb_otg::InterruptHandler; + OTG_FS => usb::InterruptHandler; HASH_RNG => rng::InterruptHandler; }); @@ -69,7 +69,7 @@ async fn main(spawner: Spawner) { // Create the driver, from the HAL. static OUTPUT_BUFFER: StaticCell<[u8; 256]> = StaticCell::new(); let ep_out_buffer = &mut OUTPUT_BUFFER.init([0; 256])[..]; - let mut config = embassy_stm32::usb_otg::Config::default(); + let mut config = embassy_stm32::usb::Config::default(); config.vbus_detection = true; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, ep_out_buffer, config); diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index 19b5971fb..ae4ce6b6a 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -8,8 +8,8 @@ use embassy_executor::Spawner; use embassy_stm32::exti::ExtiInput; use embassy_stm32::gpio::Pull; use embassy_stm32::time::Hertz; -use embassy_stm32::usb_otg::Driver; -use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_stm32::usb::Driver; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::hid::{HidReaderWriter, ReportId, RequestHandler, State}; use embassy_usb::control::OutResponse; use embassy_usb::{Builder, Handler}; @@ -18,7 +18,7 @@ use usbd_hid::descriptor::{KeyboardReport, SerializedDescriptor}; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { - OTG_FS => usb_otg::InterruptHandler; + OTG_FS => usb::InterruptHandler; }); #[embassy_executor::main] @@ -47,7 +47,7 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; - let mut config = embassy_stm32::usb_otg::Config::default(); + let mut config = embassy_stm32::usb::Config::default(); config.vbus_detection = true; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index c98792880..5c64f4969 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -4,8 +4,8 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::time::Hertz; -use embassy_stm32::usb_otg::Driver; -use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_stm32::usb::Driver; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_time::Timer; use embassy_usb::class::hid::{HidWriter, ReportId, RequestHandler, State}; use embassy_usb::control::OutResponse; @@ -15,7 +15,7 @@ use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { - OTG_FS => usb_otg::InterruptHandler; + OTG_FS => usb::InterruptHandler; }); #[embassy_executor::main] @@ -44,7 +44,7 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; - let mut config = embassy_stm32::usb_otg::Config::default(); + let mut config = embassy_stm32::usb::Config::default(); config.vbus_detection = true; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32f4/src/bin/usb_raw.rs b/examples/stm32f4/src/bin/usb_raw.rs index afff55187..c13fe051f 100644 --- a/examples/stm32f4/src/bin/usb_raw.rs +++ b/examples/stm32f4/src/bin/usb_raw.rs @@ -52,8 +52,8 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::time::Hertz; -use embassy_stm32::usb_otg::Driver; -use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_stm32::usb::Driver; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::control::{InResponse, OutResponse, Recipient, Request, RequestType}; use embassy_usb::msos::{self, windows_version}; use embassy_usb::types::InterfaceNumber; @@ -66,7 +66,7 @@ use {defmt_rtt as _, panic_probe as _}; const DEVICE_INTERFACE_GUIDS: &[&str] = &["{DAC2087C-63FA-458D-A55D-827C0762DEC7}"]; bind_interrupts!(struct Irqs { - OTG_FS => usb_otg::InterruptHandler; + OTG_FS => usb::InterruptHandler; }); #[embassy_executor::main] @@ -97,7 +97,7 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; - let mut config = embassy_stm32::usb_otg::Config::default(); + let mut config = embassy_stm32::usb::Config::default(); config.vbus_detection = true; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32f4/src/bin/usb_serial.rs b/examples/stm32f4/src/bin/usb_serial.rs index 58d994a61..21e255612 100644 --- a/examples/stm32f4/src/bin/usb_serial.rs +++ b/examples/stm32f4/src/bin/usb_serial.rs @@ -4,8 +4,8 @@ use defmt::{panic, *}; use embassy_executor::Spawner; use embassy_stm32::time::Hertz; -use embassy_stm32::usb_otg::{Driver, Instance}; -use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_stm32::usb::{Driver, Instance}; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; @@ -13,7 +13,7 @@ use futures::future::join; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { - OTG_FS => usb_otg::InterruptHandler; + OTG_FS => usb::InterruptHandler; }); #[embassy_executor::main] @@ -44,7 +44,7 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; - let mut config = embassy_stm32::usb_otg::Config::default(); + let mut config = embassy_stm32::usb::Config::default(); config.vbus_detection = true; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32f7/src/bin/usb_serial.rs b/examples/stm32f7/src/bin/usb_serial.rs index 97daf6bd1..bdd7b76ff 100644 --- a/examples/stm32f7/src/bin/usb_serial.rs +++ b/examples/stm32f7/src/bin/usb_serial.rs @@ -4,8 +4,8 @@ use defmt::{panic, *}; use embassy_executor::Spawner; use embassy_stm32::time::Hertz; -use embassy_stm32::usb_otg::{Driver, Instance}; -use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_stm32::usb::{Driver, Instance}; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; @@ -13,7 +13,7 @@ use futures::future::join; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { - OTG_FS => usb_otg::InterruptHandler; + OTG_FS => usb::InterruptHandler; }); #[embassy_executor::main] @@ -44,7 +44,7 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; - let mut config = embassy_stm32::usb_otg::Config::default(); + let mut config = embassy_stm32::usb::Config::default(); config.vbus_detection = true; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32h7/src/bin/usb_serial.rs b/examples/stm32h7/src/bin/usb_serial.rs index d81efb541..3d42a24f3 100644 --- a/examples/stm32h7/src/bin/usb_serial.rs +++ b/examples/stm32h7/src/bin/usb_serial.rs @@ -3,8 +3,8 @@ use defmt::{panic, *}; use embassy_executor::Spawner; -use embassy_stm32::usb_otg::{Driver, Instance}; -use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_stm32::usb::{Driver, Instance}; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; @@ -12,7 +12,7 @@ use futures::future::join; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { - OTG_FS => usb_otg::InterruptHandler; + OTG_FS => usb::InterruptHandler; }); #[embassy_executor::main] @@ -45,7 +45,7 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; - let mut config = embassy_stm32::usb_otg::Config::default(); + let mut config = embassy_stm32::usb::Config::default(); config.vbus_detection = true; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs index 9247e56a1..c7f4add7f 100644 --- a/examples/stm32l4/src/bin/usb_serial.rs +++ b/examples/stm32l4/src/bin/usb_serial.rs @@ -5,8 +5,8 @@ use defmt::{panic, *}; use defmt_rtt as _; // global logger use embassy_executor::Spawner; use embassy_stm32::rcc::*; -use embassy_stm32::usb_otg::{Driver, Instance}; -use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_stm32::usb::{Driver, Instance}; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; @@ -14,7 +14,7 @@ use futures::future::join; use panic_probe as _; bind_interrupts!(struct Irqs { - OTG_FS => usb_otg::InterruptHandler; + OTG_FS => usb::InterruptHandler; }); #[embassy_executor::main] @@ -38,7 +38,7 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; - let mut config = embassy_stm32::usb_otg::Config::default(); + let mut config = embassy_stm32::usb::Config::default(); config.vbus_detection = true; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32u5/src/bin/usb_serial.rs b/examples/stm32u5/src/bin/usb_serial.rs index 61851e5a2..98ae46b1c 100644 --- a/examples/stm32u5/src/bin/usb_serial.rs +++ b/examples/stm32u5/src/bin/usb_serial.rs @@ -4,8 +4,8 @@ use defmt::{panic, *}; use defmt_rtt as _; // global logger use embassy_executor::Spawner; -use embassy_stm32::usb_otg::{Driver, Instance}; -use embassy_stm32::{bind_interrupts, peripherals, usb_otg, Config}; +use embassy_stm32::usb::{Driver, Instance}; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; @@ -13,7 +13,7 @@ use futures::future::join; use panic_probe as _; bind_interrupts!(struct Irqs { - OTG_FS => usb_otg::InterruptHandler; + OTG_FS => usb::InterruptHandler; }); #[embassy_executor::main] @@ -41,7 +41,7 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; - let mut config = embassy_stm32::usb_otg::Config::default(); + let mut config = embassy_stm32::usb::Config::default(); config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); -- cgit From 4858a53a397c6e96f68340417a19274dd25b4ddc Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Tue, 19 Mar 2024 21:49:47 +0100 Subject: stm32/usb: ensure mux is configured in examples. --- examples/stm32f4/src/bin/usb_ethernet.rs | 1 + examples/stm32f4/src/bin/usb_hid_keyboard.rs | 1 + examples/stm32f4/src/bin/usb_hid_mouse.rs | 1 + examples/stm32f4/src/bin/usb_raw.rs | 1 + examples/stm32f4/src/bin/usb_serial.rs | 1 + examples/stm32f7/src/bin/usb_serial.rs | 1 + examples/stm32h7/src/bin/usb_serial.rs | 1 + examples/stm32l4/src/bin/usb_serial.rs | 28 +++++++++++++++------------- examples/stm32l5/src/bin/usb_ethernet.rs | 28 ++++++++++++++++------------ examples/stm32l5/src/bin/usb_hid_mouse.rs | 28 ++++++++++++++++------------ examples/stm32l5/src/bin/usb_serial.rs | 28 ++++++++++++++++------------ examples/stm32u5/src/bin/usb_serial.rs | 1 + 12 files changed, 71 insertions(+), 49 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs index 60e580609..405cce6bc 100644 --- a/examples/stm32f4/src/bin/usb_ethernet.rs +++ b/examples/stm32f4/src/bin/usb_ethernet.rs @@ -63,6 +63,7 @@ async fn main(spawner: Spawner) { config.rcc.apb1_pre = APBPrescaler::DIV4; config.rcc.apb2_pre = APBPrescaler::DIV2; config.rcc.sys = Sysclk::PLL1_P; + config.rcc.mux.clk48sel = mux::Clk48sel::PLL1_Q; } let p = embassy_stm32::init(config); diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index ae4ce6b6a..6c25a0a64 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -42,6 +42,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb1_pre = APBPrescaler::DIV4; config.rcc.apb2_pre = APBPrescaler::DIV2; config.rcc.sys = Sysclk::PLL1_P; + config.rcc.mux.clk48sel = mux::Clk48sel::PLL1_Q; } let p = embassy_stm32::init(config); diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index 5c64f4969..d4725d597 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -39,6 +39,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb1_pre = APBPrescaler::DIV4; config.rcc.apb2_pre = APBPrescaler::DIV2; config.rcc.sys = Sysclk::PLL1_P; + config.rcc.mux.clk48sel = mux::Clk48sel::PLL1_Q; } let p = embassy_stm32::init(config); diff --git a/examples/stm32f4/src/bin/usb_raw.rs b/examples/stm32f4/src/bin/usb_raw.rs index c13fe051f..15a98ff8b 100644 --- a/examples/stm32f4/src/bin/usb_raw.rs +++ b/examples/stm32f4/src/bin/usb_raw.rs @@ -92,6 +92,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb1_pre = APBPrescaler::DIV4; config.rcc.apb2_pre = APBPrescaler::DIV2; config.rcc.sys = Sysclk::PLL1_P; + config.rcc.mux.clk48sel = mux::Clk48sel::PLL1_Q; } let p = embassy_stm32::init(config); diff --git a/examples/stm32f4/src/bin/usb_serial.rs b/examples/stm32f4/src/bin/usb_serial.rs index 21e255612..6080b34a8 100644 --- a/examples/stm32f4/src/bin/usb_serial.rs +++ b/examples/stm32f4/src/bin/usb_serial.rs @@ -39,6 +39,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb1_pre = APBPrescaler::DIV4; config.rcc.apb2_pre = APBPrescaler::DIV2; config.rcc.sys = Sysclk::PLL1_P; + config.rcc.mux.clk48sel = mux::Clk48sel::PLL1_Q; } let p = embassy_stm32::init(config); diff --git a/examples/stm32f7/src/bin/usb_serial.rs b/examples/stm32f7/src/bin/usb_serial.rs index bdd7b76ff..26ecf3bc8 100644 --- a/examples/stm32f7/src/bin/usb_serial.rs +++ b/examples/stm32f7/src/bin/usb_serial.rs @@ -39,6 +39,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb1_pre = APBPrescaler::DIV4; config.rcc.apb2_pre = APBPrescaler::DIV2; config.rcc.sys = Sysclk::PLL1_P; + config.rcc.mux.clk48sel = mux::Clk48sel::PLL1_Q; } let p = embassy_stm32::init(config); diff --git a/examples/stm32h7/src/bin/usb_serial.rs b/examples/stm32h7/src/bin/usb_serial.rs index 3d42a24f3..c3ddda72a 100644 --- a/examples/stm32h7/src/bin/usb_serial.rs +++ b/examples/stm32h7/src/bin/usb_serial.rs @@ -40,6 +40,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb3_pre = APBPrescaler::DIV2; // 100 Mhz config.rcc.apb4_pre = APBPrescaler::DIV2; // 100 Mhz config.rcc.voltage_scale = VoltageScale::Scale1; + config.rcc.mux.usbsel = mux::Usbsel::HSI48; } let p = embassy_stm32::init(config); diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs index c7f4add7f..047234d60 100644 --- a/examples/stm32l4/src/bin/usb_serial.rs +++ b/examples/stm32l4/src/bin/usb_serial.rs @@ -4,7 +4,6 @@ use defmt::{panic, *}; use defmt_rtt as _; // global logger use embassy_executor::Spawner; -use embassy_stm32::rcc::*; use embassy_stm32::usb::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; @@ -22,18 +21,21 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let mut config = Config::default(); - config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB - config.rcc.sys = Sysclk::PLL1_R; - config.rcc.hsi = true; - config.rcc.pll = Some(Pll { - source: PllSource::HSI, - prediv: PllPreDiv::DIV1, - mul: PllMul::MUL10, - divp: None, - divq: None, - divr: Some(PllRDiv::DIV2), // sysclk 80Mhz (16 / 1 * 10 / 2) - }); - + { + use embassy_stm32::rcc::*; + config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB + config.rcc.sys = Sysclk::PLL1_R; + config.rcc.hsi = true; + config.rcc.pll = Some(Pll { + source: PllSource::HSI, + prediv: PllPreDiv::DIV1, + mul: PllMul::MUL10, + divp: None, + divq: None, + divr: Some(PllRDiv::DIV2), // sysclk 80Mhz (16 / 1 * 10 / 2) + }); + config.rcc.mux.clk48sel = mux::Clk48sel::HSI48; + } let p = embassy_stm32::init(config); // Create the driver, from the HAL. diff --git a/examples/stm32l5/src/bin/usb_ethernet.rs b/examples/stm32l5/src/bin/usb_ethernet.rs index f6d8b16d0..dc1e7022d 100644 --- a/examples/stm32l5/src/bin/usb_ethernet.rs +++ b/examples/stm32l5/src/bin/usb_ethernet.rs @@ -5,7 +5,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; use embassy_net::{Stack, StackResources}; -use embassy_stm32::rcc::*; use embassy_stm32::rng::Rng; use embassy_stm32::usb::Driver; use embassy_stm32::{bind_interrupts, peripherals, rng, usb, Config}; @@ -44,17 +43,22 @@ async fn net_task(stack: &'static Stack>) -> ! { #[embassy_executor::main] async fn main(spawner: Spawner) { let mut config = Config::default(); - config.rcc.hsi = true; - config.rcc.sys = Sysclk::PLL1_R; - config.rcc.pll = Some(Pll { - // 80Mhz clock (16 / 1 * 10 / 2) - source: PllSource::HSI, - prediv: PllPreDiv::DIV1, - mul: PllMul::MUL10, - divp: None, - divq: None, - divr: Some(PllRDiv::DIV2), - }); + { + use embassy_stm32::rcc::*; + config.rcc.hsi = true; + config.rcc.sys = Sysclk::PLL1_R; + config.rcc.pll = Some(Pll { + // 80Mhz clock (16 / 1 * 10 / 2) + source: PllSource::HSI, + prediv: PllPreDiv::DIV1, + mul: PllMul::MUL10, + divp: None, + divq: None, + divr: Some(PllRDiv::DIV2), + }); + config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB + config.rcc.mux.clk48sel = mux::Clk48sel::HSI48; + } let p = embassy_stm32::init(config); // Create the driver, from the HAL. diff --git a/examples/stm32l5/src/bin/usb_hid_mouse.rs b/examples/stm32l5/src/bin/usb_hid_mouse.rs index c51ed96e0..b86fba455 100644 --- a/examples/stm32l5/src/bin/usb_hid_mouse.rs +++ b/examples/stm32l5/src/bin/usb_hid_mouse.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_futures::join::join; -use embassy_stm32::rcc::*; use embassy_stm32::usb::Driver; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_time::Timer; @@ -21,17 +20,22 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); - config.rcc.hsi = true; - config.rcc.sys = Sysclk::PLL1_R; - config.rcc.pll = Some(Pll { - // 80Mhz clock (16 / 1 * 10 / 2) - source: PllSource::HSI, - prediv: PllPreDiv::DIV1, - mul: PllMul::MUL10, - divp: None, - divq: None, - divr: Some(PllRDiv::DIV2), - }); + { + use embassy_stm32::rcc::*; + config.rcc.hsi = true; + config.rcc.sys = Sysclk::PLL1_R; + config.rcc.pll = Some(Pll { + // 80Mhz clock (16 / 1 * 10 / 2) + source: PllSource::HSI, + prediv: PllPreDiv::DIV1, + mul: PllMul::MUL10, + divp: None, + divq: None, + divr: Some(PllRDiv::DIV2), + }); + config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB + config.rcc.mux.clk48sel = mux::Clk48sel::HSI48; + } let p = embassy_stm32::init(config); // Create the driver, from the HAL. diff --git a/examples/stm32l5/src/bin/usb_serial.rs b/examples/stm32l5/src/bin/usb_serial.rs index 87987f2ce..5e2378b58 100644 --- a/examples/stm32l5/src/bin/usb_serial.rs +++ b/examples/stm32l5/src/bin/usb_serial.rs @@ -4,7 +4,6 @@ use defmt::{panic, *}; use embassy_executor::Spawner; use embassy_futures::join::join; -use embassy_stm32::rcc::*; use embassy_stm32::usb::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; @@ -19,17 +18,22 @@ bind_interrupts!(struct Irqs { #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); - config.rcc.hsi = true; - config.rcc.sys = Sysclk::PLL1_R; - config.rcc.pll = Some(Pll { - // 80Mhz clock (16 / 1 * 10 / 2) - source: PllSource::HSI, - prediv: PllPreDiv::DIV1, - mul: PllMul::MUL10, - divp: None, - divq: None, - divr: Some(PllRDiv::DIV2), - }); + { + use embassy_stm32::rcc::*; + config.rcc.hsi = true; + config.rcc.sys = Sysclk::PLL1_R; + config.rcc.pll = Some(Pll { + // 80Mhz clock (16 / 1 * 10 / 2) + source: PllSource::HSI, + prediv: PllPreDiv::DIV1, + mul: PllMul::MUL10, + divp: None, + divq: None, + divr: Some(PllRDiv::DIV2), + }); + config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB + config.rcc.mux.clk48sel = mux::Clk48sel::HSI48; + } let p = embassy_stm32::init(config); info!("Hello World!"); diff --git a/examples/stm32u5/src/bin/usb_serial.rs b/examples/stm32u5/src/bin/usb_serial.rs index 98ae46b1c..33e02ce3b 100644 --- a/examples/stm32u5/src/bin/usb_serial.rs +++ b/examples/stm32u5/src/bin/usb_serial.rs @@ -35,6 +35,7 @@ async fn main(_spawner: Spawner) { config.rcc.sys = Sysclk::PLL1_R; config.rcc.voltage_range = VoltageScale::RANGE1; config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB + config.rcc.mux.iclksel = mux::Iclksel::HSI48; // USB uses ICLK } let p = embassy_stm32::init(config); -- cgit From 47ebec82b86a9dc9aa029ee7404b270cb0e70344 Mon Sep 17 00:00:00 2001 From: Alejandro Nadal <32724827+AlejandroFNadal@users.noreply.github.com> Date: Wed, 20 Mar 2024 13:56:15 +0100 Subject: Add comment warning for new users about changing pins on Ethernet for different devices Not all STM32H7 devices share the pins of the example. Added a warning and a specific example for STM32H747XIH --- examples/stm32h7/src/bin/eth.rs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/eth.rs b/examples/stm32h7/src/bin/eth.rs index cd9a27fcd..825c16c6c 100644 --- a/examples/stm32h7/src/bin/eth.rs +++ b/examples/stm32h7/src/bin/eth.rs @@ -64,19 +64,21 @@ async fn main(spawner: Spawner) -> ! { let mac_addr = [0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF]; static PACKETS: StaticCell> = StaticCell::new(); + // warning: Not all STM32H7 devices have the exact same pins here + // for STM32H747XIH, replace p.PB13 for PG12 let device = Ethernet::new( PACKETS.init(PacketQueue::<4, 4>::new()), p.ETH, Irqs, - p.PA1, - p.PA2, - p.PC1, - p.PA7, - p.PC4, - p.PC5, - p.PG13, - p.PB13, - p.PG11, + p.PA1, // ref_clk + p.PA2, // mdio + p.PC1, // eth_mdc + p.PA7, // CRS_DV: Carrier Sense + p.PC4, // RX_D0: Received Bit 0 + p.PC5, // RX_D1: Received Bit 1 + p.PG13,// TX_D0: Transmit Bit 0 + p.PB13,// TX_D1: Transmit Bit 1 + p.PG11,// TX_EN: Transmit Enable GenericSMI::new(0), mac_addr, ); -- cgit From 2587ade63e30fc8aa222b4190515ab2e3fe51637 Mon Sep 17 00:00:00 2001 From: AlejandroFNadal Date: Wed, 20 Mar 2024 14:11:04 +0100 Subject: Rust formatting for comments. --- examples/stm32h7/src/bin/eth.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/eth.rs b/examples/stm32h7/src/bin/eth.rs index 825c16c6c..7c7964ecd 100644 --- a/examples/stm32h7/src/bin/eth.rs +++ b/examples/stm32h7/src/bin/eth.rs @@ -70,15 +70,15 @@ async fn main(spawner: Spawner) -> ! { PACKETS.init(PacketQueue::<4, 4>::new()), p.ETH, Irqs, - p.PA1, // ref_clk - p.PA2, // mdio - p.PC1, // eth_mdc - p.PA7, // CRS_DV: Carrier Sense - p.PC4, // RX_D0: Received Bit 0 - p.PC5, // RX_D1: Received Bit 1 - p.PG13,// TX_D0: Transmit Bit 0 - p.PB13,// TX_D1: Transmit Bit 1 - p.PG11,// TX_EN: Transmit Enable + p.PA1, // ref_clk + p.PA2, // mdio + p.PC1, // eth_mdc + p.PA7, // CRS_DV: Carrier Sense + p.PC4, // RX_D0: Received Bit 0 + p.PC5, // RX_D1: Received Bit 1 + p.PG13, // TX_D0: Transmit Bit 0 + p.PB13, // TX_D1: Transmit Bit 1 + p.PG11, // TX_EN: Transmit Enable GenericSMI::new(0), mac_addr, ); -- cgit From eca9aac194580956c851e42565546e5fc50d8070 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Wed, 20 Mar 2024 14:54:25 +0100 Subject: Fix warnings in recent nightly. --- examples/rp/src/bin/multicore.rs | 12 ++++++++---- examples/std/src/bin/net.rs | 2 -- examples/std/src/bin/net_dns.rs | 2 -- examples/std/src/bin/tcp_accept.rs | 1 - examples/stm32f2/src/bin/pll.rs | 2 -- examples/stm32h7/src/bin/camera.rs | 4 ++-- examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 2 +- 7 files changed, 11 insertions(+), 14 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/multicore.rs b/examples/rp/src/bin/multicore.rs index c7b087476..7cb546c91 100644 --- a/examples/rp/src/bin/multicore.rs +++ b/examples/rp/src/bin/multicore.rs @@ -30,10 +30,14 @@ fn main() -> ! { let p = embassy_rp::init(Default::default()); let led = Output::new(p.PIN_25, Level::Low); - spawn_core1(p.CORE1, unsafe { &mut CORE1_STACK }, move || { - let executor1 = EXECUTOR1.init(Executor::new()); - executor1.run(|spawner| unwrap!(spawner.spawn(core1_task(led)))); - }); + spawn_core1( + p.CORE1, + unsafe { &mut *core::ptr::addr_of_mut!(CORE1_STACK) }, + move || { + let executor1 = EXECUTOR1.init(Executor::new()); + executor1.run(|spawner| unwrap!(spawner.spawn(core1_task(led)))); + }, + ); let executor0 = EXECUTOR0.init(Executor::new()); executor0.run(|spawner| unwrap!(spawner.spawn(core0_task()))); diff --git a/examples/std/src/bin/net.rs b/examples/std/src/bin/net.rs index dad93d0a1..59813d8cb 100644 --- a/examples/std/src/bin/net.rs +++ b/examples/std/src/bin/net.rs @@ -1,5 +1,3 @@ -use std::default::Default; - use clap::Parser; use embassy_executor::{Executor, Spawner}; use embassy_net::tcp::TcpSocket; diff --git a/examples/std/src/bin/net_dns.rs b/examples/std/src/bin/net_dns.rs index fca1e076e..3b6a3de37 100644 --- a/examples/std/src/bin/net_dns.rs +++ b/examples/std/src/bin/net_dns.rs @@ -1,5 +1,3 @@ -use std::default::Default; - use clap::Parser; use embassy_executor::{Executor, Spawner}; use embassy_net::dns::DnsQueryType; diff --git a/examples/std/src/bin/tcp_accept.rs b/examples/std/src/bin/tcp_accept.rs index 00ccd83a7..e8b6eaa6c 100644 --- a/examples/std/src/bin/tcp_accept.rs +++ b/examples/std/src/bin/tcp_accept.rs @@ -1,5 +1,4 @@ use core::fmt::Write as _; -use std::default::Default; use clap::Parser; use embassy_executor::{Executor, Spawner}; diff --git a/examples/stm32f2/src/bin/pll.rs b/examples/stm32f2/src/bin/pll.rs index e32f283d1..e39e2daec 100644 --- a/examples/stm32f2/src/bin/pll.rs +++ b/examples/stm32f2/src/bin/pll.rs @@ -1,8 +1,6 @@ #![no_std] #![no_main] -use core::convert::TryFrom; - use defmt::*; use embassy_executor::Spawner; use embassy_stm32::time::Hertz; diff --git a/examples/stm32h7/src/bin/camera.rs b/examples/stm32h7/src/bin/camera.rs index e5a104baf..170a5aa28 100644 --- a/examples/stm32h7/src/bin/camera.rs +++ b/examples/stm32h7/src/bin/camera.rs @@ -78,9 +78,9 @@ async fn main(_spawner: Spawner) { ); defmt::info!("attempting capture"); - defmt::unwrap!(dcmi.capture(unsafe { &mut FRAME }).await); + defmt::unwrap!(dcmi.capture(unsafe { &mut *core::ptr::addr_of_mut!(FRAME) }).await); - defmt::info!("captured frame: {:x}", unsafe { &FRAME }); + defmt::info!("captured frame: {:x}", unsafe { &*core::ptr::addr_of!(FRAME) }); defmt::info!("main loop running"); loop { diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index 32bfab6eb..343e09e68 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs @@ -42,7 +42,7 @@ bind_interrupts!(struct Irqs { RNG => rng::InterruptHandler; }); -use embassy_net_adin1110::{self, Device, Runner, ADIN1110}; +use embassy_net_adin1110::{Device, Runner, ADIN1110}; use embedded_hal_bus::spi::ExclusiveDevice; use hal::gpio::Pull; use hal::i2c::Config as I2C_Config; -- cgit From 7cf6490fbaea88410c91755f57cf8703806ab4a1 Mon Sep 17 00:00:00 2001 From: Adam Greig Date: Sat, 23 Mar 2024 00:11:05 +0000 Subject: usb: remove device_descriptor buffer, store bytes in UsbDevice.inner instead --- examples/boot/application/stm32wb-dfu/src/main.rs | 2 -- examples/boot/bootloader/stm32wb-dfu/src/main.rs | 2 -- examples/nrf52840/src/bin/usb_ethernet.rs | 2 -- examples/nrf52840/src/bin/usb_hid_keyboard.rs | 2 -- examples/nrf52840/src/bin/usb_hid_mouse.rs | 2 -- examples/nrf52840/src/bin/usb_serial.rs | 2 -- examples/nrf52840/src/bin/usb_serial_multitask.rs | 2 -- examples/nrf52840/src/bin/usb_serial_winusb.rs | 2 -- examples/rp/src/bin/pio_uart.rs | 2 -- examples/rp/src/bin/usb_ethernet.rs | 2 -- examples/rp/src/bin/usb_hid_keyboard.rs | 2 -- examples/rp/src/bin/usb_hid_mouse.rs | 2 -- examples/rp/src/bin/usb_midi.rs | 2 -- examples/rp/src/bin/usb_raw.rs | 2 -- examples/rp/src/bin/usb_raw_bulk.rs | 2 -- examples/rp/src/bin/usb_serial.rs | 2 -- examples/rp/src/bin/usb_serial_with_logger.rs | 2 -- examples/stm32f1/src/bin/usb_serial.rs | 2 -- examples/stm32f3/src/bin/usb_serial.rs | 2 -- examples/stm32f4/src/bin/usb_ethernet.rs | 2 -- examples/stm32f4/src/bin/usb_hid_keyboard.rs | 2 -- examples/stm32f4/src/bin/usb_hid_mouse.rs | 2 -- examples/stm32f4/src/bin/usb_raw.rs | 2 -- examples/stm32f4/src/bin/usb_serial.rs | 2 -- examples/stm32f7/src/bin/usb_serial.rs | 2 -- examples/stm32g0/src/bin/usb_serial.rs | 2 -- examples/stm32g4/src/bin/usb_serial.rs | 2 -- examples/stm32h5/src/bin/usb_serial.rs | 2 -- examples/stm32h7/src/bin/usb_serial.rs | 2 -- examples/stm32l1/src/bin/usb_serial.rs | 2 -- examples/stm32l4/src/bin/usb_serial.rs | 2 -- examples/stm32l5/src/bin/usb_ethernet.rs | 2 -- examples/stm32l5/src/bin/usb_hid_mouse.rs | 2 -- examples/stm32l5/src/bin/usb_serial.rs | 2 -- examples/stm32u5/src/bin/usb_serial.rs | 2 -- 35 files changed, 70 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/stm32wb-dfu/src/main.rs b/examples/boot/application/stm32wb-dfu/src/main.rs index 37c3d7d90..929d6802c 100644 --- a/examples/boot/application/stm32wb-dfu/src/main.rs +++ b/examples/boot/application/stm32wb-dfu/src/main.rs @@ -41,7 +41,6 @@ async fn main(_spawner: Spawner) { config.product = Some("USB-DFU Runtime example"); config.serial_number = Some("1235678"); - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -49,7 +48,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], diff --git a/examples/boot/bootloader/stm32wb-dfu/src/main.rs b/examples/boot/bootloader/stm32wb-dfu/src/main.rs index d989fbfdf..093b39f9d 100644 --- a/examples/boot/bootloader/stm32wb-dfu/src/main.rs +++ b/examples/boot/bootloader/stm32wb-dfu/src/main.rs @@ -49,7 +49,6 @@ fn main() -> ! { let mut buffer = AlignedBuffer([0; WRITE_SIZE]); let updater = BlockingFirmwareUpdater::new(fw_config, &mut buffer.0[..]); - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 4096]; @@ -57,7 +56,6 @@ fn main() -> ! { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], diff --git a/examples/nrf52840/src/bin/usb_ethernet.rs b/examples/nrf52840/src/bin/usb_ethernet.rs index 3469c6e5f..a7e5c2668 100644 --- a/examples/nrf52840/src/bin/usb_ethernet.rs +++ b/examples/nrf52840/src/bin/usb_ethernet.rs @@ -70,7 +70,6 @@ async fn main(spawner: Spawner) { config.device_protocol = 0x01; // Create embassy-usb DeviceBuilder using the driver and config. - static DEVICE_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static CONFIG_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static BOS_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static MSOS_DESC: StaticCell<[u8; 128]> = StaticCell::new(); @@ -78,7 +77,6 @@ async fn main(spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut DEVICE_DESC.init([0; 256])[..], &mut CONFIG_DESC.init([0; 256])[..], &mut BOS_DESC.init([0; 256])[..], &mut MSOS_DESC.init([0; 128])[..], diff --git a/examples/nrf52840/src/bin/usb_hid_keyboard.rs b/examples/nrf52840/src/bin/usb_hid_keyboard.rs index 3e86590c4..52f081487 100644 --- a/examples/nrf52840/src/bin/usb_hid_keyboard.rs +++ b/examples/nrf52840/src/bin/usb_hid_keyboard.rs @@ -50,7 +50,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut msos_descriptor = [0; 256]; @@ -63,7 +62,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut msos_descriptor, diff --git a/examples/nrf52840/src/bin/usb_hid_mouse.rs b/examples/nrf52840/src/bin/usb_hid_mouse.rs index 04ad841b7..5d2837793 100644 --- a/examples/nrf52840/src/bin/usb_hid_mouse.rs +++ b/examples/nrf52840/src/bin/usb_hid_mouse.rs @@ -43,7 +43,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut msos_descriptor = [0; 256]; @@ -55,7 +54,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut msos_descriptor, diff --git a/examples/nrf52840/src/bin/usb_serial.rs b/examples/nrf52840/src/bin/usb_serial.rs index aff539b1b..02048e692 100644 --- a/examples/nrf52840/src/bin/usb_serial.rs +++ b/examples/nrf52840/src/bin/usb_serial.rs @@ -48,7 +48,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut msos_descriptor = [0; 256]; @@ -59,7 +58,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut msos_descriptor, diff --git a/examples/nrf52840/src/bin/usb_serial_multitask.rs b/examples/nrf52840/src/bin/usb_serial_multitask.rs index 4e8118fb8..895cca8b9 100644 --- a/examples/nrf52840/src/bin/usb_serial_multitask.rs +++ b/examples/nrf52840/src/bin/usb_serial_multitask.rs @@ -67,7 +67,6 @@ async fn main(spawner: Spawner) { let state = STATE.init(State::new()); // Create embassy-usb DeviceBuilder using the driver and config. - static DEVICE_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static CONFIG_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static BOS_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static MSOS_DESC: StaticCell<[u8; 128]> = StaticCell::new(); @@ -75,7 +74,6 @@ async fn main(spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut DEVICE_DESC.init([0; 256])[..], &mut CONFIG_DESC.init([0; 256])[..], &mut BOS_DESC.init([0; 256])[..], &mut MSOS_DESC.init([0; 128])[..], diff --git a/examples/nrf52840/src/bin/usb_serial_winusb.rs b/examples/nrf52840/src/bin/usb_serial_winusb.rs index 060f9ba94..c6675a3d3 100644 --- a/examples/nrf52840/src/bin/usb_serial_winusb.rs +++ b/examples/nrf52840/src/bin/usb_serial_winusb.rs @@ -53,7 +53,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut msos_descriptor = [0; 256]; @@ -64,7 +63,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut msos_descriptor, diff --git a/examples/rp/src/bin/pio_uart.rs b/examples/rp/src/bin/pio_uart.rs index a07f1c180..53b696309 100644 --- a/examples/rp/src/bin/pio_uart.rs +++ b/examples/rp/src/bin/pio_uart.rs @@ -60,7 +60,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -70,7 +69,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/rp/src/bin/usb_ethernet.rs b/examples/rp/src/bin/usb_ethernet.rs index 01f0d5967..f1b124efa 100644 --- a/examples/rp/src/bin/usb_ethernet.rs +++ b/examples/rp/src/bin/usb_ethernet.rs @@ -64,14 +64,12 @@ async fn main(spawner: Spawner) { config.device_protocol = 0x01; // Create embassy-usb DeviceBuilder using the driver and config. - static DEVICE_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static CONFIG_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static BOS_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static CONTROL_BUF: StaticCell<[u8; 128]> = StaticCell::new(); let mut builder = Builder::new( driver, config, - &mut DEVICE_DESC.init([0; 256])[..], &mut CONFIG_DESC.init([0; 256])[..], &mut BOS_DESC.init([0; 256])[..], &mut [], // no msos descriptors diff --git a/examples/rp/src/bin/usb_hid_keyboard.rs b/examples/rp/src/bin/usb_hid_keyboard.rs index b5ac16245..710be8d13 100644 --- a/examples/rp/src/bin/usb_hid_keyboard.rs +++ b/examples/rp/src/bin/usb_hid_keyboard.rs @@ -36,7 +36,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; // You can also add a Microsoft OS descriptor. @@ -50,7 +49,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut msos_descriptor, diff --git a/examples/rp/src/bin/usb_hid_mouse.rs b/examples/rp/src/bin/usb_hid_mouse.rs index afebd8813..e8b399cb1 100644 --- a/examples/rp/src/bin/usb_hid_mouse.rs +++ b/examples/rp/src/bin/usb_hid_mouse.rs @@ -39,7 +39,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; // You can also add a Microsoft OS descriptor. @@ -53,7 +52,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut msos_descriptor, diff --git a/examples/rp/src/bin/usb_midi.rs b/examples/rp/src/bin/usb_midi.rs index 95306a35c..11db1b2e1 100644 --- a/examples/rp/src/bin/usb_midi.rs +++ b/examples/rp/src/bin/usb_midi.rs @@ -46,7 +46,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -54,7 +53,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/rp/src/bin/usb_raw.rs b/examples/rp/src/bin/usb_raw.rs index a6c8a5b2e..97e7e0244 100644 --- a/examples/rp/src/bin/usb_raw.rs +++ b/examples/rp/src/bin/usb_raw.rs @@ -93,7 +93,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut msos_descriptor = [0; 256]; @@ -106,7 +105,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut msos_descriptor, diff --git a/examples/rp/src/bin/usb_raw_bulk.rs b/examples/rp/src/bin/usb_raw_bulk.rs index 0dc8e9f72..331c3da4c 100644 --- a/examples/rp/src/bin/usb_raw_bulk.rs +++ b/examples/rp/src/bin/usb_raw_bulk.rs @@ -71,7 +71,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut msos_descriptor = [0; 256]; @@ -80,7 +79,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut msos_descriptor, diff --git a/examples/rp/src/bin/usb_serial.rs b/examples/rp/src/bin/usb_serial.rs index ab24a994c..3c9bc96dd 100644 --- a/examples/rp/src/bin/usb_serial.rs +++ b/examples/rp/src/bin/usb_serial.rs @@ -46,7 +46,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -56,7 +55,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/rp/src/bin/usb_serial_with_logger.rs b/examples/rp/src/bin/usb_serial_with_logger.rs index 4ba4fc25c..f9cfdef94 100644 --- a/examples/rp/src/bin/usb_serial_with_logger.rs +++ b/examples/rp/src/bin/usb_serial_with_logger.rs @@ -46,7 +46,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -57,7 +56,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32f1/src/bin/usb_serial.rs b/examples/stm32f1/src/bin/usb_serial.rs index 1ae6c1dee..ee99acf41 100644 --- a/examples/stm32f1/src/bin/usb_serial.rs +++ b/examples/stm32f1/src/bin/usb_serial.rs @@ -60,7 +60,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 7]; @@ -70,7 +69,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32f3/src/bin/usb_serial.rs b/examples/stm32f3/src/bin/usb_serial.rs index ee1c43afd..5760f2c1c 100644 --- a/examples/stm32f3/src/bin/usb_serial.rs +++ b/examples/stm32f3/src/bin/usb_serial.rs @@ -54,7 +54,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 7]; @@ -64,7 +63,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs index 405cce6bc..d2cbeea1b 100644 --- a/examples/stm32f4/src/bin/usb_ethernet.rs +++ b/examples/stm32f4/src/bin/usb_ethernet.rs @@ -89,14 +89,12 @@ async fn main(spawner: Spawner) { config.device_protocol = 0x01; // Create embassy-usb DeviceBuilder using the driver and config. - static DEVICE_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static CONFIG_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static BOS_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static CONTROL_BUF: StaticCell<[u8; 128]> = StaticCell::new(); let mut builder = Builder::new( driver, config, - &mut DEVICE_DESC.init([0; 256])[..], &mut CONFIG_DESC.init([0; 256])[..], &mut BOS_DESC.init([0; 256])[..], &mut [], // no msos descriptors diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index 6c25a0a64..a799b4e72 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -69,7 +69,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; // You can also add a Microsoft OS descriptor. @@ -84,7 +83,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut msos_descriptor, diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index d4725d597..0bc236119 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -64,7 +64,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -76,7 +75,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32f4/src/bin/usb_raw.rs b/examples/stm32f4/src/bin/usb_raw.rs index 15a98ff8b..4e583aeb8 100644 --- a/examples/stm32f4/src/bin/usb_raw.rs +++ b/examples/stm32f4/src/bin/usb_raw.rs @@ -117,7 +117,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut msos_descriptor = [0; 256]; @@ -130,7 +129,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut msos_descriptor, diff --git a/examples/stm32f4/src/bin/usb_serial.rs b/examples/stm32f4/src/bin/usb_serial.rs index 6080b34a8..f3a375d31 100644 --- a/examples/stm32f4/src/bin/usb_serial.rs +++ b/examples/stm32f4/src/bin/usb_serial.rs @@ -64,7 +64,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -74,7 +73,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32f7/src/bin/usb_serial.rs b/examples/stm32f7/src/bin/usb_serial.rs index 26ecf3bc8..39a5512f4 100644 --- a/examples/stm32f7/src/bin/usb_serial.rs +++ b/examples/stm32f7/src/bin/usb_serial.rs @@ -64,7 +64,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -74,7 +73,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32g0/src/bin/usb_serial.rs b/examples/stm32g0/src/bin/usb_serial.rs index 8b9915626..162dfd86b 100644 --- a/examples/stm32g0/src/bin/usb_serial.rs +++ b/examples/stm32g0/src/bin/usb_serial.rs @@ -36,7 +36,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 7]; @@ -46,7 +45,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32g4/src/bin/usb_serial.rs b/examples/stm32g4/src/bin/usb_serial.rs index dc95aa6e5..dbe8f27c1 100644 --- a/examples/stm32g4/src/bin/usb_serial.rs +++ b/examples/stm32g4/src/bin/usb_serial.rs @@ -56,7 +56,6 @@ async fn main(_spawner: Spawner) { config.device_protocol = 0x01; config.composite_with_iads = true; - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -66,7 +65,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32h5/src/bin/usb_serial.rs b/examples/stm32h5/src/bin/usb_serial.rs index 83477c8fa..4f86bb342 100644 --- a/examples/stm32h5/src/bin/usb_serial.rs +++ b/examples/stm32h5/src/bin/usb_serial.rs @@ -65,7 +65,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -75,7 +74,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32h7/src/bin/usb_serial.rs b/examples/stm32h7/src/bin/usb_serial.rs index c3ddda72a..576506ad3 100644 --- a/examples/stm32h7/src/bin/usb_serial.rs +++ b/examples/stm32h7/src/bin/usb_serial.rs @@ -65,7 +65,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -75,7 +74,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32l1/src/bin/usb_serial.rs b/examples/stm32l1/src/bin/usb_serial.rs index f738ea358..653bbd6d2 100644 --- a/examples/stm32l1/src/bin/usb_serial.rs +++ b/examples/stm32l1/src/bin/usb_serial.rs @@ -46,7 +46,6 @@ async fn main(_spawner: Spawner) { config.device_protocol = 0x01; config.composite_with_iads = true; - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -56,7 +55,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs index 047234d60..198504b59 100644 --- a/examples/stm32l4/src/bin/usb_serial.rs +++ b/examples/stm32l4/src/bin/usb_serial.rs @@ -60,7 +60,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -70,7 +69,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32l5/src/bin/usb_ethernet.rs b/examples/stm32l5/src/bin/usb_ethernet.rs index dc1e7022d..7f73fd677 100644 --- a/examples/stm32l5/src/bin/usb_ethernet.rs +++ b/examples/stm32l5/src/bin/usb_ethernet.rs @@ -79,14 +79,12 @@ async fn main(spawner: Spawner) { config.device_protocol = 0x01; // Create embassy-usb DeviceBuilder using the driver and config. - static DEVICE_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static CONFIG_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static BOS_DESC: StaticCell<[u8; 256]> = StaticCell::new(); static CONTROL_BUF: StaticCell<[u8; 128]> = StaticCell::new(); let mut builder = Builder::new( driver, config, - &mut DEVICE_DESC.init([0; 256])[..], &mut CONFIG_DESC.init([0; 256])[..], &mut BOS_DESC.init([0; 256])[..], &mut [], // no msos descriptors diff --git a/examples/stm32l5/src/bin/usb_hid_mouse.rs b/examples/stm32l5/src/bin/usb_hid_mouse.rs index b86fba455..9d30205bb 100644 --- a/examples/stm32l5/src/bin/usb_hid_mouse.rs +++ b/examples/stm32l5/src/bin/usb_hid_mouse.rs @@ -51,7 +51,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -62,7 +61,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32l5/src/bin/usb_serial.rs b/examples/stm32l5/src/bin/usb_serial.rs index 5e2378b58..a64bda31b 100644 --- a/examples/stm32l5/src/bin/usb_serial.rs +++ b/examples/stm32l5/src/bin/usb_serial.rs @@ -47,7 +47,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 7]; @@ -57,7 +56,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors diff --git a/examples/stm32u5/src/bin/usb_serial.rs b/examples/stm32u5/src/bin/usb_serial.rs index 33e02ce3b..6a313efb0 100644 --- a/examples/stm32u5/src/bin/usb_serial.rs +++ b/examples/stm32u5/src/bin/usb_serial.rs @@ -61,7 +61,6 @@ async fn main(_spawner: Spawner) { // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut device_descriptor = [0; 256]; let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; @@ -71,7 +70,6 @@ async fn main(_spawner: Spawner) { let mut builder = Builder::new( driver, config, - &mut device_descriptor, &mut config_descriptor, &mut bos_descriptor, &mut [], // no msos descriptors -- cgit From 389cbc0a77daea15decae706818f104d89446020 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sat, 23 Mar 2024 00:35:06 +0100 Subject: stm32/timer: simplify traits, convert from trait methods to struct. --- examples/stm32f4/src/bin/ws2812_pwm.rs | 5 ++-- examples/stm32h7/src/bin/dac_dma.rs | 26 +++++++++---------- examples/stm32h7/src/bin/low_level_timer_api.rs | 34 +++++++++++++------------ examples/stm32l4/src/bin/dac_dma.rs | 26 +++++++++---------- 4 files changed, 47 insertions(+), 44 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/ws2812_pwm.rs b/examples/stm32f4/src/bin/ws2812_pwm.rs index 6122cea2d..cbaff75fc 100644 --- a/examples/stm32f4/src/bin/ws2812_pwm.rs +++ b/examples/stm32f4/src/bin/ws2812_pwm.rs @@ -15,8 +15,9 @@ use embassy_executor::Spawner; use embassy_stm32::gpio::OutputType; use embassy_stm32::time::khz; +use embassy_stm32::timer::low_level::CountingMode; use embassy_stm32::timer::simple_pwm::{PwmPin, SimplePwm}; -use embassy_stm32::timer::{Channel, CountingMode}; +use embassy_stm32::timer::Channel; use embassy_time::{Duration, Ticker, Timer}; use {defmt_rtt as _, panic_probe as _}; @@ -60,7 +61,7 @@ async fn main(_spawner: Spawner) { // construct ws2812 non-return-to-zero (NRZ) code bit by bit // ws2812 only need 24 bits for each LED, but we add one bit more to keep PWM output low - let max_duty = ws2812_pwm.get_max_duty(); + let max_duty = ws2812_pwm.get_max_duty() as u16; let n0 = 8 * max_duty / 25; // ws2812 Bit 0 high level timing let n1 = 2 * n0; // ws2812 Bit 1 high level timing diff --git a/examples/stm32h7/src/bin/dac_dma.rs b/examples/stm32h7/src/bin/dac_dma.rs index feec28993..c45747f35 100644 --- a/examples/stm32h7/src/bin/dac_dma.rs +++ b/examples/stm32h7/src/bin/dac_dma.rs @@ -8,7 +8,7 @@ use embassy_stm32::pac::timer::vals::Mms; use embassy_stm32::peripherals::{DAC1, DMA1_CH3, DMA1_CH4, TIM6, TIM7}; use embassy_stm32::rcc::low_level::RccPeripheral; use embassy_stm32::time::Hertz; -use embassy_stm32::timer::low_level::BasicInstance; +use embassy_stm32::timer::low_level::Timer; use micromath::F32Ext; use {defmt_rtt as _, panic_probe as _}; @@ -51,12 +51,12 @@ async fn main(spawner: Spawner) { // Obtain two independent channels (p.DAC1 can only be consumed once, though!) let (dac_ch1, dac_ch2) = embassy_stm32::dac::Dac::new(p.DAC1, p.DMA1_CH3, p.DMA1_CH4, p.PA4, p.PA5).split(); - spawner.spawn(dac_task1(dac_ch1)).ok(); - spawner.spawn(dac_task2(dac_ch2)).ok(); + spawner.spawn(dac_task1(p.TIM6, dac_ch1)).ok(); + spawner.spawn(dac_task2(p.TIM7, dac_ch2)).ok(); } #[embassy_executor::task] -async fn dac_task1(mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { +async fn dac_task1(tim: TIM6, mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { let data: &[u8; 256] = &calculate_array::<256>(); info!("TIM6 frequency is {}", TIM6::frequency()); @@ -74,10 +74,10 @@ async fn dac_task1(mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { dac.set_triggering(true); dac.enable(); - TIM6::enable_and_reset(); - TIM6::regs_basic().arr().modify(|w| w.set_arr(reload as u16 - 1)); - TIM6::regs_basic().cr2().modify(|w| w.set_mms(Mms::UPDATE)); - TIM6::regs_basic().cr1().modify(|w| { + let tim = Timer::new(tim); + tim.regs_basic().arr().modify(|w| w.set_arr(reload as u16 - 1)); + tim.regs_basic().cr2().modify(|w| w.set_mms(Mms::UPDATE)); + tim.regs_basic().cr1().modify(|w| { w.set_opm(false); w.set_cen(true); }); @@ -99,7 +99,7 @@ async fn dac_task1(mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { } #[embassy_executor::task] -async fn dac_task2(mut dac: DacCh2<'static, DAC1, DMA1_CH4>) { +async fn dac_task2(tim: TIM7, mut dac: DacCh2<'static, DAC1, DMA1_CH4>) { let data: &[u8; 256] = &calculate_array::<256>(); info!("TIM7 frequency is {}", TIM7::frequency()); @@ -111,10 +111,10 @@ async fn dac_task2(mut dac: DacCh2<'static, DAC1, DMA1_CH4>) { error!("Reload value {} below threshold!", reload); } - TIM7::enable_and_reset(); - TIM7::regs_basic().arr().modify(|w| w.set_arr(reload as u16 - 1)); - TIM7::regs_basic().cr2().modify(|w| w.set_mms(Mms::UPDATE)); - TIM7::regs_basic().cr1().modify(|w| { + let tim = Timer::new(tim); + tim.regs_basic().arr().modify(|w| w.set_arr(reload as u16 - 1)); + tim.regs_basic().cr2().modify(|w| w.set_mms(Mms::UPDATE)); + tim.regs_basic().cr1().modify(|w| { w.set_opm(false); w.set_cen(true); }); diff --git a/examples/stm32h7/src/bin/low_level_timer_api.rs b/examples/stm32h7/src/bin/low_level_timer_api.rs index 049d9967d..780fbc6f0 100644 --- a/examples/stm32h7/src/bin/low_level_timer_api.rs +++ b/examples/stm32h7/src/bin/low_level_timer_api.rs @@ -6,8 +6,9 @@ use embassy_executor::Spawner; use embassy_stm32::gpio::low_level::AFType; use embassy_stm32::gpio::Speed; use embassy_stm32::time::{khz, Hertz}; -use embassy_stm32::timer::*; -use embassy_stm32::{into_ref, Config, Peripheral, PeripheralRef}; +use embassy_stm32::timer::low_level::{OutputCompareMode, Timer as LLTimer}; +use embassy_stm32::timer::{Channel, Channel1Pin, Channel2Pin, Channel3Pin, Channel4Pin, GeneralInstance32bit4Channel}; +use embassy_stm32::{into_ref, Config, Peripheral}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; @@ -56,11 +57,11 @@ async fn main(_spawner: Spawner) { Timer::after_millis(300).await; } } -pub struct SimplePwm32<'d, T: CaptureCompare32bitInstance> { - inner: PeripheralRef<'d, T>, +pub struct SimplePwm32<'d, T: GeneralInstance32bit4Channel> { + tim: LLTimer<'d, T>, } -impl<'d, T: CaptureCompare32bitInstance> SimplePwm32<'d, T> { +impl<'d, T: GeneralInstance32bit4Channel> SimplePwm32<'d, T> { pub fn new( tim: impl Peripheral

+ 'd, ch1: impl Peripheral

> + 'd, @@ -69,9 +70,7 @@ impl<'d, T: CaptureCompare32bitInstance> SimplePwm32<'d, T> { ch4: impl Peripheral

> + 'd, freq: Hertz, ) -> Self { - into_ref!(tim, ch1, ch2, ch3, ch4); - - T::enable_and_reset(); + into_ref!(ch1, ch2, ch3, ch4); ch1.set_speed(Speed::VeryHigh); ch1.set_as_af(ch1.af_num(), AFType::OutputPushPull); @@ -82,12 +81,12 @@ impl<'d, T: CaptureCompare32bitInstance> SimplePwm32<'d, T> { ch4.set_speed(Speed::VeryHigh); ch4.set_as_af(ch1.af_num(), AFType::OutputPushPull); - let mut this = Self { inner: tim }; + let mut this = Self { tim: LLTimer::new(tim) }; this.set_frequency(freq); - this.inner.start(); + this.tim.start(); - let r = T::regs_gp32(); + let r = this.tim.regs_gp32(); r.ccmr_output(0) .modify(|w| w.set_ocm(0, OutputCompareMode::PwmMode1.into())); r.ccmr_output(0) @@ -101,23 +100,26 @@ impl<'d, T: CaptureCompare32bitInstance> SimplePwm32<'d, T> { } pub fn enable(&mut self, channel: Channel) { - T::regs_gp32().ccer().modify(|w| w.set_cce(channel.index(), true)); + self.tim.regs_gp32().ccer().modify(|w| w.set_cce(channel.index(), true)); } pub fn disable(&mut self, channel: Channel) { - T::regs_gp32().ccer().modify(|w| w.set_cce(channel.index(), false)); + self.tim + .regs_gp32() + .ccer() + .modify(|w| w.set_cce(channel.index(), false)); } pub fn set_frequency(&mut self, freq: Hertz) { - ::set_frequency(&mut self.inner, freq); + self.tim.set_frequency(freq); } pub fn get_max_duty(&self) -> u32 { - T::regs_gp32().arr().read() + self.tim.regs_gp32().arr().read() } pub fn set_duty(&mut self, channel: Channel, duty: u32) { defmt::assert!(duty < self.get_max_duty()); - T::regs_gp32().ccr(channel.index()).write_value(duty) + self.tim.regs_gp32().ccr(channel.index()).write_value(duty) } } diff --git a/examples/stm32l4/src/bin/dac_dma.rs b/examples/stm32l4/src/bin/dac_dma.rs index f227812cd..98edd39c0 100644 --- a/examples/stm32l4/src/bin/dac_dma.rs +++ b/examples/stm32l4/src/bin/dac_dma.rs @@ -8,7 +8,7 @@ use embassy_stm32::pac::timer::vals::Mms; use embassy_stm32::peripherals::{DAC1, DMA1_CH3, DMA1_CH4, TIM6, TIM7}; use embassy_stm32::rcc::low_level::RccPeripheral; use embassy_stm32::time::Hertz; -use embassy_stm32::timer::low_level::BasicInstance; +use embassy_stm32::timer::low_level::Timer; use micromath::F32Ext; use {defmt_rtt as _, panic_probe as _}; @@ -22,12 +22,12 @@ async fn main(spawner: Spawner) { // Obtain two independent channels (p.DAC1 can only be consumed once, though!) let (dac_ch1, dac_ch2) = embassy_stm32::dac::Dac::new(p.DAC1, p.DMA1_CH3, p.DMA1_CH4, p.PA4, p.PA5).split(); - spawner.spawn(dac_task1(dac_ch1)).ok(); - spawner.spawn(dac_task2(dac_ch2)).ok(); + spawner.spawn(dac_task1(p.TIM6, dac_ch1)).ok(); + spawner.spawn(dac_task2(p.TIM7, dac_ch2)).ok(); } #[embassy_executor::task] -async fn dac_task1(mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { +async fn dac_task1(tim: TIM6, mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { let data: &[u8; 256] = &calculate_array::<256>(); info!("TIM6 frequency is {}", TIM6::frequency()); @@ -45,10 +45,10 @@ async fn dac_task1(mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { dac.set_triggering(true); dac.enable(); - TIM6::enable_and_reset(); - TIM6::regs_basic().arr().modify(|w| w.set_arr(reload as u16 - 1)); - TIM6::regs_basic().cr2().modify(|w| w.set_mms(Mms::UPDATE)); - TIM6::regs_basic().cr1().modify(|w| { + let tim = Timer::new(tim); + tim.regs_basic().arr().modify(|w| w.set_arr(reload as u16 - 1)); + tim.regs_basic().cr2().modify(|w| w.set_mms(Mms::UPDATE)); + tim.regs_basic().cr1().modify(|w| { w.set_opm(false); w.set_cen(true); }); @@ -70,7 +70,7 @@ async fn dac_task1(mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { } #[embassy_executor::task] -async fn dac_task2(mut dac: DacCh2<'static, DAC1, DMA1_CH4>) { +async fn dac_task2(tim: TIM7, mut dac: DacCh2<'static, DAC1, DMA1_CH4>) { let data: &[u8; 256] = &calculate_array::<256>(); info!("TIM7 frequency is {}", TIM7::frequency()); @@ -82,10 +82,10 @@ async fn dac_task2(mut dac: DacCh2<'static, DAC1, DMA1_CH4>) { error!("Reload value {} below threshold!", reload); } - TIM7::enable_and_reset(); - TIM7::regs_basic().arr().modify(|w| w.set_arr(reload as u16 - 1)); - TIM7::regs_basic().cr2().modify(|w| w.set_mms(Mms::UPDATE)); - TIM7::regs_basic().cr1().modify(|w| { + let tim = Timer::new(tim); + tim.regs_basic().arr().modify(|w| w.set_arr(reload as u16 - 1)); + tim.regs_basic().cr2().modify(|w| w.set_mms(Mms::UPDATE)); + tim.regs_basic().cr1().modify(|w| { w.set_opm(false); w.set_cen(true); }); -- cgit From 2bca875b5f72578cbd20404010d174795d263313 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sat, 23 Mar 2024 01:38:51 +0100 Subject: stm32: use private_bounds for sealed traits. --- examples/stm32h7/src/bin/dac_dma.rs | 14 +++++----- examples/stm32h7/src/bin/low_level_timer_api.rs | 37 +++++++++++++++++-------- examples/stm32l4/src/bin/dac_dma.rs | 14 +++++----- 3 files changed, 39 insertions(+), 26 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/dac_dma.rs b/examples/stm32h7/src/bin/dac_dma.rs index c45747f35..3a9887e3c 100644 --- a/examples/stm32h7/src/bin/dac_dma.rs +++ b/examples/stm32h7/src/bin/dac_dma.rs @@ -6,7 +6,7 @@ use embassy_executor::Spawner; use embassy_stm32::dac::{DacCh1, DacCh2, ValueArray}; use embassy_stm32::pac::timer::vals::Mms; use embassy_stm32::peripherals::{DAC1, DMA1_CH3, DMA1_CH4, TIM6, TIM7}; -use embassy_stm32::rcc::low_level::RccPeripheral; +use embassy_stm32::rcc::frequency; use embassy_stm32::time::Hertz; use embassy_stm32::timer::low_level::Timer; use micromath::F32Ext; @@ -59,11 +59,11 @@ async fn main(spawner: Spawner) { async fn dac_task1(tim: TIM6, mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { let data: &[u8; 256] = &calculate_array::<256>(); - info!("TIM6 frequency is {}", TIM6::frequency()); + info!("TIM6 frequency is {}", frequency::()); const FREQUENCY: Hertz = Hertz::hz(200); // Compute the reload value such that we obtain the FREQUENCY for the sine - let reload: u32 = (TIM6::frequency().0 / FREQUENCY.0) / data.len() as u32; + let reload: u32 = (frequency::().0 / FREQUENCY.0) / data.len() as u32; // Depends on your clock and on the specific chip used, you may need higher or lower values here if reload < 10 { @@ -84,7 +84,7 @@ async fn dac_task1(tim: TIM6, mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { debug!( "TIM6 Frequency {}, Target Frequency {}, Reload {}, Reload as u16 {}, Samples {}", - TIM6::frequency(), + frequency::(), FREQUENCY, reload, reload as u16, @@ -102,10 +102,10 @@ async fn dac_task1(tim: TIM6, mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { async fn dac_task2(tim: TIM7, mut dac: DacCh2<'static, DAC1, DMA1_CH4>) { let data: &[u8; 256] = &calculate_array::<256>(); - info!("TIM7 frequency is {}", TIM7::frequency()); + info!("TIM7 frequency is {}", frequency::()); const FREQUENCY: Hertz = Hertz::hz(600); - let reload: u32 = (TIM7::frequency().0 / FREQUENCY.0) / data.len() as u32; + let reload: u32 = (frequency::().0 / FREQUENCY.0) / data.len() as u32; if reload < 10 { error!("Reload value {} below threshold!", reload); @@ -125,7 +125,7 @@ async fn dac_task2(tim: TIM7, mut dac: DacCh2<'static, DAC1, DMA1_CH4>) { debug!( "TIM7 Frequency {}, Target Frequency {}, Reload {}, Reload as u16 {}, Samples {}", - TIM7::frequency(), + frequency::(), FREQUENCY, reload, reload as u16, diff --git a/examples/stm32h7/src/bin/low_level_timer_api.rs b/examples/stm32h7/src/bin/low_level_timer_api.rs index 780fbc6f0..a95b44b74 100644 --- a/examples/stm32h7/src/bin/low_level_timer_api.rs +++ b/examples/stm32h7/src/bin/low_level_timer_api.rs @@ -3,8 +3,7 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::gpio::low_level::AFType; -use embassy_stm32::gpio::Speed; +use embassy_stm32::gpio::{AFType, Flex, Pull, Speed}; use embassy_stm32::time::{khz, Hertz}; use embassy_stm32::timer::low_level::{OutputCompareMode, Timer as LLTimer}; use embassy_stm32::timer::{Channel, Channel1Pin, Channel2Pin, Channel3Pin, Channel4Pin, GeneralInstance32bit4Channel}; @@ -59,6 +58,10 @@ async fn main(_spawner: Spawner) { } pub struct SimplePwm32<'d, T: GeneralInstance32bit4Channel> { tim: LLTimer<'d, T>, + _ch1: Flex<'d>, + _ch2: Flex<'d>, + _ch3: Flex<'d>, + _ch4: Flex<'d>, } impl<'d, T: GeneralInstance32bit4Channel> SimplePwm32<'d, T> { @@ -72,16 +75,26 @@ impl<'d, T: GeneralInstance32bit4Channel> SimplePwm32<'d, T> { ) -> Self { into_ref!(ch1, ch2, ch3, ch4); - ch1.set_speed(Speed::VeryHigh); - ch1.set_as_af(ch1.af_num(), AFType::OutputPushPull); - ch2.set_speed(Speed::VeryHigh); - ch2.set_as_af(ch1.af_num(), AFType::OutputPushPull); - ch3.set_speed(Speed::VeryHigh); - ch3.set_as_af(ch1.af_num(), AFType::OutputPushPull); - ch4.set_speed(Speed::VeryHigh); - ch4.set_as_af(ch1.af_num(), AFType::OutputPushPull); - - let mut this = Self { tim: LLTimer::new(tim) }; + let af1 = ch1.af_num(); + let af2 = ch2.af_num(); + let af3 = ch3.af_num(); + let af4 = ch4.af_num(); + let mut ch1 = Flex::new(ch1); + let mut ch2 = Flex::new(ch2); + let mut ch3 = Flex::new(ch3); + let mut ch4 = Flex::new(ch4); + ch1.set_as_af_unchecked(af1, AFType::OutputPushPull, Pull::None, Speed::VeryHigh); + ch2.set_as_af_unchecked(af2, AFType::OutputPushPull, Pull::None, Speed::VeryHigh); + ch3.set_as_af_unchecked(af3, AFType::OutputPushPull, Pull::None, Speed::VeryHigh); + ch4.set_as_af_unchecked(af4, AFType::OutputPushPull, Pull::None, Speed::VeryHigh); + + let mut this = Self { + tim: LLTimer::new(tim), + _ch1: ch1, + _ch2: ch2, + _ch3: ch3, + _ch4: ch4, + }; this.set_frequency(freq); this.tim.start(); diff --git a/examples/stm32l4/src/bin/dac_dma.rs b/examples/stm32l4/src/bin/dac_dma.rs index 98edd39c0..d01b016c0 100644 --- a/examples/stm32l4/src/bin/dac_dma.rs +++ b/examples/stm32l4/src/bin/dac_dma.rs @@ -6,7 +6,7 @@ use embassy_executor::Spawner; use embassy_stm32::dac::{DacCh1, DacCh2, ValueArray}; use embassy_stm32::pac::timer::vals::Mms; use embassy_stm32::peripherals::{DAC1, DMA1_CH3, DMA1_CH4, TIM6, TIM7}; -use embassy_stm32::rcc::low_level::RccPeripheral; +use embassy_stm32::rcc::frequency; use embassy_stm32::time::Hertz; use embassy_stm32::timer::low_level::Timer; use micromath::F32Ext; @@ -30,11 +30,11 @@ async fn main(spawner: Spawner) { async fn dac_task1(tim: TIM6, mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { let data: &[u8; 256] = &calculate_array::<256>(); - info!("TIM6 frequency is {}", TIM6::frequency()); + info!("TIM6 frequency is {}", frequency::()); const FREQUENCY: Hertz = Hertz::hz(200); // Compute the reload value such that we obtain the FREQUENCY for the sine - let reload: u32 = (TIM6::frequency().0 / FREQUENCY.0) / data.len() as u32; + let reload: u32 = (frequency::().0 / FREQUENCY.0) / data.len() as u32; // Depends on your clock and on the specific chip used, you may need higher or lower values here if reload < 10 { @@ -55,7 +55,7 @@ async fn dac_task1(tim: TIM6, mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { debug!( "TIM6 Frequency {}, Target Frequency {}, Reload {}, Reload as u16 {}, Samples {}", - TIM6::frequency(), + frequency::(), FREQUENCY, reload, reload as u16, @@ -73,10 +73,10 @@ async fn dac_task1(tim: TIM6, mut dac: DacCh1<'static, DAC1, DMA1_CH3>) { async fn dac_task2(tim: TIM7, mut dac: DacCh2<'static, DAC1, DMA1_CH4>) { let data: &[u8; 256] = &calculate_array::<256>(); - info!("TIM7 frequency is {}", TIM7::frequency()); + info!("TIM7 frequency is {}", frequency::()); const FREQUENCY: Hertz = Hertz::hz(600); - let reload: u32 = (TIM7::frequency().0 / FREQUENCY.0) / data.len() as u32; + let reload: u32 = (frequency::().0 / FREQUENCY.0) / data.len() as u32; if reload < 10 { error!("Reload value {} below threshold!", reload); @@ -96,7 +96,7 @@ async fn dac_task2(tim: TIM7, mut dac: DacCh2<'static, DAC1, DMA1_CH4>) { debug!( "TIM7 Frequency {}, Target Frequency {}, Reload {}, Reload as u16 {}, Samples {}", - TIM7::frequency(), + frequency::(), FREQUENCY, reload, reload as u16, -- cgit From 83069e7b49bd181236e6a68005ad6119d39b39c3 Mon Sep 17 00:00:00 2001 From: eZio Pan Date: Fri, 22 Mar 2024 00:58:03 +0800 Subject: stm32 CORDIC: add example --- examples/stm32h5/src/bin/cordic.rs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 examples/stm32h5/src/bin/cordic.rs (limited to 'examples') diff --git a/examples/stm32h5/src/bin/cordic.rs b/examples/stm32h5/src/bin/cordic.rs new file mode 100644 index 000000000..d49f75b8f --- /dev/null +++ b/examples/stm32h5/src/bin/cordic.rs @@ -0,0 +1,35 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::cordic; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut dp = embassy_stm32::init(Default::default()); + + let mut cordic = cordic::Cordic::new( + &mut dp.CORDIC, + unwrap!(cordic::Config::new( + cordic::Function::Sin, + Default::default(), + Default::default(), + false, + )), + ); + + let mut output = [0f64; 16]; + + let arg1 = [1.0, 0.0, -1.0]; // for trigonometric function, the ARG1 value [-pi, pi] should be map to [-1, 1] + let arg2 = [0.5, 1.0]; + + let cnt = unwrap!( + cordic + .async_calc_32bit(&mut dp.GPDMA1_CH0, &mut dp.GPDMA1_CH1, &arg1, Some(&arg2), &mut output,) + .await + ); + + println!("async calc 32bit: {}", output[..cnt]); +} -- cgit From 0abcccee966af0b12e62fc7fae8499fa03194823 Mon Sep 17 00:00:00 2001 From: eZio Pan Date: Fri, 22 Mar 2024 17:29:10 +0800 Subject: stm32 CORDIC: re-design API --- examples/stm32h5/src/bin/cordic.rs | 59 ++++++++++++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/stm32h5/src/bin/cordic.rs b/examples/stm32h5/src/bin/cordic.rs index d49f75b8f..73e873574 100644 --- a/examples/stm32h5/src/bin/cordic.rs +++ b/examples/stm32h5/src/bin/cordic.rs @@ -3,7 +3,7 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::cordic; +use embassy_stm32::cordic::{self, utils}; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] @@ -16,20 +16,63 @@ async fn main(_spawner: Spawner) { cordic::Function::Sin, Default::default(), Default::default(), - false, )), ); - let mut output = [0f64; 16]; + // for output buf, the length is not that strict, larger than minimal required is ok. + let mut output_f64 = [0f64; 19]; + let mut output_u32 = [0u32; 21]; - let arg1 = [1.0, 0.0, -1.0]; // for trigonometric function, the ARG1 value [-pi, pi] should be map to [-1, 1] - let arg2 = [0.5, 1.0]; + // tips: + // CORDIC peripheral has some strict on input value, you can also use ".check_argX_fXX()" methods + // to make sure your input values are compatible with current CORDIC setup. + let arg1 = [-1.0, -0.5, 0.0, 0.5, 1.0]; // for trigonometric function, the ARG1 value [-pi, pi] should be map to [-1, 1] + let arg2 = [0.5]; // and for Sin function, ARG2 should be in [0, 1] - let cnt = unwrap!( + let mut input_buf = [0u32; 9]; + + // convert input from floating point to fixed point + input_buf[0] = unwrap!(utils::f64_to_q1_31(arg1[0])); + input_buf[1] = unwrap!(utils::f64_to_q1_31(arg2[0])); + + // If input length is small, blocking mode can be used to minimize overhead. + let cnt0 = unwrap!(cordic.blocking_calc_32bit( + &input_buf[..2], // input length is strict, since driver use its length to detect calculation count + &mut output_u32, + false, + false + )); + + // convert result from fixed point into floating point + for (&u32_val, f64_val) in output_u32[..cnt0].iter().zip(output_f64.iter_mut()) { + *f64_val = utils::q1_31_to_f64(u32_val); + } + + // convert input from floating point to fixed point + // + // first value from arg1 is used, so truncate to arg1[1..] + for (&f64_val, u32_val) in arg1[1..].iter().zip(input_buf.iter_mut()) { + *u32_val = unwrap!(utils::f64_to_q1_31(f64_val)); + } + + // If calculation is a little longer, async mode can make use of DMA, and let core do some other stuff. + let cnt1 = unwrap!( cordic - .async_calc_32bit(&mut dp.GPDMA1_CH0, &mut dp.GPDMA1_CH1, &arg1, Some(&arg2), &mut output,) + .async_calc_32bit( + &mut dp.GPDMA1_CH0, + &mut dp.GPDMA1_CH1, + &input_buf[..arg1.len() - 1], // limit input buf to its actual length + &mut output_u32, + true, + false + ) .await ); - println!("async calc 32bit: {}", output[..cnt]); + // convert result from fixed point into floating point + for (&u32_val, f64_val) in output_u32[..cnt1].iter().zip(output_f64[cnt0..cnt0 + cnt1].iter_mut()) { + *f64_val = utils::q1_31_to_f64(u32_val); + } + + println!("result: {}", output_f64[..cnt0 + cnt1]); } -- cgit From 402def86ee6a1d8695fc0a4cf157d1ffca7550d9 Mon Sep 17 00:00:00 2001 From: Emilie Burgun Date: Tue, 26 Mar 2024 17:27:02 +0100 Subject: Remove ad-hoc fixes for setting the IOSV bit to true --- examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 6 ------ 1 file changed, 6 deletions(-) (limited to 'examples') diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index 343e09e68..77aa929ab 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs @@ -93,12 +93,6 @@ async fn main(spawner: Spawner) { let dp = embassy_stm32::init(config); - // RM0432rev9, 5.1.2: Independent I/O supply rail - // After reset, the I/Os supplied by VDDIO2 are logically and electrically isolated and - // therefore are not available. The isolation must be removed before using any I/O from - // PG[15:2], by setting the IOSV bit in the PWR_CR2 register, once the VDDIO2 supply is present - pac::PWR.cr2().modify(|w| w.set_iosv(true)); - let reset_status = pac::RCC.bdcr().read().0; defmt::println!("bdcr before: 0x{:X}", reset_status); -- cgit From 2217b802781b5f2188b4da659aca47f9d89ee032 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Sun, 24 Mar 2024 15:13:55 +1000 Subject: CAN: Unify API's between BXCAN and FDCAN. Use Envelope for all read methods instead of a tuple sometimes. --- examples/stm32f1/Cargo.toml | 1 + examples/stm32f1/src/bin/can.rs | 102 +++++++++++++++++++++++++++++++++++----- examples/stm32g4/src/bin/can.rs | 29 +++++++----- examples/stm32h5/src/bin/can.rs | 12 +++-- examples/stm32h7/src/bin/can.rs | 12 +++-- 5 files changed, 121 insertions(+), 35 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml index df5d32f70..4f282f326 100644 --- a/examples/stm32f1/Cargo.toml +++ b/examples/stm32f1/Cargo.toml @@ -23,6 +23,7 @@ panic-probe = { version = "0.3", features = ["print-defmt"] } futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } nb = "1.0.0" +static_cell = "2.0.0" [profile.dev] opt-level = "s" diff --git a/examples/stm32f1/src/bin/can.rs b/examples/stm32f1/src/bin/can.rs index ac337e8a0..90cb9e46b 100644 --- a/examples/stm32f1/src/bin/can.rs +++ b/examples/stm32f1/src/bin/can.rs @@ -4,11 +4,12 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::can::{ - filter, Can, Fifo, Frame, Id, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, StandardId, + filter, Can, Envelope, Fifo, Frame, Id, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, StandardId, TxInterruptHandler, }; use embassy_stm32::peripherals::CAN; use embassy_stm32::{bind_interrupts, Config}; +use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { @@ -21,6 +22,27 @@ bind_interrupts!(struct Irqs { // This example is configured to work with real CAN transceivers on B8/B9. // See other examples for loopback. +fn handle_frame(env: Envelope, read_mode: &str) { + match env.frame.id() { + Id::Extended(id) => { + defmt::println!( + "{} Extended Frame id={:x} {:02x}", + read_mode, + id.as_raw(), + env.frame.data() + ); + } + Id::Standard(id) => { + defmt::println!( + "{} Standard Frame id={:x} {:02x}", + read_mode, + id.as_raw(), + env.frame.data() + ); + } + } +} + #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Config::default()); @@ -28,6 +50,9 @@ async fn main(_spawner: Spawner) { // Set alternate pin mapping to B8/B9 embassy_stm32::pac::AFIO.mapr().modify(|w| w.set_can1_remap(2)); + static RX_BUF: StaticCell> = StaticCell::new(); + static TX_BUF: StaticCell> = StaticCell::new(); + let mut can = Can::new(p.CAN, p.PB8, p.PB9, Irqs); can.as_mut() @@ -43,21 +68,72 @@ async fn main(_spawner: Spawner) { can.set_bitrate(250_000); can.enable().await; - let mut i: u8 = 0; + + /* + // Example for using buffered Tx and Rx without needing to + // split first as is done below. + let mut can = can.buffered( + TX_BUF.init(embassy_stm32::can::TxBuf::<10>::new()), + RX_BUF.init(embassy_stm32::can::RxBuf::<10>::new())); + loop { + let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), &[i, 0, 1, 2, 3, 4, 5, 6]).unwrap(); + can.write(&tx_frame).await; + + match can.read().await { + Ok((frame, ts)) => { + handle_frame(Envelope { ts, frame }, "Buf"); + } + Err(err) => { + defmt::println!("Error {}", err); + } + } + i += 1; + } + + */ + let (mut tx, mut rx) = can.split(); + + // This example shows using the wait_not_empty API before try read + while i < 3 { + let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), &[i, 0, 1, 2, 3, 4, 5, 6]).unwrap(); + tx.write(&tx_frame).await; + + rx.wait_not_empty().await; + let env = rx.try_read().unwrap(); + handle_frame(env, "Wait"); + i += 1; + } + + // This example shows using the full async non-buffered API + while i < 6 { + let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), &[i, 0, 1, 2, 3, 4, 5, 6]).unwrap(); + tx.write(&tx_frame).await; + + match rx.read().await { + Ok(env) => { + handle_frame(env, "NoBuf"); + } + Err(err) => { + defmt::println!("Error {}", err); + } + } + i += 1; + } + + // This example shows using buffered RX and TX. User passes in desired buffer (size) + // It's possible this way to have just RX or TX buffered. + let mut rx = rx.buffered(RX_BUF.init(embassy_stm32::can::RxBuf::<10>::new())); + let mut tx = tx.buffered(TX_BUF.init(embassy_stm32::can::TxBuf::<10>::new())); + loop { let tx_frame = Frame::new_data(unwrap!(StandardId::new(i as _)), &[i, 0, 1, 2, 3, 4, 5, 6]).unwrap(); - can.write(&tx_frame).await; - - match can.read().await { - Ok(env) => match env.frame.id() { - Id::Extended(id) => { - defmt::println!("Extended Frame id={:x} {:02x}", id.as_raw(), env.frame.data()); - } - Id::Standard(id) => { - defmt::println!("Standard Frame id={:x} {:02x}", id.as_raw(), env.frame.data()); - } - }, + tx.write(&tx_frame).await; + + match rx.read().await { + Ok(envelope) => { + handle_frame(envelope, "Buf"); + } Err(err) => { defmt::println!("Error {}", err); } diff --git a/examples/stm32g4/src/bin/can.rs b/examples/stm32g4/src/bin/can.rs index 4373a89a8..2ed632a93 100644 --- a/examples/stm32g4/src/bin/can.rs +++ b/examples/stm32g4/src/bin/can.rs @@ -36,7 +36,7 @@ async fn main(_spawner: Spawner) { } let peripherals = embassy_stm32::init(config); - let mut can = can::FdcanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); + let mut can = can::CanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); can.set_extended_filter( can::filter::ExtendedFilterSlot::_0, @@ -56,21 +56,22 @@ async fn main(_spawner: Spawner) { info!("Configured"); let mut can = can.start(match use_fd { - true => can::FdcanOperatingMode::InternalLoopbackMode, - false => can::FdcanOperatingMode::NormalOperationMode, + true => can::OperatingMode::InternalLoopbackMode, + false => can::OperatingMode::NormalOperationMode, }); let mut i = 0; let mut last_read_ts = embassy_time::Instant::now(); loop { - let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); _ = can.write(&frame).await; match can.read().await { - Ok((rx_frame, ts)) => { + Ok(envelope) => { + let (ts, rx_frame) = (envelope.ts, envelope.frame); let delta = (ts - last_read_ts).as_millis(); last_read_ts = ts; info!( @@ -105,7 +106,8 @@ async fn main(_spawner: Spawner) { } match can.read_fd().await { - Ok((rx_frame, ts)) => { + Ok(envelope) => { + let (ts, rx_frame) = (envelope.ts, envelope.frame); let delta = (ts - last_read_ts).as_millis(); last_read_ts = ts; info!( @@ -129,12 +131,13 @@ async fn main(_spawner: Spawner) { let (mut tx, mut rx) = can.split(); // With split loop { - let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); _ = tx.write(&frame).await; match rx.read().await { - Ok((rx_frame, ts)) => { + Ok(envelope) => { + let (ts, rx_frame) = (envelope.ts, envelope.frame); let delta = (ts - last_read_ts).as_millis(); last_read_ts = ts; info!( @@ -156,7 +159,7 @@ async fn main(_spawner: Spawner) { } } - let can = can::Fdcan::join(tx, rx); + let can = can::Can::join(tx, rx); info!("\n\n\nBuffered\n"); if use_fd { @@ -173,7 +176,8 @@ async fn main(_spawner: Spawner) { _ = can.write(frame).await; match can.read().await { - Ok((rx_frame, ts)) => { + Ok(envelope) => { + let (ts, rx_frame) = (envelope.ts, envelope.frame); let delta = (ts - last_read_ts).as_millis(); last_read_ts = ts; info!( @@ -198,7 +202,7 @@ async fn main(_spawner: Spawner) { RX_BUF.init(can::RxBuf::<10>::new()), ); loop { - let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); // You can use any of these approaches to send. The writer makes it @@ -208,7 +212,8 @@ async fn main(_spawner: Spawner) { can.writer().write(frame).await; match can.read().await { - Ok((rx_frame, ts)) => { + Ok(envelope) => { + let (ts, rx_frame) = (envelope.ts, envelope.frame); let delta = (ts - last_read_ts).as_millis(); last_read_ts = ts; info!( diff --git a/examples/stm32h5/src/bin/can.rs b/examples/stm32h5/src/bin/can.rs index 643df27f9..dd625c90a 100644 --- a/examples/stm32h5/src/bin/can.rs +++ b/examples/stm32h5/src/bin/can.rs @@ -24,7 +24,7 @@ async fn main(_spawner: Spawner) { let peripherals = embassy_stm32::init(config); - let mut can = can::FdcanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); + let mut can = can::CanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); // 250k bps can.set_bitrate(250_000); @@ -38,12 +38,13 @@ async fn main(_spawner: Spawner) { let mut last_read_ts = embassy_time::Instant::now(); loop { - let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); _ = can.write(&frame).await; match can.read().await { - Ok((rx_frame, ts)) => { + Ok(envelope) => { + let (rx_frame, ts) = envelope.parts(); let delta = (ts - last_read_ts).as_millis(); last_read_ts = ts; info!( @@ -69,12 +70,13 @@ async fn main(_spawner: Spawner) { let (mut tx, mut rx) = can.split(); // With split loop { - let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); _ = tx.write(&frame).await; match rx.read().await { - Ok((rx_frame, ts)) => { + Ok(envelope) => { + let (rx_frame, ts) = envelope.parts(); let delta = (ts - last_read_ts).as_millis(); last_read_ts = ts; info!( diff --git a/examples/stm32h7/src/bin/can.rs b/examples/stm32h7/src/bin/can.rs index 13a6a5051..22cb27481 100644 --- a/examples/stm32h7/src/bin/can.rs +++ b/examples/stm32h7/src/bin/can.rs @@ -24,7 +24,7 @@ async fn main(_spawner: Spawner) { let peripherals = embassy_stm32::init(config); - let mut can = can::FdcanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); + let mut can = can::CanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); // 250k bps can.set_bitrate(250_000); @@ -38,12 +38,13 @@ async fn main(_spawner: Spawner) { let mut last_read_ts = embassy_time::Instant::now(); loop { - let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); _ = can.write(&frame).await; match can.read().await { - Ok((rx_frame, ts)) => { + Ok(envelope) => { + let (rx_frame, ts) = envelope.parts(); let delta = (ts - last_read_ts).as_millis(); last_read_ts = ts; info!( @@ -69,12 +70,13 @@ async fn main(_spawner: Spawner) { let (mut tx, mut rx) = can.split(); // With split loop { - let frame = can::frame::ClassicFrame::new_extended(0x123456F, &[i; 8]).unwrap(); + let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); info!("Writing frame"); _ = tx.write(&frame).await; match rx.read().await { - Ok((rx_frame, ts)) => { + Ok(envelope) => { + let (rx_frame, ts) = envelope.parts(); let delta = (ts - last_read_ts).as_millis(); last_read_ts = ts; info!( -- cgit From c8936edb6c13eb099dfb31a4a51be2dd3bb4661e Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Tue, 2 Apr 2024 01:29:52 +0200 Subject: stm32/can: simplify bxcan api, merging bx::* into the main structs. The bx::* separate structs (Can, Rx, Tx) and separate `Instance` trait are a relic from the `bxcan` crate. Remove them, move the functionality into the main structs. --- examples/stm32f1/src/bin/can.rs | 13 +++++-------- examples/stm32f4/src/bin/can.rs | 11 +++-------- examples/stm32f7/src/bin/can.rs | 12 +++++------- 3 files changed, 13 insertions(+), 23 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/can.rs b/examples/stm32f1/src/bin/can.rs index 90cb9e46b..1c13d623d 100644 --- a/examples/stm32f1/src/bin/can.rs +++ b/examples/stm32f1/src/bin/can.rs @@ -3,8 +3,9 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_stm32::can::frame::Envelope; use embassy_stm32::can::{ - filter, Can, Envelope, Fifo, Frame, Id, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, StandardId, + filter, Can, Fifo, Frame, Id, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, StandardId, TxInterruptHandler, }; use embassy_stm32::peripherals::CAN; @@ -55,17 +56,13 @@ async fn main(_spawner: Spawner) { let mut can = Can::new(p.CAN, p.PB8, p.PB9, Irqs); - can.as_mut() - .modify_filters() + can.modify_filters() .enable_bank(0, Fifo::Fifo0, filter::Mask32::accept_all()); - can.as_mut() - .modify_config() + can.modify_config() .set_loopback(false) .set_silent(false) - .leave_disabled(); - - can.set_bitrate(250_000); + .set_bitrate(250_000); can.enable().await; let mut i: u8 = 0; diff --git a/examples/stm32f4/src/bin/can.rs b/examples/stm32f4/src/bin/can.rs index 71b9453eb..cedc057a7 100644 --- a/examples/stm32f4/src/bin/can.rs +++ b/examples/stm32f4/src/bin/can.rs @@ -35,17 +35,12 @@ async fn main(_spawner: Spawner) { let mut can = Can::new(p.CAN1, p.PA11, p.PA12, Irqs); - can.as_mut() - .modify_filters() - .enable_bank(0, Fifo::Fifo0, Mask32::accept_all()); + can.modify_filters().enable_bank(0, Fifo::Fifo0, Mask32::accept_all()); - can.as_mut() - .modify_config() + can.modify_config() .set_loopback(true) // Receive own frames .set_silent(true) - .leave_disabled(); - - can.set_bitrate(1_000_000); + .set_bitrate(1_000_000); can.enable().await; diff --git a/examples/stm32f7/src/bin/can.rs b/examples/stm32f7/src/bin/can.rs index 221ac2a05..e32b4d3df 100644 --- a/examples/stm32f7/src/bin/can.rs +++ b/examples/stm32f7/src/bin/can.rs @@ -47,20 +47,18 @@ async fn main(spawner: Spawner) { static CAN: StaticCell> = StaticCell::new(); let can = CAN.init(Can::new(p.CAN3, p.PA8, p.PA15, Irqs)); - can.as_mut() - .modify_filters() - .enable_bank(0, Fifo::Fifo0, Mask32::accept_all()); + can.modify_filters().enable_bank(0, Fifo::Fifo0, Mask32::accept_all()); - can.as_mut() - .modify_config() + can.modify_config() .set_bit_timing(can::util::NominalBitTiming { prescaler: NonZeroU16::new(2).unwrap(), seg1: NonZeroU8::new(13).unwrap(), seg2: NonZeroU8::new(2).unwrap(), sync_jump_width: NonZeroU8::new(1).unwrap(), }) // http://www.bittiming.can-wiki.info/ - .set_loopback(true) - .enable(); + .set_loopback(true); + + can.enable().await; let (tx, mut rx) = can.split(); -- cgit From aa9eb2ab01cb21e06bb12efb425088827f6127d9 Mon Sep 17 00:00:00 2001 From: Alexandru RADOVICI Date: Tue, 2 Apr 2024 17:20:35 +0300 Subject: rename PWM_CH to PWM_SLICE --- examples/rp/src/bin/pio_hd44780.rs | 2 +- examples/rp/src/bin/pwm.rs | 2 +- examples/rp/src/bin/pwm_input.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/pio_hd44780.rs b/examples/rp/src/bin/pio_hd44780.rs index 3fab7b5f2..6c02630e0 100644 --- a/examples/rp/src/bin/pio_hd44780.rs +++ b/examples/rp/src/bin/pio_hd44780.rs @@ -35,7 +35,7 @@ async fn main(_spawner: Spawner) { // allowing direct connection of the display to the RP2040 without level shifters. let p = embassy_rp::init(Default::default()); - let _pwm = Pwm::new_output_b(p.PWM_CH7, p.PIN_15, { + let _pwm = Pwm::new_output_b(p.PWM_SLICE7, p.PIN_15, { let mut c = pwm::Config::default(); c.divider = 125.into(); c.top = 100; diff --git a/examples/rp/src/bin/pwm.rs b/examples/rp/src/bin/pwm.rs index 4fb62546d..26e233260 100644 --- a/examples/rp/src/bin/pwm.rs +++ b/examples/rp/src/bin/pwm.rs @@ -18,7 +18,7 @@ async fn main(_spawner: Spawner) { let mut c: Config = Default::default(); c.top = 0x8000; c.compare_b = 8; - let mut pwm = Pwm::new_output_b(p.PWM_CH4, p.PIN_25, c.clone()); + let mut pwm = Pwm::new_output_b(p.PWM_SLICE4, p.PIN_25, c.clone()); loop { info!("current LED duty cycle: {}/32768", c.compare_b); diff --git a/examples/rp/src/bin/pwm_input.rs b/examples/rp/src/bin/pwm_input.rs index e7bcbfbd4..0652dc42b 100644 --- a/examples/rp/src/bin/pwm_input.rs +++ b/examples/rp/src/bin/pwm_input.rs @@ -14,7 +14,7 @@ async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); let cfg: Config = Default::default(); - let pwm = Pwm::new_input(p.PWM_CH2, p.PIN_5, InputMode::RisingEdge, cfg); + let pwm = Pwm::new_input(p.PWM_SLICE2, p.PIN_5, InputMode::RisingEdge, cfg); let mut ticker = Ticker::every(Duration::from_secs(1)); loop { -- cgit From 8fbd21d2161caaf3d52ad60db1bb2fd0ea91e6f9 Mon Sep 17 00:00:00 2001 From: Dominic Date: Wed, 27 Mar 2024 16:30:32 +0100 Subject: Add multiprio example for stm32h7 inspired by stm32f4 --- examples/stm32h7/Cargo.toml | 4 +- examples/stm32h7/src/bin/multiprio.rs | 145 ++++++++++++++++++++++++++++++++++ 2 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 examples/stm32h7/src/bin/multiprio.rs (limited to 'examples') diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index d9ea2626d..84a89b378 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -6,9 +6,9 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32h743bi to your chip name, if necessary. -embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "time-driver-any", "exti", "memory-x", "unstable-pac", "chrono"] } +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32h7/src/bin/multiprio.rs b/examples/stm32h7/src/bin/multiprio.rs new file mode 100644 index 000000000..73f8dd092 --- /dev/null +++ b/examples/stm32h7/src/bin/multiprio.rs @@ -0,0 +1,145 @@ +//! This example showcases how to create multiple Executor instances to run tasks at +//! different priority levels. +//! +//! Low priority executor runs in thread mode (not interrupt), and uses `sev` for signaling +//! there's work in the queue, and `wfe` for waiting for work. +//! +//! Medium and high priority executors run in two interrupts with different priorities. +//! Signaling work is done by pending the interrupt. No "waiting" needs to be done explicitly, since +//! when there's work the interrupt will trigger and run the executor. +//! +//! Sample output below. Note that high priority ticks can interrupt everything else, and +//! medium priority computations can interrupt low priority computations, making them to appear +//! to take significantly longer time. +//! +//! ```not_rust +//! [med] Starting long computation +//! [med] done in 992 ms +//! [high] tick! +//! [low] Starting long computation +//! [med] Starting long computation +//! [high] tick! +//! [high] tick! +//! [med] done in 993 ms +//! [med] Starting long computation +//! [high] tick! +//! [high] tick! +//! [med] done in 993 ms +//! [low] done in 3972 ms +//! [med] Starting long computation +//! [high] tick! +//! [high] tick! +//! [med] done in 993 ms +//! ``` +//! +//! For comparison, try changing the code so all 3 tasks get spawned on the low priority executor. +//! You will get an output like the following. Note that no computation is ever interrupted. +//! +//! ```not_rust +//! [high] tick! +//! [med] Starting long computation +//! [med] done in 496 ms +//! [low] Starting long computation +//! [low] done in 992 ms +//! [med] Starting long computation +//! [med] done in 496 ms +//! [high] tick! +//! [low] Starting long computation +//! [low] done in 992 ms +//! [high] tick! +//! [med] Starting long computation +//! [med] done in 496 ms +//! [high] tick! +//! ``` +//! + +#![no_std] +#![no_main] + +use cortex_m_rt::entry; +use defmt::*; +use embassy_executor::{Executor, InterruptExecutor}; +use embassy_stm32::interrupt; +use embassy_stm32::interrupt::{InterruptExt, Priority}; +use embassy_time::{Instant, Timer}; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::task] +async fn run_high() { + loop { + info!(" [high] tick!"); + Timer::after_ticks(27374).await; + } +} + +#[embassy_executor::task] +async fn run_med() { + loop { + let start = Instant::now(); + info!(" [med] Starting long computation"); + + // Spin-wait to simulate a long CPU computation + cortex_m::asm::delay(128_000_000); // ~1 second + + let end = Instant::now(); + let ms = end.duration_since(start).as_ticks() / 33; + info!(" [med] done in {} ms", ms); + + Timer::after_ticks(23421).await; + } +} + +#[embassy_executor::task] +async fn run_low() { + loop { + let start = Instant::now(); + info!("[low] Starting long computation"); + + // Spin-wait to simulate a long CPU computation + cortex_m::asm::delay(256_000_000); // ~2 seconds + + let end = Instant::now(); + let ms = end.duration_since(start).as_ticks() / 33; + info!("[low] done in {} ms", ms); + + Timer::after_ticks(32983).await; + } +} + +static EXECUTOR_HIGH: InterruptExecutor = InterruptExecutor::new(); +static EXECUTOR_MED: InterruptExecutor = InterruptExecutor::new(); +static EXECUTOR_LOW: StaticCell = StaticCell::new(); + +#[interrupt] +unsafe fn UART4() { + EXECUTOR_HIGH.on_interrupt() +} + +#[interrupt] +unsafe fn UART5() { + EXECUTOR_MED.on_interrupt() +} + +#[entry] +fn main() -> ! { + info!("Hello World!"); + + let _p = embassy_stm32::init(Default::default()); + + // High-priority executor: UART4, priority level 6 + interrupt::UART4.set_priority(Priority::P6); + let spawner = EXECUTOR_HIGH.start(interrupt::UART4); + unwrap!(spawner.spawn(run_high())); + + // Medium-priority executor: UART5, priority level 7 + interrupt::UART5.set_priority(Priority::P7); + let spawner = EXECUTOR_MED.start(interrupt::UART5); + unwrap!(spawner.spawn(run_med())); + + // Low priority executor: runs in thread mode, using WFE/SEV + let executor = EXECUTOR_LOW.init(Executor::new()); + executor.run(|spawner| { + unwrap!(spawner.spawn(run_low())); + }); +} -- cgit From 0427c442ea531673e18da304c7402927589b8d0b Mon Sep 17 00:00:00 2001 From: Gustav Toft Date: Thu, 4 Apr 2024 15:51:25 +0200 Subject: Implement raw sockets in embassy-net --- examples/rp/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 585349506..0f58f143c 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -12,7 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } -embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "dhcpv4", "medium-ethernet"] } +embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet"] } embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-usb-logger = { version = "0.1.0", path = "../../embassy-usb-logger" } -- cgit From a84b33995eacc32e0e13d70293fa9bd7b2bd75f8 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 5 Apr 2024 00:35:25 +0200 Subject: rp: remove mod sealed. --- examples/rp/src/bin/pio_stepper.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/src/bin/pio_stepper.rs b/examples/rp/src/bin/pio_stepper.rs index ab9ecf623..4952f4fbd 100644 --- a/examples/rp/src/bin/pio_stepper.rs +++ b/examples/rp/src/bin/pio_stepper.rs @@ -69,7 +69,7 @@ impl<'d, T: Instance, const SM: usize> PioStepper<'d, T, SM> { let clock_divider: FixedU32 = (125_000_000 / (freq * 136)).to_fixed(); assert!(clock_divider <= 65536, "clkdiv must be <= 65536"); assert!(clock_divider >= 1, "clkdiv must be >= 1"); - T::PIO.sm(SM).clkdiv().write(|w| w.0 = clock_divider.to_bits() << 8); + self.sm.set_clock_divider(clock_divider); self.sm.clkdiv_restart(); } -- cgit From 143b288333a96c3caf6a0f372edca13ebea10af1 Mon Sep 17 00:00:00 2001 From: pawel00100 Date: Wed, 24 Jan 2024 23:24:26 +0100 Subject: Add parameter for enabling pull-up and pull-down in RP PWM input mode --- examples/rp/src/bin/pwm_input.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/src/bin/pwm_input.rs b/examples/rp/src/bin/pwm_input.rs index 0652dc42b..bf454a936 100644 --- a/examples/rp/src/bin/pwm_input.rs +++ b/examples/rp/src/bin/pwm_input.rs @@ -5,6 +5,7 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::gpio::Pull; use embassy_rp::pwm::{Config, InputMode, Pwm}; use embassy_time::{Duration, Ticker}; use {defmt_rtt as _, panic_probe as _}; @@ -14,7 +15,7 @@ async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); let cfg: Config = Default::default(); - let pwm = Pwm::new_input(p.PWM_SLICE2, p.PIN_5, InputMode::RisingEdge, cfg); + let pwm = Pwm::new_input(p.PWM_SLICE2, p.PIN_5, Pull::None, InputMode::RisingEdge, cfg); let mut ticker = Ticker::every(Duration::from_secs(1)); loop { -- cgit From 99ea564f1c5cc3dcce908cb853f528a52cca8ae8 Mon Sep 17 00:00:00 2001 From: Barnaby Walters Date: Fri, 5 Apr 2024 22:11:01 +0200 Subject: Add VBUS detection blackpill comment --- examples/stm32f4/src/bin/usb_hid_keyboard.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index a799b4e72..d6e0be5ea 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -49,6 +49,7 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); + // If the board you’re using doesn’t have the VBUS pin wired up correctly for detecting the USB bus voltage (e.g. on the f4 blackpill board), set this to false config.vbus_detection = true; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); -- cgit From cf0097162cb33d77d90ce5cb50f8fb5c24972748 Mon Sep 17 00:00:00 2001 From: Barnaby Walters Date: Sun, 7 Apr 2024 15:19:56 +0200 Subject: [embassy-stm32] added comments explaining multiprio interrupts --- examples/stm32f0/src/bin/multiprio.rs | 4 ++++ examples/stm32f3/src/bin/multiprio.rs | 4 ++++ examples/stm32f4/src/bin/multiprio.rs | 4 ++++ examples/stm32h7/src/bin/multiprio.rs | 4 ++++ 4 files changed, 16 insertions(+) (limited to 'examples') diff --git a/examples/stm32f0/src/bin/multiprio.rs b/examples/stm32f0/src/bin/multiprio.rs index e49951726..e36c0d6c2 100644 --- a/examples/stm32f0/src/bin/multiprio.rs +++ b/examples/stm32f0/src/bin/multiprio.rs @@ -126,6 +126,10 @@ fn main() -> ! { // Initialize and create handle for devicer peripherals let _p = embassy_stm32::init(Default::default()); + // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used + // by the rest of your application. In this case we’re using UART1 and UART2, but there’s nothing special + // about them. Any otherwise unused interrupt vector would work exactly the same. + // High-priority executor: USART1, priority level 6 interrupt::USART1.set_priority(Priority::P6); let spawner = EXECUTOR_HIGH.start(interrupt::USART1); diff --git a/examples/stm32f3/src/bin/multiprio.rs b/examples/stm32f3/src/bin/multiprio.rs index 328447210..3a3059db1 100644 --- a/examples/stm32f3/src/bin/multiprio.rs +++ b/examples/stm32f3/src/bin/multiprio.rs @@ -127,6 +127,10 @@ fn main() -> ! { let _p = embassy_stm32::init(Default::default()); + // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used + // by the rest of your application. In this case we’re using UART4 and UART5, but there’s nothing special + // about them. Any otherwise unused interrupt vector would work exactly the same. + // High-priority executor: UART4, priority level 6 interrupt::UART4.set_priority(Priority::P6); let spawner = EXECUTOR_HIGH.start(interrupt::UART4); diff --git a/examples/stm32f4/src/bin/multiprio.rs b/examples/stm32f4/src/bin/multiprio.rs index 328447210..5a55cd291 100644 --- a/examples/stm32f4/src/bin/multiprio.rs +++ b/examples/stm32f4/src/bin/multiprio.rs @@ -127,6 +127,10 @@ fn main() -> ! { let _p = embassy_stm32::init(Default::default()); + // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used + // by the rest of your application. In this case we’re using UART6 and UART7, but there’s nothing special + // about them. Any otherwise unused interrupt vector would work exactly the same. + // High-priority executor: UART4, priority level 6 interrupt::UART4.set_priority(Priority::P6); let spawner = EXECUTOR_HIGH.start(interrupt::UART4); diff --git a/examples/stm32h7/src/bin/multiprio.rs b/examples/stm32h7/src/bin/multiprio.rs index 73f8dd092..f9a00f806 100644 --- a/examples/stm32h7/src/bin/multiprio.rs +++ b/examples/stm32h7/src/bin/multiprio.rs @@ -127,6 +127,10 @@ fn main() -> ! { let _p = embassy_stm32::init(Default::default()); + // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used + // by the rest of your application. In this case we’re using UART6 and UART7, but there’s nothing special + // about them. Any otherwise unused interrupt vector would work exactly the same. + // High-priority executor: UART4, priority level 6 interrupt::UART4.set_priority(Priority::P6); let spawner = EXECUTOR_HIGH.start(interrupt::UART4); -- cgit From 56d34eefaa2862ebaf883e5388f909f7989aba1f Mon Sep 17 00:00:00 2001 From: Barnaby Walters Date: Sun, 7 Apr 2024 15:33:51 +0200 Subject: Apply suggestions from code review Co-authored-by: becothas <41289937+becothas@users.noreply.github.com> --- examples/stm32f4/src/bin/multiprio.rs | 2 +- examples/stm32h7/src/bin/multiprio.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/multiprio.rs b/examples/stm32f4/src/bin/multiprio.rs index 5a55cd291..3a3059db1 100644 --- a/examples/stm32f4/src/bin/multiprio.rs +++ b/examples/stm32f4/src/bin/multiprio.rs @@ -128,7 +128,7 @@ fn main() -> ! { let _p = embassy_stm32::init(Default::default()); // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used - // by the rest of your application. In this case we’re using UART6 and UART7, but there’s nothing special + // by the rest of your application. In this case we’re using UART4 and UART5, but there’s nothing special // about them. Any otherwise unused interrupt vector would work exactly the same. // High-priority executor: UART4, priority level 6 diff --git a/examples/stm32h7/src/bin/multiprio.rs b/examples/stm32h7/src/bin/multiprio.rs index f9a00f806..ded9d390e 100644 --- a/examples/stm32h7/src/bin/multiprio.rs +++ b/examples/stm32h7/src/bin/multiprio.rs @@ -128,7 +128,7 @@ fn main() -> ! { let _p = embassy_stm32::init(Default::default()); // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used - // by the rest of your application. In this case we’re using UART6 and UART7, but there’s nothing special + // by the rest of your application. In this case we’re using UART4 and UART5, but there’s nothing special // about them. Any otherwise unused interrupt vector would work exactly the same. // High-priority executor: UART4, priority level 6 -- cgit From effc08dde34c39da3f6bb4363d517de4f5c1ddd4 Mon Sep 17 00:00:00 2001 From: Barnaby Walters Date: Sun, 7 Apr 2024 16:22:42 +0200 Subject: Incorporated adam’s suggestion into all multiprio comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/stm32f0/src/bin/multiprio.rs | 7 ++++--- examples/stm32f3/src/bin/multiprio.rs | 7 ++++--- examples/stm32f4/src/bin/multiprio.rs | 7 ++++--- examples/stm32h7/src/bin/multiprio.rs | 7 ++++--- 4 files changed, 16 insertions(+), 12 deletions(-) (limited to 'examples') diff --git a/examples/stm32f0/src/bin/multiprio.rs b/examples/stm32f0/src/bin/multiprio.rs index e36c0d6c2..1c3f3991a 100644 --- a/examples/stm32f0/src/bin/multiprio.rs +++ b/examples/stm32f0/src/bin/multiprio.rs @@ -126,9 +126,10 @@ fn main() -> ! { // Initialize and create handle for devicer peripherals let _p = embassy_stm32::init(Default::default()); - // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used - // by the rest of your application. In this case we’re using UART1 and UART2, but there’s nothing special - // about them. Any otherwise unused interrupt vector would work exactly the same. + // STM32s don’t have any interrupts exclusively for software use, but they can all be triggered by software as well as + // by the peripheral, so we can just use any free interrupt vectors which aren’t used by the rest of your application. + // In this case we’re using UART1 and UART2, but there’s nothing special about them. Any otherwise unused interrupt + // vector would work exactly the same. // High-priority executor: USART1, priority level 6 interrupt::USART1.set_priority(Priority::P6); diff --git a/examples/stm32f3/src/bin/multiprio.rs b/examples/stm32f3/src/bin/multiprio.rs index 3a3059db1..87830b416 100644 --- a/examples/stm32f3/src/bin/multiprio.rs +++ b/examples/stm32f3/src/bin/multiprio.rs @@ -127,9 +127,10 @@ fn main() -> ! { let _p = embassy_stm32::init(Default::default()); - // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used - // by the rest of your application. In this case we’re using UART4 and UART5, but there’s nothing special - // about them. Any otherwise unused interrupt vector would work exactly the same. + // STM32s don’t have any interrupts exclusively for software use, but they can all be triggered by software as well as + // by the peripheral, so we can just use any free interrupt vectors which aren’t used by the rest of your application. + // In this case we’re using UART4 and UART5, but there’s nothing special about them. Any otherwise unused interrupt + // vector would work exactly the same. // High-priority executor: UART4, priority level 6 interrupt::UART4.set_priority(Priority::P6); diff --git a/examples/stm32f4/src/bin/multiprio.rs b/examples/stm32f4/src/bin/multiprio.rs index 3a3059db1..87830b416 100644 --- a/examples/stm32f4/src/bin/multiprio.rs +++ b/examples/stm32f4/src/bin/multiprio.rs @@ -127,9 +127,10 @@ fn main() -> ! { let _p = embassy_stm32::init(Default::default()); - // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used - // by the rest of your application. In this case we’re using UART4 and UART5, but there’s nothing special - // about them. Any otherwise unused interrupt vector would work exactly the same. + // STM32s don’t have any interrupts exclusively for software use, but they can all be triggered by software as well as + // by the peripheral, so we can just use any free interrupt vectors which aren’t used by the rest of your application. + // In this case we’re using UART4 and UART5, but there’s nothing special about them. Any otherwise unused interrupt + // vector would work exactly the same. // High-priority executor: UART4, priority level 6 interrupt::UART4.set_priority(Priority::P6); diff --git a/examples/stm32h7/src/bin/multiprio.rs b/examples/stm32h7/src/bin/multiprio.rs index ded9d390e..fcbb6c653 100644 --- a/examples/stm32h7/src/bin/multiprio.rs +++ b/examples/stm32h7/src/bin/multiprio.rs @@ -127,9 +127,10 @@ fn main() -> ! { let _p = embassy_stm32::init(Default::default()); - // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used - // by the rest of your application. In this case we’re using UART4 and UART5, but there’s nothing special - // about them. Any otherwise unused interrupt vector would work exactly the same. + // STM32s don’t have any interrupts exclusively for software use, but they can all be triggered by software as well as + // by the peripheral, so we can just use any free interrupt vectors which aren’t used by the rest of your application. + // In this case we’re using UART4 and UART5, but there’s nothing special about them. Any otherwise unused interrupt + // vector would work exactly the same. // High-priority executor: UART4, priority level 6 interrupt::UART4.set_priority(Priority::P6); -- cgit From fd901fc7e052cdf1b48327140d78712b1e076220 Mon Sep 17 00:00:00 2001 From: Andres Vahter Date: Wed, 10 Apr 2024 10:49:42 +0300 Subject: stm32: update adc examples --- examples/stm32f0/src/bin/adc.rs | 6 +++--- examples/stm32f1/src/bin/adc.rs | 6 +++--- examples/stm32f334/src/bin/adc.rs | 6 +++--- examples/stm32f334/src/bin/opamp.rs | 6 +++--- examples/stm32f4/src/bin/adc.rs | 2 +- examples/stm32f7/src/bin/adc.rs | 4 ++-- examples/stm32g4/src/bin/adc.rs | 4 ++-- examples/stm32h7/src/bin/adc.rs | 4 ++-- examples/stm32l0/src/bin/adc.rs | 6 +++--- examples/stm32l4/src/bin/adc.rs | 3 +-- 10 files changed, 23 insertions(+), 24 deletions(-) (limited to 'examples') diff --git a/examples/stm32f0/src/bin/adc.rs b/examples/stm32f0/src/bin/adc.rs index c2fb143cd..a5a4186ea 100644 --- a/examples/stm32f0/src/bin/adc.rs +++ b/examples/stm32f0/src/bin/adc.rs @@ -6,7 +6,7 @@ use embassy_executor::Spawner; use embassy_stm32::adc::{Adc, SampleTime}; use embassy_stm32::peripherals::ADC; use embassy_stm32::{adc, bind_interrupts}; -use embassy_time::{Delay, Timer}; +use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { @@ -18,11 +18,11 @@ async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); info!("Hello World!"); - let mut adc = Adc::new(p.ADC, Irqs, &mut Delay); + let mut adc = Adc::new(p.ADC, Irqs); adc.set_sample_time(SampleTime::CYCLES71_5); let mut pin = p.PA1; - let mut vrefint = adc.enable_vref(&mut Delay); + let mut vrefint = adc.enable_vref(); let vrefint_sample = adc.read(&mut vrefint).await; let convert_to_millivolts = |sample| { // From https://www.st.com/resource/en/datasheet/stm32f031c6.pdf diff --git a/examples/stm32f1/src/bin/adc.rs b/examples/stm32f1/src/bin/adc.rs index 1440460a9..541ff159e 100644 --- a/examples/stm32f1/src/bin/adc.rs +++ b/examples/stm32f1/src/bin/adc.rs @@ -6,7 +6,7 @@ use embassy_executor::Spawner; use embassy_stm32::adc::Adc; use embassy_stm32::peripherals::ADC1; use embassy_stm32::{adc, bind_interrupts}; -use embassy_time::{Delay, Timer}; +use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { @@ -18,10 +18,10 @@ async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); info!("Hello World!"); - let mut adc = Adc::new(p.ADC1, &mut Delay); + let mut adc = Adc::new(p.ADC1); let mut pin = p.PB1; - let mut vrefint = adc.enable_vref(&mut Delay); + let mut vrefint = adc.enable_vref(); let vrefint_sample = adc.read(&mut vrefint).await; let convert_to_millivolts = |sample| { // From http://www.st.com/resource/en/datasheet/CD00161566.pdf diff --git a/examples/stm32f334/src/bin/adc.rs b/examples/stm32f334/src/bin/adc.rs index bd126ce68..0528a9637 100644 --- a/examples/stm32f334/src/bin/adc.rs +++ b/examples/stm32f334/src/bin/adc.rs @@ -7,7 +7,7 @@ use embassy_stm32::adc::{Adc, SampleTime}; use embassy_stm32::peripherals::ADC1; use embassy_stm32::time::mhz; use embassy_stm32::{adc, bind_interrupts, Config}; -use embassy_time::{Delay, Timer}; +use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { @@ -38,13 +38,13 @@ async fn main(_spawner: Spawner) -> ! { info!("create adc..."); - let mut adc = Adc::new(p.ADC1, Irqs, &mut Delay); + let mut adc = Adc::new(p.ADC1, Irqs); adc.set_sample_time(SampleTime::CYCLES601_5); info!("enable vrefint..."); - let mut vrefint = adc.enable_vref(&mut Delay); + let mut vrefint = adc.enable_vref(); let mut temperature = adc.enable_temperature(); loop { diff --git a/examples/stm32f334/src/bin/opamp.rs b/examples/stm32f334/src/bin/opamp.rs index a5c710aa2..2dbf1bdab 100644 --- a/examples/stm32f334/src/bin/opamp.rs +++ b/examples/stm32f334/src/bin/opamp.rs @@ -8,7 +8,7 @@ use embassy_stm32::opamp::{OpAmp, OpAmpGain}; use embassy_stm32::peripherals::ADC2; use embassy_stm32::time::mhz; use embassy_stm32::{adc, bind_interrupts, Config}; -use embassy_time::{Delay, Timer}; +use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { @@ -39,14 +39,14 @@ async fn main(_spawner: Spawner) -> ! { info!("create adc..."); - let mut adc = Adc::new(p.ADC2, Irqs, &mut Delay); + let mut adc = Adc::new(p.ADC2, Irqs); let mut opamp = OpAmp::new(p.OPAMP2); adc.set_sample_time(SampleTime::CYCLES601_5); info!("enable vrefint..."); - let mut vrefint = adc.enable_vref(&mut Delay); + let mut vrefint = adc.enable_vref(); let mut temperature = adc.enable_temperature(); let mut buffer = opamp.buffer_ext(&mut p.PA7, &mut p.PA6, OpAmpGain::Mul1); diff --git a/examples/stm32f4/src/bin/adc.rs b/examples/stm32f4/src/bin/adc.rs index 699c29c05..9473b7b7f 100644 --- a/examples/stm32f4/src/bin/adc.rs +++ b/examples/stm32f4/src/bin/adc.rs @@ -14,7 +14,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let mut delay = Delay; - let mut adc = Adc::new(p.ADC1, &mut delay); + let mut adc = Adc::new(p.ADC1); let mut pin = p.PC1; let mut vrefint = adc.enable_vrefint(); diff --git a/examples/stm32f7/src/bin/adc.rs b/examples/stm32f7/src/bin/adc.rs index f8d7b691f..641157960 100644 --- a/examples/stm32f7/src/bin/adc.rs +++ b/examples/stm32f7/src/bin/adc.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::adc::Adc; -use embassy_time::{Delay, Timer}; +use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] @@ -12,7 +12,7 @@ async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); info!("Hello World!"); - let mut adc = Adc::new(p.ADC1, &mut Delay); + let mut adc = Adc::new(p.ADC1); let mut pin = p.PA3; let mut vrefint = adc.enable_vrefint(); diff --git a/examples/stm32g4/src/bin/adc.rs b/examples/stm32g4/src/bin/adc.rs index ae64bc8e4..68b54e406 100644 --- a/examples/stm32g4/src/bin/adc.rs +++ b/examples/stm32g4/src/bin/adc.rs @@ -5,7 +5,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::adc::{Adc, SampleTime}; use embassy_stm32::Config; -use embassy_time::{Delay, Timer}; +use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] @@ -28,7 +28,7 @@ async fn main(_spawner: Spawner) { let mut p = embassy_stm32::init(config); info!("Hello World!"); - let mut adc = Adc::new(p.ADC2, &mut Delay); + let mut adc = Adc::new(p.ADC2); adc.set_sample_time(SampleTime::CYCLES32_5); loop { diff --git a/examples/stm32h7/src/bin/adc.rs b/examples/stm32h7/src/bin/adc.rs index a5594d10c..0009103d1 100644 --- a/examples/stm32h7/src/bin/adc.rs +++ b/examples/stm32h7/src/bin/adc.rs @@ -5,7 +5,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::adc::{Adc, SampleTime}; use embassy_stm32::Config; -use embassy_time::{Delay, Timer}; +use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] @@ -44,7 +44,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); - let mut adc = Adc::new(p.ADC3, &mut Delay); + let mut adc = Adc::new(p.ADC3); adc.set_sample_time(SampleTime::CYCLES32_5); diff --git a/examples/stm32l0/src/bin/adc.rs b/examples/stm32l0/src/bin/adc.rs index 97d41ca4b..507c3204a 100644 --- a/examples/stm32l0/src/bin/adc.rs +++ b/examples/stm32l0/src/bin/adc.rs @@ -6,7 +6,7 @@ use embassy_executor::Spawner; use embassy_stm32::adc::{Adc, SampleTime}; use embassy_stm32::peripherals::ADC; use embassy_stm32::{adc, bind_interrupts}; -use embassy_time::{Delay, Timer}; +use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { @@ -18,11 +18,11 @@ async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); info!("Hello World!"); - let mut adc = Adc::new(p.ADC, Irqs, &mut Delay); + let mut adc = Adc::new(p.ADC, Irqs); adc.set_sample_time(SampleTime::CYCLES79_5); let mut pin = p.PA1; - let mut vrefint = adc.enable_vref(&mut Delay); + let mut vrefint = adc.enable_vref(); let vrefint_sample = adc.read(&mut vrefint).await; let convert_to_millivolts = |sample| { // From https://www.st.com/resource/en/datasheet/stm32l051c6.pdf diff --git a/examples/stm32l4/src/bin/adc.rs b/examples/stm32l4/src/bin/adc.rs index a9f4604aa..7a89334e0 100644 --- a/examples/stm32l4/src/bin/adc.rs +++ b/examples/stm32l4/src/bin/adc.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_stm32::adc::{Adc, Resolution}; use embassy_stm32::Config; -use embassy_time::Delay; use {defmt_rtt as _, panic_probe as _}; #[cortex_m_rt::entry] @@ -18,7 +17,7 @@ fn main() -> ! { } let p = embassy_stm32::init(config); - let mut adc = Adc::new(p.ADC1, &mut Delay); + let mut adc = Adc::new(p.ADC1); //adc.enable_vref(); adc.set_resolution(Resolution::BITS8); let mut channel = p.PC0; -- cgit From 9053b6b5b3a09e48ed5e2476a5f712c9796828d5 Mon Sep 17 00:00:00 2001 From: Vega Deftwing Date: Thu, 11 Apr 2024 19:45:38 +0000 Subject: Fix spelling and white space mistakes --- examples/boot/bootloader/stm32-dual-bank/README.md | 8 ++++---- examples/stm32f4/src/bin/ws2812_spi.rs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/boot/bootloader/stm32-dual-bank/README.md b/examples/boot/bootloader/stm32-dual-bank/README.md index 3de3171cd..cd6c0bc84 100644 --- a/examples/boot/bootloader/stm32-dual-bank/README.md +++ b/examples/boot/bootloader/stm32-dual-bank/README.md @@ -2,16 +2,16 @@ ## Overview -This bootloader leverages `embassy-boot` to interact with the flash. -This example targets STM32 devices with dual-bank flash memory, with a primary focus on the STM32H747XI series. +This bootloader leverages `embassy-boot` to interact with the flash. +This example targets STM32 devices with dual-bank flash memory, with a primary focus on the STM32H747XI series. Users must modify the `memory.x` configuration file to match with the memory layout of their specific STM32 device. Additionally, this example can be extended to utilize external flash memory, such as QSPI, for storing partitions. ## Memory Configuration -In this example's `memory.x` file, various symbols are defined to assist in effective memory management within the bootloader environment. -For dual-bank STM32 devices, it's crucial to assign these symbols correctly to their respective memory banks. +In this example's `memory.x` file, various symbols are defined to assist in effective memory management within the bootloader environment. +For dual-bank STM32 devices, it's crucial to assign these symbols correctly to their respective memory banks. ### Symbol Definitions diff --git a/examples/stm32f4/src/bin/ws2812_spi.rs b/examples/stm32f4/src/bin/ws2812_spi.rs index a280a3b77..56ccb67b8 100644 --- a/examples/stm32f4/src/bin/ws2812_spi.rs +++ b/examples/stm32f4/src/bin/ws2812_spi.rs @@ -8,7 +8,7 @@ // If you want to save SPI for other purpose, you may want to take a look at `ws2812_pwm_dma.rs` file, which make use of TIM and DMA. // // Warning: -// DO NOT stare at ws2812 directy (especially after each MCU Reset), its (max) brightness could easily make your eyes feel burn. +// DO NOT stare at ws2812 directly (especially after each MCU Reset), its (max) brightness could easily make your eyes feel burn. #![no_std] #![no_main] -- cgit From 52bd24499c0e164fd3525a02514af50e3fc35424 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sat, 13 Apr 2024 03:30:30 +0200 Subject: stm32/adc: update g4 for new pac. --- examples/stm32g4/src/bin/adc.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/adc.rs b/examples/stm32g4/src/bin/adc.rs index 68b54e406..3de38cbd6 100644 --- a/examples/stm32g4/src/bin/adc.rs +++ b/examples/stm32g4/src/bin/adc.rs @@ -29,7 +29,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let mut adc = Adc::new(p.ADC2); - adc.set_sample_time(SampleTime::CYCLES32_5); + adc.set_sample_time(SampleTime::CYCLES24_5); loop { let measured = adc.read(&mut p.PA7); -- cgit From ec6ff217ca0f895898ecc8e2cf84d503f71c988c Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sat, 13 Apr 2024 02:13:41 +0200 Subject: Add stm32u0 support. --- examples/stm32u0/.cargo/config.toml | 9 +++++++++ examples/stm32u0/Cargo.toml | 25 +++++++++++++++++++++++++ examples/stm32u0/build.rs | 5 +++++ examples/stm32u0/src/bin/blinky.rs | 26 ++++++++++++++++++++++++++ examples/stm32u0/src/bin/button.rs | 24 ++++++++++++++++++++++++ examples/stm32u0/src/bin/button_exti.rs | 25 +++++++++++++++++++++++++ 6 files changed, 114 insertions(+) create mode 100644 examples/stm32u0/.cargo/config.toml create mode 100644 examples/stm32u0/Cargo.toml create mode 100644 examples/stm32u0/build.rs create mode 100644 examples/stm32u0/src/bin/blinky.rs create mode 100644 examples/stm32u0/src/bin/button.rs create mode 100644 examples/stm32u0/src/bin/button_exti.rs (limited to 'examples') diff --git a/examples/stm32u0/.cargo/config.toml b/examples/stm32u0/.cargo/config.toml new file mode 100644 index 000000000..c8022ae39 --- /dev/null +++ b/examples/stm32u0/.cargo/config.toml @@ -0,0 +1,9 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +# replace STM32G071C8Rx with your chip as listed in `probe-rs chip list` +runner = "probe-rs run --speed 100 --chip STM32u083rctx" + +[build] +target = "thumbv6m-none-eabi" + +[env] +DEFMT_LOG = "trace" diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml new file mode 100644 index 000000000..af3d7ff61 --- /dev/null +++ b/examples/stm32u0/Cargo.toml @@ -0,0 +1,25 @@ +[package] +edition = "2021" +name = "embassy-stm32u0-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +# Change stm32c031c6 to your chip name, if necessary. +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32u083rc", "memory-x", "unstable-pac", "exti"] } +embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } + +defmt = "0.3" +defmt-rtt = "0.4" + +cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } +cortex-m-rt = "0.7.0" +embedded-hal = "0.2.6" +panic-probe = { version = "0.3", features = ["print-defmt"] } +futures = { version = "0.3.17", default-features = false, features = ["async-await"] } +heapless = { version = "0.8", default-features = false } + +[profile.release] +debug = 2 diff --git a/examples/stm32u0/build.rs b/examples/stm32u0/build.rs new file mode 100644 index 000000000..8cd32d7ed --- /dev/null +++ b/examples/stm32u0/build.rs @@ -0,0 +1,5 @@ +fn main() { + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/stm32u0/src/bin/blinky.rs b/examples/stm32u0/src/bin/blinky.rs new file mode 100644 index 000000000..90e479aae --- /dev/null +++ b/examples/stm32u0/src/bin/blinky.rs @@ -0,0 +1,26 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut led = Output::new(p.PA5, Level::High, Speed::Low); + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(300).await; + + info!("low"); + led.set_low(); + Timer::after_millis(300).await; + } +} diff --git a/examples/stm32u0/src/bin/button.rs b/examples/stm32u0/src/bin/button.rs new file mode 100644 index 000000000..8017f0274 --- /dev/null +++ b/examples/stm32u0/src/bin/button.rs @@ -0,0 +1,24 @@ +#![no_std] +#![no_main] + +use cortex_m_rt::entry; +use defmt::*; +use embassy_stm32::gpio::{Input, Pull}; +use {defmt_rtt as _, panic_probe as _}; + +#[entry] +fn main() -> ! { + info!("Hello World!"); + + let p = embassy_stm32::init(Default::default()); + + let button = Input::new(p.PC13, Pull::Up); + + loop { + if button.is_high() { + info!("high"); + } else { + info!("low"); + } + } +} diff --git a/examples/stm32u0/src/bin/button_exti.rs b/examples/stm32u0/src/bin/button_exti.rs new file mode 100644 index 000000000..34a08bbc6 --- /dev/null +++ b/examples/stm32u0/src/bin/button_exti.rs @@ -0,0 +1,25 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::exti::ExtiInput; +use embassy_stm32::gpio::Pull; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut button = ExtiInput::new(p.PC13, p.EXTI13, Pull::Up); + + info!("Press the USER button..."); + + loop { + button.wait_for_falling_edge().await; + info!("Pressed!"); + button.wait_for_rising_edge().await; + info!("Released!"); + } +} -- cgit From af03e1653a711e12566ee7cac2d018e94b1d267b Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Sat, 13 Apr 2024 14:07:01 +0200 Subject: Disable the speed limitation --- examples/stm32u0/.cargo/config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32u0/.cargo/config.toml b/examples/stm32u0/.cargo/config.toml index c8022ae39..28b8af96e 100644 --- a/examples/stm32u0/.cargo/config.toml +++ b/examples/stm32u0/.cargo/config.toml @@ -1,6 +1,6 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] # replace STM32G071C8Rx with your chip as listed in `probe-rs chip list` -runner = "probe-rs run --speed 100 --chip STM32u083rctx" +runner = "probe-rs run --chip STM32u083rctx" [build] target = "thumbv6m-none-eabi" -- cgit From 5f23e3905226551a001da9bf4051c6efb552f636 Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Sat, 13 Apr 2024 18:40:46 +0200 Subject: Add some examples. - usart works - dac works - rng gets stuck on while loop - usb_serial works, but cannot test due to lack of user usb port - adc needs work and does not work yet --- examples/stm32u0/Cargo.toml | 3 + examples/stm32u0/src/bin/adc.rs | 33 ++++++++++ examples/stm32u0/src/bin/dac.rs | 35 +++++++++++ examples/stm32u0/src/bin/rng.rs | 41 +++++++++++++ examples/stm32u0/src/bin/usart.rs | 31 ++++++++++ examples/stm32u0/src/bin/usb_serial.rs | 109 +++++++++++++++++++++++++++++++++ 6 files changed, 252 insertions(+) create mode 100644 examples/stm32u0/src/bin/adc.rs create mode 100644 examples/stm32u0/src/bin/dac.rs create mode 100644 examples/stm32u0/src/bin/rng.rs create mode 100644 examples/stm32u0/src/bin/usart.rs create mode 100644 examples/stm32u0/src/bin/usb_serial.rs (limited to 'examples') diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml index af3d7ff61..8219cb038 100644 --- a/examples/stm32u0/Cargo.toml +++ b/examples/stm32u0/Cargo.toml @@ -10,6 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-usb = { version = "0.1.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } defmt = "0.3" defmt-rtt = "0.4" @@ -21,5 +22,7 @@ panic-probe = { version = "0.3", features = ["print-defmt"] } futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } +micromath = "2.0.0" + [profile.release] debug = 2 diff --git a/examples/stm32u0/src/bin/adc.rs b/examples/stm32u0/src/bin/adc.rs new file mode 100644 index 000000000..f7145b85d --- /dev/null +++ b/examples/stm32u0/src/bin/adc.rs @@ -0,0 +1,33 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_stm32::adc::{Adc, Resolution}; +use embassy_stm32::Config; +use embassy_time::Duration; +use {defmt_rtt as _, panic_probe as _}; + +#[cortex_m_rt::entry] +fn main() -> ! { + info!("Hello World!"); + + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.mux.adcsel = mux::Adcsel::SYS; + } + let p = embassy_stm32::init(config); + + let mut adc = Adc::new(p.ADC1); + let mut temp = adc.enable_temperature(); + adc.set_resolution(Resolution::BITS8); + let mut channel = p.PC0; + + loop { + let v = adc.read(&mut channel); + info!("--> {}", v); + let v = adc.read(&mut temp); + info!("Temp: --> {}", v); + embassy_time::block_for(Duration::from_millis(1000)); + } +} diff --git a/examples/stm32u0/src/bin/dac.rs b/examples/stm32u0/src/bin/dac.rs new file mode 100644 index 000000000..fdbf1d374 --- /dev/null +++ b/examples/stm32u0/src/bin/dac.rs @@ -0,0 +1,35 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_stm32::dac::{DacCh1, Value}; +use embassy_stm32::dma::NoDma; +use {defmt_rtt as _, panic_probe as _}; + +#[cortex_m_rt::entry] +fn main() -> ! { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut dac = DacCh1::new(p.DAC1, NoDma, p.PA4); + + loop { + for v in 0..=255 { + dac.set(Value::Bit8(to_sine_wave(v))); + } + } +} + +use micromath::F32Ext; + +fn to_sine_wave(v: u8) -> u8 { + if v >= 128 { + // top half + let r = 3.14 * ((v - 128) as f32 / 128.0); + (r.sin() * 128.0 + 127.0) as u8 + } else { + // bottom half + let r = 3.14 + 3.14 * (v as f32 / 128.0); + (r.sin() * 128.0 + 127.0) as u8 + } +} diff --git a/examples/stm32u0/src/bin/rng.rs b/examples/stm32u0/src/bin/rng.rs new file mode 100644 index 000000000..9b4c2537e --- /dev/null +++ b/examples/stm32u0/src/bin/rng.rs @@ -0,0 +1,41 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::rng::Rng; +use embassy_stm32::{bind_interrupts, peripherals, rng, Config}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + RNG_CRYP => rng::InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hsi = true; + config.rcc.pll = Some(Pll { + source: PllSource::HSI, // 16 MHz + prediv: PllPreDiv::DIV1, + mul: PllMul::MUL7, // 16 * 7 = 112 MHz + divp: None, + divq: None, + divr: Some(PllRDiv::DIV2), // 112 / 2 = 56 MHz + }); + config.rcc.sys = Sysclk::PLL1_R; + } + + let p = embassy_stm32::init(config); + + info!("Hello World!"); + + let mut rng = Rng::new(p.RNG, Irqs); + info!("Hello World 2!"); + + let mut buf = [0u8; 16]; + unwrap!(rng.async_fill_bytes(&mut buf).await); + info!("random bytes: {:02x}", buf); +} diff --git a/examples/stm32u0/src/bin/usart.rs b/examples/stm32u0/src/bin/usart.rs new file mode 100644 index 000000000..1fcf0029a --- /dev/null +++ b/examples/stm32u0/src/bin/usart.rs @@ -0,0 +1,31 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_stm32::dma::NoDma; +use embassy_stm32::usart::{Config, Uart}; +use embassy_stm32::{bind_interrupts, peripherals, usart}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + USART2_LPUART2 => usart::InterruptHandler; +}); + +#[cortex_m_rt::entry] +fn main() -> ! { + info!("Hello World!"); + + let p = embassy_stm32::init(Default::default()); + + let config = Config::default(); + let mut usart = Uart::new(p.USART2, p.PA3, p.PA2, Irqs, NoDma, NoDma, config).unwrap(); + + unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); + info!("wrote Hello, starting echo"); + + let mut buf = [0u8; 1]; + loop { + unwrap!(usart.blocking_read(&mut buf)); + unwrap!(usart.blocking_write(&buf)); + } +} diff --git a/examples/stm32u0/src/bin/usb_serial.rs b/examples/stm32u0/src/bin/usb_serial.rs new file mode 100644 index 000000000..9b38fd5dc --- /dev/null +++ b/examples/stm32u0/src/bin/usb_serial.rs @@ -0,0 +1,109 @@ +#![no_std] +#![no_main] + +use defmt::{panic, *}; +use defmt_rtt as _; // global logger +use embassy_executor::Spawner; +use embassy_stm32::usb::{Driver, Instance}; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; +use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; +use embassy_usb::driver::EndpointError; +use embassy_usb::Builder; +use futures::future::join; +use panic_probe as _; + +bind_interrupts!(struct Irqs { + USB_DRD_FS => usb::InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hsi = true; + config.rcc.pll = Some(Pll { + source: PllSource::HSI, // 16 MHz + prediv: PllPreDiv::DIV1, + mul: PllMul::MUL7, + divp: None, + divq: None, + divr: Some(PllRDiv::DIV2), // 56 MHz + }); + config.rcc.sys = Sysclk::PLL1_R; + config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB + config.rcc.mux.clk48sel = mux::Clk48sel::HSI48; // USB uses ICLK + } + + let p = embassy_stm32::init(config); + + info!("Hello World!"); + + // Create the driver, from the HAL. + let driver = Driver::new(p.USB, Irqs, p.PA12, p.PA11); + + // Create embassy-usb Config + let config = embassy_usb::Config::new(0xc0de, 0xcafe); + //config.max_packet_size_0 = 64; + + // Create embassy-usb DeviceBuilder using the driver and config. + // It needs some buffers for building the descriptors. + let mut config_descriptor = [0; 256]; + let mut bos_descriptor = [0; 256]; + let mut control_buf = [0; 7]; + + let mut state = State::new(); + + let mut builder = Builder::new( + driver, + config, + &mut config_descriptor, + &mut bos_descriptor, + &mut [], // no msos descriptors + &mut control_buf, + ); + + // Create classes on the builder. + let mut class = CdcAcmClass::new(&mut builder, &mut state, 64); + + // Build the builder. + let mut usb = builder.build(); + + // Run the USB device. + let usb_fut = usb.run(); + + // Do stuff with the class! + let echo_fut = async { + loop { + class.wait_connection().await; + info!("Connected"); + let _ = echo(&mut class).await; + info!("Disconnected"); + } + }; + + // Run everything concurrently. + // If we had made everything `'static` above instead, we could do this using separate tasks instead. + join(usb_fut, echo_fut).await; +} + +struct Disconnected {} + +impl From for Disconnected { + fn from(val: EndpointError) -> Self { + match val { + EndpointError::BufferOverflow => panic!("Buffer overflow"), + EndpointError::Disabled => Disconnected {}, + } + } +} + +async fn echo<'d, T: Instance + 'd>(class: &mut CdcAcmClass<'d, Driver<'d, T>>) -> Result<(), Disconnected> { + let mut buf = [0; 64]; + loop { + let n = class.read_packet(&mut buf).await?; + let data = &buf[..n]; + info!("data: {:x}", data); + class.write_packet(data).await?; + } +} -- cgit From b659e3d529e427cfc2fb38f514825b60eded784f Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Sun, 14 Apr 2024 00:04:13 +0200 Subject: Add ADC --- examples/stm32u0/src/bin/adc.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32u0/src/bin/adc.rs b/examples/stm32u0/src/bin/adc.rs index f7145b85d..c63c4a428 100644 --- a/examples/stm32u0/src/bin/adc.rs +++ b/examples/stm32u0/src/bin/adc.rs @@ -26,8 +26,6 @@ fn main() -> ! { loop { let v = adc.read(&mut channel); info!("--> {}", v); - let v = adc.read(&mut temp); - info!("Temp: --> {}", v); - embassy_time::block_for(Duration::from_millis(1000)); + embassy_time::block_for(Duration::from_millis(200)); } } -- cgit From 0a785585bcc268ca1eb5341b1bcc54113cf96298 Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Sun, 14 Apr 2024 00:08:06 +0200 Subject: Remove temp variable --- examples/stm32u0/src/bin/adc.rs | 1 - 1 file changed, 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32u0/src/bin/adc.rs b/examples/stm32u0/src/bin/adc.rs index c63c4a428..4410448f1 100644 --- a/examples/stm32u0/src/bin/adc.rs +++ b/examples/stm32u0/src/bin/adc.rs @@ -19,7 +19,6 @@ fn main() -> ! { let p = embassy_stm32::init(config); let mut adc = Adc::new(p.ADC1); - let mut temp = adc.enable_temperature(); adc.set_resolution(Resolution::BITS8); let mut channel = p.PC0; -- cgit From ca84be80bcbfb4459212fa02e75cfafc85d6df51 Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Sun, 14 Apr 2024 00:45:53 +0200 Subject: Add wdt and flash --- examples/stm32u0/src/bin/flash.rs | 43 +++++++++++++++++++++++++++++++++++++++ examples/stm32u0/src/bin/wdt.rs | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 examples/stm32u0/src/bin/flash.rs create mode 100644 examples/stm32u0/src/bin/wdt.rs (limited to 'examples') diff --git a/examples/stm32u0/src/bin/flash.rs b/examples/stm32u0/src/bin/flash.rs new file mode 100644 index 000000000..01b80a76b --- /dev/null +++ b/examples/stm32u0/src/bin/flash.rs @@ -0,0 +1,43 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::flash::Flash; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let addr: u32 = 0x40000 - 2 * 1024; + + let mut f = Flash::new_blocking(p.FLASH).into_blocking_regions().bank1_region; + + info!("Reading..."); + let mut buf = [0u8; 32]; + unwrap!(f.blocking_read(addr, &mut buf)); + info!("Read: {=[u8]:x}", buf); + info!("Erasing..."); + unwrap!(f.blocking_erase(addr, addr + 2 * 1024)); + + info!("Reading..."); + let mut buf = [0u8; 32]; + unwrap!(f.blocking_read(addr, &mut buf)); + info!("Read after erase: {=[u8]:x}", buf); + + info!("Writing..."); + unwrap!(f.blocking_write( + addr, + &[ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32 + ] + )); + + info!("Reading..."); + let mut buf = [0u8; 32]; + unwrap!(f.blocking_read(addr, &mut buf)); + info!("Read: {=[u8]:x}", buf); +} diff --git a/examples/stm32u0/src/bin/wdt.rs b/examples/stm32u0/src/bin/wdt.rs new file mode 100644 index 000000000..f6276e2e9 --- /dev/null +++ b/examples/stm32u0/src/bin/wdt.rs @@ -0,0 +1,41 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::wdg::IndependentWatchdog; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut led = Output::new(p.PA5, Level::High, Speed::Low); + + let mut wdt = IndependentWatchdog::new(p.IWDG, 1_000_000); + wdt.unleash(); + + let mut i = 0; + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(300).await; + + info!("low"); + led.set_low(); + Timer::after_millis(300).await; + + // Pet watchdog for 5 iterations and then stop. + // MCU should restart in 1 second after the last pet. + if i < 5 { + info!("Petting watchdog"); + wdt.pet(); + } + + i += 1; + } +} -- cgit From e224e6cef4e0508f14bb9ffd1d9d0fc9220c07d8 Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Sun, 14 Apr 2024 01:10:20 +0200 Subject: Add CRC --- examples/stm32u0/src/bin/crc.rs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 examples/stm32u0/src/bin/crc.rs (limited to 'examples') diff --git a/examples/stm32u0/src/bin/crc.rs b/examples/stm32u0/src/bin/crc.rs new file mode 100644 index 000000000..d1b545d5b --- /dev/null +++ b/examples/stm32u0/src/bin/crc.rs @@ -0,0 +1,31 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::crc::{Config, Crc, InputReverseConfig, PolySize}; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + // Setup for: https://crccalc.com/?crc=Life, it never dieWomen are my favorite guy&method=crc32&datatype=ascii&outtype=0 + let mut crc = Crc::new( + p.CRC, + unwrap!(Config::new( + InputReverseConfig::Byte, + true, + PolySize::Width32, + 0xFFFFFFFF, + 0x04C11DB7 + )), + ); + + let output = crc.feed_bytes(b"Life, it never die\nWomen are my favorite guy") ^ 0xFFFFFFFF; + + defmt::assert_eq!(output, 0x33F0E26B); + + cortex_m::asm::bkpt(); +} -- cgit From 4079a8acf8d0d33dc1ca815475492cbf33407464 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sat, 13 Apr 2024 03:30:30 +0200 Subject: stm32/adc: update g4 for new pac. --- examples/stm32g4/src/bin/adc.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/adc.rs b/examples/stm32g4/src/bin/adc.rs index 68b54e406..3de38cbd6 100644 --- a/examples/stm32g4/src/bin/adc.rs +++ b/examples/stm32g4/src/bin/adc.rs @@ -29,7 +29,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let mut adc = Adc::new(p.ADC2); - adc.set_sample_time(SampleTime::CYCLES32_5); + adc.set_sample_time(SampleTime::CYCLES24_5); loop { let measured = adc.read(&mut p.PA7); -- cgit From 65c085ce910f50903bc5c41ca82eda989810f855 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sat, 13 Apr 2024 02:13:41 +0200 Subject: Add stm32u0 support. --- examples/stm32u0/.cargo/config.toml | 9 +++++++++ examples/stm32u0/Cargo.toml | 25 +++++++++++++++++++++++++ examples/stm32u0/build.rs | 5 +++++ examples/stm32u0/src/bin/blinky.rs | 26 ++++++++++++++++++++++++++ examples/stm32u0/src/bin/button.rs | 24 ++++++++++++++++++++++++ examples/stm32u0/src/bin/button_exti.rs | 25 +++++++++++++++++++++++++ 6 files changed, 114 insertions(+) create mode 100644 examples/stm32u0/.cargo/config.toml create mode 100644 examples/stm32u0/Cargo.toml create mode 100644 examples/stm32u0/build.rs create mode 100644 examples/stm32u0/src/bin/blinky.rs create mode 100644 examples/stm32u0/src/bin/button.rs create mode 100644 examples/stm32u0/src/bin/button_exti.rs (limited to 'examples') diff --git a/examples/stm32u0/.cargo/config.toml b/examples/stm32u0/.cargo/config.toml new file mode 100644 index 000000000..688347084 --- /dev/null +++ b/examples/stm32u0/.cargo/config.toml @@ -0,0 +1,9 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +# replace stm32u083rctx with your chip as listed in `probe-rs chip list` +runner = "probe-rs run --chip stm32u083rctx" + +[build] +target = "thumbv6m-none-eabi" + +[env] +DEFMT_LOG = "trace" diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml new file mode 100644 index 000000000..495be3e75 --- /dev/null +++ b/examples/stm32u0/Cargo.toml @@ -0,0 +1,25 @@ +[package] +edition = "2021" +name = "embassy-stm32u0-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +# Change stm32u083rc to your chip name, if necessary. +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32u083rc", "memory-x", "unstable-pac", "exti"] } +embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } + +defmt = "0.3" +defmt-rtt = "0.4" + +cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } +cortex-m-rt = "0.7.0" +embedded-hal = "0.2.6" +panic-probe = { version = "0.3", features = ["print-defmt"] } +futures = { version = "0.3.17", default-features = false, features = ["async-await"] } +heapless = { version = "0.8", default-features = false } + +[profile.release] +debug = 2 diff --git a/examples/stm32u0/build.rs b/examples/stm32u0/build.rs new file mode 100644 index 000000000..8cd32d7ed --- /dev/null +++ b/examples/stm32u0/build.rs @@ -0,0 +1,5 @@ +fn main() { + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/stm32u0/src/bin/blinky.rs b/examples/stm32u0/src/bin/blinky.rs new file mode 100644 index 000000000..90e479aae --- /dev/null +++ b/examples/stm32u0/src/bin/blinky.rs @@ -0,0 +1,26 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut led = Output::new(p.PA5, Level::High, Speed::Low); + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(300).await; + + info!("low"); + led.set_low(); + Timer::after_millis(300).await; + } +} diff --git a/examples/stm32u0/src/bin/button.rs b/examples/stm32u0/src/bin/button.rs new file mode 100644 index 000000000..8017f0274 --- /dev/null +++ b/examples/stm32u0/src/bin/button.rs @@ -0,0 +1,24 @@ +#![no_std] +#![no_main] + +use cortex_m_rt::entry; +use defmt::*; +use embassy_stm32::gpio::{Input, Pull}; +use {defmt_rtt as _, panic_probe as _}; + +#[entry] +fn main() -> ! { + info!("Hello World!"); + + let p = embassy_stm32::init(Default::default()); + + let button = Input::new(p.PC13, Pull::Up); + + loop { + if button.is_high() { + info!("high"); + } else { + info!("low"); + } + } +} diff --git a/examples/stm32u0/src/bin/button_exti.rs b/examples/stm32u0/src/bin/button_exti.rs new file mode 100644 index 000000000..34a08bbc6 --- /dev/null +++ b/examples/stm32u0/src/bin/button_exti.rs @@ -0,0 +1,25 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::exti::ExtiInput; +use embassy_stm32::gpio::Pull; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut button = ExtiInput::new(p.PC13, p.EXTI13, Pull::Up); + + info!("Press the USER button..."); + + loop { + button.wait_for_falling_edge().await; + info!("Pressed!"); + button.wait_for_rising_edge().await; + info!("Released!"); + } +} -- cgit From 9341ef3b47f67b549b3d202974a2d4a0d62587f1 Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Sun, 14 Apr 2024 16:06:21 +0200 Subject: examples: request_handler is mutable --- examples/nrf52840/src/bin/usb_hid_keyboard.rs | 8 ++++---- examples/nrf52840/src/bin/usb_hid_mouse.rs | 6 +++--- examples/rp/src/bin/usb_hid_keyboard.rs | 8 ++++---- examples/rp/src/bin/usb_hid_mouse.rs | 8 ++++---- examples/stm32f4/src/bin/usb_hid_keyboard.rs | 8 ++++---- examples/stm32f4/src/bin/usb_hid_mouse.rs | 6 +++--- examples/stm32l5/src/bin/usb_hid_mouse.rs | 6 +++--- 7 files changed, 25 insertions(+), 25 deletions(-) (limited to 'examples') diff --git a/examples/nrf52840/src/bin/usb_hid_keyboard.rs b/examples/nrf52840/src/bin/usb_hid_keyboard.rs index 52f081487..39b39dcd0 100644 --- a/examples/nrf52840/src/bin/usb_hid_keyboard.rs +++ b/examples/nrf52840/src/bin/usb_hid_keyboard.rs @@ -54,7 +54,7 @@ async fn main(_spawner: Spawner) { let mut bos_descriptor = [0; 256]; let mut msos_descriptor = [0; 256]; let mut control_buf = [0; 64]; - let request_handler = MyRequestHandler {}; + let mut request_handler = MyRequestHandler {}; let mut device_handler = MyDeviceHandler::new(); let mut state = State::new(); @@ -73,7 +73,7 @@ async fn main(_spawner: Spawner) { // Create classes on the builder. let config = embassy_usb::class::hid::Config { report_descriptor: KeyboardReport::desc(), - request_handler: Some(&request_handler), + request_handler: None, poll_ms: 60, max_packet_size: 64, }; @@ -137,7 +137,7 @@ async fn main(_spawner: Spawner) { }; let out_fut = async { - reader.run(false, &request_handler).await; + reader.run(false, &mut request_handler).await; }; // Run everything concurrently. @@ -153,7 +153,7 @@ impl RequestHandler for MyRequestHandler { None } - fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse { info!("Set report for {:?}: {=[u8]}", id, data); OutResponse::Accepted } diff --git a/examples/nrf52840/src/bin/usb_hid_mouse.rs b/examples/nrf52840/src/bin/usb_hid_mouse.rs index 5d2837793..d86e96270 100644 --- a/examples/nrf52840/src/bin/usb_hid_mouse.rs +++ b/examples/nrf52840/src/bin/usb_hid_mouse.rs @@ -47,7 +47,7 @@ async fn main(_spawner: Spawner) { let mut bos_descriptor = [0; 256]; let mut msos_descriptor = [0; 256]; let mut control_buf = [0; 64]; - let request_handler = MyRequestHandler {}; + let mut request_handler = MyRequestHandler {}; let mut state = State::new(); @@ -63,7 +63,7 @@ async fn main(_spawner: Spawner) { // Create classes on the builder. let config = embassy_usb::class::hid::Config { report_descriptor: MouseReport::desc(), - request_handler: Some(&request_handler), + request_handler: Some(&mut request_handler), poll_ms: 60, max_packet_size: 8, }; @@ -110,7 +110,7 @@ impl RequestHandler for MyRequestHandler { None } - fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse { info!("Set report for {:?}: {=[u8]}", id, data); OutResponse::Accepted } diff --git a/examples/rp/src/bin/usb_hid_keyboard.rs b/examples/rp/src/bin/usb_hid_keyboard.rs index 710be8d13..53385e929 100644 --- a/examples/rp/src/bin/usb_hid_keyboard.rs +++ b/examples/rp/src/bin/usb_hid_keyboard.rs @@ -41,7 +41,7 @@ async fn main(_spawner: Spawner) { // You can also add a Microsoft OS descriptor. let mut msos_descriptor = [0; 256]; let mut control_buf = [0; 64]; - let request_handler = MyRequestHandler {}; + let mut request_handler = MyRequestHandler {}; let mut device_handler = MyDeviceHandler::new(); let mut state = State::new(); @@ -60,7 +60,7 @@ async fn main(_spawner: Spawner) { // Create classes on the builder. let config = embassy_usb::class::hid::Config { report_descriptor: KeyboardReport::desc(), - request_handler: Some(&request_handler), + request_handler: None, poll_ms: 60, max_packet_size: 64, }; @@ -114,7 +114,7 @@ async fn main(_spawner: Spawner) { }; let out_fut = async { - reader.run(false, &request_handler).await; + reader.run(false, &mut request_handler).await; }; // Run everything concurrently. @@ -130,7 +130,7 @@ impl RequestHandler for MyRequestHandler { None } - fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse { info!("Set report for {:?}: {=[u8]}", id, data); OutResponse::Accepted } diff --git a/examples/rp/src/bin/usb_hid_mouse.rs b/examples/rp/src/bin/usb_hid_mouse.rs index e8b399cb1..3c911511e 100644 --- a/examples/rp/src/bin/usb_hid_mouse.rs +++ b/examples/rp/src/bin/usb_hid_mouse.rs @@ -44,7 +44,7 @@ async fn main(_spawner: Spawner) { // You can also add a Microsoft OS descriptor. let mut msos_descriptor = [0; 256]; let mut control_buf = [0; 64]; - let request_handler = MyRequestHandler {}; + let mut request_handler = MyRequestHandler {}; let mut device_handler = MyDeviceHandler::new(); let mut state = State::new(); @@ -63,7 +63,7 @@ async fn main(_spawner: Spawner) { // Create classes on the builder. let config = embassy_usb::class::hid::Config { report_descriptor: MouseReport::desc(), - request_handler: Some(&request_handler), + request_handler: None, poll_ms: 60, max_packet_size: 64, }; @@ -106,7 +106,7 @@ async fn main(_spawner: Spawner) { }; let out_fut = async { - reader.run(false, &request_handler).await; + reader.run(false, &mut request_handler).await; }; // Run everything concurrently. @@ -122,7 +122,7 @@ impl RequestHandler for MyRequestHandler { None } - fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse { info!("Set report for {:?}: {=[u8]}", id, data); OutResponse::Accepted } diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index d6e0be5ea..709f3dccc 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -76,7 +76,7 @@ async fn main(_spawner: Spawner) { let mut msos_descriptor = [0; 256]; let mut control_buf = [0; 64]; - let request_handler = MyRequestHandler {}; + let mut request_handler = MyRequestHandler {}; let mut device_handler = MyDeviceHandler::new(); let mut state = State::new(); @@ -95,7 +95,7 @@ async fn main(_spawner: Spawner) { // Create classes on the builder. let config = embassy_usb::class::hid::Config { report_descriptor: KeyboardReport::desc(), - request_handler: Some(&request_handler), + request_handler: None, poll_ms: 60, max_packet_size: 8, }; @@ -148,7 +148,7 @@ async fn main(_spawner: Spawner) { }; let out_fut = async { - reader.run(false, &request_handler).await; + reader.run(false, &mut request_handler).await; }; // Run everything concurrently. @@ -164,7 +164,7 @@ impl RequestHandler for MyRequestHandler { None } - fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse { info!("Set report for {:?}: {=[u8]}", id, data); OutResponse::Accepted } diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index 0bc236119..0d08d34a2 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -68,7 +68,7 @@ async fn main(_spawner: Spawner) { let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; - let request_handler = MyRequestHandler {}; + let mut request_handler = MyRequestHandler {}; let mut state = State::new(); @@ -84,7 +84,7 @@ async fn main(_spawner: Spawner) { // Create classes on the builder. let config = embassy_usb::class::hid::Config { report_descriptor: MouseReport::desc(), - request_handler: Some(&request_handler), + request_handler: Some(&mut request_handler), poll_ms: 60, max_packet_size: 8, }; @@ -131,7 +131,7 @@ impl RequestHandler for MyRequestHandler { None } - fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse { info!("Set report for {:?}: {=[u8]}", id, data); OutResponse::Accepted } diff --git a/examples/stm32l5/src/bin/usb_hid_mouse.rs b/examples/stm32l5/src/bin/usb_hid_mouse.rs index 9d30205bb..b340c5df5 100644 --- a/examples/stm32l5/src/bin/usb_hid_mouse.rs +++ b/examples/stm32l5/src/bin/usb_hid_mouse.rs @@ -54,7 +54,7 @@ async fn main(_spawner: Spawner) { let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; - let request_handler = MyRequestHandler {}; + let mut request_handler = MyRequestHandler {}; let mut state = State::new(); @@ -70,7 +70,7 @@ async fn main(_spawner: Spawner) { // Create classes on the builder. let config = embassy_usb::class::hid::Config { report_descriptor: MouseReport::desc(), - request_handler: Some(&request_handler), + request_handler: Some(&mut request_handler), poll_ms: 60, max_packet_size: 8, }; @@ -117,7 +117,7 @@ impl RequestHandler for MyRequestHandler { None } - fn set_report(&self, id: ReportId, data: &[u8]) -> OutResponse { + fn set_report(&mut self, id: ReportId, data: &[u8]) -> OutResponse { info!("Set report for {:?}: {=[u8]}", id, data); OutResponse::Accepted } -- cgit From ae4fb433aef33cfc7993516f880de85d87fa37d8 Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Mon, 15 Apr 2024 19:53:46 +0200 Subject: usb-hid: all the RequestHandler method accept &mut self --- examples/nrf52840/src/bin/usb_hid_keyboard.rs | 6 +++--- examples/nrf52840/src/bin/usb_hid_mouse.rs | 6 +++--- examples/rp/src/bin/usb_hid_keyboard.rs | 6 +++--- examples/rp/src/bin/usb_hid_mouse.rs | 6 +++--- examples/stm32f4/src/bin/usb_hid_keyboard.rs | 6 +++--- examples/stm32f4/src/bin/usb_hid_mouse.rs | 6 +++--- examples/stm32l5/src/bin/usb_hid_mouse.rs | 6 +++--- 7 files changed, 21 insertions(+), 21 deletions(-) (limited to 'examples') diff --git a/examples/nrf52840/src/bin/usb_hid_keyboard.rs b/examples/nrf52840/src/bin/usb_hid_keyboard.rs index 39b39dcd0..e33ee5866 100644 --- a/examples/nrf52840/src/bin/usb_hid_keyboard.rs +++ b/examples/nrf52840/src/bin/usb_hid_keyboard.rs @@ -148,7 +148,7 @@ async fn main(_spawner: Spawner) { struct MyRequestHandler {} impl RequestHandler for MyRequestHandler { - fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option { info!("Get report for {:?}", id); None } @@ -158,11 +158,11 @@ impl RequestHandler for MyRequestHandler { OutResponse::Accepted } - fn set_idle_ms(&self, id: Option, dur: u32) { + fn set_idle_ms(&mut self, id: Option, dur: u32) { info!("Set idle rate for {:?} to {:?}", id, dur); } - fn get_idle_ms(&self, id: Option) -> Option { + fn get_idle_ms(&mut self, id: Option) -> Option { info!("Get idle rate for {:?}", id); None } diff --git a/examples/nrf52840/src/bin/usb_hid_mouse.rs b/examples/nrf52840/src/bin/usb_hid_mouse.rs index d86e96270..8076ac283 100644 --- a/examples/nrf52840/src/bin/usb_hid_mouse.rs +++ b/examples/nrf52840/src/bin/usb_hid_mouse.rs @@ -105,7 +105,7 @@ async fn main(_spawner: Spawner) { struct MyRequestHandler {} impl RequestHandler for MyRequestHandler { - fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option { info!("Get report for {:?}", id); None } @@ -115,11 +115,11 @@ impl RequestHandler for MyRequestHandler { OutResponse::Accepted } - fn set_idle_ms(&self, id: Option, dur: u32) { + fn set_idle_ms(&mut self, id: Option, dur: u32) { info!("Set idle rate for {:?} to {:?}", id, dur); } - fn get_idle_ms(&self, id: Option) -> Option { + fn get_idle_ms(&mut self, id: Option) -> Option { info!("Get idle rate for {:?}", id); None } diff --git a/examples/rp/src/bin/usb_hid_keyboard.rs b/examples/rp/src/bin/usb_hid_keyboard.rs index 53385e929..a7cb322d8 100644 --- a/examples/rp/src/bin/usb_hid_keyboard.rs +++ b/examples/rp/src/bin/usb_hid_keyboard.rs @@ -125,7 +125,7 @@ async fn main(_spawner: Spawner) { struct MyRequestHandler {} impl RequestHandler for MyRequestHandler { - fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option { info!("Get report for {:?}", id); None } @@ -135,11 +135,11 @@ impl RequestHandler for MyRequestHandler { OutResponse::Accepted } - fn set_idle_ms(&self, id: Option, dur: u32) { + fn set_idle_ms(&mut self, id: Option, dur: u32) { info!("Set idle rate for {:?} to {:?}", id, dur); } - fn get_idle_ms(&self, id: Option) -> Option { + fn get_idle_ms(&mut self, id: Option) -> Option { info!("Get idle rate for {:?}", id); None } diff --git a/examples/rp/src/bin/usb_hid_mouse.rs b/examples/rp/src/bin/usb_hid_mouse.rs index 3c911511e..cce344fb0 100644 --- a/examples/rp/src/bin/usb_hid_mouse.rs +++ b/examples/rp/src/bin/usb_hid_mouse.rs @@ -117,7 +117,7 @@ async fn main(_spawner: Spawner) { struct MyRequestHandler {} impl RequestHandler for MyRequestHandler { - fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option { info!("Get report for {:?}", id); None } @@ -127,11 +127,11 @@ impl RequestHandler for MyRequestHandler { OutResponse::Accepted } - fn set_idle_ms(&self, id: Option, dur: u32) { + fn set_idle_ms(&mut self, id: Option, dur: u32) { info!("Set idle rate for {:?} to {:?}", id, dur); } - fn get_idle_ms(&self, id: Option) -> Option { + fn get_idle_ms(&mut self, id: Option) -> Option { info!("Get idle rate for {:?}", id); None } diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index 709f3dccc..f6d1395e8 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -159,7 +159,7 @@ async fn main(_spawner: Spawner) { struct MyRequestHandler {} impl RequestHandler for MyRequestHandler { - fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option { info!("Get report for {:?}", id); None } @@ -169,11 +169,11 @@ impl RequestHandler for MyRequestHandler { OutResponse::Accepted } - fn set_idle_ms(&self, id: Option, dur: u32) { + fn set_idle_ms(&mut self, id: Option, dur: u32) { info!("Set idle rate for {:?} to {:?}", id, dur); } - fn get_idle_ms(&self, id: Option) -> Option { + fn get_idle_ms(&mut self, id: Option) -> Option { info!("Get idle rate for {:?}", id); None } diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index 0d08d34a2..2cff9294a 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -126,7 +126,7 @@ async fn main(_spawner: Spawner) { struct MyRequestHandler {} impl RequestHandler for MyRequestHandler { - fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option { info!("Get report for {:?}", id); None } @@ -136,11 +136,11 @@ impl RequestHandler for MyRequestHandler { OutResponse::Accepted } - fn set_idle_ms(&self, id: Option, dur: u32) { + fn set_idle_ms(&mut self, id: Option, dur: u32) { info!("Set idle rate for {:?} to {:?}", id, dur); } - fn get_idle_ms(&self, id: Option) -> Option { + fn get_idle_ms(&mut self, id: Option) -> Option { info!("Get idle rate for {:?}", id); None } diff --git a/examples/stm32l5/src/bin/usb_hid_mouse.rs b/examples/stm32l5/src/bin/usb_hid_mouse.rs index b340c5df5..3f8c52b82 100644 --- a/examples/stm32l5/src/bin/usb_hid_mouse.rs +++ b/examples/stm32l5/src/bin/usb_hid_mouse.rs @@ -112,7 +112,7 @@ async fn main(_spawner: Spawner) { struct MyRequestHandler {} impl RequestHandler for MyRequestHandler { - fn get_report(&self, id: ReportId, _buf: &mut [u8]) -> Option { + fn get_report(&mut self, id: ReportId, _buf: &mut [u8]) -> Option { info!("Get report for {:?}", id); None } @@ -122,11 +122,11 @@ impl RequestHandler for MyRequestHandler { OutResponse::Accepted } - fn set_idle_ms(&self, id: Option, dur: u32) { + fn set_idle_ms(&mut self, id: Option, dur: u32) { info!("Set idle rate for {:?} to {:?}", id, dur); } - fn get_idle_ms(&self, id: Option) -> Option { + fn get_idle_ms(&mut self, id: Option) -> Option { info!("Get idle rate for {:?}", id); None } -- cgit From be087e5d43326178878878bebae96f3b51a3b184 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 15 Apr 2024 21:19:17 +0200 Subject: stm32/spi: remove DMA generic params. --- examples/stm32f4/src/bin/spi.rs | 3 +-- examples/stm32f4/src/bin/ws2812_spi.rs | 4 ++-- examples/stm32g0/src/bin/spi_neopixel.rs | 3 +-- examples/stm32h7/src/bin/spi.rs | 6 +++--- examples/stm32h7/src/bin/spi_dma.rs | 6 +++--- examples/stm32l0/src/bin/spi.rs | 3 +-- examples/stm32l1/src/bin/spi.rs | 3 +-- .../stm32l4/src/bin/spe_adin1110_http_server.rs | 24 ++++++++++------------ examples/stm32l4/src/bin/spi.rs | 3 +-- examples/stm32l4/src/bin/spi_blocking_async.rs | 3 +-- 10 files changed, 25 insertions(+), 33 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/spi.rs b/examples/stm32f4/src/bin/spi.rs index dc9141c62..970d819fc 100644 --- a/examples/stm32f4/src/bin/spi.rs +++ b/examples/stm32f4/src/bin/spi.rs @@ -3,7 +3,6 @@ use cortex_m_rt::entry; use defmt::*; -use embassy_stm32::dma::NoDma; use embassy_stm32::gpio::{Level, Output, Speed}; use embassy_stm32::spi::{Config, Spi}; use embassy_stm32::time::Hertz; @@ -18,7 +17,7 @@ fn main() -> ! { let mut spi_config = Config::default(); spi_config.frequency = Hertz(1_000_000); - let mut spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, spi_config); + let mut spi = Spi::new_blocking(p.SPI3, p.PC10, p.PC12, p.PC11, spi_config); let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); diff --git a/examples/stm32f4/src/bin/ws2812_spi.rs b/examples/stm32f4/src/bin/ws2812_spi.rs index 56ccb67b8..e00d14327 100644 --- a/examples/stm32f4/src/bin/ws2812_spi.rs +++ b/examples/stm32f4/src/bin/ws2812_spi.rs @@ -13,8 +13,8 @@ #![no_std] #![no_main] +use embassy_stm32::spi; use embassy_stm32::time::khz; -use embassy_stm32::{dma, spi}; use embassy_time::{Duration, Ticker, Timer}; use {defmt_rtt as _, panic_probe as _}; @@ -78,7 +78,7 @@ async fn main(_spawner: embassy_executor::Spawner) { spi_config.frequency = khz(12_800); // Since we only output waveform, then the Rx and Sck and RxDma it is not considered - let mut ws2812_spi = spi::Spi::new_txonly_nosck(dp.SPI1, dp.PB5, dp.DMA2_CH3, dma::NoDma, spi_config); + let mut ws2812_spi = spi::Spi::new_txonly_nosck(dp.SPI1, dp.PB5, dp.DMA2_CH3, spi_config); // flip color at 2 Hz let mut ticker = Ticker::every(Duration::from_millis(500)); diff --git a/examples/stm32g0/src/bin/spi_neopixel.rs b/examples/stm32g0/src/bin/spi_neopixel.rs index c5ea51721..2deee271d 100644 --- a/examples/stm32g0/src/bin/spi_neopixel.rs +++ b/examples/stm32g0/src/bin/spi_neopixel.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::dma::word::U5; -use embassy_stm32::dma::NoDma; use embassy_stm32::spi::{Config, Spi}; use embassy_stm32::time::Hertz; use embassy_time::Timer; @@ -77,7 +76,7 @@ async fn main(_spawner: Spawner) { let mut config = Config::default(); config.frequency = Hertz(4_000_000); - let mut spi = Spi::new_txonly_nosck(p.SPI1, p.PB5, p.DMA1_CH3, NoDma, config); + let mut spi = Spi::new_txonly_nosck(p.SPI1, p.PB5, p.DMA1_CH3, config); let mut neopixels = Ws2812::new(); diff --git a/examples/stm32h7/src/bin/spi.rs b/examples/stm32h7/src/bin/spi.rs index aed27723a..aaebdc346 100644 --- a/examples/stm32h7/src/bin/spi.rs +++ b/examples/stm32h7/src/bin/spi.rs @@ -7,7 +7,7 @@ use core::str::from_utf8; use cortex_m_rt::entry; use defmt::*; use embassy_executor::Executor; -use embassy_stm32::dma::NoDma; +use embassy_stm32::mode::Blocking; use embassy_stm32::peripherals::SPI3; use embassy_stm32::time::mhz; use embassy_stm32::{spi, Config}; @@ -16,7 +16,7 @@ use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::task] -async fn main_task(mut spi: spi::Spi<'static, SPI3, NoDma, NoDma>) { +async fn main_task(mut spi: spi::Spi<'static, SPI3, Blocking>) { for n in 0u32.. { let mut write: String<128> = String::new(); core::write!(&mut write, "Hello DMA World {}!\r\n", n).unwrap(); @@ -62,7 +62,7 @@ fn main() -> ! { let mut spi_config = spi::Config::default(); spi_config.frequency = mhz(1); - let spi = spi::Spi::new(p.SPI3, p.PB3, p.PB5, p.PB4, NoDma, NoDma, spi_config); + let spi = spi::Spi::new_blocking(p.SPI3, p.PB3, p.PB5, p.PB4, spi_config); let executor = EXECUTOR.init(Executor::new()); diff --git a/examples/stm32h7/src/bin/spi_dma.rs b/examples/stm32h7/src/bin/spi_dma.rs index 54d4d7656..3d3c724eb 100644 --- a/examples/stm32h7/src/bin/spi_dma.rs +++ b/examples/stm32h7/src/bin/spi_dma.rs @@ -7,15 +7,15 @@ use core::str::from_utf8; use cortex_m_rt::entry; use defmt::*; use embassy_executor::Executor; -use embassy_stm32::peripherals::{DMA1_CH3, DMA1_CH4, SPI3}; +use embassy_stm32::mode::Async; use embassy_stm32::time::mhz; -use embassy_stm32::{spi, Config}; +use embassy_stm32::{peripherals, spi, Config}; use heapless::String; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::task] -async fn main_task(mut spi: spi::Spi<'static, SPI3, DMA1_CH3, DMA1_CH4>) { +async fn main_task(mut spi: spi::Spi<'static, peripherals::SPI3, Async>) { for n in 0u32.. { let mut write: String<128> = String::new(); let mut read = [0; 128]; diff --git a/examples/stm32l0/src/bin/spi.rs b/examples/stm32l0/src/bin/spi.rs index f23a537b8..8e0cfdedb 100644 --- a/examples/stm32l0/src/bin/spi.rs +++ b/examples/stm32l0/src/bin/spi.rs @@ -3,7 +3,6 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::gpio::{Level, Output, Speed}; use embassy_stm32::spi::{Config, Spi}; use embassy_stm32::time::Hertz; @@ -17,7 +16,7 @@ async fn main(_spawner: Spawner) { let mut spi_config = Config::default(); spi_config.frequency = Hertz(1_000_000); - let mut spi = Spi::new(p.SPI1, p.PB3, p.PA7, p.PA6, NoDma, NoDma, spi_config); + let mut spi = Spi::new_blocking(p.SPI1, p.PB3, p.PA7, p.PA6, spi_config); let mut cs = Output::new(p.PA15, Level::High, Speed::VeryHigh); diff --git a/examples/stm32l1/src/bin/spi.rs b/examples/stm32l1/src/bin/spi.rs index 8be686c5a..eabf1bac2 100644 --- a/examples/stm32l1/src/bin/spi.rs +++ b/examples/stm32l1/src/bin/spi.rs @@ -3,7 +3,6 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::gpio::{Level, Output, Speed}; use embassy_stm32::spi::{Config, Spi}; use embassy_stm32::time::Hertz; @@ -17,7 +16,7 @@ async fn main(_spawner: Spawner) { let mut spi_config = Config::default(); spi_config.frequency = Hertz(1_000_000); - let mut spi = Spi::new(p.SPI1, p.PA5, p.PA7, p.PA6, NoDma, NoDma, spi_config); + let mut spi = Spi::new_blocking(p.SPI1, p.PA5, p.PA7, p.PA6, spi_config); let mut cs = Output::new(p.PA4, Level::High, Speed::VeryHigh); diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index 77aa929ab..a99d08924 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs @@ -23,18 +23,23 @@ use embassy_futures::select::{select, Either}; use embassy_futures::yield_now; use embassy_net::tcp::TcpSocket; use embassy_net::{Ipv4Address, Ipv4Cidr, Stack, StackResources, StaticConfigV4}; +use embassy_net_adin1110::{Device, Runner, ADIN1110}; +use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; +use embassy_stm32::i2c::{self, Config as I2C_Config, I2c}; +use embassy_stm32::mode::Async; +use embassy_stm32::rng::{self, Rng}; +use embassy_stm32::spi::{Config as SPI_Config, Spi}; +use embassy_stm32::time::Hertz; +use embassy_stm32::{bind_interrupts, exti, pac, peripherals}; use embassy_time::{Delay, Duration, Ticker, Timer}; use embedded_hal_async::i2c::I2c as I2cBus; +use embedded_hal_bus::spi::ExclusiveDevice; use embedded_io::Write as bWrite; use embedded_io_async::Write; -use hal::gpio::{Input, Level, Output, Speed}; -use hal::i2c::{self, I2c}; -use hal::rng::{self, Rng}; -use hal::{bind_interrupts, exti, pac, peripherals}; use heapless::Vec; +use panic_probe as _; use rand::RngCore; use static_cell::StaticCell; -use {embassy_stm32 as hal, panic_probe as _}; bind_interrupts!(struct Irqs { I2C3_EV => i2c::EventInterruptHandler; @@ -42,13 +47,6 @@ bind_interrupts!(struct Irqs { RNG => rng::InterruptHandler; }); -use embassy_net_adin1110::{Device, Runner, ADIN1110}; -use embedded_hal_bus::spi::ExclusiveDevice; -use hal::gpio::Pull; -use hal::i2c::Config as I2C_Config; -use hal::spi::{Config as SPI_Config, Spi}; -use hal::time::Hertz; - // Basic settings // MAC-address used by the adin1110 const MAC: [u8; 6] = [0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff]; @@ -57,7 +55,7 @@ const IP_ADDRESS: Ipv4Cidr = Ipv4Cidr::new(Ipv4Address([192, 168, 1, 5]), 24); // Listen port for the webserver const HTTP_LISTEN_PORT: u16 = 80; -pub type SpeSpi = Spi<'static, peripherals::SPI2, peripherals::DMA1_CH1, peripherals::DMA1_CH2>; +pub type SpeSpi = Spi<'static, peripherals::SPI2, Async>; pub type SpeSpiCs = ExclusiveDevice, Delay>; pub type SpeInt = exti::ExtiInput<'static>; pub type SpeRst = Output<'static>; diff --git a/examples/stm32l4/src/bin/spi.rs b/examples/stm32l4/src/bin/spi.rs index 6653e4516..5693a3765 100644 --- a/examples/stm32l4/src/bin/spi.rs +++ b/examples/stm32l4/src/bin/spi.rs @@ -2,7 +2,6 @@ #![no_main] use defmt::*; -use embassy_stm32::dma::NoDma; use embassy_stm32::gpio::{Level, Output, Speed}; use embassy_stm32::spi::{Config, Spi}; use embassy_stm32::time::Hertz; @@ -17,7 +16,7 @@ fn main() -> ! { let mut spi_config = Config::default(); spi_config.frequency = Hertz(1_000_000); - let mut spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, spi_config); + let mut spi = Spi::new_blocking(p.SPI3, p.PC10, p.PC12, p.PC11, spi_config); let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); diff --git a/examples/stm32l4/src/bin/spi_blocking_async.rs b/examples/stm32l4/src/bin/spi_blocking_async.rs index 68dbb70ad..1f1089101 100644 --- a/examples/stm32l4/src/bin/spi_blocking_async.rs +++ b/examples/stm32l4/src/bin/spi_blocking_async.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_embedded_hal::adapter::BlockingAsync; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; use embassy_stm32::spi::{Config, Spi}; use embassy_stm32::time::Hertz; @@ -19,7 +18,7 @@ async fn main(_spawner: Spawner) { let mut spi_config = Config::default(); spi_config.frequency = Hertz(1_000_000); - let spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, spi_config); + let spi = Spi::new_blocking(p.SPI3, p.PC10, p.PC12, p.PC11, spi_config); let mut spi = BlockingAsync::new(spi); -- cgit From 913bb19a34b88e996972c6666679b2b99ae01ce0 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 15 Apr 2024 23:40:12 +0200 Subject: stm32/i2c: remove DMA generic params. --- examples/stm32f4/src/bin/i2c.rs | 18 +----------------- examples/stm32l4/src/bin/i2c.rs | 18 +----------------- examples/stm32l4/src/bin/i2c_blocking_async.rs | 18 +----------------- examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 2 +- examples/stm32u5/src/bin/i2c.rs | 18 +----------------- 5 files changed, 5 insertions(+), 69 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/i2c.rs b/examples/stm32f4/src/bin/i2c.rs index 4b5da774d..4a96357a4 100644 --- a/examples/stm32f4/src/bin/i2c.rs +++ b/examples/stm32f4/src/bin/i2c.rs @@ -3,35 +3,19 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::i2c::{Error, I2c}; use embassy_stm32::time::Hertz; -use embassy_stm32::{bind_interrupts, i2c, peripherals}; use {defmt_rtt as _, panic_probe as _}; const ADDRESS: u8 = 0x5F; const WHOAMI: u8 = 0x0F; -bind_interrupts!(struct Irqs { - I2C2_EV => i2c::EventInterruptHandler; - I2C2_ER => i2c::ErrorInterruptHandler; -}); - #[embassy_executor::main] async fn main(_spawner: Spawner) { info!("Hello world!"); let p = embassy_stm32::init(Default::default()); - let mut i2c = I2c::new( - p.I2C2, - p.PB10, - p.PB11, - Irqs, - NoDma, - NoDma, - Hertz(100_000), - Default::default(), - ); + let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); let mut data = [0u8; 1]; diff --git a/examples/stm32l4/src/bin/i2c.rs b/examples/stm32l4/src/bin/i2c.rs index f553deb82..2861bc091 100644 --- a/examples/stm32l4/src/bin/i2c.rs +++ b/examples/stm32l4/src/bin/i2c.rs @@ -3,33 +3,17 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::i2c::I2c; use embassy_stm32::time::Hertz; -use embassy_stm32::{bind_interrupts, i2c, peripherals}; use {defmt_rtt as _, panic_probe as _}; const ADDRESS: u8 = 0x5F; const WHOAMI: u8 = 0x0F; -bind_interrupts!(struct Irqs { - I2C2_EV => i2c::EventInterruptHandler; - I2C2_ER => i2c::ErrorInterruptHandler; -}); - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); - let mut i2c = I2c::new( - p.I2C2, - p.PB10, - p.PB11, - Irqs, - NoDma, - NoDma, - Hertz(100_000), - Default::default(), - ); + let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); let mut data = [0u8; 1]; unwrap!(i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data)); diff --git a/examples/stm32l4/src/bin/i2c_blocking_async.rs b/examples/stm32l4/src/bin/i2c_blocking_async.rs index 1b8652bcc..a014b23e0 100644 --- a/examples/stm32l4/src/bin/i2c_blocking_async.rs +++ b/examples/stm32l4/src/bin/i2c_blocking_async.rs @@ -4,34 +4,18 @@ use defmt::*; use embassy_embedded_hal::adapter::BlockingAsync; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::i2c::I2c; use embassy_stm32::time::Hertz; -use embassy_stm32::{bind_interrupts, i2c, peripherals}; use embedded_hal_async::i2c::I2c as I2cTrait; use {defmt_rtt as _, panic_probe as _}; const ADDRESS: u8 = 0x5F; const WHOAMI: u8 = 0x0F; -bind_interrupts!(struct Irqs { - I2C2_EV => i2c::EventInterruptHandler; - I2C2_ER => i2c::ErrorInterruptHandler; -}); - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); - let i2c = I2c::new( - p.I2C2, - p.PB10, - p.PB11, - Irqs, - NoDma, - NoDma, - Hertz(100_000), - Default::default(), - ); + let i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); let mut i2c = BlockingAsync::new(i2c); let mut data = [0u8; 1]; diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index a99d08924..694629ede 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs @@ -60,7 +60,7 @@ pub type SpeSpiCs = ExclusiveDevice, Delay>; pub type SpeInt = exti::ExtiInput<'static>; pub type SpeRst = Output<'static>; pub type Adin1110T = ADIN1110; -pub type TempSensI2c = I2c<'static, peripherals::I2C3, peripherals::DMA1_CH6, peripherals::DMA1_CH7>; +pub type TempSensI2c = I2c<'static, peripherals::I2C3, Async>; static TEMP: AtomicI32 = AtomicI32::new(0); diff --git a/examples/stm32u5/src/bin/i2c.rs b/examples/stm32u5/src/bin/i2c.rs index e376c6bc8..19a78eac9 100644 --- a/examples/stm32u5/src/bin/i2c.rs +++ b/examples/stm32u5/src/bin/i2c.rs @@ -3,33 +3,17 @@ use defmt::{info, unwrap}; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::i2c::I2c; use embassy_stm32::time::Hertz; -use embassy_stm32::{bind_interrupts, i2c, peripherals}; use {defmt_rtt as _, panic_probe as _}; const HTS221_ADDRESS: u8 = 0x5F; const WHOAMI: u8 = 0x0F; -bind_interrupts!(struct Irqs { - I2C2_EV => i2c::EventInterruptHandler; - I2C2_ER => i2c::ErrorInterruptHandler; -}); - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); - let mut i2c = I2c::new( - p.I2C2, - p.PH4, - p.PH5, - Irqs, - NoDma, - NoDma, - Hertz(100_000), - Default::default(), - ); + let mut i2c = I2c::new_blocking(p.I2C2, p.PH4, p.PH5, Hertz(100_000), Default::default()); let mut data = [0u8; 1]; unwrap!(i2c.blocking_write_read(HTS221_ADDRESS, &[WHOAMI], &mut data)); -- cgit From c5119c6318f72a69f1bdfb91e7987dff954d6c1e Mon Sep 17 00:00:00 2001 From: Warren Campbell Date: Mon, 15 Apr 2024 17:32:44 -0400 Subject: Add support for using secure registers --- examples/stm32u5/Cargo.toml | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'examples') diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml index 03294339d..01320b88d 100644 --- a/examples/stm32u5/Cargo.toml +++ b/examples/stm32u5/Cargo.toml @@ -24,5 +24,9 @@ heapless = { version = "0.8", default-features = false } micromath = "2.0.0" +[features] +## Use secure registers when TrustZone is enabled +trustzone-secure = ["embassy-stm32/trustzone-secure"] + [profile.release] debug = 2 -- cgit From d6b1233f16407e3501efcd1885460645a75ed57b Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Tue, 16 Apr 2024 02:00:43 +0200 Subject: stm32/usart: remove DMA generic params. --- examples/stm32f3/src/bin/usart_dma.rs | 3 +-- examples/stm32f4/src/bin/usart.rs | 3 +-- examples/stm32f4/src/bin/usart_dma.rs | 3 +-- examples/stm32f7/src/bin/usart_dma.rs | 3 +-- examples/stm32h5/src/bin/usart.rs | 8 +------- examples/stm32h5/src/bin/usart_dma.rs | 3 +-- examples/stm32h5/src/bin/usart_split.rs | 18 +++--------------- examples/stm32h7/src/bin/usart.rs | 8 +------- examples/stm32h7/src/bin/usart_dma.rs | 3 +-- examples/stm32h7/src/bin/usart_split.rs | 18 +++--------------- examples/stm32l4/src/bin/usart.rs | 3 +-- examples/stm32l4/src/bin/usart_dma.rs | 3 +-- 12 files changed, 16 insertions(+), 60 deletions(-) (limited to 'examples') diff --git a/examples/stm32f3/src/bin/usart_dma.rs b/examples/stm32f3/src/bin/usart_dma.rs index 5234e53b9..573a49f19 100644 --- a/examples/stm32f3/src/bin/usart_dma.rs +++ b/examples/stm32f3/src/bin/usart_dma.rs @@ -5,7 +5,6 @@ use core::fmt::Write; use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use heapless::String; @@ -21,7 +20,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let config = Config::default(); - let mut usart = Uart::new(p.USART1, p.PE1, p.PE0, Irqs, p.DMA1_CH4, NoDma, config).unwrap(); + let mut usart = Uart::new(p.USART1, p.PE1, p.PE0, Irqs, p.DMA1_CH4, p.DMA1_CH5, config).unwrap(); for n in 0u32.. { let mut s: String<128> = String::new(); diff --git a/examples/stm32f4/src/bin/usart.rs b/examples/stm32f4/src/bin/usart.rs index 40d9d70f1..991bf6673 100644 --- a/examples/stm32f4/src/bin/usart.rs +++ b/examples/stm32f4/src/bin/usart.rs @@ -3,7 +3,6 @@ use cortex_m_rt::entry; use defmt::*; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use {defmt_rtt as _, panic_probe as _}; @@ -19,7 +18,7 @@ fn main() -> ! { let p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.USART3, p.PD9, p.PD8, Irqs, NoDma, NoDma, config).unwrap(); + let mut usart = Uart::new_blocking(p.USART3, p.PD9, p.PD8, config).unwrap(); unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); info!("wrote Hello, starting echo"); diff --git a/examples/stm32f4/src/bin/usart_dma.rs b/examples/stm32f4/src/bin/usart_dma.rs index dd6de599c..aaf8d6c4f 100644 --- a/examples/stm32f4/src/bin/usart_dma.rs +++ b/examples/stm32f4/src/bin/usart_dma.rs @@ -5,7 +5,6 @@ use core::fmt::Write; use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use heapless::String; @@ -21,7 +20,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let config = Config::default(); - let mut usart = Uart::new(p.USART3, p.PD9, p.PD8, Irqs, p.DMA1_CH3, NoDma, config).unwrap(); + let mut usart = Uart::new(p.USART3, p.PD9, p.PD8, Irqs, p.DMA1_CH3, p.DMA1_CH1, config).unwrap(); for n in 0u32.. { let mut s: String<128> = String::new(); diff --git a/examples/stm32f7/src/bin/usart_dma.rs b/examples/stm32f7/src/bin/usart_dma.rs index fb604b34f..47456adf2 100644 --- a/examples/stm32f7/src/bin/usart_dma.rs +++ b/examples/stm32f7/src/bin/usart_dma.rs @@ -5,7 +5,6 @@ use core::fmt::Write; use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use heapless::String; @@ -19,7 +18,7 @@ bind_interrupts!(struct Irqs { async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.UART7, p.PA8, p.PA15, Irqs, p.DMA1_CH1, NoDma, config).unwrap(); + let mut usart = Uart::new(p.UART7, p.PA8, p.PA15, Irqs, p.DMA1_CH1, p.DMA1_CH3, config).unwrap(); for n in 0u32.. { let mut s: String<128> = String::new(); diff --git a/examples/stm32h5/src/bin/usart.rs b/examples/stm32h5/src/bin/usart.rs index f9cbad6af..cc49c2fdb 100644 --- a/examples/stm32h5/src/bin/usart.rs +++ b/examples/stm32h5/src/bin/usart.rs @@ -4,22 +4,16 @@ use cortex_m_rt::entry; use defmt::*; use embassy_executor::Executor; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; -use embassy_stm32::{bind_interrupts, peripherals, usart}; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; -bind_interrupts!(struct Irqs { - UART7 => usart::InterruptHandler; -}); - #[embassy_executor::task] async fn main_task() { let p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.UART7, p.PF6, p.PF7, Irqs, NoDma, NoDma, config).unwrap(); + let mut usart = Uart::new_blocking(p.UART7, p.PF6, p.PF7, config).unwrap(); unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); info!("wrote Hello, starting echo"); diff --git a/examples/stm32h5/src/bin/usart_dma.rs b/examples/stm32h5/src/bin/usart_dma.rs index caae0dd18..c644e84bd 100644 --- a/examples/stm32h5/src/bin/usart_dma.rs +++ b/examples/stm32h5/src/bin/usart_dma.rs @@ -6,7 +6,6 @@ use core::fmt::Write; use cortex_m_rt::entry; use defmt::*; use embassy_executor::Executor; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use heapless::String; @@ -22,7 +21,7 @@ async fn main_task() { let p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.UART7, p.PF6, p.PF7, Irqs, p.GPDMA1_CH0, NoDma, config).unwrap(); + let mut usart = Uart::new(p.UART7, p.PF6, p.PF7, Irqs, p.GPDMA1_CH0, p.GPDMA1_CH1, config).unwrap(); for n in 0u32.. { let mut s: String<128> = String::new(); diff --git a/examples/stm32h5/src/bin/usart_split.rs b/examples/stm32h5/src/bin/usart_split.rs index 92047de8d..77b4caa9e 100644 --- a/examples/stm32h5/src/bin/usart_split.rs +++ b/examples/stm32h5/src/bin/usart_split.rs @@ -3,8 +3,8 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; -use embassy_stm32::peripherals::{GPDMA1_CH1, UART7}; +use embassy_stm32::mode::Async; +use embassy_stm32::peripherals::UART7; use embassy_stm32::usart::{Config, Uart, UartRx}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; @@ -15,18 +15,6 @@ bind_interrupts!(struct Irqs { UART7 => usart::InterruptHandler; }); -#[embassy_executor::task] -async fn writer(mut usart: Uart<'static, UART7, NoDma, NoDma>) { - unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); - info!("wrote Hello, starting echo"); - - let mut buf = [0u8; 1]; - loop { - unwrap!(usart.blocking_read(&mut buf)); - unwrap!(usart.blocking_write(&buf)); - } -} - static CHANNEL: Channel = Channel::new(); #[embassy_executor::main] @@ -50,7 +38,7 @@ async fn main(spawner: Spawner) -> ! { } #[embassy_executor::task] -async fn reader(mut rx: UartRx<'static, UART7, GPDMA1_CH1>) { +async fn reader(mut rx: UartRx<'static, UART7, Async>) { let mut buf = [0; 8]; loop { info!("reading..."); diff --git a/examples/stm32h7/src/bin/usart.rs b/examples/stm32h7/src/bin/usart.rs index f9cbad6af..cc49c2fdb 100644 --- a/examples/stm32h7/src/bin/usart.rs +++ b/examples/stm32h7/src/bin/usart.rs @@ -4,22 +4,16 @@ use cortex_m_rt::entry; use defmt::*; use embassy_executor::Executor; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; -use embassy_stm32::{bind_interrupts, peripherals, usart}; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; -bind_interrupts!(struct Irqs { - UART7 => usart::InterruptHandler; -}); - #[embassy_executor::task] async fn main_task() { let p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.UART7, p.PF6, p.PF7, Irqs, NoDma, NoDma, config).unwrap(); + let mut usart = Uart::new_blocking(p.UART7, p.PF6, p.PF7, config).unwrap(); unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); info!("wrote Hello, starting echo"); diff --git a/examples/stm32h7/src/bin/usart_dma.rs b/examples/stm32h7/src/bin/usart_dma.rs index ae1f3a2e9..6f340d40a 100644 --- a/examples/stm32h7/src/bin/usart_dma.rs +++ b/examples/stm32h7/src/bin/usart_dma.rs @@ -6,7 +6,6 @@ use core::fmt::Write; use cortex_m_rt::entry; use defmt::*; use embassy_executor::Executor; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use heapless::String; @@ -22,7 +21,7 @@ async fn main_task() { let p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.UART7, p.PF6, p.PF7, Irqs, p.DMA1_CH0, NoDma, config).unwrap(); + let mut usart = Uart::new(p.UART7, p.PF6, p.PF7, Irqs, p.DMA1_CH0, p.DMA1_CH1, config).unwrap(); for n in 0u32.. { let mut s: String<128> = String::new(); diff --git a/examples/stm32h7/src/bin/usart_split.rs b/examples/stm32h7/src/bin/usart_split.rs index b98c40877..4ad8e77ce 100644 --- a/examples/stm32h7/src/bin/usart_split.rs +++ b/examples/stm32h7/src/bin/usart_split.rs @@ -3,8 +3,8 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; -use embassy_stm32::peripherals::{DMA1_CH1, UART7}; +use embassy_stm32::mode::Async; +use embassy_stm32::peripherals::UART7; use embassy_stm32::usart::{Config, Uart, UartRx}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; @@ -15,18 +15,6 @@ bind_interrupts!(struct Irqs { UART7 => usart::InterruptHandler; }); -#[embassy_executor::task] -async fn writer(mut usart: Uart<'static, UART7, NoDma, NoDma>) { - unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); - info!("wrote Hello, starting echo"); - - let mut buf = [0u8; 1]; - loop { - unwrap!(usart.blocking_read(&mut buf)); - unwrap!(usart.blocking_write(&buf)); - } -} - static CHANNEL: Channel = Channel::new(); #[embassy_executor::main] @@ -50,7 +38,7 @@ async fn main(spawner: Spawner) -> ! { } #[embassy_executor::task] -async fn reader(mut rx: UartRx<'static, UART7, DMA1_CH1>) { +async fn reader(mut rx: UartRx<'static, UART7, Async>) { let mut buf = [0; 8]; loop { info!("reading..."); diff --git a/examples/stm32l4/src/bin/usart.rs b/examples/stm32l4/src/bin/usart.rs index 7bab23950..d9b388026 100644 --- a/examples/stm32l4/src/bin/usart.rs +++ b/examples/stm32l4/src/bin/usart.rs @@ -2,7 +2,6 @@ #![no_main] use defmt::*; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use {defmt_rtt as _, panic_probe as _}; @@ -18,7 +17,7 @@ fn main() -> ! { let p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, Irqs, NoDma, NoDma, config).unwrap(); + let mut usart = Uart::new_blocking(p.UART4, p.PA1, p.PA0, config).unwrap(); unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); info!("wrote Hello, starting echo"); diff --git a/examples/stm32l4/src/bin/usart_dma.rs b/examples/stm32l4/src/bin/usart_dma.rs index 031888f70..b4f7a1643 100644 --- a/examples/stm32l4/src/bin/usart_dma.rs +++ b/examples/stm32l4/src/bin/usart_dma.rs @@ -5,7 +5,6 @@ use core::fmt::Write; use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use heapless::String; @@ -21,7 +20,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let config = Config::default(); - let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, Irqs, p.DMA1_CH3, NoDma, config).unwrap(); + let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, Irqs, p.DMA1_CH3, p.DMA1_CH4, config).unwrap(); for n in 0u32.. { let mut s: String<128> = String::new(); -- cgit From 53cb84d3d65b96b5f92f434b113cffe62810c0ad Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Tue, 16 Apr 2024 15:24:20 +0200 Subject: Added RTC example --- examples/stm32u0/Cargo.toml | 3 ++- examples/stm32u0/src/bin/rtc.rs | 49 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 examples/stm32u0/src/bin/rtc.rs (limited to 'examples') diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml index 64fd837a2..5868372dd 100644 --- a/examples/stm32u0/Cargo.toml +++ b/examples/stm32u0/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32u083rc to your chip name, if necessary. -embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32u083rc", "memory-x", "unstable-pac", "exti"] } +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32u083rc", "memory-x", "unstable-pac", "exti", "chrono"] } embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } @@ -23,6 +23,7 @@ futures = { version = "0.3.17", default-features = false, features = ["async-awa heapless = { version = "0.8", default-features = false } micromath = "2.0.0" +chrono = { version = "0.4.38", default-features = false } [profile.release] debug = 2 diff --git a/examples/stm32u0/src/bin/rtc.rs b/examples/stm32u0/src/bin/rtc.rs new file mode 100644 index 000000000..72fa0fde4 --- /dev/null +++ b/examples/stm32u0/src/bin/rtc.rs @@ -0,0 +1,49 @@ +#![no_std] +#![no_main] + +use chrono::{NaiveDate, NaiveDateTime}; +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::rtc::{Rtc, RtcConfig}; +use embassy_stm32::Config; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.sys = Sysclk::PLL1_R; + config.rcc.hsi = true; + config.rcc.pll = Some(Pll { + source: PllSource::HSI, // 16 MHz + prediv: PllPreDiv::DIV1, + mul: PllMul::MUL7, // 16 * 7 = 112 MHz + divp: None, + divq: None, + divr: Some(PllRDiv::DIV2), // 112 / 2 = 56 MHz + }); + config.rcc.ls = LsConfig::default(); + } + + let p = embassy_stm32::init(config); + + info!("Hello World!"); + + let now = NaiveDate::from_ymd_opt(2020, 5, 15) + .unwrap() + .and_hms_opt(10, 30, 15) + .unwrap(); + + let mut rtc = Rtc::new(p.RTC, RtcConfig::default()); + info!("Got RTC! {:?}", now.and_utc().timestamp()); + + rtc.set_datetime(now.into()).expect("datetime not set"); + + // In reality the delay would be much longer + Timer::after_millis(20000).await; + + let then: NaiveDateTime = rtc.now().unwrap().into(); + info!("Got RTC! {:?}", then.and_utc().timestamp()); +} -- cgit From a5f754238b77a8ef9ec8c6ad4c59af8fa5d5b374 Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Tue, 16 Apr 2024 15:33:23 +0200 Subject: Add spi, i2c and fix usart --- examples/stm32u0/src/bin/i2c.rs | 21 +++++++++++++++++++++ examples/stm32u0/src/bin/spi.rs | 30 ++++++++++++++++++++++++++++++ examples/stm32u0/src/bin/usart.rs | 8 +------- 3 files changed, 52 insertions(+), 7 deletions(-) create mode 100644 examples/stm32u0/src/bin/i2c.rs create mode 100644 examples/stm32u0/src/bin/spi.rs (limited to 'examples') diff --git a/examples/stm32u0/src/bin/i2c.rs b/examples/stm32u0/src/bin/i2c.rs new file mode 100644 index 000000000..2861bc091 --- /dev/null +++ b/examples/stm32u0/src/bin/i2c.rs @@ -0,0 +1,21 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::i2c::I2c; +use embassy_stm32::time::Hertz; +use {defmt_rtt as _, panic_probe as _}; + +const ADDRESS: u8 = 0x5F; +const WHOAMI: u8 = 0x0F; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); + + let mut data = [0u8; 1]; + unwrap!(i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data)); + info!("Whoami: {}", data[0]); +} diff --git a/examples/stm32u0/src/bin/spi.rs b/examples/stm32u0/src/bin/spi.rs new file mode 100644 index 000000000..5693a3765 --- /dev/null +++ b/examples/stm32u0/src/bin/spi.rs @@ -0,0 +1,30 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::spi::{Config, Spi}; +use embassy_stm32::time::Hertz; +use {defmt_rtt as _, panic_probe as _}; + +#[cortex_m_rt::entry] +fn main() -> ! { + info!("Hello World!"); + + let p = embassy_stm32::init(Default::default()); + + let mut spi_config = Config::default(); + spi_config.frequency = Hertz(1_000_000); + + let mut spi = Spi::new_blocking(p.SPI3, p.PC10, p.PC12, p.PC11, spi_config); + + let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); + + loop { + let mut buf = [0x0Au8; 4]; + cs.set_low(); + unwrap!(spi.blocking_transfer_in_place(&mut buf)); + cs.set_high(); + info!("xfer {=[u8]:x}", buf); + } +} diff --git a/examples/stm32u0/src/bin/usart.rs b/examples/stm32u0/src/bin/usart.rs index 1fcf0029a..037a5c833 100644 --- a/examples/stm32u0/src/bin/usart.rs +++ b/examples/stm32u0/src/bin/usart.rs @@ -2,15 +2,9 @@ #![no_main] use defmt::*; -use embassy_stm32::dma::NoDma; use embassy_stm32::usart::{Config, Uart}; -use embassy_stm32::{bind_interrupts, peripherals, usart}; use {defmt_rtt as _, panic_probe as _}; -bind_interrupts!(struct Irqs { - USART2_LPUART2 => usart::InterruptHandler; -}); - #[cortex_m_rt::entry] fn main() -> ! { info!("Hello World!"); @@ -18,7 +12,7 @@ fn main() -> ! { let p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.USART2, p.PA3, p.PA2, Irqs, NoDma, NoDma, config).unwrap(); + let mut usart = Uart::new_blocking(p.USART2, p.PA3, p.PA2, config).unwrap(); unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); info!("wrote Hello, starting echo"); -- cgit From 90f1d29c2470d51337a3666cde2efacad3e054e5 Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Tue, 16 Apr 2024 16:36:10 +0200 Subject: Fix rng clock --- examples/stm32u0/src/bin/rng.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32u0/src/bin/rng.rs b/examples/stm32u0/src/bin/rng.rs index 9b4c2537e..89445b042 100644 --- a/examples/stm32u0/src/bin/rng.rs +++ b/examples/stm32u0/src/bin/rng.rs @@ -3,6 +3,7 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_stm32::rcc::mux::Clk48sel; use embassy_stm32::rng::Rng; use embassy_stm32::{bind_interrupts, peripherals, rng, Config}; use {defmt_rtt as _, panic_probe as _}; @@ -26,6 +27,8 @@ async fn main(_spawner: Spawner) { divr: Some(PllRDiv::DIV2), // 112 / 2 = 56 MHz }); config.rcc.sys = Sysclk::PLL1_R; + config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: false }); // needed for RNG + config.rcc.mux.clk48sel = Clk48sel::HSI48; // needed for RNG (or use MSI or PLLQ if you want) } let p = embassy_stm32::init(config); @@ -33,7 +36,6 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); let mut rng = Rng::new(p.RNG, Irqs); - info!("Hello World 2!"); let mut buf = [0u8; 16]; unwrap!(rng.async_fill_bytes(&mut buf).await); -- cgit From 4202dac8a6cc3a8ef32696d7f551025bf19cca4b Mon Sep 17 00:00:00 2001 From: James Munns Date: Tue, 16 Apr 2024 17:03:44 +0200 Subject: L4 Example: probe-run to probe-rs Reverts some change made in https://github.com/embassy-rs/embassy/pull/1792 --- examples/stm32l4/.cargo/config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32l4/.cargo/config.toml b/examples/stm32l4/.cargo/config.toml index db3a7ceff..83fc6d6f8 100644 --- a/examples/stm32l4/.cargo/config.toml +++ b/examples/stm32l4/.cargo/config.toml @@ -2,7 +2,7 @@ # replace STM32F429ZITx with your chip as listed in `probe-rs chip list` #runner = "probe-rs run --chip STM32L475VGT6" #runner = "probe-rs run --chip STM32L475VG" -runner = "probe-run --chip STM32L4S5QI" +runner = "probe-rs run --chip STM32L4S5QI" [build] target = "thumbv7em-none-eabi" -- cgit From bd13b5c0604787a52322308353bec9996f9a199d Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Tue, 16 Apr 2024 17:07:13 +0200 Subject: More probe-run -> probe-rs run. --- examples/stm32f334/.cargo/config.toml | 2 +- examples/stm32wb/.cargo/config.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f334/.cargo/config.toml b/examples/stm32f334/.cargo/config.toml index caf947be6..f38c90a31 100644 --- a/examples/stm32f334/.cargo/config.toml +++ b/examples/stm32f334/.cargo/config.toml @@ -1,6 +1,6 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] # replace STM32F429ZITx with your chip as listed in `probe-rs-cli chip list` -runner = "probe-run --chip STM32F334R8" +runner = "probe-rs run --chip STM32F334R8" [build] target = "thumbv7em-none-eabihf" diff --git a/examples/stm32wb/.cargo/config.toml b/examples/stm32wb/.cargo/config.toml index 51c499ee7..8b6d6d754 100644 --- a/examples/stm32wb/.cargo/config.toml +++ b/examples/stm32wb/.cargo/config.toml @@ -1,6 +1,6 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] # replace STM32WB55CCUx with your chip as listed in `probe-rs chip list` -# runner = "probe-run --chip STM32WB55RGVx --speed 1000 --connect-under-reset" +# runner = "probe-rs run --chip STM32WB55RGVx --speed 1000 --connect-under-reset" runner = "teleprobe local run --chip STM32WB55RG --elf" [build] -- cgit From 0a2d58ec5b8d1d7663108ebb4add02083222874b Mon Sep 17 00:00:00 2001 From: Bjorn <75190918+BjornTheProgrammer@users.noreply.github.com> Date: Sat, 20 Apr 2024 22:12:24 -0700 Subject: Added PIO pwm examples for rp Two additionally `rp` examples, `pio_pwm.rs`, which is a baremetal example of how to do pwm with pio, and `pio_servo.rs`, which is a more extended example of pwm and pio with servos. --- examples/rp/src/bin/pio_pwm.rs | 118 ++++++++++++++++++++++ examples/rp/src/bin/pio_servo.rs | 208 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 326 insertions(+) create mode 100644 examples/rp/src/bin/pio_pwm.rs create mode 100644 examples/rp/src/bin/pio_servo.rs (limited to 'examples') diff --git a/examples/rp/src/bin/pio_pwm.rs b/examples/rp/src/bin/pio_pwm.rs new file mode 100644 index 000000000..e14f243aa --- /dev/null +++ b/examples/rp/src/bin/pio_pwm.rs @@ -0,0 +1,118 @@ +//! This example shows how to create a pwm using the PIO module in the RP2040 chip. + +#![no_std] +#![no_main] +use core::time::Duration; + +use embassy_executor::Spawner; +use embassy_rp::gpio::Level; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Pio, PioPin, StateMachine}; +use embassy_rp::{bind_interrupts, clocks}; +use embassy_time::Timer; +use pio::InstructionOperands; +use {defmt_rtt as _, panic_probe as _}; + +const REFRESH_INTERVAL: u64 = 20000; + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +pub fn to_pio_cycles(duration: Duration) -> u32 { + (clocks::clk_sys_freq() / 1_000_000) / 3 * duration.as_micros() as u32 // parentheses are required to prevent overflow +} + +pub struct PwmPio<'d, T: Instance, const SM: usize> { + sm: StateMachine<'d, T, SM>, +} + +impl<'d, T: Instance, const SM: usize> PwmPio<'d, T, SM> { + pub fn attach(pio: &mut Common<'d, T>, mut sm: StateMachine<'d, T, SM>, pin: impl PioPin) -> Self { + let prg = pio_proc::pio_asm!( + ".side_set 1 opt" + "pull noblock side 0" + "mov x, osr" + "mov y, isr" + "countloop:" + "jmp x!=y noset" + "jmp skip side 1" + "noset:" + "nop" + "skip:" + "jmp y-- countloop" + ); + + pio.load_program(&prg.program); + let pin = pio.make_pio_pin(pin); + sm.set_pins(Level::High, &[&pin]); + sm.set_pin_dirs(Direction::Out, &[&pin]); + + let mut cfg = Config::default(); + cfg.use_program(&pio.load_program(&prg.program), &[&pin]); + + sm.set_config(&cfg); + + Self { sm } + } + + pub fn start(&mut self) { + self.sm.set_enable(true); + } + + pub fn stop(&mut self) { + self.sm.set_enable(false); + } + + pub fn set_period(&mut self, duration: Duration) { + let is_enabled = self.sm.is_enabled(); + while !self.sm.tx().empty() {} // Make sure that the queue is empty + self.sm.set_enable(false); + self.sm.tx().push(to_pio_cycles(duration)); + unsafe { + self.sm.exec_instr( + InstructionOperands::PULL { + if_empty: false, + block: false, + } + .encode(), + ); + self.sm.exec_instr( + InstructionOperands::OUT { + destination: ::pio::OutDestination::ISR, + bit_count: 32, + } + .encode(), + ); + }; + if is_enabled { + self.sm.set_enable(true) // Enable if previously enabled + } + } + + pub fn set_level(&mut self, level: u32) { + self.sm.tx().push(level); + } + + pub fn write(&mut self, duration: Duration) { + self.set_level(to_pio_cycles(duration)); + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let Pio { mut common, sm0, .. } = Pio::new(p.PIO0, Irqs); + + // Note that PIN_25 is the led pin on the Pico + let mut pwm_pio = PwmPio::attach(&mut common, sm0, p.PIN_25); + pwm_pio.set_period(Duration::from_micros(REFRESH_INTERVAL)); + pwm_pio.start(); + + let mut duration = 0; + loop { + duration = (duration + 1) % 1000; + pwm_pio.write(Duration::from_micros(duration)); + Timer::after_millis(1).await; + } +} diff --git a/examples/rp/src/bin/pio_servo.rs b/examples/rp/src/bin/pio_servo.rs new file mode 100644 index 000000000..47c3121fc --- /dev/null +++ b/examples/rp/src/bin/pio_servo.rs @@ -0,0 +1,208 @@ +//! This example shows how to create a pwm using the PIO module in the RP2040 chip. + +#![no_std] +#![no_main] +use core::time::Duration; + +use embassy_executor::Spawner; +use embassy_rp::gpio::Level; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Pio, PioPin, StateMachine}; +use embassy_rp::{bind_interrupts, clocks}; +use embassy_time::Timer; +use pio::InstructionOperands; +use {defmt_rtt as _, panic_probe as _}; + +const DEFAULT_MIN_PULSE_WIDTH: u64 = 1000; // uncalibrated default, the shortest duty cycle sent to a servo +const DEFAULT_MAX_PULSE_WIDTH: u64 = 2000; // uncalibrated default, the longest duty cycle sent to a servo +const DEFAULT_MAX_DEGREE_ROTATION: u64 = 160; // 160 degrees is typical +const REFRESH_INTERVAL: u64 = 20000; // The period of each cycle + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +pub fn to_pio_cycles(duration: Duration) -> u32 { + (clocks::clk_sys_freq() / 1_000_000) / 3 * duration.as_micros() as u32 // parentheses are required to prevent overflow +} + +pub struct PwmPio<'d, T: Instance, const SM: usize> { + sm: StateMachine<'d, T, SM>, +} + +impl<'d, T: Instance, const SM: usize> PwmPio<'d, T, SM> { + pub fn attach(pio: &mut Common<'d, T>, mut sm: StateMachine<'d, T, SM>, pin: impl PioPin) -> Self { + let prg = pio_proc::pio_asm!( + ".side_set 1 opt" + "pull noblock side 0" + "mov x, osr" + "mov y, isr" + "countloop:" + "jmp x!=y noset" + "jmp skip side 1" + "noset:" + "nop" + "skip:" + "jmp y-- countloop" + ); + + pio.load_program(&prg.program); + let pin = pio.make_pio_pin(pin); + sm.set_pins(Level::High, &[&pin]); + sm.set_pin_dirs(Direction::Out, &[&pin]); + + let mut cfg = Config::default(); + cfg.use_program(&pio.load_program(&prg.program), &[&pin]); + + sm.set_config(&cfg); + + Self { sm } + } + + pub fn start(&mut self) { + self.sm.set_enable(true); + } + + pub fn stop(&mut self) { + self.sm.set_enable(false); + } + + pub fn set_period(&mut self, duration: Duration) { + let is_enabled = self.sm.is_enabled(); + while !self.sm.tx().empty() {} // Make sure that the queue is empty + self.sm.set_enable(false); + self.sm.tx().push(to_pio_cycles(duration)); + unsafe { + self.sm.exec_instr( + InstructionOperands::PULL { + if_empty: false, + block: false, + } + .encode(), + ); + self.sm.exec_instr( + InstructionOperands::OUT { + destination: ::pio::OutDestination::ISR, + bit_count: 32, + } + .encode(), + ); + }; + if is_enabled { + self.sm.set_enable(true) // Enable if previously enabled + } + } + + pub fn set_level(&mut self, level: u32) { + self.sm.tx().push(level); + } + + pub fn write(&mut self, duration: Duration) { + self.set_level(to_pio_cycles(duration)); + } +} + +pub struct ServoBuilder<'d, T: Instance, const SM: usize> { + pwm: PwmPio<'d, T, SM>, + period: Duration, + min_pulse_width: Duration, + max_pulse_width: Duration, + max_degree_rotation: u64, +} + +impl<'d, T: Instance, const SM: usize> ServoBuilder<'d, T, SM> { + pub fn new(pwm: PwmPio<'d, T, SM>) -> Self { + Self { + pwm, + period: Duration::from_micros(REFRESH_INTERVAL), + min_pulse_width: Duration::from_micros(DEFAULT_MIN_PULSE_WIDTH), + max_pulse_width: Duration::from_micros(DEFAULT_MAX_PULSE_WIDTH), + max_degree_rotation: DEFAULT_MAX_DEGREE_ROTATION, + } + } + + pub fn set_period(mut self, duration: Duration) -> Self { + self.period = duration; + self + } + + pub fn set_min_pulse_width(mut self, duration: Duration) -> Self { + self.min_pulse_width = duration; + self + } + + pub fn set_max_pulse_width(mut self, duration: Duration) -> Self { + self.max_pulse_width = duration; + self + } + + pub fn set_max_degree_rotation(mut self, degree: u64) -> Self { + self.max_degree_rotation = degree; + self + } + + pub fn build(mut self) -> Servo<'d, T, SM> { + self.pwm.set_period(self.period); + Servo { + pwm: self.pwm, + min_pulse_width: self.min_pulse_width, + max_pulse_width: self.max_pulse_width, + max_degree_rotation: self.max_degree_rotation, + } + } +} + +pub struct Servo<'d, T: Instance, const SM: usize> { + pwm: PwmPio<'d, T, SM>, + min_pulse_width: Duration, + max_pulse_width: Duration, + max_degree_rotation: u64, +} + +impl<'d, T: Instance, const SM: usize> Servo<'d, T, SM> { + pub fn start(&mut self) { + self.pwm.start(); + } + + pub fn stop(&mut self) { + self.pwm.stop(); + } + + pub fn write_time(&mut self, duration: Duration) { + self.pwm.write(duration); + } + + pub fn rotate(&mut self, degree: u64) { + let degree_per_nano_second = (self.max_pulse_width.as_nanos() as u64 - self.min_pulse_width.as_nanos() as u64) + / self.max_degree_rotation; + let mut duration = + Duration::from_nanos(degree * degree_per_nano_second + self.min_pulse_width.as_nanos() as u64); + if self.max_pulse_width < duration { + duration = self.max_pulse_width; + } + + self.pwm.write(duration); + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let Pio { mut common, sm0, .. } = Pio::new(p.PIO0, Irqs); + + let pwm_pio = PwmPio::attach(&mut common, sm0, p.PIN_1); + let mut servo = ServoBuilder::new(pwm_pio) + .set_max_degree_rotation(120) // Example of adjusting values for MG996R servo + .set_min_pulse_width(Duration::from_micros(350)) // This value was detemined by a rough experiment. + .set_max_pulse_width(Duration::from_micros(2600)) // Along with this value. + .build(); + + servo.start(); + + let mut degree = 0; + loop { + degree = (degree + 1) % 120; + servo.rotate(degree); + Timer::after_millis(50).await; + } +} -- cgit From d2ba751c06725c62a576da9a27be301666118955 Mon Sep 17 00:00:00 2001 From: Bjorn <75190918+BjornTheProgrammer@users.noreply.github.com> Date: Sun, 21 Apr 2024 10:00:57 -0700 Subject: Changed attach to new --- examples/rp/src/bin/pio_pwm.rs | 4 ++-- examples/rp/src/bin/pio_servo.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/pio_pwm.rs b/examples/rp/src/bin/pio_pwm.rs index e14f243aa..23d63d435 100644 --- a/examples/rp/src/bin/pio_pwm.rs +++ b/examples/rp/src/bin/pio_pwm.rs @@ -28,7 +28,7 @@ pub struct PwmPio<'d, T: Instance, const SM: usize> { } impl<'d, T: Instance, const SM: usize> PwmPio<'d, T, SM> { - pub fn attach(pio: &mut Common<'d, T>, mut sm: StateMachine<'d, T, SM>, pin: impl PioPin) -> Self { + pub fn new(pio: &mut Common<'d, T>, mut sm: StateMachine<'d, T, SM>, pin: impl PioPin) -> Self { let prg = pio_proc::pio_asm!( ".side_set 1 opt" "pull noblock side 0" @@ -105,7 +105,7 @@ async fn main(_spawner: Spawner) { let Pio { mut common, sm0, .. } = Pio::new(p.PIO0, Irqs); // Note that PIN_25 is the led pin on the Pico - let mut pwm_pio = PwmPio::attach(&mut common, sm0, p.PIN_25); + let mut pwm_pio = PwmPio::new(&mut common, sm0, p.PIN_25); pwm_pio.set_period(Duration::from_micros(REFRESH_INTERVAL)); pwm_pio.start(); diff --git a/examples/rp/src/bin/pio_servo.rs b/examples/rp/src/bin/pio_servo.rs index 47c3121fc..a79540479 100644 --- a/examples/rp/src/bin/pio_servo.rs +++ b/examples/rp/src/bin/pio_servo.rs @@ -31,7 +31,7 @@ pub struct PwmPio<'d, T: Instance, const SM: usize> { } impl<'d, T: Instance, const SM: usize> PwmPio<'d, T, SM> { - pub fn attach(pio: &mut Common<'d, T>, mut sm: StateMachine<'d, T, SM>, pin: impl PioPin) -> Self { + pub fn new(pio: &mut Common<'d, T>, mut sm: StateMachine<'d, T, SM>, pin: impl PioPin) -> Self { let prg = pio_proc::pio_asm!( ".side_set 1 opt" "pull noblock side 0" @@ -190,7 +190,7 @@ async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); let Pio { mut common, sm0, .. } = Pio::new(p.PIO0, Irqs); - let pwm_pio = PwmPio::attach(&mut common, sm0, p.PIN_1); + let pwm_pio = PwmPio::new(&mut common, sm0, p.PIN_1); let mut servo = ServoBuilder::new(pwm_pio) .set_max_degree_rotation(120) // Example of adjusting values for MG996R servo .set_min_pulse_width(Duration::from_micros(350)) // This value was detemined by a rough experiment. -- cgit From 896d0e7cd846971eb472555eb13ebe28e0b2d536 Mon Sep 17 00:00:00 2001 From: Joël Schulz-Ansres Date: Mon, 22 Apr 2024 00:52:37 +0200 Subject: Add comment on vbus_detection to all USB examples --- examples/stm32f4/src/bin/usb_ethernet.rs | 13 +++++++++++++ examples/stm32f4/src/bin/usb_hid_keyboard.rs | 14 +++++++++++++- examples/stm32f4/src/bin/usb_hid_mouse.rs | 13 +++++++++++++ examples/stm32f4/src/bin/usb_raw.rs | 13 +++++++++++++ examples/stm32f4/src/bin/usb_serial.rs | 13 +++++++++++++ examples/stm32f7/src/bin/usb_serial.rs | 13 +++++++++++++ examples/stm32h7/src/bin/usb_serial.rs | 13 +++++++++++++ examples/stm32l4/src/bin/usb_serial.rs | 13 +++++++++++++ 8 files changed, 104 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs index d2cbeea1b..284c74564 100644 --- a/examples/stm32f4/src/bin/usb_ethernet.rs +++ b/examples/stm32f4/src/bin/usb_ethernet.rs @@ -40,6 +40,11 @@ bind_interrupts!(struct Irqs { HASH_RNG => rng::InterruptHandler; }); +// If you are trying this and your USB device doesn't connect, the most +// common issues are the RCC config and vbus_detection +// +// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// for more information. #[embassy_executor::main] async fn main(spawner: Spawner) { info!("Hello World!"); @@ -71,7 +76,15 @@ async fn main(spawner: Spawner) { static OUTPUT_BUFFER: StaticCell<[u8; 256]> = StaticCell::new(); let ep_out_buffer = &mut OUTPUT_BUFFER.init([0; 256])[..]; let mut config = embassy_stm32::usb::Config::default(); + + // Enable vbus_detection + // Note: some boards don't have this wired up and might not require it, + // as they are powered through usb! + // If you hang on boot, try setting this to "false"! + // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure + // for more information config.vbus_detection = true; + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index d6e0be5ea..4d9086156 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -21,6 +21,11 @@ bind_interrupts!(struct Irqs { OTG_FS => usb::InterruptHandler; }); +// If you are trying this and your USB device doesn't connect, the most +// common issues are the RCC config and vbus_detection +// +// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); @@ -49,8 +54,15 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); - // If the board you’re using doesn’t have the VBUS pin wired up correctly for detecting the USB bus voltage (e.g. on the f4 blackpill board), set this to false + + // Enable vbus_detection + // Note: some boards don't have this wired up and might not require it, + // as they are powered through usb! + // If you hang on boot, try setting this to "false"! + // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure + // for more information config.vbus_detection = true; + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index 0bc236119..2b8e2f147 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -18,6 +18,11 @@ bind_interrupts!(struct Irqs { OTG_FS => usb::InterruptHandler; }); +// If you are trying this and your USB device doesn't connect, the most +// common issues are the RCC config and vbus_detection +// +// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); @@ -46,7 +51,15 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); + + // Enable vbus_detection + // Note: some boards don't have this wired up and might not require it, + // as they are powered through usb! + // If you hang on boot, try setting this to "false"! + // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure + // for more information config.vbus_detection = true; + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32f4/src/bin/usb_raw.rs b/examples/stm32f4/src/bin/usb_raw.rs index 4e583aeb8..00fdff2bf 100644 --- a/examples/stm32f4/src/bin/usb_raw.rs +++ b/examples/stm32f4/src/bin/usb_raw.rs @@ -69,6 +69,11 @@ bind_interrupts!(struct Irqs { OTG_FS => usb::InterruptHandler; }); +// If you are trying this and your USB device doesn't connect, the most +// common issues are the RCC config and vbus_detection +// +// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { info!("Hello World!"); @@ -99,7 +104,15 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); + + // Enable vbus_detection + // Note: some boards don't have this wired up and might not require it, + // as they are powered through usb! + // If you hang on boot, try setting this to "false"! + // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure + // for more information config.vbus_detection = true; + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32f4/src/bin/usb_serial.rs b/examples/stm32f4/src/bin/usb_serial.rs index f3a375d31..94c6a4301 100644 --- a/examples/stm32f4/src/bin/usb_serial.rs +++ b/examples/stm32f4/src/bin/usb_serial.rs @@ -16,6 +16,11 @@ bind_interrupts!(struct Irqs { OTG_FS => usb::InterruptHandler; }); +// If you are trying this and your USB device doesn't connect, the most +// common issues are the RCC config and vbus_detection +// +// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { info!("Hello World!"); @@ -46,7 +51,15 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); + + // Enable vbus_detection + // Note: some boards don't have this wired up and might not require it, + // as they are powered through usb! + // If you hang on boot, try setting this to "false"! + // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure + // for more information config.vbus_detection = true; + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32f7/src/bin/usb_serial.rs b/examples/stm32f7/src/bin/usb_serial.rs index 39a5512f4..bb42f4cc8 100644 --- a/examples/stm32f7/src/bin/usb_serial.rs +++ b/examples/stm32f7/src/bin/usb_serial.rs @@ -16,6 +16,11 @@ bind_interrupts!(struct Irqs { OTG_FS => usb::InterruptHandler; }); +// If you are trying this and your USB device doesn't connect, the most +// common issues are the RCC config and vbus_detection +// +// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { info!("Hello World!"); @@ -46,7 +51,15 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); + + // Enable vbus_detection + // Note: some boards don't have this wired up and might not require it, + // as they are powered through usb! + // If you hang on boot, try setting this to "false"! + // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure + // for more information config.vbus_detection = true; + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32h7/src/bin/usb_serial.rs b/examples/stm32h7/src/bin/usb_serial.rs index 576506ad3..725c9bb02 100644 --- a/examples/stm32h7/src/bin/usb_serial.rs +++ b/examples/stm32h7/src/bin/usb_serial.rs @@ -15,6 +15,11 @@ bind_interrupts!(struct Irqs { OTG_FS => usb::InterruptHandler; }); +// If you are trying this and your USB device doesn't connect, the most +// common issues are the RCC config and vbus_detection +// +// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { info!("Hello World!"); @@ -47,7 +52,15 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); + + // Enable vbus_detection + // Note: some boards don't have this wired up and might not require it, + // as they are powered through usb! + // If you hang on boot, try setting this to "false"! + // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure + // for more information config.vbus_detection = true; + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs index 198504b59..58229d0be 100644 --- a/examples/stm32l4/src/bin/usb_serial.rs +++ b/examples/stm32l4/src/bin/usb_serial.rs @@ -16,6 +16,11 @@ bind_interrupts!(struct Irqs { OTG_FS => usb::InterruptHandler; }); +// If you are trying this and your USB device doesn't connect, the most +// common issues are the RCC config and vbus_detection +// +// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { info!("Hello World!"); @@ -41,7 +46,15 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); + + // Enable vbus_detection + // Note: some boards don't have this wired up and might not require it, + // as they are powered through usb! + // If you hang on boot, try setting this to "false"! + // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure + // for more information config.vbus_detection = true; + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config -- cgit From 01b36a44348dc8c065fdeb8787ac5a97ca8197f3 Mon Sep 17 00:00:00 2001 From: Joël Schulz-Ansres Date: Mon, 22 Apr 2024 01:06:59 +0200 Subject: rustfmt usb examples --- examples/stm32f4/src/bin/usb_ethernet.rs | 2 +- examples/stm32f4/src/bin/usb_hid_keyboard.rs | 4 ++-- examples/stm32f4/src/bin/usb_hid_mouse.rs | 2 +- examples/stm32f4/src/bin/usb_raw.rs | 4 ++-- examples/stm32f4/src/bin/usb_serial.rs | 4 ++-- examples/stm32f7/src/bin/usb_serial.rs | 4 ++-- examples/stm32h7/src/bin/usb_serial.rs | 4 ++-- examples/stm32l4/src/bin/usb_serial.rs | 2 +- 8 files changed, 13 insertions(+), 13 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs index 284c74564..34e58f282 100644 --- a/examples/stm32f4/src/bin/usb_ethernet.rs +++ b/examples/stm32f4/src/bin/usb_ethernet.rs @@ -79,7 +79,7 @@ async fn main(spawner: Spawner) { // Enable vbus_detection // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! + // as they are powered through usb! // If you hang on boot, try setting this to "false"! // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index 4d9086156..7067d15a3 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -57,12 +57,12 @@ async fn main(_spawner: Spawner) { // Enable vbus_detection // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! + // as they are powered through usb! // If you hang on boot, try setting this to "false"! // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information config.vbus_detection = true; - + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index 2b8e2f147..0d04d2a9c 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -54,7 +54,7 @@ async fn main(_spawner: Spawner) { // Enable vbus_detection // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! + // as they are powered through usb! // If you hang on boot, try setting this to "false"! // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information diff --git a/examples/stm32f4/src/bin/usb_raw.rs b/examples/stm32f4/src/bin/usb_raw.rs index 00fdff2bf..d058abdd0 100644 --- a/examples/stm32f4/src/bin/usb_raw.rs +++ b/examples/stm32f4/src/bin/usb_raw.rs @@ -107,12 +107,12 @@ async fn main(_spawner: Spawner) { // Enable vbus_detection // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! + // as they are powered through usb! // If you hang on boot, try setting this to "false"! // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information config.vbus_detection = true; - + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32f4/src/bin/usb_serial.rs b/examples/stm32f4/src/bin/usb_serial.rs index 94c6a4301..25806dd85 100644 --- a/examples/stm32f4/src/bin/usb_serial.rs +++ b/examples/stm32f4/src/bin/usb_serial.rs @@ -54,12 +54,12 @@ async fn main(_spawner: Spawner) { // Enable vbus_detection // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! + // as they are powered through usb! // If you hang on boot, try setting this to "false"! // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information config.vbus_detection = true; - + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32f7/src/bin/usb_serial.rs b/examples/stm32f7/src/bin/usb_serial.rs index bb42f4cc8..2fee561c7 100644 --- a/examples/stm32f7/src/bin/usb_serial.rs +++ b/examples/stm32f7/src/bin/usb_serial.rs @@ -54,12 +54,12 @@ async fn main(_spawner: Spawner) { // Enable vbus_detection // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! + // as they are powered through usb! // If you hang on boot, try setting this to "false"! // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information config.vbus_detection = true; - + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32h7/src/bin/usb_serial.rs b/examples/stm32h7/src/bin/usb_serial.rs index 725c9bb02..872ff815c 100644 --- a/examples/stm32h7/src/bin/usb_serial.rs +++ b/examples/stm32h7/src/bin/usb_serial.rs @@ -55,12 +55,12 @@ async fn main(_spawner: Spawner) { // Enable vbus_detection // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! + // as they are powered through usb! // If you hang on boot, try setting this to "false"! // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information config.vbus_detection = true; - + let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); // Create embassy-usb Config diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs index 58229d0be..b905fc66f 100644 --- a/examples/stm32l4/src/bin/usb_serial.rs +++ b/examples/stm32l4/src/bin/usb_serial.rs @@ -49,7 +49,7 @@ async fn main(_spawner: Spawner) { // Enable vbus_detection // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! + // as they are powered through usb! // If you hang on boot, try setting this to "false"! // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information -- cgit From 846abfae2b8a24715542d57d4e6ea4386607d845 Mon Sep 17 00:00:00 2001 From: Torin Cooper-Bennun Date: Fri, 19 Apr 2024 15:20:04 +0100 Subject: examples: stm32: can: fix build --- examples/stm32g4/src/bin/can.rs | 4 ++-- examples/stm32h5/src/bin/can.rs | 2 +- examples/stm32h7/src/bin/can.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/can.rs b/examples/stm32g4/src/bin/can.rs index 2ed632a93..7836334af 100644 --- a/examples/stm32g4/src/bin/can.rs +++ b/examples/stm32g4/src/bin/can.rs @@ -38,7 +38,7 @@ async fn main(_spawner: Spawner) { let mut can = can::CanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); - can.set_extended_filter( + can.properties().set_extended_filter( can::filter::ExtendedFilterSlot::_0, can::filter::ExtendedFilter::accept_all_into_fifo1(), ); @@ -128,7 +128,7 @@ async fn main(_spawner: Spawner) { } } i = 0; - let (mut tx, mut rx) = can.split(); + let (mut tx, mut rx, _props) = can.split(); // With split loop { let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); diff --git a/examples/stm32h5/src/bin/can.rs b/examples/stm32h5/src/bin/can.rs index dd625c90a..dc77ec3bf 100644 --- a/examples/stm32h5/src/bin/can.rs +++ b/examples/stm32h5/src/bin/can.rs @@ -67,7 +67,7 @@ async fn main(_spawner: Spawner) { } } - let (mut tx, mut rx) = can.split(); + let (mut tx, mut rx, _props) = can.split(); // With split loop { let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); diff --git a/examples/stm32h7/src/bin/can.rs b/examples/stm32h7/src/bin/can.rs index 22cb27481..a889d5860 100644 --- a/examples/stm32h7/src/bin/can.rs +++ b/examples/stm32h7/src/bin/can.rs @@ -67,7 +67,7 @@ async fn main(_spawner: Spawner) { } } - let (mut tx, mut rx) = can.split(); + let (mut tx, mut rx, _props) = can.split(); // With split loop { let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); -- cgit From 0d0d8e14e2b0e81307ff70c5a31e300785da19f9 Mon Sep 17 00:00:00 2001 From: James Munns Date: Tue, 23 Apr 2024 19:48:16 +0200 Subject: Update dependent versions --- examples/boot/application/stm32wb-dfu/Cargo.toml | 2 +- examples/boot/bootloader/stm32wb-dfu/Cargo.toml | 2 +- examples/nrf52840/Cargo.toml | 2 +- examples/nrf5340/Cargo.toml | 2 +- examples/rp/Cargo.toml | 2 +- examples/stm32f1/Cargo.toml | 2 +- examples/stm32f3/Cargo.toml | 2 +- examples/stm32f334/Cargo.toml | 2 +- examples/stm32f4/Cargo.toml | 2 +- examples/stm32f7/Cargo.toml | 2 +- examples/stm32g0/Cargo.toml | 2 +- examples/stm32g4/Cargo.toml | 2 +- examples/stm32h5/Cargo.toml | 2 +- examples/stm32h7/Cargo.toml | 2 +- examples/stm32l1/Cargo.toml | 2 +- examples/stm32l4/Cargo.toml | 2 +- examples/stm32l5/Cargo.toml | 2 +- examples/stm32u0/Cargo.toml | 2 +- examples/stm32u5/Cargo.toml | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/stm32wb-dfu/Cargo.toml b/examples/boot/application/stm32wb-dfu/Cargo.toml index 0bdf94331..84d6d04c1 100644 --- a/examples/boot/application/stm32wb-dfu/Cargo.toml +++ b/examples/boot/application/stm32wb-dfu/Cargo.toml @@ -11,7 +11,7 @@ embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } -embassy-usb = { version = "0.1.0", path = "../../../../embassy-usb" } +embassy-usb = { version = "0.2.0", path = "../../../../embassy-usb" } embassy-usb-dfu = { version = "0.1.0", path = "../../../../embassy-usb-dfu", features = ["application", "cortex-m"] } defmt = { version = "0.3", optional = true } diff --git a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml index 854f94d85..27b6b46df 100644 --- a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml +++ b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml @@ -18,7 +18,7 @@ embedded-storage = "0.3.1" embedded-storage-async = "0.4.0" cfg-if = "1.0.0" embassy-usb-dfu = { version = "0.1.0", path = "../../../../embassy-usb-dfu", features = ["dfu", "cortex-m"] } -embassy-usb = { version = "0.1.0", path = "../../../../embassy-usb", default-features = false } +embassy-usb = { version = "0.2.0", path = "../../../../embassy-usb", default-features = false } embassy-futures = { version = "0.1.1", path = "../../../../embassy-futures" } [features] diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index 4ab5c7b7c..f0553a92d 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml @@ -11,7 +11,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embedded-io = { version = "0.6.0", features = ["defmt-03"] } embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } embassy-net-esp-hosted = { version = "0.1.0", path = "../../embassy-net-esp-hosted", features = ["defmt"] } diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index 24aa560d5..1d994d925 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml @@ -11,7 +11,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embedded-io-async = { version = "0.6.1" } defmt = "0.3" diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 0f58f143c..d5263deb8 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -11,7 +11,7 @@ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet"] } embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml index 4f282f326..712ce246d 100644 --- a/examples/stm32f1/Cargo.toml +++ b/examples/stm32f1/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml index 64bb2e560..5b457a5ae 100644 --- a/examples/stm32f3/Cargo.toml +++ b/examples/stm32f3/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32f334/Cargo.toml b/examples/stm32f334/Cargo.toml index 3e5a7cc8c..b8b06afa2 100644 --- a/examples/stm32f334/Cargo.toml +++ b/examples/stm32f334/Cargo.toml @@ -9,7 +9,7 @@ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f334r8", "unstable-pac", "memory-x", "time-driver-any", "exti"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 512158bef..e6a9141e7 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [" embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt" ] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt" ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } defmt = "0.3" diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index 305816a2b..0a217e9ad 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml @@ -12,7 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embedded-io-async = { version = "0.6.1" } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml index 6ce3418e5..ccc5143aa 100644 --- a/examples/stm32g0/Cargo.toml +++ b/examples/stm32g0/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index 64c749b9b..2d702aeb5 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } usbd-hid = "0.7.0" diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml index c9f08d24e..ea5cca80f 100644 --- a/examples/stm32h5/Cargo.toml +++ b/examples/stm32h5/Cargo.toml @@ -11,7 +11,7 @@ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 84a89b378..05c284fc0 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -11,7 +11,7 @@ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml index 322c41262..5ec1ee5db 100644 --- a/examples/stm32l1/Cargo.toml +++ b/examples/stm32l1/Cargo.toml @@ -9,7 +9,7 @@ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml index d42e69578..dd7292f7f 100644 --- a/examples/stm32l4/Cargo.toml +++ b/examples/stm32l4/Cargo.toml @@ -11,7 +11,7 @@ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net-adin1110 = { version = "0.2.0", path = "../../embassy-net-adin1110" } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "tcp", "dhcpv4", "medium-ethernet"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml index 5bcee178f..9f3b28cbe 100644 --- a/examples/stm32l5/Cargo.toml +++ b/examples/stm32l5/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } usbd-hid = "0.7.0" diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml index 5868372dd..6e16eb478 100644 --- a/examples/stm32u0/Cargo.toml +++ b/examples/stm32u0/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml index 01320b88d..3cbce74a7 100644 --- a/examples/stm32u5/Cargo.toml +++ b/examples/stm32u5/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [" embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.1.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } defmt = "0.3" defmt-rtt = "0.4" -- cgit From 597315873dbef394ae4cefe0af740fcb1bb951e0 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 26 Apr 2024 22:59:50 +0200 Subject: Remove leftover `cargo new` boilerplate. --- examples/stm32f0/Cargo.toml | 2 -- 1 file changed, 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f0/Cargo.toml b/examples/stm32f0/Cargo.toml index c74980dc4..cabeca687 100644 --- a/examples/stm32f0/Cargo.toml +++ b/examples/stm32f0/Cargo.toml @@ -4,8 +4,6 @@ version = "0.1.0" edition = "2021" license = "MIT OR Apache-2.0" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] # Change stm32f091rc to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "memory-x", "stm32f091rc", "time-driver-any", "exti", "unstable-pac"] } -- cgit From 5732ee7ca975c0dd1afa83ade1667a2599d20985 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 26 Apr 2024 23:18:28 +0200 Subject: Reduce use of the full `futures` crate. --- examples/nrf-rtos-trace/Cargo.toml | 1 - examples/nrf52840-rtic/Cargo.toml | 1 - examples/nrf52840/Cargo.toml | 1 - examples/nrf52840/src/bin/gpiote_channel.rs | 2 +- examples/nrf5340/Cargo.toml | 1 - examples/nrf5340/src/bin/gpiote_channel.rs | 2 +- examples/rp/Cargo.toml | 1 - examples/stm32c0/Cargo.toml | 1 - examples/stm32f1/Cargo.toml | 1 - examples/stm32f2/Cargo.toml | 1 - examples/stm32f3/Cargo.toml | 1 - examples/stm32f334/Cargo.toml | 1 - examples/stm32f4/Cargo.toml | 3 ++- examples/stm32f4/src/bin/i2c_comparison.rs | 2 +- examples/stm32f4/src/bin/usb_hid_keyboard.rs | 2 +- examples/stm32f4/src/bin/usb_hid_mouse.rs | 2 +- examples/stm32f4/src/bin/usb_serial.rs | 2 +- examples/stm32f7/Cargo.toml | 2 +- examples/stm32f7/src/bin/usb_serial.rs | 2 +- examples/stm32g0/Cargo.toml | 1 - examples/stm32g4/Cargo.toml | 1 - examples/stm32g4/src/bin/usb_serial.rs | 2 +- examples/stm32h5/Cargo.toml | 2 +- examples/stm32h5/src/bin/usb_serial.rs | 2 +- examples/stm32h7/Cargo.toml | 2 +- examples/stm32h7/src/bin/usb_serial.rs | 2 +- examples/stm32l0/Cargo.toml | 1 - examples/stm32l1/Cargo.toml | 2 +- examples/stm32l1/src/bin/usb_serial.rs | 2 +- examples/stm32l4/Cargo.toml | 1 - examples/stm32l4/src/bin/usb_serial.rs | 2 +- examples/stm32l5/Cargo.toml | 1 - examples/stm32u0/Cargo.toml | 2 +- examples/stm32u0/src/bin/usb_serial.rs | 2 +- examples/stm32u5/Cargo.toml | 2 +- examples/stm32u5/src/bin/usb_serial.rs | 2 +- examples/stm32wb/Cargo.toml | 1 - examples/stm32wba/Cargo.toml | 1 - examples/stm32wl/Cargo.toml | 1 - 39 files changed, 22 insertions(+), 39 deletions(-) (limited to 'examples') diff --git a/examples/nrf-rtos-trace/Cargo.toml b/examples/nrf-rtos-trace/Cargo.toml index 17210994b..f3a3f64af 100644 --- a/examples/nrf-rtos-trace/Cargo.toml +++ b/examples/nrf-rtos-trace/Cargo.toml @@ -23,7 +23,6 @@ embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["nrf5 cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } cortex-m-rt = "0.7.0" panic-probe = { version = "0.3" } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } rand = { version = "0.8.4", default-features = false } serde = { version = "1.0.136", default-features = false } rtos-trace = "0.1.3" diff --git a/examples/nrf52840-rtic/Cargo.toml b/examples/nrf52840-rtic/Cargo.toml index d91f58d0e..a0687fa1e 100644 --- a/examples/nrf52840-rtic/Cargo.toml +++ b/examples/nrf52840-rtic/Cargo.toml @@ -18,7 +18,6 @@ defmt-rtt = "0.4" cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } cortex-m-rt = "0.7.0" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } [profile.release] debug = 2 diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index f0553a92d..d693c5a02 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml @@ -25,7 +25,6 @@ static_cell = { version = "2" } cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } cortex-m-rt = "0.7.0" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } rand = { version = "0.8.4", default-features = false } embedded-storage = "0.3.1" usbd-hid = "0.7.0" diff --git a/examples/nrf52840/src/bin/gpiote_channel.rs b/examples/nrf52840/src/bin/gpiote_channel.rs index e254d613d..dcfe7723a 100644 --- a/examples/nrf52840/src/bin/gpiote_channel.rs +++ b/examples/nrf52840/src/bin/gpiote_channel.rs @@ -61,5 +61,5 @@ async fn main(_spawner: Spawner) { } }; - futures::join!(button1, button2, button3, button4); + embassy_futures::join::join4(button1, button2, button3, button4).await; } diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index 1d994d925..0d3e39fe5 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml @@ -21,7 +21,6 @@ static_cell = "2" cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } cortex-m-rt = "0.7.0" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } rand = { version = "0.8.4", default-features = false } embedded-storage = "0.3.1" usbd-hid = "0.7.0" diff --git a/examples/nrf5340/src/bin/gpiote_channel.rs b/examples/nrf5340/src/bin/gpiote_channel.rs index c0a55142f..23f6fca98 100644 --- a/examples/nrf5340/src/bin/gpiote_channel.rs +++ b/examples/nrf5340/src/bin/gpiote_channel.rs @@ -61,5 +61,5 @@ async fn main(_spawner: Spawner) { } }; - futures::join!(button1, button2, button3, button4); + embassy_futures::join::join4(button1, button2, button3, button4).await; } diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index d5263deb8..ae6746dce 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -28,7 +28,6 @@ fixed-macro = "1.2" cortex-m = { version = "0.7.6", features = ["inline-asm"] } cortex-m-rt = "0.7.0" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await", "cfg-target-has-atomic", "unstable"] } display-interface-spi = "0.4.1" embedded-graphics = "0.7.1" st7789 = "0.6.1" diff --git a/examples/stm32c0/Cargo.toml b/examples/stm32c0/Cargo.toml index 7a3e03b75..aaca857ae 100644 --- a/examples/stm32c0/Cargo.toml +++ b/examples/stm32c0/Cargo.toml @@ -18,7 +18,6 @@ cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } [profile.release] diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml index 712ce246d..55051703b 100644 --- a/examples/stm32f1/Cargo.toml +++ b/examples/stm32f1/Cargo.toml @@ -20,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } nb = "1.0.0" static_cell = "2.0.0" diff --git a/examples/stm32f2/Cargo.toml b/examples/stm32f2/Cargo.toml index 4cbf1dc84..86921580a 100644 --- a/examples/stm32f2/Cargo.toml +++ b/examples/stm32f2/Cargo.toml @@ -18,7 +18,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } nb = "1.0.0" diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml index 5b457a5ae..2cfb19c42 100644 --- a/examples/stm32f3/Cargo.toml +++ b/examples/stm32f3/Cargo.toml @@ -20,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } nb = "1.0.0" embedded-storage = "0.3.1" diff --git a/examples/stm32f334/Cargo.toml b/examples/stm32f334/Cargo.toml index b8b06afa2..7c067e140 100644 --- a/examples/stm32f334/Cargo.toml +++ b/examples/stm32f334/Cargo.toml @@ -19,7 +19,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } nb = "1.0.0" embedded-storage = "0.3.1" diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index e6a9141e7..64ac50818 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -12,6 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt" ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" defmt-rtt = "0.4" @@ -22,7 +23,7 @@ embedded-hal = "0.2.6" embedded-io = { version = "0.6.0" } embedded-io-async = { version = "0.6.1" } panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } +futures-util = { version = "0.3.30", default-features = false } heapless = { version = "0.8", default-features = false } nb = "1.0.0" embedded-storage = "0.3.1" diff --git a/examples/stm32f4/src/bin/i2c_comparison.rs b/examples/stm32f4/src/bin/i2c_comparison.rs index 30cfbdf57..55c4891e3 100644 --- a/examples/stm32f4/src/bin/i2c_comparison.rs +++ b/examples/stm32f4/src/bin/i2c_comparison.rs @@ -13,7 +13,7 @@ use embassy_stm32::i2c::I2c; use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, i2c, peripherals}; use embassy_time::Instant; -use futures::future::try_join3; +use futures_util::future::try_join3; use {defmt_rtt as _, panic_probe as _}; const ADDRESS: u8 = 96; diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index d48ae4a17..de9b692b1 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -5,6 +5,7 @@ use core::sync::atomic::{AtomicBool, Ordering}; use defmt::*; use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::exti::ExtiInput; use embassy_stm32::gpio::Pull; use embassy_stm32::time::Hertz; @@ -13,7 +14,6 @@ use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::hid::{HidReaderWriter, ReportId, RequestHandler, State}; use embassy_usb::control::OutResponse; use embassy_usb::{Builder, Handler}; -use futures::future::join; use usbd_hid::descriptor::{KeyboardReport, SerializedDescriptor}; use {defmt_rtt as _, panic_probe as _}; diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index c35f4b002..d15ad52dc 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -3,6 +3,7 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::time::Hertz; use embassy_stm32::usb::Driver; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; @@ -10,7 +11,6 @@ use embassy_time::Timer; use embassy_usb::class::hid::{HidWriter, ReportId, RequestHandler, State}; use embassy_usb::control::OutResponse; use embassy_usb::Builder; -use futures::future::join; use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; use {defmt_rtt as _, panic_probe as _}; diff --git a/examples/stm32f4/src/bin/usb_serial.rs b/examples/stm32f4/src/bin/usb_serial.rs index 25806dd85..91cfae87b 100644 --- a/examples/stm32f4/src/bin/usb_serial.rs +++ b/examples/stm32f4/src/bin/usb_serial.rs @@ -3,13 +3,13 @@ use defmt::{panic, *}; use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::time::Hertz; use embassy_stm32::usb::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; -use futures::future::join; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index 0a217e9ad..37bec1bfa 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml @@ -13,6 +13,7 @@ embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["de embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embedded-io-async = { version = "0.6.1" } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" defmt-rtt = "0.4" @@ -21,7 +22,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } nb = "1.0.0" rand_core = "0.6.3" diff --git a/examples/stm32f7/src/bin/usb_serial.rs b/examples/stm32f7/src/bin/usb_serial.rs index 2fee561c7..02ab4d1f2 100644 --- a/examples/stm32f7/src/bin/usb_serial.rs +++ b/examples/stm32f7/src/bin/usb_serial.rs @@ -3,13 +3,13 @@ use defmt::{panic, *}; use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::time::Hertz; use embassy_stm32::usb::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; -use futures::future::join; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml index ccc5143aa..803d0ae0e 100644 --- a/examples/stm32g0/Cargo.toml +++ b/examples/stm32g0/Cargo.toml @@ -20,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } portable-atomic = { version = "1.5", features = ["unsafe-assume-single-core"] } diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index 2d702aeb5..7f51631c0 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -22,7 +22,6 @@ cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" embedded-can = { version = "0.4" } panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } static_cell = "2.0.0" diff --git a/examples/stm32g4/src/bin/usb_serial.rs b/examples/stm32g4/src/bin/usb_serial.rs index dbe8f27c1..ed2ac7fac 100644 --- a/examples/stm32g4/src/bin/usb_serial.rs +++ b/examples/stm32g4/src/bin/usb_serial.rs @@ -3,13 +3,13 @@ use defmt::{panic, *}; use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::time::Hertz; use embassy_stm32::usb::{self, Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; -use futures::future::join; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml index ea5cca80f..4527f4bcb 100644 --- a/examples/stm32h5/Cargo.toml +++ b/examples/stm32h5/Cargo.toml @@ -12,6 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" defmt-rtt = "0.4" @@ -24,7 +25,6 @@ embedded-hal-async = { version = "1.0" } embedded-io-async = { version = "0.6.1" } embedded-nal-async = { version = "0.7.1" } panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } rand_core = "0.6.3" critical-section = "1.1" diff --git a/examples/stm32h5/src/bin/usb_serial.rs b/examples/stm32h5/src/bin/usb_serial.rs index 4f86bb342..fbcbdb5f9 100644 --- a/examples/stm32h5/src/bin/usb_serial.rs +++ b/examples/stm32h5/src/bin/usb_serial.rs @@ -3,13 +3,13 @@ use defmt::{panic, *}; use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::time::Hertz; use embassy_stm32::usb::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; -use futures::future::join; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 05c284fc0..a09af4b97 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -12,6 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" defmt-rtt = "0.4" @@ -24,7 +25,6 @@ embedded-hal-async = { version = "1.0" } embedded-nal-async = { version = "0.7.1" } embedded-io-async = { version = "0.6.1" } panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } rand_core = "0.6.3" critical-section = "1.1" diff --git a/examples/stm32h7/src/bin/usb_serial.rs b/examples/stm32h7/src/bin/usb_serial.rs index 872ff815c..71d0c0a25 100644 --- a/examples/stm32h7/src/bin/usb_serial.rs +++ b/examples/stm32h7/src/bin/usb_serial.rs @@ -3,12 +3,12 @@ use defmt::{panic, *}; use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::usb::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; -use futures::future::join; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { diff --git a/examples/stm32l0/Cargo.toml b/examples/stm32l0/Cargo.toml index dd9097c9b..8831f9aaf 100644 --- a/examples/stm32l0/Cargo.toml +++ b/examples/stm32l0/Cargo.toml @@ -21,7 +21,6 @@ embedded-io-async = { version = "0.6.1" } cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } cortex-m-rt = "0.7.0" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } embedded-hal = "0.2.6" static_cell = { version = "2" } diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml index 5ec1ee5db..24d61043d 100644 --- a/examples/stm32l1/Cargo.toml +++ b/examples/stm32l1/Cargo.toml @@ -10,6 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" defmt-rtt = "0.4" @@ -18,7 +19,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } embedded-storage = "0.3.1" diff --git a/examples/stm32l1/src/bin/usb_serial.rs b/examples/stm32l1/src/bin/usb_serial.rs index 653bbd6d2..837f7fa57 100644 --- a/examples/stm32l1/src/bin/usb_serial.rs +++ b/examples/stm32l1/src/bin/usb_serial.rs @@ -3,12 +3,12 @@ use defmt::{panic, *}; use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::usb::{self, Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; -use futures::future::join; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml index dd7292f7f..a8c6aa0e9 100644 --- a/examples/stm32l4/Cargo.toml +++ b/examples/stm32l4/Cargo.toml @@ -28,7 +28,6 @@ embedded-hal-1 = { package = "embedded-hal", version = "1.0" } embedded-hal-async = { version = "1.0" } embedded-hal-bus = { version = "0.1", features = ["async"] } panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } chrono = { version = "^0.4", default-features = false } rand = { version = "0.8.5", default-features = false } diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs index b905fc66f..a378cdc6b 100644 --- a/examples/stm32l4/src/bin/usb_serial.rs +++ b/examples/stm32l4/src/bin/usb_serial.rs @@ -4,12 +4,12 @@ use defmt::{panic, *}; use defmt_rtt as _; // global logger use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::usb::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; -use futures::future::join; use panic_probe as _; bind_interrupts!(struct Irqs { diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml index 9f3b28cbe..2c6c125dc 100644 --- a/examples/stm32l5/Cargo.toml +++ b/examples/stm32l5/Cargo.toml @@ -22,7 +22,6 @@ panic-probe = { version = "0.3", features = ["print-defmt"] } cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } rand_core = { version = "0.6.3", default-features = false } embedded-io-async = { version = "0.6.1" } diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml index 6e16eb478..e9a215589 100644 --- a/examples/stm32u0/Cargo.toml +++ b/examples/stm32u0/Cargo.toml @@ -11,6 +11,7 @@ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" defmt-rtt = "0.4" @@ -19,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } micromath = "2.0.0" diff --git a/examples/stm32u0/src/bin/usb_serial.rs b/examples/stm32u0/src/bin/usb_serial.rs index 9b38fd5dc..273f40643 100644 --- a/examples/stm32u0/src/bin/usb_serial.rs +++ b/examples/stm32u0/src/bin/usb_serial.rs @@ -4,12 +4,12 @@ use defmt::{panic, *}; use defmt_rtt as _; // global logger use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::usb::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; -use futures::future::join; use panic_probe as _; bind_interrupts!(struct Irqs { diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml index 3cbce74a7..93127bcb7 100644 --- a/examples/stm32u5/Cargo.toml +++ b/examples/stm32u5/Cargo.toml @@ -11,6 +11,7 @@ embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" defmt-rtt = "0.4" @@ -19,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } micromath = "2.0.0" diff --git a/examples/stm32u5/src/bin/usb_serial.rs b/examples/stm32u5/src/bin/usb_serial.rs index 6a313efb0..f107928a9 100644 --- a/examples/stm32u5/src/bin/usb_serial.rs +++ b/examples/stm32u5/src/bin/usb_serial.rs @@ -4,12 +4,12 @@ use defmt::{panic, *}; use defmt_rtt as _; // global logger use embassy_executor::Spawner; +use embassy_futures::join::join; use embassy_stm32::usb::{Driver, Instance}; use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; use embassy_usb::Builder; -use futures::future::join; use panic_probe as _; bind_interrupts!(struct Irqs { diff --git a/examples/stm32wb/Cargo.toml b/examples/stm32wb/Cargo.toml index 94a5141f5..82419ed10 100644 --- a/examples/stm32wb/Cargo.toml +++ b/examples/stm32wb/Cargo.toml @@ -20,7 +20,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } static_cell = "2" diff --git a/examples/stm32wba/Cargo.toml b/examples/stm32wba/Cargo.toml index 47279a012..ca55cbe92 100644 --- a/examples/stm32wba/Cargo.toml +++ b/examples/stm32wba/Cargo.toml @@ -18,7 +18,6 @@ cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-sing cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } static_cell = "2" diff --git a/examples/stm32wl/Cargo.toml b/examples/stm32wl/Cargo.toml index 4cb55930b..b467b97a9 100644 --- a/examples/stm32wl/Cargo.toml +++ b/examples/stm32wl/Cargo.toml @@ -20,7 +20,6 @@ cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" embedded-storage = "0.3.1" panic-probe = { version = "0.3", features = ["print-defmt"] } -futures = { version = "0.3.17", default-features = false, features = ["async-await"] } heapless = { version = "0.8", default-features = false } chrono = { version = "^0.4", default-features = false } -- cgit From d9e59e8e42ea009e365bb893b91d81fe47fe927d Mon Sep 17 00:00:00 2001 From: eZio Pan Date: Sat, 27 Apr 2024 21:37:58 +0800 Subject: low power for h5 --- examples/stm32h5/Cargo.toml | 2 +- examples/stm32h5/src/bin/stop.rs | 71 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 examples/stm32h5/src/bin/stop.rs (limited to 'examples') diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml index 4527f4bcb..82760db64 100644 --- a/examples/stm32h5/Cargo.toml +++ b/examples/stm32h5/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32h563zi to your chip name, if necessary. -embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h563zi", "memory-x", "time-driver-any", "exti", "unstable-pac"] } +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h563zi", "memory-x", "time-driver-any", "exti", "unstable-pac", "low-power"] } embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32h5/src/bin/stop.rs b/examples/stm32h5/src/bin/stop.rs new file mode 100644 index 000000000..0d14c0668 --- /dev/null +++ b/examples/stm32h5/src/bin/stop.rs @@ -0,0 +1,71 @@ +// Notice: +// the MCU might need an extra reset to make the code actually running + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{AnyPin, Level, Output, Speed}; +use embassy_stm32::low_power::Executor; +use embassy_stm32::rcc::{HSIPrescaler, LsConfig}; +use embassy_stm32::rtc::{Rtc, RtcConfig}; +use embassy_stm32::Config; +use embassy_time::Timer; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +#[cortex_m_rt::entry] +fn main() -> ! { + Executor::take().run(|spawner| { + unwrap!(spawner.spawn(async_main(spawner))); + }) +} + +#[embassy_executor::task] +async fn async_main(spawner: Spawner) { + defmt::info!("Program Start"); + + let mut config = Config::default(); + + // System Clock seems need to be equal or lower than 16 MHz + config.rcc.hsi = Some(HSIPrescaler::DIV4); + + config.rcc.ls = LsConfig::default_lsi(); + // when enabled the power-consumption is much higher during stop, but debugging and RTT is working + // if you wan't to measure the power-consumption, or for production: uncomment this line + // config.enable_debug_during_sleep = false; + let p = embassy_stm32::init(config); + + // give the RTC to the executor... + let rtc = Rtc::new(p.RTC, RtcConfig::default()); + static RTC: StaticCell = StaticCell::new(); + let rtc = RTC.init(rtc); + embassy_stm32::low_power::stop_with_rtc(rtc); + + unwrap!(spawner.spawn(blinky(p.PB4.into()))); + unwrap!(spawner.spawn(timeout())); +} + +#[embassy_executor::task] +async fn blinky(led: AnyPin) { + let mut led = Output::new(led, Level::Low, Speed::Low); + loop { + info!("high"); + led.set_high(); + Timer::after_millis(300).await; + + info!("low"); + led.set_low(); + Timer::after_millis(300).await; + } +} + +// when enable_debug_during_sleep is false, it is more difficult to reprogram the MCU +// therefore we block the MCU after 30s to be able to reprogram it easily +#[embassy_executor::task] +async fn timeout() -> ! { + Timer::after_secs(30).await; + #[allow(clippy::empty_loop)] + loop {} +} -- cgit From 095af927910b06f7af291f76c5236e0da8322402 Mon Sep 17 00:00:00 2001 From: Chris Maniewski Date: Mon, 22 Apr 2024 01:37:24 +0200 Subject: feature: WebUSB capability implementation This adds the WebUSB implementation as per https://wicg.github.io/webusb/, using one in-endpoint and one out-endpoint as well as an example for the RP2040 to illustrate this capability. --- examples/rp/src/bin/usb_webusb.rs | 137 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 examples/rp/src/bin/usb_webusb.rs (limited to 'examples') diff --git a/examples/rp/src/bin/usb_webusb.rs b/examples/rp/src/bin/usb_webusb.rs new file mode 100644 index 000000000..09f2c1cfd --- /dev/null +++ b/examples/rp/src/bin/usb_webusb.rs @@ -0,0 +1,137 @@ +//! This example shows how to use USB (Universal Serial Bus) in the RP2040 chip. +//! +//! This creates a WebUSB capable device that echoes data back to the host. +//! +//! To test this in the browser (ideally host this on localhost:8080, to test the landing page +//! feature): +//! ```js +//! (async () => { +//! const device = await navigator.usb.requestDevice({ filters: [{ vendorId: 0xf569 }] }); +//! await device.open(); +//! await device.claimInterface(1); +//! device.transferIn(1, 64).then(data => console.log(data)); +//! await device.transferOut(1, new Uint8Array([1,2,3])); +//! })(); +//! ``` + +#![no_std] +#![no_main] + +use defmt::info; +use embassy_executor::Spawner; +use embassy_futures::join::join; +use embassy_rp::bind_interrupts; +use embassy_rp::peripherals::USB; +use embassy_rp::usb::{Driver as UsbDriver, InterruptHandler}; +use embassy_usb::class::web_usb::{Config as WebUsbConfig, State, Url, WebUsb}; +use embassy_usb::driver::{Driver, Endpoint, EndpointIn, EndpointOut}; +use embassy_usb::{Builder, Config}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + USBCTRL_IRQ => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + // Create the driver, from the HAL. + let driver = UsbDriver::new(p.USB, Irqs); + + // Create embassy-usb Config + let mut config = Config::new(0xf569, 0x0001); + config.manufacturer = Some("Embassy"); + config.product = Some("WebUSB example"); + config.serial_number = Some("12345678"); + config.max_power = 100; + config.max_packet_size_0 = 64; + + // Required for windows compatibility. + // https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_CDC_ACM_IAD.html#help + config.device_class = 0xff; + config.device_sub_class = 0x00; + config.device_protocol = 0x00; + + // Create embassy-usb DeviceBuilder using the driver and config. + // It needs some buffers for building the descriptors. + let mut config_descriptor = [0; 256]; + let mut bos_descriptor = [0; 256]; + let mut control_buf = [0; 64]; + + let webusb_config = WebUsbConfig { + max_packet_size: 64, + vendor_code: 1, + // If defined, shows a landing page which the device manufacturer would like the user to visit in order to control their device. Suggest the user to navigate to this URL when the device is connected. + landing_url: Some(Url::new("http://localhost:8080")), + }; + + let mut state = State::new(); + + let mut builder = Builder::new( + driver, + config, + &mut config_descriptor, + &mut bos_descriptor, + &mut [], // no msos descriptors + &mut control_buf, + ); + + // Create classes on the builder (WebUSB just needs some setup, but doesn't return anything) + WebUsb::configure(&mut builder, &mut state, &webusb_config); + // Create some USB bulk endpoints for testing. + let mut endpoints = WebEndpoints::new(&mut builder, &webusb_config); + + // Build the builder. + let mut usb = builder.build(); + + // Run the USB device. + let usb_fut = usb.run(); + + // Do some WebUSB transfers. + let webusb_fut = async { + loop { + endpoints.wait_connected().await; + info!("Connected"); + endpoints.echo().await; + } + }; + + // Run everything concurrently. + // If we had made everything `'static` above instead, we could do this using separate tasks instead. + join(usb_fut, webusb_fut).await; +} + +struct WebEndpoints<'d, D: Driver<'d>> { + write_ep: D::EndpointIn, + read_ep: D::EndpointOut, +} + +impl<'d, D: Driver<'d>> WebEndpoints<'d, D> { + fn new(builder: &mut Builder<'d, D>, config: &'d WebUsbConfig<'d>) -> Self { + let mut func = builder.function(0xff, 0x00, 0x00); + let mut iface = func.interface(); + let mut alt = iface.alt_setting(0xff, 0x00, 0x00, None); + + let write_ep = alt.endpoint_bulk_in(config.max_packet_size); + let read_ep = alt.endpoint_bulk_out(config.max_packet_size); + + WebEndpoints { write_ep, read_ep } + } + + // Wait until the device's endpoints are enabled. + async fn wait_connected(&mut self) { + self.read_ep.wait_enabled().await + } + + // Echo data back to the host. + async fn echo(&mut self) { + let mut buf = [0; 64]; + loop { + let n = self.read_ep.read(&mut buf).await.unwrap(); + let data = &buf[..n]; + info!("Data read: {:x}", data); + self.write_ep.write(data).await.unwrap(); + } + } +} -- cgit From 6f44d7a9dfbb1dfe503c978e2277cfc5b1b6d486 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 29 Apr 2024 20:52:27 +0200 Subject: stm32: update metapac. Adds U5 LPDMA, fixes ADC_COMMONs. --- examples/stm32f0/src/bin/adc.rs | 6 +++--- examples/stm32f4/src/bin/dac.rs | 2 +- examples/stm32l0/src/bin/adc.rs | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'examples') diff --git a/examples/stm32f0/src/bin/adc.rs b/examples/stm32f0/src/bin/adc.rs index a5a4186ea..8825e2687 100644 --- a/examples/stm32f0/src/bin/adc.rs +++ b/examples/stm32f0/src/bin/adc.rs @@ -4,13 +4,13 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::adc::{Adc, SampleTime}; -use embassy_stm32::peripherals::ADC; +use embassy_stm32::peripherals::ADC1; use embassy_stm32::{adc, bind_interrupts}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { - ADC1_COMP => adc::InterruptHandler; + ADC1_COMP => adc::InterruptHandler; }); #[embassy_executor::main] @@ -18,7 +18,7 @@ async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); info!("Hello World!"); - let mut adc = Adc::new(p.ADC, Irqs); + let mut adc = Adc::new(p.ADC1, Irqs); adc.set_sample_time(SampleTime::CYCLES71_5); let mut pin = p.PA1; diff --git a/examples/stm32f4/src/bin/dac.rs b/examples/stm32f4/src/bin/dac.rs index 9c7754c4f..dd2a45718 100644 --- a/examples/stm32f4/src/bin/dac.rs +++ b/examples/stm32f4/src/bin/dac.rs @@ -12,7 +12,7 @@ async fn main(_spawner: Spawner) -> ! { let p = embassy_stm32::init(Default::default()); info!("Hello World, dude!"); - let mut dac = DacCh1::new(p.DAC, NoDma, p.PA4); + let mut dac = DacCh1::new(p.DAC1, NoDma, p.PA4); loop { for v in 0..=255 { diff --git a/examples/stm32l0/src/bin/adc.rs b/examples/stm32l0/src/bin/adc.rs index 507c3204a..9dd09bc45 100644 --- a/examples/stm32l0/src/bin/adc.rs +++ b/examples/stm32l0/src/bin/adc.rs @@ -4,13 +4,13 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::adc::{Adc, SampleTime}; -use embassy_stm32::peripherals::ADC; +use embassy_stm32::peripherals::ADC1; use embassy_stm32::{adc, bind_interrupts}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { - ADC1_COMP => adc::InterruptHandler; + ADC1_COMP => adc::InterruptHandler; }); #[embassy_executor::main] @@ -18,7 +18,7 @@ async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); info!("Hello World!"); - let mut adc = Adc::new(p.ADC, Irqs); + let mut adc = Adc::new(p.ADC1, Irqs); adc.set_sample_time(SampleTime::CYCLES79_5); let mut pin = p.PA1; -- cgit From b6f9dbfb5b66190cd8d798ec0f99a7f3cdeb8ea0 Mon Sep 17 00:00:00 2001 From: Peter Kövesdi Date: Mon, 29 Apr 2024 22:31:16 +0200 Subject: fixed: example loops crashing after 256 passes --- examples/stm32f1/src/bin/can.rs | 4 ++-- examples/stm32f4/src/bin/can.rs | 2 +- examples/stm32f4/src/bin/wdt.rs | 2 +- examples/stm32g4/src/bin/can.rs | 4 ++-- examples/stm32h5/src/bin/can.rs | 2 +- examples/stm32h7/src/bin/can.rs | 2 +- examples/stm32u0/src/bin/wdt.rs | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/can.rs b/examples/stm32f1/src/bin/can.rs index 1c13d623d..ad0c8a5a5 100644 --- a/examples/stm32f1/src/bin/can.rs +++ b/examples/stm32f1/src/bin/can.rs @@ -85,7 +85,7 @@ async fn main(_spawner: Spawner) { defmt::println!("Error {}", err); } } - i += 1; + i = i.wrapping_add(1); } */ @@ -135,6 +135,6 @@ async fn main(_spawner: Spawner) { defmt::println!("Error {}", err); } } - i += 1; + i = i.wrapping_add(1); } } diff --git a/examples/stm32f4/src/bin/can.rs b/examples/stm32f4/src/bin/can.rs index cedc057a7..8e3beee24 100644 --- a/examples/stm32f4/src/bin/can.rs +++ b/examples/stm32f4/src/bin/can.rs @@ -63,6 +63,6 @@ async fn main(_spawner: Spawner) { envelope.frame.data()[0], latency.as_micros() ); - i += 1; + i = i.wrapping_add(1); } } diff --git a/examples/stm32f4/src/bin/wdt.rs b/examples/stm32f4/src/bin/wdt.rs index ea27ebce0..430898b40 100644 --- a/examples/stm32f4/src/bin/wdt.rs +++ b/examples/stm32f4/src/bin/wdt.rs @@ -36,6 +36,6 @@ async fn main(_spawner: Spawner) { wdt.pet(); } - i += 1; + i = i.wrapping_add(1); } } diff --git a/examples/stm32g4/src/bin/can.rs b/examples/stm32g4/src/bin/can.rs index 7836334af..90004f874 100644 --- a/examples/stm32g4/src/bin/can.rs +++ b/examples/stm32g4/src/bin/can.rs @@ -192,7 +192,7 @@ async fn main(_spawner: Spawner) { Timer::after_millis(250).await; - i += 1; + i = i.wrapping_add(1); } } else { static TX_BUF: StaticCell> = StaticCell::new(); @@ -228,7 +228,7 @@ async fn main(_spawner: Spawner) { Timer::after_millis(250).await; - i += 1; + i = i.wrapping_add(1); } } } diff --git a/examples/stm32h5/src/bin/can.rs b/examples/stm32h5/src/bin/can.rs index dc77ec3bf..194239d47 100644 --- a/examples/stm32h5/src/bin/can.rs +++ b/examples/stm32h5/src/bin/can.rs @@ -93,6 +93,6 @@ async fn main(_spawner: Spawner) { Timer::after_millis(250).await; - i += 1; + i = i.wrapping_add(1); } } diff --git a/examples/stm32h7/src/bin/can.rs b/examples/stm32h7/src/bin/can.rs index a889d5860..0af11ef3e 100644 --- a/examples/stm32h7/src/bin/can.rs +++ b/examples/stm32h7/src/bin/can.rs @@ -93,6 +93,6 @@ async fn main(_spawner: Spawner) { Timer::after_millis(250).await; - i += 1; + i = i.wrapping_add(1); } } diff --git a/examples/stm32u0/src/bin/wdt.rs b/examples/stm32u0/src/bin/wdt.rs index f6276e2e9..8f9ea516d 100644 --- a/examples/stm32u0/src/bin/wdt.rs +++ b/examples/stm32u0/src/bin/wdt.rs @@ -36,6 +36,6 @@ async fn main(_spawner: Spawner) { wdt.pet(); } - i += 1; + i = i.wrapping_add(1); } } -- cgit From 5df703cf4b22f2fef2c2bed9fc6ceaca98d8ddfb Mon Sep 17 00:00:00 2001 From: pkoevesdi <33196971+pkoevesdi@users.noreply.github.com> Date: Mon, 29 Apr 2024 22:38:58 +0200 Subject: Update wdt.rs: added missing type --- examples/stm32u0/src/bin/wdt.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32u0/src/bin/wdt.rs b/examples/stm32u0/src/bin/wdt.rs index 8f9ea516d..c0db89b22 100644 --- a/examples/stm32u0/src/bin/wdt.rs +++ b/examples/stm32u0/src/bin/wdt.rs @@ -18,7 +18,7 @@ async fn main(_spawner: Spawner) { let mut wdt = IndependentWatchdog::new(p.IWDG, 1_000_000); wdt.unleash(); - let mut i = 0; + let mut i:u8 = 0; loop { info!("high"); -- cgit From a2ea307114cbfade6793819e30d8438a34b0b201 Mon Sep 17 00:00:00 2001 From: pkoevesdi <33196971+pkoevesdi@users.noreply.github.com> Date: Mon, 29 Apr 2024 22:42:46 +0200 Subject: Update wdt.rs: reverted changes, probably unneccesary --- examples/stm32u0/src/bin/wdt.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32u0/src/bin/wdt.rs b/examples/stm32u0/src/bin/wdt.rs index c0db89b22..f6276e2e9 100644 --- a/examples/stm32u0/src/bin/wdt.rs +++ b/examples/stm32u0/src/bin/wdt.rs @@ -18,7 +18,7 @@ async fn main(_spawner: Spawner) { let mut wdt = IndependentWatchdog::new(p.IWDG, 1_000_000); wdt.unleash(); - let mut i:u8 = 0; + let mut i = 0; loop { info!("high"); @@ -36,6 +36,6 @@ async fn main(_spawner: Spawner) { wdt.pet(); } - i = i.wrapping_add(1); + i += 1; } } -- cgit From 56b4d39df903d4dc235300dbe0fe57345c1e6fc1 Mon Sep 17 00:00:00 2001 From: pkoevesdi <33196971+pkoevesdi@users.noreply.github.com> Date: Mon, 29 Apr 2024 22:45:02 +0200 Subject: Update wdt.rs: reverted change, probably unneccesary here --- examples/stm32f4/src/bin/wdt.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/wdt.rs b/examples/stm32f4/src/bin/wdt.rs index 430898b40..ea27ebce0 100644 --- a/examples/stm32f4/src/bin/wdt.rs +++ b/examples/stm32f4/src/bin/wdt.rs @@ -36,6 +36,6 @@ async fn main(_spawner: Spawner) { wdt.pet(); } - i = i.wrapping_add(1); + i += 1; } } -- cgit From 7896e8aba7d08b46700b370def152de2b03feaad Mon Sep 17 00:00:00 2001 From: kalkyl Date: Tue, 30 Apr 2024 09:59:06 +0200 Subject: rp: WebUSB example - add Windows compatibility --- examples/rp/src/bin/usb_webusb.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/src/bin/usb_webusb.rs b/examples/rp/src/bin/usb_webusb.rs index 09f2c1cfd..e73938ac9 100644 --- a/examples/rp/src/bin/usb_webusb.rs +++ b/examples/rp/src/bin/usb_webusb.rs @@ -25,6 +25,7 @@ use embassy_rp::peripherals::USB; use embassy_rp::usb::{Driver as UsbDriver, InterruptHandler}; use embassy_usb::class::web_usb::{Config as WebUsbConfig, State, Url, WebUsb}; use embassy_usb::driver::{Driver, Endpoint, EndpointIn, EndpointOut}; +use embassy_usb::msos::{self, windows_version}; use embassy_usb::{Builder, Config}; use {defmt_rtt as _, panic_probe as _}; @@ -32,6 +33,9 @@ bind_interrupts!(struct Irqs { USBCTRL_IRQ => InterruptHandler; }); +// This is a randomly generated GUID to allow clients on Windows to find our device +const DEVICE_INTERFACE_GUIDS: &[&str] = &["{AFB9A6FB-30BA-44BC-9232-806CFC875321}"]; + #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); @@ -58,6 +62,7 @@ async fn main(_spawner: Spawner) { let mut config_descriptor = [0; 256]; let mut bos_descriptor = [0; 256]; let mut control_buf = [0; 64]; + let mut msos_descriptor = [0; 256]; let webusb_config = WebUsbConfig { max_packet_size: 64, @@ -73,10 +78,23 @@ async fn main(_spawner: Spawner) { config, &mut config_descriptor, &mut bos_descriptor, - &mut [], // no msos descriptors + &mut msos_descriptor, &mut control_buf, ); + // Add the Microsoft OS Descriptor (MSOS/MOD) descriptor. + // We tell Windows that this entire device is compatible with the "WINUSB" feature, + // which causes it to use the built-in WinUSB driver automatically, which in turn + // can be used by libusb/rusb software without needing a custom driver or INF file. + // In principle you might want to call msos_feature() just on a specific function, + // if your device also has other functions that still use standard class drivers. + builder.msos_descriptor(windows_version::WIN8_1, 0); + builder.msos_feature(msos::CompatibleIdFeatureDescriptor::new("WINUSB", "")); + builder.msos_feature(msos::RegistryPropertyFeatureDescriptor::new( + "DeviceInterfaceGUIDs", + msos::PropertyData::RegMultiSz(DEVICE_INTERFACE_GUIDS), + )); + // Create classes on the builder (WebUSB just needs some setup, but doesn't return anything) WebUsb::configure(&mut builder, &mut state, &webusb_config); // Create some USB bulk endpoints for testing. -- cgit From fb67fe0a6c155191534955f1230dccaea0e11a94 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Wed, 1 May 2024 02:21:06 +0200 Subject: stm32: add support for STM32H7[RS] "bootflash line", add HIL tests. --- examples/stm32h7rs/.cargo/config.toml | 8 ++ examples/stm32h7rs/Cargo.toml | 73 +++++++++++++++ examples/stm32h7rs/build.rs | 5 + examples/stm32h7rs/src/bin/blinky.rs | 51 ++++++++++ examples/stm32h7rs/src/bin/button_exti.rs | 25 +++++ examples/stm32h7rs/src/bin/can.rs | 98 +++++++++++++++++++ examples/stm32h7rs/src/bin/mco.rs | 29 ++++++ examples/stm32h7rs/src/bin/multiprio.rs | 150 ++++++++++++++++++++++++++++++ examples/stm32h7rs/src/bin/rng.rs | 26 ++++++ examples/stm32h7rs/src/bin/rtc.rs | 36 +++++++ examples/stm32h7rs/src/bin/signal.rs | 36 +++++++ examples/stm32h7rs/src/bin/spi.rs | 50 ++++++++++ examples/stm32h7rs/src/bin/spi_dma.rs | 46 +++++++++ examples/stm32h7rs/src/bin/usart.rs | 39 ++++++++ examples/stm32h7rs/src/bin/usart_dma.rs | 47 ++++++++++ examples/stm32h7rs/src/bin/usart_split.rs | 48 ++++++++++ 16 files changed, 767 insertions(+) create mode 100644 examples/stm32h7rs/.cargo/config.toml create mode 100644 examples/stm32h7rs/Cargo.toml create mode 100644 examples/stm32h7rs/build.rs create mode 100644 examples/stm32h7rs/src/bin/blinky.rs create mode 100644 examples/stm32h7rs/src/bin/button_exti.rs create mode 100644 examples/stm32h7rs/src/bin/can.rs create mode 100644 examples/stm32h7rs/src/bin/mco.rs create mode 100644 examples/stm32h7rs/src/bin/multiprio.rs create mode 100644 examples/stm32h7rs/src/bin/rng.rs create mode 100644 examples/stm32h7rs/src/bin/rtc.rs create mode 100644 examples/stm32h7rs/src/bin/signal.rs create mode 100644 examples/stm32h7rs/src/bin/spi.rs create mode 100644 examples/stm32h7rs/src/bin/spi_dma.rs create mode 100644 examples/stm32h7rs/src/bin/usart.rs create mode 100644 examples/stm32h7rs/src/bin/usart_dma.rs create mode 100644 examples/stm32h7rs/src/bin/usart_split.rs (limited to 'examples') diff --git a/examples/stm32h7rs/.cargo/config.toml b/examples/stm32h7rs/.cargo/config.toml new file mode 100644 index 000000000..44dbda94f --- /dev/null +++ b/examples/stm32h7rs/.cargo/config.toml @@ -0,0 +1,8 @@ +[target.thumbv7em-none-eabihf] +runner = 'probe-rs run --chip STM32H7S3L8Hx' + +[build] +target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) + +[env] +DEFMT_LOG = "trace" diff --git a/examples/stm32h7rs/Cargo.toml b/examples/stm32h7rs/Cargo.toml new file mode 100644 index 000000000..ad661411d --- /dev/null +++ b/examples/stm32h7rs/Cargo.toml @@ -0,0 +1,73 @@ +[package] +edition = "2021" +name = "embassy-stm32h7-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +# Change stm32h743bi to your chip name, if necessary. +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7s3l8", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } +embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } + +defmt = "0.3" +defmt-rtt = "0.4" + +cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } +cortex-m-rt = "0.7.0" +embedded-hal = "0.2.6" +embedded-hal-1 = { package = "embedded-hal", version = "1.0" } +embedded-hal-async = { version = "1.0" } +embedded-nal-async = { version = "0.7.1" } +embedded-io-async = { version = "0.6.1" } +panic-probe = { version = "0.3", features = ["print-defmt"] } +heapless = { version = "0.8", default-features = false } +rand_core = "0.6.3" +critical-section = "1.1" +micromath = "2.0.0" +stm32-fmc = "0.3.0" +embedded-storage = "0.3.1" +static_cell = "2" +chrono = { version = "^0.4", default-features = false } + +# cargo build/run +[profile.dev] +codegen-units = 1 +debug = 2 +debug-assertions = true # <- +incremental = false +opt-level = 3 # <- +overflow-checks = true # <- + +# cargo test +[profile.test] +codegen-units = 1 +debug = 2 +debug-assertions = true # <- +incremental = false +opt-level = 3 # <- +overflow-checks = true # <- + +# cargo build/run --release +[profile.release] +codegen-units = 1 +debug = 2 +debug-assertions = false # <- +incremental = false +lto = 'fat' +opt-level = 3 # <- +overflow-checks = false # <- + +# cargo test --release +[profile.bench] +codegen-units = 1 +debug = 2 +debug-assertions = false # <- +incremental = false +lto = 'fat' +opt-level = 3 # <- +overflow-checks = false # <- diff --git a/examples/stm32h7rs/build.rs b/examples/stm32h7rs/build.rs new file mode 100644 index 000000000..8cd32d7ed --- /dev/null +++ b/examples/stm32h7rs/build.rs @@ -0,0 +1,5 @@ +fn main() { + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/stm32h7rs/src/bin/blinky.rs b/examples/stm32h7rs/src/bin/blinky.rs new file mode 100644 index 000000000..137c585b7 --- /dev/null +++ b/examples/stm32h7rs/src/bin/blinky.rs @@ -0,0 +1,51 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::time::Hertz; +use embassy_stm32::Config; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hse = Some(Hse { + freq: Hertz(24_000_000), + mode: HseMode::Oscillator, + }); + config.rcc.pll1 = Some(Pll { + source: PllSource::HSE, + prediv: PllPreDiv::DIV3, + mul: PllMul::MUL150, + divp: Some(PllDiv::DIV2), + divq: None, + divr: None, + }); + config.rcc.sys = Sysclk::PLL1_P; // 600 Mhz + config.rcc.ahb_pre = AHBPrescaler::DIV2; // 300 Mhz + config.rcc.apb1_pre = APBPrescaler::DIV2; // 150 Mhz + config.rcc.apb2_pre = APBPrescaler::DIV2; // 150 Mhz + config.rcc.apb4_pre = APBPrescaler::DIV2; // 150 Mhz + config.rcc.apb5_pre = APBPrescaler::DIV2; // 150 Mhz + config.rcc.voltage_scale = VoltageScale::HIGH; + } + let p = embassy_stm32::init(config); + info!("Hello World!"); + + let mut led = Output::new(p.PD10, Level::High, Speed::Low); + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(500).await; + + info!("low"); + led.set_low(); + Timer::after_millis(500).await; + } +} diff --git a/examples/stm32h7rs/src/bin/button_exti.rs b/examples/stm32h7rs/src/bin/button_exti.rs new file mode 100644 index 000000000..34a08bbc6 --- /dev/null +++ b/examples/stm32h7rs/src/bin/button_exti.rs @@ -0,0 +1,25 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::exti::ExtiInput; +use embassy_stm32::gpio::Pull; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut button = ExtiInput::new(p.PC13, p.EXTI13, Pull::Up); + + info!("Press the USER button..."); + + loop { + button.wait_for_falling_edge().await; + info!("Pressed!"); + button.wait_for_rising_edge().await; + info!("Released!"); + } +} diff --git a/examples/stm32h7rs/src/bin/can.rs b/examples/stm32h7rs/src/bin/can.rs new file mode 100644 index 000000000..0af11ef3e --- /dev/null +++ b/examples/stm32h7rs/src/bin/can.rs @@ -0,0 +1,98 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::peripherals::*; +use embassy_stm32::{bind_interrupts, can, rcc, Config}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + FDCAN1_IT0 => can::IT0InterruptHandler; + FDCAN1_IT1 => can::IT1InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + config.rcc.hse = Some(rcc::Hse { + freq: embassy_stm32::time::Hertz(25_000_000), + mode: rcc::HseMode::Oscillator, + }); + config.rcc.mux.fdcansel = rcc::mux::Fdcansel::HSE; + + let peripherals = embassy_stm32::init(config); + + let mut can = can::CanConfigurator::new(peripherals.FDCAN1, peripherals.PA11, peripherals.PA12, Irqs); + + // 250k bps + can.set_bitrate(250_000); + + //let mut can = can.into_internal_loopback_mode(); + let mut can = can.into_normal_mode(); + + info!("CAN Configured"); + + let mut i = 0; + let mut last_read_ts = embassy_time::Instant::now(); + + loop { + let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); + info!("Writing frame"); + _ = can.write(&frame).await; + + match can.read().await { + Ok(envelope) => { + let (rx_frame, ts) = envelope.parts(); + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {:x} {:x} {:x} {:x} --- NEW {}", + rx_frame.data()[0], + rx_frame.data()[1], + rx_frame.data()[2], + rx_frame.data()[3], + delta, + ) + } + Err(_err) => error!("Error in frame"), + } + + Timer::after_millis(250).await; + + i += 1; + if i > 3 { + break; + } + } + + let (mut tx, mut rx, _props) = can.split(); + // With split + loop { + let frame = can::frame::Frame::new_extended(0x123456F, &[i; 8]).unwrap(); + info!("Writing frame"); + _ = tx.write(&frame).await; + + match rx.read().await { + Ok(envelope) => { + let (rx_frame, ts) = envelope.parts(); + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {:x} {:x} {:x} {:x} --- NEW {}", + rx_frame.data()[0], + rx_frame.data()[1], + rx_frame.data()[2], + rx_frame.data()[3], + delta, + ) + } + Err(_err) => error!("Error in frame"), + } + + Timer::after_millis(250).await; + + i = i.wrapping_add(1); + } +} diff --git a/examples/stm32h7rs/src/bin/mco.rs b/examples/stm32h7rs/src/bin/mco.rs new file mode 100644 index 000000000..a6ee27625 --- /dev/null +++ b/examples/stm32h7rs/src/bin/mco.rs @@ -0,0 +1,29 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::rcc::{Mco, Mco1Source, McoPrescaler}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut led = Output::new(p.PB14, Level::High, Speed::Low); + + let _mco = Mco::new(p.MCO1, p.PA8, Mco1Source::HSI, McoPrescaler::DIV8); + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(500).await; + + info!("low"); + led.set_low(); + Timer::after_millis(500).await; + } +} diff --git a/examples/stm32h7rs/src/bin/multiprio.rs b/examples/stm32h7rs/src/bin/multiprio.rs new file mode 100644 index 000000000..fcbb6c653 --- /dev/null +++ b/examples/stm32h7rs/src/bin/multiprio.rs @@ -0,0 +1,150 @@ +//! This example showcases how to create multiple Executor instances to run tasks at +//! different priority levels. +//! +//! Low priority executor runs in thread mode (not interrupt), and uses `sev` for signaling +//! there's work in the queue, and `wfe` for waiting for work. +//! +//! Medium and high priority executors run in two interrupts with different priorities. +//! Signaling work is done by pending the interrupt. No "waiting" needs to be done explicitly, since +//! when there's work the interrupt will trigger and run the executor. +//! +//! Sample output below. Note that high priority ticks can interrupt everything else, and +//! medium priority computations can interrupt low priority computations, making them to appear +//! to take significantly longer time. +//! +//! ```not_rust +//! [med] Starting long computation +//! [med] done in 992 ms +//! [high] tick! +//! [low] Starting long computation +//! [med] Starting long computation +//! [high] tick! +//! [high] tick! +//! [med] done in 993 ms +//! [med] Starting long computation +//! [high] tick! +//! [high] tick! +//! [med] done in 993 ms +//! [low] done in 3972 ms +//! [med] Starting long computation +//! [high] tick! +//! [high] tick! +//! [med] done in 993 ms +//! ``` +//! +//! For comparison, try changing the code so all 3 tasks get spawned on the low priority executor. +//! You will get an output like the following. Note that no computation is ever interrupted. +//! +//! ```not_rust +//! [high] tick! +//! [med] Starting long computation +//! [med] done in 496 ms +//! [low] Starting long computation +//! [low] done in 992 ms +//! [med] Starting long computation +//! [med] done in 496 ms +//! [high] tick! +//! [low] Starting long computation +//! [low] done in 992 ms +//! [high] tick! +//! [med] Starting long computation +//! [med] done in 496 ms +//! [high] tick! +//! ``` +//! + +#![no_std] +#![no_main] + +use cortex_m_rt::entry; +use defmt::*; +use embassy_executor::{Executor, InterruptExecutor}; +use embassy_stm32::interrupt; +use embassy_stm32::interrupt::{InterruptExt, Priority}; +use embassy_time::{Instant, Timer}; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::task] +async fn run_high() { + loop { + info!(" [high] tick!"); + Timer::after_ticks(27374).await; + } +} + +#[embassy_executor::task] +async fn run_med() { + loop { + let start = Instant::now(); + info!(" [med] Starting long computation"); + + // Spin-wait to simulate a long CPU computation + cortex_m::asm::delay(128_000_000); // ~1 second + + let end = Instant::now(); + let ms = end.duration_since(start).as_ticks() / 33; + info!(" [med] done in {} ms", ms); + + Timer::after_ticks(23421).await; + } +} + +#[embassy_executor::task] +async fn run_low() { + loop { + let start = Instant::now(); + info!("[low] Starting long computation"); + + // Spin-wait to simulate a long CPU computation + cortex_m::asm::delay(256_000_000); // ~2 seconds + + let end = Instant::now(); + let ms = end.duration_since(start).as_ticks() / 33; + info!("[low] done in {} ms", ms); + + Timer::after_ticks(32983).await; + } +} + +static EXECUTOR_HIGH: InterruptExecutor = InterruptExecutor::new(); +static EXECUTOR_MED: InterruptExecutor = InterruptExecutor::new(); +static EXECUTOR_LOW: StaticCell = StaticCell::new(); + +#[interrupt] +unsafe fn UART4() { + EXECUTOR_HIGH.on_interrupt() +} + +#[interrupt] +unsafe fn UART5() { + EXECUTOR_MED.on_interrupt() +} + +#[entry] +fn main() -> ! { + info!("Hello World!"); + + let _p = embassy_stm32::init(Default::default()); + + // STM32s don’t have any interrupts exclusively for software use, but they can all be triggered by software as well as + // by the peripheral, so we can just use any free interrupt vectors which aren’t used by the rest of your application. + // In this case we’re using UART4 and UART5, but there’s nothing special about them. Any otherwise unused interrupt + // vector would work exactly the same. + + // High-priority executor: UART4, priority level 6 + interrupt::UART4.set_priority(Priority::P6); + let spawner = EXECUTOR_HIGH.start(interrupt::UART4); + unwrap!(spawner.spawn(run_high())); + + // Medium-priority executor: UART5, priority level 7 + interrupt::UART5.set_priority(Priority::P7); + let spawner = EXECUTOR_MED.start(interrupt::UART5); + unwrap!(spawner.spawn(run_med())); + + // Low priority executor: runs in thread mode, using WFE/SEV + let executor = EXECUTOR_LOW.init(Executor::new()); + executor.run(|spawner| { + unwrap!(spawner.spawn(run_low())); + }); +} diff --git a/examples/stm32h7rs/src/bin/rng.rs b/examples/stm32h7rs/src/bin/rng.rs new file mode 100644 index 000000000..a9ef7200d --- /dev/null +++ b/examples/stm32h7rs/src/bin/rng.rs @@ -0,0 +1,26 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::rng::Rng; +use embassy_stm32::{bind_interrupts, peripherals, rng, Config}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + RNG => rng::InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + config.rcc.hsi48 = Some(Default::default()); // needed for RNG + let p = embassy_stm32::init(config); + info!("Hello World!"); + + let mut rng = Rng::new(p.RNG, Irqs); + + let mut buf = [0u8; 16]; + unwrap!(rng.async_fill_bytes(&mut buf).await); + info!("random bytes: {:02x}", buf); +} diff --git a/examples/stm32h7rs/src/bin/rtc.rs b/examples/stm32h7rs/src/bin/rtc.rs new file mode 100644 index 000000000..0adb48877 --- /dev/null +++ b/examples/stm32h7rs/src/bin/rtc.rs @@ -0,0 +1,36 @@ +#![no_std] +#![no_main] + +use chrono::{NaiveDate, NaiveDateTime}; +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::rcc::LsConfig; +use embassy_stm32::rtc::{Rtc, RtcConfig}; +use embassy_stm32::Config; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + config.rcc.ls = LsConfig::default_lse(); + + let p = embassy_stm32::init(config); + info!("Hello World!"); + + let now = NaiveDate::from_ymd_opt(2020, 5, 15) + .unwrap() + .and_hms_opt(10, 30, 15) + .unwrap(); + + let mut rtc = Rtc::new(p.RTC, RtcConfig::default()); + info!("Got RTC! {:?}", now.and_utc().timestamp()); + + rtc.set_datetime(now.into()).expect("datetime not set"); + + // In reality the delay would be much longer + Timer::after_millis(20000).await; + + let then: NaiveDateTime = rtc.now().unwrap().into(); + info!("Got RTC! {:?}", then.and_utc().timestamp()); +} diff --git a/examples/stm32h7rs/src/bin/signal.rs b/examples/stm32h7rs/src/bin/signal.rs new file mode 100644 index 000000000..b73360f32 --- /dev/null +++ b/examples/stm32h7rs/src/bin/signal.rs @@ -0,0 +1,36 @@ +#![no_std] +#![no_main] + +use defmt::{info, unwrap}; +use embassy_executor::Spawner; +use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; +use embassy_sync::signal::Signal; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +static SIGNAL: Signal = Signal::new(); + +#[embassy_executor::task] +async fn my_sending_task() { + let mut counter: u32 = 0; + + loop { + Timer::after_secs(1).await; + + SIGNAL.signal(counter); + + counter = counter.wrapping_add(1); + } +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let _p = embassy_stm32::init(Default::default()); + unwrap!(spawner.spawn(my_sending_task())); + + loop { + let received_counter = SIGNAL.wait().await; + + info!("signalled, counter: {}", received_counter); + } +} diff --git a/examples/stm32h7rs/src/bin/spi.rs b/examples/stm32h7rs/src/bin/spi.rs new file mode 100644 index 000000000..a7767876d --- /dev/null +++ b/examples/stm32h7rs/src/bin/spi.rs @@ -0,0 +1,50 @@ +#![no_std] +#![no_main] + +use core::fmt::Write; +use core::str::from_utf8; + +use cortex_m_rt::entry; +use defmt::*; +use embassy_executor::Executor; +use embassy_stm32::mode::Blocking; +use embassy_stm32::peripherals::SPI3; +use embassy_stm32::spi; +use embassy_stm32::time::mhz; +use heapless::String; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::task] +async fn main_task(mut spi: spi::Spi<'static, SPI3, Blocking>) { + for n in 0u32.. { + let mut write: String<128> = String::new(); + core::write!(&mut write, "Hello DMA World {}!\r\n", n).unwrap(); + unsafe { + let result = spi.blocking_transfer_in_place(write.as_bytes_mut()); + if let Err(_) = result { + defmt::panic!("crap"); + } + } + info!("read via spi: {}", from_utf8(write.as_bytes()).unwrap()); + } +} + +static EXECUTOR: StaticCell = StaticCell::new(); + +#[entry] +fn main() -> ! { + info!("Hello World!"); + let p = embassy_stm32::init(Default::default()); + + let mut spi_config = spi::Config::default(); + spi_config.frequency = mhz(1); + + let spi = spi::Spi::new_blocking(p.SPI3, p.PB3, p.PB5, p.PB4, spi_config); + + let executor = EXECUTOR.init(Executor::new()); + + executor.run(|spawner| { + unwrap!(spawner.spawn(main_task(spi))); + }) +} diff --git a/examples/stm32h7rs/src/bin/spi_dma.rs b/examples/stm32h7rs/src/bin/spi_dma.rs new file mode 100644 index 000000000..26b5d6751 --- /dev/null +++ b/examples/stm32h7rs/src/bin/spi_dma.rs @@ -0,0 +1,46 @@ +#![no_std] +#![no_main] + +use core::fmt::Write; +use core::str::from_utf8; + +use cortex_m_rt::entry; +use defmt::*; +use embassy_executor::Executor; +use embassy_stm32::mode::Async; +use embassy_stm32::time::mhz; +use embassy_stm32::{peripherals, spi}; +use heapless::String; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::task] +async fn main_task(mut spi: spi::Spi<'static, peripherals::SPI3, Async>) { + for n in 0u32.. { + let mut write: String<128> = String::new(); + let mut read = [0; 128]; + core::write!(&mut write, "Hello DMA World {}!\r\n", n).unwrap(); + // transfer will slice the &mut read down to &write's actual length. + spi.transfer(&mut read, write.as_bytes()).await.ok(); + info!("read via spi+dma: {}", from_utf8(&read).unwrap()); + } +} + +static EXECUTOR: StaticCell = StaticCell::new(); + +#[entry] +fn main() -> ! { + info!("Hello World!"); + let p = embassy_stm32::init(Default::default()); + + let mut spi_config = spi::Config::default(); + spi_config.frequency = mhz(1); + + let spi = spi::Spi::new(p.SPI3, p.PB3, p.PB5, p.PB4, p.GPDMA1_CH0, p.GPDMA1_CH1, spi_config); + + let executor = EXECUTOR.init(Executor::new()); + + executor.run(|spawner| { + unwrap!(spawner.spawn(main_task(spi))); + }) +} diff --git a/examples/stm32h7rs/src/bin/usart.rs b/examples/stm32h7rs/src/bin/usart.rs new file mode 100644 index 000000000..cc49c2fdb --- /dev/null +++ b/examples/stm32h7rs/src/bin/usart.rs @@ -0,0 +1,39 @@ +#![no_std] +#![no_main] + +use cortex_m_rt::entry; +use defmt::*; +use embassy_executor::Executor; +use embassy_stm32::usart::{Config, Uart}; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::task] +async fn main_task() { + let p = embassy_stm32::init(Default::default()); + + let config = Config::default(); + let mut usart = Uart::new_blocking(p.UART7, p.PF6, p.PF7, config).unwrap(); + + unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); + info!("wrote Hello, starting echo"); + + let mut buf = [0u8; 1]; + loop { + unwrap!(usart.blocking_read(&mut buf)); + unwrap!(usart.blocking_write(&buf)); + } +} + +static EXECUTOR: StaticCell = StaticCell::new(); + +#[entry] +fn main() -> ! { + info!("Hello World!"); + + let executor = EXECUTOR.init(Executor::new()); + + executor.run(|spawner| { + unwrap!(spawner.spawn(main_task())); + }) +} diff --git a/examples/stm32h7rs/src/bin/usart_dma.rs b/examples/stm32h7rs/src/bin/usart_dma.rs new file mode 100644 index 000000000..c644e84bd --- /dev/null +++ b/examples/stm32h7rs/src/bin/usart_dma.rs @@ -0,0 +1,47 @@ +#![no_std] +#![no_main] + +use core::fmt::Write; + +use cortex_m_rt::entry; +use defmt::*; +use embassy_executor::Executor; +use embassy_stm32::usart::{Config, Uart}; +use embassy_stm32::{bind_interrupts, peripherals, usart}; +use heapless::String; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + UART7 => usart::InterruptHandler; +}); + +#[embassy_executor::task] +async fn main_task() { + let p = embassy_stm32::init(Default::default()); + + let config = Config::default(); + let mut usart = Uart::new(p.UART7, p.PF6, p.PF7, Irqs, p.GPDMA1_CH0, p.GPDMA1_CH1, config).unwrap(); + + for n in 0u32.. { + let mut s: String<128> = String::new(); + core::write!(&mut s, "Hello DMA World {}!\r\n", n).unwrap(); + + usart.write(s.as_bytes()).await.ok(); + + info!("wrote DMA"); + } +} + +static EXECUTOR: StaticCell = StaticCell::new(); + +#[entry] +fn main() -> ! { + info!("Hello World!"); + + let executor = EXECUTOR.init(Executor::new()); + + executor.run(|spawner| { + unwrap!(spawner.spawn(main_task())); + }) +} diff --git a/examples/stm32h7rs/src/bin/usart_split.rs b/examples/stm32h7rs/src/bin/usart_split.rs new file mode 100644 index 000000000..77b4caa9e --- /dev/null +++ b/examples/stm32h7rs/src/bin/usart_split.rs @@ -0,0 +1,48 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::mode::Async; +use embassy_stm32::peripherals::UART7; +use embassy_stm32::usart::{Config, Uart, UartRx}; +use embassy_stm32::{bind_interrupts, peripherals, usart}; +use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; +use embassy_sync::channel::Channel; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + UART7 => usart::InterruptHandler; +}); + +static CHANNEL: Channel = Channel::new(); + +#[embassy_executor::main] +async fn main(spawner: Spawner) -> ! { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let config = Config::default(); + let mut usart = Uart::new(p.UART7, p.PF6, p.PF7, Irqs, p.GPDMA1_CH0, p.GPDMA1_CH1, config).unwrap(); + unwrap!(usart.blocking_write(b"Type 8 chars to echo!\r\n")); + + let (mut tx, rx) = usart.split(); + + unwrap!(spawner.spawn(reader(rx))); + + loop { + let buf = CHANNEL.receive().await; + info!("writing..."); + unwrap!(tx.write(&buf).await); + } +} + +#[embassy_executor::task] +async fn reader(mut rx: UartRx<'static, UART7, Async>) { + let mut buf = [0; 8]; + loop { + info!("reading..."); + unwrap!(rx.read(&mut buf).await); + CHANNEL.send(buf).await; + } +} -- cgit From c24805b83dbbca091eaf11a00c171da641f7107e Mon Sep 17 00:00:00 2001 From: Turbo Fredriksson Date: Mon, 29 Apr 2024 12:45:08 +0100 Subject: Added PIO UART examples for rp to talk to an R503 fingerprint scanner. --- examples/rp/src/bin/uart_r503.rs | 113 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 examples/rp/src/bin/uart_r503.rs (limited to 'examples') diff --git a/examples/rp/src/bin/uart_r503.rs b/examples/rp/src/bin/uart_r503.rs new file mode 100644 index 000000000..f8a9d8a9f --- /dev/null +++ b/examples/rp/src/bin/uart_r503.rs @@ -0,0 +1,113 @@ +#![no_std] +#![no_main] + +use defmt::{debug, info, unwrap}; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::peripherals::UART0; +use embassy_rp::uart::{Async, Config, DataBits, InterruptHandler as UARTInterruptHandler, StopBits, Uart, UartRx}; +use embassy_time::Timer; +use heapless::Vec; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(pub struct Irqs { + UART0_IRQ => UARTInterruptHandler; // Fingerprint scanner (TX) +}); + +const ADDRESS: u32 = 0xFFFFFFFF; +const START: u16 = 0xEF01; + +// ================================================================================ + +fn write_cmd_bytes(buf: &mut Vec, bytes: &[u8]) { + let _ = buf.extend_from_slice(bytes); +} + +fn compute_checksum(buf: Vec) -> u16 { + let mut checksum = 0u16; + + let check_end = buf.len(); + let checked_bytes = &buf[6..check_end]; + for byte in checked_bytes { + checksum += (*byte) as u16; + } + return checksum; +} + +// NOTE: Doesn't work for some reason, it just hangs! +#[embassy_executor::task] +async fn reader(mut rx: UartRx<'static, UART0, Async>) { + loop { + let mut buf = [0; 32]; + debug!("Attempting read.."); + + //rx.read(&mut buf).await.unwrap(); + match rx.read(&mut buf).await { + Ok(v) => info!("Read successful: {:?}", v), + Err(e) => info!("Read error: {:?}", e), + } + info!("RX='{:?}'", buf); + } +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + info!("Start"); + + let p = embassy_rp::init(Default::default()); + + // Initialize the fingerprint scanner. + let mut config = Config::default(); + config.baudrate = 57600; + config.stop_bits = StopBits::STOP1; + config.data_bits = DataBits::DataBits8; + + let (uart, tx_pin, tx_dma, rx_pin, rx_dma) = (p.UART0, p.PIN_16, p.DMA_CH0, p.PIN_17, p.DMA_CH1); + let uart = Uart::new(uart, tx_pin, rx_pin, Irqs, tx_dma, rx_dma, config); + let (mut tx, rx) = uart.split(); + + unwrap!(spawner.spawn(reader(rx))); + Timer::after_secs(1).await; + + let mut vec_buf: Vec = heapless::Vec::new(); + { + // Clear buffers + vec_buf.clear(); + + // START + let _ = write_cmd_bytes(&mut vec_buf, &START.to_be_bytes()[..]); + + // ADDRESS + let _ = write_cmd_bytes(&mut vec_buf, &ADDRESS.to_be_bytes()[..]); + + // PID + let _ = vec_buf.push(0x01); + + // LENGTH + let len = >::try_into(vec_buf.len()).unwrap() as u16; + let _ = write_cmd_bytes(&mut vec_buf, &len.to_be_bytes()[..]); + + // COMMAND + let _ = vec_buf.push(0x35); // AuraLedConfig + + // DATA + let _ = vec_buf.push(0x01); // ctrl=Breathing light + let _ = vec_buf.push(0x50); // speed=80 + let _ = vec_buf.push(0x02); // colour=Blue + let _ = vec_buf.push(0x00); // times=Infinite + + // SUM + let chk = compute_checksum(vec_buf.clone()); + let _ = write_cmd_bytes(&mut vec_buf, &chk.to_be_bytes()[..]); + + // ===== + + // Send command buffer. + let data: [u8; 16] = vec_buf.clone().into_array().unwrap(); + debug!("data='{:?}'", data); + match tx.write(&data).await { + Ok(..) => info!("Write successful"), + Err(e) => info!("Write error: {:?}", e), + } + } +} -- cgit From 61d0c068ff793febd711971ded749bae277f5cc0 Mon Sep 17 00:00:00 2001 From: Turbo Fredriksson Date: Mon, 29 Apr 2024 14:54:26 +0100 Subject: Finish the read part. * Don't need separate task for this. * **Must** read one byte at a time, then merge them into one Vec. * To better demonstrate, cycle through the three colours Red, Blue, Purple. --- examples/rp/src/bin/uart_r503.rs | 79 +++++++++++++++++++++++++--------------- 1 file changed, 49 insertions(+), 30 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/uart_r503.rs b/examples/rp/src/bin/uart_r503.rs index f8a9d8a9f..c0676750c 100644 --- a/examples/rp/src/bin/uart_r503.rs +++ b/examples/rp/src/bin/uart_r503.rs @@ -1,17 +1,17 @@ #![no_std] #![no_main] -use defmt::{debug, info, unwrap}; +use defmt::info; use embassy_executor::Spawner; use embassy_rp::bind_interrupts; use embassy_rp::peripherals::UART0; -use embassy_rp::uart::{Async, Config, DataBits, InterruptHandler as UARTInterruptHandler, StopBits, Uart, UartRx}; +use embassy_rp::uart::{Config, DataBits, InterruptHandler as UARTInterruptHandler, Parity, StopBits, Uart}; use embassy_time::Timer; use heapless::Vec; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(pub struct Irqs { - UART0_IRQ => UARTInterruptHandler; // Fingerprint scanner (TX) + UART0_IRQ => UARTInterruptHandler; }); const ADDRESS: u32 = 0xFFFFFFFF; @@ -34,24 +34,8 @@ fn compute_checksum(buf: Vec) -> u16 { return checksum; } -// NOTE: Doesn't work for some reason, it just hangs! -#[embassy_executor::task] -async fn reader(mut rx: UartRx<'static, UART0, Async>) { - loop { - let mut buf = [0; 32]; - debug!("Attempting read.."); - - //rx.read(&mut buf).await.unwrap(); - match rx.read(&mut buf).await { - Ok(v) => info!("Read successful: {:?}", v), - Err(e) => info!("Read error: {:?}", e), - } - info!("RX='{:?}'", buf); - } -} - #[embassy_executor::main] -async fn main(spawner: Spawner) { +async fn main(_spawner: Spawner) { info!("Start"); let p = embassy_rp::init(Default::default()); @@ -61,16 +45,16 @@ async fn main(spawner: Spawner) { config.baudrate = 57600; config.stop_bits = StopBits::STOP1; config.data_bits = DataBits::DataBits8; + config.parity = Parity::ParityNone; let (uart, tx_pin, tx_dma, rx_pin, rx_dma) = (p.UART0, p.PIN_16, p.DMA_CH0, p.PIN_17, p.DMA_CH1); let uart = Uart::new(uart, tx_pin, rx_pin, Irqs, tx_dma, rx_dma, config); - let (mut tx, rx) = uart.split(); - - unwrap!(spawner.spawn(reader(rx))); - Timer::after_secs(1).await; + let (mut tx, mut rx) = uart.split(); let mut vec_buf: Vec = heapless::Vec::new(); - { + + // Cycle through the three colours Red, Blue and Purple. + for colour in 1..=3 { // Clear buffers vec_buf.clear(); @@ -93,7 +77,7 @@ async fn main(spawner: Spawner) { // DATA let _ = vec_buf.push(0x01); // ctrl=Breathing light let _ = vec_buf.push(0x50); // speed=80 - let _ = vec_buf.push(0x02); // colour=Blue + let _ = vec_buf.push(colour as u8); // colour=Red, Blue, Purple let _ = vec_buf.push(0x00); // times=Infinite // SUM @@ -103,11 +87,46 @@ async fn main(spawner: Spawner) { // ===== // Send command buffer. - let data: [u8; 16] = vec_buf.clone().into_array().unwrap(); - debug!("data='{:?}'", data); - match tx.write(&data).await { - Ok(..) => info!("Write successful"), + let data_write: [u8; 16] = vec_buf.clone().into_array().unwrap(); + info!("write ({})='{:?}'", colour, data_write); + match tx.write(&data_write).await { + Ok(..) => info!("Write successful."), Err(e) => info!("Write error: {:?}", e), } + + // ===== + + // Read command buffer. + let mut read_buf: [u8; 1] = [0; 1]; // Can only read one byte at a time! + let mut data_read: Vec = heapless::Vec::new(); // Return buffer. + let mut cnt: u8 = 0; // Keep track of how many packages we've received. + + info!("Attempting read."); + loop { + match rx.read(&mut read_buf).await { + Ok(..) => (), + Err(e) => info!(" Read error: {:?}", e), + } + + match cnt { + _ => data_read.push(read_buf[0]).unwrap(), + } + + if cnt > 10 { + info!("read ({})='{:?}'", colour, data_read[..]); + break; + } + + cnt = cnt + 1; + } + + // ===== + + if colour != 3 { + Timer::after_secs(2).await; + info!("Changing colour."); + } } + + info!("All done.."); } -- cgit From 66ee0c44d31d53da00cd2726ecd0fc47681f6d52 Mon Sep 17 00:00:00 2001 From: Turbo Fredriksson Date: Wed, 1 May 2024 11:43:14 +0100 Subject: Example and documentation on how to Calculate correct checksum. + Include the package format documentation. + Cycle through all three colours in three different speed. - Remove the `write_cmd_bytes()`. Superfluous. --- examples/rp/src/bin/uart_r503.rs | 182 ++++++++++++++++++++++----------------- 1 file changed, 104 insertions(+), 78 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/uart_r503.rs b/examples/rp/src/bin/uart_r503.rs index c0676750c..085be280b 100644 --- a/examples/rp/src/bin/uart_r503.rs +++ b/examples/rp/src/bin/uart_r503.rs @@ -1,12 +1,12 @@ #![no_std] #![no_main] -use defmt::info; +use defmt::{debug, error, info}; use embassy_executor::Spawner; use embassy_rp::bind_interrupts; use embassy_rp::peripherals::UART0; use embassy_rp::uart::{Config, DataBits, InterruptHandler as UARTInterruptHandler, Parity, StopBits, Uart}; -use embassy_time::Timer; +use embassy_time::{with_timeout, Duration, Timer}; use heapless::Vec; use {defmt_rtt as _, panic_probe as _}; @@ -14,15 +14,34 @@ bind_interrupts!(pub struct Irqs { UART0_IRQ => UARTInterruptHandler; }); -const ADDRESS: u32 = 0xFFFFFFFF; const START: u16 = 0xEF01; +const ADDRESS: u32 = 0xFFFFFFFF; // ================================================================================ -fn write_cmd_bytes(buf: &mut Vec, bytes: &[u8]) { - let _ = buf.extend_from_slice(bytes); -} +// Data package format +// Name Length Description +// ========================================================================================================== +// Start 2 bytes Fixed value of 0xEF01; High byte transferred first. +// Address 4 bytes Default value is 0xFFFFFFFF, which can be modified by command. +// High byte transferred first and at wrong adder value, module +// will reject to transfer. +// PID 1 byte 01H Command packet; +// 02H Data packet; Data packet shall not appear alone in executing +// processs, must follow command packet or acknowledge packet. +// 07H Acknowledge packet; +// 08H End of Data packet. +// LENGTH 2 bytes Refers to the length of package content (command packets and data packets) +// plus the length of Checksum (2 bytes). Unit is byte. Max length is 256 bytes. +// And high byte is transferred first. +// DATA - It can be commands, data, command’s parameters, acknowledge result, etc. +// (fingerprint character value, template are all deemed as data); +// SUM 2 bytes The arithmetic sum of package identifier, package length and all package +// contens. Overflowing bits are omitted. high byte is transferred first. +// ================================================================================ + +// Checksum is calculated on 'length (2 bytes) + data (??)'. fn compute_checksum(buf: Vec) -> u16 { let mut checksum = 0u16; @@ -52,81 +71,88 @@ async fn main(_spawner: Spawner) { let (mut tx, mut rx) = uart.split(); let mut vec_buf: Vec = heapless::Vec::new(); - - // Cycle through the three colours Red, Blue and Purple. - for colour in 1..=3 { - // Clear buffers - vec_buf.clear(); - - // START - let _ = write_cmd_bytes(&mut vec_buf, &START.to_be_bytes()[..]); - - // ADDRESS - let _ = write_cmd_bytes(&mut vec_buf, &ADDRESS.to_be_bytes()[..]); - - // PID - let _ = vec_buf.push(0x01); - - // LENGTH - let len = >::try_into(vec_buf.len()).unwrap() as u16; - let _ = write_cmd_bytes(&mut vec_buf, &len.to_be_bytes()[..]); - - // COMMAND - let _ = vec_buf.push(0x35); // AuraLedConfig - - // DATA - let _ = vec_buf.push(0x01); // ctrl=Breathing light - let _ = vec_buf.push(0x50); // speed=80 - let _ = vec_buf.push(colour as u8); // colour=Red, Blue, Purple - let _ = vec_buf.push(0x00); // times=Infinite - - // SUM - let chk = compute_checksum(vec_buf.clone()); - let _ = write_cmd_bytes(&mut vec_buf, &chk.to_be_bytes()[..]); - - // ===== - - // Send command buffer. - let data_write: [u8; 16] = vec_buf.clone().into_array().unwrap(); - info!("write ({})='{:?}'", colour, data_write); - match tx.write(&data_write).await { - Ok(..) => info!("Write successful."), - Err(e) => info!("Write error: {:?}", e), - } - - // ===== - - // Read command buffer. - let mut read_buf: [u8; 1] = [0; 1]; // Can only read one byte at a time! - let mut data_read: Vec = heapless::Vec::new(); // Return buffer. - let mut cnt: u8 = 0; // Keep track of how many packages we've received. - - info!("Attempting read."); - loop { - match rx.read(&mut read_buf).await { - Ok(..) => (), - Err(e) => info!(" Read error: {:?}", e), - } - - match cnt { - _ => data_read.push(read_buf[0]).unwrap(), + let mut data: Vec = heapless::Vec::new(); + + let mut speeds: Vec = heapless::Vec::new(); + let _ = speeds.push(0xC8); // Slow + let _ = speeds.push(0x20); // Medium + let _ = speeds.push(0x02); // Fast + + // Cycle through the three colours Red, Blue and Purple forever. + loop { + for colour in 1..=3 { + for speed in &speeds { + // Set the data first, because the length is dependent on that. + // However, we write the length bits before we do the data. + data.clear(); + let _ = data.push(0x01); // ctrl=Breathing light + let _ = data.push(*speed); + let _ = data.push(colour as u8); // colour=Red, Blue, Purple + let _ = data.push(0x00); // times=Infinite + + // Clear buffers + vec_buf.clear(); + + // START + let _ = vec_buf.extend_from_slice(&START.to_be_bytes()[..]); + + // ADDRESS + let _ = vec_buf.extend_from_slice(&ADDRESS.to_be_bytes()[..]); + + // PID + let _ = vec_buf.extend_from_slice(&[0x01]); + + // LENGTH + let len: u16 = (1 + data.len() + 2).try_into().unwrap(); + let _ = vec_buf.extend_from_slice(&len.to_be_bytes()[..]); + + // COMMAND + let _ = vec_buf.push(0x35); // Command: AuraLedConfig + + // DATA + let _ = vec_buf.extend_from_slice(&data); + + // SUM + let chk = compute_checksum(vec_buf.clone()); + let _ = vec_buf.extend_from_slice(&chk.to_be_bytes()[..]); + + // ===== + + // Send command buffer. + let data_write: [u8; 16] = vec_buf.clone().into_array().unwrap(); + debug!(" write='{:?}'", data_write[..]); + match tx.write(&data_write).await { + Ok(..) => info!("Write successful."), + Err(e) => error!("Write error: {:?}", e), + } + + // ===== + + // Read command buffer. + let mut read_buf: [u8; 1] = [0; 1]; // Can only read one byte at a time! + let mut data_read: Vec = heapless::Vec::new(); // Save buffer. + + info!("Attempting read."); + loop { + // Some commands, like `Img2Tz()` needs longer, but we hard-code this to 200ms + // for this command. + match with_timeout(Duration::from_millis(200), rx.read(&mut read_buf)).await { + Ok(..) => { + // Extract and save read byte. + debug!(" r='{=u8:#04x}H' ({:03}D)", read_buf[0], read_buf[0]); + let _ = data_read.push(read_buf[0]).unwrap(); + } + Err(..) => break, // TimeoutError -> Ignore. + } + } + info!("Read successful"); + debug!(" read='{:?}'", data_read[..]); + + Timer::after_secs(3).await; + info!("Changing speed."); } - if cnt > 10 { - info!("read ({})='{:?}'", colour, data_read[..]); - break; - } - - cnt = cnt + 1; - } - - // ===== - - if colour != 3 { - Timer::after_secs(2).await; info!("Changing colour."); } } - - info!("All done.."); } -- cgit From 3e87dae578969874d354c538d8c59e7be491933d Mon Sep 17 00:00:00 2001 From: Pegasis Date: Fri, 3 May 2024 08:12:30 -0400 Subject: add example for bdma --- examples/stm32h7/build.rs | 30 ++++++++++++++ examples/stm32h7/memory.x | 14 +++++++ examples/stm32h7/src/bin/spi_bdma.rs | 78 ++++++++++++++++++++++++++++++++++++ 3 files changed, 122 insertions(+) create mode 100644 examples/stm32h7/memory.x create mode 100644 examples/stm32h7/src/bin/spi_bdma.rs (limited to 'examples') diff --git a/examples/stm32h7/build.rs b/examples/stm32h7/build.rs index 8cd32d7ed..b9bb661f0 100644 --- a/examples/stm32h7/build.rs +++ b/examples/stm32h7/build.rs @@ -1,4 +1,34 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory -- wherever `Cargo.toml` is. However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! updating `memory.x` ensures a rebuild of the application with the +//! new memory settings. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); + println!("cargo:rustc-link-arg-bins=--nmagic"); println!("cargo:rustc-link-arg-bins=-Tlink.x"); println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); diff --git a/examples/stm32h7/memory.x b/examples/stm32h7/memory.x new file mode 100644 index 000000000..e5ab1f62c --- /dev/null +++ b/examples/stm32h7/memory.x @@ -0,0 +1,14 @@ +MEMORY +{ + FLASH : ORIGIN = 0x08000000, LENGTH = 2048K /* BANK_1 + BANK_2 */ + RAM : ORIGIN = 0x24000000, LENGTH = 512K /* SRAM */ + RAM_D3 : ORIGIN = 0x38000000, LENGTH = 64K /* SRAM4 */ +} + +SECTIONS +{ + .ram_d3 : + { + *(.ram_d3) + } > RAM_D3 +} \ No newline at end of file diff --git a/examples/stm32h7/src/bin/spi_bdma.rs b/examples/stm32h7/src/bin/spi_bdma.rs new file mode 100644 index 000000000..2fc37fc22 --- /dev/null +++ b/examples/stm32h7/src/bin/spi_bdma.rs @@ -0,0 +1,78 @@ +#![no_std] +#![no_main] + +use core::fmt::Write; +use core::str::from_utf8; + +use cortex_m_rt::entry; +use defmt::*; +use embassy_executor::Executor; +use embassy_stm32::mode::Async; +use embassy_stm32::time::mhz; +use embassy_stm32::{peripherals, spi, Config}; +use heapless::String; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +// Defined in memory.x +#[link_section = ".ram_d3"] +static mut RAM_D3: [u8; 64 * 1024] = [0u8; 64 * 1024]; + +#[embassy_executor::task] +async fn main_task(mut spi: spi::Spi<'static, peripherals::SPI6, Async>) { + let read_buffer = unsafe { &mut RAM_D3[0..128] }; + let write_buffer = unsafe { &mut RAM_D3[128..256] }; + + for n in 0u32.. { + let mut write: String<128> = String::new(); + core::write!(&mut write, "Hello DMA World {}!\r\n", n).unwrap(); + let read_buffer = &mut read_buffer[..write.len()]; + let write_buffer = &mut write_buffer[..write.len()]; + // copy data to write_buffer which is located in D3 domain, accessable by BDMA + write_buffer.clone_from_slice(write.as_bytes()); + + spi.transfer(read_buffer, write_buffer).await.ok(); + info!("read via spi+dma: {}", from_utf8(read_buffer).unwrap()); + } +} + +static EXECUTOR: StaticCell = StaticCell::new(); + +#[entry] +fn main() -> ! { + info!("Hello World!"); + + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hsi = Some(HSIPrescaler::DIV1); + config.rcc.csi = true; + config.rcc.pll1 = Some(Pll { + source: PllSource::HSI, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL50, + divp: Some(PllDiv::DIV2), + divq: Some(PllDiv::DIV8), // used by SPI3. 100Mhz. + divr: None, + }); + config.rcc.sys = Sysclk::PLL1_P; // 400 Mhz + config.rcc.ahb_pre = AHBPrescaler::DIV2; // 200 Mhz + config.rcc.apb1_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb2_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb3_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb4_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.voltage_scale = VoltageScale::Scale1; + } + let p = embassy_stm32::init(config); + + let mut spi_config = spi::Config::default(); + spi_config.frequency = mhz(1); + + let spi = spi::Spi::new(p.SPI6, p.PA5, p.PA7, p.PA6, p.BDMA_CH1, p.BDMA_CH0, spi_config); + + let executor = EXECUTOR.init(Executor::new()); + + executor.run(|spawner| { + unwrap!(spawner.spawn(main_task(spi))); + }) +} -- cgit From 1c10339f4791b5ec6e2d41da79315fcb853b5529 Mon Sep 17 00:00:00 2001 From: Pegasis Date: Fri, 3 May 2024 08:17:29 -0400 Subject: format --- examples/stm32h7/build.rs | 2 +- examples/stm32h7/src/bin/spi_bdma.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/build.rs b/examples/stm32h7/build.rs index b9bb661f0..30691aa97 100644 --- a/examples/stm32h7/build.rs +++ b/examples/stm32h7/build.rs @@ -28,7 +28,7 @@ fn main() { // here, we ensure the build script is only re-run when // `memory.x` is changed. println!("cargo:rerun-if-changed=memory.x"); - + println!("cargo:rustc-link-arg-bins=--nmagic"); println!("cargo:rustc-link-arg-bins=-Tlink.x"); println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); diff --git a/examples/stm32h7/src/bin/spi_bdma.rs b/examples/stm32h7/src/bin/spi_bdma.rs index 2fc37fc22..f968df4a7 100644 --- a/examples/stm32h7/src/bin/spi_bdma.rs +++ b/examples/stm32h7/src/bin/spi_bdma.rs @@ -22,7 +22,7 @@ static mut RAM_D3: [u8; 64 * 1024] = [0u8; 64 * 1024]; async fn main_task(mut spi: spi::Spi<'static, peripherals::SPI6, Async>) { let read_buffer = unsafe { &mut RAM_D3[0..128] }; let write_buffer = unsafe { &mut RAM_D3[128..256] }; - + for n in 0u32.. { let mut write: String<128> = String::new(); core::write!(&mut write, "Hello DMA World {}!\r\n", n).unwrap(); -- cgit From ad66dc3aabe6ac11dd0f3aa4d9f403e3aac7e8f4 Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Sun, 5 May 2024 21:58:54 -0400 Subject: create input_capture --- examples/stm32f4/.cargo/config.toml | 12 +++- examples/stm32f4/.vscode/README.md | 109 ++++++++++++++++++++++++++++++ examples/stm32f4/.vscode/extensions.json | 17 +++++ examples/stm32f4/.vscode/launch.json | 33 +++++++++ examples/stm32f4/.vscode/tasks.json | 43 ++++++++++++ examples/stm32f4/openocd.cfg | 5 ++ examples/stm32f4/openocd.gdb | 40 +++++++++++ examples/stm32f4/src/bin/input_capture.rs | 39 +++++++++++ 8 files changed, 296 insertions(+), 2 deletions(-) create mode 100644 examples/stm32f4/.vscode/README.md create mode 100644 examples/stm32f4/.vscode/extensions.json create mode 100644 examples/stm32f4/.vscode/launch.json create mode 100644 examples/stm32f4/.vscode/tasks.json create mode 100644 examples/stm32f4/openocd.cfg create mode 100644 examples/stm32f4/openocd.gdb create mode 100644 examples/stm32f4/src/bin/input_capture.rs (limited to 'examples') diff --git a/examples/stm32f4/.cargo/config.toml b/examples/stm32f4/.cargo/config.toml index 16efa8e6f..fdb246a7f 100644 --- a/examples/stm32f4/.cargo/config.toml +++ b/examples/stm32f4/.cargo/config.toml @@ -1,9 +1,17 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] # replace STM32F429ZITx with your chip as listed in `probe-rs chip list` -runner = "probe-rs run --chip STM32F429ZITx" +# runner = "probe-rs run --chip STM32F429ZITx" +runner = "arm-none-eabi-gdb -q -x openocd.gdb" [build] -target = "thumbv7em-none-eabi" +# Pick ONE of these default compilation targets +# target = "thumbv6m-none-eabi" # Cortex-M0 and Cortex-M0+ +# target = "thumbv7m-none-eabi" # Cortex-M3 +# target = "thumbv7em-none-eabi" # Cortex-M4 and Cortex-M7 (no FPU) +target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) +# target = "thumbv8m.base-none-eabi" # Cortex-M23 +# target = "thumbv8m.main-none-eabi" # Cortex-M33 (no FPU) +# target = "thumbv8m.main-none-eabihf" # Cortex-M33 (with FPU) [env] DEFMT_LOG = "trace" diff --git a/examples/stm32f4/.vscode/README.md b/examples/stm32f4/.vscode/README.md new file mode 100644 index 000000000..4d20f43a8 --- /dev/null +++ b/examples/stm32f4/.vscode/README.md @@ -0,0 +1,109 @@ +# VS Code Configuration + +Example configurations for debugging programs in-editor with VS Code. +This directory contains configurations for two platforms: + + - `LM3S6965EVB` on QEMU + - `STM32F303x` via OpenOCD + +## Required Extensions + +If you have the `code` command in your path, you can run the following commands to install the necessary extensions. + +```sh +code --install-extension rust-lang.rust-analyzer +code --install-extension marus25.cortex-debug +``` + +Otherwise, you can use the Extensions view to search for and install them, or go directly to their marketplace pages and click the "Install" button. + +- [Rust Language Server (rust-analyzer)](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) +- [Cortex-Debug](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug) + +## Use + +The quickstart comes with two debug configurations. +Both are configured to build the project, using the default settings from `.cargo/config`, prior to starting a debug session. + +1. QEMU: Starts a debug session using an emulation of the `LM3S6965EVB` mcu. + - This works on a fresh `cargo generate` without modification of any of the settings described above. + - Semihosting output will be written to the Output view `Adapter Output`. + - `ITM` logging does not work with QEMU emulation. + +2. OpenOCD: Starts a debug session for a `STM32F3DISCOVERY` board (or any `STM32F303x` running at 8MHz). + - Follow the instructions above for configuring the build with `.cargo/config` and the `memory.x` linker script. + - `ITM` output will be written to the Output view `SWO: ITM [port: 0, type: console]` output. + +### Git + +Files in the `.vscode/` directory are `.gitignore`d by default because many files that may end up in the `.vscode/` directory should not be committed and shared. +If you would like to save this debug configuration to your repository and share it with your team, you'll need to explicitly `git add` the files to your repository. + +```sh +git add -f .vscode/launch.json +git add -f .vscode/tasks.json +git add -f .vscode/*.svd +``` + +## Customizing for other targets + +For full documentation, see the [Cortex-Debug][cortex-debug] repository. + +### Device + +Some configurations use this to automatically find the SVD file. +Replace this with the part number for your device. + +```json +"device": "STM32F303VCT6", +``` + +### OpenOCD Config Files + +The `configFiles` property specifies a list of files to pass to OpenOCD. + +```json +"configFiles": [ + "interface/stlink-v2-1.cfg", + "target/stm32f3x.cfg" +], +``` + +See the [OpenOCD config docs][openocd-config] for more information and the [OpenOCD repository for available configuration files][openocd-repo]. + +### SVD + +The SVD file is a standard way of describing all registers and peripherals of an ARM Cortex-M mCU. +Cortex-Debug needs this file to display the current register values for the peripherals on the device. + +You can probably find the SVD for your device on the vendor's website. + + +For example, the STM32F3DISCOVERY board uses an mcu from the `STM32F303x` line of processors. +All the SVD files for the STM32F3 series are available on [ST's Website][stm32f3]. +Download the [stm32f3 SVD pack][stm32f3-svd], and copy the `STM32F303.svd` file into `.vscode/`. +This line of the config tells the Cortex-Debug plug in where to find the file. + +```json +"svdFile": "${workspaceRoot}/.vscode/STM32F303.svd", +``` + +For other processors, simply copy the correct `*.svd` file into the project and update the config accordingly. + +### CPU Frequency + +If your device is running at a frequency other than 8MHz, you'll need to modify this line of `launch.json` for the `ITM` output to work correctly. + +```json +"cpuFrequency": 8000000, +``` + +### Other GDB Servers + +For information on setting up GDB servers other than OpenOCD, see the [Cortex-Debug repository][cortex-debug]. + +[cortex-debug]: https://github.com/Marus/cortex-debug +[stm32f3]: https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f3-series.html#resource +[stm32f3-svd]: https://www.st.com/resource/en/svd/stm32f3_svd.zip +[openocd-config]: http://openocd.org/doc/html/Config-File-Guidelines.html +[openocd-repo]: https://sourceforge.net/p/openocd/code/ci/master/tree/tcl/ diff --git a/examples/stm32f4/.vscode/extensions.json b/examples/stm32f4/.vscode/extensions.json new file mode 100644 index 000000000..b7304974e --- /dev/null +++ b/examples/stm32f4/.vscode/extensions.json @@ -0,0 +1,17 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "rust-lang.rust-analyzer", + "marus25.cortex-debug", + "usernamehw.errorlens", + "tamasfe.even-better-toml", + "serayuzgur.crates" + ], + // List of extensions recommended by VS Code that should not be recommended for users of this workspace. + "unwantedRecommendations": [ + + ] +} diff --git a/examples/stm32f4/.vscode/launch.json b/examples/stm32f4/.vscode/launch.json new file mode 100644 index 000000000..20cd4d2e8 --- /dev/null +++ b/examples/stm32f4/.vscode/launch.json @@ -0,0 +1,33 @@ +{ + /* + * Requires the Rust Language Server (rust-analyzer) and Cortex-Debug extensions + * https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer + * https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug + */ + "version": "0.2.0", + "configurations": [ + { + /* Configuration for the STM32F446 Discovery board */ + "type": "cortex-debug", + "request": "launch", + "name": "Debug (OpenOCD)", + "servertype": "openocd", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Cargo Build (debug)", + "runToEntryPoint": "main", + "executable": "./target/thumbv7em-none-eabihf/debug/input_capture", + /* Run `cargo build --example itm` and uncomment this line to run itm example */ + // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", + "device": "STM32F446RET6", + "configFiles": [ + "interface/stlink.cfg", + "target/stm32f4x.cfg" + ], + "postLaunchCommands": [ + "monitor arm semihosting enable" + ], + "postRestartCommands": [], + "postResetCommands": [], + } + ] +} \ No newline at end of file diff --git a/examples/stm32f4/.vscode/tasks.json b/examples/stm32f4/.vscode/tasks.json new file mode 100644 index 000000000..9109a6157 --- /dev/null +++ b/examples/stm32f4/.vscode/tasks.json @@ -0,0 +1,43 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + /* + * This is the default cargo build task, + * but we need to provide a label for it, + * so we can invoke it from the debug launcher. + */ + "label": "Cargo Build (debug)", + "type": "process", + "command": "cargo", + "args": ["build", "--bin", "input_capture"], + "problemMatcher": [ + "$rustc" + ], + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "label": "Cargo Build (release)", + "type": "process", + "command": "cargo", + "args": ["build", "--release"], + "problemMatcher": [ + "$rustc" + ], + "group": "build" + }, + { + "label": "Cargo Clean", + "type": "process", + "command": "cargo", + "args": ["clean"], + "problemMatcher": [], + "group": "build" + }, + ] +} diff --git a/examples/stm32f4/openocd.cfg b/examples/stm32f4/openocd.cfg new file mode 100644 index 000000000..e41d52b1a --- /dev/null +++ b/examples/stm32f4/openocd.cfg @@ -0,0 +1,5 @@ +# Sample OpenOCD configuration for the STM32F3DISCOVERY development board + +source [find interface/stlink.cfg] + +source [find target/stm32f4x.cfg] diff --git a/examples/stm32f4/openocd.gdb b/examples/stm32f4/openocd.gdb new file mode 100644 index 000000000..7795319fb --- /dev/null +++ b/examples/stm32f4/openocd.gdb @@ -0,0 +1,40 @@ +target extended-remote :3333 + +# print demangled symbols +set print asm-demangle on + +# set backtrace limit to not have infinite backtrace loops +set backtrace limit 32 + +# detect unhandled exceptions, hard faults and panics +break DefaultHandler +break HardFault +break rust_begin_unwind +# # run the next few lines so the panic message is printed immediately +# # the number needs to be adjusted for your panic handler +# commands $bpnum +# next 4 +# end + +# *try* to stop at the user entry point (it might be gone due to inlining) +break main + +monitor arm semihosting enable + +# # send captured ITM to the file itm.fifo +# # (the microcontroller SWO pin must be connected to the programmer SWO pin) +# # 8000000 must match the core clock frequency +# monitor tpiu config internal itm.txt uart off 8000000 + +# # OR: make the microcontroller SWO pin output compatible with UART (8N1) +# # 8000000 must match the core clock frequency +# # 2000000 is the frequency of the SWO pin +# monitor tpiu config external uart off 8000000 2000000 + +# # enable ITM port 0 +# monitor itm port 0 on + +load + +# start the process but immediately halt the processor +stepi diff --git a/examples/stm32f4/src/bin/input_capture.rs b/examples/stm32f4/src/bin/input_capture.rs new file mode 100644 index 000000000..202f363fc --- /dev/null +++ b/examples/stm32f4/src/bin/input_capture.rs @@ -0,0 +1,39 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::{ + gpio::{self, Level, Output, Speed}, + time::Hertz, +}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +use embassy_stm32::timer::{ + input_capture::{CapturePin, InputCapture}, + Channel, +}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut led = Output::new(p.PB2, Level::High, Speed::Low); + + let ic = CapturePin::new_ch3(p.PB10, gpio::Pull::None); + let drv = InputCapture::new(p.TIM2, None, None, Some(ic), None, Hertz::mhz(1), Default::default()); + let mut _last: u32; + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(300).await; + + info!("low"); + led.set_low(); + Timer::after_millis(300).await; + _last = drv.get_capture_value(Channel::Ch1); + } +} -- cgit From 431a60ca6384a77243d33f5b1bbef878267bea49 Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Sun, 5 May 2024 22:30:16 -0400 Subject: formatting --- examples/stm32f4/Cargo.toml | 2 +- examples/stm32f4/src/bin/input_capture.rs | 29 +++++++++++++++++------------ 2 files changed, 18 insertions(+), 13 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 64ac50818..5469f0cc6 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32f429zi to your chip name, if necessary. -embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f446re", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32f4/src/bin/input_capture.rs b/examples/stm32f4/src/bin/input_capture.rs index 202f363fc..714f043b6 100644 --- a/examples/stm32f4/src/bin/input_capture.rs +++ b/examples/stm32f4/src/bin/input_capture.rs @@ -3,17 +3,14 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::{ - gpio::{self, Level, Output, Speed}, - time::Hertz, -}; +use embassy_stm32::gpio::{Level, Output, Pull, Speed}; +use embassy_stm32::time::khz; +use embassy_stm32::timer::input_capture::{CapturePin, InputCapture}; +use embassy_stm32::timer::Channel; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -use embassy_stm32::timer::{ - input_capture::{CapturePin, InputCapture}, - Channel, -}; +/// Connect PB2 and PB10 with a 1k Ohm resistor #[embassy_executor::main] async fn main(_spawner: Spawner) { @@ -22,9 +19,11 @@ async fn main(_spawner: Spawner) { let mut led = Output::new(p.PB2, Level::High, Speed::Low); - let ic = CapturePin::new_ch3(p.PB10, gpio::Pull::None); - let drv = InputCapture::new(p.TIM2, None, None, Some(ic), None, Hertz::mhz(1), Default::default()); - let mut _last: u32; + let ch3 = CapturePin::new_ch3(p.PB10, Pull::None); + let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, khz(1000), Default::default()); + ic.enable(Channel::Ch3); + + let mut last = 0; loop { info!("high"); @@ -34,6 +33,12 @@ async fn main(_spawner: Spawner) { info!("low"); led.set_low(); Timer::after_millis(300).await; - _last = drv.get_capture_value(Channel::Ch1); + + // Check for input capture + let cap = ic.get_capture_value(Channel::Ch3); + if cap != last { + info!("New capture!"); + last = cap; + } } } -- cgit From 29d6fa0a4aa3203e95cf81ada366cb0ccf593af4 Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Sun, 5 May 2024 23:00:48 -0400 Subject: add get_input_interrupt --- examples/stm32f4/src/bin/input_capture.rs | 39 ++++++++++++++++++------------- 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/input_capture.rs b/examples/stm32f4/src/bin/input_capture.rs index 714f043b6..17f65c6b9 100644 --- a/examples/stm32f4/src/bin/input_capture.rs +++ b/examples/stm32f4/src/bin/input_capture.rs @@ -4,6 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; +use embassy_stm32::peripherals::PB2; use embassy_stm32::time::khz; use embassy_stm32::timer::input_capture::{CapturePin, InputCapture}; use embassy_stm32::timer::Channel; @@ -12,18 +13,9 @@ use {defmt_rtt as _, panic_probe as _}; /// Connect PB2 and PB10 with a 1k Ohm resistor -#[embassy_executor::main] -async fn main(_spawner: Spawner) { - let p = embassy_stm32::init(Default::default()); - info!("Hello World!"); - - let mut led = Output::new(p.PB2, Level::High, Speed::Low); - - let ch3 = CapturePin::new_ch3(p.PB10, Pull::None); - let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, khz(1000), Default::default()); - ic.enable(Channel::Ch3); - - let mut last = 0; +#[embassy_executor::task] +async fn blinky(led: PB2) { + let mut led = Output::new(led, Level::High, Speed::Low); loop { info!("high"); @@ -33,12 +25,27 @@ async fn main(_spawner: Spawner) { info!("low"); led.set_low(); Timer::after_millis(300).await; + } +} +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + unwrap!(spawner.spawn(blinky(p.PB2))); + + let ch3 = CapturePin::new_ch3(p.PB10, Pull::None); + let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, khz(1000), Default::default()); + ic.enable(Channel::Ch3); + + loop { // Check for input capture - let cap = ic.get_capture_value(Channel::Ch3); - if cap != last { - info!("New capture!"); - last = cap; + if ic.get_input_interrupt(Channel::Ch3) { + let capture_value = ic.get_capture_value(Channel::Ch3); + info!("New capture! {}", capture_value); } + // Wait a little bit + Timer::after_millis(1).await; } } -- cgit From 7b04b0166b59558322c77eac6683bbf58268b3f1 Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Sun, 5 May 2024 23:05:06 -0400 Subject: cleanup for PR --- examples/stm32f4/.cargo/config.toml | 12 +--- examples/stm32f4/.vscode/README.md | 109 ------------------------------- examples/stm32f4/.vscode/extensions.json | 17 ----- examples/stm32f4/.vscode/launch.json | 33 ---------- examples/stm32f4/.vscode/tasks.json | 43 ------------ examples/stm32f4/Cargo.toml | 2 +- examples/stm32f4/openocd.cfg | 5 -- examples/stm32f4/openocd.gdb | 40 ------------ 8 files changed, 3 insertions(+), 258 deletions(-) delete mode 100644 examples/stm32f4/.vscode/README.md delete mode 100644 examples/stm32f4/.vscode/extensions.json delete mode 100644 examples/stm32f4/.vscode/launch.json delete mode 100644 examples/stm32f4/.vscode/tasks.json delete mode 100644 examples/stm32f4/openocd.cfg delete mode 100644 examples/stm32f4/openocd.gdb (limited to 'examples') diff --git a/examples/stm32f4/.cargo/config.toml b/examples/stm32f4/.cargo/config.toml index fdb246a7f..16efa8e6f 100644 --- a/examples/stm32f4/.cargo/config.toml +++ b/examples/stm32f4/.cargo/config.toml @@ -1,17 +1,9 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] # replace STM32F429ZITx with your chip as listed in `probe-rs chip list` -# runner = "probe-rs run --chip STM32F429ZITx" -runner = "arm-none-eabi-gdb -q -x openocd.gdb" +runner = "probe-rs run --chip STM32F429ZITx" [build] -# Pick ONE of these default compilation targets -# target = "thumbv6m-none-eabi" # Cortex-M0 and Cortex-M0+ -# target = "thumbv7m-none-eabi" # Cortex-M3 -# target = "thumbv7em-none-eabi" # Cortex-M4 and Cortex-M7 (no FPU) -target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) -# target = "thumbv8m.base-none-eabi" # Cortex-M23 -# target = "thumbv8m.main-none-eabi" # Cortex-M33 (no FPU) -# target = "thumbv8m.main-none-eabihf" # Cortex-M33 (with FPU) +target = "thumbv7em-none-eabi" [env] DEFMT_LOG = "trace" diff --git a/examples/stm32f4/.vscode/README.md b/examples/stm32f4/.vscode/README.md deleted file mode 100644 index 4d20f43a8..000000000 --- a/examples/stm32f4/.vscode/README.md +++ /dev/null @@ -1,109 +0,0 @@ -# VS Code Configuration - -Example configurations for debugging programs in-editor with VS Code. -This directory contains configurations for two platforms: - - - `LM3S6965EVB` on QEMU - - `STM32F303x` via OpenOCD - -## Required Extensions - -If you have the `code` command in your path, you can run the following commands to install the necessary extensions. - -```sh -code --install-extension rust-lang.rust-analyzer -code --install-extension marus25.cortex-debug -``` - -Otherwise, you can use the Extensions view to search for and install them, or go directly to their marketplace pages and click the "Install" button. - -- [Rust Language Server (rust-analyzer)](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) -- [Cortex-Debug](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug) - -## Use - -The quickstart comes with two debug configurations. -Both are configured to build the project, using the default settings from `.cargo/config`, prior to starting a debug session. - -1. QEMU: Starts a debug session using an emulation of the `LM3S6965EVB` mcu. - - This works on a fresh `cargo generate` without modification of any of the settings described above. - - Semihosting output will be written to the Output view `Adapter Output`. - - `ITM` logging does not work with QEMU emulation. - -2. OpenOCD: Starts a debug session for a `STM32F3DISCOVERY` board (or any `STM32F303x` running at 8MHz). - - Follow the instructions above for configuring the build with `.cargo/config` and the `memory.x` linker script. - - `ITM` output will be written to the Output view `SWO: ITM [port: 0, type: console]` output. - -### Git - -Files in the `.vscode/` directory are `.gitignore`d by default because many files that may end up in the `.vscode/` directory should not be committed and shared. -If you would like to save this debug configuration to your repository and share it with your team, you'll need to explicitly `git add` the files to your repository. - -```sh -git add -f .vscode/launch.json -git add -f .vscode/tasks.json -git add -f .vscode/*.svd -``` - -## Customizing for other targets - -For full documentation, see the [Cortex-Debug][cortex-debug] repository. - -### Device - -Some configurations use this to automatically find the SVD file. -Replace this with the part number for your device. - -```json -"device": "STM32F303VCT6", -``` - -### OpenOCD Config Files - -The `configFiles` property specifies a list of files to pass to OpenOCD. - -```json -"configFiles": [ - "interface/stlink-v2-1.cfg", - "target/stm32f3x.cfg" -], -``` - -See the [OpenOCD config docs][openocd-config] for more information and the [OpenOCD repository for available configuration files][openocd-repo]. - -### SVD - -The SVD file is a standard way of describing all registers and peripherals of an ARM Cortex-M mCU. -Cortex-Debug needs this file to display the current register values for the peripherals on the device. - -You can probably find the SVD for your device on the vendor's website. - - -For example, the STM32F3DISCOVERY board uses an mcu from the `STM32F303x` line of processors. -All the SVD files for the STM32F3 series are available on [ST's Website][stm32f3]. -Download the [stm32f3 SVD pack][stm32f3-svd], and copy the `STM32F303.svd` file into `.vscode/`. -This line of the config tells the Cortex-Debug plug in where to find the file. - -```json -"svdFile": "${workspaceRoot}/.vscode/STM32F303.svd", -``` - -For other processors, simply copy the correct `*.svd` file into the project and update the config accordingly. - -### CPU Frequency - -If your device is running at a frequency other than 8MHz, you'll need to modify this line of `launch.json` for the `ITM` output to work correctly. - -```json -"cpuFrequency": 8000000, -``` - -### Other GDB Servers - -For information on setting up GDB servers other than OpenOCD, see the [Cortex-Debug repository][cortex-debug]. - -[cortex-debug]: https://github.com/Marus/cortex-debug -[stm32f3]: https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f3-series.html#resource -[stm32f3-svd]: https://www.st.com/resource/en/svd/stm32f3_svd.zip -[openocd-config]: http://openocd.org/doc/html/Config-File-Guidelines.html -[openocd-repo]: https://sourceforge.net/p/openocd/code/ci/master/tree/tcl/ diff --git a/examples/stm32f4/.vscode/extensions.json b/examples/stm32f4/.vscode/extensions.json deleted file mode 100644 index b7304974e..000000000 --- a/examples/stm32f4/.vscode/extensions.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. - // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp - - // List of extensions which should be recommended for users of this workspace. - "recommendations": [ - "rust-lang.rust-analyzer", - "marus25.cortex-debug", - "usernamehw.errorlens", - "tamasfe.even-better-toml", - "serayuzgur.crates" - ], - // List of extensions recommended by VS Code that should not be recommended for users of this workspace. - "unwantedRecommendations": [ - - ] -} diff --git a/examples/stm32f4/.vscode/launch.json b/examples/stm32f4/.vscode/launch.json deleted file mode 100644 index 20cd4d2e8..000000000 --- a/examples/stm32f4/.vscode/launch.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - /* - * Requires the Rust Language Server (rust-analyzer) and Cortex-Debug extensions - * https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer - * https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug - */ - "version": "0.2.0", - "configurations": [ - { - /* Configuration for the STM32F446 Discovery board */ - "type": "cortex-debug", - "request": "launch", - "name": "Debug (OpenOCD)", - "servertype": "openocd", - "cwd": "${workspaceRoot}", - "preLaunchTask": "Cargo Build (debug)", - "runToEntryPoint": "main", - "executable": "./target/thumbv7em-none-eabihf/debug/input_capture", - /* Run `cargo build --example itm` and uncomment this line to run itm example */ - // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", - "device": "STM32F446RET6", - "configFiles": [ - "interface/stlink.cfg", - "target/stm32f4x.cfg" - ], - "postLaunchCommands": [ - "monitor arm semihosting enable" - ], - "postRestartCommands": [], - "postResetCommands": [], - } - ] -} \ No newline at end of file diff --git a/examples/stm32f4/.vscode/tasks.json b/examples/stm32f4/.vscode/tasks.json deleted file mode 100644 index 9109a6157..000000000 --- a/examples/stm32f4/.vscode/tasks.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format - "version": "2.0.0", - "tasks": [ - { - /* - * This is the default cargo build task, - * but we need to provide a label for it, - * so we can invoke it from the debug launcher. - */ - "label": "Cargo Build (debug)", - "type": "process", - "command": "cargo", - "args": ["build", "--bin", "input_capture"], - "problemMatcher": [ - "$rustc" - ], - "group": { - "kind": "build", - "isDefault": true - } - }, - { - "label": "Cargo Build (release)", - "type": "process", - "command": "cargo", - "args": ["build", "--release"], - "problemMatcher": [ - "$rustc" - ], - "group": "build" - }, - { - "label": "Cargo Clean", - "type": "process", - "command": "cargo", - "args": ["clean"], - "problemMatcher": [], - "group": "build" - }, - ] -} diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 5469f0cc6..64ac50818 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32f429zi to your chip name, if necessary. -embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f446re", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32f4/openocd.cfg b/examples/stm32f4/openocd.cfg deleted file mode 100644 index e41d52b1a..000000000 --- a/examples/stm32f4/openocd.cfg +++ /dev/null @@ -1,5 +0,0 @@ -# Sample OpenOCD configuration for the STM32F3DISCOVERY development board - -source [find interface/stlink.cfg] - -source [find target/stm32f4x.cfg] diff --git a/examples/stm32f4/openocd.gdb b/examples/stm32f4/openocd.gdb deleted file mode 100644 index 7795319fb..000000000 --- a/examples/stm32f4/openocd.gdb +++ /dev/null @@ -1,40 +0,0 @@ -target extended-remote :3333 - -# print demangled symbols -set print asm-demangle on - -# set backtrace limit to not have infinite backtrace loops -set backtrace limit 32 - -# detect unhandled exceptions, hard faults and panics -break DefaultHandler -break HardFault -break rust_begin_unwind -# # run the next few lines so the panic message is printed immediately -# # the number needs to be adjusted for your panic handler -# commands $bpnum -# next 4 -# end - -# *try* to stop at the user entry point (it might be gone due to inlining) -break main - -monitor arm semihosting enable - -# # send captured ITM to the file itm.fifo -# # (the microcontroller SWO pin must be connected to the programmer SWO pin) -# # 8000000 must match the core clock frequency -# monitor tpiu config internal itm.txt uart off 8000000 - -# # OR: make the microcontroller SWO pin output compatible with UART (8N1) -# # 8000000 must match the core clock frequency -# # 2000000 is the frequency of the SWO pin -# monitor tpiu config external uart off 8000000 2000000 - -# # enable ITM port 0 -# monitor itm port 0 on - -load - -# start the process but immediately halt the processor -stepi -- cgit From 55c8d3f4743bc653c1659dc3e961df86afe7d3db Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Mon, 6 May 2024 02:47:42 -0400 Subject: add async capture --- examples/stm32f4/src/bin/input_capture.rs | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/input_capture.rs b/examples/stm32f4/src/bin/input_capture.rs index 17f65c6b9..862a3103b 100644 --- a/examples/stm32f4/src/bin/input_capture.rs +++ b/examples/stm32f4/src/bin/input_capture.rs @@ -3,18 +3,19 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_stm32::bind_interrupts; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; -use embassy_stm32::peripherals::PB2; +use embassy_stm32::peripherals; use embassy_stm32::time::khz; use embassy_stm32::timer::input_capture::{CapturePin, InputCapture}; -use embassy_stm32::timer::Channel; +use embassy_stm32::timer::{self, Channel}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; /// Connect PB2 and PB10 with a 1k Ohm resistor #[embassy_executor::task] -async fn blinky(led: PB2) { +async fn blinky(led: peripherals::PB2) { let mut led = Output::new(led, Level::High, Speed::Low); loop { @@ -28,6 +29,10 @@ async fn blinky(led: PB2) { } } +bind_interrupts!(struct Irqs { + TIM2 => timer::CaptureCompareInterruptHandler; +}); + #[embassy_executor::main] async fn main(spawner: Spawner) { let p = embassy_stm32::init(Default::default()); @@ -36,16 +41,13 @@ async fn main(spawner: Spawner) { unwrap!(spawner.spawn(blinky(p.PB2))); let ch3 = CapturePin::new_ch3(p.PB10, Pull::None); - let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, khz(1000), Default::default()); - ic.enable(Channel::Ch3); + let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, Irqs, khz(1000), Default::default()); loop { - // Check for input capture - if ic.get_input_interrupt(Channel::Ch3) { - let capture_value = ic.get_capture_value(Channel::Ch3); - info!("New capture! {}", capture_value); - } - // Wait a little bit - Timer::after_millis(1).await; + info!("wait for risign edge"); + ic.wait_for_rising_edge(Channel::Ch3).await; + + let capture_value = ic.get_capture_value(Channel::Ch3); + info!("new capture! {}", capture_value); } } -- cgit From 969933cb7bd8b8e41aed824afeaf12fd094a5056 Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Mon, 6 May 2024 02:52:22 -0400 Subject: fix fmt for ci --- examples/stm32f4/src/bin/input_capture.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/input_capture.rs b/examples/stm32f4/src/bin/input_capture.rs index 862a3103b..49de33d2b 100644 --- a/examples/stm32f4/src/bin/input_capture.rs +++ b/examples/stm32f4/src/bin/input_capture.rs @@ -3,12 +3,11 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::bind_interrupts; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; -use embassy_stm32::peripherals; use embassy_stm32::time::khz; use embassy_stm32::timer::input_capture::{CapturePin, InputCapture}; use embassy_stm32::timer::{self, Channel}; +use embassy_stm32::{bind_interrupts, peripherals}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -- cgit From e94d4e6416e373bedb901d353989996a3375b615 Mon Sep 17 00:00:00 2001 From: Priit Laes Date: Wed, 8 May 2024 10:13:51 +0300 Subject: examples: Use unique crate name for stm32h7rs examples Current name clashes with "regular" stm32h7 thus generating cargo warning. --- examples/stm32h7rs/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32h7rs/Cargo.toml b/examples/stm32h7rs/Cargo.toml index ad661411d..192a6ca61 100644 --- a/examples/stm32h7rs/Cargo.toml +++ b/examples/stm32h7rs/Cargo.toml @@ -1,6 +1,6 @@ [package] edition = "2021" -name = "embassy-stm32h7-examples" +name = "embassy-stm32h7rs-examples" version = "0.1.0" license = "MIT OR Apache-2.0" -- cgit From dc108ca31d2509f1297b4613f452e86830e19b12 Mon Sep 17 00:00:00 2001 From: kalkyl Date: Thu, 9 May 2024 11:04:31 +0200 Subject: rp: Add raw interrupt handler example --- examples/rp/Cargo.toml | 1 + examples/rp/src/bin/interrupt.rs | 95 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 examples/rp/src/bin/interrupt.rs (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index ae6746dce..8162e4dcb 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -27,6 +27,7 @@ fixed-macro = "1.2" #cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } cortex-m = { version = "0.7.6", features = ["inline-asm"] } cortex-m-rt = "0.7.0" +critical-section = "1.1" panic-probe = { version = "0.3", features = ["print-defmt"] } display-interface-spi = "0.4.1" embedded-graphics = "0.7.1" diff --git a/examples/rp/src/bin/interrupt.rs b/examples/rp/src/bin/interrupt.rs new file mode 100644 index 000000000..51dacca10 --- /dev/null +++ b/examples/rp/src/bin/interrupt.rs @@ -0,0 +1,95 @@ +//! This example shows how you can use raw interrupt handlers alongside embassy. +//! The example also showcases some of the options available for sharing resources/data. +//! +//! In the example, an ADC reading is triggered every time the PWM wraps around. +//! The sample data is sent down a channel, to be processed inside a low priority task. +//! The processed data is then used to adjust the PWM duty cycle, once every second. + +#![no_std] +#![no_main] + +use core::cell::{Cell, RefCell}; + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::adc::{self, Adc, Blocking}; +use embassy_rp::interrupt; +use embassy_rp::pwm::{Config, Pwm}; +use embassy_rp::{gpio::Pull, peripherals::PWM_SLICE4}; +use embassy_sync::{ + blocking_mutex::{raw::CriticalSectionRawMutex, Mutex}, + channel::Channel, +}; +use embassy_time::{Duration, Ticker}; +use portable_atomic::{AtomicU32, Ordering}; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +static COUNTER: AtomicU32 = AtomicU32::new(0); +static PWM: Mutex>>> = Mutex::new(RefCell::new(None)); +static ADC: Mutex, adc::Channel)>>> = + Mutex::new(RefCell::new(None)); +static ADC_VALUES: Channel = Channel::new(); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + embassy_rp::pac::SIO.spinlock(31).write_value(1); + let p = embassy_rp::init(Default::default()); + + let adc = Adc::new_blocking(p.ADC, Default::default()); + let p26 = adc::Channel::new_pin(p.PIN_26, Pull::None); + ADC.lock(|a| a.borrow_mut().replace((adc, p26))); + + let pwm = Pwm::new_output_b(p.PWM_SLICE4, p.PIN_25, Default::default()); + PWM.lock(|p| p.borrow_mut().replace(pwm)); + + // Enable the interrupt for pwm slice 4 + embassy_rp::pac::PWM.inte().modify(|w| w.set_ch4(true)); + unsafe { + cortex_m::peripheral::NVIC::unmask(interrupt::PWM_IRQ_WRAP); + } + + // Tasks require their resources to have 'static lifetime + // No Mutex needed when sharing within the same executor/prio level + static AVG: StaticCell> = StaticCell::new(); + let avg = AVG.init(Default::default()); + spawner.must_spawn(processing(avg)); + + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + ticker.next().await; + let freq = COUNTER.swap(0, Ordering::Relaxed); + info!("pwm freq: {:?} Hz", freq); + info!("adc average: {:?}", avg.get()); + + // Update the pwm duty cycle, based on the averaged adc reading + let mut config = Config::default(); + config.compare_b = ((avg.get() as f32 / 4095.0) * config.top as f32) as _; + PWM.lock(|p| p.borrow_mut().as_mut().unwrap().set_config(&config)); + } +} + +#[embassy_executor::task] +async fn processing(avg: &'static Cell) { + let mut buffer: heapless::HistoryBuffer = Default::default(); + loop { + let val = ADC_VALUES.receive().await; + buffer.write(val); + let sum: u32 = buffer.iter().map(|x| *x as u32).sum(); + avg.set(sum / buffer.len() as u32); + } +} + +#[interrupt] +fn PWM_IRQ_WRAP() { + critical_section::with(|cs| { + let mut adc = ADC.borrow(cs).borrow_mut(); + let (adc, p26) = adc.as_mut().unwrap(); + let val = adc.blocking_read(p26).unwrap(); + ADC_VALUES.try_send(val).ok(); + + // Clear the interrupt, so we don't immediately re-enter this irq handler + PWM.borrow(cs).borrow_mut().as_mut().unwrap().clear_wrapped(); + }); + COUNTER.fetch_add(1, Ordering::Relaxed); +} -- cgit From 108bfae30d1857ebeb3764a6a110979efc6cf47e Mon Sep 17 00:00:00 2001 From: kalkyl Date: Thu, 9 May 2024 11:14:09 +0200 Subject: rustfmt --- examples/rp/src/bin/interrupt.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/interrupt.rs b/examples/rp/src/bin/interrupt.rs index 51dacca10..d334d35d7 100644 --- a/examples/rp/src/bin/interrupt.rs +++ b/examples/rp/src/bin/interrupt.rs @@ -13,13 +13,13 @@ use core::cell::{Cell, RefCell}; use defmt::*; use embassy_executor::Spawner; use embassy_rp::adc::{self, Adc, Blocking}; +use embassy_rp::gpio::Pull; use embassy_rp::interrupt; +use embassy_rp::peripherals::PWM_SLICE4; use embassy_rp::pwm::{Config, Pwm}; -use embassy_rp::{gpio::Pull, peripherals::PWM_SLICE4}; -use embassy_sync::{ - blocking_mutex::{raw::CriticalSectionRawMutex, Mutex}, - channel::Channel, -}; +use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; +use embassy_sync::blocking_mutex::Mutex; +use embassy_sync::channel::Channel; use embassy_time::{Duration, Ticker}; use portable_atomic::{AtomicU32, Ordering}; use static_cell::StaticCell; -- cgit From ee22e98fe1229ff9f4a85670dbb092717431ddde Mon Sep 17 00:00:00 2001 From: Mateusz Butkiewicz Date: Thu, 9 May 2024 08:05:34 +0200 Subject: feat(qspi): add example usage of QSPI --- examples/stm32f7/src/bin/qspi.rs | 300 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 300 insertions(+) create mode 100644 examples/stm32f7/src/bin/qspi.rs (limited to 'examples') diff --git a/examples/stm32f7/src/bin/qspi.rs b/examples/stm32f7/src/bin/qspi.rs new file mode 100644 index 000000000..005694db3 --- /dev/null +++ b/examples/stm32f7/src/bin/qspi.rs @@ -0,0 +1,300 @@ +#![no_std] +#![no_main] +#![allow(dead_code)] // Allow dead code as not all commands are used in the example + +use defmt::info; +use embassy_executor::Spawner; +use embassy_stm32::qspi::enums::{AddressSize, ChipSelectHighTime, FIFOThresholdLevel, MemorySize, *}; +use embassy_stm32::qspi::{Config as QspiCfg, Instance, Qspi, QuadDma, TransferConfig}; +use embassy_stm32::time::mhz; +use embassy_stm32::Config as StmCfg; +use {defmt_rtt as _, panic_probe as _}; + +const MEMORY_PAGE_SIZE: usize = 256; + +const CMD_READ: u8 = 0x03; +const CMD_HS_READ: u8 = 0x0B; +const CMD_QUAD_READ: u8 = 0x6B; + +const CMD_WRITE_PG: u8 = 0xF2; +const CMD_QUAD_WRITE_PG: u8 = 0x32; + +const CMD_READ_ID: u8 = 0x9F; +const CMD_READ_UUID: u8 = 0x4B; + +const CMD_ENABLE_RESET: u8 = 0x66; +const CMD_RESET: u8 = 0x99; + +const CMD_WRITE_ENABLE: u8 = 0x06; +const CMD_WRITE_DISABLE: u8 = 0x04; + +const CMD_CHIP_ERASE: u8 = 0xC7; +const CMD_SECTOR_ERASE: u8 = 0x20; +const CMD_BLOCK_ERASE_32K: u8 = 0x52; +const CMD_BLOCK_ERASE_64K: u8 = 0xD8; + +const CMD_READ_SR: u8 = 0x05; +const CMD_READ_CR: u8 = 0x35; + +const CMD_WRITE_SR: u8 = 0x01; +const CMD_WRITE_CR: u8 = 0x31; +const MEMORY_ADDR: u32 = 0x00000000u32; + +/// Implementation of access to flash chip. +/// Chip commands are hardcoded as it depends on used chip. +/// This implementation is using chip GD25Q64C from Giga Device +pub struct FlashMemory> { + qspi: Qspi<'static, I, D>, +} + +impl> FlashMemory { + pub fn new(qspi: Qspi<'static, I, D>) -> Self { + let mut memory = Self { qspi }; + + memory.reset_memory(); + memory.enable_quad(); + + memory + } + + fn enable_quad(&mut self) { + let cr = self.read_cr(); + self.write_cr(cr | 0x02); + } + + fn exec_command(&mut self, cmd: u8) { + let transaction = TransferConfig { + iwidth: QspiWidth::SING, + awidth: QspiWidth::NONE, + dwidth: QspiWidth::NONE, + instruction: cmd, + address: None, + dummy: DummyCycles::_0, + }; + self.qspi.command(transaction); + } + + pub fn reset_memory(&mut self) { + self.exec_command(CMD_ENABLE_RESET); + self.exec_command(CMD_RESET); + self.wait_write_finish(); + } + + pub fn enable_write(&mut self) { + self.exec_command(CMD_WRITE_ENABLE); + } + + pub fn read_id(&mut self) -> [u8; 3] { + let mut buffer = [0; 3]; + let transaction: TransferConfig = TransferConfig { + iwidth: QspiWidth::SING, + awidth: QspiWidth::NONE, + dwidth: QspiWidth::SING, + instruction: CMD_READ_ID, + address: None, + dummy: DummyCycles::_0, + }; + self.qspi.blocking_read(&mut buffer, transaction); + buffer + } + + pub fn read_uuid(&mut self) -> [u8; 16] { + let mut buffer = [0; 16]; + let transaction: TransferConfig = TransferConfig { + iwidth: QspiWidth::SING, + awidth: QspiWidth::SING, + dwidth: QspiWidth::SING, + instruction: CMD_READ_UUID, + address: Some(0), + dummy: DummyCycles::_8, + }; + self.qspi.blocking_read(&mut buffer, transaction); + buffer + } + + pub fn read_memory(&mut self, addr: u32, buffer: &mut [u8], use_dma: bool) { + let transaction = TransferConfig { + iwidth: QspiWidth::SING, + awidth: QspiWidth::SING, + dwidth: QspiWidth::QUAD, + instruction: CMD_QUAD_READ, + address: Some(addr), + dummy: DummyCycles::_8, + }; + if use_dma { + self.qspi.blocking_read_dma(buffer, transaction); + } else { + self.qspi.blocking_read(buffer, transaction); + } + } + + fn wait_write_finish(&mut self) { + while (self.read_sr() & 0x01) != 0 {} + } + + fn perform_erase(&mut self, addr: u32, cmd: u8) { + let transaction = TransferConfig { + iwidth: QspiWidth::SING, + awidth: QspiWidth::SING, + dwidth: QspiWidth::NONE, + instruction: cmd, + address: Some(addr), + dummy: DummyCycles::_0, + }; + self.enable_write(); + self.qspi.command(transaction); + self.wait_write_finish(); + } + + pub fn erase_sector(&mut self, addr: u32) { + self.perform_erase(addr, CMD_SECTOR_ERASE); + } + + pub fn erase_block_32k(&mut self, addr: u32) { + self.perform_erase(addr, CMD_BLOCK_ERASE_32K); + } + + pub fn erase_block_64k(&mut self, addr: u32) { + self.perform_erase(addr, CMD_BLOCK_ERASE_64K); + } + + pub fn erase_chip(&mut self) { + self.exec_command(CMD_CHIP_ERASE); + } + + fn write_page(&mut self, addr: u32, buffer: &[u8], len: usize, use_dma: bool) { + assert!( + (len as u32 + (addr & 0x000000ff)) <= MEMORY_PAGE_SIZE as u32, + "write_page(): page write length exceeds page boundary (len = {}, addr = {:X}", + len, + addr + ); + + let transaction = TransferConfig { + iwidth: QspiWidth::SING, + awidth: QspiWidth::SING, + dwidth: QspiWidth::QUAD, + instruction: CMD_QUAD_WRITE_PG, + address: Some(addr), + dummy: DummyCycles::_0, + }; + self.enable_write(); + if use_dma { + self.qspi.blocking_write_dma(buffer, transaction); + } else { + self.qspi.blocking_write(buffer, transaction); + } + self.wait_write_finish(); + } + + pub fn write_memory(&mut self, addr: u32, buffer: &[u8], use_dma: bool) { + let mut left = buffer.len(); + let mut place = addr; + let mut chunk_start = 0; + + while left > 0 { + let max_chunk_size = MEMORY_PAGE_SIZE - (place & 0x000000ff) as usize; + let chunk_size = if left >= max_chunk_size { max_chunk_size } else { left }; + let chunk = &buffer[chunk_start..(chunk_start + chunk_size)]; + self.write_page(place, chunk, chunk_size, use_dma); + place += chunk_size as u32; + left -= chunk_size; + chunk_start += chunk_size; + } + } + + fn read_register(&mut self, cmd: u8) -> u8 { + let mut buffer = [0; 1]; + let transaction: TransferConfig = TransferConfig { + iwidth: QspiWidth::SING, + awidth: QspiWidth::NONE, + dwidth: QspiWidth::SING, + instruction: cmd, + address: None, + dummy: DummyCycles::_0, + }; + self.qspi.blocking_read(&mut buffer, transaction); + buffer[0] + } + + fn write_register(&mut self, cmd: u8, value: u8) { + let buffer = [value; 1]; + let transaction: TransferConfig = TransferConfig { + iwidth: QspiWidth::SING, + awidth: QspiWidth::NONE, + dwidth: QspiWidth::SING, + instruction: cmd, + address: None, + dummy: DummyCycles::_0, + }; + self.qspi.blocking_write(&buffer, transaction); + } + + pub fn read_sr(&mut self) -> u8 { + self.read_register(CMD_READ_SR) + } + + pub fn read_cr(&mut self) -> u8 { + self.read_register(CMD_READ_CR) + } + + pub fn write_sr(&mut self, value: u8) { + self.write_register(CMD_WRITE_SR, value); + } + + pub fn write_cr(&mut self, value: u8) { + self.write_register(CMD_WRITE_CR, value); + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) -> ! { + let mut config = StmCfg::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hse = Some(Hse { + freq: mhz(8), + mode: HseMode::Oscillator, + }); + config.rcc.pll_src = PllSource::HSE; + config.rcc.pll = Some(Pll { + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL216, + divp: Some(PllPDiv::DIV2), // 8mhz / 4 * 216 / 2 = 216Mhz + divq: None, + divr: None, + }); + config.rcc.ahb_pre = AHBPrescaler::DIV1; + config.rcc.apb1_pre = APBPrescaler::DIV4; + config.rcc.apb2_pre = APBPrescaler::DIV2; + config.rcc.sys = Sysclk::PLL1_P; + } + let p = embassy_stm32::init(config); + info!("Embassy initialized"); + + let config = QspiCfg { + memory_size: MemorySize::_8MiB, + address_size: AddressSize::_24bit, + prescaler: 16, + cs_high_time: ChipSelectHighTime::_1Cycle, + fifo_threshold: FIFOThresholdLevel::_16Bytes, + }; + let driver = Qspi::new_bk1( + p.QUADSPI, p.PF8, p.PF9, p.PE2, p.PF6, p.PF10, p.PB10, p.DMA2_CH7, config, + ); + let mut flash = FlashMemory::new(driver); + let flash_id = flash.read_id(); + info!("FLASH ID: {:?}", flash_id); + let mut wr_buf = [0u8; 256]; + for i in 0..256 { + wr_buf[i] = i as u8; + } + let mut rd_buf = [0u8; 256]; + flash.erase_sector(MEMORY_ADDR); + flash.write_memory(MEMORY_ADDR, &wr_buf, true); + flash.read_memory(MEMORY_ADDR, &mut rd_buf, true); + info!("WRITE BUF: {:?}", wr_buf); + info!("READ BUF: {:?}", rd_buf); + info!("End of Program, proceed to empty endless loop"); + loop {} +} -- cgit From fd5412ffc50384c5e5e32c1a2bc499b558a99e8b Mon Sep 17 00:00:00 2001 From: kalkyl Date: Sat, 11 May 2024 15:16:20 +0200 Subject: rp: Add embedded-sdmmc example --- examples/rp/Cargo.toml | 1 + examples/rp/src/bin/spi_sdmmc.rs | 80 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 examples/rp/src/bin/spi_sdmmc.rs (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 8162e4dcb..73d19c28b 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -49,6 +49,7 @@ log = "0.4" pio-proc = "0.2" pio = "0.2.1" rand = { version = "0.8.5", default-features = false } +embedded-sdmmc = "0.7.0" [profile.release] debug = 2 diff --git a/examples/rp/src/bin/spi_sdmmc.rs b/examples/rp/src/bin/spi_sdmmc.rs new file mode 100644 index 000000000..0912490d8 --- /dev/null +++ b/examples/rp/src/bin/spi_sdmmc.rs @@ -0,0 +1,80 @@ +//! This example shows how to use `embedded-sdmmc` with the RP2040 chip, over SPI. +//! +//! The example will attempt to read a file `MY_FILE.TXT` from the root directory +//! of the SD card and print its contents. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_embedded_hal::SetConfig; +use embassy_executor::Spawner; +use embassy_rp::spi::Spi; +use embassy_rp::{gpio, spi}; +use embedded_hal_bus::spi::ExclusiveDevice; +use embedded_sdmmc::sdcard::{DummyCsPin, SdCard}; +use gpio::{Level, Output}; +use {defmt_rtt as _, panic_probe as _}; + +struct DummyTimesource(); + +impl embedded_sdmmc::TimeSource for DummyTimesource { + fn get_timestamp(&self) -> embedded_sdmmc::Timestamp { + embedded_sdmmc::Timestamp { + year_since_1970: 0, + zero_indexed_month: 0, + zero_indexed_day: 0, + hours: 0, + minutes: 0, + seconds: 0, + } + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + // SPI clock needs to be running at <= 400kHz during initialization + let mut config = spi::Config::default(); + config.frequency = 400_000; + let spi = Spi::new_blocking(p.SPI1, p.PIN_10, p.PIN_11, p.PIN_12, config); + // Use a dummy cs pin here, for embedded-hal SpiDevice compatibility reasons + let spi_dev = ExclusiveDevice::new_no_delay(spi, DummyCsPin); + // Real cs pin + let cs = Output::new(p.PIN_16, Level::High); + + let sdcard = SdCard::new(spi_dev, cs, embassy_time::Delay); + info!("Card size is {} bytes", sdcard.num_bytes().unwrap()); + + // Now that the card is initialized, the SPI clock can go faster + let mut config = spi::Config::default(); + config.frequency = 16_000_000; + sdcard.spi(|dev| dev.bus_mut().set_config(&config)).ok(); + + // Now let's look for volumes (also known as partitions) on our block device. + // To do this we need a Volume Manager. It will take ownership of the block device. + let mut volume_mgr = embedded_sdmmc::VolumeManager::new(sdcard, DummyTimesource()); + + // Try and access Volume 0 (i.e. the first partition). + // The volume object holds information about the filesystem on that volume. + let mut volume0 = volume_mgr.open_volume(embedded_sdmmc::VolumeIdx(0)).unwrap(); + info!("Volume 0: {:?}", defmt::Debug2Format(&volume0)); + + // Open the root directory (mutably borrows from the volume). + let mut root_dir = volume0.open_root_dir().unwrap(); + + // Open a file called "MY_FILE.TXT" in the root directory + // This mutably borrows the directory. + let mut my_file = root_dir + .open_file_in_dir("MY_FILE.TXT", embedded_sdmmc::Mode::ReadOnly) + .unwrap(); + + // Print the contents of the file + while !my_file.is_eof() { + let mut buf = [0u8; 32]; + if let Ok(n) = my_file.read(&mut buf) { + info!("{:a}", buf[..n]); + } + } +} -- cgit From 17d4f0173cc7a3078112a0dca6a4c0de39373b13 Mon Sep 17 00:00:00 2001 From: kalkyl Date: Sat, 11 May 2024 16:09:20 +0200 Subject: spinlock + loop at end to allow defmt to flush properly --- examples/rp/src/bin/spi_sdmmc.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'examples') diff --git a/examples/rp/src/bin/spi_sdmmc.rs b/examples/rp/src/bin/spi_sdmmc.rs index 0912490d8..4cbc82f7b 100644 --- a/examples/rp/src/bin/spi_sdmmc.rs +++ b/examples/rp/src/bin/spi_sdmmc.rs @@ -33,6 +33,7 @@ impl embedded_sdmmc::TimeSource for DummyTimesource { #[embassy_executor::main] async fn main(_spawner: Spawner) { + embassy_rp::pac::SIO.spinlock(31).write_value(1); let p = embassy_rp::init(Default::default()); // SPI clock needs to be running at <= 400kHz during initialization @@ -77,4 +78,6 @@ async fn main(_spawner: Spawner) { info!("{:a}", buf[..n]); } } + + loop {} } -- cgit From 9d783d3b3521e1c1ff228160ee3ebca653bf06f8 Mon Sep 17 00:00:00 2001 From: Tim Docker Date: Sun, 12 May 2024 21:42:17 +1000 Subject: refactor rp usb_serial example to use a task to run the usb --- examples/rp/src/bin/usb_serial.rs | 100 +++++++++++++++++++++----------------- 1 file changed, 55 insertions(+), 45 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/usb_serial.rs b/examples/rp/src/bin/usb_serial.rs index 3c9bc96dd..4a802994a 100644 --- a/examples/rp/src/bin/usb_serial.rs +++ b/examples/rp/src/bin/usb_serial.rs @@ -5,15 +5,15 @@ #![no_std] #![no_main] -use defmt::{info, panic}; +use defmt::{info, panic, unwrap}; use embassy_executor::Spawner; -use embassy_futures::join::join; use embassy_rp::bind_interrupts; use embassy_rp::peripherals::USB; use embassy_rp::usb::{Driver, Instance, InterruptHandler}; use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; use embassy_usb::driver::EndpointError; -use embassy_usb::{Builder, Config}; +use embassy_usb::UsbDevice; +use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { @@ -21,7 +21,7 @@ bind_interrupts!(struct Irqs { }); #[embassy_executor::main] -async fn main(_spawner: Spawner) { +async fn main(spawner: Spawner) { info!("Hello there!"); let p = embassy_rp::init(Default::default()); @@ -30,59 +30,69 @@ async fn main(_spawner: Spawner) { let driver = Driver::new(p.USB, Irqs); // Create embassy-usb Config - let mut config = Config::new(0xc0de, 0xcafe); - config.manufacturer = Some("Embassy"); - config.product = Some("USB-serial example"); - config.serial_number = Some("12345678"); - config.max_power = 100; - config.max_packet_size_0 = 64; - - // Required for windows compatibility. - // https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_CDC_ACM_IAD.html#help - config.device_class = 0xEF; - config.device_sub_class = 0x02; - config.device_protocol = 0x01; - config.composite_with_iads = true; + let config = { + let mut config = embassy_usb::Config::new(0xc0de, 0xcafe); + config.manufacturer = Some("Embassy"); + config.product = Some("USB-serial example"); + config.serial_number = Some("12345678"); + config.max_power = 100; + config.max_packet_size_0 = 64; + + // Required for windows compatibility. + // https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_CDC_ACM_IAD.html#help + config.device_class = 0xEF; + config.device_sub_class = 0x02; + config.device_protocol = 0x01; + config.composite_with_iads = true; + config + }; // Create embassy-usb DeviceBuilder using the driver and config. // It needs some buffers for building the descriptors. - let mut config_descriptor = [0; 256]; - let mut bos_descriptor = [0; 256]; - let mut control_buf = [0; 64]; - - let mut state = State::new(); - - let mut builder = Builder::new( - driver, - config, - &mut config_descriptor, - &mut bos_descriptor, - &mut [], // no msos descriptors - &mut control_buf, - ); + let mut builder = { + static CONFIG_DESCRIPTOR: StaticCell<[u8; 256]> = StaticCell::new(); + static BOS_DESCRIPTOR: StaticCell<[u8; 256]> = StaticCell::new(); + static CONTROL_BUF: StaticCell<[u8; 64]> = StaticCell::new(); + + let builder = embassy_usb::Builder::new( + driver, + config, + CONFIG_DESCRIPTOR.init([0; 256]), + BOS_DESCRIPTOR.init([0; 256]), + &mut [], // no msos descriptors + CONTROL_BUF.init([0; 64]), + ); + builder + }; // Create classes on the builder. - let mut class = CdcAcmClass::new(&mut builder, &mut state, 64); + let mut class = { + static STATE: StaticCell = StaticCell::new(); + let state = STATE.init(State::new()); + CdcAcmClass::new(&mut builder, state, 64) + }; // Build the builder. - let mut usb = builder.build(); + let usb = builder.build(); // Run the USB device. - let usb_fut = usb.run(); + unwrap!(spawner.spawn(usb_task(usb))); // Do stuff with the class! - let echo_fut = async { - loop { - class.wait_connection().await; - info!("Connected"); - let _ = echo(&mut class).await; - info!("Disconnected"); - } - }; + loop { + class.wait_connection().await; + info!("Connected"); + let _ = echo(&mut class).await; + info!("Disconnected"); + } +} + +type MyUsbDriver = Driver<'static, USB>; +type MyUsbDevice = UsbDevice<'static, MyUsbDriver>; - // Run everything concurrently. - // If we had made everything `'static` above instead, we could do this using separate tasks instead. - join(usb_fut, echo_fut).await; +#[embassy_executor::task] +async fn usb_task(mut usb: MyUsbDevice) -> ! { + usb.run().await } struct Disconnected {} -- cgit From e2dfdcb5091388cfbd467e9d8ac9b7d2025cc833 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sun, 12 May 2024 23:30:53 +0200 Subject: examples/stm32: reduce packet queue count to avoid OOM on smaller chips. --- examples/stm32f4/src/bin/eth.rs | 4 ++-- examples/stm32f7/src/bin/eth.rs | 4 ++-- examples/stm32h7/src/bin/eth_client.rs | 4 ++-- examples/stm32h7/src/bin/eth_client_mii.rs | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/eth.rs b/examples/stm32f4/src/bin/eth.rs index 7f5c8fdb1..648c45bbd 100644 --- a/examples/stm32f4/src/bin/eth.rs +++ b/examples/stm32f4/src/bin/eth.rs @@ -62,9 +62,9 @@ async fn main(spawner: Spawner) -> ! { let mac_addr = [0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF]; - static PACKETS: StaticCell> = StaticCell::new(); + static PACKETS: StaticCell> = StaticCell::new(); let device = Ethernet::new( - PACKETS.init(PacketQueue::<16, 16>::new()), + PACKETS.init(PacketQueue::<4, 4>::new()), p.ETH, Irqs, p.PA1, diff --git a/examples/stm32f7/src/bin/eth.rs b/examples/stm32f7/src/bin/eth.rs index 9a608e909..41e2a6061 100644 --- a/examples/stm32f7/src/bin/eth.rs +++ b/examples/stm32f7/src/bin/eth.rs @@ -63,9 +63,9 @@ async fn main(spawner: Spawner) -> ! { let mac_addr = [0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF]; - static PACKETS: StaticCell> = StaticCell::new(); + static PACKETS: StaticCell> = StaticCell::new(); let device = Ethernet::new( - PACKETS.init(PacketQueue::<16, 16>::new()), + PACKETS.init(PacketQueue::<4, 4>::new()), p.ETH, Irqs, p.PA1, diff --git a/examples/stm32h7/src/bin/eth_client.rs b/examples/stm32h7/src/bin/eth_client.rs index aeb169e19..0639fb99f 100644 --- a/examples/stm32h7/src/bin/eth_client.rs +++ b/examples/stm32h7/src/bin/eth_client.rs @@ -64,10 +64,10 @@ async fn main(spawner: Spawner) -> ! { let mac_addr = [0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF]; - static PACKETS: StaticCell> = StaticCell::new(); + static PACKETS: StaticCell> = StaticCell::new(); let device = Ethernet::new( - PACKETS.init(PacketQueue::<16, 16>::new()), + PACKETS.init(PacketQueue::<4, 4>::new()), p.ETH, Irqs, p.PA1, diff --git a/examples/stm32h7/src/bin/eth_client_mii.rs b/examples/stm32h7/src/bin/eth_client_mii.rs index de6ea522a..9a52e8d3b 100644 --- a/examples/stm32h7/src/bin/eth_client_mii.rs +++ b/examples/stm32h7/src/bin/eth_client_mii.rs @@ -64,10 +64,10 @@ async fn main(spawner: Spawner) -> ! { let mac_addr = [0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF]; - static PACKETS: StaticCell> = StaticCell::new(); + static PACKETS: StaticCell> = StaticCell::new(); let device = Ethernet::new_mii( - PACKETS.init(PacketQueue::<16, 16>::new()), + PACKETS.init(PacketQueue::<4, 4>::new()), p.ETH, Irqs, p.PA1, -- cgit From 66e3d4da8d6eda003666b633bb57e67f2a10e31b Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 13 May 2024 01:01:44 +0200 Subject: examples/stm32: do not enable vbus detect by default, it doesn't work on all boards. --- examples/stm32f4/src/bin/usb_ethernet.rs | 12 +++++------- examples/stm32f4/src/bin/usb_hid_keyboard.rs | 12 +++++------- examples/stm32f4/src/bin/usb_hid_mouse.rs | 12 +++++------- examples/stm32f4/src/bin/usb_raw.rs | 12 +++++------- examples/stm32f4/src/bin/usb_serial.rs | 12 +++++------- examples/stm32f7/src/bin/usb_serial.rs | 12 +++++------- examples/stm32h7/src/bin/usb_serial.rs | 12 +++++------- examples/stm32l4/src/bin/usb_serial.rs | 12 +++++------- examples/stm32u5/src/bin/usb_serial.rs | 4 ++++ 9 files changed, 44 insertions(+), 56 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs index 34e58f282..19ae16e8b 100644 --- a/examples/stm32f4/src/bin/usb_ethernet.rs +++ b/examples/stm32f4/src/bin/usb_ethernet.rs @@ -77,13 +77,11 @@ async fn main(spawner: Spawner) { let ep_out_buffer = &mut OUTPUT_BUFFER.init([0; 256])[..]; let mut config = embassy_stm32::usb::Config::default(); - // Enable vbus_detection - // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! - // If you hang on boot, try setting this to "false"! - // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure - // for more information - config.vbus_detection = true; + // Do not enable vbus_detection. This is a safe default that works in all boards. + // However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need + // to enable vbus_detection to comply with the USB spec. If you enable it, the board + // has to support it or USB won't work at all. See docs on `vbus_detection` for details. + config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, ep_out_buffer, config); diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index de9b692b1..537ff63ea 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -55,13 +55,11 @@ async fn main(_spawner: Spawner) { let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); - // Enable vbus_detection - // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! - // If you hang on boot, try setting this to "false"! - // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure - // for more information - config.vbus_detection = true; + // Do not enable vbus_detection. This is a safe default that works in all boards. + // However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need + // to enable vbus_detection to comply with the USB spec. If you enable it, the board + // has to support it or USB won't work at all. See docs on `vbus_detection` for details. + config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index d15ad52dc..df4b7426c 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -52,13 +52,11 @@ async fn main(_spawner: Spawner) { let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); - // Enable vbus_detection - // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! - // If you hang on boot, try setting this to "false"! - // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure - // for more information - config.vbus_detection = true; + // Do not enable vbus_detection. This is a safe default that works in all boards. + // However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need + // to enable vbus_detection to comply with the USB spec. If you enable it, the board + // has to support it or USB won't work at all. See docs on `vbus_detection` for details. + config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32f4/src/bin/usb_raw.rs b/examples/stm32f4/src/bin/usb_raw.rs index d058abdd0..1452e7c5f 100644 --- a/examples/stm32f4/src/bin/usb_raw.rs +++ b/examples/stm32f4/src/bin/usb_raw.rs @@ -105,13 +105,11 @@ async fn main(_spawner: Spawner) { let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); - // Enable vbus_detection - // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! - // If you hang on boot, try setting this to "false"! - // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure - // for more information - config.vbus_detection = true; + // Do not enable vbus_detection. This is a safe default that works in all boards. + // However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need + // to enable vbus_detection to comply with the USB spec. If you enable it, the board + // has to support it or USB won't work at all. See docs on `vbus_detection` for details. + config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32f4/src/bin/usb_serial.rs b/examples/stm32f4/src/bin/usb_serial.rs index 91cfae87b..b2bd390b6 100644 --- a/examples/stm32f4/src/bin/usb_serial.rs +++ b/examples/stm32f4/src/bin/usb_serial.rs @@ -52,13 +52,11 @@ async fn main(_spawner: Spawner) { let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); - // Enable vbus_detection - // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! - // If you hang on boot, try setting this to "false"! - // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure - // for more information - config.vbus_detection = true; + // Do not enable vbus_detection. This is a safe default that works in all boards. + // However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need + // to enable vbus_detection to comply with the USB spec. If you enable it, the board + // has to support it or USB won't work at all. See docs on `vbus_detection` for details. + config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32f7/src/bin/usb_serial.rs b/examples/stm32f7/src/bin/usb_serial.rs index 02ab4d1f2..0e5cc7c5c 100644 --- a/examples/stm32f7/src/bin/usb_serial.rs +++ b/examples/stm32f7/src/bin/usb_serial.rs @@ -52,13 +52,11 @@ async fn main(_spawner: Spawner) { let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); - // Enable vbus_detection - // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! - // If you hang on boot, try setting this to "false"! - // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure - // for more information - config.vbus_detection = true; + // Do not enable vbus_detection. This is a safe default that works in all boards. + // However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need + // to enable vbus_detection to comply with the USB spec. If you enable it, the board + // has to support it or USB won't work at all. See docs on `vbus_detection` for details. + config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32h7/src/bin/usb_serial.rs b/examples/stm32h7/src/bin/usb_serial.rs index 71d0c0a25..1c50fc1c8 100644 --- a/examples/stm32h7/src/bin/usb_serial.rs +++ b/examples/stm32h7/src/bin/usb_serial.rs @@ -53,13 +53,11 @@ async fn main(_spawner: Spawner) { let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); - // Enable vbus_detection - // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! - // If you hang on boot, try setting this to "false"! - // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure - // for more information - config.vbus_detection = true; + // Do not enable vbus_detection. This is a safe default that works in all boards. + // However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need + // to enable vbus_detection to comply with the USB spec. If you enable it, the board + // has to support it or USB won't work at all. See docs on `vbus_detection` for details. + config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs index a378cdc6b..ed9671d0f 100644 --- a/examples/stm32l4/src/bin/usb_serial.rs +++ b/examples/stm32l4/src/bin/usb_serial.rs @@ -47,13 +47,11 @@ async fn main(_spawner: Spawner) { let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); - // Enable vbus_detection - // Note: some boards don't have this wired up and might not require it, - // as they are powered through usb! - // If you hang on boot, try setting this to "false"! - // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure - // for more information - config.vbus_detection = true; + // Do not enable vbus_detection. This is a safe default that works in all boards. + // However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need + // to enable vbus_detection to comply with the USB spec. If you enable it, the board + // has to support it or USB won't work at all. See docs on `vbus_detection` for details. + config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); diff --git a/examples/stm32u5/src/bin/usb_serial.rs b/examples/stm32u5/src/bin/usb_serial.rs index f107928a9..4d56395da 100644 --- a/examples/stm32u5/src/bin/usb_serial.rs +++ b/examples/stm32u5/src/bin/usb_serial.rs @@ -43,6 +43,10 @@ async fn main(_spawner: Spawner) { // Create the driver, from the HAL. let mut ep_out_buffer = [0u8; 256]; let mut config = embassy_stm32::usb::Config::default(); + // Do not enable vbus_detection. This is a safe default that works in all boards. + // However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need + // to enable vbus_detection to comply with the USB spec. If you enable it, the board + // has to support it or USB won't work at all. See docs on `vbus_detection` for details. config.vbus_detection = false; let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); -- cgit From b13110839624bc63904510e7bb815eca63b8c617 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 13 May 2024 01:02:00 +0200 Subject: examples/stm32h7rs: add i2c example. --- examples/stm32h7rs/src/bin/i2c.rs | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 examples/stm32h7rs/src/bin/i2c.rs (limited to 'examples') diff --git a/examples/stm32h7rs/src/bin/i2c.rs b/examples/stm32h7rs/src/bin/i2c.rs new file mode 100644 index 000000000..31e83cbb5 --- /dev/null +++ b/examples/stm32h7rs/src/bin/i2c.rs @@ -0,0 +1,42 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::i2c::{Error, I2c}; +use embassy_stm32::time::Hertz; +use embassy_stm32::{bind_interrupts, i2c, peripherals}; +use {defmt_rtt as _, panic_probe as _}; + +const ADDRESS: u8 = 0x5F; +const WHOAMI: u8 = 0x0F; + +bind_interrupts!(struct Irqs { + I2C2_EV => i2c::EventInterruptHandler; + I2C2_ER => i2c::ErrorInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + info!("Hello world!"); + let p = embassy_stm32::init(Default::default()); + + let mut i2c = I2c::new( + p.I2C2, + p.PB10, + p.PB11, + Irqs, + p.GPDMA1_CH4, + p.GPDMA1_CH5, + Hertz(100_000), + Default::default(), + ); + + let mut data = [0u8; 1]; + + match i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data) { + Ok(()) => info!("Whoami: {}", data[0]), + Err(Error::Timeout) => error!("Operation timed out"), + Err(e) => error!("I2c Error: {:?}", e), + } +} -- cgit From 3ef62eef5370b34792a737dd5a4b296fe3fd8c7d Mon Sep 17 00:00:00 2001 From: Felipe Balbi Date: Thu, 16 May 2024 08:12:18 -0700 Subject: stm32h7: add shared bus example --- examples/stm32h7/Cargo.toml | 1 + examples/stm32h7/src/bin/i2c_shared.rs | 112 +++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 examples/stm32h7/src/bin/i2c_shared.rs (limited to 'examples') diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index a09af4b97..c6c2d1354 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -8,6 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32h743bi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } diff --git a/examples/stm32h7/src/bin/i2c_shared.rs b/examples/stm32h7/src/bin/i2c_shared.rs new file mode 100644 index 000000000..79d213ae4 --- /dev/null +++ b/examples/stm32h7/src/bin/i2c_shared.rs @@ -0,0 +1,112 @@ +#![no_std] +#![no_main] + +use core::cell::RefCell; + +use defmt::*; +use embassy_embedded_hal::shared_bus::blocking::i2c::I2cDevice; +use embassy_executor::Spawner; +use embassy_stm32::bind_interrupts; +use embassy_stm32::i2c::{self, I2c}; +use embassy_stm32::mode::Async; +use embassy_stm32::peripherals::{self, I2C1}; +use embassy_stm32::time::Hertz; +use embassy_sync::blocking_mutex::NoopMutex; +use embassy_time::{Duration, Timer}; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +const TMP117_ADDR: u8 = 0x48; +const TMP117_TEMP_RESULT: u8 = 0x00; + +const SHTC3_ADDR: u8 = 0x70; +const SHTC3_WAKEUP: [u8; 2] = [0x35, 0x17]; +const SHTC3_MEASURE_RH_FIRST: [u8; 2] = [0x5c, 0x24]; +const SHTC3_SLEEP: [u8; 2] = [0xb0, 0x98]; + +static I2C_BUS: StaticCell>>> = StaticCell::new(); + +bind_interrupts!(struct Irqs { + I2C1_EV => i2c::EventInterruptHandler; + I2C1_ER => i2c::ErrorInterruptHandler; +}); + +#[embassy_executor::task] +async fn temperature(mut i2c: impl embedded_hal_1::i2c::I2c + 'static) { + let mut data = [0u8; 2]; + + loop { + match i2c.write_read(TMP117_ADDR, &[TMP117_TEMP_RESULT], &mut data) { + Ok(()) => { + let temp = f32::from(i16::from_be_bytes(data)) * 7.8125 / 1000.0; + info!("Temperature {}", temp); + } + Err(_) => error!("I2C Error"), + } + + Timer::after(Duration::from_millis(1000)).await; + } +} + +#[embassy_executor::task] +async fn humidity(mut i2c: impl embedded_hal_1::i2c::I2c + 'static) { + let mut data = [0u8; 6]; + + loop { + // Wakeup + match i2c.write(SHTC3_ADDR, &SHTC3_WAKEUP) { + Ok(()) => Timer::after(Duration::from_millis(20)).await, + Err(_) => error!("I2C Error"), + } + + // Measurement + match i2c.write(SHTC3_ADDR, &SHTC3_MEASURE_RH_FIRST) { + Ok(()) => Timer::after(Duration::from_millis(5)).await, + Err(_) => error!("I2C Error"), + } + + // Result + match i2c.read(SHTC3_ADDR, &mut data) { + Ok(()) => Timer::after(Duration::from_millis(5)).await, + Err(_) => error!("I2C Error"), + } + + // Sleep + match i2c.write(SHTC3_ADDR, &SHTC3_SLEEP) { + Ok(()) => { + let (bytes, _) = data.split_at(core::mem::size_of::()); + let rh = f32::from(u16::from_be_bytes(bytes.try_into().unwrap())) * 100.0 / 65536.0; + info!("Humidity: {}", rh); + } + Err(_) => error!("I2C Error"), + } + + Timer::after(Duration::from_millis(1000)).await; + } +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + + let i2c = I2c::new( + p.I2C1, + p.PB8, + p.PB9, + Irqs, + p.DMA1_CH4, + p.DMA1_CH5, + Hertz(100_000), + Default::default(), + ); + let i2c_bus = NoopMutex::new(RefCell::new(i2c)); + let i2c_bus = I2C_BUS.init(i2c_bus); + + // Device 1, using embedded-hal-async compatible driver for TMP117 + let i2c_dev1 = I2cDevice::new(i2c_bus); + spawner.spawn(temperature(i2c_dev1)).unwrap(); + + // Device 2, using embedded-hal-async compatible driver for SHTC3 + let i2c_dev2 = I2cDevice::new(i2c_bus); + spawner.spawn(humidity(i2c_dev2)).unwrap(); +} -- cgit From 57d9bfd343c51c9823b3e17e8a48260f0b67939f Mon Sep 17 00:00:00 2001 From: Felipe Balbi Date: Thu, 16 May 2024 12:14:05 -0700 Subject: stm32g0: add i2c_async example This example will help those having difficulties understanding how to bind interrupts on stm32g0 devices. --- examples/stm32g0/src/bin/i2c_async.rs | 48 +++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 examples/stm32g0/src/bin/i2c_async.rs (limited to 'examples') diff --git a/examples/stm32g0/src/bin/i2c_async.rs b/examples/stm32g0/src/bin/i2c_async.rs new file mode 100644 index 000000000..7e3189b05 --- /dev/null +++ b/examples/stm32g0/src/bin/i2c_async.rs @@ -0,0 +1,48 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::i2c::{self, I2c}; +use embassy_stm32::time::Hertz; +use embassy_stm32::{bind_interrupts, peripherals}; +use embassy_time::{Duration, Timer}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + I2C1 => i2c::EventInterruptHandler, i2c::ErrorInterruptHandler; +}); + +const TMP117_ADDR: u8 = 0x48; +const TMP117_TEMP_RESULT: u8 = 0x00; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + info!("Hello world"); + + let p = embassy_stm32::init(Default::default()); + + let mut data = [0u8; 2]; + let mut i2c = I2c::new( + p.I2C1, + p.PB8, + p.PB9, + Irqs, + p.DMA1_CH1, + p.DMA1_CH2, + Hertz(100_000), + Default::default(), + ); + + loop { + match i2c.write_read(TMP117_ADDR, &[TMP117_TEMP_RESULT], &mut data).await { + Ok(()) => { + let temp = f32::from(i16::from_be_bytes(data)) * 7.8125 / 1000.0; + info!("Temperature {}", temp); + } + Err(_) => error!("I2C Error"), + } + + Timer::after(Duration::from_millis(1000)).await; + } +} -- cgit From b843f2546f0cb1a8595d390587f38012b8a013a4 Mon Sep 17 00:00:00 2001 From: Dan Groshev Date: Mon, 20 May 2024 14:23:03 +0100 Subject: Add a CHANGELOG to embassy-usb-logger and bump its version --- examples/rp/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 73d19c28b..5178a690f 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -15,7 +15,7 @@ embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defm embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet"] } embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } -embassy-usb-logger = { version = "0.1.0", path = "../../embassy-usb-logger" } +embassy-usb-logger = { version = "0.2.0", path = "../../embassy-usb-logger" } cyw43 = { version = "0.1.0", path = "../../cyw43", features = ["defmt", "firmware-logs"] } cyw43-pio = { version = "0.1.0", path = "../../cyw43-pio", features = ["defmt", "overclock"] } -- cgit From ca2eef5387b521a0ea95f26bae530d9bdfbba4d7 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Thu, 18 Apr 2024 19:08:24 +0200 Subject: stm32/spi: remove peripheral generic param. --- examples/stm32h7/src/bin/spi.rs | 3 +-- examples/stm32h7/src/bin/spi_bdma.rs | 4 ++-- examples/stm32h7/src/bin/spi_dma.rs | 4 ++-- examples/stm32h7rs/src/bin/spi.rs | 3 +-- examples/stm32h7rs/src/bin/spi_dma.rs | 4 ++-- examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 2 +- 6 files changed, 9 insertions(+), 11 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/spi.rs b/examples/stm32h7/src/bin/spi.rs index aaebdc346..ad4a8aaf7 100644 --- a/examples/stm32h7/src/bin/spi.rs +++ b/examples/stm32h7/src/bin/spi.rs @@ -8,7 +8,6 @@ use cortex_m_rt::entry; use defmt::*; use embassy_executor::Executor; use embassy_stm32::mode::Blocking; -use embassy_stm32::peripherals::SPI3; use embassy_stm32::time::mhz; use embassy_stm32::{spi, Config}; use heapless::String; @@ -16,7 +15,7 @@ use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::task] -async fn main_task(mut spi: spi::Spi<'static, SPI3, Blocking>) { +async fn main_task(mut spi: spi::Spi<'static, Blocking>) { for n in 0u32.. { let mut write: String<128> = String::new(); core::write!(&mut write, "Hello DMA World {}!\r\n", n).unwrap(); diff --git a/examples/stm32h7/src/bin/spi_bdma.rs b/examples/stm32h7/src/bin/spi_bdma.rs index f968df4a7..b2e941078 100644 --- a/examples/stm32h7/src/bin/spi_bdma.rs +++ b/examples/stm32h7/src/bin/spi_bdma.rs @@ -9,7 +9,7 @@ use defmt::*; use embassy_executor::Executor; use embassy_stm32::mode::Async; use embassy_stm32::time::mhz; -use embassy_stm32::{peripherals, spi, Config}; +use embassy_stm32::{spi, Config}; use heapless::String; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; @@ -19,7 +19,7 @@ use {defmt_rtt as _, panic_probe as _}; static mut RAM_D3: [u8; 64 * 1024] = [0u8; 64 * 1024]; #[embassy_executor::task] -async fn main_task(mut spi: spi::Spi<'static, peripherals::SPI6, Async>) { +async fn main_task(mut spi: spi::Spi<'static, Async>) { let read_buffer = unsafe { &mut RAM_D3[0..128] }; let write_buffer = unsafe { &mut RAM_D3[128..256] }; diff --git a/examples/stm32h7/src/bin/spi_dma.rs b/examples/stm32h7/src/bin/spi_dma.rs index 3d3c724eb..731c7fef5 100644 --- a/examples/stm32h7/src/bin/spi_dma.rs +++ b/examples/stm32h7/src/bin/spi_dma.rs @@ -9,13 +9,13 @@ use defmt::*; use embassy_executor::Executor; use embassy_stm32::mode::Async; use embassy_stm32::time::mhz; -use embassy_stm32::{peripherals, spi, Config}; +use embassy_stm32::{spi, Config}; use heapless::String; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::task] -async fn main_task(mut spi: spi::Spi<'static, peripherals::SPI3, Async>) { +async fn main_task(mut spi: spi::Spi<'static, Async>) { for n in 0u32.. { let mut write: String<128> = String::new(); let mut read = [0; 128]; diff --git a/examples/stm32h7rs/src/bin/spi.rs b/examples/stm32h7rs/src/bin/spi.rs index a7767876d..8d6ccc58b 100644 --- a/examples/stm32h7rs/src/bin/spi.rs +++ b/examples/stm32h7rs/src/bin/spi.rs @@ -8,7 +8,6 @@ use cortex_m_rt::entry; use defmt::*; use embassy_executor::Executor; use embassy_stm32::mode::Blocking; -use embassy_stm32::peripherals::SPI3; use embassy_stm32::spi; use embassy_stm32::time::mhz; use heapless::String; @@ -16,7 +15,7 @@ use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::task] -async fn main_task(mut spi: spi::Spi<'static, SPI3, Blocking>) { +async fn main_task(mut spi: spi::Spi<'static, Blocking>) { for n in 0u32.. { let mut write: String<128> = String::new(); core::write!(&mut write, "Hello DMA World {}!\r\n", n).unwrap(); diff --git a/examples/stm32h7rs/src/bin/spi_dma.rs b/examples/stm32h7rs/src/bin/spi_dma.rs index 26b5d6751..cb305351b 100644 --- a/examples/stm32h7rs/src/bin/spi_dma.rs +++ b/examples/stm32h7rs/src/bin/spi_dma.rs @@ -8,14 +8,14 @@ use cortex_m_rt::entry; use defmt::*; use embassy_executor::Executor; use embassy_stm32::mode::Async; +use embassy_stm32::spi; use embassy_stm32::time::mhz; -use embassy_stm32::{peripherals, spi}; use heapless::String; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::task] -async fn main_task(mut spi: spi::Spi<'static, peripherals::SPI3, Async>) { +async fn main_task(mut spi: spi::Spi<'static, Async>) { for n in 0u32.. { let mut write: String<128> = String::new(); let mut read = [0; 128]; diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index 694629ede..985ac8171 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs @@ -55,7 +55,7 @@ const IP_ADDRESS: Ipv4Cidr = Ipv4Cidr::new(Ipv4Address([192, 168, 1, 5]), 24); // Listen port for the webserver const HTTP_LISTEN_PORT: u16 = 80; -pub type SpeSpi = Spi<'static, peripherals::SPI2, Async>; +pub type SpeSpi = Spi<'static, Async>; pub type SpeSpiCs = ExclusiveDevice, Delay>; pub type SpeInt = exti::ExtiInput<'static>; pub type SpeRst = Output<'static>; -- cgit From 45a12fd41f1f6230a4aabbfe87552adc610fdc99 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Tue, 21 May 2024 01:25:49 +0200 Subject: stm32/i2c: remove peripheral generic param. --- examples/stm32h7/src/bin/i2c_shared.rs | 5 ++--- examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/i2c_shared.rs b/examples/stm32h7/src/bin/i2c_shared.rs index 79d213ae4..6f4815582 100644 --- a/examples/stm32h7/src/bin/i2c_shared.rs +++ b/examples/stm32h7/src/bin/i2c_shared.rs @@ -6,11 +6,10 @@ use core::cell::RefCell; use defmt::*; use embassy_embedded_hal::shared_bus::blocking::i2c::I2cDevice; use embassy_executor::Spawner; -use embassy_stm32::bind_interrupts; use embassy_stm32::i2c::{self, I2c}; use embassy_stm32::mode::Async; -use embassy_stm32::peripherals::{self, I2C1}; use embassy_stm32::time::Hertz; +use embassy_stm32::{bind_interrupts, peripherals}; use embassy_sync::blocking_mutex::NoopMutex; use embassy_time::{Duration, Timer}; use static_cell::StaticCell; @@ -24,7 +23,7 @@ const SHTC3_WAKEUP: [u8; 2] = [0x35, 0x17]; const SHTC3_MEASURE_RH_FIRST: [u8; 2] = [0x5c, 0x24]; const SHTC3_SLEEP: [u8; 2] = [0xb0, 0x98]; -static I2C_BUS: StaticCell>>> = StaticCell::new(); +static I2C_BUS: StaticCell>>> = StaticCell::new(); bind_interrupts!(struct Irqs { I2C1_EV => i2c::EventInterruptHandler; diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index 985ac8171..33149144c 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs @@ -60,7 +60,7 @@ pub type SpeSpiCs = ExclusiveDevice, Delay>; pub type SpeInt = exti::ExtiInput<'static>; pub type SpeRst = Output<'static>; pub type Adin1110T = ADIN1110; -pub type TempSensI2c = I2c<'static, peripherals::I2C3, Async>; +pub type TempSensI2c = I2c<'static, Async>; static TEMP: AtomicI32 = AtomicI32::new(0); -- cgit From 7cdbae2a5d5693a63ce55c08f39a69f2b4f0689c Mon Sep 17 00:00:00 2001 From: Univa <41708691+Univa@users.noreply.github.com> Date: Mon, 20 May 2024 21:29:20 -0400 Subject: add AnyAdcChannel --- examples/stm32h7/src/bin/adc.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/adc.rs b/examples/stm32h7/src/bin/adc.rs index 0009103d1..e9a857a74 100644 --- a/examples/stm32h7/src/bin/adc.rs +++ b/examples/stm32h7/src/bin/adc.rs @@ -51,7 +51,7 @@ async fn main(_spawner: Spawner) { let mut vrefint_channel = adc.enable_vrefint(); loop { - let vrefint = adc.read_internal(&mut vrefint_channel); + let vrefint = adc.read(&mut vrefint_channel); info!("vrefint: {}", vrefint); let measured = adc.read(&mut p.PC0); info!("measured: {}", measured); -- cgit From 4e42eaef7c423f7f15af38991d4444141a8af1c2 Mon Sep 17 00:00:00 2001 From: Joël Schulz-Ansres Date: Tue, 21 May 2024 12:17:51 +0200 Subject: Add dsi example --- examples/stm32f4/Cargo.toml | 2 +- examples/stm32f469/.cargo/config.toml | 9 + examples/stm32f469/Cargo.toml | 22 ++ examples/stm32f469/build.rs | 5 + examples/stm32f469/src/bin/dsi_bsp.rs | 694 ++++++++++++++++++++++++++++++++++ examples/stm32f469/src/bin/ferris.bin | 70 ++++ 6 files changed, 801 insertions(+), 1 deletion(-) create mode 100644 examples/stm32f469/.cargo/config.toml create mode 100644 examples/stm32f469/Cargo.toml create mode 100644 examples/stm32f469/build.rs create mode 100644 examples/stm32f469/src/bin/dsi_bsp.rs create mode 100644 examples/stm32f469/src/bin/ferris.bin (limited to 'examples') diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 64ac50818..1eb1ae6db 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32f429zi to your chip name, if necessary. -embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32f469/.cargo/config.toml b/examples/stm32f469/.cargo/config.toml new file mode 100644 index 000000000..05250954f --- /dev/null +++ b/examples/stm32f469/.cargo/config.toml @@ -0,0 +1,9 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +# replace STM32F429ZITx with your chip as listed in `probe-rs chip list` +runner = "probe-rs run --chip STM32F469NIHx" + +[build] +target = "thumbv7em-none-eabi" + +[env] +DEFMT_LOG = "trace" diff --git a/examples/stm32f469/Cargo.toml b/examples/stm32f469/Cargo.toml new file mode 100644 index 000000000..7718a46c1 --- /dev/null +++ b/examples/stm32f469/Cargo.toml @@ -0,0 +1,22 @@ +[package] +edition = "2021" +name = "embassy-stm32f469-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +# Specific examples only for stm32f469 +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f469ni", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } +embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } + +defmt = "0.3" +defmt-rtt = "0.4" + +cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } +cortex-m-rt = "0.7.0" +embedded-hal = "1.0.0" +panic-probe = { version = "0.3", features = ["print-defmt"] } + +[profile.release] +debug = 2 diff --git a/examples/stm32f469/build.rs b/examples/stm32f469/build.rs new file mode 100644 index 000000000..8cd32d7ed --- /dev/null +++ b/examples/stm32f469/build.rs @@ -0,0 +1,5 @@ +fn main() { + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/stm32f469/src/bin/dsi_bsp.rs b/examples/stm32f469/src/bin/dsi_bsp.rs new file mode 100644 index 000000000..e4e9e9c01 --- /dev/null +++ b/examples/stm32f469/src/bin/dsi_bsp.rs @@ -0,0 +1,694 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::dsihost::{blocking_delay_ms, DsiHost, PacketType}; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::ltdc::Ltdc; +use embassy_stm32::pac::dsihost::regs::{Ier0, Ier1}; +use embassy_stm32::pac::ltdc::vals::{Bf1, Bf2, Depol, Hspol, Imr, Pcpol, Pf, Vspol}; +use embassy_stm32::pac::{DSIHOST, LTDC}; +use embassy_stm32::rcc::{ + AHBPrescaler, APBPrescaler, Hse, HseMode, Pll, PllMul, PllPDiv, PllPreDiv, PllQDiv, PllRDiv, PllSource, Sysclk, +}; +use embassy_stm32::time::mhz; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +enum _Orientation { + Landscape, + Portrait, +} + +const _LCD_ORIENTATION: _Orientation = _Orientation::Landscape; +const LCD_X_SIZE: u16 = 800; +const LCD_Y_SIZE: u16 = 480; + +static FERRIS_IMAGE: &[u8; 1536000] = include_bytes!("ferris.bin"); + +// This example allows to display an image on the STM32F469NI-DISCO boards +// with the Revision C, that is at least the boards marked DK32F469I$AU1. +// These boards have the NT35510 display driver. This example does not work +// for the older revisions with OTM8009A, though there are lots of C-examples +// available online where the correct config for the OTM8009A could be gotten from. +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = embassy_stm32::Config::default(); + config.rcc.sys = Sysclk::PLL1_P; + config.rcc.ahb_pre = AHBPrescaler::DIV1; + config.rcc.apb1_pre = APBPrescaler::DIV4; + config.rcc.apb2_pre = APBPrescaler::DIV2; + + // HSE is on and ready + config.rcc.hse = Some(Hse { + freq: mhz(8), + mode: HseMode::Oscillator, + }); + config.rcc.pll_src = PllSource::HSE; + + config.rcc.pll = Some(Pll { + prediv: PllPreDiv::DIV8, // PLLM + mul: PllMul::MUL360, // PLLN + divp: Some(PllPDiv::DIV2), + divq: Some(PllQDiv::DIV7), // was DIV4, but STM BSP example uses 7 + divr: Some(PllRDiv::DIV6), + }); + + // This seems to be working, the values in the RCC.PLLSAICFGR are correct according to the debugger. Also on and ready according to CR + config.rcc.pllsai = Some(Pll { + prediv: PllPreDiv::DIV8, // Actually ignored + mul: PllMul::MUL384, // PLLN + divp: None, // PLLP + divq: None, // PLLQ + divr: Some(PllRDiv::DIV7), // PLLR (Sai actually has special clockdiv register) + }); + + let p = embassy_stm32::init(config); + info!("Starting..."); + + let mut led = Output::new(p.PG6, Level::High, Speed::Low); + + // According to UM for the discovery kit, PH7 is an active-low reset for the LCD and touchsensor + let mut reset = Output::new(p.PH7, Level::Low, Speed::High); + + // CubeMX example waits 20 ms before de-asserting reset + embassy_time::block_for(embassy_time::Duration::from_millis(20)); + + // Disable the reset signal and wait 140ms as in the Linux driver (CubeMX waits only 20) + reset.set_high(); + embassy_time::block_for(embassy_time::Duration::from_millis(140)); + + let mut ltdc = Ltdc::new(p.LTDC); + let mut dsi = DsiHost::new(p.DSIHOST, p.PJ2); + let version = dsi.get_version(); + defmt::warn!("en: {:x}", version); + + // Disable the DSI wrapper + dsi.disable_wrapper_dsi(); + + // Disable the DSI host + dsi.disable(); + + // D-PHY clock and digital disable + DSIHOST.pctlr().modify(|w| { + w.set_cke(false); + w.set_den(false) + }); + + // Turn off the DSI PLL + DSIHOST.wrpcr().modify(|w| w.set_pllen(false)); + + // Disable the regulator + DSIHOST.wrpcr().write(|w| w.set_regen(false)); + + // Enable regulator + info!("DSIHOST: enabling regulator"); + DSIHOST.wrpcr().write(|w| w.set_regen(true)); + + for _ in 1..1000 { + // The regulator status (ready or not) can be monitored with the RRS flag in the DSI_WISR register. + // Once it is set, we stop waiting. + if DSIHOST.wisr().read().rrs() { + info!("DSIHOST Regulator ready"); + break; + } + embassy_time::block_for(embassy_time::Duration::from_millis(1)); + } + + if !DSIHOST.wisr().read().rrs() { + defmt::panic!("DSIHOST: enabling regulator FAILED"); + } + + // Set up PLL and enable it + DSIHOST.wrpcr().modify(|w| { + w.set_pllen(true); + w.set_ndiv(125); // PLL loop division factor set to 125 + w.set_idf(2); // PLL input divided by 2 + w.set_odf(0); // PLL output divided by 1 + }); + + /* 500 MHz / 8 = 62.5 MHz = 62500 kHz */ + const LANE_BYTE_CLK_K_HZ: u16 = 62500; // https://github.com/STMicroelectronics/32f469idiscovery-bsp/blob/ec051de2bff3e1b73a9ccd49c9b85abf7320add9/stm32469i_discovery_lcd.c#L224C21-L224C26 + + const _LCD_CLOCK: u16 = 27429; // https://github.com/STMicroelectronics/32f469idiscovery-bsp/blob/ec051de2bff3e1b73a9ccd49c9b85abf7320add9/stm32469i_discovery_lcd.c#L183 + + /* TX_ESCAPE_CKDIV = f(LaneByteClk)/15.62 = 4 */ + const TX_ESCAPE_CKDIV: u8 = (LANE_BYTE_CLK_K_HZ / 15620) as u8; // https://github.com/STMicroelectronics/32f469idiscovery-bsp/blob/ec051de2bff3e1b73a9ccd49c9b85abf7320add9/stm32469i_discovery_lcd.c#L230 + + for _ in 1..1000 { + embassy_time::block_for(embassy_time::Duration::from_millis(1)); + // The PLL status (lock or unlock) can be monitored with the PLLLS flag in the DSI_WISR register. + // Once it is set, we stop waiting. + if DSIHOST.wisr().read().pllls() { + info!("DSIHOST PLL locked"); + break; + } + } + + if !DSIHOST.wisr().read().pllls() { + defmt::panic!("DSIHOST: enabling PLL FAILED"); + } + + // Set the PHY parameters + + // D-PHY clock and digital enable + DSIHOST.pctlr().write(|w| { + w.set_cke(true); + w.set_den(true); + }); + + // Set Clock lane to high-speed mode and disable automatic clock lane control + DSIHOST.clcr().modify(|w| { + w.set_dpcc(true); + w.set_acr(false); + }); + + // Set number of active data lanes to two (lanes 0 and 1) + DSIHOST.pconfr().modify(|w| w.set_nl(1)); + + // Set the DSI clock parameters + + // Set the TX escape clock division factor to 4 + DSIHOST.ccr().modify(|w| w.set_txeckdiv(TX_ESCAPE_CKDIV)); + + // Calculate the bit period in high-speed mode in unit of 0.25 ns (UIX4) + // The equation is : UIX4 = IntegerPart( (1000/F_PHY_Mhz) * 4 ) + // Where : F_PHY_Mhz = (NDIV * HSE_Mhz) / (IDF * ODF) + // Set the bit period in high-speed mode + DSIHOST.wpcr0().modify(|w| w.set_uix4(8)); // 8 is set in the BSP example (confirmed with Debugger) + + // Disable all error interrupts and reset the Error Mask + DSIHOST.ier0().write_value(Ier0(0)); + DSIHOST.ier1().write_value(Ier1(0)); + + // Enable this to fix read timeout + DSIHOST.pcr().modify(|w| w.set_btae(true)); + + const DSI_PIXEL_FORMAT_RGB888: u8 = 0x05; + const _DSI_PIXEL_FORMAT_ARGB888: u8 = 0x00; + + const HACT: u16 = LCD_X_SIZE; + const VACT: u16 = LCD_Y_SIZE; + + const VSA: u16 = 120; + const VBP: u16 = 150; + const VFP: u16 = 150; + const HSA: u16 = 2; + const HBP: u16 = 34; + const HFP: u16 = 34; + + const VIRTUAL_CHANNEL_ID: u8 = 0; + + const COLOR_CODING: u8 = DSI_PIXEL_FORMAT_RGB888; + const VS_POLARITY: bool = false; // DSI_VSYNC_ACTIVE_HIGH == 0 + const HS_POLARITY: bool = false; // DSI_HSYNC_ACTIVE_HIGH == 0 + const DE_POLARITY: bool = false; // DSI_DATA_ENABLE_ACTIVE_HIGH == 0 + const MODE: u8 = 2; // DSI_VID_MODE_BURST; /* Mode Video burst ie : one LgP per line */ + const NULL_PACKET_SIZE: u16 = 0xFFF; + const NUMBER_OF_CHUNKS: u16 = 0; + const PACKET_SIZE: u16 = HACT; /* Value depending on display orientation choice portrait/landscape */ + const HORIZONTAL_SYNC_ACTIVE: u16 = 4; // ((HSA as u32 * LANE_BYTE_CLK_K_HZ as u32 ) / LCD_CLOCK as u32 ) as u16; + const HORIZONTAL_BACK_PORCH: u16 = 77; //((HBP as u32 * LANE_BYTE_CLK_K_HZ as u32 ) / LCD_CLOCK as u32) as u16; + const HORIZONTAL_LINE: u16 = 1982; //(((HACT + HSA + HBP + HFP) as u32 * LANE_BYTE_CLK_K_HZ as u32 ) / LCD_CLOCK as u32 ) as u16; /* Value depending on display orientation choice portrait/landscape */ + // FIXME: Make depend on orientation + const VERTICAL_SYNC_ACTIVE: u16 = VSA; + const VERTICAL_BACK_PORCH: u16 = VBP; + const VERTICAL_FRONT_PORCH: u16 = VFP; + const VERTICAL_ACTIVE: u16 = VACT; + const LP_COMMAND_ENABLE: bool = true; /* Enable sending commands in mode LP (Low Power) */ + + /* Largest packet size possible to transmit in LP mode in VSA, VBP, VFP regions */ + /* Only useful when sending LP packets is allowed while streaming is active in video mode */ + const LP_LARGEST_PACKET_SIZE: u8 = 16; + + /* Largest packet size possible to transmit in LP mode in HFP region during VACT period */ + /* Only useful when sending LP packets is allowed while streaming is active in video mode */ + const LPVACT_LARGEST_PACKET_SIZE: u8 = 0; + + const LPHORIZONTAL_FRONT_PORCH_ENABLE: bool = true; /* Allow sending LP commands during HFP period */ + const LPHORIZONTAL_BACK_PORCH_ENABLE: bool = true; /* Allow sending LP commands during HBP period */ + const LPVERTICAL_ACTIVE_ENABLE: bool = true; /* Allow sending LP commands during VACT period */ + const LPVERTICAL_FRONT_PORCH_ENABLE: bool = true; /* Allow sending LP commands during VFP period */ + const LPVERTICAL_BACK_PORCH_ENABLE: bool = true; /* Allow sending LP commands during VBP period */ + const LPVERTICAL_SYNC_ACTIVE_ENABLE: bool = true; /* Allow sending LP commands during VSync = VSA period */ + const FRAME_BTAACKNOWLEDGE_ENABLE: bool = false; /* Frame bus-turn-around acknowledge enable => false according to debugger */ + + /* Select video mode by resetting CMDM and DSIM bits */ + DSIHOST.mcr().modify(|w| w.set_cmdm(false)); + DSIHOST.wcfgr().modify(|w| w.set_dsim(false)); + + /* Configure the video mode transmission type */ + DSIHOST.vmcr().modify(|w| w.set_vmt(MODE)); + + /* Configure the video packet size */ + DSIHOST.vpcr().modify(|w| w.set_vpsize(PACKET_SIZE)); + + /* Set the chunks number to be transmitted through the DSI link */ + DSIHOST.vccr().modify(|w| w.set_numc(NUMBER_OF_CHUNKS)); + + /* Set the size of the null packet */ + DSIHOST.vnpcr().modify(|w| w.set_npsize(NULL_PACKET_SIZE)); + + /* Select the virtual channel for the LTDC interface traffic */ + DSIHOST.lvcidr().modify(|w| w.set_vcid(VIRTUAL_CHANNEL_ID)); + + /* Configure the polarity of control signals */ + DSIHOST.lpcr().modify(|w| { + w.set_dep(DE_POLARITY); + w.set_hsp(HS_POLARITY); + w.set_vsp(VS_POLARITY); + }); + + /* Select the color coding for the host */ + DSIHOST.lcolcr().modify(|w| w.set_colc(COLOR_CODING)); + + /* Select the color coding for the wrapper */ + DSIHOST.wcfgr().modify(|w| w.set_colmux(COLOR_CODING)); + + /* Set the Horizontal Synchronization Active (HSA) in lane byte clock cycles */ + DSIHOST.vhsacr().modify(|w| w.set_hsa(HORIZONTAL_SYNC_ACTIVE)); + + /* Set the Horizontal Back Porch (HBP) in lane byte clock cycles */ + DSIHOST.vhbpcr().modify(|w| w.set_hbp(HORIZONTAL_BACK_PORCH)); + + /* Set the total line time (HLINE=HSA+HBP+HACT+HFP) in lane byte clock cycles */ + DSIHOST.vlcr().modify(|w| w.set_hline(HORIZONTAL_LINE)); + + /* Set the Vertical Synchronization Active (VSA) */ + DSIHOST.vvsacr().modify(|w| w.set_vsa(VERTICAL_SYNC_ACTIVE)); + + /* Set the Vertical Back Porch (VBP)*/ + DSIHOST.vvbpcr().modify(|w| w.set_vbp(VERTICAL_BACK_PORCH)); + + /* Set the Vertical Front Porch (VFP)*/ + DSIHOST.vvfpcr().modify(|w| w.set_vfp(VERTICAL_FRONT_PORCH)); + + /* Set the Vertical Active period*/ + DSIHOST.vvacr().modify(|w| w.set_va(VERTICAL_ACTIVE)); + + /* Configure the command transmission mode */ + DSIHOST.vmcr().modify(|w| w.set_lpce(LP_COMMAND_ENABLE)); + + /* Low power largest packet size */ + DSIHOST.lpmcr().modify(|w| w.set_lpsize(LP_LARGEST_PACKET_SIZE)); + + /* Low power VACT largest packet size */ + DSIHOST.lpmcr().modify(|w| w.set_lpsize(LP_LARGEST_PACKET_SIZE)); + DSIHOST.lpmcr().modify(|w| w.set_vlpsize(LPVACT_LARGEST_PACKET_SIZE)); + + /* Enable LP transition in HFP period */ + DSIHOST.vmcr().modify(|w| w.set_lphfpe(LPHORIZONTAL_FRONT_PORCH_ENABLE)); + + /* Enable LP transition in HBP period */ + DSIHOST.vmcr().modify(|w| w.set_lphbpe(LPHORIZONTAL_BACK_PORCH_ENABLE)); + + /* Enable LP transition in VACT period */ + DSIHOST.vmcr().modify(|w| w.set_lpvae(LPVERTICAL_ACTIVE_ENABLE)); + + /* Enable LP transition in VFP period */ + DSIHOST.vmcr().modify(|w| w.set_lpvfpe(LPVERTICAL_FRONT_PORCH_ENABLE)); + + /* Enable LP transition in VBP period */ + DSIHOST.vmcr().modify(|w| w.set_lpvbpe(LPVERTICAL_BACK_PORCH_ENABLE)); + + /* Enable LP transition in vertical sync period */ + DSIHOST.vmcr().modify(|w| w.set_lpvsae(LPVERTICAL_SYNC_ACTIVE_ENABLE)); + + /* Enable the request for an acknowledge response at the end of a frame */ + DSIHOST.vmcr().modify(|w| w.set_fbtaae(FRAME_BTAACKNOWLEDGE_ENABLE)); + + /* Configure DSI PHY HS2LP and LP2HS timings */ + const CLOCK_LANE_HS2_LPTIME: u16 = 35; + const CLOCK_LANE_LP2_HSTIME: u16 = 35; + const DATA_LANE_HS2_LPTIME: u8 = 35; + const DATA_LANE_LP2_HSTIME: u8 = 35; + const DATA_LANE_MAX_READ_TIME: u16 = 0; + const STOP_WAIT_TIME: u8 = 10; + + const MAX_TIME: u16 = if CLOCK_LANE_HS2_LPTIME > CLOCK_LANE_LP2_HSTIME { + CLOCK_LANE_HS2_LPTIME + } else { + CLOCK_LANE_LP2_HSTIME + }; + + /* Clock lane timer configuration */ + + /* In Automatic Clock Lane control mode, the DSI Host can turn off the clock lane between two + High-Speed transmission. + To do so, the DSI Host calculates the time required for the clock lane to change from HighSpeed + to Low-Power and from Low-Power to High-Speed. + This timings are configured by the HS2LP_TIME and LP2HS_TIME in the DSI Host Clock Lane Timer Configuration + Register (DSI_CLTCR). + But the DSI Host is not calculating LP2HS_TIME + HS2LP_TIME but 2 x HS2LP_TIME. + + Workaround : Configure HS2LP_TIME and LP2HS_TIME with the same value being the max of HS2LP_TIME or LP2HS_TIME. + */ + + DSIHOST.cltcr().modify(|w| { + w.set_hs2lp_time(MAX_TIME); + w.set_lp2hs_time(MAX_TIME) + }); + + // Data lane timer configuration + DSIHOST.dltcr().modify(|w| { + w.set_hs2lp_time(DATA_LANE_HS2_LPTIME); + w.set_lp2hs_time(DATA_LANE_LP2_HSTIME); + w.set_mrd_time(DATA_LANE_MAX_READ_TIME); + }); + + // Configure the wait period to request HS transmission after a stop state + DSIHOST.pconfr().modify(|w| w.set_sw_time(STOP_WAIT_TIME)); + + const _PCPOLARITY: bool = false; // LTDC_PCPOLARITY_IPC == 0 + + const LTDC_DE_POLARITY: Depol = if !DE_POLARITY { + Depol::ACTIVELOW + } else { + Depol::ACTIVEHIGH + }; + const LTDC_VS_POLARITY: Vspol = if !VS_POLARITY { + Vspol::ACTIVEHIGH + } else { + Vspol::ACTIVELOW + }; + + const LTDC_HS_POLARITY: Hspol = if !HS_POLARITY { + Hspol::ACTIVEHIGH + } else { + Hspol::ACTIVELOW + }; + + /* Timing Configuration */ + const HORIZONTAL_SYNC: u16 = HSA - 1; + const VERTICAL_SYNC: u16 = VERTICAL_SYNC_ACTIVE - 1; + const ACCUMULATED_HBP: u16 = HSA + HBP - 1; + const ACCUMULATED_VBP: u16 = VERTICAL_SYNC_ACTIVE + VERTICAL_BACK_PORCH - 1; + const ACCUMULATED_ACTIVE_W: u16 = LCD_X_SIZE + HSA + HBP - 1; + const ACCUMULATED_ACTIVE_H: u16 = VERTICAL_SYNC_ACTIVE + VERTICAL_BACK_PORCH + VERTICAL_ACTIVE - 1; + const TOTAL_WIDTH: u16 = LCD_X_SIZE + HSA + HBP + HFP - 1; + const TOTAL_HEIGHT: u16 = VERTICAL_SYNC_ACTIVE + VERTICAL_BACK_PORCH + VERTICAL_ACTIVE + VERTICAL_FRONT_PORCH - 1; + + // DISABLE LTDC before making changes + ltdc.disable(); + + // Configure the HS, VS, DE and PC polarity + LTDC.gcr().modify(|w| { + w.set_hspol(LTDC_HS_POLARITY); + w.set_vspol(LTDC_VS_POLARITY); + w.set_depol(LTDC_DE_POLARITY); + w.set_pcpol(Pcpol::RISINGEDGE); + }); + + // Set Synchronization size + LTDC.sscr().modify(|w| { + w.set_hsw(HORIZONTAL_SYNC); + w.set_vsh(VERTICAL_SYNC) + }); + + // Set Accumulated Back porch + LTDC.bpcr().modify(|w| { + w.set_ahbp(ACCUMULATED_HBP); + w.set_avbp(ACCUMULATED_VBP); + }); + + // Set Accumulated Active Width + LTDC.awcr().modify(|w| { + w.set_aah(ACCUMULATED_ACTIVE_H); + w.set_aaw(ACCUMULATED_ACTIVE_W); + }); + + // Set Total Width + LTDC.twcr().modify(|w| { + w.set_totalh(TOTAL_HEIGHT); + w.set_totalw(TOTAL_WIDTH); + }); + + // Set the background color value + LTDC.bccr().modify(|w| { + w.set_bcred(0); + w.set_bcgreen(0); + w.set_bcblue(0) + }); + + // Enable the Transfer Error and FIFO underrun interrupts + LTDC.ier().modify(|w| { + w.set_terrie(true); + w.set_fuie(true); + }); + + // ENABLE LTDC after making changes + ltdc.enable(); + + dsi.enable(); + dsi.enable_wrapper_dsi(); + + // First, delay 120 ms (reason unknown, STM32 Cube Example does it) + blocking_delay_ms(120); + + // 1 to 26 + dsi.write_cmd(0, NT35510_WRITES_0[0], &NT35510_WRITES_0[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_1[0], &NT35510_WRITES_1[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_2[0], &NT35510_WRITES_2[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_3[0], &NT35510_WRITES_3[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_4[0], &NT35510_WRITES_4[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_5[0], &NT35510_WRITES_5[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_6[0], &NT35510_WRITES_6[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_7[0], &NT35510_WRITES_7[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_8[0], &NT35510_WRITES_8[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_9[0], &NT35510_WRITES_9[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_10[0], &NT35510_WRITES_10[1..]).unwrap(); + // 11 missing + dsi.write_cmd(0, NT35510_WRITES_12[0], &NT35510_WRITES_12[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_13[0], &NT35510_WRITES_13[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_14[0], &NT35510_WRITES_14[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_15[0], &NT35510_WRITES_15[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_16[0], &NT35510_WRITES_16[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_17[0], &NT35510_WRITES_17[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_18[0], &NT35510_WRITES_18[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_19[0], &NT35510_WRITES_19[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_20[0], &NT35510_WRITES_20[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_21[0], &NT35510_WRITES_21[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_22[0], &NT35510_WRITES_22[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_23[0], &NT35510_WRITES_23[1..]).unwrap(); + dsi.write_cmd(0, NT35510_WRITES_24[0], &NT35510_WRITES_24[1..]).unwrap(); + + // Tear on + dsi.write_cmd(0, NT35510_WRITES_26[0], &NT35510_WRITES_26[1..]).unwrap(); + + // Set Pixel color format to RGB888 + dsi.write_cmd(0, NT35510_WRITES_37[0], &NT35510_WRITES_37[1..]).unwrap(); + + // Add a delay, otherwise MADCTL not taken + blocking_delay_ms(200); + + // Configure orientation as landscape + dsi.write_cmd(0, NT35510_MADCTL_LANDSCAPE[0], &NT35510_MADCTL_LANDSCAPE[1..]) + .unwrap(); + dsi.write_cmd(0, NT35510_CASET_LANDSCAPE[0], &NT35510_CASET_LANDSCAPE[1..]) + .unwrap(); + dsi.write_cmd(0, NT35510_RASET_LANDSCAPE[0], &NT35510_RASET_LANDSCAPE[1..]) + .unwrap(); + + // Sleep out + dsi.write_cmd(0, NT35510_WRITES_27[0], &NT35510_WRITES_27[1..]).unwrap(); + + // Wait for sleep out exit + blocking_delay_ms(120); + + // Configure COLOR_CODING + dsi.write_cmd(0, NT35510_WRITES_37[0], &NT35510_WRITES_37[1..]).unwrap(); + + /* CABC : Content Adaptive Backlight Control section start >> */ + /* Note : defaut is 0 (lowest Brightness), 0xFF is highest Brightness, try 0x7F : intermediate value */ + dsi.write_cmd(0, NT35510_WRITES_31[0], &NT35510_WRITES_31[1..]).unwrap(); + /* defaut is 0, try 0x2C - Brightness Control Block, Display Dimming & BackLight on */ + dsi.write_cmd(0, NT35510_WRITES_32[0], &NT35510_WRITES_32[1..]).unwrap(); + /* defaut is 0, try 0x02 - image Content based Adaptive Brightness [Still Picture] */ + dsi.write_cmd(0, NT35510_WRITES_33[0], &NT35510_WRITES_33[1..]).unwrap(); + /* defaut is 0 (lowest Brightness), 0xFF is highest Brightness */ + dsi.write_cmd(0, NT35510_WRITES_34[0], &NT35510_WRITES_34[1..]).unwrap(); + /* CABC : Content Adaptive Backlight Control section end << */ + /* Display on */ + dsi.write_cmd(0, NT35510_WRITES_30[0], &NT35510_WRITES_30[1..]).unwrap(); + + /* Send Command GRAM memory write (no parameters) : this initiates frame write via other DSI commands sent by */ + /* DSI host from LTDC incoming pixels in video mode */ + dsi.write_cmd(0, NT35510_WRITES_35[0], &NT35510_WRITES_35[1..]).unwrap(); + + /* Initialize the LCD pixel width and pixel height */ + const WINDOW_X0: u16 = 0; + const WINDOW_X1: u16 = LCD_X_SIZE; // 480 for ferris + const WINDOW_Y0: u16 = 0; + const WINDOW_Y1: u16 = LCD_Y_SIZE; // 800 for ferris + const PIXEL_FORMAT: Pf = Pf::ARGB8888; + //const FBStartAdress: u16 = FB_Address; + const ALPHA: u8 = 255; + const ALPHA0: u8 = 0; + const BACKCOLOR_BLUE: u8 = 0; + const BACKCOLOR_GREEN: u8 = 0; + const BACKCOLOR_RED: u8 = 0; + const IMAGE_WIDTH: u16 = LCD_X_SIZE; // 480 for ferris + const IMAGE_HEIGHT: u16 = LCD_Y_SIZE; // 800 for ferris + + const PIXEL_SIZE: u8 = match PIXEL_FORMAT { + Pf::ARGB8888 => 4, + Pf::RGB888 => 3, + Pf::ARGB4444 | Pf::RGB565 | Pf::ARGB1555 | Pf::AL88 => 2, + _ => 1, + }; + + // Configure the horizontal start and stop position + LTDC.layer(0).whpcr().write(|w| { + w.set_whstpos(LTDC.bpcr().read().ahbp() + 1 + WINDOW_X0); + w.set_whsppos(LTDC.bpcr().read().ahbp() + WINDOW_X1); + }); + + // Configures the vertical start and stop position + LTDC.layer(0).wvpcr().write(|w| { + w.set_wvstpos(LTDC.bpcr().read().avbp() + 1 + WINDOW_Y0); + w.set_wvsppos(LTDC.bpcr().read().avbp() + WINDOW_Y1); + }); + + // Specify the pixel format + LTDC.layer(0).pfcr().write(|w| w.set_pf(PIXEL_FORMAT)); + + // Configures the default color values as zero + LTDC.layer(0).dccr().modify(|w| { + w.set_dcblue(BACKCOLOR_BLUE); + w.set_dcgreen(BACKCOLOR_GREEN); + w.set_dcred(BACKCOLOR_RED); + w.set_dcalpha(ALPHA0); + }); + + // Specifies the constant ALPHA value + LTDC.layer(0).cacr().write(|w| w.set_consta(ALPHA)); + + // Specifies the blending factors + LTDC.layer(0).bfcr().write(|w| { + w.set_bf1(Bf1::CONSTANT); + w.set_bf2(Bf2::CONSTANT); + }); + + // Configure the color frame buffer start address + let fb_start_address: u32 = &FERRIS_IMAGE[0] as *const _ as u32; + info!("Setting Framebuffer Start Address: {:010x}", fb_start_address); + LTDC.layer(0).cfbar().write(|w| w.set_cfbadd(fb_start_address)); + + // Configures the color frame buffer pitch in byte + LTDC.layer(0).cfblr().write(|w| { + w.set_cfbp(IMAGE_WIDTH * PIXEL_SIZE as u16); + w.set_cfbll(((WINDOW_X1 - WINDOW_X0) * PIXEL_SIZE as u16) + 3); + }); + + // Configures the frame buffer line number + LTDC.layer(0).cfblnr().write(|w| w.set_cfblnbr(IMAGE_HEIGHT)); + + // Enable LTDC_Layer by setting LEN bit + LTDC.layer(0).cr().modify(|w| w.set_len(true)); + + //LTDC->SRCR = LTDC_SRCR_IMR; + LTDC.srcr().modify(|w| w.set_imr(Imr::RELOAD)); + + blocking_delay_ms(5000); + + const READ_SIZE: u16 = 1; + let mut data = [1u8; READ_SIZE as usize]; + dsi.read(0, PacketType::DcsShortPktRead(0xDA), READ_SIZE, &mut data) + .unwrap(); + info!("Display ID1: {:#04x}", data); + + dsi.read(0, PacketType::DcsShortPktRead(0xDB), READ_SIZE, &mut data) + .unwrap(); + info!("Display ID2: {:#04x}", data); + + dsi.read(0, PacketType::DcsShortPktRead(0xDC), READ_SIZE, &mut data) + .unwrap(); + info!("Display ID3: {:#04x}", data); + + blocking_delay_ms(500); + + info!("Config done, start blinking LED"); + loop { + led.set_high(); + Timer::after_millis(1000).await; + + // Increase screen brightness + dsi.write_cmd(0, NT35510_CMD_WRDISBV, &[0xFF]).unwrap(); + + led.set_low(); + Timer::after_millis(1000).await; + + // Reduce screen brightness + dsi.write_cmd(0, NT35510_CMD_WRDISBV, &[0x50]).unwrap(); + } +} + +const NT35510_WRITES_0: &[u8] = &[0xF0, 0x55, 0xAA, 0x52, 0x08, 0x01]; // LV2: Page 1 enable +const NT35510_WRITES_1: &[u8] = &[0xB0, 0x03, 0x03, 0x03]; // AVDD: 5.2V +const NT35510_WRITES_2: &[u8] = &[0xB6, 0x46, 0x46, 0x46]; // AVDD: Ratio +const NT35510_WRITES_3: &[u8] = &[0xB1, 0x03, 0x03, 0x03]; // AVEE: -5.2V +const NT35510_WRITES_4: &[u8] = &[0xB7, 0x36, 0x36, 0x36]; // AVEE: Ratio +const NT35510_WRITES_5: &[u8] = &[0xB2, 0x00, 0x00, 0x02]; // VCL: -2.5V +const NT35510_WRITES_6: &[u8] = &[0xB8, 0x26, 0x26, 0x26]; // VCL: Ratio +const NT35510_WRITES_7: &[u8] = &[0xBF, 0x01]; // VGH: 15V (Free Pump) +const NT35510_WRITES_8: &[u8] = &[0xB3, 0x09, 0x09, 0x09]; +const NT35510_WRITES_9: &[u8] = &[0xB9, 0x36, 0x36, 0x36]; // VGH: Ratio +const NT35510_WRITES_10: &[u8] = &[0xB5, 0x08, 0x08, 0x08]; // VGL_REG: -10V +const NT35510_WRITES_12: &[u8] = &[0xBA, 0x26, 0x26, 0x26]; // VGLX: Ratio +const NT35510_WRITES_13: &[u8] = &[0xBC, 0x00, 0x80, 0x00]; // VGMP/VGSP: 4.5V/0V +const NT35510_WRITES_14: &[u8] = &[0xBD, 0x00, 0x80, 0x00]; // VGMN/VGSN:-4.5V/0V +const NT35510_WRITES_15: &[u8] = &[0xBE, 0x00, 0x50]; // VCOM: -1.325V +const NT35510_WRITES_16: &[u8] = &[0xF0, 0x55, 0xAA, 0x52, 0x08, 0x00]; // LV2: Page 0 enable +const NT35510_WRITES_17: &[u8] = &[0xB1, 0xFC, 0x00]; // Display control +const NT35510_WRITES_18: &[u8] = &[0xB6, 0x03]; // Src hold time +const NT35510_WRITES_19: &[u8] = &[0xB5, 0x51]; +const NT35510_WRITES_20: &[u8] = &[0x00, 0x00, 0xB7]; // Gate EQ control +const NT35510_WRITES_21: &[u8] = &[0xB8, 0x01, 0x02, 0x02, 0x02]; // Src EQ control(Mode2) +const NT35510_WRITES_22: &[u8] = &[0xBC, 0x00, 0x00, 0x00]; // Inv. mode(2-dot) +const NT35510_WRITES_23: &[u8] = &[0xCC, 0x03, 0x00, 0x00]; +const NT35510_WRITES_24: &[u8] = &[0xBA, 0x01]; + +const _NT35510_MADCTL_PORTRAIT: &[u8] = &[NT35510_CMD_MADCTL, 0x00]; +const _NT35510_CASET_PORTRAIT: &[u8] = &[NT35510_CMD_CASET, 0x00, 0x00, 0x01, 0xDF]; +const _NT35510_RASET_PORTRAIT: &[u8] = &[NT35510_CMD_RASET, 0x00, 0x00, 0x03, 0x1F]; +const NT35510_MADCTL_LANDSCAPE: &[u8] = &[NT35510_CMD_MADCTL, 0x60]; +const NT35510_CASET_LANDSCAPE: &[u8] = &[NT35510_CMD_CASET, 0x00, 0x00, 0x03, 0x1F]; +const NT35510_RASET_LANDSCAPE: &[u8] = &[NT35510_CMD_RASET, 0x00, 0x00, 0x01, 0xDF]; + +const NT35510_WRITES_26: &[u8] = &[NT35510_CMD_TEEON, 0x00]; // Tear on +const NT35510_WRITES_27: &[u8] = &[NT35510_CMD_SLPOUT, 0x00]; // Sleep out + // 28,29 missing +const NT35510_WRITES_30: &[u8] = &[NT35510_CMD_DISPON, 0x00]; // Display on + +const NT35510_WRITES_31: &[u8] = &[NT35510_CMD_WRDISBV, 0x7F]; +const NT35510_WRITES_32: &[u8] = &[NT35510_CMD_WRCTRLD, 0x2C]; +const NT35510_WRITES_33: &[u8] = &[NT35510_CMD_WRCABC, 0x02]; +const NT35510_WRITES_34: &[u8] = &[NT35510_CMD_WRCABCMB, 0xFF]; +const NT35510_WRITES_35: &[u8] = &[NT35510_CMD_RAMWR, 0x00]; + +//const NT35510_WRITES_36: &[u8] = &[NT35510_CMD_COLMOD, NT35510_COLMOD_RGB565]; // FIXME: Example sets it to 888 but rest of the code seems to configure DSI for 565 +const NT35510_WRITES_37: &[u8] = &[NT35510_CMD_COLMOD, NT35510_COLMOD_RGB888]; + +// More of these: https://elixir.bootlin.com/linux/latest/source/include/video/mipi_display.h#L83 +const _NT35510_CMD_TEEON_GET_DISPLAY_ID: u8 = 0x04; + +const NT35510_CMD_TEEON: u8 = 0x35; +const NT35510_CMD_MADCTL: u8 = 0x36; + +const NT35510_CMD_SLPOUT: u8 = 0x11; +const NT35510_CMD_DISPON: u8 = 0x29; +const NT35510_CMD_CASET: u8 = 0x2A; +const NT35510_CMD_RASET: u8 = 0x2B; +const NT35510_CMD_RAMWR: u8 = 0x2C; /* Memory write */ +const NT35510_CMD_COLMOD: u8 = 0x3A; + +const NT35510_CMD_WRDISBV: u8 = 0x51; /* Write display brightness */ +const _NT35510_CMD_RDDISBV: u8 = 0x52; /* Read display brightness */ +const NT35510_CMD_WRCTRLD: u8 = 0x53; /* Write CTRL display */ +const _NT35510_CMD_RDCTRLD: u8 = 0x54; /* Read CTRL display value */ +const NT35510_CMD_WRCABC: u8 = 0x55; /* Write content adaptative brightness control */ +const NT35510_CMD_WRCABCMB: u8 = 0x5E; /* Write CABC minimum brightness */ + +const _NT35510_COLMOD_RGB565: u8 = 0x55; +const NT35510_COLMOD_RGB888: u8 = 0x77; diff --git a/examples/stm32f469/src/bin/ferris.bin b/examples/stm32f469/src/bin/ferris.bin new file mode 100644 index 000000000..ae1c466be --- /dev/null +++ b/examples/stm32f469/src/bin/ferris.bin @@ -0,0 +1,70 @@ +°±±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³³³ÿ³²²ÿ³³³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´´µÿ´µ´ÿµµ´ÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿµ¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ¶·¶ÿ·¶¶ÿ¶¶¶ÿ···ÿ···ÿ···ÿ·¸·ÿ···ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹¹¹ÿº¹ºÿ¹ººÿºººÿºººÿ»º»ÿ»ººÿºººÿ»ººÿ»»»ÿ»ººÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»¼ÿ¼¼»ÿ¼¼»ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ¼½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¾ÿ¿¿¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿ÀÀÿÀ¿¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÁÀÀÿÁÁÁÿÁÁÁÿÁÀÀÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÂÁÁÿÂÁÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÃÂÿÂÂÃÿÃÂÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÅÄÿÄÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÆÿÅÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÇÇÇÿÇÆÇÿÇÆÇÿÆÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÇÇÿÈÈÇÿÇÇÈÿÈÇÈÿÈÇÇÿÇÈÈÿÉÈÈÿÈÈÈÿÈÈÉÿÈÈÉÿÉÉÉÿÉÉÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÊÿÉÉÉÿÉÉÊÿÉÉÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿËÊËÿËÊÊÿËËËÿËËËÿËËËÿËËÌÿËËËÿÌÌËÿËËËÿÌÌÌÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÍÌÿÌÌÌÿÍÍÌÿÌÌÌÿÍÍÌÿÍÍÍÿÎÍÍÿÍÍÎÿÍÍÍÿÍÍÍÿÎÎÍÿÎÎÎÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÎÎÎÿÎÏÏÿÎÏÏÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÐÿÐÏÐÿÏÏÐÿÐÏÏÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÑÐÿÐÐÐÿÐÑÑÿÐÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÓÓÿÓÓÒÿÒÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÔÓÓÿÓÓÓÿÔÓÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÕÔÿÕÔÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÕÿÕÕÕÿÕÖÖÿÕÕÖÿÕÖÖÿÖÖÖÿÖÖÕÿÖÖÖÿÖ×ÖÿÖÖÖÿÖÖÖÿ××ÖÿÖÖ×ÿ××Öÿ×××ÿ×××ÿ×××ÿר×ÿ×רÿ×רÿØØ×ÿ×רÿØ×ØÿØØ×ÿØØØÿÙØÙÿØØØÿØØÙÿØÙÙÿÙÙØÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÚÙÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÛÛÛÿÛÛÛÿÚÛÚÿÛÛÛÿÛÛÛÿÜÛÛÿÛÛÜÿÜÜÛÿÛÛÜÿÜÜÛÿÛÜÜÿÜÜÜÿÜÜÜÿÝÝÜÿÜÝÜÿÝÜÜÿÝÜÝÿÝÝÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÞÿÝÞÝÿÞÝÝÿÝÞÝÿÝÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿßßÞÿÞÞÞÿÞßÞÿßÞßÿßßßÿßàßÿßßßÿßßßÿßßàÿßàßÿßààÿàààÿàààÿàààÿàáàÿàààÿàáàÿáááÿááàÿáàáÿáááÿáááÿááâÿââáÿáâáÿâáâÿâáâÿâââÿâââÿâââÿâãâÿãâãÿããâÿâââÿãâãÿâãâÿââãÿãããÿãããÿãããÿããäÿããäÿäããÿäääÿäääÿäääÿäääÿåääÿåäåÿåääÿäääÿåäåÿäååÿåååÿåååÿåæåÿåæåÿåååÿææåÿåæåÿæææÿæææÿæææÿæææÿæææÿçææÿæææÿççæÿçæçÿçççÿçççÿçççÿçççÿèèçÿèçèÿçèçÿççèÿèèèÿèèèÿéèéÿèéèÿèèéÿèéèÿèééÿéééÿéééÿéééÿéééÿêééÿêêêÿêéêÿêééÿêéêÿêêéÿêêêÿêêêÿêêêÿëêêÿëêëÿëëëÿêëêÿêëëÿëëëÿëëëÿìëìÿëìëÿëëëÿìëëÿìëìÿëììÿìììÿìììÿííìÿìíìÿííìÿìììÿíííÿííìÿíííÿíííÿíííÿîíîÿíííÿîííÿííîÿîîîÿíîíÿîîîÿîïîÿïîîÿîîîÿîïîÿïîîÿîîïÿïïïÿïîïÿïïïÿðïïÿïïïÿðïïÿðïðÿðïðÿðððÿðððÿðððÿññðÿðððÿññðÿðñðÿðññÿñññÿðññÿñññÿòññÿñòñÿñññÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòóÿòòòÿóòóÿóòóÿóòòÿóòóÿóóóÿóóóÿóóóÿóóôÿôóôÿôóóÿóôóÿóôôÿôôóÿôôôÿôôôÿõôôÿôôõÿõôõÿôôõÿõõõÿõõôÿõõõÿõõõÿõööÿõöõÿõõõÿõõöÿõõöÿöõöÿöööÿöööÿöööÿö÷öÿ÷ö÷ÿö÷öÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿøø÷ÿ÷÷÷ÿø÷÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøøùÿøøøÿøùùÿùùùÿùùøÿùøùÿùùùÿùúùÿùùùÿùùùÿùùúÿúúùÿúúúÿúùúÿúúúÿúúúÿúúúÿûúúÿúúûÿúúûÿúûûÿúûûÿûûûÿûüûÿûûûÿûûüÿûûüÿüüûÿûüüÿüüüÿüüûÿüüüÿüüýÿýüüÿüüýÿüýýÿýýüÿüýýÿýüýÿýýýÿýþþÿýýþÿýþýÿýþþÿýþýÿýþþÿþþþÿþþþÿþþþÿþþþÿÿþþÿÿþÿÿÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ²±²ÿ±±²ÿ²²±ÿ²±±ÿ²±±ÿ²²²ÿ²²²ÿ²²²ÿ²³³ÿ³³³ÿ³²²ÿ³³³ÿ²³²ÿ³³³ÿ³³³ÿ³´³ÿ´³´ÿ´³³ÿ´³³ÿ´´³ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿ´µ´ÿµµµÿµµ´ÿ´´´ÿ´´µÿµµµÿµµµÿµ¶µÿ¶¶¶ÿ¶¶µÿµ¶µÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ···ÿ··¶ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ·¸¸ÿ¸¸¸ÿ·¸·ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿ¸¹¸ÿ¸¹¹ÿ¸¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿ¹¹ºÿ¹¹ºÿ¹¹¹ÿ¹ººÿºººÿºººÿºººÿºººÿºººÿ»»»ÿ»»»ÿ»ººÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ»¼»ÿ»¼¼ÿ»»¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼½½ÿ¼¼¼ÿ½½¼ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ¾¾½ÿ½¾¾ÿ¾½½ÿ¾½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¾¾¾ÿ¾¾¿ÿ¿¿¾ÿ¿¿¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿÀÀÀÿ¿¿ÀÿÀÀ¿ÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÁÀÀÿÀÀÀÿÀÀÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÂÁÂÿÁÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÃÂÂÿÂÂÃÿÃÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÃÿÄÄÄÿÃÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÄÿÅÅÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÆÆÿÅÆÅÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÇÇÿÈÈÇÿÇÇÇÿÈÈÇÿÈÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÈÈÈÿÉÉÉÿÉÈÉÿÉÉÉÿÉÉÉÿÊÉÉÿÊÉÉÿÉÉÊÿÊÉÊÿÉÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿËËÊÿËÊËÿËËËÿÊËÊÿËËËÿËËËÿËËËÿËËËÿËËËÿËÌÌÿËËÌÿËÌÌÿÌËÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÌÿÍÌÌÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÍÍÿÍÍÎÿÍÍÍÿÎÍÎÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÏÎÎÿÏÏÏÿÏÏÎÿÎÏÏÿÏÏÏÿÏÐÏÿÏÏÏÿÏÏÐÿÐÐÐÿÐÏÐÿÐÏÏÿÐÐÐÿÐÐÐÿÐÐÑÿÐÐÐÿÐÐÑÿÑÐÐÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÒÿÒÑÑÿÑÒÒÿÒÑÒÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÓÒÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÔÓÿÓÔÔÿÔÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÔÔÿÕÔÔÿÔÕÕÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÖÕÿÕÖÖÿÕÕÖÿÖÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖÖ×ÿÖÖ×ÿÖ××ÿ×Ö×ÿ×××ÿ×××ÿ×××ÿ×××ÿØ××ÿØØ×ÿØ××ÿØØ×ÿØØØÿØ××ÿØØØÿØØØÿØÙÙÿØØØÿØÙÙÿØÙÙÿÙØØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÚÙÙÿÚÙÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÛÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÜÛÛÿÜÛÛÿÜÛÜÿÜÜÛÿÜÜÜÿÛÜÜÿÜÛÜÿÜÜÝÿÜÝÝÿÜÝÜÿÜÜÜÿÜÝÜÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÞÞÞÿÞÝÝÿÞÝÞÿÞÞÞÿÞÞÞÿÞßÞÿßßÞÿßÞÞÿÞÞßÿÞÞßÿÞßßÿßßßÿßßßÿßßßÿßßàÿàßßÿàßßÿàààÿàààÿàààÿàààÿàààÿàáàÿàààÿáááÿáàáÿáàáÿáááÿáááÿáááÿáááÿáááÿââáÿááâÿáááÿâââÿââáÿâââÿâââÿââãÿâãâÿãâãÿâãâÿãããÿãããÿãããÿãããÿãããÿãääÿãããÿääãÿäääÿääãÿäãäÿäääÿäääÿääåÿääåÿåååÿääåÿåäåÿåååÿåææÿåæåÿåååÿæåæÿåææÿåææÿææåÿæææÿæææÿæææÿææçÿçææÿæçæÿææçÿçæçÿçççÿçççÿçççÿçççÿçççÿèçèÿèèçÿèçèÿèèèÿèèèÿèèèÿéèèÿéèèÿèééÿéééÿéééÿéééÿèééÿéééÿéééÿéêéÿéééÿêééÿêêêÿêêêÿêêêÿêêêÿêêêÿêêêÿëêêÿëëêÿêêêÿëëëÿëëëÿëëëÿìëëÿëëëÿììëÿììëÿìëëÿëììÿììëÿìììÿìììÿììíÿìììÿíììÿííìÿíííÿíííÿíííÿîííÿíííÿííîÿíîîÿííîÿîîîÿîíîÿîîîÿîîîÿîïïÿîïîÿïïîÿïïîÿïïïÿïïïÿïïïÿïïïÿïðïÿïïïÿïïïÿððïÿðïðÿððïÿïððÿðððÿñððÿðððÿññðÿðññÿñññÿñðñÿñññÿñññÿñòñÿñññÿòòòÿñññÿòñòÿòòòÿòòòÿòòòÿòòòÿòóòÿòòóÿóòóÿóóòÿóòóÿóóóÿóóóÿóóôÿôóóÿóóóÿóóóÿóôóÿôóôÿôôôÿôôôÿôôõÿôôôÿõôôÿôõõÿõõõÿõõôÿõõõÿõõõÿõõõÿõõõÿõõöÿõõöÿöööÿõööÿöõöÿöõöÿöööÿöööÿö÷öÿ÷ööÿöööÿöö÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷øÿøø÷ÿøøøÿ÷÷øÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿùøùÿøùøÿøùøÿùøùÿùøùÿùùùÿùùùÿùùùÿùùùÿúùúÿùúúÿúúúÿúúúÿúúúÿûúúÿûúûÿúúúÿûúúÿûûúÿûúûÿûûûÿûûûÿüüûÿûüûÿûûûÿûûüÿüüûÿûüûÿüüüÿüüüÿüüüÿüüýÿüüýÿüýýÿýüüÿüýýÿýýýÿýýýÿýýýÿþýýÿýþþÿýýýÿþýþÿþýýÿþþþÿþþþÿþþþÿÿþþÿþþþÿþÿÿÿþþÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ±°±ÿ±±±ÿ±±±ÿ²±±ÿ±±±ÿ²±²ÿ±²±ÿ±²±ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²²³ÿ²²³ÿ²³²ÿ²³³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµµÿµ´´ÿµ´´ÿµ´µÿµ´µÿµµµÿµ¶µÿµµµÿ¶µµÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸¸¸ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¹ÿ¸¹¹ÿ¹¹¸ÿ¹¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹ººÿºººÿºººÿº¹ºÿºººÿºººÿºº»ÿ»ººÿ»»ºÿºº»ÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»¼»ÿ»¼¼ÿ¼¼¼ÿ»¼»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½¼½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾¾ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¿ÿ¾¾¿ÿ¾¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿À¿ÿ¿À¿ÿÀ¿¿ÿÀÀÀÿÀÀ¿ÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÁÿÁÁÀÿÁÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÂÂÁÿÁÁÂÿÂÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÃÃÿÃÃÂÿÂÃÂÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÄÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÄÿÅÅÄÿÄÄÄÿÄÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÆÅÿÆÅÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÈÈÿÇÈÈÿÈÈÇÿÈÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÈÉÿÉÉÉÿÉÉÈÿÉÉÈÿÉÈÉÿÉÉÉÿÊÉÉÿÉÉÉÿÊÉÉÿÊÉÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊËËÿÊËËÿËËËÿËËËÿËËÊÿËËËÿËËËÿËËËÿËËËÿÌÌÌÿËÌÌÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÍÍÿÍÍÍÿÍÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÏÏÏÿÏÏÎÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÐÏÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÑÿÐÐÑÿÑÑÑÿÐÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÒÿÑÑÑÿÒÑÑÿÑÑÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÒÒÒÿÓÒÒÿÓÓÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÔÔÿÔÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÔÕÿÕÔÕÿÕÕÔÿÕÔÕÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÕÿÖÕÕÿÖÖÖÿÕÖÖÿÖÖÕÿÖÕÖÿÖÖÖÿÖÖ×ÿ××ÖÿÖÖ×ÿ××Öÿ×××ÿ×Ö×ÿ×××ÿ×××ÿ×××ÿ×רÿ×××ÿרØÿר×ÿØØØÿØØØÿØØØÿØØØÿØØÙÿØØØÿÙÙÙÿÙØÙÿØÙØÿÙØÙÿÙÙÙÿÙÚÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÚÿÚÛÚÿÚÚÚÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÜÜÛÿÜÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÝÿÝÝÝÿÝÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÝÞÞÿÞÝÝÿÝÝÝÿÝÞÞÿÞÞÝÿÞÞÞÿÞÞÞÿÞßÞÿÞßÞÿÞÞÞÿÞÞßÿßßÞÿßßßÿßßÞÿßßßÿßßßÿßàßÿààßÿßààÿàßàÿààßÿàààÿàààÿàààÿàààÿáààÿààáÿáàáÿáàáÿáááÿáááÿáááÿáááÿâááÿâááÿáâáÿâáâÿâââÿâââÿâââÿâââÿãâãÿââãÿãâãÿãããÿãââÿãããÿãããÿããäÿãããÿäääÿãäãÿãääÿääãÿäääÿäääÿåääÿååäÿååäÿåääÿååäÿåääÿåååÿåååÿåååÿææåÿåååÿåååÿæååÿåææÿææåÿæææÿæææÿææçÿçææÿçææÿæççÿçææÿçæçÿçæçÿçççÿèçèÿççèÿçççÿçèèÿçèèÿçèçÿçèçÿèèèÿèèèÿèéèÿèèéÿèèèÿèéèÿééèÿéééÿéééÿéééÿêééÿéééÿêééÿééêÿêéêÿêêêÿêêêÿêêêÿêêëÿêêëÿëêëÿëëëÿëêëÿëëëÿëëëÿëëëÿëëëÿìììÿëììÿììëÿëììÿììëÿìììÿìììÿíììÿíìíÿììíÿíííÿìííÿíìíÿìííÿíííÿíîîÿíííÿííîÿíîîÿîíîÿîíîÿîîîÿîîîÿîîîÿîïîÿîîïÿîïïÿïîîÿîïïÿïïïÿïïïÿïïïÿïðïÿððïÿïðïÿïïïÿðððÿðððÿðððÿðððÿððñÿñððÿðððÿñññÿñððÿñññÿñññÿñòñÿñññÿñòñÿñòñÿññòÿññòÿòòòÿòòòÿòòòÿòòòÿòòóÿòòòÿòóòÿóòòÿóòòÿóóóÿóóóÿóôóÿóôóÿóóóÿôôôÿôôóÿôóôÿóôôÿôôôÿôõôÿôôõÿôõôÿôõõÿôõôÿõõôÿõõõÿôõõÿõõõÿõöõÿõöõÿõõõÿöõõÿöööÿöööÿöööÿöööÿöööÿöööÿ÷ööÿöööÿö÷÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿø÷÷ÿ÷øøÿ÷÷øÿøøøÿøøøÿøøøÿøùøÿøùøÿøùùÿùùøÿùùùÿùùùÿùùùÿùúùÿúúúÿúúúÿùúùÿúùùÿúùúÿúúúÿúúúÿúúûÿúúúÿúúúÿûûúÿûûûÿúûûÿûûûÿûûûÿûûûÿûûûÿûûüÿüüûÿüûüÿüüüÿüüüÿüüüÿüýüÿüýýÿüýüÿüýüÿýüýÿýýýÿýýýÿýýýÿýýþÿýþýÿþýþÿþþþÿþþþÿþýþÿþþþÿþþþÿþþþÿþþþÿþþþÿÿþÿÿÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ±±±ÿ²±±ÿ²²±ÿ²±±ÿ²±²ÿ²²²ÿ²²²ÿ²²³ÿ²²²ÿ²²²ÿ³³³ÿ³²³ÿ³³³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´´³ÿ³´³ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿµ´µÿ´µµÿµµµÿµµµÿµ¶µÿµµµÿ¶µ¶ÿ¶µµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶·¶ÿ¶··ÿ¶¶·ÿ¶·¶ÿ¶··ÿ···ÿ···ÿ··¸ÿ·¸¸ÿ¸··ÿ·¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¸¹ÿ¸¸¸ÿ¸¹¹ÿ¹¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿ¹¹¹ÿºººÿºº¹ÿºººÿºººÿºººÿºººÿºººÿº»ºÿº»»ÿ»»ºÿ»º»ÿ»»»ÿ»»»ÿ¼»»ÿ¼»»ÿ»¼»ÿ¼»¼ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ¼¼½ÿ¼¼¼ÿ¼½½ÿ½½½ÿ½¾½ÿ½½½ÿ½½½ÿ¾½½ÿ¾½½ÿ¾½¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¿¿ÿ¾¾¾ÿ¿¿¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿ÀÿÀÀ¿ÿ¿¿ÀÿÀÀÀÿ¿ÀÀÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÁÿÀÀÁÿÀÀÀÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÂÁÿÂÂÂÿÁÂÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÃÃÿÃÃÃÿÂÂÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÄÄÿÄÄÃÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÄÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÆÅÅÿÅÅÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÇÇÇÿÆÇÆÿÆÆÇÿÇÆÇÿÇÇÇÿÇÇÈÿÈÇÇÿÇÇÈÿÈÈÇÿÇÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÉÈÿÉÈÈÿÈÉÉÿÉÈÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÊÉÿÉÊÉÿÊÉÊÿÉÉÉÿÊÊÉÿÊÉÉÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊËÿÊËËÿËÊËÿÊËËÿËËËÿËËËÿÌËËÿÌÌËÿËÌÌÿËÌËÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÍÌÿÌÌÌÿÍÍÍÿÍÌÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÎÍÿÎÍÎÿÎÍÎÿÎÎÎÿÎÎÎÿÎÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÏÎÿÎÏÎÿÏÎÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÏÏÿÏÐÐÿÏÐÏÿÏÏÏÿÐÏÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÑÿÐÐÐÿÐÐÑÿÐÐÐÿÐÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÑÒÿÒÒÒÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÓÓÿÓÓÓÿÒÒÓÿÓÓÓÿÓÓÒÿÓÓÓÿÓÓÓÿÔÔÓÿÓÔÓÿÔÔÓÿÔÔÔÿÓÓÔÿÓÔÔÿÔÔÓÿÔÔÔÿÕÕÔÿÔÔÔÿÕÕÕÿÔÔÕÿÔÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÖÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×Ö×ÿ××Öÿ×Ö×ÿÖ××ÿ×Ö×ÿ×××ÿ×××ÿר×ÿØ××ÿ×××ÿØ×ØÿØ××ÿØØ×ÿØØØÿØØØÿØØØÿØØØÿØÙØÿÙÙØÿÙØÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÚÿÙÚÚÿÚÚÚÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÚÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÚÿÛÛÛÿÛÛÜÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÜÝÜÿÝÜÝÿÜÜÝÿÝÝÝÿÝÝÝÿÞÞÝÿÝÝÞÿÝÞÝÿÞÞÝÿÞÝÝÿÞÝÞÿÞÞÞÿÞÞÞÿÞßÞÿÞÞÞÿÞßßÿÞÞßÿßßßÿßÞßÿßßßÿßßßÿàßßÿßßßÿßßßÿßàßÿßààÿààßÿàààÿàààÿàààÿàààÿàààÿàááÿààáÿàááÿáááÿáááÿáááÿâááÿáááÿáâáÿáââÿáââÿâââÿâââÿâââÿâââÿâââÿãââÿãããÿãâãÿããâÿãããÿããäÿãäãÿããäÿãããÿãããÿäãäÿäääÿäääÿäääÿäääÿäåäÿäåäÿåååÿääåÿåååÿåååÿåååÿåææÿååæÿåååÿæææÿæææÿåææÿææåÿæææÿæææÿææçÿæççÿçææÿççæÿçççÿçæçÿçççÿçççÿççèÿççèÿçççÿèèçÿèèèÿèèèÿèèçÿèèèÿèèéÿèééÿéèèÿééèÿéééÿèééÿééèÿéééÿéééÿêééÿéééÿééêÿééêÿêêêÿéêêÿêêêÿêêêÿêëëÿêëëÿêëêÿêëëÿëêëÿëêëÿëëëÿììëÿëëëÿììëÿëìëÿëììÿìììÿìììÿìììÿìììÿììíÿììíÿíììÿíííÿììíÿíííÿíííÿíííÿíííÿííîÿíííÿîîíÿîîíÿîîîÿîîîÿîîîÿïïïÿîîïÿïïïÿïîïÿïîïÿïïïÿïïïÿïïïÿððïÿïððÿðïïÿðïðÿðððÿðððÿðððÿðððÿðñðÿñððÿðððÿðððÿññðÿññðÿðññÿñññÿñññÿññòÿñññÿññòÿòñòÿòñòÿòñòÿòòòÿòòòÿòòòÿòòòÿòòòÿóóóÿóóóÿòóóÿóóóÿóóóÿôóóÿôôóÿóôóÿóóôÿôóóÿóôóÿôôôÿôôôÿôôôÿôõôÿõôõÿôõôÿôôõÿõôôÿõõõÿõõõÿõõõÿõõöÿõõõÿõööÿöõõÿöööÿöööÿöööÿöööÿöö÷ÿ÷ööÿ÷ö÷ÿö÷÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿ÷÷÷ÿ÷÷øÿø÷øÿøøøÿø÷øÿøøøÿøøøÿøùøÿøùøÿùùøÿøøùÿùùùÿùùùÿùùùÿùùùÿúùùÿùùùÿùùùÿùúùÿúùúÿúúúÿúúúÿúúûÿúúúÿúúúÿûûûÿúûúÿûûúÿûûûÿûûûÿûüûÿûûûÿüûüÿüûüÿûûüÿûüüÿûüüÿûüûÿüüüÿüýüÿüýüÿýüüÿüýýÿýýýÿýüüÿýýýÿýýýÿþýýÿýýýÿþýýÿýþýÿþýþÿþýþÿþþýÿþþþÿþþþÿþþÿÿþþÿÿÿÿÿÿÿÿÿÿþþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°°°ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ²²±ÿ±²±ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³²²ÿ²²³ÿ³³³ÿ²³³ÿ³²³ÿ³³³ÿ´³³ÿ³´³ÿ³³´ÿ³´³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿ´µµÿ´´´ÿ´µµÿµ´´ÿµµµÿµ¶µÿµµµÿ¶µµÿµ¶µÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ·¶¶ÿ···ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ·¸·ÿ¸¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¹¸¹ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿºººÿºººÿ¹ººÿº»ºÿºº»ÿºººÿ»º»ÿº»ºÿºº»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼»»ÿ¼¼¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ½¼¼ÿ½¼½ÿ½½½ÿ½¼¼ÿ½½½ÿ½½½ÿ¾½½ÿ½¾½ÿ½½½ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¾ÿ¾¿¾ÿ¿¾¾ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿ¿¿¿ÿÀÀÀÿ¿¿¿ÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÁÁÿÁÁÀÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÁÁÿÁÁÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÃÂÿÂÃÂÿÃÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÄÃÿÄÄÃÿÄÃÃÿÃÃÃÿÃÄÃÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÄÿÅÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÆÅÿÅÆÅÿÅÆÅÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÆÿÆÆÇÿÆÆÆÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÈÿÈÇÇÿÈÇÈÿÈÈÈÿÈÈÈÿÇÈÈÿÈÈÈÿÈÉÈÿÉÉÉÿÉÈÈÿÉÉÈÿÉÉÈÿÉÈÉÿÉÉÉÿÊÉÉÿÉÉÉÿÉÊÉÿÉÊÊÿÊÊÊÿÊÊÊÿÉÉÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊÊÿÊÊÊÿÊËËÿÊÊÊÿËÊËÿÊËËÿËËËÿËËËÿËËËÿËËËÿËÌÌÿÌËÌÿËÌËÿÌÌËÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÌÿÌÍÌÿÍÌÍÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÍÍÍÿÎÎÍÿÎÍÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÏÏÏÿÎÏÏÿÏÏÎÿÏÏÏÿÏÐÏÿÏÏÐÿÏÏÏÿÏÐÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÐÐÿÐÐÑÿÐÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÒÒÿÑÑÒÿÑÑÒÿÒÑÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÓÒÿÓÓÓÿÓÓÒÿÓÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÓÓÓÿÓÔÓÿÔÔÔÿÔÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÕÔÔÿÔÔÔÿÔÕÔÿÔÕÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÖÕÿÖÖÕÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ××ÿ×Ö×ÿ×××ÿ××ÖÿÖ××ÿ×ÖÖÿ×××ÿ×××ÿר×ÿ×××ÿØ×ØÿØØØÿרØÿØØØÿØÙØÿØØÙÿÙØØÿØØØÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÚÿÙÙÙÿÚÙÙÿÚÚÙÿÚÚÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÚÿÚÚÛÿÚÚÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÜÛÛÿÛÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÜÜÝÿÜÝÜÿÝÜÝÿÝÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÞÞÝÿÝÝÝÿÞÞÝÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßßÞÿÞÞßÿßßÞÿßßßÿßßßÿàßßÿßßßÿßààÿàààÿààßÿààßÿàààÿàààÿáààÿáàáÿáàáÿàáàÿàááÿáàáÿáááÿáâáÿááâÿááâÿáââÿáââÿááâÿâáâÿâââÿâââÿâââÿâââÿããâÿãââÿâãâÿãããÿãâãÿãããÿãããÿãäãÿãããÿãäãÿãäãÿãääÿääãÿäääÿäääÿäääÿåääÿäääÿäååÿåååÿåäåÿåååÿåååÿåååÿåæåÿåæåÿæææÿæææÿæææÿæææÿçææÿææçÿçææÿçæçÿæææÿçæçÿçççÿçççÿçççÿçççÿçççÿçççÿèèèÿèèèÿèççÿèèçÿèèèÿèèèÿèèèÿèéèÿéèèÿèèéÿééèÿéééÿéèéÿééêÿéééÿéééÿêêéÿêéêÿéêêÿêééÿêêêÿêêêÿëêêÿêêêÿëêëÿêëëÿêëëÿëëêÿëëëÿëëëÿëëëÿëëìÿëìëÿìëìÿëëìÿììëÿìììÿìììÿìììÿíììÿìììÿíìíÿíìíÿíííÿíííÿíííÿííîÿííîÿîííÿîíîÿîîîÿíîîÿîîîÿîîîÿîîîÿîîîÿïîîÿïîïÿîîîÿïïïÿïïïÿïïïÿïïïÿïïïÿïðïÿïïïÿðððÿðïðÿðððÿðððÿðððÿðððÿñððÿñðñÿñððÿñðñÿñññÿññðÿñññÿñññÿñññÿòñòÿòññÿññòÿòòñÿòòòÿòòòÿòòòÿòòòÿóòòÿóòòÿóòòÿòòóÿóóóÿòóóÿóóóÿôóôÿôóóÿóóôÿôóôÿôóôÿôôôÿôôôÿõôôÿôôôÿôôôÿôôõÿôõôÿõõôÿõõõÿõõõÿõõõÿõõõÿõõöÿõõöÿõööÿöõöÿõööÿöõöÿöööÿ÷ööÿöööÿöööÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿøøøÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøøùÿùøøÿøøùÿøøùÿùùùÿùùùÿùùùÿùùùÿùùúÿúùúÿúúúÿúúúÿúúùÿúúúÿúúúÿûúúÿúúúÿûúúÿûúúÿûûûÿûûûÿúûûÿûûûÿûûüÿûûûÿüûûÿûûûÿûûüÿüüüÿüüüÿüüüÿüüüÿüüýÿüüýÿüüýÿüýüÿüýýÿýýýÿýýýÿýýýÿýþýÿýýýÿþþþÿþýýÿýþþÿþýþÿþþþÿþþþÿþþþÿþþÿÿþÿÿÿÿþþÿÿÿÿÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ±°±ÿ±°°ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ±±±ÿ±²±ÿ²²±ÿ±±²ÿ²±²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ²³²ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³´³ÿ´³´ÿ´´´ÿ³´´ÿ³³´ÿ´´´ÿ´´´ÿ´´µÿ´µµÿ´µµÿµµµÿ´µµÿµµµÿµµµÿµµµÿµ¶µÿ¶µµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶·ÿ¶¶¶ÿ¶·¶ÿ¶·¶ÿ··¶ÿ···ÿ···ÿ···ÿ·¸·ÿ·¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¹¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿº¹¹ÿº¹¹ÿºººÿºº¹ÿºººÿº»ºÿºº»ÿºº»ÿ»»ºÿ»ººÿ»»ºÿ»»ºÿ»»»ÿ»»»ÿ¼¼»ÿ¼»¼ÿ¼¼»ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ½¼¼ÿ¼¼½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½½¾ÿ¾¾½ÿ½½½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¾¾¾ÿ¿¾¾ÿ¿¿¾ÿ¾¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÀÁÿÁÁÀÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÁÂÿÂÁÂÿÁÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÃÂÂÿÃÃÂÿÂÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÅÄÄÿÅÅÄÿÅÅÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÆÅÿÆÅÆÿÆÅÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÆÿÆÆÆÿÆÆÇÿÇÆÆÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÈÿÈÈÈÿÈÈÇÿÈÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÉÉÉÿÈÉÉÿÈÈÈÿÉÈÈÿÈÈÉÿÈÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÊÊÿÉÉÊÿÊÉÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿÊÊÊÿËËÊÿËËËÿËÊËÿËËËÿËËËÿËËËÿËÌÌÿËÌËÿÌÌËÿËËËÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÌÌÿÍÌÌÿÌÍÌÿÍÍÌÿÍÍÍÿÌÍÍÿÍÍÍÿÍÎÍÿÍÍÍÿÎÍÍÿÍÍÍÿÎÎÎÿÍÎÍÿÎÎÎÿÎÎÍÿÎÎÎÿÏÏÎÿÎÎÏÿÎÎÎÿÏÏÎÿÏÎÎÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÐÐÿÏÐÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÐÿÐÐÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÑÑÿÒÒÑÿÒÑÑÿÒÒÑÿÒÒÑÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÓÒÿÓÓÓÿÓÓÒÿÓÓÒÿÓÓÓÿÓÓÒÿÓÔÓÿÓÓÓÿÔÓÓÿÔÓÓÿÓÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÕÿÔÔÔÿÔÔÔÿÔÔÕÿÕÔÔÿÕÔÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÖÖÿÖÕÖÿÖÕÖÿÖÖÖÿÖÖÖÿ×ÖÖÿ×ÖÖÿÖÖÖÿ×××ÿÖ××ÿÖ×Öÿ×××ÿ×××ÿרØÿØ××ÿ×רÿØØ×ÿØØ×ÿØØ×ÿØØØÿØØØÿØÙØÿØØØÿÙØØÿØÙØÿÙÙØÿÙÙÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÚÙÿÚÙÙÿÚÙÙÿÚÙÙÿÚÚÚÿÙÚÚÿÛÚÚÿÚÚÚÿÛÚÚÿÚÛÚÿÛÚÚÿÚÚÛÿÚÚÛÿÛÛÚÿÛÛÛÿÛÛÛÿÜÛÛÿÜÜÛÿÛÛÛÿÛÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÜÜÝÿÜÜÜÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÞÿÝÞÝÿÝÝÞÿÝÞÞÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßßÿÞÞÞÿßßÞÿßÞßÿßßÞÿßßßÿßßßÿßßßÿßßßÿßßßÿßààÿààßÿßààÿàààÿàààÿààáÿàààÿáààÿáààÿáááÿáààÿáááÿáááÿáááÿáââÿáâáÿáâáÿâââÿââáÿáââÿâââÿâââÿâââÿâââÿâããÿâããÿããâÿãããÿãããÿãããÿäããÿãããÿãääÿäããÿäãäÿäääÿäãäÿäääÿäääÿääåÿåäåÿåäåÿåååÿäååÿåååÿåååÿåååÿåååÿææåÿæåæÿååæÿåææÿæææÿæææÿæææÿæææÿççæÿçæçÿæçæÿççæÿççæÿçççÿçççÿçççÿçççÿççèÿèèèÿèèèÿçèèÿèèèÿèèèÿèéèÿèèéÿéèéÿéééÿéèéÿèèéÿééèÿéééÿêééÿéééÿéêéÿêééÿêêêÿêêêÿêêêÿêêêÿêêêÿêêêÿêëêÿêêëÿëëëÿëêêÿëëëÿëëëÿëëëÿìëëÿëëëÿëëëÿëëëÿëììÿìììÿìììÿìììÿìììÿìíìÿíìíÿííìÿìììÿíìíÿíííÿíííÿíííÿíííÿîííÿíîîÿííîÿîîîÿîîîÿîîîÿîîîÿîîïÿîîîÿïîïÿïïîÿïïïÿïïïÿïïïÿïïïÿïðïÿïïïÿïïðÿïððÿïïðÿïðïÿðððÿðððÿñððÿðñðÿñððÿðððÿññðÿðññÿñññÿñññÿñññÿòññÿòòñÿòòñÿòòòÿòñòÿòòòÿòòòÿòòóÿòòòÿòóòÿòóòÿóóòÿóóòÿóòóÿóòóÿóóóÿôôóÿóóóÿóóôÿóôôÿôóôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿõõõÿôôõÿõõõÿõõõÿõõõÿõõõÿõöõÿöööÿõööÿöõöÿöööÿöööÿöööÿöö÷ÿöööÿö÷öÿö÷öÿ÷÷÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøùøÿøùùÿùùøÿøùùÿùøùÿùùøÿùùùÿùúùÿùùùÿúùúÿùùùÿúùúÿùúúÿùùúÿúúúÿúúúÿúúûÿúúúÿûûúÿúûûÿûûûÿúûûÿûûûÿûûûÿûûûÿüûûÿûüûÿüüüÿüüüÿüüûÿûüûÿüüüÿüüüÿüüüÿüüüÿýýüÿýýýÿýýýÿýýýÿýýýÿýýýÿýýýÿýþþÿþþýÿþýýÿþýýÿýþþÿþþýÿþþþÿþþþÿþÿÿÿþþþÿÿÿþÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°±±ÿ±°°ÿ±±±ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±²±ÿ²²±ÿ²²²ÿ²²²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²³³ÿ²³³ÿ²²²ÿ²³³ÿ³³³ÿ³²²ÿ³³³ÿ³³³ÿ´³³ÿ´³´ÿ´´´ÿ´´´ÿ³³´ÿ´´´ÿµ´´ÿ´´´ÿ´´´ÿµ´µÿµµµÿµ´µÿ´µµÿµµµÿµµµÿ¶µµÿµµµÿ¶µ¶ÿ¶µ¶ÿ¶µ¶ÿµµµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ¶¶¶ÿ¶¶·ÿ¶··ÿ···ÿ···ÿ¸··ÿ···ÿ¸··ÿ·¸¸ÿ·¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹º¹ÿºº¹ÿ¹¹¹ÿºººÿºººÿºººÿºº»ÿº»ºÿºººÿ»»»ÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»¼»ÿ¼»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½¼½ÿ½½¼ÿ½½¼ÿ¼¼¼ÿ½¼¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½¾ÿ½½½ÿ½½½ÿ¾¾½ÿ¾½¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¾¿ÿ¾¾¾ÿ¾¿¿ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÀÀÿÁÀÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÂÁÿÂÂÂÿÁÂÂÿÂÂÂÿÂÂÁÿÂÂÁÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÂÿÃÃÂÿÂÂÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÃÿÃÃÄÿÃÃÃÿÃÄÄÿÄÃÃÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÅÄÄÿÅÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÆÅÿÅÆÆÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÇÈÿÇÇÇÿÇÈÇÿÈÇÈÿÈÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÈÈÈÿÈÉÉÿÈÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÊÉÉÿÉÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊËÿÊËÊÿËËÊÿÊËËÿËËËÿËËËÿÌËÌÿËÌÌÿËËÌÿÌÌËÿËËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÍÍÌÿÌÌÍÿÍÍÍÿÌÍÍÿÍÍÌÿÌÍÍÿÍÍÍÿÎÍÍÿÍÍÍÿÍÎÍÿÍÍÎÿÎÎÍÿÎÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÏÏÏÿÏÏÎÿÏÏÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÐÿÐÐÐÿÏÏÏÿÏÐÐÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÐÐÿÑÐÐÿÑÐÑÿÑÑÐÿÑÑÑÿÑÑÑÿÒÑÑÿÑÑÑÿÒÑÑÿÒÑÒÿÒÒÒÿÒÑÑÿÑÒÒÿÒÒÒÿÓÒÒÿÒÒÓÿÓÒÒÿÓÒÓÿÓÓÓÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÔÓÿÔÔÓÿÔÔÓÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÕÕÿÕÔÔÿÔÔÕÿÔÕÕÿÕÔÕÿÕÕÕÿÕÕÖÿÕÕÕÿÕÕÕÿÖÕÖÿÖÖÖÿÕÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿ×ÖÖÿÖ×ÖÿÖÖ×ÿ××Öÿ×Ö×ÿ××Öÿ×××ÿ×××ÿ×רÿ×רÿר×ÿØØØÿØØØÿרØÿØØØÿØØÙÿØØØÿÙØØÿØÙØÿØÙØÿØÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÚÙÙÿÙÙÚÿÚÚÙÿÚÙÚÿÚÚÚÿÙÚÙÿÚÚÚÿÚÚÚÿÚÛÚÿÚÛÛÿÛÛÚÿÚÚÚÿÚÛÛÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÜÛÛÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÝÿÝÝÝÿÝÜÜÿÝÝÝÿÜÝÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÞÞÝÿÞÞÝÿÞÞÞÿÞÞÝÿÞÞÞÿÞÞÞÿÞßÞÿÞßßÿÞÞÞÿÞÞÞÿßÞÞÿÞßßÿÞßßÿßßßÿßßßÿßßßÿàààÿßààÿàßßÿàßàÿàààÿàààÿàààÿááàÿàáàÿàààÿààáÿáááÿáááÿáááÿââáÿááâÿááâÿâááÿâââÿáâáÿâââÿâââÿâââÿâãâÿãâãÿââãÿãâãÿãããÿâããÿãããÿãããÿãããÿãããÿãääÿääãÿäãäÿäääÿäääÿäääÿäåäÿäääÿååäÿåååÿåååÿåååÿåååÿåååÿåååÿåæåÿåååÿæåæÿæååÿææåÿææåÿæææÿæææÿæææÿæææÿçææÿçççÿçççÿçççÿçççÿçççÿèçèÿçççÿçççÿèççÿèèèÿèèèÿèèèÿèèèÿèèèÿèèèÿéèéÿèééÿèééÿéééÿééèÿéééÿéééÿééêÿêééÿéêêÿêéêÿêêêÿêêêÿêêêÿêêêÿëëêÿêëêÿêëêÿëëëÿëêëÿëêëÿëëëÿëëëÿëëìÿìëëÿëëëÿëëìÿìëìÿìììÿìììÿìììÿìììÿììíÿíììÿííìÿíííÿìííÿíííÿíííÿíííÿîííÿîíîÿîíîÿíîîÿîîîÿîîîÿîîîÿîîîÿîîïÿîîîÿïïîÿîîîÿïïîÿïïïÿïïïÿïïïÿïðïÿðïðÿððïÿðïðÿððïÿðïðÿðððÿðððÿñðñÿñððÿñððÿñññÿññðÿñðñÿñññÿñññÿñññÿòòñÿòñòÿòñòÿòññÿòòòÿòòñÿòòòÿòóòÿòòòÿóóóÿóòóÿòóóÿòóóÿóóóÿóóóÿóóóÿóôóÿóôôÿóóóÿóôóÿóôóÿôôôÿôôôÿôôôÿõôôÿôôôÿôôõÿõôõÿõõõÿõõôÿõõõÿõõõÿõõõÿööõÿõööÿõõöÿõöõÿöööÿöööÿ÷ööÿöööÿöööÿöö÷ÿ÷ö÷ÿ÷÷öÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷øøÿ÷øøÿ÷÷øÿøøøÿøøøÿøøøÿøøùÿøùøÿøùùÿùùùÿùùùÿùùøÿùùùÿùùùÿúùùÿùùùÿúùùÿùùùÿùùúÿúùúÿúùúÿúúúÿûúúÿûúúÿûûúÿûûúÿúúúÿúûûÿûûûÿûûûÿûûûÿûûûÿûüûÿüüüÿüüûÿüüüÿüüüÿüüüÿüüüÿüýüÿüüüÿüýýÿüýüÿýýýÿýýýÿýýýÿýýýÿýýýÿþýýÿþþýÿýýþÿýýþÿþþþÿþþþÿþþþÿþþþÿþþÿÿÿþÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°°±ÿ°±±ÿ°±±ÿ±±°ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ²²±ÿ²²²ÿ±²²ÿ²±²ÿ²±²ÿ²²²ÿ²³³ÿ³²²ÿ²³²ÿ²³²ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´³³ÿ³´³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿµ´µÿµµ´ÿµµµÿµµ¶ÿµµµÿµ¶µÿ¶µ¶ÿ¶¶µÿµ¶µÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ¶·¶ÿ¶·¶ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ¸·¸ÿ··¸ÿ¸··ÿ¸·¸ÿ·¸¸ÿ¸·¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹ºÿ¹¹ºÿ¹¹¹ÿ¹¹ºÿºº¹ÿºººÿºººÿºººÿ»ººÿº»»ÿ»º»ÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼¼ÿ»¼¼ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½¼¼ÿ¼¼¼ÿ½¼¼ÿ½¼½ÿ½¼¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ¾¾½ÿ¾¾¾ÿ½¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¿ÿ¾¿¿ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿¿ÿ¿¿¿ÿÀÀ¿ÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÁÿÁÁÁÿÀÀÁÿÁÁÀÿÀÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÂÁÂÿÂÁÂÿÂÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÃÿÃÃÃÿÃÃÃÿÃÃÂÿÃÃÃÿÃÃÄÿÃÃÃÿÄÃÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÅÅÄÿÅÄÅÿÅÅÄÿÅÅÅÿÅÅÅÿÆÆÅÿÅÆÅÿÅÆÅÿÆÆÆÿÆÆÅÿÆÅÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÆÆÿÆÇÇÿÆÇÇÿÇÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÈÇÿÇÇÈÿÇÈÈÿÈÈÇÿÈÈÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÉÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÉÉÊÿÊÊÊÿÉÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿËÊÊÿÊÊËÿËÊËÿÊËÊÿËËËÿËËËÿËËËÿËËÌÿËËËÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÍÍÌÿÌÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÍÍÍÿÍÍÎÿÍÎÍÿÍÎÎÿÎÍÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÎÎÎÿÏÎÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÏÿÏÏÏÿÐÏÏÿÐÐÏÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÑÿÐÑÑÿÑÑÐÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÒÑÑÿÒÑÑÿÑÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÓÒÿÓÓÓÿÒÒÓÿÓÓÓÿÒÓÒÿÓÓÓÿÓÓÓÿÓÔÓÿÓÔÔÿÔÓÓÿÔÓÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÔÔÔÿÕÕÕÿÕÕÕÿÔÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÕÖÕÿÕÖÕÿÕÕÖÿÖÕÖÿÖÕÖÿÖÖÖÿÖÖÖÿÖ××ÿ×ÖÖÿÖÖÖÿ×××ÿ×××ÿÖ×Öÿ×××ÿ×××ÿ×××ÿ×רÿ×××ÿØØØÿר×ÿר×ÿØØØÿØØØÿØØØÿØØØÿØØØÿØÙÙÿÙØØÿØÙÙÿØÙÙÿÙÙÙÿÚÙÙÿÙÚÙÿÙÙÙÿÙÚÙÿÙÚÚÿÙÚÙÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÚÛÛÿÚÛÛÿÚÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÛÛÿÛÜÛÿÛÜÛÿÜÜÛÿÜÜÜÿÛÜÜÿÜÜÜÿÜÜÝÿÜÜÜÿÜÜÝÿÜÝÝÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÝÿÝÝÝÿÞÝÞÿÞÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞßÿÞÞÞÿßßÞÿßÞßÿßßßÿßßßÿßàßÿßßßÿßßàÿàààÿààßÿààßÿàßàÿàààÿàààÿàààÿááàÿàááÿáàáÿáàáÿàáàÿáááÿáááÿáááÿáâáÿââáÿââáÿáââÿâáâÿââáÿâââÿâââÿâââÿâãâÿãââÿããâÿããâÿãããÿãããÿãããÿãããÿãããÿãããÿäããÿãääÿäääÿäääÿäääÿääåÿäääÿåäåÿåääÿääåÿåäåÿåååÿåååÿåååÿæååÿæææÿåæåÿåææÿæåæÿæææÿæææÿæææÿæææÿæææÿææçÿææçÿçæçÿçççÿçççÿèççÿçççÿèççÿèççÿèçèÿèèèÿèèèÿèèèÿèèèÿèèèÿèéèÿèéèÿèéèÿèéèÿéééÿéééÿéééÿéééÿéééÿéééÿêêêÿééêÿêêêÿêêêÿêêêÿêëêÿëêêÿêëëÿêëêÿëêëÿêëëÿëëëÿëëëÿëëëÿëëìÿëëìÿëììÿìììÿììëÿìëìÿìììÿìììÿìííÿííìÿíííÿíííÿííìÿíííÿíííÿíííÿîííÿîíîÿîíîÿíîíÿííîÿíîîÿîîîÿîîîÿîîïÿïîîÿïïîÿîïïÿîïîÿïîïÿïïïÿïïïÿïïðÿðïïÿððïÿïïïÿððïÿðððÿïïðÿðïðÿñðñÿñððÿðððÿðññÿñððÿñðñÿñññÿñññÿñññÿòñòÿñññÿòòòÿñòñÿòòñÿòòòÿòòòÿòòòÿòóòÿòòóÿòòòÿòóòÿóòóÿóòóÿóóóÿóóóÿóóóÿóóóÿôóóÿôóóÿóôôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿõôõÿõõõÿõôõÿõõõÿõõõÿõõõÿöööÿõööÿööõÿöööÿöõöÿöõöÿöööÿöö÷ÿöööÿ÷ööÿö÷÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷øÿ÷÷øÿ÷ø÷ÿøøøÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿùùùÿùùøÿùùùÿùùùÿùùùÿúùùÿúùùÿùúùÿùúùÿúúúÿúúúÿúúúÿúùúÿúúúÿúúúÿûúûÿúûúÿûúûÿúûûÿûûûÿûûûÿüûûÿûûüÿûûüÿûüüÿüûûÿûûüÿüüüÿüüüÿüüüÿüüüÿüýüÿüüýÿýýüÿýýýÿüüýÿýýýÿýýýÿýýýÿýþýÿýýþÿýþýÿþýþÿýýýÿýþýÿþþþÿþþþÿþþÿÿþÿÿÿÿþÿÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ±°°ÿ°±°ÿ±±±ÿ°°±ÿ°°°ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²±±ÿ±±±ÿ±²²ÿ²±²ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´³´ÿ´´³ÿ´´´ÿ³´´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´µ´ÿµ´´ÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶µ¶ÿµµ¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿµ¶µÿ¶¶¶ÿ¶¶·ÿ·¶·ÿ¶¶¶ÿ···ÿ·¶¶ÿ·¶·ÿ···ÿ···ÿ·¸·ÿ···ÿ¸··ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¹¹ÿ¸¹¹ÿ¸¹¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹¹ºÿºººÿºººÿºººÿºººÿº»ºÿ»ººÿº»ºÿº»»ÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»¼¼ÿ»»¼ÿ»¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼½¼ÿ½½½ÿ½½¼ÿ¼½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾½ÿ½¾¾ÿ½¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¾ÿ¿¾¿ÿ¿¾¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿¿¿ÿÀ¿¿ÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÁÁÁÿÁÁÀÿÀÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÂÁÿÂÂÂÿÁÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÃÂÂÿÂÂÂÿÂÃÃÿÂÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÄÿÄÃÃÿÃÃÄÿÄÄÄÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÅÄÄÿÅÄÄÿÄÄÄÿÅÄÄÿÄÄÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÆÅÅÿÅÅÅÿÆÅÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÆÆÿÆÇÆÿÆÇÆÿÇÆÇÿÇÇÆÿÇÇÇÿÇÇÇÿÈÇÈÿÇÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÈÉÿÉÉÉÿÉÈÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÊÿÉÉÉÿÊÉÉÿÉÊÉÿÊÉÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊËÿÊËÊÿÊÊÊÿËËËÿËËËÿËËËÿËËËÿËËËÿÌËËÿÌÌËÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÌÌÿÍÍÍÿÍÌÌÿÌÌÍÿÍÍÍÿÌÍÌÿÍÍÍÿÍÍÍÿÍÍÎÿÎÍÍÿÍÍÍÿÎÎÍÿÍÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÏÎÿÎÏÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÐÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÐÐÿÑÐÐÿÑÑÑÿÑÐÐÿÐÑÐÿÑÑÑÿÑÑÑÿÒÑÑÿÑÑÑÿÑÑÑÿÒÒÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÔÔÔÿÓÔÓÿÓÔÔÿÔÓÔÿÔÔÔÿÔÔÕÿÔÔÔÿÕÔÕÿÕÔÕÿÔÕÕÿÔÔÕÿÔÔÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÖÖÖÿÕÕÖÿÕÖÖÿÖÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿ×Ö×ÿ××Öÿ×Ö×ÿ×××ÿÖÖ×ÿ×××ÿ×××ÿ×××ÿ×××ÿר×ÿØØØÿØ×ØÿØØ×ÿØ×ØÿØØØÿØØØÿÙÙØÿØÙØÿÙÙÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÙÙÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÚÚÛÿÚÛÚÿÛÚÛÿÚÚÚÿÛÚÛÿÛÚÛÿÛÛÛÿÛÛÛÿÜÛÛÿÛÜÛÿÛÜÛÿÜÛÛÿÛÜÜÿÜÜÜÿÝÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÝÜÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÞÿÝÞÝÿÝÝÞÿÞÝÞÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞßÿßÞÞÿÞÞÞÿÞÞßÿÞÞÞÿßßßÿßßßÿßßßÿßàßÿàßàÿàßßÿßßàÿààßÿàßßÿàßßÿßààÿàààÿàààÿàáàÿàààÿáááÿáááÿáááÿáááÿáááÿáááÿááâÿáâáÿááâÿáâáÿáââÿâââÿâââÿââãÿâããÿââãÿâãâÿãââÿããâÿãããÿãããÿããäÿääãÿäããÿäããÿäããÿäãäÿäääÿäääÿäääÿääåÿåääÿåäåÿåååÿåäåÿåååÿåååÿåååÿæååÿæååÿææåÿæææÿæææÿææåÿæææÿæçæÿæææÿæææÿçæçÿççæÿççæÿçççÿçççÿçççÿççèÿçèèÿççèÿçèèÿèèèÿèèèÿèèèÿèèèÿèèèÿèéèÿèéèÿèèéÿèèéÿéèéÿéééÿéééÿéééÿééêÿéééÿéêéÿêééÿéêêÿêêêÿêêêÿêêêÿêêëÿêêêÿêêêÿëëêÿëëëÿêëëÿëëëÿëëëÿëëìÿëëëÿëëëÿëìëÿìëìÿìììÿììëÿìììÿìììÿìííÿììíÿíìíÿìííÿíìíÿíííÿíííÿíîíÿíîíÿîîíÿîííÿîîîÿîíîÿîîîÿîîîÿîîîÿîîîÿïîîÿïîîÿïîîÿîïîÿïîïÿïïïÿïïïÿïïðÿïððÿððïÿïðïÿðïïÿïððÿðððÿðððÿðñðÿðññÿððñÿñððÿññðÿððñÿñññÿñññÿñòòÿñòñÿòòñÿòññÿñññÿòñòÿòòòÿòòòÿòòòÿòóòÿóòóÿóóóÿòóóÿòóòÿóóóÿóóóÿóóóÿóóôÿóóôÿóôóÿôôóÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿôôõÿôõõÿõôõÿôõõÿõõõÿõõõÿõõõÿõõõÿõõöÿöööÿöõöÿõööÿöööÿöööÿöööÿöööÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷ööÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿøø÷ÿ÷÷÷ÿ÷øøÿøøøÿøøøÿøøøÿøøøÿùøøÿøøøÿùøùÿùùøÿùùùÿùùøÿùùùÿùùùÿùùùÿùúùÿúúúÿúúùÿúúúÿúúúÿúúúÿûúúÿúúúÿûúúÿûûúÿûúûÿûûûÿûûúÿûûûÿûûüÿûûûÿüûüÿüüûÿüûûÿüüüÿûüüÿüüüÿüüüÿüüüÿüüýÿüýüÿüýüÿýüüÿýýýÿýýýÿýýýÿýýýÿýýýÿþýþÿþþþÿþýþÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ±°°ÿ°°±ÿ±°°ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ²±²ÿ²²²ÿ±²²ÿ²²²ÿ±²²ÿ²²²ÿ²²³ÿ²³³ÿ³³²ÿ²³²ÿ³³³ÿ³²²ÿ³²³ÿ³³³ÿ³´³ÿ´³³ÿ´³´ÿ´´´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿ´´´ÿ´µ´ÿµµ´ÿµ´µÿ´µµÿµµµÿµ¶µÿµ¶µÿ¶µµÿµµ¶ÿµ¶¶ÿ¶¶¶ÿµ¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ·¶¶ÿ··¶ÿ···ÿ··¶ÿ¶··ÿ···ÿ·¸·ÿ···ÿ·¸¸ÿ¸¸¸ÿ¸··ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹ºÿ¹¹ºÿº¹ºÿºººÿºººÿºººÿ»ººÿºººÿ»ººÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»¼ÿ»»»ÿ¼¼¼ÿ¼»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ½¼½ÿ¼½¼ÿ¼¼½ÿ½½½ÿ½¼½ÿ½½½ÿ½½¾ÿ½½½ÿ½½½ÿ½¾½ÿ¾½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¾¿¿ÿ¿¿¾ÿ¾¾¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀ¿¿ÿ¿ÀÀÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÁÿÀÁÁÿÁÁÀÿÀÁÁÿÀÁÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÁÁÿÂÂÂÿÂÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÃÂÂÿÃÂÂÿÃÃÃÿÃÃÃÿÃÂÃÿÃÃÃÿÄÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÃÄÄÿÃÄÃÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÅÅÿÄÄÅÿÅÄÄÿÅÄÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÅÅÿÅÆÅÿÆÅÆÿÆÅÆÿÆÆÅÿÆÆÆÿÆÆÆÿÆÇÆÿÇÆÆÿÆÆÆÿÆÇÇÿÆÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÇÇÿÈÇÈÿÈÈÇÿÇÇÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÉÉÿÈÈÈÿÉÈÉÿÉÈÉÿÉÈÉÿÈÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÊÊÊÿÊÊÉÿÊÉÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊÊÿÊÊÊÿËËËÿËÊËÿÊËÊÿËÊÊÿËËËÿËËËÿËËËÿËËÌÿËÌÌÿÌËÌÿÌÌÌÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÍÍÌÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÎÎÿÍÍÍÿÎÎÍÿÎÎÍÿÎÎÎÿÍÎÎÿÎÎÎÿÏÎÎÿÎÎÏÿÎÎÎÿÎÏÏÿÏÎÎÿÏÏÎÿÎÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÐÿÏÏÐÿÐÐÏÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÐÐÿÐÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÒÑÑÿÑÑÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÓÿÒÒÓÿÒÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÓÓÓÿÔÓÔÿÔÓÔÿÓÓÓÿÔÔÔÿÔÔÓÿÓÔÔÿÔÔÕÿÔÔÔÿÔÔÕÿÔÔÔÿÕÕÕÿÔÔÔÿÔÕÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÖÖÕÿÕÕÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿ××ÖÿÖ×ÖÿÖ××ÿ×Ö×ÿ×××ÿØ××ÿ×רÿ×××ÿר×ÿ×רÿרØÿØ××ÿØØØÿØØØÿØØØÿÙØØÿÙÙÙÿØÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÙÙÿÙÙÚÿÚÚÚÿÚÚÚÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÛÛÛÿÚÚÛÿÛÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÜÿÛÛÜÿÜÛÛÿÛÛÜÿÜÜÛÿÛÛÜÿÜÜÛÿÜÜÜÿÜÜÜÿÝÜÜÿÜÝÜÿÜÝÜÿÝÜÜÿÝÜÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÝÝÝÿÝÞÞÿÞÞÞÿÞÞÝÿÞÞÞÿÞÞÞÿßÞÞÿßÞÞÿÞßÞÿßÞÞÿßßßÿßßßÿßÞßÿßßßÿßßßÿßßßÿßßßÿßààÿàààÿàààÿàààÿàààÿàààÿáààÿàààÿààáÿáááÿáááÿáááÿáááÿáâáÿáááÿááâÿâáâÿâââÿâáâÿâââÿâââÿâââÿââãÿãââÿãâãÿããâÿâãâÿãããÿãããÿããäÿãããÿãããÿäääÿããäÿãääÿäãäÿääãÿäääÿäääÿäääÿåäåÿääåÿååäÿåååÿåååÿåååÿåååÿæååÿåæåÿåååÿæåæÿæææÿæææÿæææÿæææÿæææÿæææÿçççÿçæçÿççæÿçççÿçççÿçççÿçççÿçèèÿçççÿèèçÿèçèÿèèèÿèèèÿèèèÿéèèÿèèèÿéèèÿéèéÿéèèÿééèÿéééÿéééÿéééÿéêéÿéêêÿêêéÿééêÿêêêÿéêéÿêêêÿêêêÿêëêÿêëëÿëëëÿêêëÿëëëÿêëëÿëëëÿëëëÿìëëÿëëìÿìììÿìëëÿìëìÿëìëÿìììÿììíÿìììÿìííÿìíìÿííìÿììíÿíííÿíííÿíííÿíííÿîíîÿíîîÿîîîÿîîîÿîíîÿííîÿîîîÿïîïÿîîîÿïîîÿïïïÿïïïÿïîïÿïïîÿïïïÿðïïÿðððÿðððÿïïïÿïððÿïððÿðððÿïððÿðððÿððñÿðððÿðððÿñññÿñññÿñðñÿñññÿñññÿòññÿñññÿññòÿòññÿòòòÿñòòÿòòòÿòòòÿòòòÿòòóÿòòòÿòòòÿòóòÿóòóÿóóóÿóóóÿôóóÿóóóÿóôóÿôôôÿôôôÿóôóÿôôóÿôôôÿôôôÿôôôÿôôõÿôôõÿôôõÿõõôÿõõõÿõõõÿõõõÿõõöÿöõöÿõõõÿööõÿõöõÿöööÿöööÿöööÿöööÿöö÷ÿöööÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿø÷øÿø÷÷ÿ÷÷÷ÿøø÷ÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿùøøÿùùùÿùùøÿùùùÿùùùÿùùùÿúúùÿúùùÿùúùÿúúúÿúúúÿúúùÿúúúÿúúúÿúúúÿúûúÿûûúÿûûûÿûûûÿûúûÿûûûÿüûûÿüûûÿûüûÿûûüÿûüûÿüûüÿüüüÿüüüÿýüüÿüýýÿýýýÿüýýÿýýüÿüýýÿýýýÿýýýÿþýýÿþýýÿýýþÿþþþÿþþýÿþþþÿþþþÿþþþÿþþþÿÿþþÿþþÿÿþÿþÿþÿþÿÿÿþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°°°ÿ°°°ÿ°±°ÿ°±°ÿ±±°ÿ±±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ±±²ÿ±±±ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²²²ÿ²²²ÿ³²³ÿ²²²ÿ²³²ÿ³²³ÿ³³³ÿ³³´ÿ³³³ÿ´´³ÿ³´´ÿ³´´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿµ´´ÿµµµÿ´µµÿµµµÿµµµÿµ¶µÿµµµÿµ¶µÿµ¶µÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶·ÿ·¶¶ÿ···ÿ¶··ÿ¶··ÿ¶··ÿ¶··ÿ···ÿ···ÿ¸¸·ÿ¸¸·ÿ¸·¸ÿ¸··ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¹¹¹ÿ¸¹¹ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿºº¹ÿºººÿ¹ººÿ¹¹ºÿºººÿºººÿºººÿºººÿºººÿ»ººÿº»»ÿ»»»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»¼»ÿ»¼»ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ¾¾½ÿ½¾½ÿ¾¾½ÿ¾½¾ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¾ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿Àÿ¿¿ÀÿÀÀ¿ÿ¿¿¿ÿ¿¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÁÀÿÀÁÀÿÀÁÁÿÀÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÂÁÁÿÂÁÂÿÂÂÂÿÂÁÂÿÂÂÂÿÃÂÂÿÂÂÂÿÂÃÂÿÂÂÃÿÃÃÃÿÃÂÂÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÄÿÄÃÄÿÃÄÄÿÃÄÄÿÄÃÃÿÄÄÄÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÅÿÄÅÄÿÅÄÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÆÅÿÆÆÅÿÅÆÆÿÅÆÆÿÆÅÆÿÆÅÆÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÇÿÆÆÇÿÇÆÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÇÇÿÇÇÇÿÈÈÈÿÈÇÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÈÉÉÿÈÉÈÿÉÉÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÊÉÿÉÉÊÿÊÉÊÿÊÉÊÿÊÉÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿËËÊÿËËËÿËËËÿËËËÿÊËËÿËËËÿËËËÿËËËÿÌËËÿËËÌÿËÌÌÿÌËÌÿÌÌÌÿËÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÌÍÍÿÍÍÍÿÍÌÌÿÍÍÍÿÌÍÍÿÍÍÍÿÍÎÍÿÍÍÎÿÎÎÍÿÍÎÎÿÎÍÎÿÎÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÏÏÏÿÎÎÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÐÏÿÏÏÏÿÏÏÏÿÐÐÏÿÐÏÏÿÏÏÐÿÐÐÐÿÐÐÏÿÐÐÐÿÑÐÑÿÐÑÐÿÐÐÑÿÑÐÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÒÿÑÑÒÿÑÑÒÿÑÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÓÓÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÔÓÓÿÔÔÓÿÓÓÔÿÓÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÔÔÿÕÕÔÿÕÕÔÿÕÕÔÿÕÔÕÿÕÕÕÿÕÕÖÿÕÕÖÿÕÕÕÿÕÕÕÿÖÕÖÿÖÕÕÿÖÖÖÿÖÖÖÿÖÖ×ÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿØØ×ÿ×רÿרØÿØØØÿØØØÿØØØÿØÙÙÿÙØÙÿÙÙÙÿØÙÙÿÙØØÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÚÙÙÿÙÙÙÿÙÙÚÿÚÚÙÿÚÚÚÿÚÙÚÿÚÚÚÿÚÚÚÿÚÛÛÿÚÛÚÿÛÚÚÿÛÛÚÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÜÿÜÛÛÿÛÛÛÿÜÛÜÿÜÜÜÿÛÛÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÝÜÿÝÝÜÿÜÜÜÿÝÝÜÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÞÿÞÝÞÿÞÞÝÿÞÝÞÿÝÞÞÿÞÞÞÿßÞÞÿÞßßÿßÞÞÿÞßÞÿÞßÞÿßÞßÿßßßÿßßßÿßßàÿßßßÿßàßÿßàßÿàßàÿßààÿàßàÿàààÿáààÿàààÿàáàÿáááÿàááÿááàÿáàáÿáááÿáááÿáááÿáâáÿáâáÿáááÿâáâÿâââÿâââÿâââÿâãâÿâãâÿãããÿãââÿââãÿãããÿãããÿãããÿãããÿãããÿãããÿäãäÿäãäÿããäÿäãäÿäääÿäääÿäååÿäääÿääåÿääåÿååäÿåååÿåååÿåååÿåååÿåååÿååæÿæååÿåææÿåææÿæææÿæææÿæææÿæææÿççæÿçæçÿææçÿçççÿçççÿçççÿçççÿèççÿèççÿççèÿççèÿèèçÿèèèÿçèèÿèèèÿèèèÿèèèÿèèéÿèèèÿééèÿéèéÿèééÿéêéÿéééÿéééÿêêéÿêêéÿêêéÿêéêÿêêêÿêêêÿëëêÿëêêÿêêêÿêêêÿëëëÿëëëÿêëëÿëëëÿëëëÿëëëÿëììÿëëëÿìììÿìëìÿììëÿìììÿìììÿìììÿííìÿíííÿììíÿíìíÿìííÿíííÿíííÿííîÿíííÿîîîÿîíîÿîîíÿîîîÿîîîÿîîîÿîîîÿîîîÿîïîÿïîîÿïîïÿïïïÿïïïÿïïïÿïïïÿïðïÿïïðÿïïðÿðïïÿðððÿðððÿðððÿðððÿðððÿðññÿñðñÿðññÿñðñÿððñÿñññÿñññÿñññÿñññÿòññÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿóòòÿóòòÿóóòÿòòóÿóóóÿóóóÿóóóÿóóôÿôôóÿôôôÿóôôÿôóôÿôôóÿôôôÿôôôÿôõôÿôõôÿôõõÿôôôÿõôôÿôôôÿõõôÿõõõÿöõõÿöõõÿööõÿõõöÿöõöÿöööÿöööÿöööÿöööÿ÷÷öÿöö÷ÿ÷ööÿ÷÷öÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷øøÿøøøÿøøøÿøøøÿøøøÿùøøÿùøøÿùøùÿùøùÿùùùÿøùùÿùùùÿùùùÿùùùÿùùúÿúúùÿúúúÿúúúÿùùúÿùùúÿúúúÿúúúÿúúúÿûûûÿûúûÿúúúÿûúûÿûûûÿûûûÿûûûÿûûûÿüûüÿûûûÿüûûÿüûüÿüûüÿüûüÿüüüÿüüüÿýüýÿýýýÿüýýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýýÿýýýÿþýþÿýþþÿýþýÿþþþÿþþþÿÿÿþÿÿþþÿÿþÿÿþþÿÿÿÿþÿÿÿÿÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ°±°ÿ°±±ÿ±°±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ²²±ÿ²±±ÿ²²±ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²³³ÿ²²²ÿ³³²ÿ²³²ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ´´³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿ´´µÿµ´´ÿµ´´ÿµ´µÿµ´´ÿµµµÿµµµÿµµµÿ¶µ¶ÿµµ¶ÿµµ¶ÿ¶µµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ··¸ÿ¸·¸ÿ¸¸¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¹¸ÿ¹¹¸ÿ¸¸¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹ººÿ¹¹ºÿºº¹ÿºº¹ÿºººÿºººÿºººÿºººÿºº»ÿ»ººÿº»»ÿº»»ÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½¼ÿ¼¼½ÿ¼¼¼ÿ½½¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾¾ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¾ÿ¾¾¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀÀ¿ÿÀÀ¿ÿ¿ÀÀÿ¿ÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÁÀÁÿÁÀÀÿÁÀÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÁÁÂÿÂÂÁÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÃÿÃÂÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÃÄÿÃÄÃÿÃÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÅÅÿÄÄÅÿÄÄÅÿÄÅÅÿÅÅÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÅÿÆÆÆÿÇÆÆÿÆÆÆÿÇÆÆÿÇÆÇÿÇÇÇÿÇÇÆÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÈÇÿÈÈÇÿÇÇÇÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÉÈÈÿÈÈÉÿÉÈÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÉÉÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊËÊÿËËËÿÊËËÿËÊËÿÊËËÿËËËÿËËËÿËÌËÿÌËËÿÌÌÌÿÌÌÌÿÌÌËÿÌËÌÿÌÌÌÿÍÌÌÿÌÌÌÿÍÍÌÿÍÌÌÿÌÍÍÿÍÍÍÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÎÿÍÎÎÿÍÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÎÏÿÎÎÏÿÏÎÏÿÎÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÐÐÿÐÏÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÑÐÿÐÐÐÿÑÑÑÿÑÐÐÿÑÑÑÿÒÑÑÿÒÒÑÿÑÒÑÿÑÑÑÿÒÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÓÒÒÿÒÓÒÿÓÓÓÿÒÓÓÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÓÓÔÿÓÓÓÿÔÓÔÿÔÓÓÿÔÔÓÿÔÔÔÿÔÕÔÿÕÔÔÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÖÿÖÕÕÿÕÕÕÿÕÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿÖ××ÿ×ÖÖÿ××Öÿ×××ÿ××Öÿ×××ÿ×××ÿØØ×ÿØ××ÿØ××ÿØØØÿ×רÿØ×ØÿרØÿØØØÿØØØÿØØØÿØÙØÿØÙØÿØÙÙÿÙÙÙÿÙØØÿØÙÙÿÙÙÙÿÙÙÚÿÙÙÚÿÚÚÙÿÚÚÚÿÚÙÙÿÚÚÚÿÚÙÙÿÚÚÚÿÛÛÚÿÚÛÛÿÚÚÚÿÚÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÜÛÿÛÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÝÜÿÜÜÜÿÝÝÜÿÜÜÝÿÝÜÝÿÝÜÝÿÝÝÝÿÝÝÝÿÞÞÝÿÞÝÝÿÝÞÝÿÞÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßßßÿÞÞÞÿÞÞÞÿÞÞßÿÞßßÿßßßÿßßßÿàßàÿßßßÿßàßÿßßßÿàßßÿàßàÿàààÿàààÿàààÿàààÿàààÿàáàÿáááÿáàáÿáàáÿáááÿááâÿâááÿâáâÿáââÿááâÿâââÿâââÿââãÿâââÿãââÿââãÿãââÿãâãÿâããÿãâãÿãããÿãããÿããäÿääãÿãäãÿãääÿäãäÿäääÿäääÿäääÿäääÿåääÿääåÿåääÿääåÿåååÿåååÿåååÿåååÿåæåÿååæÿåæåÿåææÿååæÿæææÿæææÿæææÿçæçÿçæçÿçççÿçççÿçççÿçççÿçççÿçççÿçççÿçèèÿççèÿèèçÿèèçÿèèçÿèèèÿèèèÿèèèÿèéèÿééèÿéééÿéèèÿèéèÿéééÿéééÿéééÿêêéÿêêéÿêêêÿêéêÿêêêÿêêêÿêêêÿëêêÿêêêÿëëêÿëëëÿëëêÿëëëÿëëëÿëëëÿëëëÿëëëÿëëëÿììëÿììëÿìììÿìììÿìììÿíììÿìììÿììíÿíìíÿíìíÿìííÿíííÿíííÿîííÿíííÿîííÿíîîÿîîîÿîîîÿîíîÿîîîÿîîïÿïîîÿîîîÿïïïÿïïïÿîîïÿïïîÿïïïÿïïïÿïïïÿðïïÿðïïÿïïïÿïððÿððïÿðððÿðððÿðñðÿððñÿðððÿðñðÿñððÿððñÿñññÿñññÿòññÿñòòÿòññÿòñòÿòòòÿòñòÿòòòÿòòòÿòòòÿòóòÿòóóÿòóóÿóóòÿóòóÿóóóÿóóóÿóóóÿóóóÿôóóÿóóóÿôóóÿôóóÿôôóÿôôôÿôôôÿôôôÿôôôÿõõôÿôõõÿôõõÿõõõÿõõõÿõõõÿöõõÿõõöÿõöõÿöõöÿöööÿöõõÿöööÿöööÿöööÿöö÷ÿö÷öÿö÷÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿøø÷ÿø÷øÿ÷øøÿøøøÿøøøÿùùøÿøøøÿùøùÿøùøÿøùøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿúúúÿùùùÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿûúúÿûûûÿûúûÿûûûÿûûûÿûüûÿûûûÿüüüÿüûûÿûûûÿüûüÿüûüÿüüüÿüüüÿüüüÿüüýÿüüýÿýýýÿüýýÿýýýÿýýýÿýýýÿýýýÿýþýÿþýýÿþþþÿýýýÿþýþÿþþþÿþþþÿþÿþÿþÿþÿþÿÿÿþÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ±°±ÿ±°±ÿ±°±ÿ°°±ÿ±±°ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ²±±ÿ²±²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ²²²ÿ²³²ÿ²³³ÿ³²²ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ³´´ÿ³´³ÿ³³´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿ´µµÿµ´µÿ´´µÿ´µµÿµµµÿµµµÿµµµÿµµ¶ÿ¶µµÿ¶¶µÿ¶¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶·ÿ¶·¶ÿ¶··ÿ·¶·ÿ·¶·ÿ···ÿ···ÿ·¸·ÿ¸··ÿ···ÿ¸·¸ÿ·¸¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿº¹ºÿ¹ººÿ¹º¹ÿºººÿºººÿºººÿºººÿ»º»ÿºººÿ»ººÿºº»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼»¼ÿ¼¼¼ÿ¼»»ÿ¼¼»ÿ¼»¼ÿ¼»¼ÿ¼¼½ÿ¼½½ÿ¼¼¼ÿ¼½¼ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾¾ÿ½½¾ÿ½½¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¿¾¿ÿ¾¾¾ÿ¿¾¾ÿ¾¿¿ÿ¾¾¾ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿À¿ÿ¿¿ÀÿÀÀÀÿÀ¿Àÿ¿¿Àÿ¿ÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÁÀÿÀÀÀÿÁÁÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÁÁÂÿÂÂÁÿÁÂÂÿÂÂÁÿÂÂÁÿÂÂÂÿÂÃÂÿÂÂÂÿÃÂÂÿÂÃÃÿÃÃÂÿÃÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÄÄÃÿÄÄÄÿÄÃÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÄÿÄÅÅÿÅÄÅÿÅÄÅÿÅÄÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÅÆÿÆÆÅÿÆÆÆÿÅÆÆÿÆÅÆÿÆÆÅÿÆÆÆÿÆÆÇÿÆÆÇÿÆÆÇÿÇÆÇÿÆÆÇÿÇÇÇÿÇÇÆÿÇÇÇÿÇÈÇÿÈÇÇÿÈÈÇÿÈÇÇÿÇÈÈÿÈÈÈÿÈÇÈÿÈÈÈÿÈÉÈÿÈÈÈÿÈÈÈÿÈÉÉÿÈÈÉÿÈÉÈÿÉÈÉÿÈÉÉÿÉÉÉÿÉÉÊÿÉÊÉÿÉÉÉÿÉÊÊÿÊÊÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿËËÊÿÊÊÊÿÊÊËÿÊÊÊÿËËËÿËËËÿËËËÿËËËÿËËËÿËÌËÿËÌÌÿËÌËÿÌËËÿÌÌÌÿÌÌÌÿÌÌÌÿÍÌÍÿÌÌÌÿÌÌÍÿÍÌÌÿÍÌÌÿÍÍÍÿÍÍÍÿÍÎÍÿÍÎÍÿÍÍÎÿÍÍÎÿÍÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÏÏÎÿÎÏÏÿÏÏÎÿÏÏÎÿÎÏÏÿÏÏÏÿÏÐÏÿÏÏÏÿÏÐÏÿÐÐÏÿÐÐÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÐÿÑÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÑÑÿÒÑÑÿÑÒÑÿÑÒÑÿÒÑÒÿÑÒÒÿÒÒÒÿÒÒÓÿÒÒÒÿÓÒÓÿÓÒÓÿÓÒÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÔÔÓÿÓÔÓÿÓÔÔÿÓÔÓÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÕÿÔÔÕÿÔÔÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÕÿÖÕÖÿÕÕÕÿÖÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖÖÖÿ×ÖÖÿÖ×Öÿ×Ö×ÿ××Öÿ×××ÿ×××ÿ×××ÿØØ×ÿרØÿØ××ÿרØÿרØÿØ×ØÿØØØÿØØØÿØØØÿØØØÿÙØÙÿÙÙÙÿÙÙÙÿÙØØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÚÿÙÚÚÿÚÚÚÿÚÙÚÿÚÚÚÿÛÛÛÿÚÚÚÿÛÚÚÿÚÛÛÿÚÛÛÿÛÚÛÿÛÛÛÿÛÚÛÿÛÛÜÿÜÛÛÿÜÜÛÿÛÛÛÿÛÜÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÜÜÜÿÜÜÜÿÝÜÜÿÜÜÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÞÿÞÞÝÿÝÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßßÞÿÞÞÞÿÞÞßÿßßßÿßÞßÿßßßÿßßßÿßßßÿßßßÿàßàÿàààÿààßÿàààÿàààÿàààÿàààÿàááÿàááÿàààÿàáàÿáááÿáááÿáááÿáááÿââáÿáááÿáâáÿââáÿâááÿâáâÿâââÿâââÿâââÿãââÿâãâÿâãâÿãââÿãââÿãããÿãããÿãããÿãããÿãäãÿääãÿääãÿäääÿääãÿäääÿåääÿäääÿäääÿåååÿåååÿåååÿåäåÿåååÿåååÿåæåÿåææÿåååÿæææÿæææÿæææÿæææÿææçÿæææÿæææÿæçæÿæææÿæçæÿçççÿçççÿçççÿçççÿçççÿçççÿèèçÿèçèÿçèèÿèèèÿèèèÿèèèÿèèèÿèèéÿèééÿèéèÿéééÿéééÿéééÿéééÿêéêÿêééÿéêêÿêêéÿêêéÿêêéÿêêêÿêêêÿëêëÿêêêÿêêêÿëëëÿëëêÿëëëÿëëëÿëëëÿëìëÿëëìÿëëìÿìììÿìììÿìììÿììëÿìììÿìíìÿììíÿìììÿíìíÿíííÿíííÿììíÿíííÿíííÿîííÿîííÿííîÿííîÿîîíÿîîíÿîîîÿîîîÿîîîÿîîïÿïîîÿîïïÿïïïÿïïïÿïïïÿïïïÿðïïÿïïðÿïïïÿððïÿððïÿððïÿðððÿðððÿðððÿðððÿðñðÿññðÿññðÿðñðÿñññÿñññÿòññÿòòñÿñññÿñòòÿñòòÿòòòÿòòòÿòòòÿòòòÿóóóÿòóòÿóóòÿòòóÿóóòÿóòóÿóóóÿóóóÿóóóÿóóóÿôóóÿôóóÿôôôÿóóôÿôôôÿôôôÿõôôÿôôôÿôõôÿôõôÿõôõÿôõõÿõôõÿõõõÿõõöÿõöõÿõõöÿõõöÿõõõÿöööÿöööÿöööÿ÷ööÿöö÷ÿöööÿö÷öÿ÷ö÷ÿ÷÷öÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿøø÷ÿøøøÿøøøÿ÷÷øÿøøøÿøøøÿøøøÿøøùÿøùùÿøùøÿùùøÿùùùÿùùùÿùùùÿùùùÿùúùÿúùúÿùúúÿùùùÿùúúÿúúùÿúúúÿúúúÿúúúÿûûúÿúûúÿúúúÿúúûÿûûûÿûûûÿûûûÿûüûÿüûüÿûûûÿûüüÿüüüÿûüüÿüüüÿüüüÿýýüÿüýüÿüýýÿýüýÿüüýÿýüýÿýýýÿýýýÿýýýÿþþýÿþþýÿýýýÿþýþÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿÿÿÿÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ²²±ÿ²±±ÿ²±±ÿ²²²ÿ²±²ÿ²²²ÿ³²²ÿ³³²ÿ²³³ÿ²²³ÿ³³³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ´´³ÿ³³´ÿ³´´ÿ´´´ÿ´´µÿ´´´ÿ´´´ÿ´µ´ÿµ´´ÿµ´´ÿµ´µÿµµµÿµµµÿµµµÿµµµÿ¶¶µÿµ¶µÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶·ÿ¶¶·ÿ¶··ÿ¶¶¶ÿ·¶·ÿ···ÿ···ÿ·¸·ÿ¸··ÿ··¸ÿ··¸ÿ·¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹ººÿ¹ººÿºººÿºººÿº»ºÿ»»ºÿºººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»¼ÿ¼¼»ÿ»»»ÿ¼»¼ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ½¼¼ÿ¼½¼ÿ½½½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½¾ÿ½¾½ÿ½¾¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¾ÿ¾¿¾ÿ¾¾¿ÿ¿¾¿ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀ¿Àÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀ¿ÀÿÀÀ¿ÿÀÁÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÁÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÂÁÂÿÁÂÁÿÁÁÁÿÁÁÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÂÃÃÿÂÃÃÿÃÃÃÿÄÃÃÿÃÃÃÿÃÄÃÿÄÄÃÿÄÄÃÿÄÃÃÿÄÃÃÿÃÄÄÿÄÄÄÿÅÄÄÿÅÄÅÿÅÄÄÿÄÄÅÿÄÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÅÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÇÇÿÇÆÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÈÿÈÇÇÿÇÇÈÿÈÈÇÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÉÿÈÈÉÿÉÉÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÊÊÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊËÿÊËÊÿËÊËÿÊÊÊÿËÊËÿËËËÿËËËÿËËËÿËËËÿÌÌËÿËËËÿÌËÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÍÍÿÍÍÍÿÍÌÍÿÌÍÍÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÎÎÎÿÎÎÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÏÎÎÿÎÏÏÿÏÎÎÿÏÏÏÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÏÿÐÐÏÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÐÿÐÐÑÿÑÑÐÿÐÐÑÿÐÐÐÿÑÑÑÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÑÒÿÒÑÒÿÑÒÑÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÔÓÿÓÔÔÿÓÓÓÿÔÔÔÿÓÓÓÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÔÕÕÿÕÕÔÿÕÕÕÿÕÕÕÿÔÕÕÿÕÕÕÿÕÕÖÿÕÕÕÿÕÕÕÿÖÕÖÿÖÕÖÿÖÕÖÿÖÕÖÿÖÖÖÿÖÖÖÿ×ÖÖÿ××ÖÿÖÖÖÿ×××ÿÖ××ÿ×××ÿ×××ÿר×ÿ×××ÿØØ×ÿר×ÿØ×ØÿØ×ØÿØØØÿØØØÿØØØÿØØØÿÙÙØÿØÙØÿØØØÿØÙÙÿØÙÙÿÙÙÙÿÚÙÙÿÚÚÚÿÚÚÙÿÙÙÙÿÚÚÚÿÚÚÚÿÙÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÚÚÚÿÚÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÜÜÛÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÝÜÝÿÜÝÜÿÜÜÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÝÝÞÿÞÞÝÿÞÞÞÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞÞÿßßßÿßßßÿßßßÿßßßÿßßßÿßßßÿßààÿßàßÿßßßÿàààÿàààÿàààÿàààÿàààÿàáàÿááàÿààáÿáàáÿàááÿáááÿáááÿáááÿááâÿáâáÿââáÿáââÿââáÿâââÿâââÿâââÿãââÿâââÿãââÿãâãÿâãâÿãããÿãããÿãããÿãããÿäããÿããäÿãããÿääãÿäããÿäääÿäääÿåääÿäääÿäääÿäääÿåäåÿåååÿåååÿåååÿæååÿåååÿåæåÿååæÿæææÿææåÿæææÿæææÿæææÿæææÿææçÿççæÿçççÿççæÿçççÿçççÿçççÿçèèÿçççÿçççÿèççÿçèèÿèèèÿèçèÿèèèÿéèèÿèèèÿèèéÿèéèÿééèÿéééÿéééÿéééÿéééÿéééÿéééÿéêéÿêéêÿêéêÿééêÿêêêÿêêêÿêëêÿêêëÿêëëÿëëëÿëëêÿëëëÿëëëÿëìëÿëëëÿëëìÿìëìÿìëëÿëììÿìììÿëììÿìììÿìììÿìíìÿíìíÿìíìÿíìíÿíííÿíííÿíííÿíííÿíííÿîîíÿíííÿîîíÿîíîÿîîîÿîîîÿîîïÿîîîÿîîîÿîîïÿîïïÿïïïÿïîïÿïîïÿïïïÿïïïÿðïïÿðïïÿïðïÿðððÿïððÿðððÿðððÿðððÿððñÿðððÿðññÿñðñÿñññÿðññÿòññÿñññÿñññÿñññÿòòñÿñòñÿññòÿòñòÿòòòÿòòòÿòòòÿóóòÿóòóÿòóòÿóóóÿóóóÿóóóÿóóóÿóóóÿôóóÿôóóÿóôóÿôôôÿôôôÿôôôÿôõôÿõôôÿôôôÿõõôÿôôõÿôõõÿõõõÿõõõÿõöõÿõõõÿööõÿööõÿöööÿöööÿõõöÿöööÿöööÿöööÿ÷ö÷ÿöö÷ÿö÷÷ÿ÷ööÿö÷÷ÿö÷÷ÿ÷ø÷ÿ÷ø÷ÿ÷÷÷ÿ÷÷øÿ÷øøÿ÷÷øÿøøøÿ÷øøÿøøøÿøøùÿøøøÿùùøÿùøøÿùùùÿøøøÿùùùÿøùùÿùùùÿùùùÿùúúÿùùùÿúùúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúúúÿúûúÿûûûÿûûûÿûúûÿûûûÿûûûÿüûûÿûüüÿüüûÿûüûÿüüûÿüüüÿüüüÿýüýÿüýüÿüüüÿüüýÿüýýÿüüýÿýýýÿýýýÿýýýÿýýýÿýþýÿýýýÿþýþÿþýþÿþýþÿþþþÿþþþÿþþþÿÿÿþÿÿÿþÿÿþÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ°°°ÿ±±±ÿ°±±ÿ±°±ÿ°±±ÿ±±±ÿ±±±ÿ²²±ÿ±²²ÿ±²±ÿ±²²ÿ²²±ÿ²²²ÿ²²²ÿ²²³ÿ²²³ÿ²³²ÿ³²²ÿ³³²ÿ³³²ÿ²³³ÿ³²³ÿ³³³ÿ³³³ÿ´³´ÿ³³´ÿ³³´ÿ³³´ÿ´´´ÿ³´³ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿµ´µÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿµµµÿµµµÿµµ¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ¶··ÿ¶·¶ÿ·¶¶ÿ¶·¶ÿ·¶·ÿ···ÿ·¸·ÿ··¸ÿ¸··ÿ¸··ÿ¸·¸ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¹¸ÿ¹¹¸ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿºº¹ÿºººÿºººÿºº¹ÿºººÿºººÿºººÿºº»ÿº»»ÿº»ºÿ»º»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼¼ÿ»¼¼ÿ¼»¼ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ¼½½ÿ½¼½ÿ½½½ÿ½½½ÿ½¾½ÿ¾½½ÿ½½½ÿ½½¾ÿ¾¾½ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¿ÿ¾¾¾ÿ¾¾¿ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀ¿Àÿ¿À¿ÿ¿ÀÀÿ¿ÀÀÿÀÀ¿ÿÀÀÀÿÁÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÁÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÂÂÿÁÂÁÿÁÂÂÿÂÂÂÿÂÁÁÿÂÂÁÿÂÂÂÿÂÂÂÿÂÃÂÿÂÂÂÿÂÂÃÿÃÂÂÿÂÃÃÿÃÃÂÿÂÃÃÿÃÃÃÿÄÃÃÿÃÃÃÿÄÄÄÿÃÃÄÿÄÃÄÿÄÄÃÿÄÄÃÿÄÄÄÿÄÄÄÿÅÄÅÿÅÄÅÿÅÄÅÿÄÄÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÅÅÅÿÆÅÆÿÆÅÅÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÆÿÇÆÇÿÇÇÇÿÇÇÇÿÆÇÇÿÇÇÇÿÇÈÇÿÇÇÇÿÇÈÇÿÈÈÈÿÇÈÇÿÈÈÇÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÉÿÉÈÉÿÉÉÉÿÉÈÈÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÉÉÊÿÊÊÊÿÊÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊËÊÿËÊÊÿËÊÊÿÊÊÊÿËËËÿËËËÿÊËËÿËËËÿÌËËÿÌËËÿÌËÌÿËÌËÿËÌÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÍÍÿÍÍÍÿÌÍÍÿÍÌÌÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÍÍÿÍÎÎÿÍÎÎÿÍÍÎÿÎÎÎÿÏÎÎÿÏÎÎÿÎÎÏÿÏÏÎÿÏÎÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÏÏÐÿÏÏÐÿÏÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÑÑÿÐÑÑÿÐÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÒÒÒÿÑÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÒÿÓÓÓÿÓÓÔÿÓÓÓÿÓÓÓÿÓÓÔÿÓÓÓÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÕÿÕÔÔÿÕÔÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÕÿÖÖÖÿÕÖÖÿÖÕÕÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖÖÖÿÖÖÖÿÖÖ×ÿ×××ÿ×××ÿ×××ÿר×ÿ×××ÿ×רÿר×ÿØ××ÿØØØÿØØØÿØØØÿØØØÿØØØÿØÙÙÿØØØÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÙÚÿÙÙÙÿÙÙÚÿÚÙÙÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÚÚÛÿÚÚÛÿÚÛÚÿÛÛÚÿÛÛÛÿÛÛÛÿÜÜÛÿÛÛÛÿÜÛÜÿÜÛÜÿÛÛÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÝÜÝÿÝÜÝÿÝÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÞÿÞÝÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿÞÞÞÿÞÞßÿÞßßÿßßÞÿßÞÞÿßÞßÿßßßÿàßßÿßßßÿàßàÿàààÿßàßÿßààÿàààÿàààÿáààÿàààÿààáÿàààÿàáàÿáááÿáááÿáááÿáááÿáááÿááâÿâááÿâââÿáááÿâââÿâââÿâââÿâââÿââãÿâââÿâãâÿããâÿââãÿããâÿãããÿãããÿäããÿãããÿãäãÿääãÿäääÿääãÿäääÿäääÿäääÿååäÿåååÿäåäÿåååÿåååÿåååÿåååÿåååÿææåÿååæÿåæåÿåæåÿåææÿæææÿæææÿæææÿææçÿæææÿçææÿçççÿççæÿçççÿçççÿçççÿèèçÿçççÿçèèÿèçèÿçççÿèèèÿèèèÿèèèÿèèèÿéééÿéèéÿèéèÿéééÿéééÿéééÿéééÿéééÿéééÿéêêÿêêéÿêêéÿêêêÿêêêÿêêêÿêêêÿêêêÿêêêÿëëêÿëëêÿëêêÿëëëÿëëëÿëëëÿëëìÿììëÿëìëÿëëëÿìììÿìììÿìììÿìììÿìíìÿííìÿíììÿììíÿííìÿìííÿíííÿíííÿîííÿíííÿíííÿíîîÿííîÿîíîÿîîîÿîîîÿîîîÿîïîÿïïïÿîïïÿîîîÿïîïÿïïïÿïïïÿðïïÿïïïÿððïÿðïïÿðïðÿðïðÿðïðÿðððÿðððÿðñðÿñððÿñññÿðññÿñññÿñððÿñññÿñññÿñòñÿñòòÿñññÿñññÿñòòÿòòòÿòòòÿòòòÿòòòÿòòóÿóóóÿòóóÿòóóÿóóòÿóòóÿóóóÿóóôÿóôóÿóôôÿôóôÿóôôÿôôôÿôôóÿôôôÿôôôÿôõôÿôôôÿõôôÿôõõÿõõõÿõõõÿõõõÿöõõÿöõõÿõöõÿõõöÿöõöÿõõöÿöööÿöööÿöö÷ÿö÷öÿöööÿ÷ö÷ÿ÷ö÷ÿöö÷ÿ÷ö÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷øÿø÷÷ÿ÷÷øÿøøøÿøøøÿøøøÿøøùÿøøøÿùùøÿøøùÿøùùÿùùøÿùùøÿùùùÿùúùÿùùùÿùúùÿúùùÿùúúÿúúúÿùúúÿúúúÿúúûÿúúúÿúúûÿûûúÿûúúÿûûúÿûûûÿûûûÿûüûÿûûûÿûüûÿüûüÿüûûÿüûüÿüüüÿüüüÿýüýÿüüýÿüüüÿüýüÿýüýÿýýýÿüýýÿýýýÿýýýÿýýýÿþþýÿþþýÿýþþÿýýþÿþýþÿþþþÿþþþÿþþþÿþÿþÿþÿþÿþÿÿÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯°¯ÿ°°°ÿ¯°°ÿ°°°ÿ°±°ÿ°°±ÿ°±±ÿ±°±ÿ±°±ÿ±±°ÿ±±°ÿ±±±ÿ±±±ÿ±²±ÿ±²±ÿ²²²ÿ±±²ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²²³ÿ³²²ÿ³³³ÿ³³²ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ³³³ÿ³´³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµ´µÿ´µµÿµ´´ÿµµµÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿµ¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ·¶·ÿ···ÿ···ÿ¸··ÿ¸··ÿ···ÿ··¸ÿ·¸·ÿ¸¸¸ÿ·¸¸ÿ¸¸·ÿ¸¸¸ÿ¹¹¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¹ÿ¹¹¸ÿ¸¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹ºÿ¹º¹ÿºººÿ¹º¹ÿºººÿºººÿºººÿºººÿ»ººÿ»»ºÿº»»ÿº»ºÿ»ººÿ»º»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½¾ÿ½½½ÿ¾½¾ÿ¾¾¾ÿ½¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¾¾¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀÀ¿ÿ¿¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÀÿÀÁÁÿÁÀÁÿÁÀÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÁÿÁÁÁÿÁÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÃÂÿÂÂÂÿÂÃÃÿÂÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÄÃÃÿÃÄÃÿÃÃÃÿÄÃÃÿÄÄÄÿÄÄÄÿÃÄÃÿÄÄÄÿÄÅÄÿÄÄÅÿÄÄÄÿÄÄÅÿÄÅÄÿÅÅÄÿÅÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÆÆÆÿÅÅÆÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÇÆÆÿÆÆÇÿÇÆÇÿÆÆÆÿÇÇÇÿÇÇÇÿÈÇÇÿÇÈÈÿÇÈÇÿÈÈÈÿÈÇÈÿÈÇÈÿÇÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÉÉÿÈÉÉÿÉÉÈÿÈÈÈÿÉÉÈÿÉÉÉÿÊÉÉÿÉÉÉÿÉÉÉÿÉÊÊÿÉÉÊÿÉÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊËÿËÊÊÿËËËÿÊËÊÿËËËÿËËËÿËËËÿËËËÿËÌÌÿËÌËÿÌËÌÿËËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÌÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÍÍÿÍÍÎÿÍÍÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÑÑÐÿÐÐÑÿÐÐÐÿÑÐÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÒÑÿÒÒÑÿÒÑÑÿÒÒÑÿÒÒÑÿÒÑÒÿÒÒÒÿÒÒÓÿÒÒÒÿÒÓÓÿÓÓÒÿÒÓÓÿÓÓÓÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÔÓÓÿÔÓÔÿÔÔÔÿÔÔÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÕÔÿÕÕÕÿÔÕÕÿÕÕÕÿÕÕÔÿÕÕÕÿÖÕÖÿÕÕÕÿÕÕÕÿÕÕÖÿÖÕÖÿÕÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿÖÖÖÿÖÖ×ÿ×××ÿ×××ÿ×××ÿ××Öÿ×××ÿ×רÿ×××ÿ×××ÿØ××ÿØØØÿ×××ÿØØØÿØØÙÿØØÙÿØØØÿØØØÿØÙÙÿÙØØÿÙØÙÿÙÙØÿÙÙÙÿÙÚÙÿÙÙÙÿÙÚÙÿÚÚÙÿÚÙÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÛÿÚÚÛÿÛÛÛÿÚÚÚÿÛÚÛÿÛÛÚÿÛÛÛÿÚÛÛÿÛÛÛÿÜÛÛÿÛÛÛÿÜÛÛÿÛÜÛÿÜÛÜÿÜÛÜÿÜÜÜÿÜÜÜÿÝÝÜÿÜÜÜÿÝÜÜÿÝÜÜÿÝÜÝÿÝÝÜÿÝÝÝÿÝÝÝÿÝÝÞÿÞÝÞÿÞÝÞÿÝÞÝÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞÞÿßÞÞÿÞÞÞÿÞÞßÿßßßÿßßßÿßßßÿßßßÿßàßÿßààÿààßÿàààÿààßÿàßàÿàààÿàààÿàááÿààáÿààáÿàáàÿààáÿáááÿáááÿáááÿáááÿáááÿááâÿââáÿâááÿâââÿââáÿâââÿâãâÿãâãÿââãÿâãâÿãããÿãããÿãããÿãããÿããäÿäãäÿãããÿãäãÿäääÿãääÿäääÿäääÿäääÿäääÿåääÿäååÿåääÿåååÿäåäÿåååÿåæåÿåååÿæåæÿåææÿåææÿæææÿæææÿæææÿæææÿçææÿæææÿæææÿæççÿçæçÿçççÿçççÿçççÿçççÿèèèÿçèèÿçèèÿèèçÿçèçÿèèèÿèèèÿèèèÿèèéÿèèéÿèèéÿèéèÿèèèÿéééÿéééÿéééÿééêÿêéêÿééêÿééêÿéêêÿêêêÿêêêÿêêëÿêêêÿêêêÿêêêÿëêëÿêëëÿëëëÿëëëÿëëëÿëëëÿëëìÿììëÿìëëÿìëëÿìëëÿìììÿìììÿìììÿíìíÿííìÿííìÿíììÿíííÿíííÿíííÿíííÿíííÿíííÿîîîÿîíîÿîîîÿîîîÿîîîÿîîîÿïîîÿîîîÿîïîÿïïîÿîïïÿïïïÿïïïÿïïïÿïïïÿïïïÿðïïÿïïïÿðððÿðððÿðððÿðððÿðððÿðððÿðñðÿððñÿññðÿñññÿñññÿñññÿñññÿññòÿñññÿòòòÿñññÿòòòÿòñòÿòòòÿòòòÿòòóÿòòòÿòòòÿòóóÿóòóÿóóóÿóóóÿôóóÿóóóÿóóóÿôóóÿôóôÿôóôÿôôôÿôôóÿôôôÿõõôÿôõõÿôôõÿõõõÿõõõÿôõõÿôõõÿõõõÿõöõÿööõÿõöõÿöööÿõõöÿöõöÿöõöÿöööÿöööÿö÷öÿ÷ööÿö÷öÿöö÷ÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷ø÷ÿø÷øÿ÷÷÷ÿøøøÿøøøÿøøøÿøøùÿøùøÿøøùÿùùøÿùùùÿùøùÿùùùÿùùùÿùùùÿúùùÿùùúÿùùùÿúùúÿùúùÿùúúÿúúúÿúúúÿúúúÿúúúÿúûúÿûûûÿúûûÿûúûÿûûúÿûûûÿûûûÿûûüÿûüûÿüûûÿûüûÿüüûÿüüüÿüüüÿýüüÿüüüÿüýüÿýýüÿýýýÿýýýÿüýýÿýýýÿýýýÿýýýÿþýýÿþþýÿýýþÿþýýÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿþÿþþþÿþþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±°±ÿ°°°ÿ°°±ÿ°±°ÿ°±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ²±±ÿ²±±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²²³ÿ³²³ÿ²³²ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³´³ÿ´´³ÿ³³´ÿ´´´ÿ´³´ÿ´´´ÿ´µ´ÿ´µ´ÿµµµÿµ´´ÿµµ´ÿµµ´ÿµµµÿµµµÿµµµÿµ¶µÿµ¶¶ÿµ¶µÿ¶µ¶ÿ¶µ¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ··¶ÿ···ÿ¶·¶ÿ·¶·ÿ···ÿ···ÿ¸··ÿ···ÿ¸¸·ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿº¹¹ÿºººÿºº¹ÿºººÿºººÿ»ººÿºººÿº»ºÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ»¼¼ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ½¾¾ÿ¾½½ÿ½¾½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¿¾ÿ¿¾¾ÿ¾¿¿ÿ¾¿¾ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿ¿¿ÀÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÁÀÿÀÀÀÿÁÁÀÿÁÁÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÂÂÂÿÁÂÁÿÁÁÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÃÂÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÃÿÃÃÃÿÄÃÃÿÄÃÄÿÄÄÃÿÃÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÄÿÄÄÅÿÄÅÅÿÅÅÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÅÿÅÆÆÿÅÅÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÇÆÿÇÆÇÿÇÇÇÿÇÇÆÿÇÇÆÿÇÇÇÿÇÇÇÿÈÇÈÿÈÇÇÿÈÈÇÿÈÈÇÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÈÈÿÉÈÈÿÈÉÉÿÈÉÉÿÉÉÉÿÉÉÈÿÉÉÉÿÉÉÊÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿËÊÊÿÊËËÿËËÊÿËÊÊÿËËËÿËÊËÿËËËÿËËËÿÌËËÿÌËËÿËËËÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÍÍÍÿÍÌÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÎÍÿÍÍÍÿÍÎÎÿÎÎÎÿÎÎÍÿÎÎÏÿÎÎÎÿÎÎÏÿÎÎÎÿÎÏÎÿÏÎÎÿÎÏÎÿÏÏÏÿÏÏÏÿÏÐÐÿÏÏÏÿÏÏÐÿÏÏÐÿÏÏÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÑÿÑÐÐÿÐÐÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÒÿÒÑÑÿÒÑÑÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÓÒÿÓÓÓÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÔÓÓÿÓÓÔÿÔÓÔÿÔÔÔÿÓÔÔÿÔÓÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÕÿÕÕÕÿÕÕÔÿÔÕÕÿÕÕÕÿÖÕÕÿÕÕÕÿÕÕÖÿÖÖÕÿÖÕÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ××Öÿ×ÖÖÿ××ÖÿÖ××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×רÿ×××ÿØØ×ÿ×××ÿØØØÿØØØÿØØØÿØØØÿØÙØÿØÙØÿÙØØÿØØÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÙÚÿÚÚÙÿÚÚÙÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÛÚÿÛÚÛÿÛÛÚÿÛÚÛÿÚÛÛÿÛÛÛÿÜÛÛÿÜÛÛÿÛÛÛÿÛÛÜÿÛÜÛÿÜÛÜÿÜÛÛÿÜÜÜÿÝÜÜÿÜÜÜÿÝÝÜÿÜÝÝÿÜÝÝÿÝÜÜÿÝÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÞÝÞÿÞÝÞÿÞÞÞÿÝÞÞÿÞÞÞÿÞÞÞÿßÞÞÿÞÞÞÿßßßÿÞßßÿÞßßÿßßßÿßßßÿßßßÿßßßÿßßßÿàßßÿßßàÿààßÿàààÿàààÿàààÿàààÿàààÿáààÿààáÿáàáÿáààÿááàÿáááÿáâáÿááâÿâââÿâááÿâââÿâââÿáâáÿâââÿâââÿââãÿãããÿãââÿãããÿãããÿãââÿãããÿãããÿããäÿãããÿãããÿääãÿäääÿäääÿäääÿäääÿäåäÿäååÿäååÿåäåÿåååÿåååÿåååÿåååÿææåÿåååÿåæåÿåææÿåææÿæææÿæææÿåææÿæææÿçææÿæçæÿææçÿçæçÿçççÿçççÿçççÿçççÿçèçÿçççÿçèçÿçççÿççèÿçèèÿèèèÿèèèÿèèèÿèéèÿéèèÿèéèÿéèèÿééèÿéééÿéééÿéééÿéêêÿéééÿéééÿêêêÿêéêÿêêêÿêêêÿêêêÿêêêÿêêêÿëëëÿëêêÿêëêÿêëëÿëêëÿìëëÿëëëÿìëìÿëëìÿììëÿìììÿìììÿìììÿìììÿììíÿììíÿíííÿììíÿíííÿíìíÿìííÿíííÿîííÿíííÿîíîÿíîîÿííîÿíîîÿîííÿîîîÿîîïÿîîïÿîîîÿïîïÿïïîÿïïïÿïîïÿïïïÿïïïÿïðïÿïïïÿðïðÿðððÿðððÿðïðÿïððÿðððÿðððÿðñðÿññðÿðññÿñðñÿñððÿñññÿñññÿñññÿñññÿñòòÿñòñÿññòÿñòñÿòòòÿòòòÿòóòÿòóòÿòòòÿóòóÿóóòÿòóóÿóóòÿóóóÿôóóÿóóóÿôôôÿóôôÿôôóÿôóôÿôôôÿôôôÿôôôÿôôôÿôôõÿõôôÿõõôÿõôõÿôõõÿõõõÿõõõÿõõõÿõõõÿöõöÿõööÿöõöÿõõöÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷÷öÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷÷ÿøøøÿ÷÷øÿ÷÷÷ÿøøøÿøøøÿøùøÿøøøÿùùøÿùùøÿùùøÿùùùÿùùùÿùùùÿùùùÿùùúÿúùúÿúùúÿúùúÿùúùÿúúúÿúúúÿúúúÿúúúÿúúúÿûúúÿûûûÿûúúÿûûûÿûûûÿûûüÿûûûÿûûûÿûüûÿüûüÿûüüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüýÿüüüÿýýýÿýýýÿýýýÿýýýÿýýýÿþýýÿþýýÿþþþÿþýýÿþþþÿþþþÿþþþÿþþÿÿþþþÿÿÿþÿÿÿÿÿÿÿÿÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°°°ÿ°°¯ÿ¯°°ÿ°°¯ÿ°¯°ÿ°°°ÿ°±°ÿ±°±ÿ°°°ÿ±±±ÿ±±°ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²±±ÿ²±²ÿ²±²ÿ±²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³³ÿ²³³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ³³´ÿ³´³ÿ´´³ÿ´³³ÿ´´³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿµµµÿ´´´ÿµ´´ÿµµµÿµµµÿµµµÿ¶µµÿµ¶µÿµµµÿ¶¶¶ÿ¶µ¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶·ÿ·¶·ÿ¶··ÿ¶¶·ÿ···ÿ···ÿ···ÿ¸·¸ÿ··¸ÿ·¸·ÿ¸¸¸ÿ·¸·ÿ¸·¸ÿ¸¸·ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¹¸ÿ¸¸¹ÿ¸¸¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿº¹¹ÿ¹¹ºÿ¹º¹ÿ¹¹ºÿ¹¹ºÿ¹ººÿºººÿºººÿºººÿºººÿºººÿºººÿºº»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»»ÿ»¼¼ÿ»»¼ÿ»»¼ÿ»¼¼ÿ»¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½½½ÿ¼¼½ÿ½½¼ÿ½½¼ÿ½½½ÿ¾¾½ÿ¾½¾ÿ¾½½ÿ½½¾ÿ½¾¾ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¿¾ÿ¾¿¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀ¿¿ÿÀ¿ÀÿÀ¿ÀÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÁÿÀÁÁÿÀÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÂÁÿÁÂÂÿÁÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÃÂÿÂÂÃÿÂÂÃÿÂÃÂÿÃÃÂÿÃÃÃÿÃÃÂÿÃÃÃÿÃÃÄÿÃÃÄÿÃÃÄÿÃÄÄÿÄÄÄÿÄÄÄÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÅÄÄÿÅÅÄÿÅÄÅÿÅÅÅÿÅÅÅÿÅÆÅÿÅÆÅÿÅÅÆÿÆÆÆÿÆÆÅÿÅÆÆÿÅÆÆÿÆÅÆÿÆÆÆÿÇÇÇÿÆÇÆÿÆÇÆÿÆÆÆÿÆÇÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÈÈÇÿÇÈÈÿÇÇÈÿÈÈÈÿÇÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÉÿÈÉÉÿÉÉÉÿÉÈÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÊÿÉÉÊÿÊÉÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿËËÊÿËÊËÿËÊËÿËËËÿËËËÿËÌËÿËËËÿËËËÿËËÌÿËÌÌÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÌÌÿÍÌÍÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÎÍÿÍÍÍÿÍÍÍÿÎÍÎÿÎÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÏÎÿÎÎÎÿÏÎÏÿÏÏÏÿÏÏÎÿÏÏÎÿÏÏÐÿÏÏÏÿÐÏÏÿÐÐÐÿÐÏÐÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÑÑÿÐÐÑÿÑÐÑÿÑÐÑÿÐÑÑÿÑÑÑÿÑÑÑÿÑÒÒÿÑÑÒÿÑÑÒÿÒÒÑÿÒÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÓÿÒÒÒÿÒÓÒÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÒÿÓÓÓÿÓÓÔÿÔÔÓÿÔÓÔÿÓÔÔÿÔÔÔÿÓÔÔÿÔÔÔÿÔÔÔÿÕÕÔÿÕÔÕÿÔÔÔÿÕÔÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÖÕÿÖÕÖÿÖÖÖÿÖÕÖÿÕÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×Ö×ÿ×ÖÖÿÖ×ÖÿÖÖ×ÿÖ×Öÿ×××ÿ×××ÿ×××ÿ×××ÿØØØÿ×רÿרØÿØØØÿØØØÿØØØÿØØØÿØØÙÿØØØÿÙÙØÿØÙÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÙÙÿÚÚÙÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÛÿÛÚÚÿÚÚÛÿÚÚÚÿÛÚÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÛÜÿÜÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÝÜÜÿÜÜÜÿÜÜÝÿÝÜÜÿÜÜÝÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÞÝÿÝÝÝÿÞÝÞÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿÞÞÞÿÞßÞÿßßßÿßÞßÿßßßÿßßßÿßßßÿàßßÿààßÿàààÿàßàÿàààÿàààÿàààÿààáÿààáÿàáàÿàááÿáááÿáàáÿáááÿááâÿááâÿáááÿáââÿââáÿâââÿáââÿâââÿâââÿãââÿââãÿâãâÿãããÿãããÿãããÿãããÿãäãÿäããÿããäÿäääÿããäÿäääÿäääÿäääÿäääÿäääÿåäåÿääåÿååäÿåååÿåååÿåååÿåååÿåååÿååæÿææåÿæææÿåææÿæææÿæææÿæææÿçææÿæææÿæææÿæææÿæçæÿçççÿçççÿæççÿçççÿçèçÿçççÿçççÿèçèÿèèèÿèèèÿèçèÿèèèÿèèéÿèèèÿèèèÿéèéÿèèèÿéèéÿéééÿééêÿééêÿéééÿéêêÿéêêÿêééÿééêÿêêéÿêêêÿêêêÿêêêÿêêêÿêêêÿêëêÿëëëÿëëëÿëëëÿëëëÿëëëÿëëìÿëëìÿìììÿëììÿìììÿìììÿìììÿìììÿììíÿíììÿìíìÿíìíÿíìíÿìííÿíííÿíííÿíîîÿîíîÿîîîÿîîîÿííîÿîîîÿîîîÿîîîÿîîîÿîïîÿïîîÿîïîÿïïïÿïïïÿïïïÿïïïÿïïðÿïððÿðððÿðððÿðïðÿðïïÿðððÿðððÿðððÿðððÿðððÿððñÿðññÿñðñÿñññÿñññÿñññÿñññÿñññÿòòòÿññòÿòòòÿòòòÿòòóÿòóòÿòòòÿóòòÿòóóÿóòóÿóóòÿòóóÿóóóÿóóóÿôóóÿôôóÿôóôÿóóóÿóôôÿôôôÿôôôÿôôôÿôõôÿôõõÿôõõÿôõôÿõõõÿõõõÿõõõÿõöõÿõõõÿöõöÿõõöÿööõÿõööÿöööÿöööÿöööÿöööÿ÷ööÿ÷÷öÿö÷÷ÿöööÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿøøøÿø÷÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿùøøÿøùøÿùøùÿøùùÿùùøÿùùùÿùùùÿúúùÿúùúÿúùùÿúùúÿúùùÿúúúÿúúúÿúúúÿúúúÿúúúÿúûûÿûúûÿúûûÿûûûÿûûûÿûûûÿûûûÿûüûÿüüüÿüüüÿüûûÿüüüÿüüüÿüüüÿüüýÿüýüÿüýüÿüüüÿýýýÿüýüÿýýüÿýýýÿþýýÿýýýÿýýýÿþýýÿþþýÿýþþÿþþþÿþþýÿþþþÿþþþÿÿþþÿþÿþÿþÿÿÿÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯¯¯ÿ¯¯°ÿ°°°ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°±°ÿ±°°ÿ±±°ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ²²²ÿ²±±ÿ±²²ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ³²³ÿ³³²ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´´´ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµ´´ÿ´µ´ÿµµµÿ´´µÿµµµÿµ¶µÿµµµÿ¶µµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ·¶¶ÿ¶¶·ÿ¶·¶ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ¸·¸ÿ¸·¸ÿ¸··ÿ··¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¹¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºººÿ¹¹ºÿº¹ºÿºº¹ÿºººÿºººÿºººÿº»ºÿº»»ÿºº»ÿ»»»ÿ»»»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ¼¼¼ÿ»»»ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼¼ÿ½¼¼ÿ½½¼ÿ½½¼ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¿¾¾ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÁÀÿÀÁÁÿÀÁÀÿÁÀÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÂÂÿÁÂÂÿÂÁÁÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÃÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÃÃÿÃÃÄÿÄÃÄÿÃÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÅÅÄÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÅÆÿÆÅÆÿÆÅÆÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÆÆÿÆÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÈÇÿÇÇÇÿÈÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÉÈÈÿÈÉÈÿÈÈÈÿÉÈÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÊÉÿÊÉÊÿÊÉÊÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿÊËÊÿÊÊÊÿËÊËÿËÊËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËÌÿÌËÌÿËÌÌÿÌÌÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÍÍÿÌÍÍÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÍÎÎÿÍÍÍÿÎÍÎÿÎÎÎÿÍÎÍÿÎÎÎÿÎÎÏÿÏÎÏÿÎÎÎÿÏÎÎÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÐÏÿÐÏÏÿÐÏÐÿÐÐÐÿÏÐÏÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÐÐÿÐÐÐÿÐÐÑÿÑÑÐÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÑÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÓÒÿÒÒÒÿÓÓÒÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÔÿÓÓÔÿÔÔÓÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÕÕÿÔÔÔÿÕÕÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÖÿÕÖÖÿÕÖÖÿÕÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖ×Öÿ××ÖÿÖ××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿØ×Øÿר×ÿØ×ØÿØØØÿØØØÿØØÙÿØØÙÿØØÙÿØØØÿÙØÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÙÚÿÚÚÚÿÚÛÚÿÚÚÚÿÚÚÚÿÚÛÛÿÚÚÛÿÚÛÛÿÛÚÛÿÜÛÛÿÜÛÛÿÜÜÛÿÜÛÛÿÜÛÜÿÛÜÜÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÝÝÜÿÜÝÝÿÝÜÝÿÝÝÝÿÝÝÜÿÝÝÝÿÝÝÝÿÞÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÞÞÝÿÞÞÞÿÞÞÞÿÞßÞÿÞÞÞÿÞÞÞÿÞÞßÿÞßßÿÞßÞÿßßßÿßßßÿßßßÿßßßÿßàßÿààßÿààßÿààßÿßààÿàààÿàààÿàààÿàààÿàààÿààáÿàááÿáááÿáááÿáâáÿâááÿáááÿááâÿâââÿâââÿâââÿââáÿâââÿâââÿââãÿâââÿãããÿãããÿãããÿãããÿãããÿããäÿãääÿääãÿäãäÿääãÿäääÿäãäÿäääÿääåÿäääÿåääÿåääÿäååÿåååÿäååÿåååÿåååÿåååÿæååÿæåæÿåææÿæåæÿæææÿæææÿæææÿæææÿææçÿæçæÿçæçÿçççÿçæçÿçççÿçççÿçççÿççèÿèçèÿèèèÿèèçÿèçèÿèèçÿçèèÿèééÿèéèÿèéèÿéèèÿéééÿééèÿééèÿéééÿéêéÿéééÿêêéÿêêéÿêêêÿêéêÿêêêÿêêêÿêêêÿêëêÿëêêÿëêëÿêêëÿëëêÿêëêÿëëëÿëëëÿëëëÿëëëÿìëëÿëëëÿììëÿìììÿìëìÿìììÿìììÿìííÿìììÿííìÿìííÿíííÿìííÿíííÿîííÿîííÿîííÿîíîÿíííÿíîíÿíîîÿîîîÿïîîÿîîîÿîïïÿîïîÿïïîÿïïîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿðððÿðïïÿðððÿðððÿðððÿðððÿñðñÿññðÿñððÿðñðÿñññÿðññÿñññÿòññÿñòñÿññòÿòòñÿòññÿñòòÿòòòÿòòòÿòòòÿòóòÿòóóÿóòóÿóóóÿóóòÿóòóÿóóóÿóóóÿóôôÿóóóÿôóôÿôóóÿóôóÿôóôÿôôôÿôôôÿôôôÿôôõÿõõôÿôôõÿõôôÿõõõÿõõôÿõõõÿõõõÿõõõÿõöõÿöõöÿöõõÿööõÿõõöÿöööÿöööÿöö÷ÿöööÿ÷ööÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷øÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿùøøÿøùøÿùøøÿùùøÿùùøÿùøùÿùùùÿùùùÿùùúÿùùúÿùùùÿúùúÿùúùÿúúúÿúùúÿúúúÿúúúÿúúûÿúúúÿûûúÿûúûÿûûûÿúûûÿûûûÿûûûÿûûüÿûûüÿûüûÿûüüÿûüüÿüüüÿüüüÿüüüÿýýüÿüýüÿüüýÿýýüÿýýýÿýýýÿýýýÿýýýÿýýýÿýýýÿýýþÿþþýÿýþþÿþýþÿþýþÿþþþÿþÿþÿÿÿþÿÿþþÿþþÿÿÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯°¯ÿ°¯¯ÿ¯¯°ÿ¯¯¯ÿ¯°°ÿ°¯°ÿ°°°ÿ°±°ÿ°±°ÿ±°±ÿ°±°ÿ°°°ÿ°±°ÿ±±±ÿ°±±ÿ±±±ÿ±±²ÿ±²±ÿ²²²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³²²ÿ³³³ÿ²²³ÿ²³³ÿ²³³ÿ³³²ÿ³³´ÿ³³´ÿ´³³ÿ´´´ÿ³³´ÿ³´´ÿ³´´ÿ´´³ÿ´´´ÿ´´µÿ´´´ÿµ´´ÿµ´µÿ´´´ÿµµµÿµµ´ÿµµµÿµµµÿµµµÿµ¶µÿµ¶µÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ·¶¶ÿ¶··ÿ··¶ÿ···ÿ···ÿ···ÿ··¸ÿ¸¸¸ÿ¸··ÿ·¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¹ÿ¸¸¸ÿ¸¹¸ÿ¹¹¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹ººÿ¹ººÿ¹ººÿºººÿºººÿ»ººÿ»ººÿº»ºÿº»ºÿºº»ÿ»º»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ¼¼¼ÿ¼¼»ÿ¼»»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼½ÿ¼¼½ÿ¼½½ÿ¼¼½ÿ½½½ÿ½½½ÿ½¾½ÿ½½¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿¿¿ÿÀÀ¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÁÁÿÁÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÁÁÂÿÂÁÂÿÁÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÃÿÃÂÃÿÂÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÄÄÿÃÃÃÿÄÃÃÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÅÄÅÿÄÅÄÿÄÅÄÿÅÅÅÿÅÄÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÆÅÿÆÅÅÿÆÆÆÿÆÆÆÿÆÅÆÿÆÆÆÿÆÇÆÿÆÆÆÿÇÇÇÿÇÆÆÿÆÇÇÿÇÆÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÈÈÿÇÈÈÿÈÇÈÿÈÈÇÿÈÈÇÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÊÿÉÊÉÿÊÊÊÿÉÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊÊÿËÊËÿÊÊÊÿËËËÿÊËËÿÊËËÿËËËÿËËËÿËÌËÿËËËÿËÌËÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÌÌÍÿÍÍÌÿÍÍÍÿÌÍÍÿÍÍÍÿÎÍÎÿÍÍÍÿÍÍÎÿÍÎÎÿÍÎÎÿÎÎÍÿÍÎÎÿÎÍÎÿÎÎÏÿÎÎÎÿÏÎÎÿÎÏÎÿÏÎÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÐÏÿÏÐÐÿÐÏÐÿÐÏÐÿÏÐÏÿÐÏÏÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÑÿÐÐÐÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÒÿÒÒÒÿÓÓÓÿÓÒÓÿÒÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÓÓÓÿÓÔÔÿÓÔÓÿÔÔÓÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÕÔÿÔÔÔÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÕÿÕÕÖÿÕÕÖÿÖÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖ××ÿÖ××ÿ××Öÿ×××ÿ×ÖÖÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿר×ÿØ××ÿØØØÿØØ×ÿØØØÿØØØÿÙØØÿØØÙÿØÙØÿÙØÙÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÙÚÿÚÙÙÿÚÚÚÿÙÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÚÚÛÿÚÛÛÿÚÛÚÿÛÛÚÿÛÛÛÿÛÛÛÿÜÛÛÿÛÛÛÿÛÜÛÿÛÛÛÿÜÛÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÝÿÝÝÜÿÜÝÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÝÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßßÿÞÞßÿßÞßÿßßÞÿßßßÿßßßÿßßßÿàßßÿßàßÿààßÿàßàÿàààÿàààÿàààÿàáàÿàáàÿàààÿáááÿáàáÿàáàÿáááÿáááÿáááÿáâáÿâááÿááâÿâââÿáâáÿáâáÿââáÿâââÿâââÿâââÿãããÿâããÿããâÿãããÿãããÿãããÿãäãÿããäÿäãäÿããäÿäãäÿääãÿäääÿäääÿäääÿäåäÿäääÿääåÿäåäÿäääÿåååÿåååÿåååÿåååÿæææÿåååÿåååÿååæÿæææÿæææÿæææÿçæçÿæææÿçæçÿçæçÿçççÿææçÿçççÿçççÿçèçÿèççÿèèçÿçççÿèèèÿèèèÿèèèÿèèèÿèèèÿèèèÿèéèÿèèéÿèéèÿéèéÿèééÿéèèÿéééÿéêéÿééêÿêêêÿêééÿêêêÿêêêÿêêêÿêêêÿêêêÿëêêÿëëêÿëêêÿëëëÿëëëÿëëëÿëëëÿëëëÿëìëÿìëìÿìììÿìëìÿìëëÿìììÿìììÿììíÿììíÿììíÿíìíÿííìÿíííÿíìíÿíííÿííîÿíîíÿíííÿîííÿîîíÿîîíÿîîîÿîîîÿîîïÿïîîÿîîîÿîïîÿïîïÿïïîÿïïïÿïïïÿïïïÿïïïÿïïïÿðïðÿðððÿðððÿïððÿðððÿðððÿððñÿðñðÿñððÿðððÿñððÿðññÿñññÿñññÿñññÿòññÿñññÿòòñÿñòñÿññòÿòòòÿòòòÿòòòÿòòòÿóóòÿòòòÿóòóÿóóóÿóóòÿóóóÿóóóÿóóóÿôôóÿôóóÿôóôÿóôôÿôôôÿôôôÿôôôÿôôôÿõôõÿôôõÿõõôÿõõõÿõôõÿõõõÿõõõÿõõõÿöõöÿõõõÿööõÿöõöÿöõõÿöõöÿöööÿöööÿöööÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷÷øÿøøøÿ÷ø÷ÿ÷øøÿ÷øøÿøøøÿøøùÿøøøÿùùøÿøøùÿøùùÿùøùÿùùùÿùùùÿùùùÿùùùÿúùùÿùùùÿùúúÿúùùÿúúúÿùúúÿúúúÿúûúÿúûúÿúúúÿûúúÿûúúÿûûúÿûûûÿûûûÿûûüÿûüûÿûûûÿüûûÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿýüüÿýüüÿýýýÿýýýÿýýýÿýýþÿýýýÿþýýÿýýýÿþþýÿýþþÿþþþÿþþþÿþþþÿÿþþÿþþþÿþÿÿÿþÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯°°ÿ°¯¯ÿ¯¯¯ÿ¯°¯ÿ¯°¯ÿ¯°¯ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ°°°ÿ±°°ÿ°°±ÿ±±±ÿ±±°ÿ±±±ÿ±±±ÿ±±²ÿ²²±ÿ±±±ÿ²±²ÿ±²±ÿ²±²ÿ²²²ÿ²²²ÿ²²³ÿ²²³ÿ²²³ÿ³²²ÿ²³²ÿ³²³ÿ³³³ÿ³³³ÿ´´³ÿ³´³ÿ´³³ÿ´³´ÿ´³³ÿ³³´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿ´´´ÿ´´´ÿµµµÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿµ¶µÿ¶¶µÿµ¶¶ÿ¶µ¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ··¶ÿ·¶¶ÿ···ÿ··¶ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ···ÿ¸··ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿºº¹ÿ¹ººÿºººÿºººÿºººÿºº»ÿºººÿ»»ºÿ»º»ÿº»»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»¼ÿ»»¼ÿ¼¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ¼¼½ÿ½¼¼ÿ½¼½ÿ½½½ÿ½½½ÿ½½¾ÿ½½½ÿ½½½ÿ½¾½ÿ½¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¿¾ÿ¾¾¾ÿ¿¿¿ÿ¾¿¾ÿ¿¿¾ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀÀ¿ÿ¿¿Àÿ¿À¿ÿ¿ÀÀÿÀÀÀÿÁÀÀÿÁÀÀÿÀÁÀÿÀÁÀÿÁÁÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÂÂÿÂÂÂÿÂÂÁÿÁÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÄÄÿÄÃÄÿÃÄÃÿÄÃÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÄÿÄÄÅÿÄÄÄÿÄÄÅÿÅÄÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÆÅÿÆÆÅÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÆÿÇÇÆÿÇÆÆÿÇÆÇÿÇÇÆÿÇÇÇÿÇÈÇÿÇÇÇÿÇÇÇÿÇÈÈÿÇÈÇÿÇÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÉÈÿÉÉÈÿÈÈÉÿÉÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÊÉÉÿÉÊÊÿÊÊÊÿÊËÊÿÊÊÊÿÊÊÊÿËÊÊÿËÊËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËÌËÿËÌÌÿÌÌÌÿÌÌÌÿËÌËÿÌÌÌÿÌÌÍÿÍÌÌÿÍÌÌÿÍÍÍÿÌÍÌÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÎÿÍÍÍÿÍÍÎÿÍÍÍÿÎÍÍÿÎÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÎÎÎÿÏÏÎÿÎÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÐÐÏÿÐÐÏÿÐÏÏÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÒÑÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÔÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÔÿÔÔÓÿÔÔÔÿÕÔÔÿÔÔÔÿÕÕÔÿÔÔÕÿÔÕÕÿÔÕÕÿÕÕÕÿÕÔÕÿÕÕÕÿÖÕÕÿÕÕÕÿÕÖÖÿÖÖÕÿÖÕÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿÖ×Öÿ×ÖÖÿÖÖ×ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿØØ×ÿרØÿØ×ØÿØ××ÿØØØÿØØØÿØØØÿØÙØÿÙØØÿÙÙØÿÙÙØÿÙÙÙÿÙÙØÿÙÙÙÿÙÙÙÿÚÚÙÿÙÙÚÿÙÚÙÿÚÚÙÿÙÙÚÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÛÚÚÿÛÛÚÿÚÚÚÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÜÛÿÜÜÛÿÛÛÛÿÜÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÝÝÜÿÜÝÜÿÝÜÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÞÝÿÝÝÝÿÝÞÞÿÝÞÝÿÞÞÝÿÞÞÞÿÞßÞÿßÞÞÿÞÞÞÿßÞÞÿÞßßÿßßßÿßßßÿßßßÿßßßÿßßßÿßààÿßßßÿßààÿßàßÿàààÿàààÿàààÿàáàÿàààÿàáàÿàáàÿàááÿáááÿáááÿáááÿâááÿâááÿáââÿáááÿâââÿááâÿááâÿââáÿâââÿãâãÿããâÿãããÿâãâÿãããÿããâÿãããÿãããÿãããÿãäãÿããäÿãääÿääãÿäääÿäääÿäääÿäääÿääåÿäåäÿäääÿääåÿäääÿååäÿåååÿåæåÿååæÿååæÿæååÿæææÿææåÿæååÿæææÿææçÿæææÿçææÿçæçÿæçæÿçæçÿçæçÿçççÿçççÿçççÿçççÿççèÿçèèÿççèÿèèçÿèèçÿèèèÿèèéÿéèèÿèéèÿéééÿééèÿééèÿéééÿéééÿéééÿéééÿéêêÿééêÿéêéÿêêêÿêééÿêéêÿêêêÿêëêÿëëêÿëëêÿëêëÿëêëÿëêëÿëëëÿëëëÿëìëÿìëëÿìëìÿëììÿìëìÿìììÿìììÿìììÿíììÿíììÿíììÿììíÿíìíÿììíÿíííÿíííÿíííÿîîíÿíííÿîííÿíîîÿîîîÿîîîÿîîîÿîîîÿïîîÿîîïÿïîîÿïîîÿîïïÿïïïÿïïïÿïïïÿïïðÿððïÿðïðÿðððÿðððÿðððÿðððÿðððÿðððÿððñÿññðÿðñðÿñññÿðññÿñññÿñññÿñññÿñññÿññòÿòòòÿñòñÿòòòÿòòòÿòòòÿòòóÿòòòÿóòóÿóòóÿóòóÿòóóÿóóóÿóóóÿóóóÿóôóÿóóóÿôóôÿôôóÿôóôÿôôôÿôôôÿôôôÿôôôÿôõôÿõôôÿôõõÿõôõÿõõõÿõõõÿõõõÿõõõÿööõÿõõõÿööõÿöööÿööõÿöõöÿöööÿöööÿö÷öÿöö÷ÿöö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷÷÷ÿ÷øøÿøøøÿøøøÿøøøÿøùøÿøøùÿøùùÿøùùÿøøùÿùùøÿøùùÿùùùÿúùùÿúùùÿùúùÿúùùÿùùùÿúúúÿúúúÿúúùÿúúúÿúúúÿúûûÿûúûÿúûûÿûûûÿûûúÿûúûÿûûûÿüûûÿûûûÿûûüÿûüûÿûüüÿüüûÿüüüÿüüüÿýüüÿüýüÿüüüÿüýüÿýüýÿýýüÿýýýÿýýýÿýýýÿýýýÿþýýÿþýýÿþþþÿýþýÿþþþÿýþþÿþþþÿþÿÿÿþÿþÿþþþÿþÿÿÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯¯¯ÿ¯°¯ÿ°°¯ÿ°°¯ÿ°¯°ÿ°°°ÿ¯°¯ÿ°°°ÿ°°°ÿ±±°ÿ°°°ÿ°°°ÿ°°±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ±±²ÿ²²²ÿ²²²ÿ±²±ÿ²²²ÿ²²²ÿ²²³ÿ³³²ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´´´ÿ³³³ÿ³³³ÿ´³´ÿ´´´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿµµ´ÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶¶ÿµ¶µÿ¶¶¶ÿ¶µ¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ¶¶¶ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ···ÿ···ÿ¸·¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿº¹ºÿ¹¹ºÿº¹ºÿ¹º¹ÿºº¹ÿºººÿºººÿº»ºÿº»ºÿ»»ºÿ»»»ÿ»»»ÿ»»ºÿ»»»ÿ¼»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½½ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ½¾½ÿ¾¾½ÿ¾½½ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¿¿¾ÿ¾¿¿ÿ¿¾¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿÀ¿¿ÿÀ¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÁÿÀÁÁÿÀÀÀÿÀÀÀÿÀÁÁÿÁÀÀÿÁÁÁÿÁÂÁÿÂÁÁÿÁÁÂÿÁÁÂÿÁÁÂÿÂÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÃÿÃÂÂÿÃÂÂÿÃÂÂÿÃÂÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÃÃÿÃÃÃÿÄÃÄÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÅÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÆÅÆÿÅÆÆÿÆÆÆÿÆÅÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÇÆÿÇÆÆÿÇÇÆÿÆÆÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÈÿÈÇÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÉÉÿÈÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÊÉÉÿÉÊÉÿÊÉÉÿÊÊÉÿÊÊÉÿÉÊÉÿÊÊÊÿÊÊÊÿÊËÊÿÊÊÊÿÊÊËÿÊÊÊÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËÌÌÿÌËËÿÌÌÌÿËËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÍÌÿÌÌÌÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÎÎÿÎÍÎÿÎÎÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÏÿÎÏÏÿÏÏÎÿÎÏÎÿÎÏÏÿÏÏÏÿÏÏÏÿÏÐÏÿÐÏÏÿÏÐÏÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÏÿÐÐÐÿÐÐÑÿÐÑÐÿÐÐÑÿÑÐÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÑÑÿÑÑÑÿÑÒÒÿÒÑÒÿÑÒÒÿÒÑÒÿÒÒÓÿÒÒÓÿÒÒÒÿÓÓÒÿÓÓÓÿÒÒÓÿÓÓÓÿÓÒÓÿÓÓÓÿÓÓÔÿÓÓÓÿÔÓÔÿÔÓÔÿÓÔÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÔÔÿÔÔÕÿÕÔÕÿÔÔÔÿÕÕÔÿÕÕÔÿÕÕÕÿÕÕÕÿÖÕÕÿÕÕÖÿÕÕÕÿÖÖÕÿÕÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿ×××ÿÖÖÖÿ×Ö×ÿÖ××ÿ××Öÿ×××ÿ×××ÿ×××ÿ×××ÿ×רÿØØ×ÿØ××ÿ×רÿרØÿØØØÿØØØÿØØØÿØÙØÿØÙØÿØÙØÿÙÙÙÿÙØØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÙÚÿÚÚÙÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÛÿÚÛÚÿÚÛÛÿÚÚÛÿÛÚÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÜÛÿÛÜÜÿÜÜÛÿÜÛÜÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÝÿÝÝÝÿÝÝÜÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÞÝÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞßÿÞÞÞÿÞÞßÿÞÞÞÿßßßÿßÞßÿßßßÿßßßÿßßßÿßßßÿßàßÿàààÿßßàÿàßàÿàààÿàààÿàààÿàááÿàààÿàààÿàááÿáááÿááàÿáááÿáááÿáááÿáááÿâââÿââáÿââáÿâââÿâââÿâââÿâââÿâââÿâââÿãââÿâããÿããâÿãâãÿãããÿãããÿãääÿäããÿäääÿãäãÿääãÿäããÿäääÿäääÿåääÿäååÿäåäÿåäåÿäåäÿäååÿåååÿåååÿåååÿåååÿååæÿæææÿæææÿåæåÿæææÿæææÿæææÿæææÿææçÿçççÿçççÿçççÿçççÿçççÿçççÿçèçÿçèçÿççèÿçèçÿèçèÿèèèÿçèçÿèèèÿéèèÿèèèÿèèéÿéèèÿèéèÿèèéÿéééÿéééÿéêéÿéééÿéééÿêêêÿééêÿêêêÿêêêÿêêêÿêêëÿëëëÿëêëÿêêêÿëêëÿëëëÿëëëÿëëëÿëëëÿëëìÿëëëÿëëìÿìììÿìììÿìììÿìììÿìììÿíìíÿíìíÿíìíÿìíìÿìííÿííìÿíííÿíííÿíííÿííîÿîíîÿîîîÿîîîÿîíîÿîîîÿîîîÿîîîÿîïîÿîïîÿîîïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿðïïÿðððÿðïðÿïðïÿðïïÿðððÿðððÿðñðÿñðñÿñðñÿñðñÿñððÿñññÿñññÿñññÿñññÿñññÿñòñÿòòòÿòòñÿòòòÿòòòÿóòòÿòòòÿòòòÿòóóÿóóóÿóóòÿóóóÿóóóÿóôóÿóóôÿóóóÿôóóÿóôôÿôóóÿôóóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôõÿôôõÿõõõÿõõõÿõõõÿõõõÿöõõÿõöõÿöööÿöõöÿöööÿöööÿöööÿöööÿö÷öÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷ööÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿ÷øøÿ÷÷øÿø÷÷ÿøøøÿøøøÿøøøÿøùøÿùøøÿùøøÿùøøÿùøùÿùùùÿøùùÿùùùÿùúùÿùùùÿùúùÿúùúÿúùúÿúúúÿúúúÿúúúÿúûúÿúúúÿúûúÿûúúÿûúúÿûúûÿûûûÿûûûÿûûûÿûûûÿûûûÿüûûÿûüüÿüüûÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿüýüÿüüýÿýýýÿýýýÿýýýÿýýþÿýýýÿýþþÿýýýÿþýýÿþþýÿþþþÿþþþÿþþþÿþþþÿþÿþÿÿþÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°¯ÿ°¯¯ÿ¯°¯ÿ¯°¯ÿ°°°ÿ°°°ÿ°°±ÿ±°°ÿ±°°ÿ±°±ÿ±±±ÿ°°±ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±²±ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³³²ÿ³³³ÿ²²³ÿ²²³ÿ²²³ÿ³³³ÿ´´³ÿ³´³ÿ´³³ÿ´³³ÿ´´´ÿ´³´ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿ´´µÿµµ´ÿµµµÿ´µµÿµµµÿµµµÿµµµÿµµ¶ÿ¶µµÿµµµÿ¶µµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ··¶ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸¸·ÿ·¸¸ÿ¸·¸ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¹ÿ¸¸¹ÿ¸¹¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºº¹ÿºº¹ÿº¹ºÿº¹ºÿºººÿºººÿºººÿº»ºÿºººÿºº»ÿº»ºÿº»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ»»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ½¼¼ÿ¼½½ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½½½ÿ½¾½ÿ½½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¾¿ÿ¿¾¾ÿ¾¿¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀ¿Àÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÀÀÿÀÀÀÿÁÀÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÂÁÁÿÁÂÂÿÂÂÂÿÂÂÁÿÂÁÂÿÂÂÂÿÃÂÂÿÂÂÂÿÃÃÂÿÃÃÂÿÂÃÂÿÃÃÂÿÃÂÂÿÃÃÃÿÃÃÄÿÃÃÃÿÃÃÃÿÄÃÃÿÃÄÄÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÅÅÿÅÄÄÿÄÄÄÿÅÄÅÿÅÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÆÅÅÿÅÆÅÿÆÅÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÇÆÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÇÿÈÈÈÿÈÈÈÿÉÈÈÿÈÉÈÿÉÉÉÿÈÈÉÿÈÉÉÿÉÉÉÿÊÉÉÿÉÉÉÿÊÉÊÿÊÉÉÿÉÉÉÿÊÉÊÿÉÊÉÿÊÊÊÿËÊÊÿÊÊÊÿÊËÊÿÊÊÊÿËÊÊÿËÊËÿËÊËÿËÊËÿËËËÿËÌËÿËËËÿËËÌÿËËÌÿÌÌÌÿËÌËÿÌÌÌÿÌÌÌÿÌÍÌÿÍÌÌÿÍÌÌÿÍÌÌÿÌÌÌÿÌÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÍÍÿÍÎÍÿÎÎÎÿÍÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÏÿÏÐÏÿÏÐÐÿÐÏÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÐÿÐÐÑÿÑÐÐÿÐÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÒÒÑÿÒÒÒÿÒÒÒÿÑÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÒÒÿÒÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÔÓÔÿÔÓÓÿÔÓÔÿÔÓÔÿÔÓÔÿÔÔÔÿÔÔÕÿÔÔÔÿÔÔÔÿÕÕÕÿÕÔÕÿÕÕÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÖÖÿÕÖÖÿÖÕÖÿÕÕÕÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿ×Ö×ÿ×××ÿ×ÖÖÿÖ×ÖÿÖ×ÖÿÖ××ÿ×××ÿ×××ÿ×××ÿØØ×ÿרØÿ×רÿØ×Øÿ×רÿØØØÿØØØÿØØØÿØØØÿØÙØÿØØÙÿÙÙÙÿØÙØÿÙÙÙÿÙÙÙÿÚÙÙÿÙÙÙÿÚÙÙÿÚÙÙÿÚÚÙÿÚÙÚÿÚÚÚÿÚÚÚÿÚÛÚÿÚÚÚÿÛÛÛÿÚÚÛÿÛÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÛÛÿÛÛÜÿÛÛÛÿÜÛÛÿÜÜÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÝÜÿÜÜÝÿÜÝÝÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÞÝÝÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞßÿÞÞÞÿßßßÿÞßßÿßßÞÿßßßÿßßßÿßßßÿßßßÿàßßÿàßßÿßàßÿàààÿààßÿàààÿàààÿàààÿàáàÿààáÿáàáÿàáàÿáááÿáááÿáááÿáááÿâáâÿáááÿââáÿâááÿâââÿââáÿâââÿâããÿââãÿâãâÿããâÿââãÿããâÿãâãÿãããÿãããÿãããÿãääÿäããÿãääÿäääÿäääÿäääÿäääÿåääÿåääÿäåäÿäååÿåååÿäååÿååäÿåååÿååæÿååæÿåææÿåååÿæææÿæææÿææåÿæææÿæææÿæææÿæççÿçææÿçççÿçæçÿæææÿçççÿçççÿèççÿèèçÿçèèÿçèèÿççèÿèèèÿèèèÿèèéÿéèèÿèèèÿèèèÿéèéÿéééÿéééÿéééÿéééÿééêÿéééÿêéêÿéêéÿêêêÿéêêÿéêêÿêêêÿëêêÿêëêÿêêêÿëêëÿëêëÿëëëÿêëëÿëëëÿëëëÿììëÿëëëÿìëëÿìëëÿìììÿììëÿìììÿìíìÿìíìÿìììÿììíÿíííÿìíìÿíííÿíííÿíííÿíííÿíííÿîîîÿîîîÿîîîÿîîîÿîîîÿîîïÿîîîÿîîïÿîîïÿïïîÿïïîÿïïïÿïïïÿðïïÿïðïÿïððÿðïðÿðïðÿïïðÿïðïÿðððÿðððÿñððÿðððÿðððÿðññÿðñðÿðññÿñññÿñññÿñññÿññòÿññòÿòòòÿñòñÿòññÿòòòÿòòòÿòòóÿòòòÿòòòÿóòòÿòòòÿòóóÿóóóÿóóóÿóóóÿóóóÿôóóÿóóóÿóóóÿôôôÿôôôÿôôôÿôôôÿôôôÿôõôÿôôôÿõõôÿõõôÿõõõÿõõôÿõõõÿööõÿõöõÿööõÿõööÿõööÿõöõÿöööÿöööÿöööÿöööÿ÷÷÷ÿ÷÷öÿöö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿøøøÿ÷øøÿøøøÿøùøÿøøøÿùùøÿùùùÿøùùÿùùøÿùøùÿùùùÿùùùÿùùùÿùúùÿùùùÿùùùÿùúùÿùúúÿúúùÿúúúÿúúúÿúúúÿúúûÿúúûÿûúûÿûûûÿûûûÿûûûÿûüûÿüüûÿûüûÿûûüÿûüüÿüüûÿüüüÿüüüÿüüüÿüüüÿýüýÿüýüÿýýýÿýýýÿýýýÿýüýÿýýýÿýýýÿýýþÿýýþÿþýþÿþþþÿþýþÿþþþÿþþþÿÿþþÿÿÿþÿþþÿÿþÿþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯°ÿ°°°ÿ¯¯°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ°±±ÿ°°°ÿ°±°ÿ°±°ÿ°±±ÿ±±±ÿ±²±ÿ²²±ÿ²±±ÿ±±±ÿ²²±ÿ±²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²²²ÿ²²²ÿ³³³ÿ³³³ÿ²³³ÿ³³³ÿ´³³ÿ³´´ÿ³³³ÿ³³´ÿ³³´ÿ³´³ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿµ´´ÿ´µ´ÿµ´µÿ´µµÿµ´µÿµµµÿµµµÿµ¶¶ÿµµµÿµ¶µÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ···ÿ··¸ÿ¸¸·ÿ·¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¸ÿ¹¸¸ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹ºÿº¹¹ÿº¹¹ÿºººÿ¹¹ºÿºººÿºº»ÿºººÿ»º»ÿ»»ºÿ»»ºÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ»¼¼ÿ»¼»ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½½½ÿ½¼½ÿ¼½½ÿ½½½ÿ½¾½ÿ½½½ÿ¾½½ÿ½½½ÿ½½½ÿ½¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¿¾ÿ¾¾¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÀÀÁÿÀÁÀÿÁÀÁÿÁÁÁÿÀÀÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÂÁÿÁÂÁÿÂÂÁÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÂÃÃÿÃÂÂÿÂÂÃÿÂÃÃÿÃÂÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÄÃÿÃÃÃÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÄÄÿÄÄÅÿÅÄÅÿÅÅÄÿÅÄÅÿÅÅÅÿÆÆÅÿÅÅÆÿÅÆÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÇÆÿÇÇÆÿÇÇÆÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÇÿÈÈÈÿÈÈÈÿÇÈÈÿÈÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÉÈÈÿÉÈÉÿÉÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÊÊÊÿÊÉÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊËÿËËÊÿÊÊÊÿËËËÿËËÊÿËËËÿËËËÿËËËÿËËËÿÌËÌÿËËËÿÌÌÌÿÌËÌÿËÌÌÿÌÌÌÿÌÌÌÿÌÍÍÿÌÍÍÿÌÌÍÿÌÍÌÿÍÌÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÎÿÍÍÍÿÎÎÎÿÍÍÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÏÿÎÎÏÿÏÏÏÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÏÐÿÏÏÏÿÐÐÐÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÐÐÿÐÐÐÿÑÑÑÿÑÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÒÒÒÿÑÑÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÓÓÒÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÓÔÔÿÓÔÓÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÕÕÕÿÕÕÕÿÕÔÕÿÕÕÕÿÖÕÕÿÖÖÕÿÕÕÕÿÕÖÖÿÖÖÕÿÖÕÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿÖ×ÖÿÖÖ×ÿ××Öÿ×××ÿ×××ÿ×××ÿ×××ÿØØØÿר×ÿØ×ØÿØ×ØÿØØ×ÿØØØÿØÙØÿØØØÿØØÙÿØØØÿÙÙØÿÙØØÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÚÙÙÿÙÙÚÿÚÚÚÿÚÙÙÿÚÙÚÿÚÚÚÿÚÚÚÿÚÛÚÿÚÚÚÿÚÛÚÿÛÚÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÜÛÿÜÛÛÿÛÛÛÿÜÛÜÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÜÝÝÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÜÝÝÿÝÝÝÿÞÝÝÿÝÝÝÿÝÞÝÿÞÞÞÿÝÝÝÿÞÝÞÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞßÿßÞÞÿÞÞÞÿßÞßÿßßßÿßßßÿÞßßÿÝÞàÿßÞßÿàßßÿàààÿàààÿßßßÿàààÿàààÿáààÿàààÿàààÿáààÿáààÿáááÿáááÿáááÿáááÿáâáÿááâÿâáâÿáââÿâââÿáââÿâââÿâââÿâââÿãââÿââãÿããâÿãããÿããâÿãããÿãããÿãäãÿäããÿäãäÿäããÿääãÿäãäÿãääÿäääÿäääÿåääÿääåÿåäåÿåååÿäååÿåååÿåååÿåææÿåååÿåååÿæåæÿæåæÿæåæÿååæÿåææÿæçæÿæææÿçæçÿæçæÿçææÿççæÿçæçÿçççÿçççÿçèçÿèççÿèçèÿèèèÿèèèÿèèçÿèèèÿèèèÿèèéÿééèÿèéèÿèééÿééèÿèééÿéééÿéééÿéééÿééêÿéééÿêéêÿéêêÿéêéÿêêêÿêêêÿêêêÿêêêÿëëêÿëêëÿêêêÿëêêÿëëëÿëëëÿëëëÿëëëÿìëëÿìëëÿëìëÿììëÿìììÿìììÿìììÿìììÿííìÿíììÿíììÿìííÿìíìÿíííÿíííÿíííÿíííÿîîíÿîííÿîîîÿîîíÿîîîÿîîîÿîîîÿïîïÿîîîÿïîîÿïîïÿïïïÿîïïÿïïïÿïïïÿïïïÿïïïÿðïïÿððïÿïïðÿðïïÿðððÿðððÿññðÿððñÿðððÿðññÿññðÿñññÿñññÿñññÿñññÿñññÿñññÿññòÿñòñÿòòòÿòòòÿòòòÿòòòÿòòòÿòóòÿóóóÿòóóÿóóóÿóóóÿóóóÿóóóÿóóóÿôôóÿôóôÿôôôÿóôôÿôôôÿôôôÿõôôÿôõôÿôôôÿôõõÿõõõÿõôôÿõõõÿõõõÿõõöÿõõõÿõõöÿõõöÿöõöÿöõöÿõööÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿøøøÿø÷øÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿøùùÿùøùÿùøùÿøùùÿùùùÿùùùÿùúúÿùùùÿúúùÿùúúÿùùúÿúúúÿúúùÿúúúÿûûûÿûúúÿúúûÿûûûÿûúúÿûûûÿûûûÿûûûÿûüûÿûûûÿûüüÿüüûÿüüüÿüûüÿüüüÿüüüÿüüüÿýýüÿýüüÿýüüÿüüýÿüýýÿýýýÿýýýÿýýýÿýýýÿýþþÿýþýÿþþýÿþþþÿýþþÿþþþÿþþþÿþÿÿÿÿÿþÿþÿÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ¯°°ÿ°°°ÿ°°¯ÿ°°°ÿ°°°ÿ°°±ÿ°°°ÿ°°±ÿ°±±ÿ°±±ÿ±±°ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ±²²ÿ±²²ÿ²²²ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ³³³ÿ³³³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´³³ÿ´´´ÿ´´³ÿ³´´ÿ´´´ÿµµ´ÿ´µµÿµ´µÿµµµÿ´´µÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿµµ¶ÿ¶µµÿ¶µ¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶¶ÿ¶·¶ÿ¶··ÿ···ÿ···ÿ···ÿ¸··ÿ···ÿ···ÿ·¸·ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¸ÿ¸¸¸ÿ¹¹¹ÿ¸¸¸ÿ¹¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿºº¹ÿº¹¹ÿ¹¹ºÿºººÿ¹ººÿºººÿºººÿº»»ÿºººÿºº»ÿ»»»ÿ»º»ÿ»º»ÿ»»»ÿ»¼»ÿ»»¼ÿ»¼¼ÿ¼¼»ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼½ÿ½½¼ÿ½½¼ÿ¼¼¼ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¿¾ÿ¾¿¾ÿ¾¿¿ÿ¾¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀ¿ÀÿÀ¿¿ÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÁÁÿÁÁÀÿÀÀÁÿÁÀÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÁÁÿÂÁÁÿÂÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÂÿÂÂÃÿÃÃÃÿÃÂÃÿÃÂÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÄÄÿÄÄÄÿÃÄÃÿÄÄÃÿÄÃÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÅÿÅÅÄÿÅÄÅÿÅÅÄÿÄÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÆÿÅÆÆÿÆÆÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÇÆÿÇÇÇÿÇÇÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÈÿÈÇÈÿÇÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÉÉÿÈÉÈÿÈÉÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÊÉÿÉÉÉÿÊÉÉÿÊÊÉÿÉÊÊÿÉÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊÊÿÊÊÊÿÊËËÿÊËÊÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËÌÌÿÌËÌÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÍÍÌÿÌÍÌÿÍÍÌÿÌÍÌÿÍÍÌÿÍÍÍÿÍÍÍÿÎÍÍÿÎÍÎÿÍÎÍÿÍÎÎÿÎÍÎÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÎÎÿÎÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÐÏÏÿÐÐÏÿÐÐÏÿÐÐÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÑÐÿÑÐÑÿÑÐÐÿÐÐÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÒÒÑÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÓÿÓÓÔÿÔÓÔÿÓÔÓÿÓÔÔÿÓÔÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÕÕÔÿÕÔÕÿÔÕÕÿÕÕÕÿÕÕÕÿÖÕÕÿÕÕÕÿÖÖÕÿÕÕÖÿÕÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖ×Öÿ××ÖÿÖÖÖÿÖ××ÿ×××ÿ×××ÿ×××ÿ×רÿר×ÿØØ×ÿØØØÿØØØÿØØØÿØØØÿØÙØÿÙØÙÿÙØØÿØÙÙÿØØØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÚÙÙÿÙÚÙÿÚÚÚÿÚÚÙÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÚÿÚÛÚÿÛÚÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÛÛÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÝÝÝÿÝÜÝÿÝÜÜÿÜÝÜÿÝÜÝÿÝÝÝÿÝÞÝÿÝÝÝÿÝÞÝÿÝÝÝÿÝÝÝÿÝÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞßßÿÞÞÞÿÞÞÞÿßßÞÿ×ÚáÿÀÎåÿ¬ÃéÿŸ½êÿ¦Àéÿ·ÈçÿÉÒäÿÛÝáÿàßàÿàààÿàààÿàààÿààáÿàáàÿààáÿàááÿàááÿáááÿáááÿáááÿáááÿáááÿááâÿáááÿáââÿâââÿââáÿâââÿâââÿâãâÿãâãÿãâãÿâããÿãââÿãããÿãããÿãããÿãããÿääãÿãããÿãääÿäãäÿäãäÿäääÿäääÿäääÿäååÿäääÿääåÿåäåÿåååÿäååÿåååÿæååÿåæåÿæåæÿåææÿåææÿæåæÿæææÿæææÿæçæÿæææÿæææÿçççÿçççÿçæçÿæææÿçççÿçççÿçççÿèçèÿçççÿèçèÿèèèÿèèçÿèèçÿèèèÿèèèÿéèéÿéèèÿéééÿééèÿéééÿéééÿééêÿéééÿêééÿêééÿêéêÿééêÿêêéÿêêêÿêêêÿëêêÿêêëÿëêêÿëëëÿêêëÿêêêÿëëêÿëëëÿëëëÿìëëÿìëëÿëììÿìëìÿìììÿëììÿìììÿìíìÿìììÿìíìÿííìÿììíÿííìÿìííÿííìÿíííÿíîíÿíîíÿíííÿíííÿîîîÿîîîÿîîîÿîîîÿîîïÿîîîÿîîîÿïïïÿïîïÿïïîÿïïïÿïïïÿðïïÿïïïÿïïïÿïððÿðððÿðððÿïððÿðððÿðñðÿñððÿðñðÿñðñÿññðÿñññÿððñÿñññÿñññÿñññÿñòñÿòòòÿòòñÿñòòÿòòñÿòòòÿòòòÿóòòÿòòòÿóòóÿòóóÿòóóÿòóóÿóóòÿóóóÿóóóÿóóôÿôóôÿóóóÿóóôÿôôôÿóôôÿôôôÿõôôÿõõôÿõôôÿõôôÿõôõÿõôõÿõõõÿõõõÿõõõÿõõõÿõööÿõöõÿöööÿöööÿõööÿöööÿöööÿöööÿö÷öÿ÷÷öÿö÷öÿöööÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷÷ÿ÷÷øÿ÷÷øÿøø÷ÿ÷øøÿøøøÿøøøÿøøùÿøøùÿùøøÿøùùÿøùøÿùøùÿùùøÿùùùÿùùùÿùúùÿùùùÿúùúÿúúúÿúúúÿúúúÿúúúÿúûúÿûúúÿûúúÿúúûÿûúûÿûûûÿúúúÿûûúÿûûûÿûûûÿüûûÿüûûÿûüûÿûûüÿüüüÿüüüÿüüüÿüüüÿüüüÿýüüÿýýüÿýýüÿýýýÿýýýÿýýýÿýýýÿþýýÿýýþÿþýþÿþýýÿýþþÿþþþÿþþþÿþþþÿÿþþÿÿþþÿÿþÿÿÿÿÿÿþÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ¯¯¯ÿ°¯¯ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ°°°ÿ°±±ÿ°±°ÿ°°±ÿ±±±ÿ±±°ÿ±±±ÿ²±±ÿ±±±ÿ±²±ÿ²±²ÿ±±²ÿ²±²ÿ²²±ÿ²²²ÿ²³²ÿ²²²ÿ²²²ÿ³³²ÿ³³²ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´³³ÿ´³³ÿ³´´ÿ´´´ÿ³³´ÿ´´´ÿ´´´ÿµµµÿµ´´ÿµµµÿ´µµÿµµµÿµµ´ÿ´µ´ÿ¶µµÿµµµÿµµµÿµµ¶ÿ¶µ¶ÿ¶µ¶ÿ¶µµÿ¶µ¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ·¶·ÿ··¶ÿ¶·¶ÿ···ÿ··¶ÿ···ÿ···ÿ¸··ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ·¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¹¹¸ÿ¹¸¹ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹ºÿºººÿ¹ººÿºº¹ÿºººÿºººÿ»ººÿºº»ÿ»º»ÿ»»»ÿ»º»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»¼¼ÿ¼»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼½½ÿ¼¼½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½¾¾ÿ¾¾½ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¾¿¾ÿ¿¿¿ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿ÀÀÿ¿À¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÀÀÀÿÁÀÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÂÁÿÁÂÂÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÂÂÂÿÃÃÂÿÃÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÄÄÿÃÃÃÿÄÃÃÿÄÃÄÿÄÄÄÿÄÄÃÿÃÄÄÿÄÄÄÿÄÄÅÿÄÄÄÿÅÄÄÿÅÄÄÿÅÄÄÿÅÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÆÅÿÆÆÅÿÆÆÅÿÆÅÆÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÆÆÿÆÆÇÿÇÇÇÿÇÇÆÿÇÇÇÿÇÇÈÿÇÈÇÿÇÇÇÿÇÈÈÿÇÇÇÿÇÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÈÿÉÈÈÿÉÉÉÿÉÈÈÿÉÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÊÿÉÉÉÿÉÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿÊÊÊÿÊÊÊÿÊÊÊÿÊËËÿÊËËÿËËËÿËËËÿËËËÿËËËÿÌËÌÿËÌËÿÌÌÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÎÍÿÍÍÍÿÎÎÍÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÏÎÎÿÎÎÎÿÏÏÏÿÎÏÏÿÏÎÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÐÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÑÐÐÿÑÐÐÿÐÑÐÿÑÑÐÿÐÑÑÿÑÑÑÿÑÑÑÿÒÑÒÿÑÑÒÿÒÒÒÿÒÑÑÿÒÑÑÿÒÑÒÿÒÒÒÿÒÓÒÿÓÒÓÿÓÓÒÿÒÒÒÿÓÓÓÿÓÓÓÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÓÓÔÿÓÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÕÕÿÔÔÔÿÔÔÕÿÔÕÕÿÕÔÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÖÕÿÖÖÕÿÕÖÕÿÖÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿ××Öÿ×××ÿ×××ÿ×Ö×ÿÖ××ÿ×××ÿ×××ÿØ×ØÿØØ×ÿØ××ÿØØØÿר×ÿרØÿØØØÿÙØØÿØØÙÿÙÙØÿÙÙÙÿØØÙÿÙÙØÿÙÙØÿÙÙÙÿÚÙÙÿÙÙÙÿÙÙÙÿÙÚÚÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÛÿÛÚÚÿÚÚÛÿÛÚÚÿÛÛÚÿÛÛÛÿÛÛÛÿÛÜÛÿÛÜÛÿÜÛÛÿÛÜÛÿÜÛÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÝÝÜÿÝÜÜÿÝÜÜÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÞÝÞÿÝÞÞÿÞÝÝÿÞÝÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÝßßÿµÇçÿf¦ðÿ2šóÿ–ôÿ–ôÿ–ôÿ—ôÿHòÿx¬ïÿÄÏæÿßààÿàààÿàààÿàààÿáààÿàààÿááàÿàààÿàááÿàááÿáááÿáááÿááâÿáááÿâââÿââáÿâââÿâââÿâââÿâââÿâââÿâââÿâââÿââãÿâãâÿãããÿãâãÿããâÿãããÿãäãÿãäãÿäããÿääãÿäääÿãäãÿäääÿäääÿäääÿäääÿååäÿååäÿåååÿåäåÿåååÿåååÿåæåÿææåÿåæåÿååæÿåæåÿæææÿæææÿæææÿçæçÿçææÿçææÿçççÿæççÿçææÿççæÿçççÿèççÿçèçÿççèÿççèÿèççÿèèçÿèçèÿèèèÿèèèÿèéèÿéèèÿééèÿéééÿéééÿéèéÿéééÿééêÿééêÿéééÿêéêÿêéêÿêêéÿêêêÿêêêÿêêêÿêêêÿêêêÿêêëÿëëêÿëëëÿëêëÿëëêÿëëëÿëëëÿëëëÿëëìÿììëÿììëÿìììÿìììÿìììÿìììÿíìíÿìììÿììíÿìíìÿìììÿíííÿíííÿíííÿîííÿîíîÿííîÿîííÿîííÿîíîÿîîîÿîîîÿîîîÿïïîÿîïïÿïïîÿîïïÿïïïÿïïïÿïððÿïðïÿðïïÿïððÿðððÿððïÿððïÿðððÿðððÿðððÿðððÿðññÿñðñÿññðÿñññÿñðñÿñññÿñññÿòòñÿñòòÿñññÿññòÿòòñÿòññÿòòòÿòòòÿòòóÿóòòÿòòòÿòóóÿòóóÿóóóÿóóóÿóóóÿóóôÿóôóÿóôóÿôóôÿóôóÿóôôÿôôôÿôôôÿôõôÿôõôÿôõôÿôôõÿõôõÿõõôÿõõõÿõõõÿõõõÿõõõÿöõöÿõöõÿöõöÿöõöÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷ööÿöööÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿ÷÷÷ÿø÷÷ÿøøøÿ÷÷øÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøùùÿùùøÿùøùÿùøùÿùùùÿùùùÿúùùÿúùùÿùùùÿúùùÿúùúÿúúúÿúúúÿúúúÿúûúÿúúúÿûúúÿúûúÿûûûÿúûûÿûûûÿûûûÿûûûÿûûüÿüûûÿûûüÿüüûÿûüûÿüüüÿûüüÿüüüÿüüüÿüýüÿýýýÿüüýÿýýýÿýýýÿýýýÿýýýÿýýýÿýþýÿýýýÿþþýÿþýþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿÿÿþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®¯¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯°°ÿ°°°ÿ°°°ÿ°±°ÿ°°°ÿ°°°ÿ°°±ÿ°±±ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ±±²ÿ±±²ÿ±²±ÿ²²±ÿ²²²ÿ²²²ÿ³²²ÿ³³³ÿ³²²ÿ²³²ÿ²³²ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´´´ÿ³³´ÿ´´´ÿ´´´ÿµ´´ÿµ´µÿ´µ´ÿ´µµÿ´µ´ÿ´µµÿµµµÿµµµÿµ¶µÿµµµÿ¶µµÿ¶µ¶ÿ¶¶¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ···ÿ···ÿ·¶¶ÿ···ÿ···ÿ···ÿ···ÿ·¸¸ÿ¸¸·ÿ¸¸¸ÿ·¸¸ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿºººÿº¹¹ÿ¹ººÿ¹ººÿºººÿºº»ÿºººÿ»ººÿ»»»ÿ»ººÿ»»»ÿºº»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼¼»ÿ»»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ¼½¼ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½½¾ÿ½¾½ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¾ÿ¿¾¾ÿ¿¿¿ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀÀ¿ÿ¿¿Àÿ¿ÀÀÿ¿¿Àÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÁÿÁÀÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÂÂÁÿÁÁÂÿÂÁÂÿÂÂÁÿÂÂÂÿÂÂÂÿÃÂÂÿÃÃÂÿÂÃÂÿÂÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÄÄÿÃÄÃÿÄÃÃÿÄÄÄÿÄÄÄÿÄÅÄÿÄÅÄÿÅÅÅÿÅÅÄÿÅÄÅÿÅÅÅÿÄÅÅÿÅÅÅÿÅÆÅÿÅÅÅÿÅÆÅÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÆÆÿÇÆÆÿÆÇÇÿÆÇÆÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÈÇÇÿÈÈÇÿÈÈÇÿÇÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÉÿÉÈÉÿÉÈÈÿÈÉÈÿÉÉÈÿÉÉÉÿÉÉÈÿÉÉÉÿÉÊÉÿÉÊÉÿÉÊÊÿÊÉÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊËÿÊÊÊÿËÊËÿËËÊÿËÊËÿËÊËÿËÊËÿËËËÿËËËÿËËËÿËÌËÿÌÌËÿËÌËÿÌËÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÌÿÍÍÌÿÍÌÌÿÌÍÌÿÍÍÍÿÌÌÌÿÍÍÍÿÍÍÍÿÍÎÍÿÎÍÍÿÍÎÍÿÎÎÎÿÎÍÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÏÏÎÿÏÏÏÿÏÎÏÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÏÐÏÿÏÐÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÑÑÐÿÑÐÐÿÑÑÑÿÑÑÑÿÐÐÑÿÑÑÑÿÑÑÑÿÒÒÒÿÑÒÑÿÑÑÒÿÒÒÒÿÒÒÒÿÒÒÑÿÑÒÒÿÒÒÒÿÒÒÒÿÒÓÓÿÓÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÔÓÿÔÓÓÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÕÔÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÖÿÖÕÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿÖÖÖÿ×ÖÖÿ×ÖÖÿ×××ÿ×××ÿ×××ÿ×××ÿר×ÿØ×Øÿר×ÿרØÿØ×ØÿØØØÿØÙÙÿØÙØÿØØØÿØØØÿØØØÿØÙÙÿÙØØÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÙÿÚÙÚÿÚÙÙÿÚÙÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÚÛÚÿÚÛÛÿÛÚÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÛÜÛÿÛÜÜÿÜÜÜÿÛÜÛÿÛÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÝÜÜÿÜÜÝÿÝÜÜÿÝÝÝÿÝÜÜÿÝÝÝÿÝÞÝÿÝÝÝÿÝÞÝÿÝÝÝÿÞÝÞÿÞÞÝÿÝÝÞÿÞÞÞÿÞÞÞÿÙÛßÿ»ëÿ$—ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ$—ôÿ©ÁéÿÜÝáÿßààÿàààÿàààÿàààÿààáÿàáàÿáàáÿáàáÿáááÿáááÿáááÿáâáÿáâáÿáááÿááâÿáââÿâââÿâââÿâââÿâââÿâââÿâãâÿãããÿãâãÿãââÿãããÿãããÿãããÿãäãÿãäãÿäããÿãäãÿääãÿããäÿäääÿäääÿäääÿäääÿääåÿäåäÿåååÿåååÿåååÿåååÿåååÿååæÿåææÿååæÿæææÿæææÿæææÿæææÿæçæÿæææÿæææÿæçæÿçççÿçççÿçççÿçççÿçççÿççèÿèççÿçèèÿçççÿçèçÿèçèÿèèèÿèéèÿèèèÿéèèÿèèéÿéèèÿéèéÿéééÿéééÿêééÿéééÿéééÿêêêÿêééÿêêéÿêéêÿêéêÿêëêÿêêêÿêêêÿêëëÿëêêÿëêëÿëëëÿëëëÿëëëÿëëëÿëëëÿìëìÿëììÿìëìÿììëÿìììÿìììÿìììÿííìÿííìÿííìÿìííÿíííÿíííÿíííÿííîÿíííÿíííÿíííÿîíîÿîîîÿîîîÿîîîÿîîîÿîïîÿïïîÿïïïÿïïîÿïîïÿïîïÿïïïÿïïïÿïïïÿïððÿððïÿïïïÿïïïÿðððÿðððÿðððÿððñÿñððÿðññÿñððÿññðÿððñÿñññÿñññÿñññÿñòòÿòñòÿòòñÿñòòÿññòÿòòñÿòòòÿòòòÿóóòÿòòóÿóòòÿóóóÿòóóÿòóòÿóóóÿóóóÿôóóÿóóôÿôóóÿôóôÿóôôÿóôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõõÿõõõÿõõõÿõõõÿõõõÿõõöÿõõõÿõõõÿõööÿõööÿöööÿõööÿöööÿ÷ööÿö÷öÿ÷÷÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷øÿ÷÷øÿøøøÿøø÷ÿøøøÿøøøÿøùøÿùøøÿùùøÿùøùÿùùùÿùùùÿùùùÿùùùÿúùùÿúùúÿùúùÿúùùÿúúùÿúùúÿùúúÿúúúÿúúúÿûúúÿúûûÿúúúÿûûúÿûûûÿûúûÿûûûÿûûûÿûüüÿûûûÿüûüÿûüüÿüüûÿüüüÿüüüÿýüüÿüüüÿüýüÿýüüÿýýýÿýüýÿüýýÿýýýÿýýýÿýýýÿýýýÿþýýÿþþþÿþþýÿþþþÿþþþÿþÿþÿÿþþÿþþþÿÿÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯°°ÿ°°°ÿ°¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ°±±ÿ±°°ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ±²²ÿ²²±ÿ²²²ÿ±²²ÿ²²²ÿ²³²ÿ²²²ÿ²³²ÿ²³³ÿ³²²ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿµµµÿ´´µÿµµµÿµµµÿµµµÿµµµÿ¶µµÿµµ¶ÿ¶¶µÿ¶µ¶ÿµµ¶ÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ··¶ÿ·¶¶ÿ··¶ÿ¶·¶ÿ¶·¶ÿ···ÿ···ÿ·¸¸ÿ···ÿ¸··ÿ·¸·ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¹¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿº¹¹ÿº¹ºÿºº¹ÿºººÿºº¹ÿºººÿº»»ÿºººÿºººÿ»»ºÿ»ººÿ»»ºÿ»º»ÿ»»»ÿ»»»ÿ»¼»ÿ¼¼»ÿ¼»¼ÿ¼¼»ÿ¼»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½¼½ÿ¼½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ¾¾½ÿ½½½ÿ¾¾¾ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¿ÿ¾¾¾ÿ¾¿¿ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿ¿À¿ÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÁÁÿÀÀÀÿÁÁÀÿÀÀÁÿÀÁÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÂÁÿÂÂÂÿÂÂÂÿÂÂÃÿÂÃÃÿÃÂÂÿÂÃÂÿÂÃÂÿÃÃÃÿÂÃÃÿÃÃÄÿÃÃÃÿÃÃÄÿÄÄÃÿÃÄÃÿÄÄÃÿÃÄÃÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÅÄÿÄÅÄÿÅÅÅÿÅÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÆÆÿÅÆÅÿÅÅÅÿÅÅÅÿÆÆÆÿÆÆÇÿÆÆÆÿÆÆÆÿÇÇÇÿÇÆÇÿÇÇÇÿÆÆÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÈÇÿÈÇÇÿÈÇÈÿÈÇÇÿÈÇÇÿÈÈÈÿÈÈÈÿÉÈÉÿÉÉÈÿÈÈÈÿÉÈÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÊÊÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊËÊÿÊÊÊÿÊÊÊÿËÊËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËÌÌÿÌËËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÌÌÍÿÍÌÌÿÍÍÌÿÍÍÌÿÍÌÍÿÍÍÍÿÍÎÍÿÎÍÍÿÍÍÍÿÍÍÎÿÎÎÎÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÏÏÎÿÎÏÎÿÎÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÏÏÐÿÐÐÏÿÏÐÏÿÐÐÏÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÐÐÿÐÑÐÿÑÑÑÿÐÐÑÿÑÒÒÿÒÑÑÿÑÑÒÿÒÑÒÿÑÑÒÿÒÑÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÓÒÿÓÓÒÿÒÓÓÿÓÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÔÔÔÿÓÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÕÿÔÕÕÿÔÕÔÿÔÕÕÿÔÔÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÖÕÿÕÕÖÿÕÕÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿ××ÖÿÖÖÖÿ×××ÿ×××ÿ×××ÿ×רÿØ×Øÿ×××ÿØØØÿØ××ÿØØØÿØØØÿØØØÿØØÙÿÙÙØÿØØØÿÙØÙÿØØÙÿØÙÙÿØØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÙÙÙÿÚÚÚÿÚÚÚÿÚÙÚÿÚÚÚÿÚÚÚÿÛÚÛÿÚÚÛÿÛÚÛÿÛÚÛÿÛÛÚÿÛÚÚÿÛÛÛÿÛÜÛÿÛÜÛÿÜÛÜÿÛÛÜÿÛÜÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÝÿÝÜÜÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÝÿÝÝÝÿÝÞÞÿÞÝÝÿÞÞÞÿÝÞÞÿ—¹ìÿ •ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ—ôÿ¢¿êÿÜÞáÿàààÿàààÿàáàÿàààÿàààÿàááÿáààÿáááÿàááÿáááÿáááÿáâáÿáááÿáââÿâââÿáââÿââáÿâââÿâââÿâãâÿâãâÿââãÿãããÿâââÿãããÿãããÿãããÿãããÿãääÿäããÿäããÿäääÿääãÿäääÿäääÿäääÿäääÿååäÿååäÿääåÿåååÿåååÿåäåÿååæÿåååÿæææÿåæåÿææåÿåææÿæææÿæææÿæææÿæææÿææçÿææçÿçççÿçççÿçççÿçççÿçççÿççèÿçççÿççèÿççèÿèèçÿçèçÿçèèÿèèèÿèééÿèèèÿéèéÿèèéÿééèÿéèéÿéééÿéééÿéééÿéééÿêééÿéêéÿééêÿéêêÿêêêÿêêêÿêêêÿêêêÿêëêÿëëêÿëëêÿëëêÿëëëÿëëëÿëëëÿëëëÿìììÿëëìÿëëìÿëëìÿìììÿìììÿìììÿìíìÿìììÿíììÿìíìÿííìÿíìíÿíííÿíííÿíííÿíîíÿîîíÿíîíÿîíîÿîîîÿíîíÿîîîÿîïîÿîïïÿîîïÿîïîÿïîîÿîïïÿïïïÿïïïÿïïïÿïïïÿðððÿïðïÿðïïÿðððÿðððÿððïÿðñðÿññðÿðððÿññðÿñññÿðñðÿðññÿñññÿñññÿñññÿññòÿñññÿñòñÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿóòóÿòòòÿóóóÿóòòÿóóòÿóóóÿóóóÿóóóÿóôóÿôôóÿôôóÿóóôÿôôôÿôôôÿôôôÿôôôÿõôõÿõôôÿôôõÿôôôÿõõôÿõõõÿõõõÿõõöÿöõõÿõöõÿöööÿöööÿõõõÿöööÿöööÿöö÷ÿ÷÷öÿö÷÷ÿöööÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿøø÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿø÷øÿøøøÿøøøÿøøùÿøùøÿøøøÿøøøÿùùùÿùøùÿùùùÿùùùÿùùùÿùùùÿúúùÿúúúÿùùúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿûúúÿûúûÿûûúÿûúúÿûûûÿûûûÿûüûÿûûûÿûûûÿüûûÿüüüÿüüûÿüüüÿüüüÿüüüÿýüüÿýüüÿüüüÿüüüÿýüýÿýýüÿýýýÿýýýÿþýýÿþþýÿýþþÿþþþÿýþýÿþýþÿþþþÿþþþÿþþþÿþþþÿþÿÿÿþÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯®®ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°°ÿ¯¯°ÿ°°¯ÿ°°°ÿ°°°ÿ¯°°ÿ°°°ÿ°°°ÿ°±±ÿ°°°ÿ°±°ÿ°°±ÿ°±±ÿ±±±ÿ±±±ÿ²±±ÿ±±²ÿ²±±ÿ²±²ÿ²²²ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ³³²ÿ²²³ÿ²³³ÿ²²³ÿ³³²ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´³³ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµµ´ÿµµ´ÿ´´´ÿµµµÿµµµÿµµµÿµ¶µÿµµµÿµµ¶ÿµ¶µÿ¶¶¶ÿ¶¶µÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ···ÿ¶··ÿ·¶¶ÿ···ÿ···ÿ¸··ÿ·¸·ÿ¸··ÿ¸¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¹¸¸ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿºº¹ÿ¹¹¹ÿº¹ºÿºººÿº¹ºÿºººÿ»ººÿºººÿ»»ºÿºº»ÿ»»ºÿ»ººÿ»»»ÿ»»»ÿ¼»»ÿ»¼»ÿ»¼¼ÿ»¼»ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼¼ÿ½¼½ÿ¼¼½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ¾½¾ÿ½½¾ÿ¾½¾ÿ½¾¾ÿ¾¾½ÿ¾¾¾ÿ¿¾¿ÿ¿¿¿ÿ¾¾¿ÿ¾¿¿ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿Àÿ¿À¿ÿÀÀÀÿ¿ÀÀÿÀ¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÀÿÁÁÁÿÀÁÀÿÁÁÁÿÀÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÂÿÁÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÂÂÂÿÂÃÂÿÂÂÃÿÂÃÂÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÄÄÿÄÄÄÿÄÃÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÄÿÄÄÄÿÅÅÅÿÅÅÄÿÅÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÆÆÅÿÅÆÅÿÆÆÅÿÅÅÅÿÅÅÆÿÆÆÆÿÆÆÆÿÆÆÇÿÇÇÆÿÆÇÆÿÇÆÆÿÆÆÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÉÈÈÿÉÈÉÿÈÈÉÿÉÉÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÊÿÉÊÊÿÉÊÉÿÉÊÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊËÊÿËÊÊÿËËÊÿËÊËÿÊËËÿËËÊÿÊËÊÿËËËÿËËËÿËÌÌÿËÌËÿËÌÌÿÌÌÌÿÌÌÌÿÌÌËÿÍÌÌÿÌÌÌÿÍÌÍÿÌÌÍÿÍÍÌÿÍÍÌÿÍÍÌÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÎÿÎÍÍÿÍÎÍÿÎÎÍÿÎÎÎÿÎÍÎÿÎÎÎÿÎÎÎÿÏÎÎÿÏÏÏÿÏÎÎÿÎÎÎÿÏÏÏÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÐÿÏÏÏÿÏÏÐÿÐÐÐÿÏÏÐÿÐÐÐÿÐÐÐÿÐÑÐÿÑÐÑÿÑÑÐÿÐÐÑÿÑÑÑÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÒÑÑÿÒÒÒÿÒÒÑÿÑÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÓÒÓÿÒÓÒÿÒÓÓÿÒÓÒÿÓÓÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÕÿÕÕÔÿÔÕÔÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÖÕÖÿÕÖÖÿÖÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿ×ÖÖÿ×Ö×ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿØ××ÿ×××ÿØØØÿØØØÿØØØÿØØØÿØØØÿØØØÿÙØØÿØØÙÿÙØÙÿÙØØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÚÙÚÿÙÚÚÿÚÚÙÿÚÚÙÿÚÙÙÿÚÙÚÿÚÚÚÿÚÛÚÿÚÚÚÿÚÚÛÿÚÚÛÿÛÛÚÿÛÛÚÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÜÛÛÿÛÛÛÿÛÜÛÿÜÜÜÿÜÛÜÿÜÜÝÿÜÝÝÿÜÜÜÿÜÜÜÿÜÝÝÿÝÜÝÿÝÜÝÿÝÜÜÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÞÿÝÞÝÿÞÞÝÿÝÞÞÿ²Æçÿ-˜óÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ'˜óÿÅÐåÿàßàÿàààÿàààÿàáàÿàááÿáàáÿáááÿáááÿáàáÿáàáÿáááÿáâáÿáááÿâáâÿáââÿâââÿâââÿââáÿâââÿâââÿâââÿâãâÿãããÿãââÿããâÿãããÿãããÿãããÿäããÿäããÿãäãÿääãÿäããÿäãäÿäääÿäääÿäääÿäääÿäååÿääåÿåååÿåäåÿåäåÿåååÿåååÿåååÿææåÿååæÿææåÿæææÿæææÿæææÿæççÿæææÿæææÿçççÿçççÿçççÿççæÿçççÿçççÿèèçÿèçèÿèççÿèèçÿèçèÿèèçÿèçèÿèèèÿéèèÿèèèÿéèèÿééèÿéèéÿééèÿéééÿéééÿééêÿééêÿéééÿééêÿêêêÿêêêÿêêêÿêêêÿêêêÿêêêÿêëêÿêêëÿêëëÿêëêÿëëëÿëëëÿëëëÿëëìÿììëÿìëëÿìììÿìëëÿììëÿìììÿìììÿìíìÿíííÿíììÿìììÿíííÿíííÿíííÿíííÿíííÿíííÿîîîÿíííÿííîÿíîîÿîîîÿîîîÿîîîÿïîîÿîîïÿïïîÿïïîÿïïïÿïïïÿïïïÿïïïÿðïðÿïððÿïïðÿðïïÿïïðÿðððÿðððÿðððÿðñðÿñðñÿññðÿðññÿðñðÿñññÿñññÿñññÿñòòÿñññÿñòñÿòññÿòñòÿòòòÿòòòÿòòòÿòòóÿòóóÿòòòÿòóóÿòóóÿóòóÿóóóÿóóóÿóóóÿóóóÿôóôÿóôóÿôóóÿôóóÿôôôÿôôôÿôôôÿõõôÿôõôÿõôôÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿõõöÿõööÿöööÿõõöÿööõÿõööÿöööÿöööÿö÷÷ÿ÷ö÷ÿöööÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿ÷øøÿø÷÷ÿ÷ø÷ÿ÷÷÷ÿøøøÿøøøÿøøøÿøùøÿøøøÿùøùÿøùøÿøøùÿùøøÿùùùÿùùùÿùúùÿùùùÿúúúÿúùúÿùúùÿúúúÿúúúÿúúúÿúúúÿúúúÿúûúÿûúûÿûûûÿúûúÿûûúÿûûûÿûûûÿûûûÿûûüÿûûüÿüûüÿûüüÿüüüÿüüüÿüüüÿüüüÿüüüÿýýýÿýýüÿüýýÿýýüÿýýüÿýýýÿýýýÿýýþÿýýýÿýþþÿþýþÿþþþÿýþþÿþþþÿþþþÿþþþÿþÿþÿþþþÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯¯¯ÿ®¯¯ÿ¯¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯°ÿ°°°ÿ°¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°±±ÿ±°±ÿ±±±ÿ±±±ÿ±°±ÿ±±±ÿ±±±ÿ±²±ÿ²²²ÿ±±±ÿ±²²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²²²ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ³³´ÿ´³´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµ´´ÿ´´µÿ´µ´ÿ´µµÿµµ´ÿµµµÿµµµÿµµ¶ÿµµµÿ¶µ¶ÿ¶µ¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ··¶ÿ·¶¶ÿ·¶¶ÿ··¶ÿ·¶·ÿ·¶·ÿ···ÿ···ÿ¸··ÿ···ÿ···ÿ¸·¸ÿ¸¸¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¸¸¸ÿ¹¹¹ÿ¹¸¸ÿ¸¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿº¹¹ÿºººÿº¹ºÿºººÿ»ººÿºººÿ»»ºÿ»ººÿº»ºÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»¼¼ÿ¼¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ½½¼ÿ¼¼¼ÿ½¼¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½¾ÿ½½½ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¿¾ÿ¿¾¾ÿ¾¿¿ÿ¿¾¿ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿ÀÀÿÀÀÀÿ¿ÀÀÿÀÀÀÿÁÀÀÿÁÁÀÿÀÀÁÿÀÁÁÿÁÀÁÿÁÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÂÁÿÁÁÁÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÃÂÃÿÂÂÂÿÂÂÂÿÂÂÃÿÃÂÂÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÃÿÃÃÃÿÄÃÄÿÃÃÃÿÃÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÄÿÅÅÅÿÅÅÅÿÅÄÄÿÅÅÅÿÄÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÆÆÿÅÆÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÇÆÿÆÆÆÿÆÆÆÿÇÇÇÿÇÇÇÿÆÇÆÿÇÇÇÿÇÇÇÿÈÇÇÿÇÈÈÿÇÈÇÿÈÈÈÿÈÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÉÈÿÈÉÈÿÉÈÈÿÉÈÈÿÉÉÉÿÉÉÉÿÉÊÉÿÉÉÉÿÊÊÉÿÉÉÊÿÉÊÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊÊÿÊËÊÿÊËËÿËËËÿËËËÿËËËÿËËÌÿÌËËÿÌÌÌÿËÌËÿÌËÌÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÍÿÌÍÍÿÌÍÍÿÍÍÌÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÎÍÎÿÍÎÍÿÍÍÍÿÎÎÎÿÎÍÎÿÎÎÎÿÎÎÎÿÎÏÎÿÏÎÏÿÏÎÎÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÎÏÏÿÏÐÐÿÐÏÏÿÏÐÐÿÏÏÐÿÏÐÐÿÐÐÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÐÿÑÑÑÿÐÑÐÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÑÒÑÿÒÑÒÿÒÑÑÿÒÑÑÿÒÒÒÿÑÒÒÿÒÑÒÿÓÒÒÿÒÒÒÿÒÓÓÿÒÒÒÿÓÒÒÿÓÒÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÓÓÓÿÓÔÔÿÔÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÕÕÿÕÔÕÿÕÕÔÿÕÕÔÿÕÕÕÿÕÕÕÿÖÕÕÿÖÕÕÿÖÖÕÿÕÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿ×Ö×ÿ××ÖÿÖ×Öÿ××Öÿ×Ö×ÿ×××ÿ×××ÿ×××ÿØ××ÿ×××ÿØ×ØÿØ×ØÿØ×ØÿØØØÿØØØÿØØØÿØØØÿØØØÿÙØÙÿØÙÙÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÚÙÿÙÙÙÿÙÚÙÿÚÚÙÿÚÙÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÛÚÚÿÚÚÛÿÛÚÛÿÛÛÛÿÜÛÛÿÛÜÛÿÛÜÛÿÜÛÛÿÜÜÛÿÜÜÛÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÜÜÜÿÜÜÝÿÝÜÝÿÝÝÜÿÝÝÝÿÝÞÝÿÝÝÝÿÞÞÞÿÝÝÝÿÞÞÞÿÔ×àÿe¥ðÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿd¤ñÿØÚâÿàààÿàààÿàààÿàààÿàààÿáàáÿàááÿáááÿààáÿàááÿáááÿáááÿááâÿáââÿáááÿââáÿâââÿââáÿâââÿâââÿâââÿãââÿâââÿâãâÿãããÿãââÿãããÿãããÿããäÿãããÿããäÿäääÿãääÿäãäÿäääÿåääÿåääÿååäÿåääÿåääÿåäåÿåäåÿåååÿåååÿååæÿåååÿåååÿåæåÿååæÿæææÿæææÿæææÿæææÿçææÿæççÿççæÿææçÿçæçÿçççÿèççÿçççÿçççÿççèÿççèÿèèèÿçèèÿèèèÿèèèÿéèèÿèèèÿèéèÿéèéÿéééÿèééÿéèéÿééèÿéééÿéééÿéêéÿéêéÿéééÿêêéÿêêéÿêêêÿêêêÿêêêÿêêêÿêêëÿëêëÿëëëÿëêëÿëëëÿëëëÿëëëÿëëëÿìììÿììëÿìëëÿëììÿìììÿìììÿìììÿìíìÿììíÿììíÿíìíÿíííÿíìíÿíííÿíííÿíííÿíííÿíîíÿîíîÿîîîÿîîîÿîíîÿîîîÿîîîÿîîïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿðïðÿïïïÿðððÿðððÿðððÿðððÿððñÿðñðÿðñðÿððñÿñððÿñññÿñññÿñññÿñññÿñññÿòòñÿñòòÿòññÿòñòÿòòòÿòòòÿòòòÿòóòÿòòóÿóòòÿóóòÿóóóÿóóóÿóóóÿóóóÿôóôÿóôóÿóôôÿôôóÿóôôÿôôóÿôôôÿôôôÿôôõÿôôôÿôôõÿôôôÿõôôÿõõõÿõõõÿõõõÿõõõÿõõöÿõööÿöööÿööõÿöööÿöööÿöööÿöööÿöö÷ÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿøøøÿ÷øøÿ÷ø÷ÿø÷øÿ÷ø÷ÿøøøÿøøøÿøùùÿøùùÿùøùÿùùøÿùùùÿùùøÿùùùÿùùùÿùùùÿùùúÿùùùÿùùúÿùúùÿúúùÿúúúÿúúúÿúúúÿúûúÿúûûÿúúûÿúúûÿûûûÿûûûÿûûûÿûüûÿüûûÿûûûÿûüüÿüüûÿûüüÿüüüÿüüüÿüüüÿýüüÿüýüÿüýüÿüýüÿýýýÿüýýÿýýýÿýýýÿþýýÿýýýÿýþþÿþýþÿýýýÿþþþÿþýþÿþþþÿþþþÿþþþÿþÿþÿþþþÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯®¯ÿ¯¯®ÿ¯¯®ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ°¯°ÿ¯°°ÿ¯°°ÿ°¯°ÿ°°°ÿ°°°ÿ°±°ÿ°±°ÿ°°°ÿ±°±ÿ°°°ÿ°±±ÿ±±±ÿ±±±ÿ±²±ÿ²±²ÿ²±±ÿ±±±ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²²³ÿ³³³ÿ²²²ÿ³²²ÿ²³²ÿ²³³ÿ³³³ÿ³³³ÿ´³³ÿ³´´ÿ´³´ÿ´´´ÿ´´´ÿ´³´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿ´´µÿµµ´ÿµµµÿµµµÿµµµÿµµµÿ¶¶µÿµ¶µÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ¶¶·ÿ···ÿ·¶·ÿ·¶·ÿ···ÿ··¸ÿ¸··ÿ··¸ÿ¸·¸ÿ·¸·ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¸¹¹ÿ¸¸¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹º¹ÿ¹¹¹ÿºººÿº¹ºÿºººÿºººÿºººÿº»ºÿºººÿ»»ºÿºº»ÿ»»»ÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼»»ÿ¼»¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼½¼ÿ½¼½ÿ½¼½ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿À¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÁÁÁÿÁÁÁÿÀÀÁÿÀÀÁÿÁÁÁÿÂÁÁÿÂÂÂÿÂÁÁÿÂÂÂÿÂÁÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÃÂÿÃÃÂÿÂÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÃÃÿÄÃÃÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÅÿÄÅÄÿÅÅÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÅÅÆÿÅÅÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÇÇÿÆÆÇÿÆÇÆÿÇÇÆÿÇÇÇÿÇÇÇÿÈÈÇÿÇÇÇÿÇÈÇÿÇÇÇÿÈÈÈÿÈÈÈÿÈÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÉÉÿÈÈÉÿÉÈÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÊÿÉÉÉÿÉÊÊÿÊÊÊÿÊÊÊÿÉÊÊÿÊÊÊÿÊËÊÿÊÊÊÿËÊÊÿÊËËÿËËËÿÊÊËÿËÊËÿËËËÿËËËÿËËËÿËÌËÿÌËÌÿËËËÿËÌËÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÌÿÌÍÍÿÌÌÌÿÍÍÍÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÎÎÿÍÎÎÿÎÎÍÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÎÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÐÏÏÿÏÐÐÿÏÐÏÿÏÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÑÿÐÐÐÿÐÐÐÿÑÐÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÒÒÑÿÒÒÑÿÒÑÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÓÒÓÿÓÓÓÿÓÓÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÔÔÓÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÔÕÿÕÕÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÕÕÿÖÕÖÿÕÖÖÿÖÖÖÿÖÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿ××ÖÿÖÖÖÿ×ÖÖÿÖ×ÖÿÖ×ÖÿÔÕØÿÃÌÞÿ­ÂãÿªÀäÿµÅáÿÎÒÚÿÕרÿØØØÿØØØÿØØØÿØØÙÿØØØÿØØÙÿØÙÙÿÙØØÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÙÿÙÚÙÿÚÚÚÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÛÿÛÚÚÿÚÚÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÛÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÜÜÜÿÝÜÝÿÝÜÜÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÞÞÝÿÞÞÝÿŸ¼êÿ•ôÿ•ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ•ôÿ ¼ëÿàßàÿàààÿàààÿàààÿàààÿàáàÿàààÿàáàÿáááÿáááÿáááÿáááÿáááÿáááÿââáÿâáâÿáââÿáââÿáââÿâââÿâââÿââãÿââãÿãããÿãâãÿãããÿããâÿãããÿãäãÿãããÿäääÿãääÿãäãÿãääÿäääÿäääÿåääÿäåäÿäääÿåååÿäääÿååäÿåååÿåååÿåååÿåååÿåååÿåååÿãåæÿÜßçÿÆÓêÿ»ÍìÿÀÏëÿÓÚêÿääçÿåææÿçææÿççæÿæçæÿçæçÿçççÿçççÿçèçÿçççÿçèèÿèèèÿçèèÿèèèÿèèèÿèèèÿèèèÿéèéÿèééÿéééÿéééÿèéèÿéééÿéééÿéééÿêééÿêêêÿééêÿéêêÿêêêÿêêêÿêêêÿêëëÿêêêÿêëêÿëëëÿëëêÿëëëÿëëëÿìëëÿìëìÿëëëÿëëëÿëììÿëëìÿìììÿììëÿìììÿìììÿìììÿíììÿíííÿìííÿíìíÿíííÿíííÿíííÿíííÿíîíÿîííÿîîíÿîîîÿîîîÿîîîÿîîîÿîîîÿïîîÿïïîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿðððÿïïïÿðððÿðïðÿðïðÿðððÿðððÿðððÿðððÿñððÿñññÿññðÿñððÿñðñÿñññÿòñòÿñòòÿòñòÿòòòÿòññÿòòòÿòòñÿòòòÿòòòÿòòòÿóòóÿóòóÿóóóÿóòóÿóóóÿóóóÿóóóÿóôóÿôôóÿóóóÿôôôÿôôóÿôôôÿôôôÿôôôÿôôôÿõôõÿõôõÿôôôÿôõõÿõõõÿõõõÿõõõÿõõõÿõöõÿõõöÿöõõÿöööÿöõöÿöööÿöööÿöööÿöööÿ÷÷öÿ÷÷÷ÿ÷÷öÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿø÷÷ÿøø÷ÿøøøÿøøøÿøøùÿøøøÿøùùÿùùùÿùùùÿùùùÿùùùÿùùúÿùúùÿùùùÿùùúÿúúùÿúúúÿùùúÿúúúÿúúúÿûúúÿúúûÿûûûÿûûúÿúúúÿûûúÿûûûÿûûûÿûûûÿûûûÿüûûÿüûûÿûüûÿüüüÿüüüÿüüüÿüüüÿüüüÿüüýÿüýýÿýüýÿýüýÿýüüÿüýýÿýýýÿýýýÿýþýÿýýýÿþþýÿþþþÿýýþÿþþþÿþþþÿþþþÿþþþÿÿÿÿÿÿÿÿÿÿþÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®®®ÿ®®®ÿ®®®ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ°°°ÿ°¯¯ÿ°°°ÿ°°¯ÿ°°°ÿ°°°ÿ±°°ÿ°±°ÿ±°±ÿ°±±ÿ±±±ÿ±°±ÿ±±±ÿ±±±ÿ±²±ÿ±±²ÿ²²±ÿ²±±ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²²³ÿ²³³ÿ³²²ÿ³³³ÿ³²³ÿ³³³ÿ´³³ÿ³³³ÿ´³³ÿ³´³ÿ´´³ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿµµ´ÿµ´´ÿµ´µÿ´µµÿµµµÿµµ¶ÿµµµÿ¶¶µÿµ¶¶ÿµ¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ··¶ÿ·¶·ÿ¶··ÿ·¶¶ÿ···ÿ···ÿ··¸ÿ··¸ÿ···ÿ·¸¸ÿ¸·¸ÿ¸·¸ÿ···ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¹ÿ¸¹¹ÿ¸¸¸ÿ¹¸¹ÿ¸¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹º¹ÿº¹¹ÿ¹¹¹ÿº¹ºÿºººÿ»ººÿºººÿº»»ÿºº»ÿ»»»ÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ¼¼»ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½¼½ÿ½½¼ÿ½½½ÿ¼½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½½¾ÿ¾¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¿¾ÿ¿¾¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀ¿¿ÿÀÀÀÿÀ¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÁÁÀÿÁÁÁÿÀÀÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÂÁÂÿÁÁÁÿÂÂÂÿÂÂÁÿÂÃÂÿÂÂÂÿÂÂÃÿÃÃÃÿÂÃÂÿÂÃÂÿÂÃÃÿÃÂÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÄÃÿÄÄÃÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÅÄÄÿÅÅÅÿÅÄÄÿÅÄÄÿÅÄÅÿÅÄÄÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÆÆÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÇÇÿÇÇÇÿÇÆÇÿÆÇÇÿÇÇÇÿÇÆÇÿÇÇÆÿÇÇÇÿÇÈÈÿÇÇÇÿÈÈÈÿÈÇÇÿÈÈÈÿÈÇÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÉÈÿÉÈÈÿÈÉÈÿÉÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÉÉÊÿÉÊÉÿÊÊÉÿÊÊÉÿÊÉÊÿÊÊÊÿÊËÊÿËÊÊÿÊÊÊÿËÊÊÿÊÊËÿËÊÊÿËËËÿËËËÿËËËÿËËÌÿÌÌÌÿËÌËÿËËÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÍÌÍÿÍÌÍÿÍÌÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÎÍÿÍÍÎÿÍÎÍÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÏÏÎÿÏÏÎÿÏÏÏÿÏÎÏÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÐÏÿÏÏÏÿÐÏÏÿÏÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÐÿÑÐÑÿÑÑÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÑÿÑÑÑÿÒÒÑÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÓÒÿÒÓÓÿÒÓÓÿÒÒÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÔÓÔÿÔÔÓÿÓÓÓÿÓÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÕÕÿÕÕÕÿÕÔÕÿÕÕÕÿÔÕÕÿÕÕÕÿÕÕÖÿÕÖÕÿÕÖÖÿÕÕÕÿÕÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖÖÖÿÖÖ×ÿÊÐÛÿ »åÿV¡ðÿ–ôÿ–ôÿ–ôÿ•ôÿ–ôÿ~­ìÿºÇàÿÖÖØÿרØÿØØØÿØØØÿØØØÿØØÙÿØÙØÿÙØØÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÚÿÙÙÙÿÚÚÙÿÙÙÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÚÛÚÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÜÜÿÛÛÛÿÜÜÛÿÛÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÝÝÜÿÝÜÜÿÝÜÝÿÜÝÝÿÝÜÝÿÝÜÝÿÝÝÝÿÝÝÝÿÞÞÝÿÈÑãÿ-—óÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿRŸòÿÍÕäÿàààÿàààÿàààÿàààÿàààÿáááÿàááÿáááÿáàáÿáááÿáááÿáááÿâááÿáááÿâáâÿáâáÿáááÿâââÿâáâÿâââÿââãÿâââÿãâãÿããâÿâããÿâââÿãããÿãããÿãããÿäããÿãäãÿãäãÿäããÿäãäÿäääÿäääÿäåäÿåääÿääåÿåäåÿäåäÿåååÿäååÿåååÿåååÿàâæÿÀÏêÿƒ°ðÿ%–ôÿ“ôÿ“ôÿ“ôÿ“ôÿa£òÿ¯ÆíÿÛßèÿçæçÿçææÿçæçÿçççÿççèÿèççÿèèèÿçèçÿèçèÿèèèÿèèèÿèèèÿèèèÿèéèÿéééÿéèéÿèèèÿéééÿèèéÿéééÿéééÿéééÿéééÿéééÿéêêÿéééÿêêéÿêêêÿêêêÿêêêÿêêëÿêëëÿëëëÿêëêÿêêëÿêëëÿëëëÿëëëÿëëëÿëëëÿëëëÿëëëÿìëìÿìëìÿìììÿíììÿìììÿìììÿìììÿííìÿíììÿíììÿíííÿíííÿíííÿíííÿîííÿîîîÿîíîÿîîîÿííîÿîîîÿïîîÿîîïÿîïîÿïïïÿïïîÿîïîÿïïïÿïïïÿïïïÿïïïÿïïïÿððïÿðððÿïððÿðððÿðððÿðñðÿñððÿððñÿññðÿðññÿðññÿññðÿðññÿñññÿñòñÿññòÿòòñÿñòòÿòññÿòòñÿòòòÿòòòÿóòòÿòóòÿóòòÿòóóÿóòòÿóóóÿóóóÿóóóÿóóóÿóóôÿóôôÿóóôÿôôóÿôóôÿôôóÿôôôÿôôõÿôôôÿôôôÿôõõÿõõõÿõôõÿõôõÿõõõÿõõõÿöõõÿõõõÿöõõÿöõöÿõööÿõööÿõööÿöööÿöö÷ÿö÷÷ÿ÷ööÿ÷ö÷ÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷ø÷ÿ÷ø÷ÿø÷øÿøøøÿøø÷ÿøøøÿøøøÿø÷øÿøøøÿøøøÿøøøÿøøùÿùøøÿùùøÿùùøÿùùùÿùùùÿùúùÿúùùÿúùùÿùùùÿúúùÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿûúúÿûúûÿúûûÿûûûÿûüûÿûûûÿûüüÿûûûÿüûûÿüüüÿüüüÿüüüÿüüüÿüüüÿýýüÿüüüÿüüüÿüüýÿýüýÿýýýÿýýýÿþýýÿþýýÿþýýÿþþýÿýþþÿþýþÿþýþÿþþþÿþþþÿþÿÿÿþþÿÿÿÿþÿÿÿþÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®®®ÿ¯®¯ÿ®®®ÿ®¯¯ÿ¯®®ÿ®®¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ¯¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°°°ÿ±±°ÿ°°°ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±²²ÿ±²²ÿ±²±ÿ²±²ÿ²²²ÿ²²±ÿ²²²ÿ²²²ÿ³²³ÿ²³³ÿ³³³ÿ³³²ÿ³²²ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ³³´ÿ³³´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿµ´µÿ´µ´ÿ´µ´ÿµµµÿµµµÿµµµÿµµµÿ¶¶µÿ¶µµÿµ¶µÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶··ÿ·¶·ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ·¸·ÿ·¸¸ÿ·¸¸ÿ··¸ÿ·¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¹ÿ¹¹¹ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿºººÿ¹¹ºÿ¹¹ºÿºº¹ÿº¹ºÿºººÿºººÿºººÿº»»ÿºº»ÿº»»ÿ»»»ÿ»»»ÿ»º»ÿ»»¼ÿ»»¼ÿ»»»ÿ¼¼¼ÿ¼»¼ÿ»¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼½¼ÿ½¼¼ÿ¼¼¼ÿ½¼¼ÿ½¼¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾½ÿ¾¾½ÿ¾½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¾¿ÿ¾¾¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÁÿÁÀÀÿÁÀÁÿÁÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÁÂÿÁÂÂÿÁÁÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÃÂÃÿÃÂÃÿÃÃÃÿÃÂÃÿÃÂÃÿÃÃÄÿÃÄÃÿÃÃÄÿÃÃÃÿÄÃÄÿÃÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÄÅÄÿÄÅÅÿÅÄÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÅÆÆÿÆÅÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÆÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÈÇÈÿÇÈÇÿÈÈÈÿÇÈÇÿÈÈÈÿÈÈÈÿÉÈÉÿÈÈÉÿÈÈÈÿÈÈÈÿÈÈÉÿÉÉÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÊÉÿÊÉÉÿÊÊÉÿÊÊÊÿÉÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊËÿÊËËÿËÊËÿËËËÿËËËÿËËËÿËËËÿËËËÿÌÌËÿÌÌÌÿËËËÿÌÌÌÿËËÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÌÿÍÍÌÿÌÍÌÿÌÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÐÿÐÐÏÿÐÐÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÑÐÿÐÑÐÿÐÑÐÿÑÐÐÿÐÐÐÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÒÒÑÿÑÑÑÿÑÑÒÿÒÒÒÿÒÒÒÿÓÓÒÿÒÒÒÿÒÒÓÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÓÿÔÔÔÿÓÓÔÿÓÔÓÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÔÔÕÿÔÕÕÿÕÕÔÿÕÕÕÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÖÕÿÖÕÕÿÕÖÕÿÖÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ¹Çßÿ_¢ïÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ5™óÿ“¶éÿÓÕÙÿרØÿØØØÿØØÙÿØØØÿØÙØÿÙÙØÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÚÚÿÚÙÙÿÚÙÚÿÙÚÚÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÚÛÚÿÚÚÛÿÛÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÜÜÿÛÛÛÿÜÛÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿØÚÞÿ}¬îÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿŽ´íÿßààÿàààÿàààÿàààÿàáàÿàààÿáááÿàààÿàááÿàááÿàááÿáááÿáááÿáââÿâááÿááâÿááâÿâââÿâââÿâââÿâââÿãââÿãããÿâãâÿââãÿãããÿãããÿãâãÿãããÿãäãÿäääÿääãÿãääÿãääÿäääÿäääÿäääÿäååÿåääÿääåÿäåäÿåååÿåååÿåååÿÖÜçÿ¯ðÿ+–ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ’ôÿ’ôÿl¦ñÿÍ×êÿççæÿççæÿçççÿçççÿçççÿçèçÿçççÿçèçÿèèèÿçèèÿçèèÿçèèÿèèèÿéèèÿèèéÿééèÿééèÿéééÿéééÿèééÿéééÿéééÿééêÿéééÿééêÿêééÿêêêÿêéêÿêêêÿêêêÿëëêÿêëêÿëëêÿêëêÿëêëÿëëëÿëëëÿëëëÿëëëÿëìëÿëëìÿìììÿììëÿìììÿìììÿìíìÿìììÿìííÿíììÿíìíÿíííÿíííÿíííÿíííÿíííÿíííÿîîíÿîíîÿîîîÿîîîÿîîîÿîîîÿîîîÿîïîÿïîîÿîïïÿîïïÿïïîÿïïïÿïïïÿïïïÿïïðÿðððÿïðïÿïððÿïððÿðððÿðððÿðñðÿðððÿðððÿðñðÿñðñÿñññÿñññÿñññÿñññÿñññÿòññÿñññÿñññÿòòñÿñòòÿòòòÿòòòÿòòòÿòóóÿòóóÿòóòÿóóóÿóóóÿóóóÿóóóÿôóóÿóóôÿôôóÿóóôÿôóôÿôôôÿôôôÿôôôÿôõôÿôôôÿôôõÿõõõÿõõõÿôôõÿõõõÿõõõÿõõõÿõõõÿöõõÿöööÿõööÿõööÿöööÿöööÿöööÿöö÷ÿöööÿ÷ö÷ÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿø÷øÿø÷÷ÿø÷øÿøøøÿøøøÿ÷øøÿøøøÿøøøÿùøøÿøøùÿøøøÿùùùÿùøùÿùùùÿùùùÿùùùÿúùúÿùúùÿùùúÿùùúÿùúùÿúùúÿúùúÿúúúÿúúúÿûúúÿúûúÿûûûÿúúúÿûúûÿûûûÿûûûÿûûûÿüûûÿûûûÿûüûÿüûûÿüûûÿüûûÿüüüÿüüüÿüüýÿýüüÿüýüÿüýýÿüüýÿýýýÿýýýÿýýýÿþýýÿýýþÿýýýÿþýýÿþþþÿþþýÿþþþÿþþþÿþþþÿþþþÿÿÿþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®®®ÿ®®®ÿ®®¯ÿ®®®ÿ¯®¯ÿ¯®®ÿ¯¯®ÿ¯®¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ°°¯ÿ°°¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±°±ÿ°°±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²²²ÿ²²²ÿ±²±ÿ²²²ÿ²³²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ³²³ÿ²³³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ³´³ÿ³³´ÿ´´³ÿ´³´ÿ´´´ÿ´´´ÿ´µ´ÿ´´µÿ´´´ÿµµ´ÿµµµÿµµµÿµµµÿµµµÿµ¶¶ÿµµµÿµ¶µÿµµ¶ÿ¶¶¶ÿµµ¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ···ÿ·¶·ÿ¶··ÿ¶··ÿ···ÿ···ÿ·¸·ÿ¸··ÿ··¸ÿ¸··ÿ¸¸·ÿ¸·¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¸ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹¹ÿ¹ººÿ¹ººÿ¹º¹ÿºººÿºº»ÿ»ººÿºº»ÿº»»ÿ»»ºÿ»º»ÿ»º»ÿ»»»ÿ»»¼ÿ¼»»ÿ»»»ÿ»»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½¼¼ÿ¼¼½ÿ¼¼½ÿ½½½ÿ½½½ÿ½¼¼ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¾¾ÿ¾¾¿ÿ¾¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿À¿ÿÀÀ¿ÿ¿ÀÀÿÀ¿¿ÿ¿À¿ÿ¿ÀÀÿÀ¿ÀÿÀÀÀÿÀÁÀÿÀÀÀÿÀÁÁÿÀÀÁÿÁÁÀÿÀÁÀÿÁÁÀÿÂÁÁÿÁÁÂÿÂÁÁÿÂÁÁÿÂÁÁÿÂÁÁÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÃÃÂÿÂÂÂÿÃÃÃÿÃÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÄÃÃÿÃÃÃÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÄÅÿÅÅÄÿÄÄÄÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÅÅÿÅÅÆÿÅÆÆÿÆÅÆÿÆÅÆÿÆÆÆÿÇÆÆÿÆÆÆÿÇÆÇÿÆÆÇÿÇÆÇÿÇÇÆÿÇÇÇÿÇÇÇÿÈÇÇÿÈÈÇÿÇÇÈÿÈÇÈÿÈÈÇÿÈÇÈÿÈÈÇÿÈÇÈÿÈÈÈÿÈÈÈÿÈÉÉÿÈÈÈÿÉÉÉÿÈÈÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÊÊÉÿÊÉÉÿÊÉÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËÌËÿÌËËÿÌËÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÍÍÍÿÍÍÌÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÎÍÿÍÍÎÿÎÍÎÿÍÍÎÿÍÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÎÏÎÿÎÎÏÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÏÏÿÐÏÏÿÏÐÏÿÏÐÐÿÐÏÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÑÐÿÐÑÐÿÑÐÐÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÒÒÿÒÑÑÿÒÑÑÿÒÑÑÿÒÑÒÿÒÒÒÿÒÒÒÿÓÒÓÿÒÒÒÿÒÓÒÿÓÒÓÿÓÓÓÿÓÒÓÿÓÓÓÿÓÔÓÿÓÓÔÿÓÓÓÿÓÔÔÿÔÔÓÿÓÔÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÕÔÿÔÕÕÿÔÔÕÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÖÕÖÿÖÖÖÿÖÖÖÿÖÕÕÿÖÖÖÿ¹ÇßÿDœòÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ •ôÿ—·èÿÕÕØÿרØÿØØØÿÙØØÿØØØÿØÙØÿØØØÿÙÙØÿØÙÙÿÙÙØÿÙÙÙÿÚÙÙÿÙÚÙÿÙÙÙÿÚÚÙÿÙÚÙÿÚÚÚÿÚÙÚÿÚÚÚÿÚÛÚÿÚÚÚÿÛÛÚÿÛÚÛÿÛÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÛÛÛÿÛÜÜÿÜÛÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÜÜÝÿÝÝÝÿÜÜÜÿÝÝÝÿÝÜÜÿÜÝÝÿÝÝÜÿ·Èæÿ'—óÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ¿ÍæÿàßàÿààßÿàààÿàààÿàáàÿáàáÿàààÿáàáÿàááÿáááÿáááÿááâÿáâáÿâáâÿâáâÿââáÿâââÿâââÿâáâÿâââÿâââÿâââÿãââÿããâÿãââÿãããÿãããÿãããÿãäãÿãããÿãääÿäããÿãääÿäääÿäääÿäääÿäääÿäääÿäååÿååäÿåääÿååäÿÎ×èÿ`£òÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿEšóÿÎÖéÿçççÿææçÿçæçÿçççÿçççÿèçèÿèçèÿèççÿèççÿèèèÿèèèÿèèèÿéèéÿéééÿéèèÿèéèÿééèÿèééÿééèÿéééÿééêÿéééÿéééÿéééÿéêêÿêêéÿêêêÿêêêÿêêêÿëêëÿëêêÿëêêÿëêêÿëëëÿêëëÿëëëÿëëëÿëìëÿìììÿìììÿììëÿëìëÿìëìÿìììÿìììÿìììÿíííÿìììÿíììÿìíìÿìííÿíííÿíííÿíîíÿíîíÿîííÿîííÿííîÿîîîÿîîíÿîîîÿîîîÿîîîÿïïïÿïïïÿîïïÿïïïÿïïîÿïïîÿïïïÿïïïÿïïïÿïïïÿïïðÿðððÿðïðÿðððÿðððÿððñÿðññÿñññÿñññÿðððÿðñðÿññðÿñññÿñññÿññòÿòññÿñññÿññòÿòòòÿòòòÿòòòÿòòóÿóóòÿòóóÿòòòÿóòóÿóòóÿóóóÿóóóÿóóóÿóóóÿôóóÿóóôÿóôôÿôôóÿôôôÿóôôÿôôõÿôôôÿõôôÿôôôÿôôôÿõõõÿõõõÿôõõÿõõõÿõõõÿöõõÿõõõÿõööÿöõõÿöööÿöõöÿöööÿöööÿ÷ööÿöööÿ÷ööÿ÷ööÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿøø÷ÿøø÷ÿ÷ø÷ÿø÷øÿøøøÿøøøÿøùùÿùøùÿøùùÿùøùÿùùùÿøùøÿùùùÿùùùÿúùùÿùúùÿúúúÿúúùÿúúùÿúùúÿúúúÿûúúÿúúúÿúúúÿúûúÿúûúÿúûûÿûûûÿûûûÿûûüÿûûüÿûûüÿüûûÿûûûÿûüûÿüüüÿüüüÿüüüÿýýýÿüüüÿüýýÿýüüÿýýýÿýýýÿýýýÿýýýÿýýýÿýþýÿþþýÿýýýÿþýþÿþþþÿþþýÿþþþÿÿþÿÿþþþÿÿþþÿþþÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®®®ÿ®®®ÿ®¯¯ÿ®¯¯ÿ®®¯ÿ¯¯¯ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ¯¯°ÿ°¯°ÿ°¯¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±°°ÿ±±±ÿ±°±ÿ±°±ÿ°±±ÿ±±±ÿ±²±ÿ²±±ÿ±²±ÿ±±²ÿ±²±ÿ±²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ³³³ÿ²³³ÿ³³²ÿ³²³ÿ³³³ÿ³´³ÿ³´³ÿ´´³ÿ³³³ÿ´´³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´´´ÿµµµÿ´µ´ÿµµ´ÿµµµÿµµµÿµµµÿµµ¶ÿ¶¶¶ÿ¶µµÿµµµÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ···ÿ¶··ÿ···ÿ···ÿ¸··ÿ···ÿ·¸¸ÿ¸¸·ÿ·¸¸ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¸¹ÿ¸¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿº¹¹ÿ¹¹ºÿºº¹ÿºººÿ¹ººÿºººÿºººÿºººÿ»ººÿºººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»¼ÿ»¼»ÿ»¼»ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼½½ÿ¼½½ÿ½½¼ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾½ÿ½½¾ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿ÀÀÿ¿¿¿ÿ¿¿Àÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÀÀÿÀÁÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÀÿÁÁÁÿÁÁÁÿÂÁÁÿÂÂÁÿÂÁÂÿÁÂÁÿÂÁÂÿÂÁÂÿÂÂÂÿÂÃÂÿÂÂÃÿÃÃÂÿÂÂÃÿÂÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÄÃÿÄÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÃÄÿÄÄÄÿÄÄÃÿÅÄÄÿÄÅÄÿÄÄÄÿÅÅÄÿÄÅÅÿÅÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÆÆÿÅÆÆÿÅÆÆÿÆÆÆÿÅÆÅÿÆÆÆÿÆÆÆÿÇÆÆÿÆÆÇÿÆÇÆÿÇÇÆÿÆÆÆÿÇÇÇÿÇÈÇÿÇÇÇÿÇÇÇÿÈÈÈÿÈÈÈÿÈÇÈÿÇÈÇÿÈÇÈÿÈÈÈÿÉÈÈÿÈÉÈÿÈÈÈÿÈÉÈÿÉÉÈÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÉÉÿÉÉÊÿÊÉÉÿÉÉÊÿÉÊÊÿÊÊÊÿÊÊÊÿËËÊÿÊÊËÿÊÊÊÿÊËËÿÊÊÊÿËËÊÿËÊËÿËËËÿÌËËÿÌËËÿËËÌÿÌËÌÿËËÌÿÌÌÌÿËÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÍÍÌÿÌÌÌÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÍÍÿÍÍÎÿÍÍÍÿÎÎÎÿÎÎÎÿÎÍÎÿÎÎÎÿÎÎÎÿÎÏÎÿÎÎÎÿÎÎÎÿÎÏÎÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÐÿÏÐÏÿÐÐÏÿÏÏÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÑÑÐÿÑÑÑÿÑÐÑÿÐÐÐÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÒÿÑÑÒÿÒÑÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÓÿÒÒÒÿÒÓÒÿÒÓÒÿÓÒÓÿÓÒÓÿÓÒÓÿÓÓÓÿÓÔÓÿÓÓÔÿÓÓÓÿÓÔÔÿÔÓÔÿÔÓÓÿÓÔÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÕÕÔÿÔÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÃÍÜÿMžñÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ •ôÿ›¹çÿÖ×ÙÿØØØÿØØØÿÙØØÿØÙØÿØÙÙÿØØØÿØØÙÿÙØÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÚÙÿÚÚÚÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÛÛÛÿÛÛÚÿÚÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÛÛÿÛÛÜÿÛÛÛÿÛÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÜÜÝÿÜÜÝÿÝÝÝÿÝÝÝÿÕÙßÿ]¢ñÿ”ôÿ”ôÿ”ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿh¥ðÿÖÛáÿàßàÿßààÿàààÿàààÿàáàÿààáÿààáÿàááÿàààÿáááÿáàáÿáááÿâááÿááâÿáâáÿââáÿâââÿâââÿâââÿâââÿâââÿãââÿâââÿãââÿããâÿãããÿãããÿãããÿäãäÿãããÿääãÿããäÿããäÿãääÿääãÿäääÿäääÿåääÿäååÿääåÿÓÚçÿc£òÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿd¤òÿØÞéÿççæÿææçÿçççÿçççÿçèèÿèèçÿçèçÿèèèÿèèçÿèèèÿèèèÿèèèÿèèèÿèèèÿèééÿèèèÿéèéÿèééÿéééÿéééÿéééÿéêéÿéééÿêêéÿééêÿéêêÿêêêÿêêêÿêêêÿêêêÿêëêÿêêëÿêêëÿêëêÿëêêÿëëëÿëëëÿëëëÿëëëÿëëìÿëììÿëëëÿìììÿìëìÿìììÿìììÿìììÿííìÿììíÿíìíÿíìíÿíìíÿíííÿíííÿííîÿîííÿííîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîïÿîîîÿïîîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿïïïÿðððÿðððÿððïÿðððÿððñÿðððÿðñðÿðñðÿñññÿðñðÿñññÿñññÿñññÿññòÿñòñÿòññÿññòÿññòÿòñòÿòòñÿòòòÿòóòÿòòòÿóòòÿòòóÿóóóÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿôóôÿôôóÿóôôÿôôôÿôôôÿôôôÿõôôÿôôõÿõõôÿõõõÿõôõÿõõõÿõõõÿõõõÿõõöÿõöõÿöõöÿööõÿöõöÿöööÿöööÿöööÿ÷÷öÿöö÷ÿö÷÷ÿ÷÷÷ÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿ÷÷÷ÿø÷øÿø÷÷ÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿùøùÿùùùÿùøùÿùøùÿùùùÿùùùÿùùúÿùùúÿúùùÿùúúÿúùúÿúúúÿúùúÿúúúÿúúúÿúûúÿúûúÿúûûÿûúûÿûûúÿûûúÿûûûÿûûûÿûûüÿûûûÿûûûÿûüüÿüüûÿûüûÿüüüÿüüüÿýýüÿüýüÿüüüÿüýýÿýüüÿýýýÿýýýÿýýýÿýýýÿþýýÿýýþÿýþþÿþþýÿþýþÿþþþÿþþþÿþþÿÿÿÿþÿÿþþÿÿþþÿÿþþÿþÿÿÿþÿþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯®®ÿ¯®¯ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ¯°°ÿ°°°ÿ¯¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ±°°ÿ±±±ÿ°±±ÿ±±°ÿ±±±ÿ±±²ÿ²±²ÿ±±±ÿ²±²ÿ²±±ÿ²²±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²³²ÿ³²³ÿ²³²ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ³³´ÿ´³³ÿ´´´ÿ´´´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´µµÿ´µµÿµµµÿµµµÿµµµÿµ¶µÿµµµÿ¶¶¶ÿµ¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ¶·¶ÿ¶·¶ÿ·¶·ÿ··¶ÿ¶··ÿ···ÿ··¸ÿ·¸·ÿ···ÿ¸¸¸ÿ¸··ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¹¹ÿ¹¹¸ÿ¸¹¹ÿ¹¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹ººÿ¹¹ºÿ¹ººÿºººÿºººÿ¹ººÿºººÿºº»ÿ»»»ÿºº»ÿ»º»ÿ»º»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ¼¼»ÿ¼¼¼ÿ¼»¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ¼¼½ÿ¼¼¼ÿ½½¼ÿ¼¼¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ¾½½ÿ½¾½ÿ¾½½ÿ½¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¿¿ÿ¿¾¾ÿ¿¾¾ÿ¾¿¿ÿ¿¾¾ÿ¿¿¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿÀÀÀÿÀ¿Àÿ¿¿ÀÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÁÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÂÂÁÿÂÂÂÿÂÂÁÿÂÁÂÿÂÂÂÿÂÂÂÿÂÃÂÿÂÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÃÃÿÃÄÄÿÃÄÃÿÄÃÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÄÅÿÅÄÅÿÄÅÅÿÅÄÅÿÅÅÅÿÄÅÅÿÅÅÅÿÅÆÅÿÅÅÅÿÅÅÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÇÆÿÇÆÆÿÆÇÆÿÇÇÆÿÇÇÆÿÇÇÇÿÈÇÇÿÇÇÇÿÇÇÇÿÈÇÈÿÈÈÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÈÉÈÿÉÉÈÿÈÉÉÿÉÈÉÿÉÉÉÿÉÊÉÿÉÉÊÿÉÊÉÿÊÉÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊËÿËÊËÿÊËÊÿËËËÿÊËËÿËËËÿËËËÿËËËÿËËÌÿËÌËÿÌÌËÿËÌËÿËËÌÿÌÌÌÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÍÌÿÍÍÌÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÎÎÿÍÍÎÿÍÍÍÿÎÎÎÿÎÎÎÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÏÎÎÿÏÏÎÿÏÎÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÐÿÏÐÐÿÏÐÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÐÐÿÐÑÐÿÐÐÑÿÐÐÐÿÑÐÑÿÑÑÑÿÒÑÑÿÒÒÑÿÑÑÑÿÑÑÒÿÑÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÓÓÿÒÒÒÿÓÓÓÿÒÓÓÿÓÒÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÔÿÓÓÓÿÓÓÓÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÔÔÔÿÔÕÔÿÕÕÕÿÔÕÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÖÕÿÒÔÖÿu©ìÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ•ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ+—óÿ¨¿åÿÖרÿØØØÿØØØÿØØÙÿÙÙÙÿØØØÿØØØÿÙØØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÚÿÙÙÙÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÛÚÚÿÚÛÛÿÛÚÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÛÛÿÛÜÜÿÛÛÜÿÜÜÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÝÜÿÜÝÝÿÜÜÜÿÝÝÝÿ—·ëÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ”ôÿªÁéÿßßàÿàààÿàààÿàààÿàáàÿàààÿáààÿáààÿàáàÿáááÿáááÿáááÿáâáÿáââÿáââÿâááÿââáÿâââÿâââÿâââÿâââÿââãÿââãÿããâÿãâãÿããâÿãâãÿããâÿãäãÿãããÿãääÿãäãÿääãÿäããÿäääÿäääÿäääÿåäåÿåääÿØÝçÿh¤ñÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ ¾îÿäæçÿççæÿæççÿçççÿèçèÿèççÿçççÿèçèÿèççÿèèçÿèèèÿèèèÿèèèÿèèèÿèèèÿèéèÿèéèÿéèéÿééèÿéééÿéééÿêééÿêééÿêéêÿéêêÿêéêÿêêêÿêêêÿêêêÿêêêÿêêêÿëëëÿëêëÿëëëÿêëëÿëëëÿëëëÿëëìÿëëëÿëìëÿëëìÿëëëÿìììÿìììÿìììÿìììÿìììÿìíìÿììíÿìíìÿìííÿíííÿìíìÿíííÿîííÿíííÿíîíÿíííÿíîíÿîîîÿîîîÿîîîÿîîîÿïîîÿïïïÿîîïÿïïïÿïïïÿîïïÿïïïÿïïïÿïððÿïïïÿïïïÿðïïÿðððÿðððÿðððÿðððÿðððÿðñðÿðððÿðññÿñññÿñññÿñññÿñññÿñññÿñòòÿòòñÿòòñÿñññÿòòòÿòòòÿòòòÿòòòÿóóòÿòòòÿòòòÿóóóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóóÿôôóÿóóôÿôôôÿôôôÿôôôÿõôôÿôôôÿõõôÿôõôÿôõõÿõõõÿõõôÿõõõÿõõõÿöõõÿöõöÿöõöÿöõöÿõöõÿööõÿöööÿöööÿö÷öÿöööÿö÷öÿ÷÷öÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿøø÷ÿø÷øÿ÷øøÿøøøÿøøøÿøøùÿøøùÿùøøÿøùøÿøùùÿùøøÿùùùÿùùùÿùùùÿùúùÿúùùÿùúúÿùùùÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúûúÿúûûÿûúûÿûûûÿûüûÿûûûÿûüüÿûûüÿüûûÿüûüÿüüüÿüüüÿüüüÿüüüÿýýýÿüüüÿüýüÿüüüÿýýüÿýýýÿýýýÿþýýÿýþýÿýýýÿýýýÿýýýÿþýýÿþþþÿþþþÿþþþÿþÿþÿþÿÿÿþÿÿÿÿþþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®®­ÿ®®®ÿ®®®ÿ®®¯ÿ®¯¯ÿ®®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ°¯¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±°±ÿ°±°ÿ°°°ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²²²ÿ±±±ÿ²²²ÿ²±²ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²³²ÿ²²³ÿ³²²ÿ³³³ÿ²³³ÿ³³³ÿ´³³ÿ´³´ÿ³´³ÿ³³³ÿ´³´ÿ³³´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´µµÿ´µ´ÿ´µµÿµµµÿ´µµÿµµµÿµ¶µÿµµµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ¶¶¶ÿ¶··ÿ¶¶¶ÿ¶¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ·¸·ÿ·¸¸ÿ·¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¸ÿ¸¸¹ÿ¸¸¸ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿºººÿºº¹ÿº¹ºÿº¹ºÿº¹ºÿºººÿº»ºÿºººÿ»»ºÿ»ººÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼»¼ÿ¼¼»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½¼¼ÿ½¼¼ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½¾ÿ½½¾ÿ½¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¿ÿ¾¾¿ÿ¿¾¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿÀÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÁÁÁÿÁÀÀÿÁÀÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÂÂÿÂÁÂÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÃÃÂÿÂÃÃÿÂÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÄÄÄÿÄÄÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÄÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÆÆÅÿÆÆÅÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÇÿÆÇÇÿÇÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÈÿÇÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÉÈÿÉÈÉÿÈÉÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÉÊÿÊÊÉÿÊÊÉÿÉÊÊÿÉÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿÊËËÿÊÊÊÿËËËÿËËËÿËËËÿËËËÿËËËÿËËÌÿÌÌËÿËËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÌÌÿÌÌÌÿÌÌÌÿÍÌÌÿÍÍÍÿÌÍÍÿÍÌÍÿÌÍÍÿÍÍÍÿÍÍÍÿÎÎÎÿÍÎÍÿÎÎÍÿÎÍÍÿÎÍÎÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÏÿÏÏÏÿÎÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÐÐÿÏÏÏÿÐÏÐÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÑÿÑÑÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÒÿÑÒÒÿÑÑÒÿÒÑÑÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÓÓÿÒÒÒÿÓÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÓÿÓÓÓÿÔÔÔÿÓÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÕÿÔÕÔÿÕÕÕÿÔÔÕÿÕÕÕÿÕÕÕÿÕÖÕÿÖÕÕÿÕÖÕÿÕÕÖÿ¸ÆÞÿ4˜óÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ0˜óÿ±ÃâÿרØÿØØØÿØØØÿØØØÿÙØÙÿØØÙÿØÙÙÿØØØÿÙÙÙÿÙØÙÿÙÙÙÿÙÙÚÿÙÙÚÿÙÚÙÿÚÙÙÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÛÚÚÿÚÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÜÜÿÛÜÛÿÜÛÛÿÜÛÜÿÛÛÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÝÿÅÎâÿ@šòÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿNòÿÒØâÿàààÿßààÿàààÿáààÿàááÿàààÿàààÿááàÿááàÿáàáÿáááÿáááÿáááÿáááÿááâÿââáÿâââÿâââÿâââÿâââÿâââÿâããÿãââÿãâãÿââãÿâããÿãããÿãããÿãããÿãããÿãäãÿäääÿäããÿäääÿäããÿäääÿääåÿÜàåÿƒ°ïÿ +’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ7—óÿÙÝéÿæççÿçççÿçççÿçççÿçççÿèèèÿçççÿçèèÿèççÿèèèÿèèèÿèèèÿèèèÿèéèÿèéèÿéèéÿéèèÿééèÿéééÿéééÿééêÿéééÿéééÿéêêÿêéêÿéêêÿêêêÿêêéÿêëêÿëëêÿêêêÿêêêÿêëêÿëëêÿëëëÿêëêÿëëëÿëëëÿìëëÿìëëÿìëìÿììëÿììëÿëììÿìììÿììíÿìììÿìììÿíìíÿìííÿíííÿíííÿíííÿíííÿíîíÿîîíÿííîÿîîíÿîíîÿîîîÿîîîÿîîîÿïîîÿïïïÿîïîÿïîîÿïïïÿïïïÿïîïÿïïïÿïïïÿïïïÿðïïÿïððÿðððÿïðïÿðððÿðððÿðññÿñððÿðððÿñññÿñððÿñññÿðððÿñññÿñññÿñññÿñòñÿñññÿñòòÿñòòÿòòòÿòòòÿòòòÿòòòÿóóòÿòòóÿóóóÿóòòÿóóòÿóóóÿóóóÿóôóÿóóôÿóóôÿóôóÿôóôÿôóôÿôôôÿôôôÿôôôÿôõôÿôôôÿôôôÿõôõÿôõõÿôõôÿõõõÿõõõÿõõöÿõööÿõõõÿöõõÿöööÿöõõÿöööÿöö÷ÿö÷öÿ÷ö÷ÿ÷÷öÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿøø÷ÿøøøÿ÷÷øÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿùøùÿùùùÿøùùÿùùùÿùùùÿúùùÿúùùÿùùùÿúúúÿúúúÿùùúÿúúúÿúúúÿúúúÿúûúÿúûúÿûúúÿúûûÿûûûÿûûûÿûûûÿûüûÿûûûÿûûûÿüüûÿüüûÿüüüÿüüüÿüüüÿüüüÿýüüÿýüüÿýüüÿýüüÿýüýÿýüýÿýýýÿýýýÿþýýÿþýýÿþþþÿýþýÿþýýÿþþþÿþþýÿþþþÿþþþÿþþþÿþþþÿÿÿþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ®®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ¯¯¯ÿ°°°ÿ°¯°ÿ°°°ÿ°±°ÿ°°°ÿ±°±ÿ°°±ÿ°±±ÿ±±±ÿ±±±ÿ°±±ÿ±±±ÿ±±²ÿ±±±ÿ±²²ÿ²²²ÿ²±±ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²²²ÿ²²³ÿ³³²ÿ³²²ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´´´ÿ´´´ÿ´´³ÿ´´´ÿµ´´ÿ´´´ÿµ´µÿµ´´ÿ´µ´ÿµµµÿµµµÿµµµÿµµ¶ÿµµµÿµµµÿ¶µµÿµ¶µÿ¶¶µÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸¸¸ÿ···ÿ¸··ÿ·¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿºººÿºººÿ¹ººÿºººÿºººÿ»º»ÿºººÿ»»ºÿ»º»ÿ»»»ÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»¼¼ÿ»¼»ÿ»¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½¼¼ÿ¼¼½ÿ¼½¼ÿ½¼¼ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾¾ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀ¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÁÿÁÁÁÿÀÀÀÿÁÁÁÿÁÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÂÁÂÿÂÁÂÿÂÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÂÂÃÿÃÂÃÿÃÂÂÿÂÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÃÿÃÃÄÿÃÄÄÿÃÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÄÿÅÅÅÿÅÅÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÆÿÆÆÆÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÇÇÿÆÇÆÿÆÆÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÈÇÿÈÇÈÿÇÈÈÿÈÈÈÿÈÇÈÿÇÈÈÿÈÈÉÿÈÈÈÿÈÉÈÿÉÈÉÿÈÉÉÿÈÉÈÿÉÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÊÉÊÿÉÉÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊËÊÿÊËÊÿËËÊÿËËÊÿËÊËÿÊËËÿËËËÿËËËÿËËÌÿÌÌÌÿËËËÿËÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÍÿÍÍÍÿÌÌÌÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÎÍÿÍÎÎÿÍÍÎÿÍÎÍÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÎÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÐÏÿÏÏÏÿÐÐÏÿÏÐÏÿÐÐÐÿÏÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÐÑÿÑÑÐÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÒÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÒÓÓÿÒÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÓÓÓÿÔÔÔÿÓÔÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÕÿÔÔÔÿÔÔÔÿÕÕÔÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÔÕÖÿ’´èÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ@šòÿ¶ÆâÿØØØÿØØØÿØØÙÿØØØÿØØØÿÙÙÙÿØÙØÿÙØÙÿÙØØÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÚÿÚÙÚÿÚÚÚÿÚÙÚÿÚÚÚÿÚÚÚÿÛÚÚÿÛÚÚÿÚÚÛÿÚÛÛÿÛÛÛÿÛÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÛÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÙÚÝÿ…¯íÿ “ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿƒ¯îÿßàßÿàßàÿàààÿàààÿáààÿàáàÿáààÿáááÿààáÿááàÿáááÿáááÿáááÿáááÿáâáÿáâáÿáááÿâââÿââáÿââáÿâââÿââãÿâââÿâãâÿâââÿâããÿããâÿãããÿãããÿãããÿãããÿäãäÿäääÿäãäÿäääÿäääÿâãåÿ‹³îÿ +’ôÿ’ôÿ’ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ¦Àíÿçææÿçççÿæççÿçæçÿçççÿçççÿèççÿçèçÿçççÿçèèÿèççÿèèèÿèèèÿèèèÿèèèÿèèéÿéééÿééèÿéééÿèééÿéééÿéêéÿéééÿééêÿéééÿéêêÿêêêÿêêêÿêêêÿêêëÿêêêÿêêêÿêêêÿêëëÿêëëÿëëëÿëëëÿëëëÿëëëÿëìëÿëìëÿëëëÿììëÿëììÿììëÿìììÿìììÿìììÿìíìÿíííÿíìíÿííìÿíííÿíííÿîííÿíííÿíîíÿîîîÿîííÿîíîÿíííÿîîîÿîîîÿîîîÿîîîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïðïÿïïðÿðððÿïïðÿïïïÿððïÿðððÿðððÿðððÿñðñÿðððÿñððÿñðñÿñññÿñññÿòññÿòññÿñòñÿñññÿòñòÿòòòÿòòòÿòòñÿòòòÿòòòÿòòóÿòóóÿóòóÿóòóÿóóóÿóòóÿóóóÿóôóÿóóóÿóóôÿôóôÿóôôÿóóôÿôóóÿôôôÿôôôÿõõôÿôôõÿõõõÿõôõÿõõôÿõõõÿõôõÿõöõÿöõõÿõõõÿööõÿööõÿööõÿöööÿõööÿöööÿöööÿöööÿöö÷ÿ÷ööÿ÷÷÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿøøøÿøø÷ÿ÷øøÿ÷øøÿøøøÿøøøÿùùùÿùùøÿùùùÿøùùÿùùøÿùùùÿùùùÿùùùÿùúùÿùùùÿúùùÿùúùÿùúùÿùúúÿúúùÿúúúÿúúúÿûûúÿúûúÿûûûÿûûûÿûûûÿûûûÿûûûÿüûûÿüüûÿüûüÿûüüÿüüûÿûûûÿûüüÿüüüÿüüüÿýüüÿüüüÿýýýÿüüýÿýýüÿýýýÿýýýÿýýýÿýþýÿýþýÿýýýÿþþýÿýþþÿþþþÿþýþÿþÿþÿþþþÿÿþþÿþÿÿÿþþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®®®ÿ®­®ÿ®®­ÿ®®®ÿ®®®ÿ®¯®ÿ¯®¯ÿ®®®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ¯°°ÿ¯¯°ÿ°¯°ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ³³²ÿ²³³ÿ³³²ÿ³³²ÿ³³³ÿ³³³ÿ³´³ÿ³³´ÿ³´´ÿ³´´ÿ´´´ÿ³´´ÿ´´³ÿ´µ´ÿµµ´ÿ´µ´ÿµ´µÿµµµÿµµ´ÿ´µµÿ´µµÿµµµÿµµµÿµµ¶ÿ¶µµÿ¶µµÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶·¶ÿ¶¶·ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ¸··ÿ¸··ÿ¸¸·ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹¹¹ÿºº¹ÿ¹º¹ÿºººÿºººÿºººÿºº»ÿ»º»ÿ»ººÿ»»ºÿ»»ºÿ»»»ÿ»»»ÿ»»¼ÿ»¼»ÿ»»»ÿ¼»»ÿ»¼»ÿ¼¼»ÿ»»»ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ¼¼½ÿ¼½½ÿ½½½ÿ½½½ÿ½¾½ÿ½½¾ÿ½½½ÿ¾½¾ÿ½¾¾ÿ½½½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿ÀÀÿ¿ÀÀÿÀÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÁÀÿÀÀÁÿÁÁÁÿÁÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÂÁÿÁÂÂÿÁÂÁÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÃÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÃÿÃÃÄÿÃÃÃÿÃÄÃÿÄÄÃÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÄÿÄÄÅÿÅÅÅÿÄÄÅÿÅÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÇÆÿÆÇÇÿÇÇÆÿÇÆÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÈÈÇÿÇÇÈÿÈÇÇÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÈÉÿÉÈÈÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÉÉÿÊÉÊÿÉÉÊÿÉÊÊÿÊÉÊÿÉÊÊÿÊÊÊÿËÊÊÿËÊÊÿÊÊËÿËËÊÿÊËÊÿÊËËÿÊËËÿËËËÿËËËÿËËËÿËËËÿÌÌËÿÌËËÿÌËËÿÌÌÌÿÌÌÌÿÌÌÌÿÍÌÌÿÍÌÍÿÌÌÌÿÍÌÍÿÌÌÍÿÍÍÍÿÍÌÌÿÍÍÍÿÍÍÍÿÎÍÍÿÍÍÎÿÎÎÎÿÎÎÎÿÎÍÎÿÎÎÍÿÎÎÎÿÎÎÎÿÏÎÎÿÏÎÎÿÎÏÎÿÏÏÎÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÏÏÿÐÐÏÿÐÐÐÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÐÐÿÑÑÐÿÐÐÐÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÒÒÿÒÑÑÿÒÑÒÿÑÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÓÿÓÓÒÿÒÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÔÓÿÓÓÔÿÔÓÔÿÔÓÓÿÔÓÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÔÔÿÔÔÔÿÕÕÔÿÕÕÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÖÿÐÒ×ÿRžðÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿSžñÿÁËßÿØØØÿØØÙÿØØØÿÙÙÙÿØØÙÿØØØÿØØØÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÙÙÿÚÚÙÿÚÚÚÿÙÚÙÿÙÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÚÚÚÿÛÛÛÿÛÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿºÉäÿ “ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ-–óÿ¼Ëæÿàààÿàààÿàààÿàààÿàààÿáàáÿáààÿàáàÿáááÿááàÿáááÿáááÿáááÿáââÿáááÿááâÿáââÿááâÿâââÿáââÿâãâÿâââÿããâÿâââÿâãâÿâããÿââãÿããâÿãããÿãããÿãããÿãäãÿääãÿãäãÿàâåÿšºíÿ’ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ^¡òÿããèÿæææÿçççÿçæçÿçççÿçççÿçççÿçççÿçèçÿççèÿèèçÿèèçÿèèèÿéèèÿèèéÿééèÿèééÿéééÿèééÿéééÿéèéÿéééÿéêéÿêêéÿéééÿéééÿêêêÿêêéÿêêêÿêêêÿêêêÿêêêÿëëêÿêêëÿëëêÿëëëÿêëëÿëëëÿìëëÿëëëÿëìëÿëëëÿìëìÿìëìÿìììÿììëÿìììÿìììÿìììÿíììÿíìíÿííìÿíííÿíííÿíííÿíííÿîííÿîíîÿíííÿíîîÿíîîÿîîîÿîîîÿïîîÿîîîÿîîîÿïîïÿïïïÿïîïÿïîïÿîïîÿïïïÿïðïÿðððÿïïðÿððïÿïïïÿðððÿðððÿðððÿðñðÿðñðÿññðÿñððÿññðÿñññÿñññÿñññÿññòÿñññÿòññÿñòòÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿóóóÿòòóÿóóóÿóóóÿóóóÿóóóÿóóôÿóôóÿóóóÿôôôÿóóóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôõÿõõõÿôôôÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿõõöÿöõöÿöõõÿöõöÿöööÿöööÿöööÿöööÿöö÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷øøÿøø÷ÿ÷øøÿ÷÷øÿøøøÿøøøÿøøøÿøùøÿùøøÿùøùÿùùøÿùùùÿùùùÿùùùÿùùùÿùùúÿùùúÿùùúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿûúúÿúúûÿúûúÿúûûÿûûûÿûûûÿûûûÿüüûÿûüüÿüûûÿüüûÿüüüÿüüüÿüüüÿýüüÿüüüÿüýüÿýýüÿüýýÿüüüÿýüýÿýýýÿýýþÿýýýÿýýþÿýýýÿþþýÿýþþÿþþþÿþþþÿþþþÿþÿÿÿþþþÿÿþÿÿþþþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­®­ÿ®­®ÿ­­®ÿ®­®ÿ®­®ÿ®®®ÿ®®¯ÿ¯®¯ÿ¯¯®ÿ¯¯®ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ°±±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²²±ÿ±±²ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ²²²ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ³´³ÿ´³³ÿ´³³ÿ´´´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿµµµÿµ´µÿµµ´ÿµ´µÿµµµÿµµµÿµµµÿ¶¶µÿ¶¶µÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶··ÿ¶¶·ÿ¶··ÿ···ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ¸¸¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¸ÿ¹¹¸ÿ¸¹¹ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹ºÿºº¹ÿºººÿºººÿºººÿºººÿ»»ºÿ»º»ÿ»»ºÿºº»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼»»ÿ»¼¼ÿ»»¼ÿ»»»ÿ¼¼¼ÿ¼¼½ÿ¼¼½ÿ¼¼¼ÿ¼½½ÿ½½½ÿ½½½ÿ½½¼ÿ½½½ÿ½½¾ÿ½½½ÿ½½½ÿ¾½¾ÿ½½¾ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿ¿ÀÀÿÀ¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÀÀÁÿÁÁÁÿÁÀÁÿÁÀÁÿÀÁÁÿÁÀÁÿÁÁÁÿÁÁÂÿÂÁÁÿÂÁÂÿÁÁÂÿÁÁÁÿÂÁÂÿÂÁÂÿÂÁÂÿÂÂÂÿÂÂÂÿÃÂÃÿÃÃÂÿÂÂÃÿÃÃÃÿÃÃÃÿÃÃÂÿÃÃÃÿÃÄÃÿÃÃÃÿÄÄÄÿÃÃÄÿÄÄÄÿÃÄÄÿÄÄÄÿÄÄÄÿÅÄÅÿÄÄÄÿÄÄÄÿÄÄÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÅÅÅÿÅÆÆÿÅÆÅÿÆÆÅÿÆÅÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÇÆÿÇÆÆÿÆÇÇÿÆÆÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÈÿÇÇÈÿÈÇÇÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÉÈÿÉÉÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÊÊÊÿÉÊÉÿÉÉÊÿÉÉÊÿÊÉÊÿÊÉÊÿÊÊÊÿËÊÊÿÊËÊÿËËÊÿËËÊÿËÊÊÿËËÊÿÊËËÿËËËÿËËËÿÌËËÿÌÌËÿËËËÿÌËËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÍÿÌÌÍÿÍÍÌÿÍÍÍÿÍÍÍÿÍÎÎÿÍÍÎÿÎÍÎÿÎÎÍÿÎÎÍÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÏÎÿÏÏÏÿÏÏÏÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÐÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÐÑÿÐÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÒÑÑÿÒÑÑÿÒÑÑÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÓÒÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÓÓÓÿÔÔÓÿÔÔÓÿÓÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÕÕÔÿÕÔÔÿÔÔÔÿÔÔÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿ´Äàÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ”ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿXŸðÿÅÎÞÿØØØÿÙØØÿØØØÿØÙØÿØÙÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÙÿÚÙÙÿÚÙÙÿÚÚÚÿÚÙÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÚÛÛÿÚÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÜÿÛÛÛÿÛÜÜÿÜÜÜÿÜÛÛÿÜÜÜÿÒÖßÿWŸñÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿs¨ðÿ×ÚâÿßààÿàààÿàààÿàààÿàááÿàààÿàááÿáàáÿáááÿáàáÿáááÿáááÿâáâÿââáÿááâÿâáâÿááâÿâââÿâââÿâââÿâââÿâãâÿããâÿãâãÿãâãÿãâãÿãããÿãâãÿãããÿãäãÿäããÿãããÿããäÿªÂëÿ(”ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ9—óÿÆÓêÿæçæÿæççÿæçæÿççæÿçççÿçççÿçççÿçççÿèççÿèèçÿèèçÿèèçÿçèèÿèèèÿèèèÿèèéÿèèéÿéééÿéèéÿéééÿéééÿéééÿéêêÿéêéÿéêéÿéêéÿééêÿêêêÿêêêÿëêêÿêêêÿëêëÿêêêÿëëëÿëëëÿëêëÿëëëÿëëëÿëëëÿëìëÿìììÿììëÿììëÿìììÿììëÿìììÿìììÿìíìÿìííÿìììÿìììÿìííÿíííÿíííÿíííÿíííÿíííÿîîîÿíííÿíîíÿíîîÿîîîÿîîîÿîîîÿîîîÿîïïÿîîîÿïîîÿïïïÿïïïÿïïïÿïïïÿðïïÿïïïÿïïðÿðïðÿðððÿðïðÿðððÿðððÿðððÿñððÿðññÿñññÿñññÿñññÿñññÿñòñÿññòÿñòòÿòññÿòññÿòñòÿòòñÿòñòÿòòòÿóòòÿóóòÿòòòÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóôÿôóóÿôóóÿôóôÿôóôÿôôôÿôôôÿôôôÿõôôÿôôõÿôôôÿôôõÿõõõÿõôôÿõõõÿõõõÿöööÿõõõÿõööÿööõÿöööÿöõöÿöööÿöööÿöööÿ÷ö÷ÿö÷öÿö÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷øÿ÷÷÷ÿ÷øøÿø÷÷ÿøøøÿøøøÿøøøÿøøøÿùøøÿùøøÿøùùÿøùùÿùùùÿùùùÿùùùÿùùùÿùúùÿúùùÿùúùÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúúûÿúûûÿûûúÿûûûÿûûûÿûûûÿûüûÿûüüÿüûüÿûûüÿüüüÿüüüÿüüüÿüüüÿüýüÿýüüÿýýýÿüýüÿýýýÿýýýÿýýýÿýýýÿýýýÿýýýÿýýýÿþþþÿþþþÿþýþÿþþþÿþþþÿþþþÿÿþþÿþÿÿÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®®®ÿ®®­ÿ®®®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ®®®ÿ®¯¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ°¯¯ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ°±°ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²±±ÿ²±±ÿ²±²ÿ±²²ÿ±²±ÿ²±²ÿ²²²ÿ²²³ÿ³²²ÿ²²³ÿ³²²ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ³´³ÿ´´³ÿ³³´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´µ´ÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶µ¶ÿµµ¶ÿ¶¶µÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶·ÿ¶¶¶ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ··¸ÿ¸¸¸ÿ··¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹¹ÿºººÿº¹ºÿºº¹ÿº¹¹ÿºººÿºººÿ»ººÿºººÿ»ººÿº»»ÿº»ºÿ»»ºÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼¼»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ¼¼¼ÿ¼¼½ÿ½¼½ÿ½½½ÿ½½½ÿ¾½½ÿ¾½½ÿ½½¾ÿ¾¾¾ÿ¾½½ÿ¾½¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¾ÿ¾¾¾ÿ¿¿¾ÿ¿¿¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿ¿¿ÀÿÀÀÀÿÀ¿¿ÿ¿ÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÂÂÂÿÁÁÂÿÂÂÂÿÂÁÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÂÂÂÿÃÃÃÿÂÂÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÃÿÃÃÃÿÄÃÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÅÿÅÅÅÿÄÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÆÆÿÅÅÅÿÆÆÆÿÆÅÆÿÅÆÅÿÆÆÆÿÇÆÆÿÆÆÆÿÇÇÆÿÇÇÆÿÇÇÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÈÿÇÇÇÿÈÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÈÿÉÈÉÿÉÈÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÊÊÿÉÉÊÿÉÉÊÿÊÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËËÊÿËÊËÿËËËÿËËËÿËËËÿËËËÿÌÌËÿËÌËÿÌËËÿËÌÌÿËËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÍÍÌÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÍÍÎÿÍÍÎÿÎÎÍÿÍÎÍÿÎÍÍÿÎÍÎÿÎÎÎÿÎÏÎÿÎÎÏÿÎÎÏÿÎÏÏÿÎÏÏÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÏÿÐÏÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÑÐÿÐÑÑÿÑÐÑÿÑÑÑÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÒÒÑÿÒÒÑÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÔÓÓÿÔÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÕÿÕÕÔÿÔÔÔÿÔÔÕÿÕÔÕÿÔÕÕÿÕÕÕÿyªìÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿe£ïÿËÐÜÿØØØÿÙØØÿØØØÿØÙÙÿØØØÿÙÙÙÿÙØÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÚÚÿÚÙÙÿÚÚÚÿÙÙÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÚÿÛÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÜÜÛÿÛÛÛÿÛÜÜÿÛÛÜÿÙÚÜÿ™¸éÿ“ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ°Äéÿßàßÿàààÿàààÿàààÿàààÿàááÿàáàÿáààÿàààÿááàÿàááÿáàáÿáááÿááâÿáâáÿâââÿâââÿáâáÿââáÿâââÿâââÿâââÿâââÿâââÿâââÿããâÿãããÿãããÿãããÿãããÿããäÿââãÿ·Éêÿ“ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿôÿ +ôÿ¢½îÿäæçÿççæÿæçæÿçççÿçççÿçççÿçççÿçççÿèççÿçèèÿçèèÿçèèÿèèèÿèèèÿèèèÿééèÿéèèÿèéèÿèèéÿéééÿéèéÿéééÿéééÿêééÿêéêÿêééÿêêêÿêêéÿêêêÿêêêÿêêêÿêêêÿêêëÿëêëÿêëêÿêêëÿëëëÿëëëÿëëëÿëëëÿìëìÿììëÿììëÿìììÿìììÿìììÿìììÿììíÿìììÿììíÿìììÿíììÿíííÿííìÿíííÿíííÿíîíÿîîîÿííîÿíîîÿîîîÿíîîÿîîîÿîîîÿîîîÿïîïÿïîîÿïîîÿîïîÿîïïÿïïïÿïïïÿïïïÿïïïÿïððÿðððÿðïïÿðððÿðððÿðððÿðððÿðððÿññðÿñðñÿññðÿñññÿñððÿñññÿñññÿñòòÿòòñÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿóòòÿòòòÿòòòÿóóóÿóóòÿóóóÿóóóÿóóóÿôóóÿóôóÿóôóÿóóóÿôóóÿôôôÿôôôÿôôôÿôôôÿôôõÿôõôÿôôõÿõôõÿôõõÿôõõÿõõõÿõööÿõöõÿõõöÿõõöÿöööÿõööÿöööÿöööÿöööÿöööÿ÷÷öÿöööÿ÷÷öÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷øÿ÷÷øÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿøùøÿøøùÿøøùÿùùùÿùùùÿùùùÿùùúÿùúúÿúùùÿùúúÿúúùÿúùúÿùúúÿúúúÿúúúÿúúúÿúûûÿúúúÿúûûÿúúúÿûúûÿûûûÿûûûÿûûûÿûûüÿûüüÿûûüÿüûûÿüüûÿüûüÿüüüÿüüüÿüüüÿüüüÿüüýÿýýüÿýýýÿüýýÿýýýÿþýýÿýýýÿýþýÿýýýÿþþýÿþþþÿþþýÿþþþÿþþþÿþþþÿþÿÿÿþÿþÿÿÿÿÿÿþÿÿþÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­­®ÿ®­­ÿ­®­ÿ®®®ÿ­®­ÿ®®®ÿ®®®ÿ®®®ÿ¯¯¯ÿ®®¯ÿ®¯¯ÿ¯®®ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ°°°ÿ°°¯ÿ°¯¯ÿ°°°ÿ°°°ÿ°°±ÿ°±°ÿ°°°ÿ°±±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²³²ÿ²³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ´´´ÿ³³³ÿ´´³ÿ³´´ÿ´´´ÿ´´´ÿ´µµÿ´´´ÿµµ´ÿ´´µÿµ´µÿ´µµÿµµµÿµµµÿµµµÿ¶µµÿ¶µµÿµµ¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶¶ÿ¶¶·ÿ···ÿ···ÿ···ÿ···ÿ¸¸·ÿ···ÿ¸··ÿ··¸ÿ·¸·ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¹¹ÿ¹¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿº¹¹ÿ¹º¹ÿºººÿºººÿºººÿ»»»ÿºº»ÿº»ºÿºº»ÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ¼»»ÿ¼»¼ÿ»»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½¼½ÿ½½½ÿ½½½ÿ½½¼ÿ½½½ÿ¾½½ÿ¾½¾ÿ½¾½ÿ½¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¾ÿ¿¾¿ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÁÿÀÀÀÿÀÁÀÿÁÁÀÿÀÁÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÂÁÿÁÂÂÿÁÂÂÿÁÂÂÿÂÂÂÿÁÂÂÿÂÂÂÿÂÂÃÿÂÂÃÿÂÂÃÿÃÂÂÿÃÃÃÿÃÃÂÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÄÿÃÃÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÅÄÿÄÄÄÿÄÄÅÿÄÄÄÿÄÅÅÿÅÄÅÿÅÅÅÿÄÅÅÿÅÅÅÿÅÅÆÿÅÅÅÿÆÅÅÿÅÆÅÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÆÿÇÆÆÿÇÆÇÿÇÆÆÿÇÆÇÿÇÇÆÿÇÇÇÿÇÈÇÿÇÇÇÿÇÇÇÿÇÈÈÿÇÈÈÿÈÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÉÈÈÿÉÈÈÿÈÈÈÿÉÉÉÿÉÉÈÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÉÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊËÿÊÊÊÿÊËÊÿËËÊÿËËËÿÊËÊÿÊÊËÿËËËÿËËËÿËËÌÿËÌÌÿËËÌÿËËÌÿÌËÌÿÌÌÌÿÌÌÌÿÍÌÌÿÌÌÍÿÍÍÌÿÌÌÌÿÍÍÍÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÎÎÿÎÍÍÿÍÎÎÿÎÎÎÿÏÎÎÿÎÎÎÿÏÎÎÿÏÏÎÿÎÏÎÿÏÎÎÿÏÏÏÿÏÏÏÿÏÏÐÿÏÏÏÿÏÏÏÿÏÐÏÿÏÏÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÑÐÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÒÑÑÿÑÑÒÿÑÒÑÿÒÒÒÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÓÿÓÒÒÿÓÒÓÿÒÒÓÿÓÓÓÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÔÿÔÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÔÔÿÕÔÔÿÕÔÕÿÔÕÔÿÔÕÕÿÆÍÚÿ=™òÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿw©íÿÐÔÚÿØÙØÿØÙØÿØØÙÿØÙÙÿÙÙÙÿÙÙØÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÙÙÙÿÚÚÙÿÚÚÚÿÙÙÚÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÛÚÚÿÚÛÛÿÛÚÚÿÚÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÛÜÿÛÜÜÿÜÜÛÿÈÐàÿFšòÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿF™òÿÏÖãÿàßàÿààßÿàààÿàààÿáààÿáààÿààáÿàááÿáààÿáààÿáááÿáááÿáááÿâááÿáááÿáââÿáâáÿâââÿââáÿâââÿâââÿãââÿâââÿâããÿââãÿâããÿãããÿãâãÿãããÿãããÿÁÎéÿ@˜óÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿm¥ñÿÞáçÿææçÿææçÿææçÿæççÿçççÿçççÿçççÿçèèÿçèèÿçèèÿçççÿèççÿèèèÿèèèÿéèèÿèèèÿééèÿéèèÿéééÿèèéÿéééÿéééÿêééÿééêÿéééÿéêéÿêéêÿêéêÿêêêÿêêêÿêêêÿêêêÿëêëÿëëëÿëëêÿëëëÿëëêÿëëëÿëëëÿëëëÿëìëÿìëëÿëììÿìììÿìììÿìììÿììíÿìíìÿìììÿìíìÿìííÿíìíÿííìÿííìÿíííÿíîíÿíîîÿíîîÿîíîÿîíîÿîîîÿîíîÿîîîÿîîïÿîîîÿîîîÿîîîÿïïîÿîîïÿïïîÿïïïÿïïïÿïïðÿïïðÿïððÿððïÿïïðÿðððÿðððÿðñðÿðððÿñððÿððñÿðððÿððñÿñññÿñññÿñññÿñññÿñòñÿòññÿòòñÿññòÿòòòÿòòòÿòòòÿòòòÿóóòÿóòòÿóóóÿòòòÿóòóÿóóóÿóóóÿóóóÿóóóÿóôóÿóôóÿóóóÿóóôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõôÿõõôÿõôõÿõõõÿõõõÿõõõÿöõõÿööõÿõööÿõööÿöööÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷÷÷ÿ÷ööÿö÷öÿ÷÷öÿ÷÷÷ÿø÷÷ÿ÷÷øÿ÷÷øÿ÷øøÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿùøøÿøùùÿøùøÿùøøÿùøùÿøùùÿùùùÿùùùÿùùùÿùùùÿúúúÿúùúÿùúúÿúùúÿúúúÿúúúÿúúûÿúûúÿûúûÿúúûÿûûûÿûûûÿûûûÿûûûÿûûûÿûûûÿûûüÿûûûÿüüüÿüüûÿüüüÿüüüÿüüüÿüüüÿüüýÿüüüÿýýüÿüýýÿýýüÿýýýÿýýýÿýýþÿýþýÿýýýÿþýþÿýþýÿþþþÿþþþÿþþþÿþÿþÿÿÿÿÿÿÿþÿþÿþÿþþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­­­ÿ­­®ÿ­®­ÿ­­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ¯®®ÿ¯®¯ÿ®¯®ÿ¯¯¯ÿ¯®®ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ°¯¯ÿ°¯¯ÿ°¯°ÿ¯°°ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±±±ÿ°±±ÿ±°±ÿ±±±ÿ±°±ÿ±±±ÿ±±±ÿ±±²ÿ±²±ÿ²²±ÿ²²²ÿ²±±ÿ²±±ÿ²²±ÿ²²²ÿ²³³ÿ²²³ÿ³³²ÿ³²³ÿ³²³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ³´´ÿ´´´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿµ´´ÿµ´´ÿ´´µÿµµµÿµµ´ÿµµµÿµµµÿµµ¶ÿ¶µµÿ¶µµÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶·ÿ¶¶¶ÿ···ÿ···ÿ¶¶·ÿ···ÿ···ÿ···ÿ·¸·ÿ·¸¸ÿ¸¸·ÿ¸·¸ÿ·¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¸ÿ¹¸¹ÿ¹¹¹ÿ¸¸¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿº¹¹ÿº¹¹ÿº¹ºÿºº¹ÿºººÿºººÿ»ººÿ»ººÿ»ººÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼¼ÿ¼»¼ÿ»»¼ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾½ÿ½¾½ÿ½½½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀ¿ÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÁÀÿÀÀÀÿÀÀÀÿÀÁÁÿÀÁÁÿÀÀÁÿÁÁÁÿÁÁÁÿÂÂÁÿÂÂÁÿÁÁÁÿÁÂÂÿÂÂÁÿÂÂÂÿÂÁÂÿÂÂÂÿÃÃÂÿÃÂÂÿÂÂÂÿÂÂÃÿÂÂÃÿÂÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÄÃÿÄÃÃÿÃÃÃÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÅÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÆÿÆÅÆÿÅÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÇÆÇÿÆÇÆÿÆÇÇÿÇÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÈÈÿÈÇÈÿÈÈÇÿÈÈÇÿÈÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÉÉÿÈÈÈÿÈÉÉÿÉÉÈÿÉÉÉÿÉÈÉÿÉÉÉÿÉÊÉÿÉÊÉÿÉÉÉÿÉÉÊÿÉÊÊÿÉÊÊÿÊÊÉÿÉÊÊÿÊÊÊÿËÊÊÿÊËÊÿÊËÊÿËËËÿËËÊÿËÊËÿËÊËÿËËËÿËËËÿËËÌÿÌËËÿËÌÌÿËÌÌÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÌÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÍÍÿÎÎÎÿÎÎÎÿÎÎÎÿÍÎÎÿÎÎÎÿÎÏÎÿÏÎÎÿÏÏÎÿÎÏÎÿÏÏÏÿÏÏÏÿÏÏÎÿÏÏÏÿÐÏÏÿÏÏÏÿÏÐÐÿÐÏÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÑÿÑÐÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÒÑÿÒÑÑÿÒÒÒÿÑÑÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÓÓÓÿÒÒÒÿÓÒÒÿÓÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÔÿÔÔÔÿÓÔÔÿÔÔÔÿÓÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÕÕÔÿÕÔÔÿÔÕÕÿÕÕÕÿ¥¼ãÿ•óÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ ’ôÿ{ªíÿÓÕÙÿØØØÿÙØØÿØØØÿÙØØÿÙØÙÿØÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÙÙÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÛÚÿÚÚÛÿÚÛÛÿÛÚÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÛÛÿÛÛÜÿÙÛÛÿ¬íÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ +‘ôÿ‰±îÿÞÝßÿààßÿàßàÿààßÿàààÿàààÿáààÿáààÿáááÿááàÿàááÿáááÿáááÿâááÿááâÿâááÿâááÿâââÿââáÿâáâÿâââÿâââÿâââÿãââÿãââÿãâãÿâããÿãããÿãããÿÎÖæÿIšóÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿÎ×éÿçææÿæçæÿçççÿçççÿçççÿçççÿçççÿçççÿçççÿèèèÿççèÿèèèÿèçèÿèèçÿèèéÿèèèÿéèèÿèéèÿèééÿéééÿéèèÿéééÿéééÿéêéÿéééÿééêÿêêêÿééêÿêêéÿéêêÿêêêÿêêêÿêêëÿêëêÿëëêÿëêëÿêëëÿëëëÿëëëÿëëëÿëìëÿììëÿììëÿìììÿìììÿìëìÿìììÿìììÿìììÿíììÿíìíÿíììÿííìÿíìíÿíìíÿíííÿîííÿíííÿíîíÿîíîÿîíîÿîîîÿîîîÿîîîÿîîîÿîîîÿïîïÿîïïÿïîîÿîïîÿïîïÿïïïÿïïïÿïïðÿðïïÿðððÿðððÿðððÿïððÿðððÿðððÿñððÿðññÿñððÿñðñÿñññÿñññÿñññÿñññÿñòñÿñññÿññòÿññòÿññòÿòòòÿòòòÿòòòÿòòóÿóòòÿòóóÿóòòÿóòóÿóòóÿóóóÿóóóÿôóóÿóóóÿôôôÿôóóÿôôóÿôôóÿôôôÿôôôÿôõõÿõôôÿõôôÿôôôÿõôôÿõõõÿõõõÿõõõÿõõõÿõööÿöööÿöõõÿööõÿöööÿöööÿöööÿöööÿöööÿö÷÷ÿ÷÷÷ÿö÷öÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷÷÷ÿø÷øÿ÷øøÿø÷÷ÿøøøÿøøøÿøøøÿøøøÿøùøÿùùøÿùùøÿùùùÿùùùÿùùùÿùùùÿúùùÿùùùÿùúúÿùúúÿùúùÿúúúÿúúúÿûúúÿúúúÿûúúÿûûúÿûúúÿûúûÿûûûÿûûûÿûûûÿûüûÿûûüÿûüüÿûüüÿüüûÿüüüÿüüüÿüüüÿüüüÿüüýÿüüýÿüüüÿýýýÿýýüÿýýýÿýýýÿþýýÿýýýÿýýýÿýýýÿýþýÿþþþÿþþþÿþþþÿþþþÿþÿþÿþþÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­­­ÿ­­­ÿ­­®ÿ®®­ÿ®®®ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ¯®¯ÿ®¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ°¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±°±ÿ°°±ÿ°°°ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ²²±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ³²³ÿ³²³ÿ²²²ÿ³³²ÿ²³³ÿ²³³ÿ³²²ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ³´´ÿ³´´ÿ´³´ÿ´³´ÿ´´´ÿ´´´ÿ´µµÿ´´µÿ´µ´ÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ¶··ÿ¶·¶ÿ···ÿ···ÿ··¸ÿ¸··ÿ·¸·ÿ¸··ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¸ÿ¸¸¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹ºÿº¹ºÿº¹ºÿ¹¹ºÿºº¹ÿºººÿ¹ººÿºººÿºººÿºººÿ»º»ÿº»ºÿºº»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼½ÿ¼¼¼ÿ½¼½ÿ¼½¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾¾ÿ½½½ÿ¾¾½ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¾¾ÿ¾¿¾ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿÀ¿Àÿ¿¿ÀÿÀ¿ÀÿÀÀ¿ÿÀ¿ÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÁÁÀÿÀÁÁÿÁÁÁÿÁÁÂÿÂÁÁÿÂÂÁÿÂÁÁÿÂÂÁÿÂÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÃÿÃÂÃÿÃÃÃÿÃÂÂÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÄÃÿÄÃÃÿÄÃÃÿÃÄÄÿÄÄÄÿÄÄÃÿÅÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÅÿÄÄÅÿÅÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÆÅÅÿÅÅÆÿÆÆÆÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÇÇÇÿÆÇÆÿÆÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÈÿÇÇÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÉÉÿÉÈÉÿÈÉÈÿÉÈÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÊÉÿÉÉÊÿÊÊÊÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿËÊËÿËËËÿËËËÿËËËÿËËËÿËÌËÿÌËËÿËËËÿËÌËÿÌËÌÿÌÌÌÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÍÍÿÌÌÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÎÍÿÍÎÍÿÍÍÍÿÍÎÍÿÎÍÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÎÎÎÿÏÏÏÿÏÏÏÿÎÏÏÿÎÎÎÿÏÏÎÿÏÏÏÿÏÐÏÿÏÐÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÐÑÿÐÐÐÿÑÑÑÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÒÿÑÑÒÿÑÒÒÿÑÑÒÿÒÒÒÿÒÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÓÿÓÒÒÿÓÒÒÿÓÒÓÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÓÓÿÔÔÔÿÔÓÓÿÓÓÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÕÕÿÔÔÔÿÕÔÔÿÐÒÖÿ~«ëÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ“ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ“ôÿ³éÿÕÖÙÿØØØÿØØÙÿØØÙÿÙØØÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÙÙÚÿÚÙÙÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿ´Åäÿ ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ;—óÿÀÍæÿßààÿàààÿàßßÿàààÿàààÿàáàÿàààÿààáÿáááÿàááÿáááÿáàáÿáááÿâááÿáâáÿááâÿâááÿââáÿáââÿââáÿâââÿââãÿâããÿâããÿãââÿââãÿâããÿÏÖæÿVòÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ–·ïÿæææÿææçÿçææÿçæçÿçççÿçççÿçççÿçççÿçççÿèççÿèèèÿçèèÿçèèÿèèèÿèèèÿèèèÿèèéÿèèèÿéèéÿééèÿèéèÿéééÿéééÿéééÿéééÿéêéÿééêÿêééÿêééÿêêêÿéêêÿêêêÿêêêÿêêêÿëëëÿëêêÿëêêÿëëëÿëëëÿëëëÿëëëÿììëÿìëìÿìììÿëììÿìëìÿìììÿìììÿìììÿìììÿííìÿìíìÿìííÿìììÿíííÿíííÿíííÿíííÿíîíÿîííÿîîíÿîîîÿîîîÿîíîÿîîïÿïîîÿîîîÿîîïÿïïïÿïïîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿïïðÿðððÿïððÿïððÿðððÿððñÿððñÿðñðÿðððÿñññÿñðñÿñññÿñññÿòñòÿñññÿñññÿòññÿòòòÿòñòÿñòòÿòòòÿòòòÿòòóÿóòòÿòòòÿóóòÿòóóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóôÿóôóÿôôôÿôóôÿóôôÿôôôÿôôôÿôôôÿõôôÿõôõÿôõôÿõõõÿõôõÿõõõÿõõöÿõõõÿõõõÿöõõÿöööÿöööÿöõöÿöööÿöööÿ÷ööÿöööÿ÷ööÿ÷÷öÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷÷ÿ÷÷÷ÿø÷÷ÿ÷øøÿ÷øøÿøøøÿùøøÿøùøÿùùøÿøøøÿøøùÿùùøÿùùùÿùùùÿùùùÿùùùÿùúùÿùúùÿúùùÿúúúÿùúúÿúúúÿúúúÿúúúÿúúúÿûûúÿúúúÿûûúÿûúûÿûûûÿûûûÿûûûÿüûûÿûûüÿûüûÿüüüÿüüüÿüüüÿüüüÿüüüÿüýüÿüýüÿüýýÿüýýÿýüýÿýýýÿýýýÿýýýÿýýýÿþþýÿýþþÿþþýÿþþþÿþþþÿýþþÿþþþÿþþþÿÿÿþÿþþþÿÿÿÿÿþÿÿÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­­­ÿ®®­ÿ­­­ÿ­­­ÿ­®®ÿ®®®ÿ®®®ÿ®­®ÿ®®®ÿ®®®ÿ®¯®ÿ¯®¯ÿ®®®ÿ®¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯¯ÿ¯¯¯ÿ¯°°ÿ¯°°ÿ°°°ÿ°¯¯ÿ°°°ÿ°°°ÿ±°°ÿ±°±ÿ±±±ÿ°°±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ²²²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²³³ÿ²²³ÿ³³³ÿ³³³ÿ³´³ÿ³³³ÿ³³³ÿ´´³ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿµ´µÿµµµÿµµµÿµµ´ÿµµµÿµµµÿµ¶µÿ¶µµÿµµµÿ¶¶µÿµ¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ···ÿ¶¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸¸·ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¹ÿ¹¸¸ÿ¹¸¹ÿ¹¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹¹ºÿºº¹ÿ¹º¹ÿº¹ºÿºººÿºººÿ»ººÿºººÿºº»ÿº»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ¼»»ÿ¼»¼ÿ»»¼ÿ»»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼¼¼ÿ½½¼ÿ¼¼¼ÿ½¼¼ÿ½¼½ÿ¼½½ÿ½½½ÿ¾½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¿ÿ¿¿¾ÿ¾¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÁÿÀÀÀÿÁÀÀÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÂÿÁÁÁÿÁÂÁÿÁÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÃÂÃÿÃÃÃÿÂÂÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÄÄÃÿÄÃÄÿÄÄÄÿÅÄÄÿÅÅÄÿÅÄÄÿÄÅÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÅÆÿÅÅÆÿÅÅÆÿÆÆÆÿÅÆÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÇÿÆÆÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÈÈÿÈÇÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÉÈÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÊÉÿÊÉÊÿÊÊÉÿÊÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿËÊÊÿÊÊËÿËËÊÿËËËÿËËËÿËËËÿËËÌÿÌÌÌÿËÌËÿËÌËÿÌÌËÿÌÌÌÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÍÍÌÿÍÍÌÿÍÌÍÿÌÌÍÿÍÌÍÿÌÍÍÿÍÍÍÿÍÎÍÿÎÍÍÿÍÍÍÿÎÎÍÿÍÎÍÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÏÎÎÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÐÏÿÏÐÐÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÑÿÑÑÑÿÐÐÐÿÑÐÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÒÒÿÑÑÑÿÒÑÑÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÓÒÓÿÒÓÓÿÒÓÒÿÓÓÓÿÓÓÒÿÓÓÓÿÓÓÓÿÔÓÓÿÓÔÔÿÔÔÔÿÓÔÓÿÔÓÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÕÔÿÕÕÕÿÈÍØÿAšòÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ“ôÿ—¶èÿØØØÿØØØÿØØÙÿØÙØÿÙÙÙÿØÙÙÿÙÙÙÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÙÿÙÙÚÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÚÛÚÿÛÛÛÿÚÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÐÔßÿc¡ðÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿn¦ðÿÜÞáÿßààÿàààÿàààÿàààÿáààÿáààÿààáÿàààÿáààÿááàÿáááÿáááÿáááÿáááÿáááÿâáâÿââáÿâââÿáââÿáââÿâââÿâââÿâââÿâãâÿâââÿ×Üåÿn¥ñÿ +ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿE˜óÿÞáçÿæçæÿæçæÿçæçÿçççÿæçæÿçççÿçççÿççèÿçççÿçèèÿçèèÿçççÿèèèÿèèèÿèèèÿèèèÿèèèÿéèéÿèééÿèèéÿéééÿéééÿéééÿééêÿéééÿéééÿéêéÿêêêÿêêêÿéêêÿêêêÿêëêÿêëêÿêêêÿëëêÿëêëÿëëëÿëëëÿëëëÿëëëÿëëëÿììëÿëìëÿëëëÿìëìÿëììÿìììÿìììÿìíìÿìììÿííìÿìíìÿíííÿíííÿíííÿíííÿíííÿíííÿííîÿîíîÿîíîÿíîíÿîîîÿíîîÿîîîÿîïîÿïîîÿîîïÿïïîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿïðïÿðððÿïïðÿðððÿðððÿðððÿñðñÿñððÿðññÿñððÿððñÿñðñÿñññÿñññÿñññÿñññÿññòÿñññÿòòòÿòñòÿòñòÿòòòÿòòòÿòòòÿòóòÿòòòÿóóóÿóóóÿóòòÿóóòÿóóóÿóóóÿóôôÿóôôÿôóôÿôóôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿõõôÿõõõÿõôôÿôõõÿõõõÿõöõÿõööÿõõõÿöööÿõööÿöööÿöööÿöööÿ÷ööÿöööÿöö÷ÿö÷÷ÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿ÷ø÷ÿøøøÿ÷ø÷ÿø÷øÿøøøÿøùøÿùùøÿùùøÿùùùÿùøøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùúÿúùùÿúúùÿúúúÿúúúÿúúúÿúúúÿûûûÿúúúÿúûûÿûúûÿúûûÿúûûÿûûûÿûûûÿûûûÿûüûÿûüûÿûüûÿûûüÿüüüÿüüüÿüüüÿüüüÿüüüÿýüýÿüüýÿüüýÿýýýÿýýýÿþýýÿþþýÿýýýÿýþýÿýýþÿþþþÿþýþÿþþþÿþþþÿþþþÿÿþþÿþþþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ­­®ÿ®®®ÿ®®®ÿ®­®ÿ®®®ÿ®®®ÿ®¯®ÿ¯®¯ÿ¯¯¯ÿ®¯®ÿ®¯®ÿ¯¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯°¯ÿ°¯¯ÿ°°°ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ±±±ÿ±°°ÿ°±±ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²²²ÿ²±±ÿ²±²ÿ²²±ÿ²²²ÿ²³²ÿ²²³ÿ²²²ÿ²³³ÿ²³³ÿ²³³ÿ²³²ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³´´ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´µ´ÿ´µ´ÿµ´µÿµµµÿµµµÿµµ¶ÿµµµÿµµµÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ··¶ÿ···ÿ··¶ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ··¸ÿ¸¸·ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹º¹ÿ¹ººÿ¹ººÿ¹ººÿ¹ººÿºººÿºººÿºººÿºº»ÿº»ºÿºº»ÿ»»ºÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»¼¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½¼½ÿ¼½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½½¾ÿ¾¾¾ÿ½¾½ÿ½¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¿ÿ¿¾¿ÿ¿¾¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀ¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿Àÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÁÀÿÀÁÀÿÀÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÁÂÿÁÂÁÿÂÂÁÿÂÂÂÿÂÂÂÿÂÁÂÿÃÂÂÿÃÂÃÿÂÂÃÿÂÃÂÿÂÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÄÃÿÄÄÄÿÄÃÃÿÄÄÄÿÄÅÅÿÄÅÅÿÅÅÄÿÅÄÄÿÄÅÅÿÅÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÆÆÅÿÅÆÅÿÅÆÆÿÆÅÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÇÆÆÿÇÇÆÿÇÇÇÿÇÆÇÿÇÇÇÿÈÇÇÿÇÇÇÿÈÇÇÿÈÈÇÿÈÈÈÿÈÇÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÉÈÿÈÉÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÉÉÿÉÉÊÿÊÊÊÿÊÉÊÿÉÊÊÿÊÊÊÿËÊÊÿÊËÊÿËËËÿÊÊÊÿÊÊÊÿÊËÊÿËËËÿËËËÿËËËÿËËËÿÌËÌÿËÌÌÿÌÌËÿÌÌËÿËÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÍÿÌÌÍÿÌÌÌÿÍÍÍÿÍÍÌÿÍÌÍÿÍÍÍÿÍÍÍÿÍÎÍÿÎÍÎÿÍÎÎÿÍÎÍÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÎÎÿÎÎÏÿÏÏÏÿÎÏÏÿÏÏÏÿÏÐÐÿÏÏÏÿÐÐÐÿÏÏÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÐÿÐÐÐÿÐÐÑÿÑÐÑÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÒÿÑÒÑÿÑÒÒÿÒÑÑÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÓÔÿÔÓÔÿÔÔÔÿÓÔÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿ©½ãÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ”óÿ¥½åÿ×רÿØØØÿØØØÿØØØÿÙÙÙÿÙÙÙÿÙØÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÛÛÛÿÛÚÚÿÛÛÛÿÛÛÚÿÚÛÛÿ£¼èÿ ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿôÿôÿôÿôÿªÀéÿààßÿßßàÿßààÿàààÿàààÿàààÿàááÿàááÿàááÿàááÿààáÿáááÿáááÿáááÿáááÿâááÿâââÿâââÿâââÿâââÿâââÿãââÿâââÿâââÿÚÞäÿ|«ïÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ!‘ôÿ¹Êìÿæææÿææçÿçæçÿæçæÿçççÿçççÿçççÿçççÿçççÿèççÿèçèÿçççÿèèçÿèèèÿèèèÿèèèÿèèéÿèèèÿéééÿéèéÿéèèÿéééÿéééÿéééÿéééÿéééÿééêÿééêÿêêêÿêééÿêêêÿêêêÿêêêÿêêêÿêêêÿêëêÿëêêÿëëëÿêëëÿëëëÿëëëÿëëëÿìëëÿëììÿììëÿìììÿììëÿìììÿìììÿìììÿíííÿíìíÿíííÿìíìÿíííÿíííÿíííÿíííÿîîîÿíííÿîîîÿîíîÿîíîÿíîîÿîîîÿîîîÿîîîÿîïïÿîîîÿîïïÿîïîÿïïîÿïïïÿïïïÿïïïÿïðïÿïïïÿïïïÿððïÿðððÿðððÿðððÿðððÿñððÿðððÿðñðÿðññÿñññÿñññÿñññÿñòñÿñññÿñññÿñòñÿòòòÿòòòÿòòòÿòòòÿòòóÿòòóÿòòòÿòòóÿóóòÿóóòÿóóóÿóóóÿóóóÿóóóÿóóóÿóóóÿóôóÿôóóÿôôôÿôôôÿôôõÿôôôÿôôôÿôõõÿõõôÿõôõÿõõõÿõõõÿõõõÿõöõÿõõõÿöõõÿöõõÿöööÿöööÿöööÿöööÿ÷ööÿ÷÷öÿ÷ööÿö÷öÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷øÿ÷ø÷ÿøø÷ÿ÷ø÷ÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿøùøÿøøøÿøøùÿùùøÿøùøÿùùùÿúùùÿùùùÿùúùÿùùúÿúùúÿúúùÿúùúÿúúùÿúúúÿúûúÿûúûÿúúúÿúûûÿûûûÿûûúÿûûûÿûûûÿüüûÿûûûÿûüûÿüûüÿüüûÿûûüÿüüüÿüüüÿýüýÿüüüÿýüüÿýüýÿüüýÿýýüÿýýýÿýüýÿýýýÿýýýÿýýþÿþýþÿþþþÿþþþÿþþþÿþþþÿþþþÿÿþþÿÿÿþÿþþÿÿÿþÿÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­®®ÿ®®®ÿ®®®ÿ®®­ÿ®®®ÿ®®®ÿ®¯¯ÿ®¯®ÿ®®¯ÿ®¯¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ¯°°ÿ°¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²³ÿ²³²ÿ³³³ÿ³³³ÿ²³³ÿ³³²ÿ³³²ÿ³³³ÿ´³³ÿ´³³ÿ³´³ÿ³³³ÿ´³´ÿ´´´ÿ´´´ÿµµ´ÿ´´´ÿ´´´ÿµ´´ÿµµµÿµ´µÿµµµÿµµ´ÿµµµÿµµµÿµ¶µÿµµ¶ÿ¶µ¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ¶·¶ÿ···ÿ···ÿ···ÿ··¶ÿ···ÿ···ÿ¸··ÿ·¸¸ÿ·¸·ÿ¸·¸ÿ¸··ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¸¸¹ÿ¸¸¹ÿ¸¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿº¹¹ÿºº¹ÿºººÿºººÿºººÿ¹¹¹ÿºººÿºººÿ»»ºÿºººÿ»ººÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ»¼»ÿ¼»»ÿ¼»»ÿ»»»ÿ¼»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾½ÿ¾½½ÿ½¾½ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¾¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿ¿¿ÀÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÂÂÁÿÁÁÁÿÂÂÂÿÂÂÂÿÂÁÂÿÂÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÃÂÂÿÃÃÃÿÃÂÃÿÃÃÃÿÄÄÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÄÄÿÄÄÄÿÄÄÃÿÄÄÃÿÅÄÄÿÄÅÄÿÄÅÄÿÄÅÄÿÄÅÅÿÅÄÅÿÅÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÆÿÅÆÅÿÆÅÅÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÇÆÆÿÇÆÆÿÆÆÇÿÆÆÇÿÇÇÇÿÆÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÈÇÇÿÇÇÈÿÈÇÈÿÈÈÇÿÇÈÇÿÈÈÈÿÈÈÈÿÈÈÉÿÉÈÉÿÉÉÈÿÈÉÉÿÉÉÈÿÉÉÈÿÉÉÉÿÉÊÉÿÉÉÉÿÊÉÉÿÉÉÉÿÊÉÊÿÊÊÉÿÊÊÊÿÊÊÊÿËÊÊÿÊÊÊÿËÊËÿÊËÊÿËËËÿËËËÿËËËÿËËËÿËËËÿËÌËÿËÌËÿÌËÌÿÌËËÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÌÿÌÍÌÿÌÌÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÎÍÿÍÎÎÿÍÎÍÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÎÎÏÿÏÏÏÿÏÏÎÿÎÎÏÿÏÏÏÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÑÑÑÿÐÐÑÿÑÑÐÿÑÐÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÒÿÒÒÑÿÒÒÑÿÑÒÑÿÒÒÒÿÒÒÒÿÒÓÒÿÒÓÓÿÓÒÓÿÓÒÓÿÓÒÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÔÓÓÿÓÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿe¢îÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ5–óÿ°ÂãÿØØØÿØÙÙÿØØÙÿØØØÿØÙÙÿÙÙØÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÙÿÙÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÚÚÚÿÛÚÚÿÛÛÛÿÛÛÛÿÊÑßÿ;—óÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿO›òÿÎÕäÿààßÿàààÿààßÿàààÿàààÿàààÿàààÿààáÿáàáÿáàáÿàááÿáááÿáááÿáááÿâááÿáâáÿâááÿââáÿââáÿââáÿâââÿâââÿÜÞãÿ‹±îÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ +ôÿ‹²ðÿãäæÿæææÿçææÿçæçÿçççÿçççÿçççÿçççÿçççÿçèçÿççèÿèèèÿèèçÿèèçÿçèèÿèèèÿèéèÿèèèÿèèèÿèèèÿéèéÿéèèÿéééÿéééÿéééÿéêéÿêééÿêêêÿéééÿééêÿêêêÿêéêÿêêêÿêêêÿêëëÿëêêÿêêêÿëêëÿëëëÿëëëÿëëëÿëëëÿëëëÿìëìÿëëìÿëëìÿìëìÿìììÿìììÿìììÿíììÿìììÿíííÿííìÿíììÿíìíÿíííÿííîÿíííÿíííÿíííÿíîîÿîííÿîîîÿîîîÿîîîÿîîîÿîïîÿîïîÿîîîÿïïîÿïïïÿïïïÿïïïÿïïðÿïððÿïïðÿïðïÿðïðÿïððÿïððÿðððÿðððÿðñðÿñððÿñðñÿñððÿñðñÿñññÿñðñÿñññÿñññÿñññÿòññÿòòñÿñòñÿñòòÿòòñÿòòòÿòòóÿòòòÿóóòÿòóóÿòóòÿóóóÿóóóÿóóóÿôóóÿóôóÿóóóÿôóôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõõÿõõõÿõôõÿõôôÿõõôÿõõõÿõõõÿõõöÿõõõÿöõöÿöõõÿöõõÿõöõÿõööÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷ö÷ÿ÷ø÷ÿ÷÷÷ÿ÷øøÿ÷÷÷ÿ÷ø÷ÿ÷÷øÿøøøÿøøøÿùøøÿøøøÿøøøÿøøøÿøùøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùúÿúúùÿúúùÿúúùÿúúúÿúùúÿúúúÿûúúÿûúúÿúûûÿûúûÿúúûÿúûûÿûûúÿûûûÿûûûÿûûûÿûûûÿûüûÿûüüÿûûüÿüüüÿüüüÿüüüÿüýüÿýüüÿýüüÿüýýÿýüýÿýüýÿýýýÿýýýÿýýþÿþýþÿýþýÿþþþÿþýýÿýýþÿþþþÿþþþÿÿþþÿþþÿÿþþþÿþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ­­­ÿ®­®ÿ®­­ÿ®­­ÿ®­®ÿ­®®ÿ®®®ÿ®®®ÿ¯®¯ÿ®®¯ÿ¯¯®ÿ¯®¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°°ÿ¯°°ÿ¯¯¯ÿ°°¯ÿ°¯¯ÿ¯°°ÿ°°¯ÿ°°°ÿ°°°ÿ±°°ÿ±±°ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ±±±ÿ±²²ÿ²²±ÿ±±±ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³³³ÿ³³³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ³´³ÿ´´´ÿ´´´ÿ´³³ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿµµ´ÿµ´µÿµµµÿµµµÿµµµÿ¶µµÿµ¶µÿµµµÿµ¶µÿµ¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶·¶ÿ··¶ÿ·¶·ÿ·¶¶ÿ¶¶·ÿ·¶·ÿ···ÿ···ÿ¸··ÿ···ÿ··¸ÿ··¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¹ÿ¹¸¸ÿ¹¹¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹ººÿ¹º¹ÿºººÿº¹¹ÿºººÿºººÿºººÿºººÿº»ºÿ»º»ÿºººÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ¼»»ÿ»¼»ÿ»¼»ÿ»¼¼ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½½¼ÿ½½½ÿ½½½ÿ½¼½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾½¾ÿ¾¾½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿¿ÿÀÀÀÿÀ¿Àÿ¿ÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÁÿÀÀÀÿÀÀÀÿÁÀÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÁÿÂÂÂÿÂÃÂÿÂÂÂÿÃÃÂÿÂÃÃÿÃÃÂÿÃÃÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÄÄÄÿÄÃÄÿÄÃÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÅÿÄÄÅÿÄÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÅÿÅÆÆÿÆÆÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÇÆÿÆÇÆÿÆÇÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÈÇÿÈÇÇÿÇÇÇÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÈÉÿÈÈÈÿÈÉÉÿÈÈÉÿÉÈÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÊÿÊÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊËÿÊÊÊÿÊÊËÿËÊÊÿËÊËÿËËÊÿËËËÿËËËÿËËËÿÌËËÿÌËËÿÌÌËÿÌËÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÌÌÍÿÌÌÍÿÍÌÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÍÍÿÍÍÍÿÎÍÍÿÍÎÍÿÍÎÍÿÎÎÎÿÎÎÎÿÏÎÏÿÏÏÎÿÎÏÏÿÏÏÏÿÏÎÏÿÏÏÏÿÏÏÎÿÏÏÏÿÏÏÏÿÐÏÏÿÏÏÐÿÏÏÐÿÏÐÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÑÐÿÑÑÐÿÐÐÐÿÑÐÑÿÑÑÑÿÐÑÑÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÒÒÑÿÑÑÒÿÑÒÑÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÒÒÿÒÒÒÿÒÓÓÿÓÓÓÿÓÒÒÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÓÿÓÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿ¿ÈÛÿ%”óÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ.•óÿºÇàÿÙÙØÿÙØØÿÙÙÙÿÙØÙÿØÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÚÚÚÿÚÙÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÚÿÛÚÚÿØÚÜÿx©íÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ”µìÿÜÝàÿàààÿàßàÿàààÿàààÿàààÿàààÿàààÿáààÿáàáÿàááÿááàÿáááÿáááÿáááÿáááÿâááÿâáâÿáâáÿâââÿââáÿßàãÿ¡¼ìÿ +ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ[žòÿ×Üèÿæææÿæææÿææçÿçææÿçæçÿçççÿççæÿçççÿçççÿèçèÿçèçÿèççÿçèèÿçèçÿèèèÿèèèÿèèèÿèééÿèèèÿééèÿééèÿéèéÿéééÿéééÿééêÿêêéÿééêÿêêéÿééêÿééêÿêêêÿêêêÿêêêÿêêêÿëêêÿëêëÿëêêÿëëëÿêëëÿëëëÿëëëÿëëëÿëìëÿììëÿìëëÿìëëÿìëëÿìììÿìììÿìììÿìììÿíììÿíìíÿìííÿíìíÿíííÿíííÿíííÿíííÿííîÿíííÿîíîÿîîíÿîîîÿîîíÿîîîÿîïïÿïîîÿîîïÿïïïÿïïïÿïïïÿïïïÿðïïÿïïðÿïïðÿïðïÿðððÿïððÿðððÿðððÿðððÿðððÿñððÿñððÿðññÿñññÿñññÿñññÿñññÿñññÿñññÿòòòÿññòÿòòòÿññòÿòòòÿòòòÿòòòÿóóòÿòòóÿòóòÿòóóÿóòòÿòóóÿóóóÿôóóÿôóóÿôôóÿóóóÿóôôÿóóôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôõÿõôõÿôôõÿõôõÿõõõÿöõõÿöõöÿöõõÿõöõÿöööÿõöõÿöõõÿöööÿöööÿöö÷ÿö÷öÿ÷ööÿ÷ööÿ÷ööÿ÷÷öÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷øÿ÷ø÷ÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøùÿøøøÿøøùÿùùùÿøùùÿùùùÿùùùÿùùùÿúùúÿúùùÿúúúÿúúúÿúùúÿúúúÿúúúÿúúúÿûûúÿûûúÿûûúÿúûúÿúûûÿûûûÿûûûÿûûüÿûûûÿüûûÿûüûÿûüûÿüûûÿüûüÿüüüÿüüüÿüýüÿýýýÿüýüÿüýüÿýýýÿýýýÿýýýÿýýýÿýýýÿýþýÿýýþÿýþýÿýýþÿþþþÿþþþÿþþþÿþþþÿþþþÿÿÿÿÿÿÿþÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­­­ÿ­®­ÿ­­®ÿ­®®ÿ®­®ÿ­®­ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ¯¯®ÿ¯®¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ¯¯¯ÿ°¯¯ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²±±ÿ±±±ÿ²²²ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ²²³ÿ²²³ÿ²²³ÿ²³³ÿ²³³ÿ³²²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´µµÿ´´´ÿ´µ´ÿ´µµÿµµ´ÿµµ´ÿµµ´ÿµµµÿµµµÿµµµÿ¶¶µÿµ¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶¶ÿ¶¶¶ÿ···ÿ¶·¶ÿ···ÿ···ÿ·¶·ÿ···ÿ···ÿ·¸·ÿ¸·¸ÿ¸¸¸ÿ·¸·ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¹¹ÿ¸¸¹ÿ¸¸¹ÿ¹¹¸ÿ¹¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿº¹¹ÿ¹º¹ÿºº¹ÿº¹¹ÿºº¹ÿºººÿºººÿºººÿºº»ÿºººÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿº»»ÿ»»¼ÿ¼»»ÿ»»¼ÿ»¼»ÿ¼»»ÿ»»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½¼¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ¾¾½ÿ¾½¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¿¿ÿ¿¾¾ÿ¿¿¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿Àÿ¿¿¿ÿ¿ÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÁÿÁÁÀÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÂÁÿÁÁÁÿÂÁÁÿÂÂÁÿÂÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÃÿÂÃÂÿÃÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÃÃÿÄÃÃÿÄÄÄÿÄÄÄÿÃÄÄÿÄÄÄÿÄÅÅÿÄÄÄÿÄÅÅÿÅÄÅÿÄÄÄÿÄÅÅÿÅÅÅÿÆÅÅÿÅÆÅÿÆÅÅÿÅÅÆÿÆÆÆÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÆÇÿÆÇÇÿÇÆÆÿÇÇÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÇÈÿÈÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÉÈÈÿÉÉÉÿÉÈÈÿÉÉÉÿÉÉÈÿÉÉÉÿÊÊÉÿÉÉÊÿÉÉÉÿÊÉÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊËÿÊÊÊÿËËËÿËËËÿËËËÿÊÊËÿËËËÿËÌËÿËÌËÿËÌËÿÌÌÌÿÌËÌÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÍÌÍÿÍÍÍÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÎÍÿÍÎÍÿÎÎÍÿÎÎÎÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÊÌÑÿËÍÐÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÏÏÿÐÐÐÿÐÏÏÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÑÿÐÐÐÿÐÑÑÿÑÐÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÒÑÒÿÑÑÑÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÒÒÒÿÒÓÒÿÓÓÒÿÓÓÓÿÓÓÓÿÒÓÓÿÔÓÓÿÔÔÔÿÓÓÓÿÔÔÔÿÓÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿ”³çÿ“ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿKšñÿÀÊßÿØØØÿØØØÿØÙØÿØÙØÿÙÙÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÚÙÚÿÙÚÙÿÙÙÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿ²Ãäÿ)“óÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ/”óÿÅÐåÿßßßÿßààÿßàßÿàààÿàààÿààáÿàààÿàáàÿáààÿàááÿááàÿàááÿáááÿáááÿáááÿâáâÿâáâÿâááÿáââÿàááÿ§¿ëÿ +ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿ¿Íëÿæææÿæçæÿæççÿææçÿçææÿæççÿæççÿçççÿçççÿçççÿçèèÿèççÿççèÿèçèÿèèçÿèèèÿèèèÿèèèÿèèèÿéèéÿèèéÿèééÿéééÿéééÿéééÿéééÿéééÿêêéÿêéêÿêéêÿéêêÿêêêÿêêêÿëêêÿêêëÿêêëÿêêêÿêëëÿêëëÿêëëÿëëëÿëëëÿìëëÿëìëÿçèìÿìììÿìëìÿìììÿìììÿìììÿìììÿìíìÿìììÿíííÿìííÿìììÿíííÿíííÿíííÿíííÿíííÿíîîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿïïîÿïïïÿïîïÿïïïÿïïïÿïðïÿïðïÿðððÿïïïÿïïðÿïððÿððïÿðððÿðððÿðððÿñððÿññðÿññðÿðñðÿñññÿñññÿñññÿñòòÿñññÿñññÿñòòÿñòñÿòòòÿòñòÿòòòÿòòòÿòòóÿòóòÿóóòÿòóóÿòóóÿóòóÿóóóÿóóóÿóóôÿóóôÿôôôÿôôóÿóôôÿôôôÿôôôÿôôôÿõôõÿôôôÿõôõÿõôôÿõõõÿõôõÿõõõÿõõõÿõöõÿõõöÿöõõÿöõöÿööõÿöööÿöööÿöööÿ÷ööÿöööÿöööÿ÷÷öÿ÷÷öÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿøø÷ÿ÷÷øÿøøøÿøøøÿøø÷ÿøøøÿøøøÿøøùÿøøøÿøøùÿøùùÿùùùÿùùøÿùùùÿùùùÿùúúÿùùùÿùúùÿùùúÿúùùÿúùúÿúúúÿúúúÿúúúÿúúúÿûûúÿúúúÿûûúÿûûúÿûûûÿûûûÿûûüÿüûüÿûüüÿûüüÿüûüÿüüûÿûüüÿüüüÿüüüÿüüýÿüüüÿüüýÿýüýÿýýýÿýýýÿýýýÿýýýÿýþýÿþýýÿýþýÿþýþÿþýþÿþþþÿþþýÿÿþþÿþþþÿþþþÿÿÿÿÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬­­ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®®­ÿ­®­ÿ­®®ÿ®­®ÿ®®­ÿ®®®ÿ®¯®ÿ®®®ÿ¯®®ÿ®®®ÿ¯®¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ¯°¯ÿ¯°°ÿ°¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ°°±ÿ°±°ÿ°°±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ±±±ÿ±²²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³²³ÿ²³³ÿ³²²ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³´³ÿ´³³ÿ´´³ÿ³´´ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿµµ´ÿ´´µÿµµ´ÿ´µµÿµ´µÿµµµÿµµµÿµµµÿµ¶µÿµµ¶ÿ¶¶µÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶··ÿ¶··ÿ·¶·ÿ·¶·ÿ···ÿ···ÿ·¸¸ÿ¸··ÿ·¸¸ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹¹ºÿº¹¹ÿ¹¹ºÿºº¹ÿºººÿºººÿºººÿ»ººÿ»º»ÿ»ººÿº»»ÿº»»ÿ»ººÿ»»»ÿ»»»ÿ¼»»ÿ»»¼ÿ»¼¼ÿ¼¼»ÿ¼¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ½½¼ÿ¼¼¼ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½½¾ÿ½¾½ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿ¿ÀÀÿÀ¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÀÁÿÀÁÀÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÂÿÁÁÁÿÁÁÂÿÂÁÂÿÂÂÂÿÂÁÂÿÂÂÃÿÂÂÂÿÂÂÃÿÂÂÂÿÃÂÃÿÃÂÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÄÃÄÿÃÄÄÿÃÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÄÿÄÅÅÿÅÅÅÿÄÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÅÆÅÿÅÅÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÇÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÇÇÿÈÈÇÿÈÇÇÿÈÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÉÈÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÊÉÉÿÉÉÊÿÉÊÊÿÊÊÊÿÉÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËÌÿËËÌÿËËÌÿÌËËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÍÿÍÌÍÿÌÌÍÿÍÌÍÿÍÍÌÿÍÍÍÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÎÍÿÍÎÎÿÍÎÍÿÌÍÏÿ¶ÂØÿªèÿPœðÿGšðÿJšðÿa íÿ‘±äÿ½Å×ÿÍÎÐÿÏÏÏÿÏÏÏÿÐÐÐÿÏÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÏÐÿÐÐÐÿÑÐÑÿÐÐÑÿÐÐÐÿÐÐÐÿÑÑÑÿÐÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÒÒÒÿÑÑÑÿÑÑÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÓÿÒÒÒÿÓÒÒÿÒÒÓÿÓÒÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÓÓÿÔÓÔÿËÐ×ÿg¢îÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿUñÿÊÐÜÿØØÙÿØØÙÿØØÙÿÙØØÿÙÙÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÚÿÚÚÙÿÚÚÙÿÙÚÙÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÒÕÝÿg¢ïÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿg¢ðÿÛÝáÿßßßÿààßÿàààÿàààÿàààÿáààÿàààÿààáÿàààÿáááÿáààÿáááÿáááÿáááÿáááÿáâáÿáááÿàááÿ³Æêÿ0“óÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿ‡¯ðÿååæÿæçæÿæææÿæçæÿçæçÿææçÿççæÿçæçÿçççÿçççÿççèÿèççÿççèÿèççÿçèèÿèèèÿèèèÿèèéÿèèèÿèèèÿèéèÿéèèÿèèéÿéééÿéééÿéééÿéééÿêééÿêêêÿééêÿêêêÿéééÿéêêÿêêêÿêêêÿëêêÿêêëÿëêëÿëêêÿëëëÿäçëÿÃÑîÿ†¯òÿYóÿT›óÿ_žóÿ“µñÿÌØîÿéêëÿìììÿìììÿììíÿíììÿíììÿìììÿìììÿííìÿìííÿíííÿíîíÿíííÿîíîÿíîîÿîíîÿîíîÿîîîÿîîîÿïîîÿïîïÿîîîÿîïïÿïîïÿïïïÿïîïÿïïïÿïððÿïïðÿïïðÿïðïÿïððÿðððÿðïðÿðððÿðñðÿðððÿñððÿðñðÿððñÿñññÿñññÿñññÿñòñÿñòòÿññòÿòñòÿòññÿòñòÿòòñÿòòòÿòòòÿòòòÿòòóÿòóóÿòóòÿòòòÿòóóÿóóóÿóóóÿôóóÿóôóÿóôôÿôóóÿóóôÿóôôÿôôôÿôôôÿõõôÿôôôÿôôôÿôõõÿõôôÿõôõÿõõôÿõõõÿõõõÿõõõÿõööÿõöõÿööõÿöööÿõööÿöööÿöööÿöööÿöö÷ÿ÷÷öÿö÷÷ÿ÷÷öÿö÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿø÷÷ÿøø÷ÿ÷ø÷ÿ÷øøÿøøøÿøøøÿøøøÿùøùÿùøøÿùøøÿøøùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùúÿúùùÿùúúÿúúúÿúúúÿúúúÿúúúÿûûûÿúúûÿúúûÿûúúÿûûûÿûûûÿûûûÿüüüÿûüûÿüûûÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿýüüÿýüýÿýýüÿüýýÿýýýÿýýýÿýýýÿþýýÿýýþÿýýýÿýþþÿþþýÿþýþÿþþþÿþþþÿþþþÿÿÿþÿÿþÿÿÿÿþÿþÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­­¬ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®®­ÿ­­­ÿ­­®ÿ®®­ÿ­®®ÿ®­®ÿ®®®ÿ®®®ÿ®®¯ÿ®¯®ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ®¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°°¯ÿ¯°°ÿ°°°ÿ°°°ÿ°¯°ÿ°°°ÿ±°°ÿ°°±ÿ°±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ²±±ÿ²²²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³³³ÿ²³³ÿ³²³ÿ²³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ´´´ÿ³³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿ´´µÿ´´µÿ´´µÿµµµÿµ´µÿµµµÿµµ¶ÿµµµÿµµ¶ÿµµ¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶¶ÿ¶¶¶ÿ¶¶·ÿ··¶ÿ··¶ÿ¶··ÿ···ÿ···ÿ·¸·ÿ···ÿ·¸¸ÿ·¸¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¹¹ÿ¹¹¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹ºÿ¹¹ºÿ¹¹ºÿºººÿºººÿºººÿºººÿºº»ÿ»»»ÿ»ººÿ»º»ÿ»ººÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»¼¼ÿ¼»»ÿ¼¼»ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½½¼ÿ¼¼¼ÿ½¼½ÿ½½½ÿ½½½ÿ½¾¾ÿ¾¾½ÿ½¾½ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¾¾ÿ¾¿¿ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿À¿ÿÀ¿¿ÿ¿¿¿ÿ¿ÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÁÁÂÿÁÂÁÿÁÂÁÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÃÂÂÿÂÃÃÿÃÃÂÿÂÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÄÄÃÿÃÄÄÿÃÄÄÿÃÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÅÄÅÿÄÅÅÿÄÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÆÆÅÿÆÅÅÿÆÆÆÿÅÆÅÿÆÆÆÿÆÆÆÿÆÇÆÿÇÇÆÿÇÆÆÿÇÆÇÿÇÇÇÿÇÇÇÿÇÆÇÿÇÇÇÿÈÇÇÿÈÇÇÿÈÇÇÿÇÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÈÉÿÉÉÈÿÈÉÈÿÈÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÉÿÉÉÉÿÊÉÉÿÊÉÉÿÊÉÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿÊËËÿËÊËÿÊÊÊÿËËËÿËËËÿËËËÿËËËÿËÌËÿËËÌÿÌËËÿËËËÿËÌÌÿÌÌÌÿÍÌÌÿÌÌÌÿÌÍÌÿÍÌÌÿÍÌÍÿÌÍÍÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÎÿÎÍÎÿÍÎÎÿÍÍÎÿÂÈÓÿ‡¬æÿ“ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ{¨éÿ¸ÃØÿÏÏÏÿÏÏÏÿÏÐÐÿÏÐÏÿÐÐÏÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÒÑÿÑÑÒÿÑÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÓÒÓÿÓÒÓÿÓÒÓÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÓÓÿÓÔÓÿÔÔÓÿ¼ÇÜÿ3•óÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿôÿôÿb ïÿÊÐÝÿØØØÿØØÙÿÙÙÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÚÿÙÙÙÿÚÙÚÿÚÙÙÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿ ºèÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ‘ôÿ©ÀéÿÞßàÿßààÿßàßÿßàßÿàààÿàààÿàààÿàáàÿáááÿáááÿááàÿáááÿáààÿáááÿáááÿâááÿááâÿ½Ëèÿ7•óÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿ)‘ôÿÙÞèÿæææÿçææÿææçÿææçÿçççÿçææÿçççÿçççÿçççÿèççÿèçèÿçèèÿçèèÿèççÿèèèÿèèèÿèèèÿèèèÿèèèÿèééÿéèéÿèéèÿéééÿéèéÿéééÿéééÿéééÿêêéÿéééÿêêéÿéêêÿêêêÿêêéÿêêêÿêêêÿêëêÿêëëÿèêêÿÇÔíÿn¤òÿôÿôÿôÿôÿôÿôÿôÿ|ªòÿÅÒïÿçéìÿìììÿìíìÿííìÿìíìÿìíìÿíííÿíííÿííìÿíííÿîîíÿííîÿîîíÿîîîÿîíîÿîîíÿîîîÿîîîÿîîîÿîîïÿïîïÿîïîÿïïîÿïîîÿïïïÿïïïÿïïðÿïïïÿïïïÿïïðÿïïïÿïððÿïððÿðððÿñððÿðððÿññðÿñðñÿñññÿðððÿñññÿñññÿñññÿñññÿñññÿññòÿòòñÿòñòÿòññÿòòòÿòòòÿóòòÿóóòÿòóóÿóòòÿòóóÿòóóÿóóóÿôóóÿôóóÿôôóÿóôóÿóôôÿôôôÿôôôÿóôôÿôôôÿôõôÿôõôÿôõôÿôõôÿõôôÿõôõÿôõõÿõõõÿõõöÿöõõÿõõõÿööõÿõöõÿöõöÿõööÿöõöÿöö÷ÿö÷öÿ÷÷öÿ÷ööÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿøø÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿøø÷ÿøøøÿøøøÿùøøÿùøøÿøøøÿùøùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿúùùÿúùúÿúúúÿúúùÿúúúÿúúúÿúûúÿûúúÿúúúÿúûúÿúûûÿûûúÿûûûÿûûûÿûûûÿûûüÿûûûÿûüûÿüüûÿüüüÿüüüÿüüüÿüüüÿüüüÿüýüÿýüüÿüüýÿýýüÿüýýÿüýýÿýýýÿýýýÿýýþÿýýýÿýþþÿþýþÿýþýÿýþýÿþþþÿþþÿÿÿþÿÿÿþþÿþþþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬­­ÿ¬¬­ÿ¬­­ÿ­­­ÿ­¬­ÿ®­­ÿ­­­ÿ­®®ÿ­®­ÿ­­­ÿ­®­ÿ®®­ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ°¯°ÿ°°¯ÿ°¯°ÿ°°¯ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ±°±ÿ±±°ÿ°±±ÿ°±±ÿ±±±ÿ±±±ÿ±²±ÿ²²±ÿ±±±ÿ²±±ÿ±²±ÿ±²²ÿ²²²ÿ²²²ÿ²²³ÿ³²³ÿ²³²ÿ²³³ÿ²³³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿµµ´ÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ···ÿ··¶ÿ·¶·ÿ···ÿ···ÿ¸··ÿ··¸ÿ¸¸·ÿ···ÿ¸·¸ÿ¸¸·ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¹ÿ¹¸¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹ºÿ¹ººÿºººÿºººÿºººÿ»º»ÿºº»ÿºººÿºººÿ»»ºÿ»»ºÿºº»ÿ»»»ÿ»»¼ÿ»»»ÿ¼»¼ÿ¼¼»ÿ»»¼ÿ¼¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼¼½ÿ½¼¼ÿ½½¼ÿ½¼¼ÿ½½½ÿ½½½ÿ½¾½ÿ½¾½ÿ½½½ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¿ÿ¾¾¾ÿ¿¿¾ÿ¾¿¾ÿ¾¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿À¿ÿÀÀ¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÁÁÿÀÁÁÿÀÁÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÂÁÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÂÃÂÿÂÃÃÿÃÃÃÿÃÃÂÿÃÃÂÿÃÃÃÿÃÃÄÿÄÃÃÿÃÄÃÿÃÃÃÿÃÄÄÿÄÄÄÿÄÃÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÄÅÿÄÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÅÆÿÆÆÅÿÆÆÆÿÅÆÆÿÅÅÆÿÆÆÅÿÆÆÆÿÆÆÇÿÆÆÆÿÆÆÆÿÇÆÆÿÆÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÈÈÿÇÈÈÿÈÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÈÉÈÿÈÈÉÿÈÈÉÿÉÉÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÉÊÿÊÊÉÿÉÉÊÿÊÉÊÿÊÊÉÿÊÊÊÿÊËÊÿÊÊÊÿËËÊÿÊËËÿËËÊÿÊËÊÿËËËÿËËËÿËËËÿËËËÿËÌËÿÌËÌÿËËÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÍÿÌÍÌÿÌÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÍÎÍÿ¼ÅÖÿ]Ÿîÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿC™ñÿŸ·áÿÍÎÐÿÏÐÐÿÏÐÏÿÏÏÏÿÐÏÏÿÐÐÏÿÏÐÐÿÐÐÐÿÐÐÑÿÐÐÐÿÐÐÐÿÑÐÐÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÒÑÿÑÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÓÒÿÒÒÒÿÒÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÔÿÓÓÔÿÔÓÔÿÒÔÔÿ™¶åÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ ôÿu§íÿÑÔÚÿØÙØÿÙØØÿØÙØÿØÙØÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÚÚÿÙÚÚÿÚÚÚÿÚÚÙÿÚÚÚÿÚÚÚÿÄÍàÿ;–òÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿXñÿÑ×ãÿàààÿßààÿßààÿàààÿßàßÿàààÿààáÿáààÿàááÿááàÿááàÿáááÿáááÿáááÿáááÿÂÎçÿJ˜òÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿ«Âíÿæææÿæææÿçæçÿæææÿæææÿæææÿçççÿçæçÿçççÿçççÿçççÿççèÿçèçÿççèÿçèçÿèèèÿèèèÿèèèÿèèèÿééèÿééèÿèèéÿééèÿèééÿééèÿéééÿéééÿéééÿéééÿéééÿééêÿêêêÿêêêÿêêêÿêêêÿêêêÿçèêÿ¥¿ïÿ:”ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ0’ôÿ‘µñÿâæíÿíììÿìííÿìííÿìíìÿìììÿíííÿíííÿíííÿíííÿíííÿîííÿíííÿîîíÿíîîÿîîîÿîîîÿîîîÿîîîÿîîïÿïîîÿîïîÿïîïÿïïïÿïïïÿïïïÿïïïÿðïðÿðïïÿïïïÿïððÿððïÿðððÿðððÿððñÿñððÿððñÿññðÿðññÿñððÿñññÿñññÿñòñÿòòñÿñññÿñòòÿòòñÿññòÿòñòÿòòòÿòóòÿóóòÿóòòÿòóóÿòóòÿóóóÿóóòÿóóóÿóóóÿôóóÿóóóÿôôóÿôóóÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿôõõÿõôôÿõõôÿõôôÿôõõÿõõõÿõõõÿöööÿöõõÿöööÿõöõÿöööÿöööÿöööÿ÷÷öÿöööÿ÷÷öÿö÷÷ÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿøøøÿ÷øøÿøøøÿ÷øøÿøøøÿøøøÿùøøÿøùøÿøùùÿùøøÿùøùÿùùùÿùùùÿùùùÿùùùÿúùùÿùúúÿúúùÿúúúÿúúúÿúúùÿúúúÿúúúÿúúúÿúúúÿúúúÿûûûÿûûûÿûûûÿûûûÿûûûÿûûüÿûûüÿüüûÿüüüÿûüüÿüüüÿüüüÿüüüÿüýüÿüüýÿýüüÿýüýÿüýýÿýýýÿýýýÿýþýÿýýýÿýýýÿýýýÿýýþÿþýþÿþýýÿþýþÿþþþÿÿþþÿþþþÿþÿÿÿÿÿþÿÿÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­¬¬ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­¬ÿ­­­ÿ­­­ÿ­®­ÿ­®­ÿ­­®ÿ®­®ÿ®®®ÿ®®­ÿ¯®®ÿ®®®ÿ¯®®ÿ¯¯¯ÿ®®®ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯°¯ÿ°¯¯ÿ¯°°ÿ¯¯°ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±±°ÿ±°°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²²²ÿ±±²ÿ²²±ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²²²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´³´ÿ´³´ÿ³³´ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿµµ´ÿµµ´ÿ´µµÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿµ¶¶ÿ¶¶¶ÿ¶µµÿ¶¶µÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ¶¶¶ÿ···ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ¸¸·ÿ¸¸·ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹ººÿºººÿº¹ºÿºººÿºººÿºººÿºººÿºº»ÿº»»ÿ»»»ÿ»»ºÿ»»»ÿ¼»»ÿ¼»»ÿ»»»ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ¼¼½ÿ¼½½ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½½½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿À¿ÿÀ¿¿ÿÀÀ¿ÿÀÀ¿ÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÂÁÿÁÁÂÿÂÁÁÿÁÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÃÿÃÂÃÿÃÃÃÿÃÃÂÿÃÃÂÿÃÃÃÿÃÄÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÄÅÄÿÅÅÅÿÅÅÄÿÄÅÅÿÅÅÅÿÆÅÅÿÅÅÅÿÆÆÆÿÆÅÆÿÅÆÆÿÆÆÅÿÆÆÅÿÆÆÆÿÆÆÆÿÇÆÆÿÆÆÇÿÆÇÆÿÇÇÇÿÆÆÆÿÆÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÈÈÇÿÈÇÇÿÇÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÈÉÿÉÈÉÿÉÉÉÿÈÉÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÉÿÉÊÊÿÊÊÊÿÉÊÊÿÉÉÊÿÊÊÊÿËÊÊÿÊÊÊÿËÊÊÿÊÊÊÿËËËÿËËÊÿËËËÿËËËÿËËËÿËËÌÿÌËËÿÌÌËÿÌËÌÿÌÌÌÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÍÿÍÍÍÿÌÍÌÿÌÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÁÆÔÿ\Ÿîÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ’ôÿ“óÿ‰®æÿÅÊÔÿÏÏÏÿÏÏÏÿÏÐÐÿÐÐÐÿÐÏÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÑÿÑÐÐÿÑÑÐÿÑÑÑÿÑÑÑÿÒÑÑÿÑÑÒÿÑÑÑÿÑÑÑÿÑÒÒÿÒÒÑÿÒÒÒÿÒÑÒÿÒÒÒÿÒÒÓÿÓÒÒÿÓÓÓÿÒÓÒÿÓÓÒÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÐÒÔÿVðÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ«íÿÒÕÚÿÙÙØÿÙØÙÿÙØÙÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÙÿÚÙÙÿÙÙÙÿÙÚÚÿÚÚÚÿÖ×Ûÿ€«ìÿ ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ˜·ëÿÞàßÿàßàÿàààÿßßàÿàààÿàààÿàààÿààáÿàààÿàáàÿàááÿááàÿáááÿáááÿÎÕåÿ]žñÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿn¤ñÿâäæÿæææÿæææÿæææÿçææÿæçæÿæçæÿæçæÿçççÿæççÿçççÿçççÿçççÿèççÿèèèÿèèèÿèççÿèèèÿèèèÿèèèÿéèèÿèééÿèééÿéèéÿééèÿéééÿéééÿéééÿéééÿééêÿêêéÿêêêÿêéêÿêêêÿêêêÿØÞìÿ€«ñÿ ŽôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿˆ°òÿäçíÿìììÿìììÿíííÿíííÿíííÿìíìÿíííÿíííÿííîÿíííÿîííÿîîíÿíîîÿíîîÿíîîÿîîîÿîîîÿîïîÿïîïÿîïîÿïïïÿîïïÿîîïÿïïïÿïïïÿïïïÿðïïÿðïïÿðððÿðððÿïïðÿðððÿðððÿðððÿðððÿððñÿñððÿðññÿñññÿññðÿñññÿòòñÿòñòÿñòñÿòñòÿòñòÿñòòÿòòòÿòòòÿòòòÿóòòÿòòòÿóòóÿòóóÿóóóÿóóòÿóóóÿóóóÿôóóÿôóôÿóôôÿôôôÿôôóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿôõôÿõõõÿõöõÿõõõÿõöõÿõöõÿõöõÿööõÿöõöÿöööÿöööÿ÷ööÿöööÿö÷÷ÿ÷÷÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷÷÷ÿø÷øÿøøøÿ÷÷øÿøøøÿøøøÿùøøÿøøøÿùùøÿøøùÿùøøÿùùùÿùùùÿùùùÿùùùÿúúùÿùùùÿúùúÿùúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúûûÿûûúÿúúûÿúûúÿûûûÿûûûÿûûûÿüüûÿüûûÿüüüÿüüüÿûüüÿüüüÿüüüÿüüüÿüüüÿüýüÿüýüÿüýüÿüüýÿýýüÿýýýÿýýýÿýýýÿþýýÿýþýÿþþþÿþýþÿþþþÿþþþÿþþþÿþþþÿÿÿþÿþÿþÿþþþÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬¬¬ÿ­¬­ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­®­ÿ­­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯¯ÿ®®¯ÿ¯®¯ÿ®®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ¯°¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°¯ÿ°°°ÿ±°°ÿ±°±ÿ±±°ÿ°°°ÿ°°±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ²²²ÿ²±²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²²²ÿ³³²ÿ²³³ÿ³²³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ³³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿ´´µÿ´µµÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶µµÿ¶µµÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ···ÿ¶··ÿ···ÿ·¶·ÿ···ÿ···ÿ··¸ÿ···ÿ¸··ÿ·¸¸ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¸¹ÿ¹¹¹ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿºº¹ÿ¹º¹ÿºº¹ÿº¹ºÿºººÿºººÿºº»ÿ»ººÿ»º»ÿ»ººÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼»»ÿ»»»ÿ¼»»ÿ»»»ÿ»¼¼ÿ»¼¼ÿ¼¼¼ÿ¼½¼ÿ½½¼ÿ¼½¼ÿ½¼½ÿ½½½ÿ¼½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾½ÿ¾½½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¾¾¾ÿ¿¿¿ÿ¿¾¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿Àÿ¿¿¿ÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÁÿÀÀÀÿÁÁÀÿÀÁÀÿÀÁÀÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÁÁÿÁÁÁÿÂÂÂÿÂÂÁÿÁÂÂÿÂÂÂÿÃÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÃÂÿÃÂÂÿÃÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÄÿÄÃÄÿÃÄÄÿÄÄÄÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÅÄÿÅÄÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÆÆÅÿÅÅÆÿÅÅÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÇÇÿÇÇÆÿÆÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÈÿÇÇÈÿÈÇÇÿÇÈÇÿÇÇÈÿÇÈÈÿÉÈÈÿÈÈÈÿÉÈÈÿÈÉÉÿÈÉÈÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÉÿÊÉÉÿÊÊÉÿÊÊÉÿÊÉÊÿÉÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊËÊÿÊËËÿËÊËÿËËÊÿËËËÿËËÊÿÌËËÿËËËÿËËËÿËÌËÿÌÌÌÿÌËÌÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÌÌÎÿ©çÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿi¢ìÿ¹ÃØÿÏÏÐÿÐÏÐÿÐÐÐÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÐÿÑÐÐÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÒÑÑÿÒÑÒÿÒÒÒÿÒÑÑÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÓÓÿÓÒÓÿÓÒÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÔÿ¶ÃÝÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ ôÿޱêÿÔÕÙÿØØØÿÙØØÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÚÿÙÙÙÿÙÙÙÿÚÚÚÿ¸Æâÿ)’óÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿ*‘óÿÂÎåÿàßàÿàßßÿàààÿàààÿàààÿàààÿàààÿàààÿààáÿáááÿáààÿáàáÿÒØäÿh¢ñÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿF—óÿÍÕéÿæææÿæææÿæææÿæçæÿæææÿæççÿçæçÿçæçÿçççÿçççÿçççÿçççÿççèÿèèèÿèççÿçèèÿèèèÿèèèÿèèèÿèèèÿèééÿèèèÿéééÿèéèÿéééÿéééÿéééÿééêÿéééÿêêéÿêéêÿééêÿéêêÿ¿Îîÿ_óÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿœºðÿëëìÿìììÿìììÿìììÿíííÿíííÿíííÿíííÿíííÿíííÿîíîÿîííÿîîîÿîîíÿíîíÿîîîÿîîîÿîîîÿîïîÿïïîÿîîîÿïîïÿïïïÿïîïÿïïïÿðïïÿïïïÿðïðÿïððÿðïïÿðððÿðððÿðððÿðððÿðððÿðððÿðññÿðññÿññðÿñññÿñññÿñññÿñòòÿñññÿñòòÿñññÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿóóóÿòóòÿóóòÿóòòÿóòóÿóóóÿóóóÿóóóÿôôóÿôôôÿóóóÿôóóÿôôôÿôôôÿôôôÿôôôÿõôôÿõõôÿõôõÿõôõÿõõôÿõõõÿõõõÿõõõÿõõöÿõööÿõöõÿõöõÿöööÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷ø÷ÿøøøÿøøøÿ÷÷øÿø÷÷ÿøøøÿøøøÿøøøÿøùùÿùùøÿøøøÿøùøÿøùùÿùùùÿùùùÿùúúÿùùùÿùùúÿúúùÿúùùÿúúúÿúúúÿúúúÿúúúÿúûûÿúûúÿúúúÿûúúÿûûûÿûûûÿûûüÿûûûÿüûûÿûüûÿûûûÿüûûÿüûüÿüüüÿüüüÿüüüÿüýüÿýüýÿýüüÿýüüÿýýüÿýýüÿýýýÿýþýÿýýýÿýýþÿþþýÿþþþÿþþýÿýþþÿþþþÿþþþÿþþþÿþÿþÿþþþÿþþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬¬­ÿ¬¬¬ÿ¬­¬ÿ­­¬ÿ¬­­ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ®­®ÿ­®®ÿ®®®ÿ®­®ÿ®®®ÿ®¯®ÿ¯®®ÿ¯®®ÿ®®®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯°ÿ¯¯¯ÿ°¯°ÿ°¯¯ÿ¯¯°ÿ°°°ÿ°°°ÿ±±°ÿ°±°ÿ°±±ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ±²±ÿ±±±ÿ²²±ÿ²²±ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³³²ÿ³²³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´³³ÿ´³³ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿµµ´ÿµµµÿµµµÿµ´µÿµµµÿ¶µµÿµµ¶ÿ¶µµÿµµ¶ÿ¶µµÿ¶µ¶ÿµ¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ¶¶¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ¸··ÿ¸··ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿº¹ºÿ¹º¹ÿºººÿºººÿºººÿºººÿºº»ÿºººÿº»»ÿº»ºÿ»»ºÿºººÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ»»¼ÿ»»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ¼½¼ÿ½½½ÿ½¼¼ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾¾ÿ¾¾¾ÿ¾½½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¾¾¾ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿¿¿ÿÀ¿Àÿ¿ÀÀÿÀ¿¿ÿÀÀÀÿÀÀÀÿÁÁÀÿÁÁÀÿÁÀÀÿÀÁÀÿÀÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÂÁÿÁÂÁÿÁÁÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÃÿÃÂÂÿÃÃÃÿÃÂÂÿÃÂÂÿÃÃÃÿÃÃÃÿÄÃÄÿÃÃÄÿÃÄÃÿÃÃÃÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÅÿÄÄÄÿÄÅÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÆÅÿÅÅÅÿÆÅÆÿÅÅÆÿÆÅÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÇÇÇÿÇÇÇÿÆÆÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÇÈÿÇÈÈÿÇÈÇÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÈÿÉÈÈÿÉÈÈÿÈÉÈÿÉÉÉÿÉÈÈÿÈÉÉÿÉÉÉÿÉÉÉÿÉÊÊÿÉÉÉÿÉÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊÊÿËÊËÿËÊËÿËËËÿËËËÿËËËÿÌËËÿËËËÿÌËÌÿËÌÌÿËËÌÿÌÌÌÿÌËËÿÌÌÌÿÌÌÍÿÌÌÌÿÌÌÌÿÌÌÌÿÍÍÍÿÌÍÍÿÍÌÌÿ±¿Øÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ=—ñÿ«½ÝÿÌÍÐÿÏÏÏÿÐÏÏÿÐÐÐÿÐÏÐÿÐÐÐÿÐÑÐÿÑÐÐÿÐÐÐÿÑÐÑÿÐÑÑÿÐÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÑÑÿÒÒÑÿÑÒÑÿÒÒÒÿÒÑÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÒÒÿÒÓÓÿÒÒÓÿÓÒÓÿÓÒÓÿÓÓÓÿÓÔÓÿ€ªêÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŸ¹çÿÕÖÙÿØØØÿØØÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÚÙÿÓÕÜÿ[ðÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿp¤ðÿØÜáÿàßßÿßàßÿßààÿàààÿàààÿàààÿààáÿàààÿáààÿááàÿ×Ûãÿv§ïÿ +ŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ®Ãíÿäåæÿæææÿæææÿæææÿææçÿæçæÿæææÿççæÿçæçÿçççÿçççÿçççÿçççÿçççÿèèçÿèèçÿèççÿèèçÿèèèÿéèèÿèèéÿéèéÿèéèÿèèéÿéééÿéééÿéééÿéééÿéééÿéêêÿêééÿâåëÿ£¾ðÿ2‘ôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿF–óÿÑÚîÿíìíÿíììÿíììÿìììÿíììÿíííÿíííÿìííÿíííÿíîíÿíîíÿîííÿîîîÿîîîÿîíîÿîîîÿîîîÿïîîÿîîîÿîîîÿïïîÿïîïÿïïïÿïïïÿïïïÿïïðÿïïïÿïððÿïïïÿððïÿðïðÿðððÿðððÿðððÿðñðÿðññÿðððÿñððÿñññÿñññÿñññÿññòÿñññÿñññÿññòÿòòñÿñòòÿòòñÿòòòÿòòòÿòòóÿóòòÿòóóÿòòòÿòóóÿóóóÿóóóÿóóóÿóôóÿôóóÿóóóÿôôóÿôôôÿôôôÿôôôÿôôôÿôõôÿôôôÿõôôÿõõõÿõôõÿõôôÿõôõÿõõõÿõöõÿõõõÿõõöÿõõöÿõõõÿöõõÿöööÿöööÿöö÷ÿöööÿ÷ööÿöö÷ÿöö÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷÷øÿøø÷ÿøøøÿøø÷ÿøøøÿøøøÿøøøÿùøøÿøøùÿøùøÿøùøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùúÿúùùÿùùúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúúúÿúúûÿúûûÿúúûÿûûûÿûûûÿûûüÿüûûÿüûûÿüûüÿûûüÿüûüÿüüüÿüüüÿüüüÿýýüÿüüýÿüüýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýþÿýþþÿþýþÿþýþÿþþþÿþþþÿþþÿÿþþþÿþÿþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬¬­ÿ¬¬¬ÿ¬­¬ÿ­­¬ÿ­­¬ÿ­­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­®ÿ­­­ÿ­­­ÿ®®­ÿ®®­ÿ®®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯®®ÿ¯®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ°¯¯ÿ°¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ°±°ÿ°±°ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ±²±ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³²³ÿ²²³ÿ³²²ÿ²³²ÿ³³³ÿ²³³ÿ³³³ÿ´³³ÿ³´´ÿ´³³ÿ´´´ÿ´³´ÿ´³´ÿ´´´ÿ´´´ÿµ´´ÿµ´µÿ´µ´ÿ´´µÿµ´´ÿ´´µÿµ´µÿµµµÿµµ¶ÿµ¶µÿµ¶¶ÿµ¶µÿµ¶µÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶··ÿ·¶·ÿ¶··ÿ·¶¶ÿ···ÿ¸··ÿ···ÿ¸·¸ÿ¸·¸ÿ·¸·ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¸¹ÿ¸¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹ºÿ¹¹¹ÿºººÿºººÿ¹º¹ÿºººÿºººÿºº»ÿºººÿº»»ÿºººÿº»ºÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ»¼¼ÿ»¼»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼½½ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾¾ÿ½½½ÿ¾½¾ÿ½½½ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¾¿¾ÿ¿¿¾ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿ¿À¿ÿÀ¿ÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÂÁÿÂÂÁÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÂÃÃÿÃÂÂÿÂÃÃÿÃÃÃÿÃÃÃÿÃÄÄÿÄÃÃÿÃÃÄÿÄÄÃÿÄÃÄÿÃÄÃÿÄÄÄÿÄÄÄÿÄÄÅÿÅÄÅÿÅÄÄÿÄÅÅÿÄÄÅÿÄÄÄÿÅÅÅÿÅÅÅÿÅÆÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÆÇÿÇÆÆÿÇÆÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÇÿÇÇÈÿÈÇÈÿÇÈÈÿÇÈÈÿÇÇÈÿÈÈÈÿÈÈÈÿÈÉÈÿÈÈÉÿÈÉÉÿÈÈÈÿÈÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÊÿÉÊÊÿÊÉÉÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊÊÿËËÊÿÊÊËÿËËËÿÊÊËÿËËËÿËËËÿÌËËÿËËÌÿÌÌËÿÌËÌÿËÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÍÌÌÿÌÌÌÿÍÌÍÿÍÌÌÿÍÍÍÿp¤êÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ’ôÿŒ®æÿÇÌÓÿÏÐÏÿÏÏÐÿÏÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÑÑÑÿÐÐÐÿÑÐÑÿÑÑÑÿÑÑÐÿÑÑÑÿÑÒÑÿÑÑÒÿÑÑÑÿÑÒÑÿÑÒÒÿÒÒÒÿÒÒÒÿÑÒÒÿÓÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÓÓÒÿÓÓÓÿÒÓÒÿÓÓÓÿÇÍ×ÿMšñÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ ôÿ£»æÿרØÿØØØÿÙÙØÿÙØÙÿÙØØÿÙÙÙÿÙÙÙÿÙÙÚÿÙÙÙÿÙÚÙÿ˜µéÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿ ôÿ±ÄèÿßßßÿßàßÿßààÿßàßÿàßàÿàààÿàààÿàààÿàáàÿÜÝáÿ‹°íÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿu§ñÿââæÿæææÿæææÿæææÿæææÿæçæÿææçÿæææÿææçÿçççÿçççÿçççÿçççÿèçèÿçèçÿçèçÿèèçÿèèèÿèèèÿèèèÿèéèÿèèèÿéèèÿèééÿéééÿèééÿéééÿéééÿêééÿééêÿÓÚìÿ…­ñÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿªÂñÿêëìÿìíìÿìíìÿììíÿíìíÿìíìÿíííÿíííÿíííÿíííÿîííÿîîíÿîîíÿíîîÿíííÿîîîÿîîîÿïîîÿîîîÿîïïÿïïïÿïîïÿïïïÿïïîÿïïïÿïïïÿïðïÿððïÿððïÿðððÿïððÿðððÿïððÿðððÿðððÿñððÿññðÿððñÿñðñÿðññÿñññÿñññÿòòñÿññòÿñññÿòòòÿòòòÿòñòÿñòñÿòòòÿòòòÿòòòÿòòòÿòóóÿóòòÿòòóÿóóóÿóóóÿóóóÿóôóÿóôóÿôôóÿôôóÿóôóÿôóôÿôôôÿôôôÿôôôÿôôôÿõôôÿôõôÿõõôÿõõõÿõôõÿõõõÿõõõÿõõöÿõõõÿõöõÿöööÿöööÿöööÿöööÿö÷öÿ÷ööÿ÷ööÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿøøøÿ÷øøÿøøøÿø÷øÿøøøÿøøùÿøùøÿøùùÿùøøÿùùøÿùøøÿùùùÿùùùÿùúúÿúùùÿùùúÿùúùÿúúúÿúúúÿúúúÿúúúÿúúúÿúûúÿúûûÿûûûÿûúúÿûûûÿûûûÿûûûÿûüüÿûüûÿûüûÿüüüÿûüüÿûûüÿüûüÿüüüÿüüüÿüýýÿüüüÿüüýÿüüýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýþÿýþþÿþþþÿþýþÿþýþÿþþþÿþþþÿþÿþÿÿþþÿÿþþÿþÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®­­ÿ­­­ÿ­®­ÿ­­®ÿ®®­ÿ®®®ÿ®®­ÿ®®®ÿ®®¯ÿ®¯®ÿ®¯¯ÿ®®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯°°ÿ¯¯°ÿ¯°°ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ°±°ÿ±±±ÿ±±°ÿ°±±ÿ±±±ÿ²±±ÿ²±±ÿ²±±ÿ±²²ÿ²²²ÿ²²±ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²²³ÿ²³²ÿ²³²ÿ³³³ÿ³³³ÿ³´³ÿ³³³ÿ³´´ÿ´´³ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿ´µ´ÿµµµÿ´´´ÿ´µµÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶µ¶ÿµ¶µÿ¶¶µÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶¶ÿ¶¶¶ÿ·¶¶ÿ¶·¶ÿ···ÿ···ÿ···ÿ···ÿ¸¸·ÿ¸··ÿ¸¸¸ÿ·¸¸ÿ···ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹¹ºÿ¹¹ºÿ¹º¹ÿ¹¹ºÿºººÿºººÿºººÿºººÿºººÿºººÿºººÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼»»ÿ»¼¼ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ½¼½ÿ½½¼ÿ¼¼½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ¾¾½ÿ½½½ÿ¾½½ÿ½¾¾ÿ¾¾¾ÿ¿¿¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿Àÿ¿¿¿ÿÀ¿Àÿ¿ÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÁÁÿÁÁÀÿÁÀÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÁÂÿÁÂÂÿÂÁÂÿÂÂÂÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÃÂÿÂÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÄÄÄÿÄÃÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÅÿÄÄÄÿÄÄÅÿÄÅÅÿÅÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÅÅÿÆÅÅÿÅÅÅÿÆÅÆÿÆÆÅÿÅÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÆÿÇÇÇÿÈÇÇÿÈÈÇÿÈÇÇÿÈÈÇÿÈÈÈÿÈÈÈÿÈÇÈÿÈÈÈÿÉÈÈÿÈÉÉÿÉÉÈÿÉÈÉÿÈÉÉÿÉÉÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÉÊÊÿÉÊÊÿÊÊÊÿÊÉÉÿÊÊÊÿÊÊËÿÊÊÊÿËËËÿËËËÿËËÊÿËËËÿÊËËÿËËËÿËËËÿËËËÿËÌËÿËÌËÿËÌËÿÌÌÌÿÌÌÌÿÍÌÌÿÌÌÍÿÌÌÌÿÍÌÌÿÌÌÍÿÀÆÒÿF˜ðÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿôÿôÿôÿôÿôÿ‘ôÿcŸîÿÀÆ×ÿÏÏÐÿÐÏÏÿÏÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÐÐÿÐÐÑÿÑÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÑÑÿÑÒÒÿÑÑÑÿÑÒÒÿÑÒÒÿÑÒÒÿÒÒÒÿÓÒÒÿÓÓÒÿÒÒÓÿÓÓÒÿÒÓÓÿÓÒÒÿÓÓÓÿ­¿àÿ$’óÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ5”óÿ°ÁãÿØØØÿØÙØÿÙØÙÿØÙØÿרÙÿרÚÿרÚÿÖ×ÛÿÁËàÿH˜òÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿPšòÿÑÖâÿÜÝàÿÝÞáÿÞßßÿßßßÿàààÿàààÿàààÿÞßáÿ±íÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿ +ôÿÒØèÿæææÿæææÿæææÿæææÿçææÿæææÿççæÿæççÿçççÿæçæÿçççÿçççÿççèÿçèèÿèèçÿççèÿèèèÿèçèÿèèèÿèèèÿèèèÿèééÿéèèÿééèÿèééÿéééÿéééÿçèéÿÂÐíÿTšóÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿƒ­òÿæéìÿìíìÿìììÿíììÿíìíÿíííÿíííÿìííÿíííÿíííÿíííÿíîíÿíîîÿîíîÿíîíÿîîîÿîîîÿîîîÿîîîÿïîïÿîïîÿîîîÿïïïÿîïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïðïÿðïïÿðïïÿðððÿðððÿðððÿñððÿðñðÿñðñÿðñðÿñðñÿñññÿñññÿñññÿñññÿñññÿñòñÿòññÿñññÿòòòÿòññÿòòòÿòóòÿóóòÿòòòÿóòóÿóóòÿòóòÿóóóÿóóóÿóóôÿôóóÿóôóÿôôóÿôóóÿôôóÿôôôÿôôôÿôôôÿôôôÿôõôÿôôõÿôôõÿõôõÿõõõÿôõõÿöõõÿööõÿöõõÿõõöÿöõõÿöööÿõööÿöööÿ÷ööÿöööÿöö÷ÿöööÿöö÷ÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷øÿ÷ø÷ÿøø÷ÿø÷÷ÿøøøÿøøøÿøøøÿøøùÿøøøÿùùøÿøùùÿøøøÿùùøÿùùùÿùùùÿùùùÿùùúÿúùúÿùùúÿúúùÿúúúÿúùùÿúúúÿúúúÿûûûÿúúúÿûûúÿûûûÿúûûÿûûûÿûûûÿûûûÿûûüÿûûüÿüûûÿüûüÿüüüÿüüûÿüüüÿüüüÿüýüÿüüýÿüüýÿüüüÿüýýÿýýüÿýýýÿýýýÿýýýÿýýýÿýþýÿýþýÿýýþÿþýýÿþþþÿþþþÿþþþÿþþÿÿÿþÿÿþþþÿþÿþÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ­­¬ÿ­­­ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ­­®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ¯®®ÿ®¯¯ÿ®¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°°ÿ°¯°ÿ¯¯°ÿ¯¯°ÿ°°°ÿ°°°ÿ°°±ÿ±±±ÿ°°°ÿ°±±ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²±±ÿ±²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³³³ÿ³²²ÿ²²³ÿ³³³ÿ³³³ÿ´³³ÿ³³³ÿ³´³ÿ³³´ÿ´´³ÿ³´´ÿ´´³ÿ´´³ÿ´´´ÿ´´´ÿ´µ´ÿ´´µÿµµ´ÿ´µ´ÿµµµÿµµ´ÿµµ¶ÿµµµÿµµµÿµµµÿµ¶¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶·ÿ¶·¶ÿ··¶ÿ·¶·ÿ¶·¶ÿ···ÿ···ÿ···ÿ¸¸¸ÿ···ÿ···ÿ··¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¹ÿ¸¸¹ÿ¹¸¸ÿ¹¹¸ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹º¹ÿ¹º¹ÿº¹ºÿºººÿº¹ºÿºººÿºººÿ»ººÿ»ººÿ»ººÿ»»ºÿ»»ºÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ»¼¼ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼¼ÿ¼½½ÿ½½½ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾¾ÿ¾¾½ÿ¾¾½ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¾¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿ¿À¿ÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÁÿÁÀÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÂÁÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÃÂÃÿÃÂÃÿÃÂÂÿÃÃÃÿÃÂÃÿÃÃÃÿÃÃÄÿÃÃÃÿÄÃÃÿÃÄÄÿÄÄÄÿÃÃÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÅÿÄÅÅÿÅÅÄÿÅÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÆÅÿÆÆÅÿÆÆÅÿÆÆÆÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÇÆÿÇÇÆÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÇÇÿÇÈÇÿÇÇÇÿÈÈÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÈÈÿÈÈÉÿÈÉÉÿÈÈÈÿÈÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÊÊÉÿÉÊÊÿÉÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊÊÿËÊËÿËËÊÿËËËÿËËËÿËËËÿËËËÿÌËÌÿËËËÿÌÌËÿÌËÌÿÌÌËÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÍÌÌÿ±¾Ùÿ3•òÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿ‘ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿC—ñÿ«¼ÞÿÎÏÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÑÿÑÐÐÿÑÑÐÿÑÐÑÿÐÐÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÒÿÒÒÒÿÒÒÒÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÓÿÓÓÓÿÒÒÓÿÓÒÓÿÏÒÓÿ‡­èÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ;•òÿ±Âãÿ·Äãÿ¬¿äÿ¡ºçÿ•³èÿ†¬ëÿv¦íÿbžðÿ;”òÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿ;”óÿf ðÿ‰¯îÿ£¼êÿ¸ÇçÿÃÎæÿËÓäÿ¢»ëÿ$ôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ›¹îÿåææÿæåæÿæææÿæææÿæææÿææçÿææçÿæææÿçææÿæçæÿçççÿçççÿçççÿèèçÿçççÿççèÿçççÿèçèÿçèèÿèèèÿèèèÿèèéÿèèéÿèéèÿéééÿéééÿßãêÿ¥¾ïÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ]œóÿäæìÿìììÿìíìÿìíìÿììíÿìììÿííìÿíííÿíííÿíííÿíííÿíííÿíííÿííîÿíîîÿîîíÿîîîÿîîîÿîîîÿîîîÿîîîÿîïïÿïîïÿîîîÿîïîÿïïïÿïïïÿïðïÿïðïÿððïÿððïÿððïÿðððÿðððÿðððÿðððÿñðñÿðððÿñññÿðñðÿðññÿðññÿñññÿñññÿñññÿññòÿñòñÿñññÿòòòÿòñòÿòòòÿòòòÿóóòÿóòòÿòóóÿòòóÿóóóÿóóóÿóóóÿóóóÿóóôÿóóôÿôôóÿôóóÿôôôÿóôóÿôôóÿôôôÿôôôÿôôõÿõôôÿõôôÿôõôÿôõõÿôõõÿõõõÿõöõÿõöõÿöõöÿööõÿöööÿöõöÿöööÿöööÿö÷öÿöööÿöö÷ÿ÷ö÷ÿ÷ööÿ÷÷÷ÿö÷öÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿø÷øÿøøøÿøø÷ÿø÷øÿøøøÿøøøÿùøøÿùøøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿúúúÿúùúÿúùúÿúúúÿúúúÿúúúÿúúúÿûûúÿûûûÿûûúÿûúûÿûúûÿûûûÿûûûÿûûûÿûûûÿüüûÿûûüÿûûûÿûüüÿüüüÿüüýÿüüüÿüüýÿýüýÿüýüÿýýýÿýýýÿýýýÿýýýÿþýýÿýýýÿýýýÿýýþÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿþÿÿþþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ®®­ÿ­®­ÿ®­­ÿ®­­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯¯®ÿ®®¯ÿ¯®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯°°ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ¯°¯ÿ¯°°ÿ°°°ÿ±°±ÿ°±°ÿ±°±ÿ±±±ÿ±±±ÿ±°±ÿ±±±ÿ²±±ÿ±±±ÿ²²±ÿ±²²ÿ²²²ÿ²±²ÿ²±²ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³³ÿ³³³ÿ²³³ÿ³³³ÿ³³³ÿ´³³ÿ´³´ÿ³³´ÿ´³³ÿ³³´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿ´µµÿ´´µÿ´µµÿµ´µÿµµµÿµµµÿµ¶µÿµµµÿµ¶¶ÿ¶µµÿ¶µ¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶·ÿ¶·¶ÿ·¶·ÿ···ÿ···ÿ··¸ÿ·¸·ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹¹ÿ¹ººÿº¹¹ÿ¹ººÿ¹º¹ÿºººÿºººÿºººÿ»ººÿº»ºÿ»»ºÿº»»ÿº»»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼¼»ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½¼¼ÿ½¼½ÿ½½¼ÿ¼¼½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾½ÿ¾¾½ÿ¾½½ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¿¾¿ÿ¿¿¾ÿ¾¾¿ÿ¾¾¾ÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿÀ¿ÀÿÀ¿ÀÿÀ¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÂÂÁÿÂÂÁÿÂÂÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÃÃÿÂÃÂÿÃÂÃÿÂÂÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÄÃÃÿÄÄÃÿÄÃÄÿÄÄÃÿÃÄÄÿÄÄÄÿÅÄÄÿÄÄÄÿÄÄÅÿÄÄÅÿÄÅÅÿÅÅÄÿÄÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÅÆÅÿÆÅÆÿÆÆÅÿÆÅÆÿÆÆÆÿÆÆÆÿÇÆÆÿÇÆÆÿÆÇÇÿÆÇÇÿÆÆÇÿÇÆÆÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÇÇÿÇÇÈÿÈÈÈÿÇÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÉÉÈÿÉÈÈÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÈÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÊÊÿÉÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊËÊÿÊËËÿÊÊÊÿËËËÿËËÊÿÊÊËÿËËËÿËËËÿËÌÌÿËÌËÿËËËÿËÌËÿÌËËÿËËËÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿ£·Ýÿ ’óÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ0”òÿŠ­æÿÊÍÒÿÏÐÏÿÐÏÐÿÐÐÐÿÐÐÐÿÑÑÑÿÐÑÑÿÑÑÐÿÑÐÑÿÑÑÑÿÑÑÑÿÐÑÑÿÑÑÑÿÒÑÑÿÑÑÑÿÒÑÒÿÒÑÒÿÑÑÑÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÓÿÓÓÒÿÓÒÓÿÒÒÒÿËÎÖÿC–ñÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ-‘óÿI—òÿ-‘óÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿVšòÿßâæÿæææÿæååÿæåæÿæææÿæææÿæææÿçææÿçæçÿææçÿæççÿçççÿçççÿèççÿçççÿçèçÿçèèÿççèÿèèçÿèçèÿèèèÿèèèÿèééÿéééÿèèèÿÖÝëÿx§ñÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŒôÿáåíÿìììÿìììÿììíÿìììÿííìÿíìíÿíííÿíííÿíííÿíííÿíííÿíííÿíîíÿííîÿîîíÿíîîÿîíîÿîîîÿîîîÿîïîÿîïîÿîîïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïðïÿððïÿïððÿðððÿðïïÿðððÿñððÿðððÿðñðÿðððÿñññÿðñðÿñññÿñññÿñññÿñòñÿñññÿññòÿòòñÿòòòÿñòòÿòòòÿòòòÿòòòÿòòòÿòòóÿòóòÿóòòÿóóóÿóòóÿóóóÿóóóÿóóôÿôóóÿóóóÿôóóÿóôóÿóóôÿôôóÿôõôÿôõôÿôõôÿõõôÿõôõÿôõõÿôõõÿõõõÿõõõÿõõõÿõõõÿöõöÿõõöÿööõÿöööÿõööÿöööÿöööÿöööÿöööÿöö÷ÿ÷÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿøøøÿ÷øøÿ÷øøÿøø÷ÿøøøÿøøøÿùøùÿùùøÿøøøÿøùùÿùøùÿùùùÿøùùÿùùùÿùùùÿúúúÿùùùÿúùúÿùùúÿúúúÿúúúÿúúúÿúúúÿúûúÿûûúÿúúúÿúûúÿûûúÿûúûÿûûûÿûûûÿûûûÿûüûÿûûüÿüûüÿüüüÿüüüÿüüüÿüüýÿüüüÿüýüÿýýýÿýýüÿýýýÿýüýÿýýýÿýýýÿýýýÿþþýÿþýýÿýýýÿþþþÿþþýÿþþþÿÿþþÿþþþÿþþþÿÿþþÿþþþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ®®­ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ¯¯®ÿ®¯®ÿ®®®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯°ÿ°°°ÿ°°°ÿ¯¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ²²²ÿ±±±ÿ²²²ÿ²±±ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ³²²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿµ´´ÿ´´´ÿµµ´ÿµµ´ÿµ´µÿµµµÿ¶µµÿµµ¶ÿ¶µ¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶·¶ÿ¶·¶ÿ¶¶·ÿ··¶ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ·¸¸ÿ·¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¹¸ÿ¸¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿº¹¹ÿºº¹ÿºº¹ÿº¹¹ÿºººÿºººÿºººÿºººÿºººÿºººÿºº»ÿ»º»ÿ»»»ÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ¼¼¼ÿ¼»¼ÿ¼»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ¼½¼ÿ¼½¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ¾¾¾ÿ½¾¾ÿ¾½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿Àÿ¿À¿ÿÀÀ¿ÿ¿¿ÀÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÁÀÿÀÁÀÿÁÁÁÿÀÀÁÿÁÁÀÿÀÀÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÂÂÁÿÂÁÁÿÂÁÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÃÃÿÃÂÂÿÃÂÂÿÃÂÂÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÃÃÿÄÃÃÿÃÃÃÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÄÅÅÿÄÅÅÿÅÅÄÿÅÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÆÿÆÅÆÿÅÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÇÿÆÇÇÿÇÆÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÇÇÿÈÇÇÿÈÈÇÿÈÈÇÿÈÇÈÿÈÈÈÿÉÈÈÿÈÈÈÿÉÈÈÿÈÈÉÿÈÈÈÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÊÉÿÉÉÊÿÊÉÊÿÊÊÊÿÊÊÊÿËËÊÿÊÊÊÿËËÊÿËÊËÿÊÊËÿËËËÿËËËÿËËËÿËËÌÿËËÌÿËËËÿÌËËÿÌÌËÿÌÌÌÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿ•±âÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ‘ôÿm¢ìÿ¿Ç×ÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÐÿÐÑÐÿÐÐÑÿÑÑÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÒÿÒÑÒÿÑÑÒÿÒÑÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÒÓÒÿÓÒÓÿÒÓÓÿ¬¾ßÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ1‘óÿÁÍëÿæææÿåææÿæææÿæææÿæçæÿæææÿææçÿæççÿæççÿççæÿçççÿçççÿçççÿèççÿççèÿèççÿèèçÿèçèÿèèèÿèèèÿèèèÿèèèÿåçéÿÃÐìÿH•óÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿÐÙîÿëììÿìììÿìììÿíììÿììíÿìííÿííìÿíìíÿíííÿíìíÿíííÿíííÿíííÿíííÿíîîÿíîîÿîîíÿíîîÿîîîÿîîïÿîîîÿîïîÿïîîÿïîïÿïïîÿïïïÿïïïÿïðïÿïïïÿïððÿðïïÿïïïÿðððÿððïÿðððÿðððÿñðñÿññðÿñððÿðñðÿðññÿñññÿñññÿñññÿñññÿññòÿñññÿñòñÿòñòÿòòòÿòòòÿòòòÿòòòÿòòóÿòóóÿóóóÿóóóÿòóóÿóòóÿóóóÿóôóÿóóóÿôóóÿóóóÿôóôÿóôôÿôôôÿôôôÿôôõÿôôôÿõõõÿôõôÿôôôÿõôôÿõõõÿõõõÿõöõÿõõõÿõõöÿõööÿõöõÿööõÿöööÿöööÿöööÿ÷ööÿ÷÷öÿ÷ö÷ÿöööÿ÷÷÷ÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷÷ÿ÷ø÷ÿøøøÿ÷øøÿøøøÿøøùÿøøøÿøøøÿøøùÿùùùÿùùùÿùøøÿùùùÿùúùÿùùúÿùùùÿùúúÿúúúÿùùúÿúúúÿúúúÿúúúÿúúúÿûûûÿúúúÿúûûÿûûúÿúúûÿûûúÿûûûÿûüûÿûüûÿûüüÿüüûÿüüüÿûüûÿüüüÿüüüÿüýüÿüüüÿüüüÿüýüÿýüüÿýýýÿýýýÿýýýÿýýýÿýýýÿýþýÿþþýÿþýþÿýþýÿþþþÿþþþÿþÿþÿÿþþÿþþþÿþÿþÿþÿÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬­­ÿ­¬­ÿ¬¬­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®®­ÿ®­­ÿ®®®ÿ­®®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯¯®ÿ®®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ°¯°ÿ¯°°ÿ°°¯ÿ¯°°ÿ°°¯ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ°±±ÿ±±±ÿ°°°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ±²±ÿ±²±ÿ±²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³³²ÿ³³²ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ³³³ÿ´³³ÿ³³´ÿ´´´ÿ³´´ÿ´´´ÿ´´´ÿµ´´ÿ´µ´ÿµ´´ÿµµµÿµµµÿµµµÿµµµÿµ¶¶ÿµ¶µÿ¶µµÿµµµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶··ÿ¶¶·ÿ¶¶·ÿ···ÿ···ÿ···ÿ··¸ÿ¸··ÿ··¸ÿ···ÿ··¸ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¹ÿ¹¹¸ÿ¸¹¹ÿ¸¹¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿº¹ºÿ¹ººÿº¹¹ÿ¹¹¹ÿºººÿºººÿºººÿºººÿ»»ºÿ»»ºÿºººÿ»º»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»¼¼ÿ»¼¼ÿ¼»¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ¼½½ÿ½¼½ÿ¼½¼ÿ½¼½ÿ½½¼ÿ½½½ÿ½¾½ÿ¾½½ÿ½½½ÿ½½¾ÿ½¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¾¿¾ÿ¿¾¿ÿ¾¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿÀ¿¿ÿÀÀ¿ÿ¿ÀÀÿ¿¿Àÿ¿ÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÁÀÿÁÀÀÿÁÁÁÿÁÀÀÿÁÁÁÿÁÁÁÿÁÁÂÿÂÂÁÿÁÁÂÿÁÁÁÿÂÂÁÿÁÁÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÃÿÂÃÂÿÂÃÂÿÃÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÃÿÃÄÃÿÃÄÃÿÄÄÄÿÃÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÄÿÅÄÄÿÄÄÅÿÅÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÆÿÅÅÆÿÆÆÆÿÆÆÅÿÆÆÆÿÆÆÆÿÇÇÆÿÇÆÆÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÈÇÿÇÇÈÿÈÇÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÉÉÿÈÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÊÉÊÿÉÊÊÿÊÊÉÿÉÊÉÿÊÊÊÿÊÊÊÿÊËÊÿÊÊÊÿÊÊËÿËËÊÿÊËËÿÊËËÿÊËËÿËËËÿËËËÿËËÌÿËÌËÿËËËÿËÌËÿÌÌËÿÌÌËÿÌÌÌÿÌÌÌÿÉÊÍÿ©æÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿO™ðÿ¨»ÞÿÏÏÑÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÑÐÐÿÑÑÑÿÐÑÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÒÒÿÑÒÒÿÑÑÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÒÿÓÒÒÿk¡íÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ +Œôÿ™·îÿäååÿæåæÿåææÿæææÿæææÿæææÿçæçÿæççÿææçÿææçÿçççÿçççÿçççÿçççÿçççÿççèÿçèçÿçèçÿèèçÿèèèÿèèèÿàãêÿºïÿ2ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿ·Éðÿìììÿìììÿìììÿìììÿíìíÿìììÿíìíÿìííÿííìÿìííÿíííÿíííÿîííÿîîîÿîîîÿíîîÿíîíÿîîíÿîîîÿîîîÿîîîÿîïïÿîîïÿîîîÿïïîÿïîïÿïïïÿïïïÿïïïÿðïïÿïïðÿðððÿðïðÿðððÿððïÿðððÿðððÿðððÿðññÿñññÿññðÿñññÿðññÿñññÿñññÿñññÿñññÿòñòÿòññÿññòÿñòòÿòòòÿòòòÿòòòÿòòóÿòòòÿòòòÿóóóÿóóóÿóóóÿóóóÿóóóÿóóóÿôóóÿôôóÿôôôÿôóóÿôôôÿôôôÿôôôÿôôôÿõõôÿõõôÿõõõÿôõôÿõõõÿõõõÿõöõÿõõõÿõõõÿõõõÿöõõÿööõÿõööÿöööÿöööÿ÷ööÿö÷öÿöööÿö÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷÷øÿø÷÷ÿ÷øøÿøøøÿ÷øøÿøøøÿøøøÿùøøÿùøùÿùùøÿøøùÿùùùÿùùùÿùùøÿùùùÿùùùÿùùùÿúùúÿùùúÿùúúÿúúúÿúùúÿúúúÿúûúÿúúúÿúúúÿúûúÿûûúÿûûûÿûúûÿûûûÿûûûÿûûüÿûûûÿûûûÿüüüÿüûüÿüüüÿüüüÿüüüÿüüüÿüüýÿýýüÿüýýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýýÿýýþÿýýþÿþýýÿþþýÿýýýÿþþþÿþþþÿþþþÿþþþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«¬«ÿ««¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­­ÿ­­¬ÿ­­­ÿ­­¬ÿ­­­ÿ­­­ÿ®­­ÿ­®­ÿ­­­ÿ®®­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®¯¯ÿ®¯®ÿ¯®®ÿ¯®¯ÿ®¯¯ÿ¯®¯ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ°¯¯ÿ°°°ÿ°¯¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°°±ÿ±±°ÿ±°°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²²±ÿ²²±ÿ±²²ÿ²²±ÿ²±²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³³³ÿ³²²ÿ³²³ÿ³³³ÿ³³³ÿ³³´ÿ´³³ÿ³³³ÿ³´³ÿ´³³ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´µµÿµµµÿ´µ´ÿ´µµÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ¶¶¶ÿ···ÿ¶¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ·¸¸ÿ···ÿ¸··ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿºººÿ¹¹¹ÿº¹ºÿ¹ººÿºººÿºººÿºº»ÿº»ºÿ»º»ÿº»ºÿ»º»ÿ»»»ÿ»»»ÿ»¼»ÿ»»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½¼½ÿ½½½ÿ¼¼¼ÿ½½¼ÿ¼½½ÿ½½¼ÿ½½½ÿ¾½¾ÿ½½½ÿ½¾¾ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¿¿ÿ¾¾¿ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀÀ¿ÿ¿¿Àÿ¿¿Àÿ¿¿¿ÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÁÀÿÁÀÀÿÁÁÀÿÀÁÀÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÁÿÂÂÁÿÁÁÂÿÂÁÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÃÂÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÄÿÄÄÃÿÄÄÃÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÄÿÅÅÄÿÄÄÄÿÅÄÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÆÆÆÿÆÆÆÿÅÅÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÆÿÇÇÆÿÇÇÇÿÆÆÆÿÇÇÆÿÆÇÇÿÇÇÇÿÈÇÇÿÇÈÈÿÇÇÇÿÈÇÈÿÈÈÈÿÈÈÇÿÈÇÈÿÈÈÈÿÈÉÈÿÈÉÈÿÈÈÈÿÈÈÈÿÉÉÈÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÊÿÊÊÉÿÉÊÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊÊÿËÊÊÿÊÊËÿÊËËÿËÊËÿËËËÿËËËÿËËËÿËËÌÿËÌÌÿËËÌÿÌÌÌÿÌÌËÿÌÌÌÿÇÉÏÿj¡ëÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ)’óÿ•²äÿÊÍÑÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÐÿÑÐÑÿÑÑÐÿÑÑÑÿÑÑÑÿÒÑÑÿÑÑÑÿÑÒÑÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿ¿ÈÙÿ5”òÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿeŸòÿÛÞçÿåååÿåæåÿæææÿæææÿæææÿææçÿæææÿçææÿæççÿççæÿæççÿçæçÿçççÿçççÿçççÿçççÿèèèÿèçèÿæçèÿÔÛêÿq¤òÿôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿ˜·ñÿëëìÿìììÿìììÿìììÿìììÿìíìÿìììÿííìÿìíìÿííìÿíííÿíííÿíîíÿíîíÿíîíÿîîíÿîííÿííîÿîîîÿîîîÿîîîÿîîïÿïîîÿîïïÿîïïÿïïïÿïïïÿïïïÿïïïÿðïïÿïïðÿïïïÿïïðÿïððÿïðïÿðððÿðððÿðððÿðððÿñððÿññðÿñððÿñññÿñññÿñññÿñòñÿññòÿñññÿññòÿòòòÿòñòÿòñòÿòòòÿòòòÿòòòÿóòóÿóóóÿóòòÿóòóÿóóóÿóóóÿóóóÿóôóÿôôôÿóôôÿôôôÿóôôÿôôóÿôôôÿôôôÿôôôÿôôôÿôôôÿôõôÿõôôÿõõõÿõõõÿõõõÿõõõÿõõöÿõõõÿööõÿõõõÿööõÿöööÿöööÿöööÿ÷ö÷ÿ÷ööÿö÷÷ÿöö÷ÿ÷÷öÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷÷øÿ÷ø÷ÿ÷÷øÿø÷øÿøø÷ÿ÷øøÿùøøÿøøøÿùøøÿøùøÿùùøÿùùùÿùøùÿùøøÿùùùÿùùùÿùùùÿùùúÿúùúÿúúùÿúúúÿùúúÿúúúÿúúúÿúúúÿûúûÿúúûÿúûûÿûûûÿûúûÿûûûÿûüüÿüûüÿûûüÿüûüÿüüüÿûûüÿüüüÿüüüÿüüýÿüüýÿýýüÿüýüÿüüýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýýÿþýýÿþýýÿþþýÿþþþÿþþþÿþþþÿþþÿÿþÿþÿþþÿÿþþþÿÿþþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«¬«ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ¬¬­ÿ­­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®®®ÿ®®®ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®¯®ÿ®¯®ÿ®¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ°¯°ÿ¯°¯ÿ¯¯°ÿ°°°ÿ°°°ÿ±°°ÿ±±°ÿ±°°ÿ±°°ÿ°±±ÿ°±±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²±±ÿ±²²ÿ±±²ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ²²²ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ³³´ÿ³´³ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿµµµÿ´µµÿµµµÿµµµÿµµ¶ÿµµµÿµ¶µÿ¶µµÿ¶µ¶ÿ¶¶¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶·ÿ·¶¶ÿ·¶¶ÿ·¶·ÿ··¶ÿ¶··ÿ···ÿ···ÿ¸··ÿ·¸·ÿ··¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¹¹ÿ¹¸¹ÿ¸¹¹ÿ¹¸¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿº¹ºÿº¹¹ÿºººÿºººÿºººÿ»ººÿº»»ÿº»ºÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ¼»¼ÿ¼¼»ÿ¼»»ÿ¼¼»ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼½¼ÿ¼¼½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½¾ÿ¾¾½ÿ¾½¾ÿ¾½¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿ¿ÀÀÿ¿¿¿ÿÀÀ¿ÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÀÿÁÁÁÿÀÁÁÿÀÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÂÁÿÂÁÂÿÁÂÁÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÃÃÿÃÃÃÿÃÄÃÿÄÄÃÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÅÿÅÄÅÿÄÄÄÿÅÄÄÿÄÅÄÿÅÄÅÿÅÅÄÿÅÅÆÿÅÅÆÿÅÅÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÆÇÿÆÆÆÿÇÇÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÈÇÿÈÇÇÿÈÈÈÿÈÈÈÿÇÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÈÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊÊÿÊËËÿËÊÊÿËËËÿËËÊÿËËËÿËËËÿËËËÿËËËÿÌËËÿËÌËÿËÌËÿÌËËÿÌÌÌÿÌËÌÿÄÈÐÿJ˜ðÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿu¥ëÿ¿Ç×ÿÐÐÑÿÑÐÐÿÐÐÐÿÐÑÑÿÐÐÐÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÑÑÿÒÒÑÿÒÑÑÿÒÒÑÿÒÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿœµãÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿÇÑêÿååæÿåæåÿæææÿæåæÿæææÿæææÿæçæÿæççÿçççÿæçæÿçæçÿçççÿçççÿçççÿçççÿèççÿçèèÿåæçÿ¼ËíÿT™óÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿm¢òÿëìëÿëìëÿìììÿëììÿìììÿìììÿíììÿìììÿííìÿìììÿíííÿíííÿíííÿîíîÿíííÿííîÿíííÿîîîÿîîîÿîîîÿîîîÿîîïÿïîîÿîïïÿîïïÿïïîÿïîïÿïïïÿïïîÿïïðÿïïïÿðïïÿïïïÿïïðÿïïðÿðïðÿðððÿðððÿðððÿðððÿðñðÿðññÿñññÿñññÿðññÿñññÿñññÿòòñÿñññÿòòòÿòòñÿñòòÿòòòÿòòòÿòóòÿòòòÿóòóÿòòòÿóòóÿóóòÿóóóÿóóóÿóôóÿóôóÿôóôÿôóôÿôóóÿôôôÿôôôÿóôôÿôôôÿõõôÿôôôÿôôôÿõõõÿõôôÿõôõÿõõõÿõõõÿõõõÿõõöÿöõõÿöööÿöööÿõööÿöööÿöööÿöööÿöö÷ÿ÷÷öÿ÷÷÷ÿöööÿö÷öÿöööÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿø÷øÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿøøùÿøùøÿøøøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿùúùÿùúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúûÿûûûÿûûûÿúûûÿûûûÿûûûÿûûûÿûûûÿüûüÿûûüÿüüüÿüüüÿüûüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüýÿýýýÿýüýÿüýýÿýýýÿýýýÿþýýÿýýýÿþþýÿþþýÿþýþÿýþþÿþþþÿþþþÿþþþÿÿÿþÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«««ÿ¬«¬ÿ¬¬¬ÿ¬««ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ¬­¬ÿ¬­¬ÿ­¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ®®­ÿ®®­ÿ®®­ÿ®­®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ¯¯®ÿ¯¯®ÿ®®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯¯ÿ°°¯ÿ¯¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ±±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²²±ÿ²²±ÿ²²±ÿ²±±ÿ±²²ÿ²±²ÿ²²²ÿ²²²ÿ²³²ÿ²²³ÿ³³²ÿ²³²ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ´´´ÿ´³³ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿ´µµÿ´´µÿµµ´ÿ´µµÿµµµÿµµµÿµµµÿµ¶µÿµµ¶ÿ¶µµÿµ¶µÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ¶·¶ÿ¶¶·ÿ···ÿ·¶·ÿ···ÿ¶¶·ÿ···ÿ···ÿ·¸·ÿ¸··ÿ¸¸·ÿ···ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¹¸¹ÿ¹¹¸ÿ¸¹¸ÿ¹¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹ººÿ¹ººÿºººÿºººÿºººÿºººÿºººÿºººÿº»»ÿ»»»ÿ»ººÿº»»ÿ»»»ÿ¼»»ÿ»»»ÿ»»»ÿ¼»¼ÿ¼»¼ÿ¼¼¼ÿ¼»»ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½½½ÿ½¾½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¾ÿ¾¾¿ÿ¿¾¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀ¿ÿÀ¿ÀÿÀÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÁÁÿÀÀÀÿÁÁÁÿÀÁÀÿÁÁÀÿÀÁÀÿÀÁÁÿÁÁÁÿÁÂÁÿÁÁÂÿÁÂÁÿÂÂÁÿÁÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÂÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÃÄÄÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÆÅÿÆÅÆÿÆÆÆÿÅÆÆÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÇÿÈÇÇÿÇÈÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÈÉÿÉÉÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÊÊÉÿÊÊÉÿÊÉÉÿÊÉÊÿÉÊÊÿÊÊÊÿÊËÊÿÊËËÿÊÊËÿÊÊÊÿËËËÿËËËÿÊËËÿËËËÿËËËÿËËËÿËËËÿÌËËÿÌËÌÿÌÌËÿÌËÌÿÀÅÒÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿL—ðÿ°¿ÜÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÐÿÑÑÑÿÑÑÑÿÐÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÒÿÒÑÒÿÑÒÑÿÒÒÑÿÒÑÒÿÒÒÒÿÌÏÔÿr¤ìÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿޱðÿååæÿæååÿæåæÿæåæÿåææÿæææÿæææÿççæÿæçæÿæææÿæçæÿçççÿçççÿçççÿçççÿçççÿáãèÿ™¶ïÿ/ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿG”ôÿçèëÿìììÿìëìÿìììÿìììÿììíÿììíÿìííÿíììÿíìíÿíìíÿíììÿìííÿíííÿíííÿííîÿîîíÿîíîÿííîÿîîíÿîîîÿîîîÿîîîÿîîîÿïîîÿïîïÿîîïÿïïïÿïïïÿïïïÿïïïÿïïïÿðïðÿðïïÿïðïÿïïïÿðððÿðððÿðððÿððñÿðððÿñðñÿñððÿððñÿñðñÿññðÿñññÿñòñÿòñòÿñòòÿòòòÿòñòÿòñòÿòòòÿòòòÿòòòÿòòòÿóòóÿóòóÿòóóÿóóòÿóòòÿóóóÿóóóÿôóóÿóóôÿôóóÿôôôÿóóóÿôôôÿôôôÿôôôÿôôôÿôõôÿôôõÿôõõÿõõôÿôõõÿõõõÿõõõÿõõõÿõöõÿõõõÿöõöÿöööÿöõöÿõööÿöööÿöööÿöööÿöööÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷øÿøøøÿ÷ø÷ÿ÷øøÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøùùÿøùùÿøùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿùúùÿùùúÿùúúÿúúúÿúúúÿúúúÿúûûÿúúúÿúúûÿúûûÿûûûÿûûûÿûûûÿûûûÿûüûÿüûûÿûûûÿüüüÿûüûÿüüûÿûüüÿüüüÿýüüÿüýüÿüýýÿüüüÿüýýÿüýýÿýýýÿýýýÿýýýÿýþþÿþýýÿýþýÿþýýÿýýþÿþýþÿþþþÿþþþÿÿþÿÿþÿþÿÿþþÿÿÿÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬¬«ÿ«««ÿ««¬ÿ¬¬¬ÿ««¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ¬¬¬ÿ­¬¬ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ®®­ÿ®®®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®®®ÿ¯¯¯ÿ®¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ±±±ÿ°±±ÿ±°±ÿ±±±ÿ±±±ÿ²±±ÿ±±²ÿ²±²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²²³ÿ³³³ÿ³²²ÿ³²³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´³³ÿ´´³ÿ´³´ÿ´³´ÿ´´´ÿ´´´ÿµ´µÿ´µµÿ´´´ÿµ´´ÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶µµÿ¶µµÿµµµÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿº¹ºÿºººÿºººÿ¹º¹ÿºººÿºººÿºººÿº»ºÿ»ººÿº»ºÿºº»ÿ»»»ÿº»ºÿ»»»ÿ»»»ÿ¼»»ÿ»»¼ÿ»»»ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ¼½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½½½ÿ¾½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¾ÿ¾¾¿ÿ¿¾¾ÿ¿¿¾ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿ¿À¿ÿÀ¿¿ÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÁÁÿÀÀÁÿÀÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÁÁÿÂÁÁÿÁÁÁÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÃÿÃÃÂÿÂÂÂÿÃÂÃÿÃÃÂÿÃÂÃÿÃÃÃÿÃÄÃÿÃÃÃÿÃÃÃÿÃÄÄÿÄÃÄÿÄÄÄÿÄÃÄÿÃÄÄÿÄÄÄÿÄÄÄÿÅÄÅÿÄÅÄÿÄÄÄÿÄÅÄÿÅÅÄÿÅÅÄÿÅÅÅÿÆÅÅÿÅÆÅÿÅÅÅÿÆÅÅÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÇÆÆÿÇÇÆÿÇÆÆÿÇÆÇÿÆÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÈÇÿÈÈÈÿÈÈÈÿÈÈÇÿÈÈÇÿÈÉÈÿÈÉÈÿÈÈÉÿÈÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÉÊÿÉÊÊÿÊÊÉÿÉÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿËËÊÿÊÊËÿËËËÿÊËÊÿËËËÿËËËÿËËËÿÌËËÿÌÌÌÿÌËÌÿÌËËÿËÌÌÿ®½ØÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿ óÿ—²ãÿÊÍÓÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÑÿÑÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÑÒÿÑÑÒÿÒÑÒÿÒÑÒÿÒÒÒÿÁÇÙÿ7“òÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ4óÿÛÞæÿææåÿåæåÿåååÿæææÿåææÿæææÿæææÿçææÿæææÿçæçÿçæçÿçççÿçççÿææçÿÐØêÿq£ñÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ<‘õÿØÞíÿëëìÿìëëÿìììÿììëÿìììÿììíÿìììÿííìÿìíìÿíííÿìííÿìííÿíííÿíííÿííîÿîííÿíííÿîííÿîííÿîîîÿîîîÿîîïÿîîïÿïîïÿïïïÿïïïÿïîïÿïïïÿïîïÿïïïÿïïïÿïïðÿðïðÿððïÿïðïÿðððÿðððÿðððÿðððÿðñðÿðððÿðñðÿðñðÿñññÿñññÿñññÿñññÿñññÿñññÿòññÿòòòÿñòñÿòòòÿòòòÿòòòÿòóòÿòòòÿòòòÿòóóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóôÿôôóÿôóôÿóóôÿóóôÿôôôÿôôôÿôôõÿôôôÿôõõÿôôõÿôõõÿõõõÿõõõÿõõõÿõõöÿõööÿõõõÿõõõÿöõöÿöõöÿöõöÿöööÿöööÿöööÿöö÷ÿö÷÷ÿöö÷ÿö÷÷ÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿø÷÷ÿ÷øøÿ÷ø÷ÿøøøÿ÷øøÿøøøÿøøùÿøøøÿøøøÿùøùÿùøùÿùøùÿùùùÿùùùÿùùùÿùùùÿùùúÿúùùÿùùùÿúúúÿúúúÿúúùÿúúúÿûûúÿúúúÿúûúÿúûûÿúúûÿûûûÿûûûÿûûûÿûûûÿûüûÿüüûÿûûüÿüüüÿüüüÿüüüÿüüüÿüüüÿýüýÿüüüÿüýüÿýýýÿýüýÿýýýÿýýýÿþýýÿýýýÿýýýÿþþþÿþþþÿýþþÿýþþÿþþýÿþþþÿÿþþÿþþþÿÿÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬¬¬ÿ«¬«ÿ¬¬¬ÿ««¬ÿ¬«¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬­ÿ¬¬¬ÿ­­¬ÿ­­­ÿ­­­ÿ®­­ÿ­®­ÿ­®®ÿ­­­ÿ®®®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°¯ÿ¯¯°ÿ°°°ÿ°¯°ÿ¯°°ÿ°°°ÿ±°°ÿ°°°ÿ±°±ÿ±°±ÿ±°°ÿ±°±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ±²²ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²³³ÿ²³³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´³³ÿ³³³ÿ³´³ÿ´´´ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿ´´µÿµµ´ÿµ´µÿµ´µÿµµµÿµµµÿ¶µµÿµµ¶ÿµ¶µÿµ¶¶ÿµµµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ¶·¶ÿ¶¶·ÿ¶··ÿ·¶·ÿ···ÿ···ÿ···ÿ·¸¸ÿ·¸¸ÿ¸¸¸ÿ¸·¸ÿ¸·¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹¹ÿºº¹ÿ¹ººÿºººÿ»ººÿºººÿ»»ºÿ»»ºÿº»»ÿ»»»ÿ»ººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼¼»ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ½½¼ÿ½¼½ÿ½½¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½¾ÿ½½¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¿¾ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿Àÿ¿¿ÀÿÀÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÁÀÀÿÀÀÀÿÀÁÀÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÂÂÁÿÁÂÁÿÁÂÂÿÁÂÁÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÃÿÂÂÂÿÂÂÂÿÃÃÃÿÃÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÄÿÄÄÃÿÄÄÃÿÃÄÄÿÃÃÃÿÄÄÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÅÄÅÿÅÅÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÆÅÿÆÅÅÿÅÅÆÿÅÆÆÿÆÅÆÿÆÆÇÿÇÆÆÿÆÆÇÿÆÇÆÿÇÆÆÿÆÆÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÉÿÈÉÉÿÈÈÈÿÈÈÈÿÉÉÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÊÊÿÊÊÉÿÉÉÉÿÊÊÊÿÊÊÊÿÊÊËÿËÊËÿÊËÊÿËËËÿËÊËÿÊÊËÿËËËÿËËËÿËËËÿËËËÿËËËÿÌËÌÿÌËÌÿËÌËÿ—²áÿôÿôÿôÿôÿôÿôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿt¤ëÿÃÉÖÿÐÐÐÿÑÐÐÿÑÑÑÿÐÑÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÒÿÑÑÑÿÒÑÒÿÒÒÑÿŸ·ãÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŒôÿ³Åìÿåæåÿæææÿåååÿåææÿæææÿæææÿæææÿæææÿçæçÿçæçÿçççÿçççÿçççÿ¸ÉìÿN–óÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ0ŽõÿÇÔîÿëìëÿìììÿìëëÿìììÿìììÿìììÿìììÿììíÿíìíÿííìÿííìÿíííÿìííÿíííÿíííÿíííÿíííÿîîîÿîíîÿííîÿîîíÿîîîÿîîîÿïîîÿîïîÿîîîÿîîîÿïïîÿîïïÿïïïÿïïïÿïðïÿïïïÿðïðÿïðïÿðððÿðððÿðððÿðððÿðððÿððñÿððñÿñðñÿñññÿððñÿññðÿñññÿñññÿòññÿññòÿòòòÿññòÿòñòÿòòòÿòòòÿòòòÿòóòÿòòóÿóóóÿóòòÿòóóÿóóóÿóóóÿóóóÿóóóÿóôôÿóóóÿóôôÿôôôÿôóôÿôóôÿôôôÿôõôÿôôôÿôõôÿôõõÿôõõÿõôõÿõõõÿõõõÿõöõÿõõõÿöõöÿõööÿõõõÿöõõÿöööÿöööÿöööÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿøø÷ÿø÷øÿøøøÿøøøÿøøøÿøùøÿøøøÿøùøÿøøùÿùùøÿùùùÿùùùÿùùùÿùùùÿúúùÿùùúÿúúùÿúúùÿùùúÿúúúÿúúúÿúûúÿúúúÿûûúÿûúúÿûúûÿúûûÿúûûÿûûûÿûûûÿûûûÿûûûÿûûûÿûüüÿûüüÿüüüÿüüüÿüüüÿüüýÿüýüÿýüýÿýýüÿýüýÿýýýÿýýýÿýýýÿýýþÿýþýÿýýýÿýýþÿþýþÿýþþÿþýþÿþþþÿÿÿÿÿþþÿÿÿþþÿþþþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«¬«ÿ¬««ÿ«««ÿ«¬¬ÿ«««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­­ÿ¬­¬ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ®®­ÿ®®­ÿ®®­ÿ®­­ÿ®®­ÿ®®®ÿ®®®ÿ¯®®ÿ®®¯ÿ®®¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ¯¯°ÿ¯¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±°°ÿ°±°ÿ±°±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²±²ÿ²±²ÿ±±²ÿ²²±ÿ²²²ÿ³²²ÿ²²³ÿ²²²ÿ³²²ÿ²²²ÿ²³³ÿ³³²ÿ³³³ÿ³³³ÿ´³³ÿ³³³ÿ´³´ÿ´³³ÿ´³´ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿµ´´ÿµ´´ÿ´µ´ÿ´µµÿµµµÿµµµÿµµµÿµ¶µÿ¶µµÿµµµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ···ÿ¶··ÿ¶··ÿ·¶·ÿ·¸·ÿ···ÿ··¸ÿ·¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¸ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹ºÿº¹¹ÿ¹¹¹ÿ¹ººÿºººÿº¹ºÿºººÿºººÿºº»ÿºº»ÿºººÿ»»ºÿ»º»ÿ»»»ÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ¼»¼ÿ»»¼ÿ¼»¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ¼¼¼ÿ½½¼ÿ¼½½ÿ¼½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½¾¾ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¿¿¾ÿ¾¿¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿÀÀ¿ÿÀÀ¿ÿÀ¿ÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÁÁÿÀÀÀÿÁÀÀÿÁÁÀÿÁÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÁÁÿÂÂÂÿÁÂÂÿÁÁÂÿÂÁÁÿÂÁÂÿÂÂÂÿÂÃÂÿÃÂÂÿÂÂÂÿÂÃÃÿÃÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÃÿÃÃÄÿÃÃÃÿÄÄÃÿÃÄÄÿÄÄÄÿÄÄÅÿÄÅÄÿÄÅÅÿÄÅÅÿÅÄÅÿÄÅÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÅÆÆÿÅÆÆÿÆÅÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÇÿÆÇÆÿÇÇÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÇÈÿÈÈÈÿÈÇÇÿÈÇÈÿÈÈÈÿÈÈÈÿÈÉÈÿÉÈÉÿÉÈÉÿÈÉÈÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÊÿÉÊÊÿÉÉÊÿÉÊÊÿÊÊÉÿÉÉÊÿÊÊÊÿÊÊÊÿËÊÊÿËÊÊÿÊÊÊÿÊËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËÌÿËËÌÿÌÌËÿz¦èÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿN˜ðÿ´ÁÛÿÏÏÑÿÐÐÐÿÑÐÐÿÑÑÑÿÑÑÑÿÐÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÒÒÑÿÑÑÑÿÑÐÒÿY›ïÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿ©ðÿããåÿåæåÿåååÿæææÿææåÿæææÿæææÿæææÿææçÿçæçÿææçÿÝßèÿ•µïÿŒôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ"ŒõÿµÇñÿëëëÿëëìÿëëìÿìììÿìììÿìììÿìììÿìììÿìììÿìíìÿìíìÿííìÿíìíÿíííÿíííÿîííÿíííÿíîíÿîíîÿîîîÿîîîÿîîîÿîîîÿîîïÿîîîÿïîîÿïïîÿïïîÿîïïÿîïîÿïïïÿïïïÿïïïÿïðïÿððïÿðððÿððïÿðïðÿðððÿðððÿðððÿððñÿðððÿññðÿñññÿñðñÿñññÿñññÿòññÿñññÿñòòÿòññÿñòòÿòòòÿñòòÿòòòÿòòòÿóòóÿòòòÿóóóÿóòóÿóóòÿóòòÿóóóÿóóóÿóóóÿóóôÿóóóÿóóôÿôôôÿôôôÿôôôÿõôôÿôôõÿõõôÿõôôÿõõõÿõõôÿõõõÿõõõÿõõõÿõõõÿõõöÿõöõÿõööÿööõÿõööÿöööÿöööÿö÷öÿö÷÷ÿöööÿ÷÷÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿø÷øÿøø÷ÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿùùùÿøøøÿùøøÿùùùÿøùùÿùøùÿùùùÿúùùÿúùúÿúúùÿùúúÿùùùÿúúúÿúùúÿûúúÿúúúÿúúúÿûûúÿúúûÿúûûÿûûúÿûûûÿûûûÿûûûÿûüûÿüûûÿüüûÿûûüÿüüüÿüüüÿüüüÿüüüÿüüýÿüýüÿýüüÿüýýÿüýýÿýýýÿýýýÿýýþÿýýýÿþþýÿýýþÿýþýÿþþþÿþþþÿþþþÿþþþÿÿþÿÿþþþÿÿþÿÿÿþÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬««ÿ«¬«ÿ«««ÿ¬«¬ÿ¬¬«ÿ¬¬«ÿ«¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬­ÿ¬­­ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ­®­ÿ®­­ÿ®®­ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ¯®¯ÿ¯®¯ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ°¯¯ÿ°°°ÿ¯°¯ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°°ÿ°±±ÿ±±±ÿ±±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ²²²ÿ²²±ÿ±±²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²³ÿ²²²ÿ²³²ÿ³³³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿ´´´ÿ´µµÿ´´µÿµµµÿ¶µµÿµµµÿµ¶µÿ¶µ¶ÿµ¶¶ÿ¶µ¶ÿ¶µ¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ¶¶·ÿ··¶ÿ¶·¶ÿ···ÿ···ÿ·¸·ÿ¸·¸ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¹¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹ºÿ¹º¹ÿºººÿºººÿºººÿ»ººÿºººÿºººÿ»»»ÿ»»ºÿ»»»ÿ»º»ÿ»»ºÿ»»»ÿ»¼»ÿ¼¼»ÿ»¼¼ÿ»¼¼ÿ»¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼½¼ÿ½¼¼ÿ¼½¼ÿ¼¼½ÿ¼½½ÿ½¼½ÿ½½½ÿ½½½ÿ½¾½ÿ¾½¾ÿ¾¾½ÿ½¾½ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿Àÿ¿ÀÀÿ¿¿¿ÿÀ¿¿ÿÀ¿¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÁÀÿÁÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÂÁÿÂÂÁÿÁÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÂÂÂÿÂÂÃÿÃÂÂÿÃÂÃÿÃÂÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÃÄÿÃÃÄÿÃÄÄÿÃÃÄÿÄÄÃÿÃÃÄÿÄÄÄÿÄÅÄÿÄÄÅÿÄÄÄÿÅÅÄÿÅÅÅÿÄÅÄÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÆÿÆÆÆÿÆÆÅÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÇÇÆÿÇÆÇÿÇÇÆÿÇÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÈÇÈÿÈÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÊÉÊÿÉÉÊÿÉÊÊÿÊÊÊÿÊÊÊÿËÊÊÿËÊÊÿÊÊÊÿËÊÊÿÊËËÿËËËÿÊËËÿËËËÿËËËÿÌËËÿËÌËÿËËÌÿQ˜ïÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿ6’òÿ™³ãÿÌÏÓÿÐÐÑÿÐÑÑÿÑÐÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÏÐÓÿ¬¾ßÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿN–óÿÈÒéÿæååÿåååÿææåÿæææÿæææÿåææÿæææÿæçæÿçæçÿÉÓêÿt¤òÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ Šõÿ »ñÿëìëÿëëëÿëëìÿëììÿëëëÿìììÿìììÿìììÿììíÿíìíÿìíìÿííìÿíììÿííìÿíìíÿíííÿíîíÿíîíÿíîíÿîîîÿîíîÿîîîÿîîîÿîîîÿîîîÿïïîÿîîîÿïïïÿïïîÿïïïÿïïîÿïïïÿïïïÿïïïÿïððÿðððÿïïðÿïðïÿïððÿðððÿðððÿðñðÿðñðÿðððÿðññÿññðÿñðñÿñññÿñññÿñññÿòñòÿòòñÿòñòÿòòòÿòòòÿòòòÿòòòÿòòòÿóòóÿòóòÿòóòÿóóóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóôÿóôóÿôôóÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿõôõÿõõôÿõõõÿõõõÿõõõÿõõõÿööõÿöõõÿõõöÿöõõÿööõÿöõöÿöööÿöööÿö÷öÿ÷ööÿö÷÷ÿ÷÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿøø÷ÿ÷ø÷ÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿøøùÿùùùÿùøøÿùùùÿùùøÿùùùÿúùùÿùúùÿùùùÿúùúÿúúúÿúúùÿùúúÿúúúÿúúúÿúúúÿûúúÿûúúÿûúûÿûúúÿûûûÿûûûÿûûûÿûûûÿüûûÿüûüÿüüüÿûüüÿüüüÿüûüÿüüüÿüüüÿüüüÿüüüÿüüýÿýýýÿýüýÿýýýÿýýýÿýýýÿýýþÿþýýÿýþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþþÿÿþþÿÿþÿþÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«««ÿ«««ÿ«¬«ÿ««¬ÿ¬¬«ÿ«¬«ÿ¬¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­­­ÿ¬¬¬ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ­­­ÿ­­®ÿ®­®ÿ®®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ®®®ÿ®¯®ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯°°ÿ°¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°±ÿ°°°ÿ°°°ÿ°±±ÿ°°°ÿ±±±ÿ±±±ÿ±±°ÿ±²±ÿ±±±ÿ±²±ÿ±²±ÿ±²±ÿ²±²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ³²²ÿ³²³ÿ³²²ÿ³²³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´³³ÿ´³´ÿ´³³ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿµ´´ÿ´´µÿµµ´ÿµµµÿµµµÿµµµÿ¶µµÿ¶µµÿ¶¶µÿ¶¶µÿµ¶¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶··ÿ···ÿ·¶·ÿ···ÿ···ÿ·¸·ÿ···ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ·¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹ººÿ¹¹¹ÿ¹¹¹ÿºº¹ÿº¹ºÿ¹¹ºÿºº¹ÿºº¹ÿºººÿºººÿºººÿºººÿ»»ºÿº»»ÿ»º»ÿ»º»ÿ»»»ÿ»»»ÿ»»¼ÿ¼¼¼ÿ¼»¼ÿ»¼¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ¾½½ÿ½¾¾ÿ½½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¿ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿Àÿ¿ÀÀÿÀÀ¿ÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÁÁÿÀÁÁÿÀÁÁÿÁÀÁÿÀÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÁÁÿÁÂÁÿÁÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÃÂÃÿÃÂÃÿÃÃÃÿÃÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÄÄÄÿÄÃÃÿÃÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÅÿÅÅÅÿÅÄÄÿÄÄÅÿÅÅÅÿÅÄÅÿÅÅÅÿÅÆÅÿÆÆÆÿÅÅÆÿÅÆÆÿÆÅÅÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÇÿÆÇÇÿÆÆÆÿÆÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÈÿÇÇÇÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÉÈÿÉÉÈÿÉÉÉÿÉÉÈÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÊÉÉÿÊÊÉÿÉÊÊÿÊÊÊÿÉÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊÊÿÊÊËÿËËËÿËËËÿËËËÿËËËÿËËËÿÌËÌÿÄÈÎÿ1’òÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿóÿy¥êÿÇÊÕÿÑÐÐÿÑÐÑÿÐÐÑÿÏÐÒÿËÍÔÿ·ÃÛÿ‹­èÿP˜ðÿ.‘óÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ +Šõÿ=‘ôÿcóÿ ºîÿËÓêÿßâæÿãäæÿæææÿæææÿâäçÿ¶ÆìÿG“ôÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿŒ°òÿèèëÿëëëÿëìëÿìëìÿëëëÿëììÿìëìÿìììÿìíìÿìíìÿìííÿììíÿììíÿíííÿíííÿíííÿíííÿîííÿíííÿíîíÿíîîÿîíîÿîîîÿîîîÿîîîÿîîîÿîîïÿîîîÿïïîÿïïîÿïïïÿïïïÿðïïÿïïïÿïïðÿïðïÿðïïÿðððÿïïðÿðïðÿðððÿððñÿðððÿðððÿñðñÿðñðÿññðÿñññÿñññÿñññÿñòñÿòòñÿñòñÿòòòÿòòñÿòòñÿòòòÿòòòÿòóòÿòòòÿóòòÿóóóÿóóóÿóóòÿóóóÿóóôÿóóóÿóôôÿóóôÿóôôÿôôôÿôôóÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿõôõÿõõõÿôõõÿõõõÿõöõÿöõõÿõööÿöõöÿööõÿöööÿöööÿöööÿöööÿ÷÷öÿ÷ö÷ÿöööÿö÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿøøøÿø÷øÿ÷øøÿ÷ø÷ÿøøùÿøøøÿùùøÿøøøÿøùùÿùøùÿøùùÿùùùÿùùùÿùúùÿùùùÿùùùÿùúúÿúúùÿùùùÿúúúÿúúúÿûúúÿûúúÿûúúÿûúúÿûúúÿúûúÿúúûÿûûûÿûüûÿüûûÿûûûÿüûûÿüüüÿûüüÿûüüÿüüüÿüüüÿýüýÿüüýÿýüýÿüýýÿýýüÿýýýÿýýýÿýýýÿýýýÿýýþÿýýýÿýþýÿýþþÿþýþÿþþþÿþþþÿþþþÿþþþÿÿþþÿþÿÿÿÿÿþÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ¬«¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬­ÿ¬­­ÿ¬­­ÿ­­­ÿ­­­ÿ­®®ÿ­­®ÿ®­®ÿ­®®ÿ®®­ÿ­®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯®®ÿ®®¯ÿ®®¯ÿ®¯¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ°¯°ÿ°°¯ÿ°¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°°°ÿ±°°ÿ°±±ÿ±±±ÿ±±°ÿ±±±ÿ±²±ÿ²±²ÿ±±²ÿ±±²ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³³³ÿ³²²ÿ³³²ÿ³³²ÿ²³³ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´µ´ÿ´µµÿ´´µÿµµ´ÿµµ´ÿµµµÿµµµÿ¶¶µÿ¶µµÿ¶¶µÿ¶¶µÿµ¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶·ÿ¶¶·ÿ¶¶·ÿ¶¶·ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ··¸ÿ···ÿ··¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿº¹ºÿº¹¹ÿ¹¹¹ÿºººÿ¹¹ºÿºººÿºººÿºººÿ»ººÿº»ºÿ»ººÿº»»ÿ»º»ÿ»»»ÿ»»»ÿ¼»»ÿ»»¼ÿ»»»ÿ¼¼¼ÿ¼¼»ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½¼½ÿ¼¼¼ÿ½½½ÿ¼½¼ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ½¾¾ÿ¾¾¾ÿ¾½¾ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿ÀÿÀÀÀÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÀÁÿÁÁÁÿÁÁÀÿÁÁÁÿÁÁÀÿÁÁÁÿÁÁÁÿÂÂÁÿÁÂÁÿÂÁÁÿÂÂÂÿÁÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÂÿÃÂÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÃÿÃÃÄÿÄÃÄÿÄÃÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÄÄÄÿÅÄÅÿÅÅÅÿÄÅÄÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÅÿÅÆÆÿÆÆÅÿÅÆÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÇÿÇÆÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÈÿÇÇÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÉÈÿÈÈÈÿÉÈÉÿÉÈÈÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÉÊÿÉÊÊÿÉÊÉÿÊÊÊÿÊÊÊÿÊÊÉÿÊÊÊÿËÊÊÿÊÊÊÿÊÊËÿËËËÿÊËÊÿËËÊÿÊËËÿËËËÿËÌËÿµ¿Öÿ(‘óÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ\›îÿµÁÛÿÇËÔÿ°¿Ýÿˆ«çÿD•ñÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿP–óÿ’²ðÿ¸ÉìÿËÔêÿ—µïÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿv¥óÿâåìÿëëëÿìëìÿìëìÿììëÿìììÿìììÿìììÿìììÿìììÿìììÿìììÿííìÿìííÿíìíÿíííÿíííÿíííÿíííÿíííÿíííÿîíîÿííîÿîîîÿîîîÿîîïÿîîîÿïïïÿîïîÿïïïÿïîïÿïïïÿïïïÿïïïÿïïïÿïïïÿððïÿïïïÿðððÿïððÿïððÿðððÿððñÿðñðÿððñÿðñðÿðñðÿðñðÿñññÿñññÿñññÿñòñÿñññÿñññÿòòñÿòòòÿòñòÿòòòÿòòòÿòóóÿóòòÿóòòÿóóòÿóóóÿóóòÿóóóÿóóóÿôóôÿóóôÿóóóÿóóôÿôóóÿôôóÿôôôÿôôôÿôôõÿõõõÿõôõÿôõõÿõôõÿõõõÿõõõÿõõõÿõõõÿõõöÿõöõÿõõõÿöööÿõööÿöööÿöööÿ÷ööÿ÷÷÷ÿöööÿ÷÷öÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿøøøÿøøøÿøøøÿ÷øøÿøøøÿøøøÿøùøÿùùùÿùøøÿùøùÿøøøÿùùùÿùùùÿúùùÿùùùÿúùùÿúúúÿúúùÿúùúÿúúùÿúúúÿúúúÿûúúÿûúûÿúûúÿúûúÿûûúÿúûúÿûûûÿûûûÿûûûÿûûûÿûûûÿüûûÿüüüÿûûüÿüüüÿüüüÿüüüÿýüüÿüüýÿüüüÿýýýÿüýýÿýýýÿýüýÿýýýÿýýýÿýþþÿýþýÿýþþÿþþþÿþþþÿýþþÿþÿþÿþþþÿþÿÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿª««ÿ«««ÿ«««ÿ«¬«ÿ«¬«ÿ«¬«ÿ¬««ÿ¬¬¬ÿ««¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ¬¬¬ÿ­­¬ÿ­­­ÿ­­­ÿ¬­­ÿ­­­ÿ®®­ÿ­®­ÿ­­®ÿ®®­ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®®®ÿ¯®¯ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯°ÿ¯¯¯ÿ¯°°ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±°±ÿ±±°ÿ±±°ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²²±ÿ±±²ÿ²±²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ³³²ÿ²²³ÿ²²³ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´³´ÿ´³´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿ´´´ÿµ´µÿµ´µÿµµµÿµµµÿµµµÿµµµÿµ¶µÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ···ÿ··¶ÿ···ÿ···ÿ···ÿ··¸ÿ··¸ÿ···ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹ºÿº¹ºÿº¹¹ÿ¹ººÿºººÿºººÿºººÿ»ººÿºººÿºººÿºº»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»¼ÿ»¼»ÿ»»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½¼¼ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ¾½½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¿¿ÿ¿¾¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿¿¿ÿ¿¿¿ÿÀ¿Àÿ¿À¿ÿ¿ÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÁÁÀÿÀÀÀÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÁÁÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÃÂÿÃÃÂÿÃÂÃÿÃÃÂÿÂÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÃÃÿÄÃÃÿÄÃÃÿÄÄÄÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÅÄÿÅÄÅÿÅÅÅÿÅÅÅÿÄÅÅÿÅÅÅÿÆÅÅÿÆÅÅÿÆÅÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÆÿÆÆÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÈÇÿÈÈÈÿÇÈÈÿÈÈÈÿÇÈÇÿÈÈÈÿÈÉÉÿÉÈÉÿÈÉÈÿÈÉÈÿÉÈÈÿÉÈÈÿÉÉÉÿÉÉÉÿÉÉÊÿÉÉÉÿÊÊÉÿÉÊÊÿÉÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿÊÊÊÿËÊÊÿËËËÿËËËÿËËËÿËËËÿËËËÿ¦·Üÿóÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿ<“òÿW™ïÿ,óÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‹õÿA’ôÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ[™ôÿÝâìÿëëëÿëëëÿëììÿëìëÿëëëÿìììÿìììÿìììÿìììÿìììÿìììÿìííÿìíìÿíìíÿíììÿíííÿíííÿíííÿíîíÿîîíÿíîîÿîîîÿîíîÿíîîÿîîîÿîîîÿîîîÿïîîÿïïïÿîïïÿïïïÿïïîÿïïïÿððïÿïïïÿïðïÿïïïÿïðïÿïðïÿïððÿðððÿðððÿððñÿððñÿññðÿððñÿðñðÿñðñÿñññÿñññÿñññÿòññÿòññÿòñòÿòñòÿñòòÿòòòÿòòòÿòòòÿòòóÿòòòÿóòòÿòóòÿóòóÿóóóÿóóóÿóóóÿóóôÿóôôÿóôóÿóóóÿôôôÿôôóÿôôôÿôôôÿõõõÿôõôÿôôôÿõõôÿõõõÿõõõÿõõõÿõõõÿõöõÿöööÿõöõÿõöõÿööõÿöööÿöööÿöööÿ÷ööÿ÷ööÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷øÿ÷øøÿøø÷ÿøøøÿ÷øøÿøøøÿøøøÿøøøÿùøøÿøøùÿùùùÿùùùÿùùøÿùøùÿùùùÿùúúÿúùùÿùúúÿúùùÿúúúÿùúúÿúúúÿúûúÿúúûÿûúûÿûûúÿûûûÿúûûÿûûûÿûûûÿûûûÿûûûÿüûüÿüûüÿüüüÿüûüÿüüûÿüüüÿüüüÿüüýÿüüüÿýüýÿüüüÿýýýÿýýüÿüýüÿýýýÿýýþÿýýýÿýýþÿýýýÿþýþÿþýýÿþýþÿþþþÿþþþÿþþþÿþþþÿþþÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿª«ªÿª««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ­­­ÿ¬­¬ÿ­¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ­®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ¯®¯ÿ¯¯®ÿ¯¯®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ°°¯ÿ°¯¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±±±ÿ±±°ÿ±±±ÿ±°±ÿ±°±ÿ±±±ÿ±²±ÿ±±²ÿ±±²ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²²³ÿ³²³ÿ²³³ÿ²³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿ´´µÿµµ´ÿµ´µÿ´´µÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿµµ¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶·ÿ¶··ÿ··¶ÿ·¶·ÿ¶··ÿ···ÿ·¸·ÿ·¸¸ÿ¸·¸ÿ¸¸·ÿ···ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¹ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿº¹¹ÿ¹¹¹ÿ¹¹ºÿºººÿºººÿ»ººÿºº»ÿºº»ÿ»º»ÿºººÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ¼»¼ÿ»¼»ÿ»»¼ÿ»»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½¼¼ÿ½¼½ÿ½½½ÿ¼½½ÿ½½¼ÿ½½½ÿ½½½ÿ½¾¾ÿ½½½ÿ½¾½ÿ¾½½ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¾¾¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÁÿÀÀÀÿÀÁÁÿÀÀÁÿÁÀÁÿÁÁÁÿÁÁÁÿÂÂÁÿÁÁÂÿÁÂÂÿÁÁÁÿÁÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÃÂÂÿÃÂÂÿÂÃÃÿÃÃÂÿÃÃÂÿÂÃÃÿÄÃÃÿÃÃÃÿÄÄÃÿÃÃÃÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÅÿÄÄÄÿÄÄÄÿÄÅÄÿÄÅÄÿÅÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÅÅÿÅÆÆÿÅÅÆÿÆÅÅÿÆÆÆÿÆÆÅÿÆÆÆÿÆÇÆÿÆÇÆÿÆÇÆÿÇÆÇÿÆÇÇÿÇÆÇÿÇÇÇÿÈÇÇÿÇÈÇÿÈÇÇÿÈÇÇÿÈÇÇÿÇÈÈÿÈÈÇÿÈÈÈÿÉÈÈÿÈÈÈÿÉÈÈÿÉÈÈÿÈÈÉÿÈÈÉÿÈÉÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÊÊÉÿÊÊÉÿÉÊÉÿÉÊÊÿÊÊÊÿÊÊÊÿÊÊËÿËÊÊÿÊÊËÿËÊÊÿËÊËÿËËËÿËËËÿ‘®âÿŽôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ-õÿ×Þíÿëëëÿëëëÿëìëÿëëëÿìëëÿìììÿëììÿììëÿìììÿìììÿìììÿììíÿìììÿííìÿíììÿìíìÿíííÿíííÿíííÿíîíÿííîÿííîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîïÿîîïÿïïïÿîîïÿïîïÿïïïÿïïïÿïïïÿðïïÿðïðÿðïïÿïððÿðïðÿðððÿðððÿñððÿðððÿðððÿðððÿðñðÿñððÿñññÿñññÿòññÿñññÿòññÿñòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòóÿòóòÿòóòÿóóóÿóòóÿóóóÿóóôÿóóôÿóóôÿôóóÿóôóÿóôôÿôôóÿôôôÿôôôÿôôõÿôôõÿôôôÿõõõÿõõõÿôõõÿõõõÿõõõÿöõõÿõõõÿõõõÿööõÿööõÿõööÿöööÿöööÿöööÿöööÿöööÿöö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿøø÷ÿøø÷ÿø÷øÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøøùÿùùøÿùøùÿùùùÿùùùÿùùùÿùùùÿúùùÿúùùÿúúúÿùùúÿúùúÿúúúÿúúúÿúûúÿûúûÿûûûÿúúûÿúûûÿûûúÿúûûÿûûûÿûûûÿûûûÿûûüÿûüüÿüüûÿûüüÿüüûÿüüüÿüýüÿüýýÿüüüÿýýüÿýýüÿýýýÿýýýÿüýýÿýýýÿýýýÿýýýÿþýþÿýýýÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿÿÿÿþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«ª«ÿ«ª«ÿ«ª«ÿ«««ÿ«««ÿ¬««ÿ««¬ÿ«««ÿ«¬¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ­­¬ÿ­¬­ÿ­­­ÿ­®®ÿ­®­ÿ­­®ÿ­­®ÿ­®­ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯¯ÿ®®®ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ°°°ÿ°°°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ±²²ÿ²±±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ²²²ÿ³²³ÿ³³³ÿ³³³ÿ³´³ÿ´´´ÿ³³³ÿ´³³ÿ´´´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµ´µÿµ´´ÿµµµÿµµ´ÿµµµÿµµµÿµµµÿµµµÿ¶µµÿµ¶¶ÿµµ¶ÿ¶¶¶ÿ¶µ¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶··ÿ¶¶·ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ¸··ÿ·¸·ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¹¹ÿ¸¹¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿº¹¹ÿ¹º¹ÿºººÿ¹º¹ÿºººÿºººÿºººÿºººÿºººÿº»ºÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ»¼¼ÿ»¼»ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½¼½ÿ¼½¼ÿ½½¼ÿ½½½ÿ½½¼ÿ½½½ÿ½¾½ÿ½½½ÿ½½½ÿ½¾¾ÿ½½½ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¿¿¾ÿ¿¿¿ÿ¾¿¾ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿÀ¿¿ÿ¿À¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿Àÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÁÁÿÀÀÁÿÁÀÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÂÂÿÁÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÃÂÂÿÂÂÂÿÂÃÂÿÂÃÃÿÃÃÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÃÃÿÃÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÅÄÿÅÅÄÿÅÅÄÿÄÅÅÿÄÄÅÿÅÅÅÿÅÅÅÿÆÅÆÿÅÆÅÿÅÆÅÿÆÆÆÿÅÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÇÿÇÇÇÿÇÇÆÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÈÈÿÇÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÉÉÿÈÈÉÿÈÉÈÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÊÊÿÉÊÉÿÉÉÊÿÊÊÊÿÊÊÊÿËËÊÿËËÊÿÊÊÊÿËÊËÿËËÊÿÊËÌÿ~¦çÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿËÕîÿëëëÿëëëÿëëëÿëëëÿëìëÿìëëÿììëÿëììÿìììÿìììÿìììÿìíìÿììíÿììíÿííìÿíìíÿíííÿíííÿíííÿíííÿíííÿííîÿíîíÿíîîÿîîîÿîîîÿîîîÿîîîÿïïîÿïîîÿîïïÿïïïÿîïïÿïîîÿïïïÿðïïÿðïðÿïððÿïððÿððïÿïððÿïððÿðððÿðððÿððñÿððñÿððñÿðññÿððñÿñññÿñññÿñññÿññòÿñññÿòòñÿññòÿòòòÿòòòÿòòñÿòòòÿòòòÿóòòÿòóóÿòóóÿòóóÿòóóÿóóóÿôóóÿóóóÿóóóÿóóóÿôóôÿôôôÿôôôÿôôôÿôôôÿôôõÿõôõÿõõõÿõôôÿõôôÿõôõÿõõõÿõõõÿõööÿöõõÿöõõÿööõÿöõõÿööõÿöööÿöööÿöööÿö÷öÿö÷öÿ÷ööÿ÷ööÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿøø÷ÿ÷ø÷ÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿùøøÿùøùÿùùùÿùùùÿøùùÿùùùÿùúùÿùùùÿúúùÿúùúÿùúùÿùúúÿúúúÿúúúÿúûúÿúúúÿûûúÿûûúÿúúûÿûûûÿúúûÿûûûÿûüûÿûûûÿûüüÿüûüÿûûûÿûüüÿüüûÿüüüÿüüüÿüüüÿýýüÿýüýÿüýüÿüýýÿýýüÿýýýÿýýýÿýýýÿýþýÿýþþÿþþþÿþþýÿþýþÿþþþÿþþþÿþþþÿÿÿÿÿþþþÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«ª«ÿªª«ÿ«««ÿ««ªÿ«««ÿ««¬ÿ¬¬«ÿ«««ÿ«¬¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ­¬¬ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ­®®ÿ®®®ÿ®­®ÿ®®®ÿ®®®ÿ®¯¯ÿ¯¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ¯°¯ÿ°¯°ÿ°¯¯ÿ°°°ÿ°°°ÿ°°±ÿ°°°ÿ±±±ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ±±±ÿ²±±ÿ²²±ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³²³ÿ²²²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´³³ÿ´³³ÿ´´´ÿ³³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµµÿµ´´ÿµµµÿµ´µÿµµµÿµµµÿµµµÿµ¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ·¶¶ÿ¶·¶ÿ···ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ·¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿºº¹ÿº¹ºÿºººÿ¹ººÿºººÿºººÿºº»ÿ»»ºÿ»ººÿ»»ºÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»¼»ÿ¼»¼ÿ¼»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ½¼½ÿ½¼¼ÿ½½¼ÿ½½½ÿ½½½ÿ¾½½ÿ½½¾ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾½½ÿ¾¾¾ÿ¾¾¿ÿ¿¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¿¾ÿ¿¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀ¿ÀÿÀÀÀÿÀÁÀÿÁÁÀÿÀÀÀÿÀÁÀÿÀÁÁÿÁÀÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÂÂÿÁÁÁÿÂÂÂÿÂÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÃÃÃÿÂÃÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÄÿÄÄÄÿÄÄÃÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÅÅÿÄÄÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÆÆÿÅÆÆÿÅÆÅÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÇÇÆÿÇÆÇÿÇÇÆÿÇÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÈÈÿÇÈÇÿÇÇÈÿÈÈÇÿÈÈÇÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÈÉÿÉÉÉÿÈÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÊÉÿÊÉÊÿÊÉÉÿÊÊÉÿÉÉÉÿÉÉÊÿÉÊÊÿÊÊÊÿËÊÊÿÊÊÊÿÊÊËÿËËÊÿËÊËÿÅÈÎÿm êÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ³Åðÿëëëÿëêëÿëëëÿëëëÿëììÿìììÿëìëÿìëìÿìììÿìììÿìììÿìììÿìììÿìììÿìììÿìííÿíííÿìííÿíííÿíííÿíííÿíííÿííîÿîíîÿíîíÿííîÿîîîÿîîîÿïïîÿîîîÿïîïÿïïîÿïïïÿïîïÿïïïÿðïïÿïïïÿððïÿïïðÿðððÿððïÿðððÿðððÿðððÿðñðÿðððÿñððÿññðÿðððÿññðÿñññÿñññÿòññÿñññÿññòÿòòñÿòññÿòñòÿñòòÿòòòÿòòòÿòòòÿóòóÿóóóÿóóòÿóóòÿòòóÿóóóÿóóóÿôóôÿôóóÿôôôÿóôôÿôóôÿóôôÿôôôÿôôôÿôõôÿôôôÿõôõÿõôõÿõôõÿõôõÿõõõÿõõõÿõõõÿõõõÿöööÿööõÿöõöÿõöõÿöööÿöööÿöööÿöö÷ÿ÷ööÿ÷ö÷ÿöööÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷øÿ÷øøÿøøøÿ÷÷øÿøøøÿøøøÿøøøÿøøùÿùøùÿùøùÿùùùÿùùøÿùùùÿùùùÿúùùÿùùùÿùúùÿúùúÿùúùÿúúùÿúúúÿúúúÿúúúÿúûúÿúúúÿûúûÿúûúÿûûûÿúûûÿûûûÿûûûÿüûüÿüûûÿüûüÿüüüÿüûüÿüüüÿüüüÿüüüÿýüüÿüüüÿüýýÿýýüÿýýýÿýýýÿýýýÿýýýÿýýýÿýýýÿþþþÿýþýÿþýýÿýýþÿþþþÿþþþÿÿÿþÿÿþþÿþþþÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«ªªÿªªªÿ«ª«ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ¬¬«ÿ«¬¬ÿ¬«¬ÿ¬¬«ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬­ÿ¬­¬ÿ­¬­ÿ­­¬ÿ­­¬ÿ­­­ÿ­­­ÿ­®­ÿ®®®ÿ®­­ÿ­­­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯°ÿ¯°°ÿ°¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±±°ÿ°°±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²±±ÿ²±²ÿ²±²ÿ²±±ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ³²²ÿ³²²ÿ²²³ÿ³³³ÿ³³³ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´µ´ÿ´´µÿ´µµÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶µÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ···ÿ··¶ÿ···ÿ···ÿ···ÿ··¸ÿ·¸·ÿ··¸ÿ··¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¹¹ÿ¸¹¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿºº¹ÿ¹º¹ÿºººÿ¹ººÿºººÿºººÿ»ººÿºº»ÿ»º»ÿ»»ºÿº»»ÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼»»ÿ¼»»ÿ»»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½¼¼ÿ½½¼ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½¾ÿ½½¾ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¾ÿ¿¾¾ÿ¾¿¾ÿ¾¾¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿÀÀ¿ÿ¿ÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÁÁÁÿÀÀÀÿÁÁÁÿÁÁÁÿÀÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÂÁÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÃÿÃÂÃÿÃÃÂÿÂÃÂÿÂÃÃÿÃÂÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÃÃÄÿÃÃÄÿÃÄÃÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÄÿÄÄÄÿÅÅÅÿÅÄÄÿÄÄÅÿÅÄÅÿÅÅÅÿÅÅÅÿÅÆÆÿÆÆÅÿÅÅÆÿÅÅÆÿÅÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÇÆÇÿÇÆÆÿÆÆÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÇÈÿÇÇÇÿÈÇÇÿÈÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÉÈÿÉÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÊÿÊÊÊÿÉÊÊÿÊÉÉÿÊÊÊÿÉÊÊÿÊÊÊÿËÊÊÿËËËÿËÊÊÿËËÊÿÀÅÐÿXšîÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ–´ñÿëëêÿëëêÿêëëÿëëëÿëëëÿëììÿëìëÿìììÿììëÿìììÿìììÿìììÿìììÿíìíÿìììÿíìíÿìííÿíííÿíííÿíííÿíííÿíîíÿîîíÿîííÿîîîÿîîîÿîîîÿîîîÿîïîÿïîîÿîîîÿïïîÿïïïÿîïïÿïïïÿïïïÿïïïÿïïðÿïðïÿðïïÿïðïÿðððÿðððÿðððÿðððÿðñðÿðññÿñððÿñðñÿñññÿñññÿñññÿñññÿñññÿñññÿññòÿòòòÿòòòÿòññÿòñòÿòòòÿóòóÿòóòÿóòóÿòóóÿòòòÿóóóÿóóóÿóóóÿóóôÿóóôÿóóôÿôôôÿôóôÿôôóÿôóôÿôôôÿôôôÿõôôÿôõôÿôôõÿôõôÿôõôÿõõõÿõõõÿõõõÿõõõÿöõöÿöõöÿõöõÿöööÿöööÿõööÿöööÿ÷ööÿöö÷ÿ÷÷öÿ÷ööÿöö÷ÿö÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿø÷øÿ÷øøÿ÷øøÿøøøÿøøøÿøøøÿùøùÿøøøÿùøøÿùùøÿùùøÿøùøÿùùùÿùùùÿùùùÿùùúÿùùúÿúúúÿúùúÿúúúÿúúúÿúúúÿûúúÿúúúÿûúûÿúûûÿúûûÿûûûÿûûûÿûüûÿûûüÿüûûÿûûüÿûûüÿûüüÿûûüÿüüüÿüüüÿýüüÿüüüÿýýüÿüüýÿýýüÿüýýÿýýýÿýýýÿþýýÿýýýÿýýþÿýþþÿþýþÿýýþÿýþýÿþþþÿþþþÿþÿÿÿþþþÿþÿþÿþþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿªª«ÿ«ª«ÿª«ªÿ«««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ¬¬¬ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯¯ÿ®¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°¯ÿ¯¯¯ÿ¯°°ÿ¯°°ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±±°ÿ±°°ÿ±±°ÿ±±°ÿ°±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ±²²ÿ²±²ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ²²²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³³´ÿ³´³ÿ´³³ÿ´³³ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿµ´´ÿµ´µÿµµ´ÿ´µµÿµµµÿµµµÿµµµÿ¶¶µÿµ¶µÿµµ¶ÿµµ¶ÿ¶µµÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶·ÿ¶¶·ÿ···ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ¸·¸ÿ···ÿ¸·¸ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¹ÿ¸¹¸ÿ¸¸¹ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹ººÿ¹¹¹ÿºº¹ÿºººÿºººÿ»ººÿºººÿ»»»ÿº»ºÿ»»»ÿºº»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ¼¼»ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ¼¼½ÿ½¼¼ÿ½¼½ÿ¼½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½¾ÿ¾½½ÿ½¾¾ÿ¾½¾ÿ¾¾½ÿ½½¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¿ÿ¿¾¿ÿ¾¾¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀÀ¿ÿÀÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÁÀÿÀÁÁÿÁÀÀÿÁÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÂÁÂÿÁÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÃÂÃÿÃÂÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÄÄÿÃÃÃÿÃÄÄÿÃÃÄÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÅÿÄÄÅÿÅÅÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÆÿÅÆÆÿÆÆÆÿÅÅÆÿÆÅÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÇÇÿÆÆÆÿÇÇÇÿÇÇÇÿÇÇÆÿÇÇÇÿÈÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÈÿÈÈÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÈÈÿÈÉÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÊÿÉÉÉÿÊÉÉÿÊÊÉÿÉÊÉÿÊÊÊÿÉÊÊÿÊÊÊÿÊÊËÿÊÊÊÿÊÊËÿËËÊÿ»ÂÒÿ=’ñÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿn óÿêêëÿëêêÿëêëÿëëëÿëëëÿìëìÿìëëÿëëìÿìììÿìììÿìëìÿìììÿìììÿíììÿìííÿììíÿíííÿíííÿíííÿíííÿíííÿíííÿííîÿîîîÿîîíÿíîîÿîîîÿîîîÿîîîÿîîîÿîîîÿîïïÿîïîÿïîîÿîïïÿïïïÿïïïÿïïïÿðïïÿïïðÿðïïÿðïïÿðððÿðððÿðððÿðððÿðððÿðððÿðññÿñððÿñððÿðññÿñññÿñññÿññòÿñññÿòññÿñòñÿòòòÿñòòÿòòòÿóòòÿòòòÿòòòÿòóòÿòòóÿóóóÿóóóÿòóòÿóóóÿóóóÿóóóÿôôôÿôôóÿóôôÿôôôÿôôôÿôôôÿôôôÿôõôÿôõôÿôõôÿõõõÿôõõÿõõôÿõõõÿõõõÿõõõÿöõõÿöõöÿöõöÿöõöÿöööÿöööÿöööÿöööÿöööÿöö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿø÷÷ÿ÷ø÷ÿ÷÷øÿøøøÿøøøÿøøøÿøøùÿøøùÿøøøÿøùùÿùøøÿùøøÿùùùÿùùùÿùùùÿùúùÿùúùÿùùùÿùùùÿúùúÿúúùÿúúúÿúúúÿúúúÿúúûÿúûûÿúûûÿûúûÿûûûÿûûûÿûûûÿûûûÿüûûÿüûûÿûüûÿüüüÿüüüÿüûûÿüüüÿüüüÿüüüÿüüüÿüüüÿýýýÿýýüÿýýýÿýýýÿýýýÿýýýÿþýýÿýýþÿýþýÿþýýÿþþþÿýþþÿþþþÿþþþÿþþÿÿÿþÿÿþþÿÿþÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿª«ªÿªªªÿ««ªÿ«««ÿ«ªªÿ«ª«ÿ«««ÿ««¬ÿ«««ÿ«««ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ­¬¬ÿ¬­­ÿ¬¬­ÿ­­­ÿ­­­ÿ­¬­ÿ­­­ÿ­­®ÿ­®­ÿ­­­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ¯¯¯ÿ¯®¯ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ¯°°ÿ¯¯°ÿ°°¯ÿ°°°ÿ°°°ÿ°°±ÿ°°°ÿ°°°ÿ°±°ÿ±±±ÿ±±°ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ±²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²³²ÿ³³²ÿ³³²ÿ³²³ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ³³³ÿ´´³ÿ´´´ÿ´´´ÿ³´´ÿ´´´ÿ´µ´ÿ´´´ÿ´´´ÿ´µ´ÿ´µµÿ´µµÿ´µ´ÿµµµÿ¶µµÿµ¶¶ÿµ¶¶ÿ¶µ¶ÿµ¶¶ÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ·¸·ÿ··¸ÿ¸¸¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¹¹ÿ¹¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹ººÿ¹ººÿº¹¹ÿºººÿºººÿ»ººÿºººÿ»»ºÿ»»»ÿ»»»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ»¼¼ÿ»¼¼ÿ¼¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½½½ÿ½¼¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾½ÿ½½½ÿ¾¾½ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¿ÿ¾¾¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿Àÿ¿¿ÀÿÀÀÀÿÀ¿Àÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÁÁÀÿÁÀÁÿÁÀÁÿÁÁÁÿÁÁÁÿÂÁÂÿÁÁÁÿÁÂÁÿÂÂÂÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÂÂÂÿÂÂÂÿÃÂÃÿÃÃÃÿÃÃÃÿÂÃÂÿÃÃÃÿÃÃÃÿÄÃÄÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÃÿÃÄÄÿÄÄÃÿÄÄÄÿÄÅÄÿÄÄÄÿÅÄÄÿÅÅÅÿÅÅÄÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÅÆÆÿÅÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÆÇÿÇÇÆÿÆÆÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÈÈÇÿÈÇÈÿÈÈÇÿÇÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÉÈÈÿÉÈÈÿÉÉÉÿÈÉÈÿÈÈÈÿÉÉÈÿÉÉÊÿÉÊÉÿÉÉÉÿÊÉÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊÉÊÿÊÊÊÿÊËÊÿÊÊÊÿÊËÊÿ³¾ÖÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ2Œõÿèéêÿëëêÿëëëÿëëëÿëëëÿëëëÿìëëÿëëìÿìììÿìëìÿëììÿìììÿìììÿìììÿíììÿììíÿííìÿíííÿíííÿíííÿíííÿíííÿííîÿîííÿîîíÿíîîÿíîîÿîîîÿíîîÿîîïÿîïîÿîîîÿïïïÿïîïÿïïïÿïïîÿïïîÿïïïÿðïïÿïðïÿïïðÿïðïÿïïðÿðïðÿðððÿðñðÿðððÿðððÿðññÿðññÿññðÿðññÿñðñÿñññÿñññÿñññÿòòñÿññòÿòñòÿññòÿòòñÿòòòÿòòóÿòòòÿòòòÿòòóÿóóóÿòóòÿóóóÿòóóÿóôóÿôóóÿóóôÿôôóÿôôóÿôôóÿôôôÿôôôÿôôôÿôôôÿõôôÿôõôÿôõõÿõõôÿõõõÿõõõÿõõõÿöõõÿõõöÿõöõÿõõõÿööõÿöõõÿöööÿöööÿöööÿö÷÷ÿöööÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿ÷÷øÿ÷÷÷ÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøøøÿøùøÿùøùÿùùøÿùùøÿùùøÿùùùÿùùùÿúúùÿúùùÿúùúÿúúúÿùúúÿúúúÿúúúÿúúûÿúûúÿûûûÿúúûÿûûûÿûûûÿûûûÿûûúÿûûüÿûûûÿüüüÿüüüÿüüüÿüüüÿûûüÿüüüÿüüüÿüüüÿüýüÿüýýÿüýýÿüýýÿýýýÿýüýÿýýýÿýýýÿýýþÿþýýÿþýýÿþþþÿþþýÿýþýÿþþþÿþþþÿþÿþÿþÿþÿþþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿªª«ÿ«ªªÿª«ªÿ«ªªÿª«ªÿª«ªÿ««ªÿ«««ÿ¬««ÿ«««ÿ««¬ÿ««¬ÿ¬¬¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬­ÿ¬¬­ÿ­­¬ÿ­­¬ÿ­­­ÿ­­­ÿ®­­ÿ­­­ÿ­®®ÿ­­­ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®¯®ÿ®®¯ÿ®®¯ÿ¯®®ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ¯¯°ÿ¯°°ÿ¯¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ±±°ÿ°±°ÿ±±°ÿ±±±ÿ±°±ÿ±±±ÿ²±±ÿ±±²ÿ²±²ÿ±±±ÿ±²±ÿ±±²ÿ²²²ÿ²²²ÿ³²²ÿ²²²ÿ²²²ÿ²²³ÿ³³³ÿ³²³ÿ³³³ÿ²³³ÿ³³³ÿ³³³ÿ´³³ÿ³´´ÿ³³³ÿ³³´ÿ´´´ÿ³´´ÿ´´´ÿµ´´ÿ´´´ÿ´´´ÿµµ´ÿ´µµÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿ¶¶¶ÿµµµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶··ÿ·¶·ÿ¶·¶ÿ¶··ÿ¶··ÿ¶··ÿ···ÿ···ÿ··¸ÿ·¸·ÿ¸·¸ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¹¹ÿ¹¹¸ÿ¹¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹º¹ÿ¹ººÿºººÿ¹¹¹ÿº¹ºÿºº¹ÿºººÿºººÿºººÿº»ºÿºººÿ»»ºÿ»ººÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ»¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½¼ÿ½½½ÿ½½¾ÿ½¾¾ÿ¾½¾ÿ½¾¾ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¾ÿ¾¿¾ÿ¿¿¿ÿ¿¾¾ÿ¿¾¿ÿ¿¿¿ÿ¾¿¿ÿ¿¿ÀÿÀÀ¿ÿÀ¿¿ÿ¿¿¿ÿ¿¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÁÁÿÀÁÁÿÁÁÁÿÁÁÀÿÁÂÂÿÁÁÂÿÁÁÂÿÂÁÂÿÁÂÁÿÂÂÂÿÂÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÄÿÃÃÃÿÄÄÃÿÄÃÃÿÃÄÄÿÄÄÄÿÄÃÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÅÿÄÄÄÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÅÅÿÅÆÆÿÆÅÆÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÆÇÿÆÆÆÿÇÆÇÿÆÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÈÇÿÈÈÈÿÇÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÉÿÉÉÉÿÈÈÈÿÈÉÈÿÉÈÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÉÉÿÉÉÊÿÊÉÊÿÊÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊÊÿ¡µÜÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿˆõÿØÝìÿëëëÿëêëÿëëëÿëëëÿëëëÿìëëÿìëëÿëììÿìììÿìììÿìììÿìììÿììíÿìììÿìììÿìíìÿííìÿííìÿíííÿíííÿíííÿíííÿîííÿíííÿíîíÿîíîÿîíîÿîíîÿîîîÿîîîÿîîîÿîîîÿïîîÿïîïÿïïïÿïïïÿïïïÿïïïÿðïïÿðïïÿððïÿðððÿðððÿðððÿðððÿðñðÿðððÿñðñÿññðÿñññÿñññÿññðÿðññÿñññÿòññÿñññÿñòòÿòñòÿñññÿòòòÿòòòÿòòòÿóòòÿòòòÿòóòÿòòòÿóóóÿóóóÿóóóÿóóóÿóóóÿóóôÿôôôÿôôôÿôôóÿôôóÿôôôÿôôôÿôõôÿôôôÿôôôÿôôõÿôõôÿõõõÿõõõÿõõõÿõõõÿõõöÿõõõÿõöõÿöõöÿõõöÿöööÿöööÿöööÿöööÿö÷öÿö÷öÿöööÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷øÿ÷øøÿø÷øÿ÷øøÿøøøÿøøøÿøøøÿøùøÿùùøÿùùøÿøùùÿùùøÿùùùÿùùùÿùùùÿùùúÿúúúÿúùúÿúúúÿùúúÿúúúÿúúûÿúúúÿúúûÿúúûÿûúûÿúûûÿûûûÿûûûÿûûûÿûûûÿûûûÿûûûÿüüûÿüûüÿüüüÿüüüÿüüüÿüýüÿüüüÿüüüÿüýýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýþÿýýýÿýýýÿþýþÿþþþÿþþýÿþþþÿþþþÿþþþÿþþÿÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿªªªÿªªªÿª«ªÿªª«ÿªªªÿªªªÿªª«ÿ««ªÿ«««ÿ«¬«ÿ¬««ÿ¬¬«ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ¬­¬ÿ­­­ÿ¬¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­­­ÿ®®­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®®®ÿ¯®®ÿ®®®ÿ®¯¯ÿ®¯¯ÿ®¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯°°ÿ¯¯¯ÿ°¯°ÿ°¯°ÿ°°°ÿ±°°ÿ°°°ÿ°°°ÿ°°±ÿ°±±ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²²²ÿ±±±ÿ²²²ÿ²²²ÿ²²²ÿ³²³ÿ²²³ÿ³³³ÿ²³³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³´³ÿ³³³ÿ´´³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿ´µµÿµµµÿµµµÿµµµÿµµµÿµ¶µÿµµµÿµ¶µÿµ¶µÿ¶¶¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ··¶ÿ·¶¶ÿ¶··ÿ···ÿ···ÿ¸·¸ÿ¸··ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºº¹ÿºººÿ¹ººÿ¹ººÿºº¹ÿºººÿºººÿºººÿºº»ÿ»»ºÿ»»»ÿ»º»ÿ»ººÿ»»ºÿ»»»ÿ»»»ÿ»¼»ÿ¼»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ½½½ÿ¼½¼ÿ¼½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¾ÿ¾¿¾ÿ¿¾¾ÿ¿¿¿ÿ¾¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿ¿À¿ÿ¿À¿ÿÀ¿ÀÿÀÀÀÿ¿¿ÀÿÀÀÀÿÀÁÀÿÀÁÀÿÁÀÁÿÁÁÀÿÁÁÀÿÀÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÂÿÁÁÁÿÁÁÂÿÂÂÁÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÂÂÂÿÃÃÂÿÃÃÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÄÃÿÃÃÄÿÃÃÄÿÃÃÄÿÄÄÄÿÄÄÄÿÅÄÅÿÄÄÅÿÄÄÄÿÄÅÄÿÄÅÄÿÅÄÅÿÅÅÅÿÅÅÅÿÃÄÆÿ¿ÂÉÿ¾ÁÊÿÂÃÉÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÇÿÇÇÆÿÆÆÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÈÿÇÇÇÿÇÈÈÿÇÇÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÈÉÈÿÈÈÈÿÉÈÉÿÉÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÊÉÿÉÊÉÿÊÉÊÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿŠªãÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿˆõÿÃÐîÿêêêÿêëëÿëëëÿêëëÿëëëÿëëìÿëëëÿëëëÿìëëÿìììÿìëìÿììëÿìëìÿììíÿìììÿíííÿìíìÿìììÿíìíÿìíìÿíííÿíííÿíííÿíííÿíîîÿíîîÿîîíÿîîîÿîîîÿîîîÿîîïÿîïîÿïïîÿïïïÿïïîÿîîîÿïïïÿïïïÿîîïÿçêðÿäçïÿæèñÿìíïÿððïÿðððÿðððÿñððÿðñðÿñññÿððñÿñññÿñðñÿñññÿñññÿñòñÿñññÿòññÿòñòÿòñòÿòññÿòòòÿòòòÿòòòÿòòòÿóòòÿòóóÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóôóÿóóóÿôóóÿóôóÿôóôÿôôôÿôôôÿôôôÿôõôÿôôôÿôôõÿõõôÿõôôÿõõõÿõôõÿõõõÿõõõÿõõõÿõöõÿöõöÿöõöÿööõÿöööÿöööÿö÷öÿ÷÷öÿöööÿöö÷ÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿøøøÿ÷ø÷ÿø÷øÿøøøÿøøøÿøøøÿøùøÿùùøÿøøøÿùùùÿøøùÿùùùÿùùùÿùùúÿùùùÿúùùÿúùúÿùúúÿúùùÿùúúÿúúùÿúúúÿúúúÿúúúÿúúúÿûúûÿûûûÿúûûÿûûûÿüûûÿûûûÿûûüÿûüüÿûûüÿüûûÿüüüÿüûüÿüüüÿüüüÿüüüÿüüüÿýýüÿýüýÿýýüÿýýýÿýýýÿýýýÿýþýÿþýýÿþýþÿýýýÿþþþÿþþþÿþþþÿþþþÿÿþÿÿþÿÿÿþþþÿÿÿþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿªªªÿª«ªÿ«ªªÿª«ªÿªª«ÿª««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ¬«¬ÿ«««ÿ«««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ¬¬­ÿ­­¬ÿ­¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®­®ÿ®®®ÿ­®­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯¯ÿ¯¯®ÿ¯¯®ÿ®¯¯ÿ®¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ°¯°ÿ¯°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°±°ÿ°±±ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²²²ÿ²²²ÿ±±±ÿ²²²ÿ²²±ÿ²²²ÿ²²²ÿ³²²ÿ²²²ÿ³³³ÿ³²²ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ³´³ÿ³´´ÿ³´³ÿ´³´ÿ´´´ÿ´´´ÿ´´µÿ´´´ÿ´µ´ÿ´µ´ÿµµ´ÿµ´µÿµµµÿµµ¶ÿµµµÿ¶µµÿµµµÿµ¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ¶¶¶ÿ¶¶·ÿ·¶·ÿ¶·¶ÿ···ÿ···ÿ···ÿ··¸ÿ···ÿ···ÿ··¸ÿ¸··ÿ¸¸¸ÿ¸¸·ÿ¸¹¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹ººÿº¹ºÿºººÿºººÿºººÿ»ººÿºººÿº»ºÿ»º»ÿ»»ºÿ»ººÿ»»»ÿ»»»ÿ¼¼»ÿ¼»»ÿ»»¼ÿ»»¼ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾½ÿ¾¾½ÿ¾½¾ÿ¾½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿À¿ÿ¿À¿ÿ¿ÀÀÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÁÀÿÀÀÁÿÁÀÁÿÁÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÁÁÁÿÁÂÁÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÃÂÃÿÃÂÃÿÃÂÂÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÃÿÃÃÃÿÃÄÃÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÄÿÅÄÄÿÅÄÄÿÅÄÅÿ¼ÁÊÿ—¯Ûÿw¢æÿgœêÿc›ëÿoŸèÿ†¨áÿ¬¹ÒÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÇÇÿÆÆÇÿÆÆÇÿÇÆÆÿÆÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÈÿÈÇÈÿÈÈÇÿÈÈÈÿÇÈÇÿÈÈÈÿÈÈÈÿÉÈÈÿÉÈÈÿÈÈÉÿÉÉÉÿÈÉÉÿÈÉÉÿÉÉÉÿÉÊÉÿÉÉÉÿÉÉÊÿÉÉÊÿÊÊÉÿÉÊÊÿÉÉÊÿÉÊÊÿÊÊÊÿÊÊÊÿlžêÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ‡õÿ¬ÀðÿêêêÿëêêÿêëëÿëëëÿëëëÿëëëÿëìëÿëëëÿëìëÿììëÿëëìÿìììÿëììÿìììÿìììÿìììÿìììÿììíÿíìíÿíííÿíííÿíííÿîííÿíííÿîííÿíîíÿííîÿíîíÿíîîÿîîîÿîîîÿîîïÿïîîÿîîîÿîîïÿïïîÿîîïÿÉÕñÿš·óÿ~§ôÿs¡ôÿu£ôÿ‹®ôÿ²Æòÿâåðÿðððÿðððÿðññÿððñÿððñÿðñðÿððñÿñððÿññðÿñññÿñññÿñññÿòñòÿòòòÿòòòÿñòñÿòñòÿòòòÿòòòÿòòòÿòòóÿòòóÿòòóÿóòóÿòóòÿóóóÿóôóÿóóóÿóóôÿôôóÿôôóÿôóóÿôôôÿôôôÿôôôÿõôôÿõõôÿõôôÿôõõÿõõõÿôõôÿõõõÿõõõÿöõõÿõööÿööõÿööõÿõõöÿööõÿõööÿöööÿöööÿöööÿö÷öÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷÷ÿøø÷ÿø÷øÿøøøÿøøøÿøøøÿøøùÿøøøÿøøøÿùøøÿùùùÿùùùÿùùùÿùùùÿùùùÿúùùÿùúùÿùúúÿùúúÿùúúÿùúúÿúúúÿúúúÿúúúÿúúûÿûûúÿûúúÿúúûÿûûúÿûûûÿûûûÿüûüÿûûûÿüûûÿüûûÿüüüÿüüüÿüüüÿüüüÿüüýÿýüýÿüüýÿüýüÿüüýÿýýýÿýýýÿýýýÿýýýÿýýþÿþýþÿýþýÿýþþÿþþþÿþþþÿþþþÿþÿÿÿþÿþÿþþÿÿÿþþÿÿÿÿÿÿþþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿªªªÿªªªÿªªªÿªªªÿ«ªªÿ«ªªÿª««ÿª««ÿ«««ÿ«««ÿ¬««ÿ«««ÿ¬«¬ÿ««¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ®®®ÿ­­®ÿ­®­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯¯®ÿ®¯®ÿ¯®¯ÿ¯¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯°ÿ¯°¯ÿ¯°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±°±ÿ°°±ÿ±°±ÿ±°±ÿ±±±ÿ±±±ÿ²²±ÿ²±±ÿ²²²ÿ±±±ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³²²ÿ³²³ÿ²²³ÿ³³²ÿ³³²ÿ³³³ÿ³³³ÿ´³³ÿ³³³ÿ³´´ÿ³´³ÿ´³´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´µ´ÿµ´´ÿµµ´ÿµµ´ÿ´µµÿµµµÿµµµÿµµµÿ¶¶µÿ¶µµÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ·¶¶ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ¸·¸ÿ·¸¸ÿ¸··ÿ¸·¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¸¸¹ÿ¸¹¹ÿ¸¹¹ÿ¸¸¹ÿ¹¹¹ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹ºÿ¹ººÿºººÿº¹ºÿºººÿºººÿºººÿº»ºÿºº»ÿºº»ÿ»º»ÿ»º»ÿ»»»ÿ»»»ÿ»¼»ÿ»»»ÿ»»»ÿ»¼»ÿ¼»¼ÿ¼»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼½½ÿ½½½ÿ½½½ÿ½¾½ÿ¾½½ÿ½½¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¾ÿ¾¿¾ÿ¿¿¿ÿ¾¾¿ÿ¿¿¿ÿ¿¾¿ÿ¾¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿¿Àÿ¿À¿ÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÀÁÿÀÀÀÿÀÀÁÿÀÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÂÂÂÿÂÁÁÿÁÂÁÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÃÂÂÿÂÂÃÿÃÃÂÿÃÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÄÄÃÿÄÄÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÃÄÆÿ¢³Øÿ?’ðÿóÿŒôÿŒôÿŒôÿŒôÿôÿ)òÿmžéÿ°»ÒÿÂÄÈÿÇÆÆÿÆÆÇÿÆÆÆÿÇÇÆÿÆÇÆÿÇÇÇÿÆÆÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÇÇÿÇÇÈÿÇÇÇÿÇÈÇÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÉÉÿÈÉÉÿÉÉÈÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÉÉÿÉÉÉÿÊÊÊÿÊÊÉÿÊÊÊÿÉÉËÿ>’ñÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ¯ñÿêêëÿëêêÿëêêÿëëëÿëëëÿëëêÿëìëÿëëëÿììëÿëëëÿìëìÿììëÿìììÿìëëÿììíÿìììÿìììÿííìÿìííÿíííÿíííÿíííÿíííÿíííÿíííÿíîîÿíííÿíîíÿîîîÿîíîÿîíîÿîïîÿïïîÿïîîÿçéïÿÌÖñÿp ôÿ+‰õÿ †õÿ…õÿ…õÿ…õÿ…õÿ†õÿQ“õÿ¾Ìòÿììðÿðððÿññðÿñððÿññðÿðññÿñññÿñññÿñññÿñññÿñññÿñòñÿñòñÿñòòÿñòñÿòòòÿòòòÿòòòÿòòòÿòòòÿóóóÿòòòÿòóóÿóóòÿóòóÿòóóÿóóóÿóóóÿóóóÿôôóÿóôôÿôôôÿôôôÿôôôÿôôôÿôõôÿõôôÿõõôÿõõôÿõõõÿôõõÿõõõÿõõõÿõõõÿõõöÿõõõÿöõõÿöööÿõööÿöööÿö÷öÿöö÷ÿöööÿö÷öÿ÷ö÷ÿöööÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿø÷÷ÿ÷÷øÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøùÿùøùÿùøøÿùùøÿøùùÿùùùÿùùùÿùúùÿúúùÿúúùÿùúùÿúúùÿúúúÿúúúÿúúúÿúûúÿúúúÿûûúÿúúûÿûúûÿúûúÿûûûÿûûûÿûûûÿûüûÿûüûÿüûûÿüûüÿüûûÿüûüÿüüüÿüüüÿýüýÿýýýÿüýüÿüýýÿüüýÿüýýÿýýýÿýþýÿýýýÿþýýÿþþþÿýþýÿþþþÿýþþÿþþþÿþþþÿþþþÿþþþÿþþþÿÿÿÿÿÿþÿÿþþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿªªªÿªª©ÿªªªÿªªªÿªªªÿªª«ÿ«««ÿª«ªÿ«««ÿªª«ÿ«««ÿ«««ÿ«¬¬ÿ««¬ÿ«««ÿ««¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ¬¬­ÿ¬¬¬ÿ¬­¬ÿ­­¬ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ®­®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±°°ÿ±°°ÿ±°°ÿ±°±ÿ±±±ÿ²±±ÿ±±²ÿ²±²ÿ±±²ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²²³ÿ³²²ÿ²³²ÿ³²²ÿ²³²ÿ²³³ÿ³³³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ³´³ÿ´´´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´´µÿ´´´ÿ´µµÿµµµÿµµµÿµµµÿµµµÿ¶¶µÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ¶¶¶ÿ···ÿ·¶¶ÿ¶¶·ÿ···ÿ···ÿ···ÿ··¸ÿ¸¸·ÿ··¸ÿ¸·¸ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¸¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹º¹ÿºº¹ÿº¹ºÿ¹º¹ÿºººÿºººÿ»ººÿ»º»ÿºººÿº»»ÿºººÿ»»ºÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½¼ÿ¼¼½ÿ¼¼¼ÿ¼½½ÿ½½½ÿ½½½ÿ¾¾½ÿ½½½ÿ½¾½ÿ¾¾½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¾¾¾ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¾¿¾ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀ¿¿ÿÀ¿¿ÿ¿ÀÀÿÀ¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÀÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÁÂÁÿÁÂÂÿÂÁÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÃÃÿÂÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÄÃÃÿÃÃÄÿÃÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿ¿ÁÇÿ‚¦âÿóÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿŒôÿôÿq èÿ£´×ÿÁÃÉÿÇÆÆÿÆÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÈÿÈÈÇÿÇÈÈÿÈÈÇÿÈÈÉÿÈÈÈÿÈÈÈÿÉÈÈÿÉÈÈÿÉÉÈÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÊÿÊÊÉÿÊÊÊÿÊÉÊÿÊÊÊÿ¿ÄÏÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿx£óÿçèëÿëêêÿëêëÿëêëÿëëëÿëêëÿëëëÿëëëÿëëìÿëëëÿëìëÿììëÿëëìÿìììÿìììÿìììÿìììÿíììÿììíÿííìÿííìÿíííÿíííÿíííÿíîíÿíîíÿîííÿîîíÿîíîÿíîîÿîîîÿîîîÿåèïÿ½Ìñÿ}¦óÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ¨¿òÿìíðÿðððÿñððÿððñÿðñðÿññðÿñññÿñññÿñññÿòññÿñòñÿñòòÿòñòÿòòñÿòòòÿòòòÿòòòÿòòòÿóòòÿòóóÿóóòÿóòóÿòòóÿóóòÿòóóÿóóóÿóóôÿóóóÿóôôÿôôôÿôóôÿôôôÿôôôÿóôôÿôôôÿôôôÿôôôÿõôõÿõõôÿõõôÿõõõÿõõõÿõõõÿõöõÿõõöÿõõöÿõõöÿõõöÿöööÿöööÿöööÿöööÿö÷÷ÿö÷öÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿø÷÷ÿøø÷ÿ÷÷øÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿùøùÿùøùÿøùùÿùøùÿùùùÿùùùÿùùùÿúùúÿùúúÿúúúÿúùúÿúúúÿúúúÿûúúÿúúúÿûúûÿúúúÿûûûÿûûûÿûûúÿúûûÿûûûÿûûüÿûüüÿûûüÿüüüÿûûüÿüûüÿüüüÿüüüÿüýüÿüüüÿýýýÿüýüÿüüüÿüýýÿýýýÿýýýÿýýýÿýýýÿþþýÿýýýÿþþýÿýþþÿþþýÿþþþÿþþþÿÿþÿÿÿþþÿÿþþÿþÿþÿÿþþÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿªªªÿªªªÿ©ªªÿªªªÿ«ªªÿ«ª«ÿªªªÿªª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ¬¬¬ÿ«««ÿ¬¬¬ÿ¬¬¬ÿ«¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ­¬­ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ­­­ÿ®®­ÿ­­­ÿ®®®ÿ®­®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ°¯¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°±°ÿ±°°ÿ°±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²²±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²³²ÿ³³²ÿ²²³ÿ³³³ÿ³²³ÿ³³²ÿ³³³ÿ³´³ÿ´³³ÿ³³´ÿ´³´ÿ´³´ÿ´³³ÿ´´´ÿ´µ´ÿ´´´ÿµµ´ÿµ´µÿ´´´ÿ´µµÿµµµÿµµµÿµµµÿµµµÿ¶¶¶ÿµµ¶ÿ¶µµÿ¶µµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ···ÿ··¶ÿ¶··ÿ¶·¶ÿ¶·¶ÿ···ÿ···ÿ·¸·ÿ·¸·ÿ··¸ÿ···ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¹¸ÿ¹¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿºº¹ÿºººÿ¹ººÿºº¹ÿ¹ººÿºººÿºººÿºººÿºº»ÿºººÿºººÿº»»ÿº»»ÿ»»»ÿ¼»»ÿ»¼»ÿ»»»ÿ»»»ÿ¼¼»ÿ¼»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½½ÿ¼¼½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾½ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¿¾¿ÿ¾¾¾ÿ¿¾¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀÀ¿ÿ¿ÀÀÿ¿À¿ÿÀ¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÀÀÁÿÁÁÁÿÁÀÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÁÁÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÂÂÂÿÂÃÂÿÃÂÃÿÃÂÃÿÃÃÃÿÃÄÃÿÃÃÄÿÃÄÄÿÃÃÃÿÄÃÃÿÄÄÄÿÄÄÃÿÄÄÄÿÂÃÅÿt¡æÿôÿŒôÿŒôÿŒôÿŒôÿŒôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ)ŽòÿZ˜íÿ ³ÙÿÃÄÈÿÆÇÇÿÇÆÆÿÇÇÆÿÆÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÇÇÿÇÇÈÿÇÇÈÿÇÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÈÿÈÉÈÿÈÈÈÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÉÿÉÉÉÿÉÊÊÿÊÊÊÿÊÉÊÿ­»Øÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿgœóÿßâìÿêëêÿëêêÿêëëÿêëêÿêêêÿëëëÿëëëÿëëëÿëëëÿëëëÿëëëÿìëìÿìììÿììëÿìììÿìììÿìííÿíììÿìíìÿíííÿìííÿíííÿíííÿíííÿîííÿíííÿîíîÿîîîÿííîÿæèîÿµÆòÿ_˜ôÿ'ˆõÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ'ˆõÿ·Èòÿïïðÿðñðÿðððÿññðÿðññÿñññÿñññÿñññÿñññÿñññÿòñòÿñññÿñòñÿññòÿñòñÿòòòÿòòòÿòòòÿòòòÿóóòÿòóòÿóóòÿóòòÿóóóÿóóóÿóóóÿóóôÿóóóÿóóóÿóóóÿôôôÿóôôÿôôôÿôôôÿôôôÿôõôÿôõôÿôôôÿôõôÿõõôÿõõõÿõõõÿõõõÿõõõÿöõõÿõöõÿõöõÿöööÿööõÿöööÿöööÿöööÿ÷÷öÿöööÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷ø÷ÿ÷ø÷ÿ÷øøÿøø÷ÿøøøÿøøøÿøùøÿøøøÿùùøÿøøùÿùøùÿùøøÿùùùÿùùùÿùùùÿùùùÿùúùÿúúúÿúúúÿúúùÿúúúÿúùúÿúúúÿûúúÿúúúÿûúûÿúûúÿúúûÿûûûÿûûúÿûûûÿûûüÿûûûÿûüüÿüüüÿüüûÿüüüÿüüüÿüüüÿüüüÿýüüÿüýýÿýýüÿýüüÿýýýÿýýýÿýþýÿýýþÿýýýÿýýýÿþýýÿþýýÿþþþÿþýýÿþþþÿþþÿÿÿþÿÿþþÿÿÿÿþÿþþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©ªªÿªªªÿªªªÿªªªÿ««ªÿªª«ÿ««ªÿ«««ÿªªªÿ«ªªÿª«ªÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬¬¬ÿ¬¬«ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­­¬ÿ¬­­ÿ­­­ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®®®ÿ®­®ÿ®®®ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ¯®¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯¯ÿ°°¯ÿ¯°°ÿ°°°ÿ¯°°ÿ°°±ÿ°°°ÿ°°°ÿ°±±ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ±²²ÿ±±±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²²³ÿ³³²ÿ³³³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³´´ÿ³³´ÿ´´³ÿ´³´ÿ´´´ÿ´´´ÿ´´µÿ´´´ÿµ´µÿµµµÿµµµÿµµµÿµµµÿ¶µµÿ¶µµÿµµ¶ÿ¶¶¶ÿ¶µµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ··¶ÿ··¶ÿ···ÿ···ÿ···ÿ··¸ÿ·¸¸ÿ···ÿ·¸¸ÿ··¸ÿ·¸·ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¹¸¹ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¸¹ÿ¹¹¹ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹ºÿ¹¹¹ÿºººÿºººÿºººÿºººÿºººÿº»ºÿ»»ºÿ»»»ÿ»º»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»¼ÿ»¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ½¼¼ÿ¼½½ÿ¼¼¼ÿ½½¼ÿ½¼½ÿ½¼½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾½ÿ½¾¾ÿ½½¾ÿ¾½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¾ÿ¾¾¾ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀ¿ÿÀÀÀÿÀÁÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÁÁÿÀÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÁÿÂÁÁÿÂÂÂÿÁÂÂÿÁÁÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÂÂÿÂÂÂÿÃÂÃÿÂÃÃÿÃÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÄÃÿÃÃÃÿÄÃÃÿÃÄÄÿÃÃÄÿÃÄÄÿ—®Ûÿóÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿX—íÿ²Ùÿº¿ÍÿÆÇÆÿÇÇÇÿÇÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÈÿÇÈÈÿÈÇÇÿÈÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÉÉÉÿÉÈÉÿÈÉÉÿÉÉÈÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÊÿÊÉÊÿ˜¯ßÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿR”ôÿÖÜìÿêêêÿêëêÿêêëÿëêëÿëëëÿëëëÿëëêÿëëëÿëëìÿìëëÿìëëÿìëëÿìììÿìììÿìììÿìììÿìíìÿììíÿìììÿííìÿìììÿíííÿíííÿíííÿíííÿíííÿîîîÿÞâïÿ¶Æñÿ\—ôÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿFõÿÛáñÿðððÿðððÿðññÿðððÿðñðÿñðñÿñðñÿññðÿñññÿñññÿòòñÿòññÿòññÿòñòÿñòòÿññòÿòòòÿòòòÿòòòÿòòòÿòòóÿòòóÿóóóÿóóóÿóóòÿóóóÿóóóÿóóóÿóóôÿôóôÿôôôÿôôóÿôôôÿôôôÿôôôÿõõôÿôôôÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿöõõÿõõõÿõõõÿööõÿöööÿöööÿöööÿöööÿöööÿöööÿöööÿöööÿ÷÷öÿö÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿø÷øÿ÷ø÷ÿøø÷ÿøøøÿøøøÿøøøÿøøùÿøøøÿøùøÿøùøÿøùùÿøùùÿùùùÿùùøÿùùùÿùùùÿúùúÿúùùÿúùúÿùùúÿúúúÿúúúÿúúúÿúúúÿúúúÿûúûÿúúûÿûûûÿûûúÿûûûÿûûûÿûûûÿûûûÿûûûÿüüûÿüüûÿüûûÿüüüÿüüüÿüüüÿüüýÿýýüÿüüüÿüýýÿüüüÿýýýÿüýýÿýýýÿýýýÿýýýÿýýþÿþþþÿýþþÿýýþÿþþþÿþþþÿþþþÿþÿþÿÿÿþÿþþÿÿþÿþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿªªªÿª©©ÿªª©ÿªªªÿªªªÿªª«ÿªª«ÿª««ÿ««ªÿªªªÿ«ªªÿ«««ÿ«««ÿ«««ÿ¬««ÿ«««ÿ««¬ÿ¬««ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬¬ÿ­¬¬ÿ¬­­ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­­®ÿ®­®ÿ®®®ÿ®­®ÿ®®®ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®®¯ÿ¯¯®ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ¯°¯ÿ°°°ÿ¯°¯ÿ°¯¯ÿ¯¯°ÿ°°°ÿ°°°ÿ°°±ÿ±°°ÿ±°°ÿ±±°ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±±²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²³²ÿ²²³ÿ³³³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ´´´ÿ³³´ÿ´´´ÿ³³´ÿ´´³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿµ´µÿµµµÿµµ´ÿµµµÿµµµÿ¶µµÿµµµÿµ¶µÿ¶¶¶ÿµ¶¶ÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶·ÿ¶¶¶ÿ··¶ÿ¶··ÿ¶¶¶ÿ···ÿ¸··ÿ··¸ÿ¸··ÿ··¸ÿ¸··ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¸¹ÿ¸¸¸ÿ¸¹¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿº¹¹ÿ¹¹ºÿºººÿº¹¹ÿºººÿºººÿºº»ÿºº»ÿ»»ºÿºººÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼»»ÿ¼»»ÿ¼»¼ÿ¼»¼ÿ¼¼¼ÿ¼»»ÿ¼¼¼ÿ¼½¼ÿ¼¼½ÿ¼¼¼ÿ¼½¼ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¿¾ÿ¿¾¿ÿ¾¾¾ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿÀ¿ÀÿÀ¿¿ÿÀ¿ÀÿÀ¿ÀÿÁÀÁÿÁÀÀÿÁÀÁÿÀÀÀÿÀÀÁÿÁÁÀÿÀÁÁÿÁÁÁÿÁÁÂÿÁÁÁÿÁÁÂÿÂÁÁÿÂÂÂÿÁÁÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÃÿÂÃÃÿÃÃÂÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÃÿÄÄÄÿ¼ÀÉÿQ•îÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŒôÿR–îÿ«àÿ¿ÂÊÿÆÆÆÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÈÇÿÈÇÇÿÈÈÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÈÈÿÈÉÉÿÉÈÉÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÊÿÊÉÉÿÊÉÊÿÊÉÉÿÊÊÊÿ~¤æÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ5‹õÿÍÖíÿêêêÿêêêÿëëëÿëêêÿêëëÿëëëÿëêêÿëëëÿëìëÿëëëÿëìëÿìëìÿìëìÿëìëÿëììÿìììÿìììÿìììÿìììÿìììÿíìíÿíìíÿíììÿíííÿíííÿÜáîÿŸ¹òÿ`™ôÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿ‰¬óÿðððÿðððÿñððÿððñÿñññÿðññÿðððÿððñÿñðñÿñññÿòòñÿñññÿòòñÿñòñÿòññÿòòòÿòòòÿòòòÿóòòÿòòòÿóòóÿòóòÿóòòÿóóóÿóòóÿóóóÿóóóÿóôóÿôóôÿóôôÿôôôÿôôóÿôóôÿôôôÿôôôÿôõôÿôõõÿôõôÿôõôÿõõõÿõõõÿôõõÿõöõÿõõõÿööõÿöõõÿöõõÿõõöÿõööÿöööÿöööÿöööÿöööÿ÷ööÿö÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿ÷÷÷ÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿùøøÿùøøÿøùùÿøøùÿùùøÿùùùÿùùùÿúùùÿùúúÿùúùÿúùùÿùúùÿúúúÿúúúÿúúúÿúúúÿúúúÿûûúÿûûûÿúúúÿûûûÿúûûÿûûûÿûûüÿûüüÿüüûÿüüüÿûüûÿüüüÿüüüÿüüüÿüüýÿüüüÿüüýÿýüýÿýýýÿüüýÿýüýÿýýýÿýýýÿýýþÿþþýÿþýþÿþýþÿþþþÿþþþÿþþþÿÿþþÿÿþÿÿþþþÿÿþþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©ªªÿªª©ÿªªªÿªª©ÿªªªÿªªªÿª«ªÿ«ª«ÿ«ªªÿªª«ÿ«ª«ÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬­ÿ¬¬¬ÿ­­­ÿ­¬­ÿ­¬­ÿ­­¬ÿ­­®ÿ­­­ÿ­®­ÿ­®®ÿ®®®ÿ­®®ÿ®­®ÿ®®®ÿ®®®ÿ®¯®ÿ®®¯ÿ¯®®ÿ®¯¯ÿ®¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯°°ÿ°°°ÿ¯¯°ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°°±ÿ±±°ÿ°±°ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²²±ÿ²±±ÿ±±²ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³³²ÿ²²³ÿ³³²ÿ³³³ÿ³³³ÿ³´³ÿ³³³ÿ³³´ÿ´³³ÿ´´´ÿ³´³ÿ´³´ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿµ´´ÿµ´µÿ´µµÿµµ´ÿµµµÿµµµÿ¶µµÿµ¶µÿµ¶µÿ¶µ¶ÿ¶µ¶ÿ¶µµÿ¶¶µÿ¶¶¶ÿ¶¶·ÿ·¶¶ÿ·¶·ÿ·¶¶ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ¸¸·ÿ···ÿ·¸¸ÿ¸¸¸ÿ·¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¹¹¸ÿ¸¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿº¹ºÿº¹ºÿº¹¹ÿºº¹ÿºº¹ÿºººÿºººÿº»ºÿºººÿ»º»ÿ»»ºÿº»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»¼ÿ¼»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½¾¾ÿ½½¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¾ÿ¿¾¾ÿ¾¿¾ÿ¿¿¾ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀÀ¿ÿÀ¿Àÿ¿ÀÀÿÀ¿Àÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÁÁÀÿÀÁÀÿÁÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÂÁÿÂÂÂÿÁÁÂÿÂÁÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÂÃÂÿÃÂÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÃÿž±×ÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ7ñÿ‘¬ßÿ¹ÀÎÿÅÆÈÿÆÇÇÿÇÇÇÿÇÇÈÿÇÇÇÿÇÈÈÿÈÈÈÿÇÇÇÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÈÿÈÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÈÉÉÿdšìÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿÁÍîÿêêêÿëëëÿêêêÿêëëÿëêëÿëêêÿëêëÿëêëÿëëëÿëëëÿëëëÿìëëÿëëëÿëìëÿìììÿìììÿìììÿìììÿìííÿìííÿíìíÿíííÿéëìÿÚàïÿ¡ºòÿ=õÿ …õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ7ŠõÿÚàñÿðððÿðñðÿñððÿðñðÿññðÿñññÿñññÿñññÿñññÿñññÿñòñÿñññÿòññÿñòòÿòòòÿñòòÿòñòÿòòóÿòòòÿóòóÿóóòÿòóòÿòóòÿóóóÿóóóÿóóóÿôóôÿóóóÿôôôÿôóôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõôÿôôõÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõööÿööõÿööõÿõõöÿöööÿöööÿöööÿ÷ööÿöööÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿùøøÿøùøÿøøøÿùøøÿøøøÿùùùÿùùøÿùùùÿùùùÿúùùÿùùùÿúùúÿúùúÿùúùÿúúúÿúúúÿúûúÿúúúÿúúúÿúûúÿûúûÿûûûÿûûûÿúûûÿûûûÿüüûÿûüüÿüûûÿüûüÿüüüÿûüüÿûüüÿüýüÿüüýÿüüüÿýüýÿüüüÿýüýÿýýüÿüýüÿýýýÿýýýÿýýþÿýýþÿýýýÿýþþÿþþþÿþþþÿþþþÿþþþÿÿþþÿþþþÿþÿÿÿþÿþÿþþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿªªªÿ©ªªÿªªªÿªªªÿ©ª©ÿªª©ÿªªªÿªªªÿªªªÿ«ª«ÿ«ª«ÿª««ÿ««ªÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬¬«ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬­ÿ¬¬­ÿ¬­¬ÿ­­­ÿ­®­ÿ­­­ÿ­®­ÿ®­®ÿ­®®ÿ®®­ÿ®®®ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ°¯¯ÿ¯¯¯ÿ°°¯ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°±°ÿ°°°ÿ±±±ÿ°±±ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ²±±ÿ²²²ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ³³²ÿ³³²ÿ³³²ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³³³ÿ´´³ÿ³´³ÿ³´³ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´´µÿµµ´ÿµ´µÿµ´µÿµµµÿµ¶¶ÿµµµÿµµµÿ¶µµÿµ¶¶ÿµ¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ···ÿ··¶ÿ···ÿ···ÿ···ÿ¸··ÿ··¸ÿ·¸·ÿ¸¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¹¸ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹ºÿº¹¹ÿ¹¹¹ÿ¹º¹ÿº¹ºÿºººÿºººÿºººÿºººÿº»»ÿºººÿº»»ÿº»»ÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ»¼»ÿ¼¼¼ÿ»»»ÿ¼»¼ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼½¼ÿ¼½½ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½¾¾ÿ½½½ÿ¾¾¾ÿ¾½½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¿ÿ¾¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿¿¿ÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÁÀÁÿÀÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÂÁÿÁÂÂÿÂÁÂÿÁÂÂÿÂÂÂÿÃÃÂÿÃÂÂÿÃÂÂÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÂÃÿÄÃÃÿÃÄÄÿÃÃÃÿÃÃÄÿhœêÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿ‹ôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿG’ðÿ„¦ãÿ³¼ÑÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÈÿÈÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÈÈÉÿÈÈÉÿÉÈÉÿÉÉÈÿÉÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÁÄÎÿV–ïÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ«ÀïÿéééÿêêêÿëêêÿëêêÿêêëÿëëëÿêëëÿëëëÿêëëÿëëëÿëëëÿììëÿìëëÿììëÿëììÿììëÿëììÿìììÿíììÿíììÿííìÿÍ×îÿ•²òÿEŽôÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ†õÿ·Çòÿðððÿðððÿðñðÿðñðÿððñÿðñðÿðññÿðññÿñññÿñññÿñññÿòòñÿññòÿòññÿòññÿñòòÿñòòÿñòòÿòòòÿòòòÿòóóÿòóóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóôÿóôóÿóôóÿóóôÿôôôÿóôôÿôôôÿôôôÿôôôÿõôôÿôõôÿõôôÿõôõÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿöõõÿöõõÿöööÿöööÿöööÿöööÿöööÿö÷öÿö÷÷ÿöö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿ÷øøÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿùøøÿùøùÿøøøÿøùøÿùùùÿùøùÿùùùÿúúùÿúùùÿùúúÿúúúÿùúùÿúúúÿúúúÿúúúÿûúûÿúûúÿúúûÿûúúÿúúûÿúûûÿûûûÿûûûÿûüûÿüûüÿüûüÿüüüÿûüüÿüüûÿüûûÿüüüÿüüüÿüüüÿüýüÿüüýÿýýüÿüýýÿýüýÿýýýÿýýýÿýþýÿýýþÿýýþÿýþýÿýþýÿþýþÿþýþÿþþþÿþÿþÿþÿþÿþþÿÿÿþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©©©ÿ©ª©ÿ©©ªÿª©©ÿªªªÿªªªÿªªªÿªªªÿ«ª«ÿ«ªªÿ«ªªÿªªªÿ««ªÿ«««ÿ«««ÿ«¬«ÿ¬«¬ÿ«««ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬««ÿ¬¬¬ÿ¬¬­ÿ­¬¬ÿ­¬­ÿ¬¬¬ÿ­­­ÿ­­­ÿ¬­­ÿ­­¬ÿ­­­ÿ­­­ÿ®­­ÿ­®®ÿ­­®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ®¯®ÿ¯®®ÿ®®¯ÿ®¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ°°¯ÿ¯¯°ÿ¯¯°ÿ°¯¯ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°°°ÿ±±±ÿ°°°ÿ°±±ÿ±±±ÿ±±±ÿ±²±ÿ±±²ÿ²²±ÿ±²±ÿ²±±ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³²²ÿ³³²ÿ³²²ÿ³³³ÿ³³²ÿ³³³ÿ³´³ÿ³´´ÿ³³³ÿ´³´ÿ³´´ÿ´³´ÿ³´´ÿ´´´ÿ´´´ÿ´´µÿµ´µÿµµ´ÿµµ´ÿµµ´ÿµµµÿµµµÿµµµÿµ¶µÿµ¶¶ÿ¶µ¶ÿ¶µ¶ÿ¶¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ·¶¶ÿ·¶¶ÿ¶··ÿ¶¶¶ÿ···ÿ···ÿ···ÿ·¸·ÿ···ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¹¸ÿ¹¸¹ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿ¹ººÿº¹ºÿº¹ºÿ¹º¹ÿºººÿºººÿºººÿº»»ÿºººÿº»»ÿºº»ÿº»»ÿ»»»ÿ»»»ÿ¼¼¼ÿ»¼¼ÿ»¼¼ÿ»¼¼ÿ»¼¼ÿ»»»ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ½½¼ÿ½¼¼ÿ½¼¼ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¾ÿ¿¾¾ÿ¾¿¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀ¿ÿÀ¿ÀÿÀ¿ÀÿÀÀ¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÁÀÿÀÁÀÿÁÁÁÿÀÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÂÂÿÂÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÂÂÂÿÂÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿ¿ÂÆÿ.ŽòÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿ-Žòÿy¢çÿ¶¾ÐÿÄÅÉÿÇÇÇÿÇÈÈÿÇÈÇÿÇÇÇÿÈÈÈÿÈÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÉÿÉÈÈÿÉÈÉÿÈÈÉÿÉÈÈÿÉÉÉÿÊÉÉÿÉÉÉÿ¸¿ÒÿE‘ñÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ°ñÿèéêÿêéêÿêêêÿêêêÿêêêÿêëëÿëëëÿëêêÿëëëÿëëëÿëëëÿëëëÿìëëÿëììÿëëìÿìììÿìììÿìììÿèéìÿÓÚîÿ§óÿ8Šõÿ „õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ›¶óÿððïÿðððÿðððÿðððÿðððÿñððÿðññÿððñÿñññÿññðÿñññÿññòÿñññÿñññÿòòòÿòòòÿòòòÿññòÿòòòÿòòòÿòòòÿòòòÿóòòÿóóòÿóòóÿóóóÿóóóÿóôóÿóóóÿóôóÿôôóÿôôôÿôôôÿóôôÿôôôÿõôôÿôôôÿõôôÿôôôÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿööõÿõõõÿõõöÿõõöÿööõÿööõÿöööÿ÷ööÿöööÿöö÷ÿöööÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿøøøÿøøøÿøùøÿùøøÿøùøÿøøøÿùøøÿøøùÿùùùÿùùùÿùùùÿùúùÿùùùÿúùúÿúùùÿúùùÿúúúÿúúúÿúúúÿûúûÿûúúÿûûûÿûúúÿûúûÿûúûÿûûûÿûûûÿûûûÿüûûÿüûûÿüûûÿüüüÿûüüÿüûüÿüüüÿüüüÿüüüÿüýüÿüýýÿýýüÿýüýÿýýýÿýýýÿýýýÿýýýÿþýýÿýýýÿþþþÿþþþÿýþþÿþþþÿþþþÿþþþÿþþþÿÿþÿÿÿþþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©©©ÿ©©©ÿ©©©ÿªªªÿªªªÿ©ª©ÿªªªÿªª«ÿ««ªÿªªªÿ««ªÿªª«ÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­­­ÿ¬¬¬ÿ­¬­ÿ¬¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­®­ÿ­®­ÿ­®®ÿ­®®ÿ®®®ÿ®®®ÿ®¯®ÿ®¯¯ÿ®®®ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ°°¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ°°°ÿ°°°ÿ±°°ÿ±±°ÿ±±°ÿ±±±ÿ±±±ÿ²²±ÿ²±±ÿ±±±ÿ²±²ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ³²²ÿ²²²ÿ³²²ÿ²²³ÿ³³³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´³´ÿ´³³ÿ´³´ÿ´´´ÿ´´µÿ´µ´ÿ´µ´ÿ´µ´ÿµ´´ÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿµµµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ···ÿ·¶·ÿ¶·¶ÿ···ÿ···ÿ···ÿ·¸·ÿ···ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¹¹ÿ¸¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹¹ºÿº¹ºÿºººÿºººÿºº»ÿ»ººÿºº»ÿ»»»ÿ»»ºÿºººÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»¼»ÿ¼¼¼ÿ¼»¼ÿ»¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ½¼¼ÿ¼½¼ÿ¼½½ÿ½½¼ÿ½½½ÿ½½½ÿ½¾½ÿ¾½½ÿ¾½½ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¾¾¿ÿ¿¾¿ÿ¾¾¿ÿ¿¿¿ÿ¾¿¾ÿ¿¿¾ÿ¿¿¿ÿÀ¿¿ÿÀ¿Àÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿ÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÁÀÿÁÁÁÿÀÁÁÿÀÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÁÁÿÂÂÂÿÁÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÃÂÃÿÂÂÃÿÃÃÃÿÃÃÃÿÃÃÂÿÃÃÃÿÃÄÃÿÃÃÃÿ³ºÌÿ!ŒóÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿ"Œôÿx¡çÿ«¸ÖÿÅÅÉÿÈÈÇÿÇÈÈÿÈÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÈÈÉÿÉÉÉÿÉÉÈÿÉÈÉÿÈÉÉÿÉÉÉÿÉÉÉÿ¯ºÖÿ.óÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿnóÿçèêÿêêêÿêêêÿëêêÿêëêÿêêêÿêêëÿêëëÿëëëÿëëëÿêëëÿëëëÿëëëÿìëëÿëëëÿììëÿåæíÿÅÐïÿŒ­òÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ“±óÿïîðÿïïðÿðððÿðððÿðððÿðððÿðñðÿñððÿññðÿñññÿñññÿñññÿñññÿñññÿòòñÿññòÿòòòÿòòòÿòòòÿòòòÿòòòÿòóòÿóòóÿóòóÿòòóÿóòóÿóóòÿóóòÿóóóÿóóóÿóôóÿóôóÿôóôÿôóôÿôôôÿôôôÿôôôÿõôõÿõôôÿôõõÿõõõÿõõôÿõõõÿõõõÿõõõÿõõöÿõöõÿõöõÿõööÿöööÿöööÿöööÿöööÿöööÿöö÷ÿö÷öÿ÷÷÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿø÷øÿ÷÷øÿøøøÿø÷øÿ÷øøÿøøøÿøøøÿøøùÿøøøÿøùùÿùùøÿøùùÿùøùÿùùùÿùùùÿùùùÿúùùÿùúúÿúúùÿùúúÿúúúÿúúúÿúúúÿúúúÿûúûÿúûúÿûûûÿûúûÿûûûÿûûûÿûûûÿûûûÿûüüÿüûüÿûûûÿüüûÿüüüÿüûüÿüüüÿüüüÿýüýÿüýüÿüüüÿýýüÿýýýÿüüýÿýýýÿþýýÿýýýÿþþýÿþýýÿþþþÿþýýÿþþþÿþþþÿþþþÿþþÿÿþÿþÿþÿþÿþÿÿÿÿÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©©©ÿ©©©ÿ©ª©ÿª©©ÿ©ª©ÿ©©©ÿª©ªÿªªªÿªªªÿ«ªªÿªªªÿªªªÿ«ª«ÿ«ª«ÿ«ª«ÿ«««ÿ«««ÿ¬¬¬ÿ««¬ÿ¬««ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬­¬ÿ­¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ®­­ÿ®®­ÿ®­­ÿ®®®ÿ®®®ÿ®®¯ÿ®¯®ÿ®®®ÿ®¯®ÿ®¯®ÿ¯®®ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ°°¯ÿ°¯¯ÿ°¯°ÿ°°°ÿ°°¯ÿ°°°ÿ°±°ÿ°±°ÿ°±±ÿ±±°ÿ±°±ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ±²²ÿ²±²ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ³²²ÿ³³²ÿ²²³ÿ³²³ÿ²³²ÿ³³³ÿ²³³ÿ³³³ÿ³´³ÿ³³³ÿ³´´ÿ³³³ÿ³´´ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿµ´´ÿ´´´ÿ´µµÿ´µ´ÿ´µµÿµµµÿµµµÿ¶µµÿµ¶¶ÿµµµÿ¶¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ··¶ÿ·¶¶ÿ·¶¶ÿ··¶ÿ···ÿ···ÿ···ÿ¸··ÿ··¸ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¹¸ÿ¹¹¸ÿ¹¸¸ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿºººÿ¹º¹ÿºººÿ¹ººÿºººÿºººÿº»ºÿº»ºÿº»»ÿ»ººÿº»»ÿºº»ÿ»»»ÿ»»»ÿ¼»»ÿ»¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼¼½ÿ¼½¼ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ¾½½ÿ½½¾ÿ½¾½ÿ½¾½ÿ¾¾½ÿ½¾¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀÀÀÿ¿¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÁÿÀÁÁÿÀÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÂÁÿÁÂÂÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÃÃÃÿÃÃÂÿÃÃÃÿÂÂÃÿÄÃÃÿ°¹Ïÿ!ŒóÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ0óÿfšëÿ¨·×ÿÆÆÈÿÈÈÇÿÈÇÇÿÇÈÈÿÈÈÈÿÈÈÉÿÈÈÈÿÉÈÈÿÈÈÉÿÉÈÉÿÉÈÈÿÈÉÈÿÉÉÈÿÈÈÊÿ²Ýÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ2‰õÿÖÛìÿéèêÿêêêÿêêêÿêêêÿêëëÿêëêÿêêêÿêëëÿêëëÿëëëÿëëëÿëëëÿëëìÿèéëÿ¾Ëïÿmžóÿ3‰õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ“±óÿîïïÿïððÿðððÿðððÿðððÿððñÿðððÿðñðÿðððÿññðÿñññÿñññÿñññÿòñòÿññòÿòñòÿòñòÿòòòÿññòÿòòñÿòòòÿòóòÿòòóÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóóÿóôóÿóôóÿóôóÿóôôÿôôôÿôóôÿôôôÿôôôÿôôôÿôôõÿôõôÿôôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõõõÿöõöÿõöõÿõööÿõööÿöööÿöööÿöö÷ÿ÷ö÷ÿö÷öÿöö÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷÷÷ÿøø÷ÿøøøÿø÷øÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøùÿøùùÿùøùÿøùøÿùøøÿùùùÿùùùÿùùúÿúùúÿùùùÿúúùÿúúúÿúúúÿúúúÿúúûÿúúûÿûûúÿûúúÿûúûÿûûûÿûúûÿûûûÿûûûÿûüûÿûüûÿüûûÿûüüÿüûüÿûüüÿüüüÿüüüÿüýýÿüüýÿüýüÿüýüÿýýüÿüýüÿýýýÿýýýÿýýýÿýýýÿþýýÿýþýÿþýþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿþÿþþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©©©ÿ©©©ÿª©©ÿ©©©ÿªªªÿªªªÿªª©ÿªªªÿªªªÿªª«ÿªªªÿªªªÿª«ªÿ«ªªÿª«ªÿª««ÿ«««ÿ«¬«ÿ«««ÿ«««ÿ¬«¬ÿ«¬¬ÿ«¬«ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ®®­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®¯®ÿ®¯®ÿ¯®®ÿ®®¯ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯°ÿ°¯°ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±±±ÿ±±±ÿ°°°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²±²ÿ²±±ÿ²²²ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´´³ÿ´´´ÿ´³´ÿ´´´ÿ´´´ÿ´´µÿ´µ´ÿ´µµÿµ´µÿµµµÿµµ´ÿµµµÿµµµÿ¶µµÿµµµÿ¶¶µÿµµµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶¶ÿ¶¶¶ÿ¶¶·ÿ¶··ÿ···ÿ¶··ÿ···ÿ···ÿ¸··ÿ··¸ÿ··¸ÿ¸·¸ÿ¸¸·ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¸¹¸ÿ¸¸¸ÿ¹¸¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹ººÿ¹¹ºÿºº¹ÿºº¹ÿºººÿºººÿºººÿºººÿºº»ÿºººÿºº»ÿºº»ÿ»»ºÿ»»»ÿ»»»ÿ»¼¼ÿ¼»»ÿ»»»ÿ»¼¼ÿ»¼»ÿ¼»»ÿ¼»¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ½¼½ÿ¼¼½ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ¾¾½ÿ¾½¾ÿ¾½½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀ¿¿ÿÀ¿¿ÿÀ¿Àÿ¿ÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÁÀÿÀÀÀÿÀÁÀÿÀÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÂÁÂÿÂÂÁÿÁÁÂÿÁÂÂÿÁÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÂÂÃÿÃÃÂÿÂÃÂÿÃÂÃÿÃÂÃÿÂÃÃÿ²ºÍÿ!ŒóÿŠôÿŠôÿŠôÿŠôÿŠôÿŠôÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿŠõÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿŠõÿešìÿ¦¶Ùÿ¿ÃÍÿÇÇÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÉÉÿÈÈÈÿÉÉÉÿÈÈÉÿÉÉÉÿ¹ÀÑÿ‡¨äÿ‹ôÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ0ˆõÿ£ºðÿØÝìÿêêêÿêêêÿêëêÿêêêÿêêëÿëëëÿëëëÿêëêÿëëëÿàãìÿÀÍïÿjœóÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ–³óÿïðïÿïðïÿðïðÿïððÿðððÿððñÿðððÿðððÿððñÿñððÿñññÿñññÿñññÿñññÿñññÿòññÿòòñÿòñòÿòññÿòòòÿòòòÿòòòÿóòòÿóòòÿóóóÿóòóÿòòóÿóóóÿóóóÿóóóÿóóóÿóóóÿôôóÿóôôÿôóôÿóôóÿôôôÿôôôÿôõôÿôôôÿôôôÿôõôÿôôõÿõõõÿõõõÿõõõÿõõõÿõõöÿöööÿõõöÿõöõÿöööÿõööÿöööÿöööÿöööÿöööÿ÷÷öÿ÷ö÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿø÷÷ÿø÷øÿøøøÿøøøÿùøùÿøùùÿøøùÿùùùÿùùùÿøùùÿùøùÿùùùÿùùùÿùùúÿùùúÿùùùÿúùùÿùúúÿúúùÿúúúÿúúúÿûûúÿúúúÿúûûÿúúûÿúûûÿûûûÿûûûÿûûûÿûûüÿüûûÿûûüÿüûüÿûüûÿüüüÿüüüÿüüüÿüüüÿýüüÿüüýÿýüýÿýýüÿýüýÿýýýÿýýýÿýýþÿþýýÿþþýÿýþýÿýýýÿþþþÿþþþÿþþþÿþþþÿþþþÿþþÿÿÿÿþÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©©©ÿ©©©ÿ©ª©ÿª©©ÿ©ªªÿªªªÿ©©ªÿ©©ªÿªªªÿªªªÿªªªÿªªªÿªªªÿª«ªÿª««ÿ«ªªÿ«««ÿ«««ÿ««¬ÿ«««ÿ«¬«ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ¬­­ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ®­­ÿ®­®ÿ­­­ÿ­®­ÿ­®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯¯ÿ¯®¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°¯ÿ°¯°ÿ¯°°ÿ°¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°±ÿ°±°ÿ±±±ÿ±±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ²²±ÿ²²±ÿ²±±ÿ²²²ÿ±²²ÿ²²²ÿ³²²ÿ²²²ÿ³²²ÿ³²²ÿ³²²ÿ³³³ÿ³²³ÿ³³³ÿ³´³ÿ³³³ÿ³´³ÿ³´³ÿ´³´ÿ´´³ÿ³´´ÿ´´´ÿ´µ´ÿ´µ´ÿµ´µÿ´µ´ÿ´µµÿµµµÿ´µµÿµµµÿµµµÿ¶¶µÿµ¶µÿµµ¶ÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ¶¶·ÿ·¶·ÿ¶··ÿ·¶¶ÿ···ÿ···ÿ··¸ÿ··¸ÿ···ÿ·¸¸ÿ¸¸·ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¸¸ÿ¹¹¹ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹ººÿºººÿºº¹ÿº¹¹ÿºººÿºººÿºººÿºº»ÿºººÿ»»»ÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ¼¼»ÿ¼»»ÿ¼¼»ÿ¼»»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ¼¼¼ÿ½½½ÿ¼¼½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ¾¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿À¿ÿ¿ÀÀÿ¿À¿ÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÀÀÿÀÀÁÿÀÁÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÁÁÂÿÁÁÁÿÁÂÁÿÂÂÁÿÂÂÂÿÃÂÃÿÂÂÂÿÂÃÂÿÃÂÂÿÂÂÃÿÂÃÂÿÃÃÃÿ¶¼Ëÿ#‹ôÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿŠôÿ_˜íÿ˜¯ÞÿÃÅËÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÈÉÿÀÄÌÿŒ©âÿH‘ñÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿY•ôÿ¨½ðÿãåëÿêêêÿêëêÿëêëÿêêëÿêëêÿàãëÿ©¾ðÿmóÿ„õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ™´óÿðððÿïððÿðïðÿðððÿðððÿðððÿðððÿññðÿñðñÿðððÿðññÿñññÿñññÿññòÿñññÿñòòÿñòñÿñòñÿñññÿñòòÿòòñÿòòòÿòòòÿòóóÿóóóÿóóóÿòóòÿóóóÿóóòÿóóóÿóóóÿóôóÿôóôÿóôôÿóôôÿôóôÿôôôÿóôôÿôôôÿôôôÿôôôÿôõõÿôõôÿôõôÿõôõÿõõõÿõõõÿõõõÿõööÿõöõÿõõõÿöööÿõööÿöööÿöööÿöööÿöööÿö÷öÿö÷öÿ÷÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷øÿ÷÷øÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿøùøÿùùøÿùøøÿùùùÿùùùÿùùùÿùùùÿúùùÿùùùÿùùúÿúúùÿúúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúúûÿûûúÿûûúÿúûûÿûûûÿûûûÿûûûÿûûûÿüûüÿûüüÿûûûÿüüüÿüüüÿüüüÿüüüÿüüüÿýüüÿüýýÿýüýÿýýýÿýüýÿýýýÿýýýÿýýýÿýýþÿýþýÿýýþÿþýþÿþþþÿþþþÿþÿþÿþþÿÿþÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿªª©ÿ©ªªÿªªªÿªªªÿªªªÿ«ªªÿ«ªªÿª«ªÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ«««ÿ««¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬¬ÿ¬¬­ÿ­­¬ÿ­­­ÿ­­­ÿ­­¬ÿ­­­ÿ­­®ÿ®­­ÿ®®­ÿ®­­ÿ®®­ÿ®®®ÿ­®®ÿ®®®ÿ¯®¯ÿ¯®®ÿ¯®®ÿ¯¯®ÿ®®¯ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯°°ÿ¯°¯ÿ¯°°ÿ°°°ÿ°°°ÿ°°±ÿ°°°ÿ±°°ÿ±°°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ²±±ÿ²²±ÿ±²²ÿ±²²ÿ²²²ÿ²²²ÿ²²³ÿ²²²ÿ²³²ÿ³³³ÿ³³²ÿ³³³ÿ³³²ÿ³³³ÿ³´³ÿ³³´ÿ´³´ÿ³³´ÿ³³´ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶¶µÿµ¶µÿ¶µµÿµµµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ···ÿ·¶¶ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ¸·¸ÿ¸·¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¹¸ÿ¹¹¸ÿ¹¸¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿºº¹ÿºººÿº¹ºÿºººÿºººÿºººÿºººÿºº»ÿº»ºÿº»»ÿºº»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼¼ÿ¼¼»ÿ»¼»ÿ¼¼¼ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ¾½½ÿ¾¾½ÿ¾½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¾ÿ¾¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿Àÿ¿¿¿ÿÀÀ¿ÿÀ¿¿ÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÀÿÁÀÀÿÁÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÂÂÂÿÃÃÂÿÃÂÂÿÃÂÂÿ¹½Éÿ#‹ôÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿFñÿœ±Ýÿ¼ÂÎÿÆÇÉÿÁÅÌÿ¤µÚÿK’ðÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿƒõÿX“ôÿ¿ÌïÿãåëÿéêêÿÝáìÿ¬¿ðÿFôÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿœ¶óÿïïïÿïïïÿïïðÿððïÿïððÿðððÿðððÿðððÿððñÿñðñÿñññÿðññÿñññÿñññÿñññÿññòÿññòÿñòòÿñòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿóóóÿòòóÿóóòÿóóóÿóóóÿóóóÿóóóÿôóóÿôóôÿôóóÿóôôÿôôôÿôôôÿôôôÿôôôÿôõôÿôôôÿõôôÿõôõÿõõõÿõõõÿõõõÿõõõÿöõõÿõööÿööõÿööõÿöööÿöööÿöööÿ÷ööÿö÷öÿö÷÷ÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿ÷÷øÿ÷ø÷ÿøøøÿøøøÿøø÷ÿøøøÿøøøÿøùùÿùøùÿøøøÿùùùÿøùùÿùùùÿùùùÿùúùÿùùùÿùùùÿùúùÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿûúûÿûûúÿûúûÿûûûÿûúûÿûûûÿûûûÿüüûÿûûûÿûûûÿüüüÿûüüÿüûüÿüüüÿüýüÿüüüÿüüüÿüüýÿüüüÿýýüÿýýýÿýýýÿýýýÿýýýÿýþýÿþýýÿþþþÿþþþÿþþýÿþýþÿþþþÿþþþÿþþþÿÿþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªªªÿªªªÿªªªÿªªªÿªªªÿªªªÿªª«ÿªªªÿª«ªÿ«««ÿªª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ««¬ÿ«««ÿ«««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­­ÿ¬¬¬ÿ­­­ÿ¬¬­ÿ­­­ÿ­­­ÿ­­®ÿ®®­ÿ­­®ÿ­®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®¯®ÿ¯¯¯ÿ®¯®ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ°¯°ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ°¯¯ÿ¯°°ÿ¯°°ÿ°°°ÿ°°°ÿ°±°ÿ°°°ÿ±°°ÿ±°°ÿ±°±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ²±±ÿ±²²ÿ²²±ÿ²²±ÿ²²±ÿ²²²ÿ²²²ÿ²³²ÿ³²³ÿ³²³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³´³ÿ´³³ÿ´´³ÿ´³´ÿ´´´ÿ´µ´ÿµµ´ÿ´´´ÿµ´µÿ´µµÿµ´µÿµµµÿµµµÿµµµÿµµµÿ¶µµÿµ¶¶ÿ¶¶¶ÿµ¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶¶ÿ·¶¶ÿ···ÿ··¶ÿ···ÿ···ÿ¸··ÿ¸··ÿ·¸·ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¸¹ÿ¹¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿºº¹ÿ¹¹¹ÿºº¹ÿºººÿºººÿºººÿº»ºÿºººÿº»ºÿº»ºÿºº»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ¼¼¼ÿ»¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼½ÿ¼½½ÿ¼½½ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾½½ÿ½¾½ÿ½½½ÿ¾½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¿¾¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿Àÿ¿¿ÀÿÀ¿Àÿ¿ÀÀÿÀÀÀÿÀ¿¿ÿÀÀ¿ÿÀÀÀÿÀÀÀÿÁÀÀÿÀÁÀÿÀÀÁÿÀÀÁÿÀÁÁÿÁÁÀÿÁÁÁÿÁÁÂÿÁÁÁÿÂÂÁÿÁÁÁÿÁÂÁÿÂÂÁÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÃÃÂÿ¼¾Èÿ&Œóÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿM’ðÿ‚¥åÿe™ìÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ ƒõÿ|¤òÿ›µñÿW“ôÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ ‚õÿŸ¸óÿïïïÿððïÿððïÿðïðÿðïðÿðððÿðððÿðððÿðññÿññðÿñðñÿññðÿññðÿñðñÿñññÿñòñÿñññÿñññÿòññÿñòòÿòòòÿòòñÿòòòÿòòòÿòòóÿòòòÿóòòÿóóóÿóóóÿóóóÿóóóÿóóóÿóóóÿôóóÿóôôÿóóôÿôôóÿôóôÿôôôÿôôôÿôôôÿõôôÿõôôÿõõôÿõõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõööÿöõöÿöööÿöõöÿöööÿöööÿö÷öÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿùùùÿøùøÿùùùÿùùùÿùùùÿùùùÿúúùÿùúúÿúùùÿùúùÿúùúÿúúùÿúúúÿúúúÿûûúÿúûúÿúûúÿúúûÿûûúÿúûûÿûûûÿûûûÿûüûÿüûüÿûûûÿûüüÿûûüÿüûüÿüüüÿüüüÿüüüÿüýüÿýýüÿýýüÿýüýÿüýýÿýýýÿýýýÿþýýÿþýýÿþýýÿýþþÿþþýÿýýþÿþýþÿþþþÿþÿþÿþÿþÿþÿþÿÿþÿÿÿÿÿÿÿþÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿ©ª©ÿªªªÿ©ªªÿ©ªªÿªªªÿªªªÿªªªÿªªªÿ«««ÿ««ªÿ«ª«ÿ«ª«ÿ«ª«ÿ«««ÿ«««ÿ«¬«ÿ«««ÿ¬««ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬­ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®®­ÿ­­®ÿ­®­ÿ®®®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ°¯°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°±ÿ°°°ÿ°°°ÿ±±±ÿ±±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²²²ÿ±²²ÿ²²²ÿ²±±ÿ²²²ÿ²²²ÿ²²²ÿ²³³ÿ³³²ÿ²³²ÿ³³³ÿ²³³ÿ³³³ÿ´³³ÿ³³´ÿ´³´ÿ´³´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿµµµÿµ´µÿµ´µÿ´µµÿµµµÿµµµÿµ¶µÿµ¶¶ÿ¶µµÿµ¶µÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ¶·¶ÿ·¶·ÿ¶¶¶ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ¸·¸ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¹¹ÿ¸¹¹ÿ¸¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿº¹¹ÿ¹¹ºÿº¹¹ÿºº¹ÿºººÿºººÿºººÿº»ºÿº»ºÿº»ºÿ»»ºÿ»º»ÿº»»ÿ»»ºÿ»»»ÿ»»»ÿ»»¼ÿ»»¼ÿ¼»¼ÿ¼»»ÿ¼»¼ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼¼½ÿ¼½½ÿ½¼¼ÿ¼½½ÿ½½½ÿ½½½ÿ½¾½ÿ¾¾½ÿ½½½ÿ¾¾½ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¿¿ÿ¾¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿ÀÿÀÀ¿ÿ¿¿Àÿ¿ÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÀÁÀÿÁÁÁÿÁÁÀÿÁÁÀÿÁÁÁÿÁÁÁÿÂÁÂÿÂÁÁÿÂÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÂÃÂÿÂÂÃÿÂÂÃÿ¾ÀÅÿ&Œóÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ ‚õÿ¤»òÿïïðÿðïïÿðïðÿïðïÿïððÿðïðÿðððÿðððÿðððÿðððÿðððÿñðñÿñññÿñðñÿñññÿñññÿñòñÿñññÿñòñÿñññÿñòòÿòòòÿòòòÿòòòÿòòòÿóòóÿòóòÿòóòÿóòóÿóóóÿóóóÿóóóÿôóóÿóóóÿóôôÿóóóÿôóôÿôôôÿóóôÿôôóÿôôôÿôõôÿôõôÿôõôÿõõôÿõõõÿõõõÿõõõÿõõõÿõöõÿõõõÿõõõÿõõöÿõõöÿöööÿõõöÿöööÿ÷ööÿöö÷ÿöö÷ÿ÷÷÷ÿö÷÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷ø÷ÿ÷ø÷ÿøøøÿ÷øøÿøøøÿøøøÿøùøÿøøøÿøùøÿùøøÿøøùÿùùøÿùùùÿùùùÿùùúÿùùúÿùùùÿùùúÿùùúÿúùúÿúúúÿúúúÿúúûÿúúûÿûûúÿûûúÿúûûÿûûûÿúûûÿûûûÿûûûÿûûûÿüüûÿûûüÿûûüÿüüüÿüüûÿüüüÿüüüÿüüüÿüüüÿýýýÿüýüÿýýýÿýýýÿýýýÿýýýÿþýýÿþþþÿýþýÿýþþÿþþþÿþþýÿþþþÿþÿþÿþþþÿþþþÿþþÿÿþþþÿþÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨©¨ÿ¨¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©ªªÿ©©©ÿªªªÿªªªÿªªªÿªªªÿªªªÿªªªÿ«ªªÿªªªÿª«ªÿªª«ÿª«ªÿ««ªÿ«««ÿ«««ÿ««¬ÿ«««ÿ¬¬¬ÿ««¬ÿ«¬¬ÿ¬¬«ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­­ÿ­­¬ÿ­­¬ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ®®­ÿ­­­ÿ®­­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ®®®ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ°¯¯ÿ¯°¯ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°°ÿ±±±ÿ±°°ÿ±±±ÿ±±±ÿ±°±ÿ²±±ÿ±±²ÿ²±²ÿ±²±ÿ±²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ²³²ÿ³³³ÿ²³³ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ´³³ÿ´³´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿµ´´ÿµ´µÿ´´´ÿµ´µÿµµµÿµµ´ÿµµµÿµµµÿµµµÿµ¶µÿµ¶µÿµµ¶ÿ¶¶¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ···ÿ¶··ÿ·¶·ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ¸··ÿ···ÿ·¸¸ÿ··¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹º¹ÿºººÿºº¹ÿºººÿº¹ºÿ¹ººÿºººÿºººÿ»»»ÿ»»»ÿºººÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»¼ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½¼½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾½ÿ½½¾ÿ½¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¿ÿ¿¾¾ÿ¿¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÀÀÿÁÁÀÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÂÁÁÿÁÂÁÿÂÁÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÃÿÃÂÂÿÁÂÄÿ(Œóÿ‰õÿ‰õÿ‰õÿ‰õÿ‰õÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ‚õÿ¨½òÿïïïÿðïïÿïðïÿðïðÿðððÿïððÿðððÿðððÿðððÿðññÿðððÿñðñÿðññÿñððÿñðñÿñññÿñññÿñòñÿñññÿòññÿòññÿòòòÿñòòÿòòòÿòòòÿòóòÿòòóÿòòóÿòóóÿòòóÿóóòÿóóóÿóóóÿóóóÿóôóÿôôóÿóóóÿôóóÿóôôÿôóôÿôôôÿôôôÿôôôÿõôôÿôôõÿôõõÿõôõÿõõôÿõõõÿõõõÿõõõÿõõõÿöööÿööõÿöõöÿöõöÿöööÿöööÿöö÷ÿöööÿö÷öÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷øÿ÷ø÷ÿøøøÿø÷øÿøøøÿøøøÿøøøÿøøùÿøøøÿùøùÿùøùÿùøùÿùùùÿùùùÿúùùÿùùúÿùùùÿúùúÿúúúÿúúúÿùúúÿúúúÿúúúÿúúûÿúúûÿûúúÿûúûÿûûûÿûúûÿûûûÿûüûÿûûüÿûûûÿûûüÿüüûÿüüûÿüüüÿüüüÿüüüÿüüýÿýýýÿýüüÿýüýÿýýýÿýýýÿýýýÿýýýÿýýýÿýýþÿýýþÿýýýÿþþþÿþýþÿþþþÿþþÿÿþþþÿþþþÿþþþÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©©©ÿ©©¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©ª©ÿ©©ªÿªªªÿªªªÿ©ªªÿªªªÿªªªÿ«ªªÿ«ªªÿªª«ÿ«ªªÿ«««ÿ«ªªÿ«««ÿ«««ÿ«««ÿ¬¬«ÿ«««ÿ«¬«ÿ«««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ­­¬ÿ­­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ­­®ÿ­­®ÿ®­­ÿ®®­ÿ®­®ÿ®®®ÿ®®®ÿ¯®®ÿ¯®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯°ÿ°°¯ÿ¯°°ÿ°¯°ÿ°¯¯ÿ°°°ÿ°°°ÿ±°°ÿ±±°ÿ°°±ÿ°±±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ±±±ÿ±±±ÿ²²²ÿ²²±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²³³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´³´ÿ´³´ÿ´³³ÿ´´´ÿ´´³ÿ´´´ÿµ´µÿ´´´ÿµµ´ÿ´µµÿ´´µÿµµ´ÿ´µµÿµ´µÿµµ¶ÿµµµÿ¶µµÿµµµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ¶¶¶ÿ¶¶¶ÿ···ÿ···ÿ···ÿ·¸·ÿ···ÿ¸·¸ÿ¸·¸ÿ·¸¸ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¸¸ÿ¸¹¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹ºÿ¹¹¹ÿ¹¹¹ÿºººÿ¹º¹ÿº¹¹ÿ¹ººÿºººÿºººÿºººÿºººÿº»ºÿº»»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»¼»ÿ¼»¼ÿ¼¼»ÿ¼»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ½¼¼ÿ½½¼ÿ½½½ÿ½½¼ÿ¼½½ÿ½½½ÿ½½½ÿ½¾½ÿ½½½ÿ½¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¾¿ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿À¿ÿ¿¿¿ÿ¿ÀÀÿÀ¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÁÿÁÀÁÿÀÁÀÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÂÂÿÂÂÂÿÂÁÂÿÁÂÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÃÃÿÂÃÃÿ,Œóÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ«¿òÿïïïÿïïïÿïïïÿïïïÿïðïÿïïðÿðððÿðððÿðððÿðððÿñððÿðññÿñððÿñññÿñññÿðññÿñññÿñññÿñññÿñòñÿñòòÿòññÿññòÿòòòÿòòòÿóòòÿòòòÿóóòÿóóòÿóóóÿóòóÿòóóÿóóóÿóóóÿóóôÿóóóÿóóóÿôôôÿóôôÿôôôÿôôôÿôôôÿôôõÿôôôÿôõõÿôôôÿõõôÿôõôÿõõõÿõõõÿõõõÿöõõÿõõõÿõöõÿõööÿõööÿõööÿöööÿöööÿöööÿöö÷ÿ÷ö÷ÿ÷ööÿö÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿøøøÿøø÷ÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøùùÿøùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿúúùÿúùùÿúùùÿúúúÿúúúÿúúúÿúûúÿûûúÿûúúÿúúúÿûûúÿûûúÿûúûÿûûûÿûûûÿûüûÿûûüÿüüûÿûüüÿüüüÿüüüÿüüûÿüüüÿüüüÿüýüÿüýýÿýýýÿýýüÿýýýÿýýýÿýýýÿýýýÿþýýÿþýþÿýþýÿþþþÿþþþÿþýþÿþþþÿþþþÿÿþþÿþþþÿþþþÿÿÿÿÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿª©ªÿ©©ªÿ©©©ÿ©ªªÿªªªÿ©ªªÿªªªÿªª«ÿ«ªªÿ«ªªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ¬¬¬ÿ«««ÿ«¬¬ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬­¬ÿ­¬¬ÿ¬­­ÿ­­­ÿ­­­ÿ®­­ÿ­­­ÿ­­­ÿ®®®ÿ­®­ÿ®®®ÿ®®­ÿ®®®ÿ®®¯ÿ¯®®ÿ¯®®ÿ®¯®ÿ¯¯¯ÿ¯®¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ°¯°ÿ¯°°ÿ°¯°ÿ¯°°ÿ¯°°ÿ°°°ÿ°°°ÿ±°°ÿ±°±ÿ°±°ÿ°°±ÿ±±±ÿ±±±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ±²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ²²²ÿ²²³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ´³´ÿ´´³ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµ´´ÿµ´´ÿµµ´ÿµµµÿµ´µÿµ´µÿ¶µµÿ¶¶µÿµ¶¶ÿ¶¶µÿµµµÿ¶¶¶ÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶·ÿ¶··ÿ·¶·ÿ¶·¶ÿ··¶ÿ···ÿ···ÿ·¸¸ÿ···ÿ···ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿº¹ºÿ¹¹ºÿºººÿºººÿºººÿºººÿº»ºÿ»»ºÿ»ººÿ»»ºÿºº»ÿº»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ¼¼»ÿ¼¼¼ÿ»¼»ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼½ÿ½½½ÿ½½½ÿ¼½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¾ÿ¾¿¿ÿ¾¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿ¿ÀÀÿÀ¿ÀÿÀÀÀÿÀ¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÁÁÁÿÁÁÀÿÀÀÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÂÂÃÿ:Žòÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ‚õÿ¯Áòÿïïïÿïïïÿïðïÿïïïÿïðïÿðððÿððïÿððïÿïððÿðððÿðñðÿñððÿðññÿñññÿðððÿñððÿñññÿñññÿñññÿñòñÿòññÿñòòÿñòñÿòòòÿòòñÿòòòÿòòòÿòòòÿòòòÿòóòÿóóóÿóóóÿòóòÿóóóÿóóóÿóóóÿóôóÿóôóÿôóôÿóôôÿôôóÿóôôÿôôôÿôõôÿõõõÿõôôÿôôôÿõôõÿôõõÿõõõÿõõõÿöõõÿõõõÿõõõÿöõõÿööõÿöõöÿöööÿöööÿöööÿ÷ööÿö÷öÿöö÷ÿö÷÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷øøÿ÷øøÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿùùùÿùùùÿùùùÿøùøÿùùùÿùùùÿùùùÿúùúÿúúùÿúúùÿúùùÿúúúÿúúúÿúúúÿúúûÿúúûÿúúúÿûúúÿûúúÿûûúÿûûûÿûûûÿûûûÿûûûÿûûûÿüûüÿûüüÿüûûÿüüüÿüüüÿüüüÿýýüÿýüüÿýüüÿüüýÿüýýÿýüýÿýýüÿþýýÿýýþÿýýþÿþþýÿýýþÿþýýÿþþþÿþþþÿþþÿÿÿþþÿþþÿÿþÿþÿþþÿÿÿþÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨©¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿ©ªªÿ©©ªÿªªªÿªªªÿªªªÿªªªÿ«ªªÿªªªÿªªªÿ««ªÿª«ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ«¬¬ÿ¬««ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬¬ÿ¬¬­ÿ¬­¬ÿ­­¬ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­­­ÿ­®­ÿ­®®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ®®®ÿ¯®®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°¯ÿ¯¯¯ÿ¯¯°ÿ¯°¯ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ±°±ÿ°°±ÿ±°°ÿ±±±ÿ±±±ÿ°°°ÿ±±±ÿ±±±ÿ±±±ÿ²²²ÿ²²±ÿ²²±ÿ²²²ÿ±²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³³²ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³³´ÿ´´´ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´´µÿ´µ´ÿ´µ´ÿµµ´ÿµ´´ÿµµµÿµµµÿµµµÿµµµÿµ¶µÿµµµÿµµµÿµµ¶ÿ¶µµÿ¶µ¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ···ÿ¶·¶ÿ··¶ÿ···ÿ··¸ÿ··¸ÿ¸¸¸ÿ···ÿ·¸·ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¹ÿ¸¹¸ÿ¹¹¸ÿ¸¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿºººÿ¹º¹ÿº¹¹ÿºººÿºººÿºººÿº»ºÿºººÿºººÿº»ºÿ»º»ÿ»»»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼¼»ÿ¼»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾½ÿ¾½½ÿ¾¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¾ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿÀÀ¿ÿÀ¿Àÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÁÀÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÂÁÿÁÂÂÿÁÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÃÃÃÿGðÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ‚õÿ²Ãòÿïïïÿïïïÿïïïÿðïïÿðïïÿðïïÿðïïÿïððÿðððÿðððÿññðÿñððÿðñðÿðñðÿñððÿñññÿñðñÿñññÿñññÿñññÿññòÿññòÿñòñÿòòòÿòòòÿòññÿòòòÿòòòÿòòòÿòòòÿóóòÿòóòÿóóóÿóóóÿóóóÿóóóÿóôóÿóóóÿóóôÿóôôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿõôõÿõôõÿôõôÿõõõÿõõõÿõõõÿõöõÿöõõÿõööÿööõÿõööÿööõÿööõÿöööÿöööÿö÷öÿö÷÷ÿöööÿ÷ööÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøøùÿùøøÿøøøÿøùùÿùùùÿùùùÿùùùÿùùùÿùúùÿùúúÿúúúÿúúùÿúúúÿúúúÿúúúÿúúúÿúûúÿûúûÿûûûÿûûúÿúûûÿûúûÿûûûÿûûüÿûûûÿüûüÿûüüÿüûüÿüûüÿüüüÿüüüÿüüüÿýüüÿüýüÿýýýÿýýüÿüýýÿýýýÿýýýÿýýþÿýýýÿþýýÿýþýÿþþþÿþýþÿþýþÿþþýÿþþþÿþþþÿþþþÿþÿþÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨¨¨ÿ¨¨©ÿ©©©ÿ©¨¨ÿ©©¨ÿ©©©ÿ©©¨ÿ©©©ÿ©©ªÿ©ª©ÿª©ªÿªªªÿªªªÿªª©ÿªªªÿªªªÿªªªÿªªªÿ««ªÿª««ÿ«ª«ÿ«««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ¬¬«ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­­¬ÿ¬¬­ÿ­­¬ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ®®®ÿ­®®ÿ­­®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®®¯ÿ®®¯ÿ®¯¯ÿ®¯¯ÿ®¯¯ÿ¯¯¯ÿ°¯¯ÿ¯°¯ÿ¯°¯ÿ¯°°ÿ¯¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°±°ÿ°±±ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ±±²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²²²ÿ³²²ÿ³²³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´´³ÿ´³³ÿ³³³ÿ´´´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶µÿ¶µµÿµµµÿ¶µµÿ¶µµÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ··¶ÿ·¶·ÿ···ÿ¶··ÿ···ÿ¸··ÿ·¸·ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¹ÿ¸¸¸ÿ¹¸¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹ºÿº¹ºÿºººÿ¹¹ºÿºººÿºººÿºººÿºº»ÿ»ººÿºº»ÿ»»ºÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ»¼¼ÿ¼»»ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼¼ÿ¼½½ÿ½½½ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½½½ÿ½½¾ÿ¾½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¾¾ÿ¿¾¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿À¿ÿÀÀ¿ÿ¿¿Àÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÁÀÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÂÁÿÂÂÂÿÁÂÂÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÂÿR“îÿˆõÿˆõÿˆõÿˆõÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿƒõÿ´Åòÿîïïÿïïîÿïïïÿïïïÿïïðÿïðïÿððïÿðïðÿðïðÿðððÿðððÿðððÿðððÿñññÿññðÿñðñÿññðÿñññÿñññÿñòòÿñññÿòññÿñòñÿòññÿòññÿòñòÿñòòÿòòòÿòòòÿòòòÿòòóÿóòóÿòóòÿóóóÿóóóÿóóóÿóóóÿóóôÿôóóÿôóóÿôôôÿôóôÿóôôÿôôôÿôôôÿôôôÿõôôÿôôôÿôôôÿõõôÿõõõÿõõõÿõõõÿõöõÿõõõÿööõÿõöõÿööõÿõööÿöõöÿöööÿöööÿ÷÷÷ÿ÷÷öÿ÷ö÷ÿ÷÷÷ÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿøøøÿøøøÿøøøÿøùøÿùùøÿùøøÿøùøÿùùùÿøùùÿùùùÿùùùÿùùùÿùúùÿùùùÿùùúÿùúúÿùúúÿúúúÿùúúÿúúúÿúúúÿúúúÿûúúÿûûûÿúúûÿûûûÿûûûÿûûûÿûûûÿüûüÿûûûÿûûüÿüûüÿüüûÿüüüÿüüüÿüüüÿüýüÿýüýÿýýüÿýüýÿüýüÿüýýÿýýýÿýýýÿýýýÿýýýÿþþþÿþþýÿþýþÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨¨¨ÿ©©©ÿ©¨¨ÿ¨¨©ÿ¨©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿªª©ÿ©ªªÿªªªÿ©ªªÿªªªÿªªªÿªªªÿªªªÿª«ªÿ«««ÿª««ÿª«ªÿ«««ÿ«««ÿ«««ÿ««¬ÿ««¬ÿ¬«¬ÿ¬¬«ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬¬ÿ¬¬­ÿ¬¬­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ®®®ÿ­®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ°¯¯ÿ°°°ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ±°±ÿ°±±ÿ±±±ÿ°±±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ²²²ÿ±±±ÿ±±²ÿ²±²ÿ²²²ÿ²±±ÿ²²²ÿ³²²ÿ²²²ÿ³²³ÿ²²²ÿ³²²ÿ²³²ÿ³³³ÿ³³³ÿ´´³ÿ´³³ÿ³³³ÿ´³´ÿ´´³ÿ´´³ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿµµµÿ´µµÿ´µ´ÿµµµÿµµµÿµµµÿ¶¶µÿµµµÿµ¶µÿµµ¶ÿ¶µ¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ··¶ÿ···ÿ···ÿ¶··ÿ···ÿ·¸·ÿ···ÿ·¸¸ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¹¸ÿ¸¸¹ÿ¹¸¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹¹¹ÿº¹¹ÿ¹ººÿºººÿºººÿºººÿ»ººÿºººÿ»ººÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ¼»¼ÿ»»¼ÿ¼¼¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼½ÿ½½¼ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½¾ÿ¾½½ÿ½½¾ÿ¾¾½ÿ¾¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¿ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿÀÀ¿ÿ¿À¿ÿÀÀ¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÂÂÿÁÂÂÿÁÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÃÃÂÿ[•ìÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿƒõÿ·Çñÿïïïÿïïîÿîïïÿïïïÿïïïÿðïðÿïïïÿðððÿïðïÿïððÿðððÿðððÿðððÿðððÿñðñÿðððÿñððÿñññÿðññÿñññÿñññÿñññÿñòòÿòñòÿñññÿñòòÿñòòÿòòòÿòòóÿòóòÿóóóÿòóòÿóóòÿòòòÿóòòÿóóóÿóóóÿôóóÿóóóÿóóóÿôôóÿóóôÿóôôÿôôôÿôôôÿôõôÿôõôÿôõôÿôôõÿõôõÿõõõÿõõõÿõõõÿõõõÿõöõÿõöõÿõöõÿõööÿööõÿõõöÿöööÿöööÿ÷ööÿ÷÷öÿö÷öÿ÷÷öÿöö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿ÷÷÷ÿøøøÿ÷øøÿøø÷ÿøøøÿøøøÿøøøÿøøùÿùøøÿùùøÿùùùÿùùùÿùùùÿùùùÿùùúÿùùúÿúúúÿùùúÿùúúÿúúúÿúúúÿúúúÿúúúÿúúúÿûúûÿúûúÿûûûÿûúûÿûûûÿûûûÿûûûÿûûûÿüüûÿüûüÿûûûÿüüûÿüüüÿüüüÿüýüÿýüýÿüýüÿýýüÿýýýÿýýýÿýýýÿþýýÿýýýÿþýþÿýýýÿþýþÿþþþÿýþýÿþþþÿþþþÿþÿÿÿþþþÿþþÿÿþþÿÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ©¨¨ÿ¨©¨ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©ª©ÿ©©ªÿª©ªÿª©ªÿªª©ÿªªªÿªªªÿª««ÿ«ªªÿ««ªÿ«ªªÿª««ÿ«««ÿ«««ÿ««¬ÿ¬«¬ÿ«««ÿ¬««ÿ«««ÿ««¬ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ¬­­ÿ¬¬­ÿ¬¬­ÿ­­¬ÿ­­­ÿ®­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®®­ÿ®®­ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ®®®ÿ®¯®ÿ®¯®ÿ¯¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯°¯ÿ¯°¯ÿ°¯°ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±²±ÿ²±²ÿ±²±ÿ²²²ÿ²±²ÿ²±±ÿ²²²ÿ²²³ÿ²²³ÿ³²³ÿ³²²ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ³´³ÿ´³³ÿ³³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿµ´´ÿ´µµÿµ´µÿµµ´ÿµµµÿµµµÿ¶µµÿµ¶µÿ¶¶¶ÿµ¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶·¶ÿ¶··ÿ¶¶¶ÿ·¶·ÿ···ÿ·¶·ÿ¸··ÿ···ÿ···ÿ¸·¸ÿ·¸¸ÿ·¸·ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹º¹ÿº¹ºÿºººÿºººÿº¹ºÿºººÿºº»ÿº»ºÿº»ºÿ»º»ÿ»»»ÿºº»ÿ»»»ÿ»»»ÿ»¼»ÿ¼»¼ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½¼ÿ½¼½ÿ½½¼ÿ¼¼½ÿ½½½ÿ½¼½ÿ½½¾ÿ½½½ÿ½¾¾ÿ½½¾ÿ¾½¾ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀÀ¿ÿ¿¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÁÀÀÿÀÀÀÿÁÁÁÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÁÂÂÿÁÁÂÿÂÁÂÿÂÁÁÿÂÁÂÿÂÂÂÿÃÂÂÿc—ëÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ#‚õÿ»Êñÿïîîÿïïïÿïïîÿïïïÿïïïÿïðïÿïïïÿïððÿðððÿïððÿïððÿðððÿðððÿñððÿñðñÿððñÿñðñÿññðÿñðñÿñññÿñññÿñññÿòññÿòññÿñññÿòñòÿòòòÿòòòÿòòòÿòòòÿóóóÿòòóÿóóòÿòóòÿòòóÿóóóÿóòóÿóóóÿóôôÿóóóÿôôóÿôôôÿóóôÿôôôÿôôôÿôôôÿôôôÿôõôÿôôõÿôôõÿôôôÿõõõÿõõõÿõõõÿõöõÿõöõÿõõõÿõööÿõöõÿöõöÿöööÿöööÿöööÿöööÿ÷ööÿöööÿ÷÷öÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷øøÿ÷÷÷ÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿøùùÿøøøÿøùùÿùùùÿùùùÿùùùÿùùùÿùùùÿúùúÿúùúÿùùùÿúùúÿúúúÿúúúÿúúúÿúúûÿúúúÿúúúÿûúúÿûûûÿûûûÿûûûÿûûûÿüûûÿüüüÿûûûÿûüüÿûûüÿüüüÿüüûÿüüüÿüüýÿüüüÿüüüÿýüýÿüýýÿüýýÿýýýÿýýýÿýýýÿýýþÿýýýÿþýýÿýþýÿþþþÿþþýÿþþþÿþþþÿþþþÿÿþÿÿþþÿÿþþÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ¨©¨ÿ¨¨©ÿ©©©ÿ©©¨ÿ©¨©ÿ©ª©ÿ©ªªÿªª©ÿª©©ÿªªªÿªªªÿªª©ÿª©ªÿªªªÿªªªÿª«ªÿªª«ÿª«ªÿª«ªÿ«««ÿª««ÿ«««ÿ«««ÿ««¬ÿ««¬ÿ¬¬«ÿ««¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ¬­¬ÿ­¬¬ÿ¬¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ®­­ÿ®®­ÿ®­®ÿ­®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ®®®ÿ¯®®ÿ¯¯¯ÿ¯¯®ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ°°¯ÿ¯°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°±±ÿ±±±ÿ°°±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ²±±ÿ±²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²³²ÿ²³²ÿ³²²ÿ²³²ÿ³³³ÿ³³³ÿ³²³ÿ³³³ÿ³³³ÿ³´´ÿ´³³ÿ³´´ÿ´³³ÿ´´³ÿ´´´ÿ´´´ÿ´µµÿµµµÿ´µµÿ´µµÿµµµÿµ´µÿµµµÿµµµÿµµ¶ÿµµµÿµµµÿ¶¶µÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶·ÿ·¶·ÿ¶¶¶ÿ·¶·ÿ···ÿ···ÿ···ÿ··¸ÿ···ÿ···ÿ¸¸¸ÿ···ÿ··¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¹ÿ¹¹¸ÿ¸¸¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿ¹¹ºÿ¹¹ºÿº¹ºÿ¹¹¹ÿ¹ººÿºº¹ÿºººÿº»ºÿ»ººÿº»ºÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»»ÿ»»»ÿ¼¼¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼½¼ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾¾ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¾¾¾ÿ¿¿¿ÿ¿¾¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀ¿Àÿ¿¿ÀÿÀÀÀÿÀÀÀÿ¿ÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÂÁÿÁÁÂÿÁÂÂÿÁÁÁÿÂÂÂÿÂÁÂÿÂÂÂÿjšéÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ#‚õÿ¾Ìðÿîïîÿïïïÿîïîÿïïîÿïîïÿïïïÿðïïÿðïðÿïïïÿððïÿðððÿðððÿðððÿðððÿðððÿððñÿññðÿññðÿñññÿñððÿññðÿñññÿñññÿñññÿòññÿòòñÿñòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿóóóÿòóòÿóóòÿòòóÿóóóÿóóóÿóóôÿóóóÿôôóÿôóôÿôôóÿôôôÿôôôÿôôôÿôôôÿôôõÿôõõÿôõôÿõõôÿõõôÿõõõÿõõõÿöõõÿõõõÿõõõÿõõõÿõõõÿõööÿöööÿöööÿ÷ööÿ÷÷öÿöö÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿöö÷ÿ÷÷÷ÿøø÷ÿ÷÷÷ÿøø÷ÿ÷øøÿ÷øøÿøøøÿø÷øÿøøøÿøøøÿùøùÿøùøÿøùøÿøùùÿùùøÿùùùÿùùùÿùùùÿùúúÿúùùÿùùùÿùùùÿùùúÿúúúÿúúúÿúúúÿúúúÿúúúÿûúûÿúûûÿúûûÿûûûÿûûûÿûûûÿüûûÿûûûÿüûûÿûûüÿûüûÿüüüÿüüüÿüüüÿüüüÿýüüÿüüýÿýýýÿýüüÿýýüÿýüýÿýüýÿýýýÿýýýÿýýþÿýþþÿýþþÿþýþÿþýýÿþþþÿþþþÿþþþÿþþþÿþþþÿÿþÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ¨©©ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿªªªÿ©©ªÿ©©ªÿ©ª©ÿª©ªÿªªªÿªªªÿªªªÿª««ÿ«««ÿ«ªªÿª««ÿª«ªÿ«««ÿ«««ÿ¬««ÿ«¬«ÿ«¬«ÿ¬«¬ÿ¬¬«ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬­¬ÿ­¬­ÿ­¬­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ®®­ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯®®ÿ®®¯ÿ®¯¯ÿ®¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯°ÿ¯¯¯ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ°°°ÿ±°±ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ±²±ÿ²±²ÿ±²±ÿ²±²ÿ²²²ÿ³²³ÿ³²²ÿ²³²ÿ³²³ÿ²³²ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´³´ÿ´´´ÿ´³´ÿ´´´ÿµ´´ÿ´´´ÿ´µ´ÿ´µµÿ´´´ÿ´µ´ÿµµµÿ´µµÿµµµÿµµµÿµµµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ···ÿ¶¶¶ÿ···ÿ¶··ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ¸·¸ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹ººÿº¹¹ÿ¹¹¹ÿ¹¹ºÿ¹ººÿ¹ººÿºººÿºººÿºººÿ»ººÿ»º»ÿ»º»ÿ»ººÿ»»»ÿ»»»ÿ»»¼ÿ»»¼ÿ¼»»ÿ»¼»ÿ»»¼ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼½¼ÿ¼½¼ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾¾ÿ½¾½ÿ¾½½ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¿ÿ¾¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿À¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÁÁÿÁÀÀÿÀÀÀÿÁÀÁÿÁÁÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÂÿÁÁÁÿÁÂÁÿÁÁÂÿÂÂÁÿÂÁÂÿÂÁÂÿqœçÿ‡õÿ‡õÿ‡õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ'ƒõÿÀÍñÿïïîÿîïîÿïïïÿïïïÿîïïÿïïïÿðïïÿïïðÿïïïÿðððÿððïÿïððÿðððÿðððÿðððÿðññÿñññÿñððÿðñðÿñññÿñññÿñññÿñññÿñññÿòññÿòñòÿòñòÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿóóòÿóòóÿòòòÿóóóÿóóóÿóóóÿóóóÿóôóÿôóóÿóôôÿóôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôõÿõõõÿõôõÿôôôÿõõõÿõõõÿõõõÿõöõÿõõöÿõöõÿöööÿõööÿöööÿöööÿöööÿ÷ööÿö÷÷ÿöööÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿøø÷ÿ÷øøÿ÷÷øÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿøùøÿøøùÿøùùÿùùøÿøùùÿùùùÿùùùÿùùùÿúùùÿùùùÿúùúÿúúúÿùúùÿúúúÿúûúÿúúúÿûúúÿúúûÿûúúÿûúûÿúûûÿûûûÿûûûÿûüüÿüûüÿûûüÿüüüÿûûüÿüûüÿüüüÿüüüÿüüüÿüüýÿüýýÿýýýÿüýýÿüüýÿýýýÿýýýÿýþýÿþýýÿþýþÿýþþÿþþýÿþþþÿþþþÿþþþÿþþþÿþþþÿÿþÿÿþþþÿÿþþÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©ªªÿªª©ÿª©ªÿªªªÿªªªÿªª«ÿªªªÿª««ÿ«ª«ÿªªªÿª«ªÿ«««ÿª««ÿ««¬ÿ««¬ÿ«««ÿ¬¬«ÿ¬¬¬ÿ«¬¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬­ÿ¬­¬ÿ¬­­ÿ­­¬ÿ¬­¬ÿ­¬­ÿ¬­­ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­®­ÿ®®®ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®¯ÿ®®®ÿ¯¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯¯ÿ°¯°ÿ°¯°ÿ°°¯ÿ¯¯°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ±±°ÿ±±°ÿ±°±ÿ°±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ²²²ÿ²²²ÿ±²±ÿ²²±ÿ²²²ÿ²²²ÿ²²³ÿ²²²ÿ²²²ÿ³²³ÿ³²³ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´´³ÿ´´³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´µ´ÿ´µ´ÿµ´µÿµµµÿ´´µÿµµµÿµµµÿµµµÿµ¶µÿµµ¶ÿ¶µ¶ÿ¶¶¶ÿµµµÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ¶¶·ÿ¶¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ¸¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹¹¹ÿºººÿ¹º¹ÿºººÿºººÿº»ºÿ»»ºÿ»ººÿ»ººÿº»»ÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼¼ÿ¼¼¼ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼¼½ÿ½¼¼ÿ½½¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾½ÿ½¾¾ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¿¾¾ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿ¿À¿ÿÀÀÀÿ¿¿ÀÿÀ¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÁÿÀÀÀÿÁÀÁÿÀÁÀÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÂÁÁÿÁÁÁÿÁÂÂÿÂÁÂÿÂÂÂÿxžæÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ'ƒõÿÄÏñÿîîîÿîîîÿîïïÿîïïÿïïîÿïïïÿïïïÿðïïÿïïïÿðïðÿððïÿïððÿððïÿðððÿðððÿðððÿðððÿðððÿðððÿññðÿððñÿñññÿñññÿñññÿñññÿññòÿòñòÿòòòÿòòñÿòñòÿòòòÿòòòÿóóóÿòóóÿóòóÿóòòÿóóóÿóòòÿóóóÿóóóÿóôóÿóôóÿôôóÿôôóÿôóôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôõÿôõõÿõõõÿõõôÿõõõÿõõõÿõõõÿõõõÿõõõÿõõöÿõööÿöõöÿöööÿöööÿöööÿ÷ööÿöööÿö÷÷ÿöööÿ÷÷÷ÿö÷öÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷÷÷ÿø÷øÿ÷øøÿøøøÿøøøÿøøøÿøøøÿùøøÿùùøÿùøùÿøùùÿùùùÿùùùÿùùùÿúùùÿùùúÿúùùÿúùùÿúùúÿúúúÿúúúÿúúúÿûûúÿûúúÿûúûÿûûûÿûûûÿûúûÿûûûÿûûüÿûûûÿûûûÿüüûÿûüüÿüûûÿüûüÿüüüÿüüüÿüüüÿüýüÿüüýÿýýýÿüýýÿýýüÿýýýÿýýýÿýýýÿýýýÿýýþÿýýþÿþýýÿþþþÿþþþÿþþþÿÿþþÿþÿþÿÿþÿÿþþþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨©©ÿ¨©¨ÿ©©¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿ©ªªÿªªªÿªªªÿªªªÿªªªÿ«««ÿªªªÿ«ªªÿª««ÿ«««ÿ«««ÿª««ÿ«««ÿ«««ÿ¬«¬ÿ««¬ÿ¬««ÿ¬««ÿ¬«¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ¬¬­ÿ¬­­ÿ­­­ÿ¬¬¬ÿ­­¬ÿ­­­ÿ®­­ÿ®­­ÿ®­­ÿ­®­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯¯®ÿ¯®®ÿ®®¯ÿ®®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ°¯¯ÿ°°¯ÿ¯°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ±±±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²±±ÿ±²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³²²ÿ²³³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´³³ÿ´´³ÿ´´´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´µ´ÿµµµÿµµµÿµ´µÿµµµÿµµ¶ÿ¶¶µÿ¶µµÿµµ¶ÿµ¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶¶ÿ·¶·ÿ·¶¶ÿ···ÿ···ÿ···ÿ¸¸¸ÿ···ÿ·¸·ÿ·¸¸ÿ··¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿº¹¹ÿºº¹ÿ¹º¹ÿºº¹ÿºººÿºººÿ¹ººÿºº»ÿºººÿºººÿºººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ¼»»ÿ¼»»ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ½½¼ÿ¼½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾½ÿ½½½ÿ¾¾½ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¾¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿ¿¿Àÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÀÁÁÿÁÁÀÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÂÁÿÂÂÁÿÁÁÁÿÂÂÂÿ} ãÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ*ƒõÿÆÑðÿîïîÿîïîÿïîïÿïïîÿïïîÿïïïÿïïîÿïïïÿïïïÿðïðÿïïïÿïðïÿðððÿðïðÿððïÿðððÿððñÿðððÿðððÿððñÿñðñÿñññÿñññÿñññÿñññÿñññÿñòòÿòòòÿòñòÿòñòÿòòòÿòòòÿòòòÿòòòÿóòòÿóóòÿòòóÿòóóÿòóóÿóóóÿóóóÿóóóÿóóóÿóôôÿôóôÿôôóÿóôôÿôôôÿôôôÿôôôÿôôõÿôôõÿõõõÿõõôÿõõôÿõõõÿõõõÿõõõÿõõöÿõõõÿööõÿöööÿöõõÿöööÿöööÿöööÿ÷ööÿöööÿöö÷ÿ÷÷öÿ÷ööÿö÷öÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷÷÷ÿø÷÷ÿø÷÷ÿøøøÿøøøÿøøøÿùøøÿøøøÿùøùÿøøùÿùùùÿøùùÿùùùÿùùùÿùùùÿùùùÿúùùÿúúùÿùùùÿúùùÿúúúÿúúúÿúúúÿúûúÿúúúÿúúúÿûúúÿûûúÿûûúÿûûûÿûûûÿûûûÿûûûÿûûüÿüûûÿûüüÿûüûÿüüüÿüüüÿüüüÿýüüÿüýüÿüüüÿýüüÿýüýÿýýýÿýýýÿýýýÿýþýÿýýýÿþþþÿýýþÿþþýÿþþþÿþþþÿþþþÿþÿþÿþþþÿÿÿþÿÿÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ©¨©ÿ©¨©ÿ©©©ÿ©ª©ÿ©©©ÿª©ªÿ©ª©ÿ©©©ÿª©ªÿ©ªªÿªªªÿªªªÿªªªÿªªªÿªª«ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ«¬«ÿ¬««ÿ«¬«ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ­¬¬ÿ­­­ÿ¬¬­ÿ­­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ®­®ÿ®­®ÿ®®®ÿ®­­ÿ®­®ÿ®®®ÿ®®¯ÿ¯®¯ÿ®¯®ÿ®®¯ÿ¯®¯ÿ¯¯®ÿ¯¯®ÿ¯¯°ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯¯ÿ¯°¯ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°°°ÿ°°±ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ±²±ÿ²±±ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ³²²ÿ²³²ÿ²²²ÿ²³³ÿ³³³ÿ³³²ÿ³³²ÿ³³³ÿ³³³ÿ´´³ÿ´³³ÿ³´´ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿµ´µÿ´´µÿ´´µÿµµµÿµµµÿµµµÿµµµÿ¶µµÿµ¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶·ÿ·¶·ÿ···ÿ···ÿ···ÿ·¶¶ÿ···ÿ···ÿ···ÿ¸·¸ÿ¸·¸ÿ·¸¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¹ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿ¹¹ºÿº¹¹ÿºººÿºººÿºººÿºººÿ»º»ÿ»»»ÿº»ºÿ»»»ÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ¼¼»ÿ¼¼¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ½¼¼ÿ½¼½ÿ¼¼¼ÿ½¼¼ÿ½½½ÿ½½½ÿ½½½ÿ½¾¾ÿ½¾½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿÀ¿Àÿ¿À¿ÿÀÀÀÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÁÿÁÀÀÿÁÀÁÿÁÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÂÂÿÁÁÂÿÁÁÁÿÂÁÁÿÁÂÂÿƒ£âÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ*ƒõÿÉÓðÿîïîÿîîîÿîîïÿïïïÿïîïÿïïîÿïîïÿïïïÿðïïÿïïïÿïïðÿððïÿïðïÿðïïÿðððÿðððÿðððÿðððÿðððÿñðñÿðñðÿñðñÿññðÿñññÿñññÿñññÿññòÿñòòÿòññÿòòòÿòñòÿòòñÿòòòÿòòòÿòòóÿóóòÿòòòÿòóòÿóóòÿóóóÿóóóÿóóóÿóôóÿóôóÿôôóÿóôôÿóôôÿôôôÿôôôÿôôôÿôôôÿôõõÿõõõÿõõôÿõôõÿõõõÿõõõÿõõõÿõöõÿõöõÿõööÿöööÿõööÿõöõÿöööÿöööÿö÷öÿö÷÷ÿ÷÷÷ÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷÷÷ÿøø÷ÿøøøÿøø÷ÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøùÿøøøÿøùùÿùùùÿùùùÿùùùÿúúùÿùùùÿúùùÿùùùÿúùúÿùùúÿúúúÿùúúÿúúúÿúúûÿûûúÿûúûÿûúûÿûûúÿûûûÿûûûÿûüûÿûûûÿûûüÿüûüÿüüûÿüüüÿûüüÿüüüÿüüüÿýüüÿüüýÿüüüÿüüüÿüüýÿýýýÿýýýÿýýýÿýýýÿþýýÿýþþÿýþþÿþþþÿþþþÿþýþÿþþþÿþþþÿÿþþÿþÿþÿþÿþÿþþþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨¨§ÿ§¨§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ©¨¨ÿ©©¨ÿ¨¨©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©ªªÿ©©ªÿª©ªÿªªªÿªªªÿªªªÿªª«ÿ«ªªÿ«ª«ÿ«ªªÿ«««ÿ««ªÿ«««ÿ«««ÿ«««ÿ««¬ÿ««¬ÿ«¬¬ÿ«¬«ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬¬ÿ¬­­ÿ­­¬ÿ­­¬ÿ­­¬ÿ­­­ÿ­­­ÿ­­®ÿ­­­ÿ­®®ÿ­­­ÿ­®®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯¯ÿ®®®ÿ®®®ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ°°°ÿ±°±ÿ±°±ÿ±±°ÿ°±°ÿ±±±ÿ±±±ÿ²±²ÿ±±²ÿ±±²ÿ±±±ÿ²²²ÿ²²±ÿ²²²ÿ²³²ÿ²²³ÿ²²²ÿ²³³ÿ³³³ÿ³²²ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ³´³ÿ´´´ÿ´³³ÿ³³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿ´´´ÿµµµÿ´µµÿµµµÿµµµÿ¶µµÿµ¶µÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ¶¶·ÿ··¶ÿ¶··ÿ···ÿ···ÿ···ÿ··¸ÿ·¸¸ÿ···ÿ¸¸·ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿº¹ºÿº¹¹ÿ¹ººÿºººÿºººÿºººÿºº»ÿº»»ÿºº»ÿ»ººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ»»»ÿ¼¼¼ÿ¼»»ÿ¼¼»ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½½½ÿ½½½ÿ½¼½ÿ½¼¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¾¿¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿À¿ÿÀ¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÁÀÁÿÀÁÀÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÁÁÁÿÂÂÂÿˆ¥àÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ†õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ.„õÿÌÕðÿîîîÿîïîÿîïîÿîïîÿïîïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿïðïÿðððÿðððÿðððÿðððÿðñðÿñððÿñððÿððñÿñññÿñðñÿñññÿñññÿñññÿññòÿòññÿòññÿòòòÿòñòÿñòòÿòòòÿòòóÿòòòÿòóóÿòòòÿóóòÿóóóÿóóóÿóóóÿóóóÿôóóÿóôôÿôóôÿóóóÿôóôÿôôôÿôôôÿôôôÿõôôÿôôôÿôõôÿõõôÿõõõÿõôôÿõõõÿõõõÿõõõÿõõõÿõõöÿõõöÿõõõÿõöõÿöööÿöööÿöööÿöööÿöö÷ÿ÷ö÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷øÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿùøøÿøøøÿøùøÿùùùÿøøùÿùùøÿùùùÿùùùÿùùùÿùúùÿúúùÿúùùÿúúùÿúúúÿúúúÿúúúÿúúúÿúúûÿúûúÿúúûÿûûûÿûûûÿûûûÿûûûÿûûûÿûûûÿüûûÿüüûÿüüüÿüüüÿüüüÿüüüÿüüüÿýüüÿýüüÿüýýÿýüýÿüýýÿýýýÿýýýÿýýýÿýýýÿýþýÿýýýÿþýýÿýþþÿýþþÿþþýÿþþþÿþþþÿþþþÿþþþÿÿþÿÿþþÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨§§ÿ¨¨§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ©¨©ÿ¨¨©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿªªªÿªª©ÿ©ª©ÿªªªÿªªªÿªªªÿªªªÿ«ªªÿ«««ÿ«ªªÿ«««ÿ«««ÿ««ªÿ«««ÿ«¬«ÿ««¬ÿ«««ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ¬¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­¬­ÿ­­­ÿ­­®ÿ­­®ÿ®­®ÿ­®­ÿ®®®ÿ­­®ÿ®®®ÿ®®®ÿ®®¯ÿ¯®®ÿ¯®®ÿ¯¯¯ÿ®®®ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ°¯°ÿ¯¯°ÿ°°°ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ±±±ÿ²²±ÿ±²²ÿ±²²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³²³ÿ³²³ÿ²²³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ´´´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿ´´µÿµ´µÿ´µµÿµµ´ÿµµµÿµµµÿ¶¶µÿµµ¶ÿ¶µ¶ÿ¶µ¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸¸·ÿ¸¸·ÿ·¸·ÿ¸·¸ÿ¸··ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¹¹¸ÿ¹¹¹ÿ¸¹¹ÿ¸¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹º¹ÿ¹¹ºÿº¹ºÿºººÿºººÿºººÿºººÿº»ºÿºººÿ»ººÿ»ººÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼¼ÿ¼¼¼ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼½¼ÿ½¼½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½¾½ÿ½¾½ÿ½¾¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¾¾¿ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿÀ¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÁÂÂÿŒ¦Þÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ.„õÿÎ×ðÿîîîÿîîîÿïîîÿîîîÿîîîÿïïïÿîîîÿïïïÿïïïÿïðïÿïðïÿïðïÿðïðÿïïðÿðïðÿïððÿððïÿðððÿñððÿñððÿññðÿððñÿñññÿðññÿñññÿñññÿñññÿòññÿññòÿòñòÿòñòÿñòòÿòòòÿòòòÿóòòÿòòóÿòóòÿòòóÿóòóÿóóòÿóóóÿóóóÿôóóÿóóôÿôóóÿóóôÿóóóÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿôõõÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿööõÿööõÿõöõÿöööÿööõÿöööÿöööÿöööÿöö÷ÿ÷÷÷ÿö÷öÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿ÷÷øÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿøùùÿøøøÿøùøÿøùùÿùùùÿùùùÿùùùÿùùùÿùúúÿùùúÿùùùÿùúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúúúÿûûúÿûûûÿûûûÿûûûÿúûûÿûûûÿûûûÿüûüÿûûûÿüüüÿüüûÿüüüÿüüüÿüüüÿüýüÿüüüÿýýýÿüüýÿüýýÿýýýÿýýýÿýýýÿýþýÿþýþÿýýþÿýýýÿýýþÿþþþÿþýþÿþþþÿþþÿÿþþÿÿþÿþÿþÿþÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨§¨ÿ§§¨ÿ§¨¨ÿ§§¨ÿ¨¨§ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ¨©©ÿ¨©¨ÿ©¨©ÿ©¨©ÿ©¨¨ÿ©©©ÿ©ª©ÿ©©©ÿ©©ªÿ©©©ÿª©ªÿ©©©ÿª©©ÿªªªÿªªªÿªªªÿªªªÿªªªÿ«ª«ÿ««ªÿ«««ÿª««ÿ«««ÿ«««ÿ«¬«ÿ¬««ÿ¬¬«ÿ¬¬¬ÿ««¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬­ÿ¬¬¬ÿ¬­¬ÿ¬¬­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­­­ÿ­­­ÿ®­®ÿ­®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯®®ÿ¯®®ÿ¯®¯ÿ®®¯ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ¯¯¯ÿ°¯¯ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°±°ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²²²ÿ±±±ÿ²±²ÿ²²²ÿ²±±ÿ²²²ÿ²²²ÿ³²²ÿ²²²ÿ²³²ÿ²³²ÿ²²³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´³´ÿ´³´ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿµ´´ÿ´´µÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶¶ÿ¶¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ·¶¶ÿ·¶·ÿ¶¶·ÿ···ÿ¶··ÿ···ÿ··¸ÿ···ÿ·¸·ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹ººÿ¹¹¹ÿºº¹ÿºººÿºº¹ÿºººÿº»»ÿº»ºÿ»ººÿº»»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ¼¼¼ÿ»¼¼ÿ»»»ÿ¼¼»ÿ¼»»ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ½½¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ½½½ÿ¾½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀÀÀÿ¿¿¿ÿ¿À¿ÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÀÀÀÿÁÁÀÿÁÀÁÿÁÀÁÿÁÁÀÿÁÁÁÿÁÂÁÿÁÂÁÿÁÁÂÿ’©Üÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ0ƒõÿÑÙðÿîîíÿîîîÿîîîÿîîîÿïîîÿïïîÿïïîÿïîîÿïïïÿïïïÿïðïÿïïðÿðïïÿðïïÿðððÿðððÿðððÿðððÿðððÿðððÿðñðÿðñðÿðññÿñññÿðññÿñðñÿñññÿñññÿñññÿñññÿñòñÿñòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòóÿóóóÿòóóÿóóóÿóóóÿóôóÿôóóÿóôôÿôóóÿôóôÿôôôÿôôôÿôôôÿôõôÿôôôÿôôõÿõõõÿôõõÿôõõÿõõõÿõöõÿõõõÿõõõÿööõÿõõõÿöõõÿöõöÿöööÿöööÿöööÿöö÷ÿö÷÷ÿöööÿö÷öÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷øøÿ÷øøÿøøøÿøøøÿøøøÿøøøÿùùøÿùøùÿùùøÿùùùÿùøùÿùùùÿùùùÿùùùÿùùúÿúùùÿùùúÿùúúÿúúùÿúúúÿúúúÿúúúÿúûúÿúúûÿûúúÿûûûÿúûûÿûûûÿûûûÿüûûÿûûüÿûûûÿûüûÿüüûÿüûüÿüüüÿüüüÿýüýÿüüýÿüüüÿýüüÿüýüÿýýýÿýýüÿýýýÿýýýÿýþýÿþýýÿýýýÿýýýÿþþþÿýþþÿþþþÿþþþÿÿþþÿþþþÿþþþÿþÿÿÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§¨§ÿ¨¨¨ÿ§¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ©¨©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿª©©ÿª©ªÿ©©ªÿªªªÿªªªÿ«ªªÿªªªÿªª«ÿªªªÿªªªÿª««ÿ«««ÿ«««ÿ¬««ÿ««¬ÿ«««ÿ«««ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬¬ÿ­­¬ÿ­­¬ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­®­ÿ®­®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ¯®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°¯ÿ¯°°ÿ¯°¯ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ°±°ÿ±°±ÿ°±±ÿ±±±ÿ±±±ÿ²±±ÿ±±±ÿ±±²ÿ²±±ÿ±²²ÿ²²±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ²²³ÿ³²²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ³´³ÿ´´´ÿ³´´ÿ´´´ÿ´´³ÿµµ´ÿ´´µÿµ´´ÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶µÿ¶¶µÿµµµÿ¶µµÿµ¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ¶¶·ÿ¶¶¶ÿ··¶ÿ···ÿ···ÿ···ÿ·¸¸ÿ¸··ÿ··¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¹ÿ¸¸¹ÿ¸¹¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿº¹ºÿ¹¹¹ÿ¹º¹ÿº¹ºÿºººÿºººÿº»ºÿºººÿºººÿ»»ºÿºº»ÿ»»»ÿ»»»ÿ»º»ÿ»»»ÿ¼»»ÿ¼»»ÿ»»»ÿ¼»¼ÿ¼»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼½½ÿ¼½½ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½¾ÿ½¾½ÿ¾¾½ÿ¾½¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¿ÿ¾¾¿ÿ¿¿¿ÿ¾¾¿ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀÀÀÿÀÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÁÀÿÀÀÀÿÀÀÁÿÁÀÀÿÁÁÁÿÁÀÁÿÁÁÁÿÂÂÂÿÁÁÂÿ–«Úÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ1ƒõÿÔÛïÿîîîÿîîîÿîîîÿîîîÿïîîÿïîïÿïîïÿïïïÿïïïÿïïïÿïïïÿïðïÿðïïÿðïðÿðððÿðïïÿðððÿðððÿðððÿðððÿððñÿðððÿñððÿñññÿñðñÿðññÿñññÿñññÿñòñÿñññÿñòòÿòññÿòñòÿòòòÿòñòÿòòòÿòòòÿòòóÿòóòÿóóòÿóòóÿóóóÿóóòÿóóóÿóóóÿóóóÿóóôÿôôóÿóóôÿóôóÿóóôÿôôôÿôôôÿôõôÿôôôÿõõôÿõõõÿõõõÿõôõÿõõõÿõööÿõõõÿõöõÿõööÿõööÿöööÿööõÿöööÿöööÿöööÿöööÿ÷ööÿ÷÷öÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷÷ÿøøøÿø÷øÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿùùùÿùøùÿùøùÿùùùÿùùùÿùùùÿúùùÿùùùÿúúùÿúùùÿúùùÿúúúÿúúúÿúúúÿúûúÿúúûÿûûúÿûúûÿûûûÿûûûÿúûûÿûûûÿûûûÿûûüÿüûüÿüûûÿüüûÿüûüÿüüüÿüüüÿüüüÿüüüÿýüüÿüüüÿüýüÿüüýÿýýýÿüýýÿýýýÿýýýÿýýþÿþþýÿþýþÿþþþÿþþýÿýþþÿþþþÿþÿþÿþþþÿþþþÿÿþþÿÿþÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ¨§¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨©ÿ©¨¨ÿ¨¨©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿ©ª©ÿª©©ÿªªªÿ©©ªÿªªªÿªªªÿªªªÿ««ªÿªª«ÿ««ªÿªªªÿª««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬«¬ÿ¬««ÿ¬¬¬ÿ«¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­­­ÿ­®­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ¯¯°ÿ°¯°ÿ°¯°ÿ°¯¯ÿ°°°ÿ°°°ÿ°°±ÿ°°±ÿ°°±ÿ±±°ÿ±±±ÿ±±°ÿ±±±ÿ±±±ÿ±²±ÿ²±±ÿ²±²ÿ±±²ÿ²±±ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²²²ÿ²³²ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´´³ÿ³³³ÿ³³´ÿ´´³ÿ´´´ÿ´´´ÿµ´´ÿ´µ´ÿ´´µÿ´´´ÿµ´µÿµµµÿµµ´ÿµµµÿµµµÿµµ¶ÿµµµÿµµµÿµ¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶¶ÿ·¶¶ÿ·¶¶ÿ·¶¶ÿ¶¶·ÿ¶··ÿ···ÿ···ÿ¸¸¸ÿ···ÿ·¸·ÿ¸··ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹º¹ÿ¹¹ºÿ¹¹ºÿºººÿºººÿºººÿº»ºÿ»ººÿ»»»ÿ»ººÿ»º»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼»»ÿ»»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼½ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾½ÿ½½¾ÿ½¾½ÿ½¾¾ÿ¾¾½ÿ¾½¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¿¾ÿ¿¾¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀÀ¿ÿ¿ÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÁÀÀÿÁÀÁÿÀÀÁÿÁÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿš¬×ÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ…õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ3„õÿ×Ýðÿîíîÿîîíÿîîíÿîîîÿîïîÿîïîÿîîïÿîîîÿîïîÿïïïÿïîïÿïïïÿïïïÿïïïÿïððÿððïÿïððÿððïÿððïÿðððÿðððÿñððÿðððÿñððÿðððÿñðñÿñññÿñññÿññòÿñññÿòññÿòñòÿòñòÿòñòÿòòñÿòòòÿòòòÿòòòÿòòóÿòòòÿòòóÿóóóÿòóóÿóóóÿóóóÿôóóÿóôôÿóôôÿôôôÿôôôÿôóôÿôôóÿôôôÿôôôÿõôôÿôõôÿôôõÿõôôÿõõõÿõõôÿõõõÿõöõÿöõõÿõööÿõööÿöööÿöööÿöööÿöööÿöööÿ÷ööÿöööÿ÷÷öÿö÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷øøÿ÷÷øÿ÷÷÷ÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿùøùÿùùùÿùùøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿúúùÿùúúÿùùúÿúúúÿúúúÿúúúÿúúúÿûúúÿûúúÿúúûÿúûûÿûûûÿûûûÿûüûÿûûûÿûûûÿûüûÿüüüÿüüûÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿýýýÿýýýÿýüüÿýýýÿýýýÿþþýÿýýýÿýþýÿþýýÿýþýÿþþþÿþþþÿþþþÿþþþÿÿþþÿþÿÿÿþÿÿÿÿÿþÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§§§ÿ¨¨¨ÿ¨¨§ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ©¨©ÿ¨©©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿ©ª©ÿ©©ªÿ©ªªÿª©ªÿªªªÿªªªÿªªªÿª«ªÿªª«ÿ«««ÿ««ªÿ««ªÿ«««ÿ«««ÿ«¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬­¬ÿ­­¬ÿ¬­­ÿ­­¬ÿ­¬¬ÿ¬¬­ÿ¬¬­ÿ®­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ®­®ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ¯¯°ÿ¯°°ÿ°¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ±°°ÿ±°±ÿ±±±ÿ°±±ÿ±±±ÿ±±±ÿ²±±ÿ±²±ÿ±±±ÿ²²²ÿ²²±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³³³ÿ³²²ÿ²²²ÿ³³³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ³´³ÿ³´´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿµµµÿ´´´ÿ´µµÿµµµÿ´µµÿµ´µÿµµµÿµµµÿµµµÿ¶µ¶ÿ¶µµÿ¶¶¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶·¶ÿ·¶¶ÿ¶··ÿ·¶·ÿ·¶·ÿ¶¶·ÿ···ÿ···ÿ···ÿ···ÿ¸¸·ÿ¸¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¹¸ÿ¹¸¹ÿ¸¹¸ÿ¸¹¹ÿ¹¹¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºººÿ¹¹¹ÿº¹¹ÿºººÿ¹ººÿºººÿºººÿºººÿºººÿ»º»ÿ»ººÿº»»ÿ»»ºÿ»º»ÿ»»»ÿ»»»ÿ»¼»ÿ»¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ¼¼¼ÿ½½½ÿ½½¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾½ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¿¾ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀÀ¿ÿ¿¿¿ÿÀ¿¿ÿÀÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÁÁÀÿÁÁÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÂÁÿž¯Õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ3„õÿÙÝïÿîîíÿíîíÿîîîÿîîîÿïïîÿîîïÿîîîÿîîïÿîïîÿïîîÿïïïÿïïïÿïïïÿïðïÿïïïÿðððÿðïïÿïðïÿððïÿðïðÿðððÿðñðÿðððÿñðñÿððñÿñðñÿñðñÿñññÿñññÿñññÿññòÿñòòÿòòñÿòñòÿñòòÿòñòÿòòòÿòóòÿóòóÿòóóÿòóòÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóóÿôóóÿóóóÿôôôÿóôôÿôôôÿôôôÿôôôÿôõôÿõôõÿõôôÿõõôÿõôõÿõõõÿõõõÿöõõÿõõõÿöõöÿõõöÿöõöÿõööÿöööÿöööÿöööÿöö÷ÿöö÷ÿö÷÷ÿ÷ööÿö÷÷ÿö÷öÿ÷÷÷ÿ÷øøÿ÷÷÷ÿ÷ø÷ÿ÷øøÿ÷øøÿøøøÿø÷øÿøøøÿøøøÿøùøÿøøøÿùøøÿùùøÿùøøÿùùùÿùøùÿùùúÿúúùÿùùùÿùùúÿùúúÿùúùÿúúúÿúúúÿúûúÿúúúÿúûúÿûûûÿûúúÿûûûÿûûúÿûûûÿûûûÿûüûÿûûûÿüûûÿüûûÿûûüÿûüûÿüüüÿüüüÿüüüÿüüüÿüüüÿüüýÿüýýÿýüýÿýýýÿýýýÿýýþÿýýýÿýýþÿýþýÿýþýÿýþþÿþþþÿþþþÿþþþÿþþþÿþþÿÿþþþÿÿÿÿÿþþþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§§§ÿ§¨§ÿ§§§ÿ¨§§ÿ¨¨¨ÿ§§¨ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ©¨©ÿ¨©¨ÿ©©©ÿ¨¨©ÿ©©©ÿ©©©ÿ©ª©ÿ©ª©ÿ©©ªÿªª©ÿªª©ÿª©ªÿªªªÿªªªÿªª«ÿª««ÿª«ªÿ«ª«ÿª«ªÿ««ªÿ«««ÿ«««ÿ«««ÿ«¬«ÿ«««ÿ¬««ÿ¬¬¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ®®®ÿ®®®ÿ®®­ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯¯¯ÿ®¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯°¯ÿ¯¯¯ÿ¯°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°±ÿ±°°ÿ°±°ÿ±±±ÿ°°±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ±±±ÿ²±²ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²³²ÿ²²²ÿ²³²ÿ³²²ÿ³³²ÿ³³³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ´³³ÿ³´´ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿµ´´ÿ´µµÿ´µ´ÿµµµÿµµµÿµµ¶ÿ¶µ¶ÿ¶µµÿµµµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶·¶ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿ¹º¹ÿ¹¹ºÿº¹¹ÿ¹º¹ÿ¹¹ºÿºººÿºººÿºº»ÿºº»ÿºººÿ»»»ÿ»»ºÿº»»ÿ»»»ÿ»¼»ÿ»»¼ÿ»»»ÿ»¼»ÿ¼»¼ÿ¼¼»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ½¼½ÿ¼¼½ÿ½½½ÿ½½½ÿ½¾½ÿ½½½ÿ½½¾ÿ½¾½ÿ¾¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¿¾¾ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿¿ÿ¿¿¿ÿÀ¿ÀÿÀÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÁÿÀÁÁÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÂÿ£±Ôÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ6„õÿÛàîÿíîíÿîîîÿîîíÿîîîÿîîîÿîîîÿîîîÿïïïÿîîîÿïïïÿïïïÿïîïÿïïïÿïïïÿïðïÿðððÿïïïÿïðïÿððïÿðïðÿðððÿðððÿðñðÿðñðÿðññÿððñÿñññÿñññÿñññÿñññÿñññÿñññÿòññÿòññÿòòñÿòòòÿòñòÿòòòÿòòóÿóóòÿòòóÿòóòÿòóòÿóóóÿóóóÿóóóÿóóóÿóôóÿóóóÿôôôÿóôôÿóôôÿôôôÿôôôÿôôôÿõôôÿôõõÿõõõÿõõõÿõôõÿõôõÿõõõÿõõõÿõõõÿõöõÿöõõÿööõÿõõöÿöõöÿöööÿöööÿöööÿöö÷ÿöööÿö÷÷ÿ÷ööÿ÷ö÷ÿö÷öÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿøø÷ÿ÷øøÿø÷øÿøøøÿøøøÿøùøÿøøøÿùøøÿùùøÿùùùÿùùøÿùùùÿùúùÿùùùÿùùúÿùùúÿúùùÿúúúÿúúúÿúúúÿúúúÿúûûÿúúúÿúúúÿúúúÿúûûÿúûûÿûûûÿûûûÿûûûÿûûûÿûûüÿûûüÿûüüÿûüüÿüüüÿüüüÿýüüÿüüüÿýýüÿüýüÿüýýÿýüýÿýüýÿýýýÿýýýÿýýþÿþýþÿþýýÿþýþÿýþþÿþþþÿþþþÿþÿþÿþþÿÿþþþÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§§§ÿ¨§§ÿ¨§§ÿ§¨§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ¨©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿªªªÿ©©©ÿ©©©ÿªªªÿ©©ªÿªªªÿªªªÿªª«ÿ««ªÿ«ª«ÿª«ªÿª«ªÿ«««ÿ«««ÿ«««ÿ¬«¬ÿ¬««ÿ¬¬«ÿ¬¬¬ÿ«¬«ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­­¬ÿ­¬¬ÿ­­­ÿ¬­¬ÿ­¬¬ÿ­­­ÿ­­­ÿ®­­ÿ®­®ÿ®­­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯®®ÿ®¯¯ÿ¯¯¯ÿ¯®¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯°¯ÿ¯°¯ÿ°¯¯ÿ°°¯ÿ¯°°ÿ°°°ÿ°°±ÿ°°°ÿ°°°ÿ°±°ÿ±±°ÿ°±°ÿ°±±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²²²ÿ²³²ÿ²²³ÿ²³³ÿ²³³ÿ³³³ÿ³³³ÿ³´³ÿ³³´ÿ´³³ÿ³³³ÿ³´´ÿ´³´ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿ´µ´ÿµµ´ÿµµ´ÿ´µ´ÿµµ´ÿµµµÿµµµÿµµµÿ¶µµÿ¶¶µÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ¶·¶ÿ¶¶·ÿ¶¶¶ÿ·¶·ÿ¶·¶ÿ···ÿ·¸·ÿ···ÿ·¸·ÿ·¸·ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¸¸ÿ¸¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹ºÿ¹ººÿ¹ººÿºººÿº¹¹ÿºººÿºººÿºººÿºººÿ»ººÿº»»ÿ»»ºÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ»»»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½¼¼ÿ½¼¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾½½ÿ½½½ÿ¾¾½ÿ¾½½ÿ½¾½ÿ¾½¾ÿ¾½½ÿ¾¾¾ÿ¾¾¿ÿ¿¾¾ÿ¿¾¾ÿ¾¿¿ÿ¿¿¾ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿÀ¿Àÿ¿ÀÀÿÀÀ¿ÿÀ¿ÀÿÀÀÁÿÀÀÀÿÀÀÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÀÿÁÁÁÿ§³Ñÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ6„õÿÞâïÿîíîÿîîíÿíííÿîîîÿîîîÿîîîÿîïîÿîîîÿïïïÿïïîÿïïîÿîïïÿïïïÿïïïÿðïïÿðïðÿïïðÿððïÿðïðÿðïðÿðððÿðððÿðððÿððñÿñðñÿñððÿñððÿñññÿñññÿñññÿñññÿòòñÿñññÿòñòÿñòñÿñòòÿòñòÿòòòÿòòòÿòòòÿóóòÿòòóÿóòòÿóòóÿóòóÿóóóÿóóóÿóóóÿôóóÿóóóÿôóôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôõÿõôôÿôõôÿôõõÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿõõöÿööõÿööõÿöööÿöööÿöööÿöööÿöööÿö÷öÿöö÷ÿ÷÷öÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷÷ÿøøøÿ÷÷øÿø÷øÿøøøÿøøøÿøøøÿøøøÿùùùÿøùùÿùøùÿøùùÿùùùÿùùùÿùùùÿúùùÿùùùÿùúúÿúùùÿúúúÿúùúÿúúúÿúúúÿúúúÿúúûÿûûûÿûúûÿúúûÿûûúÿûûûÿûûûÿüûüÿûûüÿûüûÿüüûÿüûüÿüüüÿüüüÿüüýÿüüüÿüüýÿüüýÿýýüÿýýýÿýýýÿýýýÿýýýÿþýýÿýýýÿýýýÿþýþÿýþþÿþýþÿýýýÿþþþÿþþþÿÿÿÿÿþþþÿÿþÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨§§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©¨ÿ¨©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿ©©©ÿ©ª©ÿªªªÿª©ªÿªªªÿªªªÿªª«ÿªª«ÿ«ªªÿªªªÿªª«ÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ¬¬¬ÿ«««ÿ¬««ÿ«¬«ÿ«¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬¬ÿ¬­­ÿ­¬­ÿ­¬¬ÿ­­¬ÿ¬¬­ÿ­­­ÿ­®­ÿ­­­ÿ®­®ÿ®­­ÿ­®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ®®®ÿ¯¯®ÿ®¯¯ÿ®¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°°°ÿ¯°¯ÿ°°¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ°°°ÿ°±±ÿ±±±ÿ±°±ÿ°±±ÿ±±±ÿ±±±ÿ±²±ÿ²±²ÿ±±²ÿ²²²ÿ²±±ÿ²²²ÿ²²±ÿ²²²ÿ³²²ÿ²³³ÿ³³²ÿ²²³ÿ³²³ÿ³²³ÿ³³³ÿ³³³ÿ´³³ÿ³³³ÿ´´³ÿ³´³ÿ´³´ÿ´´´ÿ´´´ÿ´³´ÿ´´´ÿ´µ´ÿµ´´ÿµµµÿ´´µÿµµ´ÿµ´µÿµµµÿµµµÿµµ¶ÿµµ¶ÿ¶µµÿµ¶¶ÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ¶··ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ¸·¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¹¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿºººÿºº¹ÿºººÿºº¹ÿºº¹ÿºººÿº»ºÿºººÿ»ººÿ»»»ÿºººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼¼ÿ»»¼ÿ¼¼»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½¼ÿ¼¼½ÿ½¼¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½¾ÿ½½¾ÿ¾½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¾¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿ÀÿÀÀ¿ÿ¿ÀÀÿÀ¿¿ÿÀÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÁÀÿÁÁÀÿÀÁÁÿÁÁÀÿÁÁÁÿ«µÏÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿ„õÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ8„õÿàãîÿîííÿíîíÿîííÿíîíÿîîîÿîíîÿîîîÿîîîÿîîîÿîïîÿîïîÿïïîÿîîîÿïïïÿïðïÿðïïÿïïïÿïðïÿðððÿïðïÿðððÿðððÿðððÿñððÿðððÿððñÿñððÿñðñÿñññÿñññÿñññÿòññÿòñòÿòòñÿòòòÿñòòÿññòÿòñòÿòòòÿòóòÿòòòÿòòòÿòóòÿóòòÿòóòÿóóóÿóóóÿóóóÿóóóÿôóóÿôóóÿóôóÿôóôÿôóôÿôôôÿôôôÿôôôÿôôôÿõõôÿõôôÿõôõÿõõôÿôõõÿõõõÿõõõÿõõõÿõööÿöõõÿöõõÿöööÿöööÿöööÿöööÿ÷ööÿ÷ööÿöö÷ÿö÷÷ÿö÷öÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿø÷øÿø÷øÿ÷÷øÿøøøÿùøøÿùùùÿøùùÿùùùÿøøùÿùùùÿùùøÿùùùÿùùúÿùùùÿùùùÿúúùÿúùúÿùúùÿúúúÿúúúÿúúúÿúúúÿûúúÿúûûÿûúúÿûûûÿúûûÿûûûÿûûûÿûüûÿüüûÿüüüÿûûüÿüüüÿüüüÿüüüÿüüýÿüýüÿýýýÿýýüÿüüýÿýýýÿüýüÿýýýÿýýýÿýýýÿýýýÿýýþÿþþýÿþýþÿþþþÿþþþÿþþþÿþþþÿþþÿÿþþþÿþþÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ¨©¨ÿ©©¨ÿ©¨©ÿ©©¨ÿ©©©ÿ©©©ÿª©©ÿª©©ÿ©ª©ÿª©ªÿ©ªªÿªªªÿªªªÿªªªÿªªªÿ«««ÿ««ªÿ«ª«ÿª«ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬­ÿ¬­¬ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­­­ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ¯®®ÿ®¯¯ÿ¯®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ°°¯ÿ°¯°ÿ°°¯ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°°±ÿ°±±ÿ°°±ÿ°±±ÿ±±±ÿ±±±ÿ±±²ÿ±²²ÿ±±±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ²²³ÿ³³³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´³³ÿ´´³ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿ´µµÿ´´´ÿ´µµÿµµµÿ´µµÿµµµÿµµµÿµµµÿ¶µµÿ¶µ¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ···ÿ···ÿ···ÿ¶·¶ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ···ÿ¸¸¸ÿ¸··ÿ·¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¹¹ÿ¹¹¸ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹º¹ÿºº¹ÿ¹¹ºÿºº¹ÿºººÿºººÿºº»ÿºººÿº»»ÿº»ºÿ»ººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼»¼ÿ¼¼¼ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½½¼ÿ¼½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ½¾½ÿ½½¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¾¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÁÿÁÁÀÿÀÀÁÿÀÀÀÿÀÀÁÿÁÀÁÿ®·Íÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ8„õÿâåîÿíííÿîíîÿîîîÿîíîÿîíîÿîîîÿîîîÿîîîÿîîïÿïîîÿîîïÿîïïÿïïîÿïïîÿïïïÿïïïÿïïðÿðïðÿïïðÿððïÿðððÿïððÿðððÿðððÿðððÿðððÿðñðÿññðÿñññÿñðñÿñññÿñññÿñòñÿñòñÿòñòÿñòñÿòòñÿòññÿòñòÿòòòÿòòòÿòòòÿòòóÿóòóÿóóòÿóóóÿòóóÿóóóÿóôóÿóóóÿóôóÿóôôÿôóôÿôôóÿóóôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõõöÿõõöÿöööÿöööÿöööÿöööÿöööÿöööÿöö÷ÿöö÷ÿ÷÷öÿ÷ööÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷øÿ÷÷øÿøøøÿø÷øÿøøøÿøøøÿùøøÿùøøÿøøùÿùùøÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿùùùÿùúùÿùúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúúúÿûûúÿûûûÿûûûÿúûûÿûûûÿûûûÿûûûÿûûûÿüüûÿüüüÿüüüÿüüüÿüüüÿüüüÿýüýÿýüýÿýýýÿüüýÿýýýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿþÿÿþÿÿÿþÿÿþÿþÿÿþÿÿþÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§¦¦ÿ§§§ÿ§§¦ÿ§§§ÿ§¨§ÿ§¨¨ÿ¨¨§ÿ¨§§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©©ÿ¨©©ÿ©©¨ÿ©¨©ÿ©©©ÿ©©©ÿªª©ÿ©©©ÿ©©©ÿªª©ÿªªªÿª©©ÿªª©ÿªªªÿªªªÿªªªÿ«ªªÿª««ÿ«««ÿ««ªÿ«««ÿ«««ÿ«««ÿ««¬ÿ«««ÿ«¬¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­­¬ÿ¬¬¬ÿ­­¬ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ®®­ÿ®®­ÿ­®­ÿ®­®ÿ­­­ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®¯¯ÿ®¯¯ÿ®®®ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ°°°ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±±°ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ²±²ÿ±±²ÿ²±²ÿ²±±ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²³²ÿ²³²ÿ³²²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ³´³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿµµ´ÿµ´µÿµ´µÿµµµÿµµµÿµµ¶ÿµµµÿ¶µµÿµµ¶ÿ¶µµÿ¶¶µÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶··ÿ·¶·ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ¸·¸ÿ¸¸¸ÿ¸··ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¸ÿ¸¹¸ÿ¹¹¸ÿ¸¹¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿºººÿºººÿºººÿºººÿºººÿºººÿºº»ÿº»ºÿº»ºÿ»»»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ»¼»ÿ¼¼¼ÿ¼¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼½½ÿ¼¼½ÿ¼¼¼ÿ¼½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ¾¾½ÿ½¾½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¿¾¿ÿ¾¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿Àÿ¿À¿ÿ¿¿¿ÿ¿À¿ÿÀÀ¿ÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÁÁÀÿÀÀÁÿÀÀÁÿÀÀÁÿ²¹Ëÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ;„õÿåçîÿîííÿíííÿíííÿíîíÿîîíÿîîíÿîîîÿîîîÿîîîÿïîïÿîîïÿîïîÿïîîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿïððÿïððÿðïðÿðïðÿðððÿñððÿðñðÿððñÿñððÿðñðÿñððÿðññÿñññÿñññÿòññÿñòñÿññòÿññòÿòññÿòòòÿòòòÿòòòÿòòóÿóòòÿóòòÿóòòÿòóóÿòóóÿóóòÿóóóÿóóóÿóóóÿóôóÿôôóÿôôôÿôôóÿôôôÿôôôÿôôôÿôôôÿôõôÿõõõÿõôõÿõõõÿôõõÿõõõÿõõõÿöõõÿõõõÿööõÿõööÿööõÿöööÿöööÿöööÿ÷ööÿö÷÷ÿ÷ö÷ÿö÷öÿöö÷ÿö÷öÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿøøøÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøùùÿøùùÿùøùÿùøùÿùøùÿùùøÿùùùÿùùùÿùùùÿúùùÿùúùÿúúùÿúúúÿúúúÿúúúÿúúúÿúúúÿûúúÿûûúÿûúûÿûúûÿûûúÿûûûÿûüûÿûûûÿüûûÿüûûÿüûüÿûüûÿüûüÿüüüÿüüüÿýüüÿüüýÿüüüÿüüüÿýýüÿýüýÿýýýÿýýýÿýýýÿýýýÿýýýÿýþþÿþýþÿþþýÿþþþÿþþþÿþþþÿþþÿÿþþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§§¦ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨¨ÿ¨¨©ÿ©¨¨ÿ¨©©ÿ©©¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿ©ªªÿ©ª©ÿªªªÿªªªÿªªªÿªªªÿª«ªÿ««ªÿª«ªÿª«ªÿ««ªÿ«««ÿ«««ÿ«¬«ÿ«««ÿ«¬«ÿ¬¬«ÿ¬«¬ÿ««¬ÿ¬«¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ¬­¬ÿ­­­ÿ­­¬ÿ­­­ÿ­­­ÿ­®­ÿ­®­ÿ®­®ÿ­­­ÿ®®®ÿ­­­ÿ®®®ÿ®®®ÿ¯®®ÿ¯®®ÿ¯®®ÿ®®¯ÿ®¯¯ÿ¯¯¯ÿ¯®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ¯¯°ÿ°°¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ±°°ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ²²±ÿ²²²ÿ²²²ÿ±²²ÿ²²±ÿ²²²ÿ²³²ÿ³²²ÿ²³³ÿ²²²ÿ³²³ÿ²³³ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ³³´ÿ´´´ÿ´´³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿµµµÿ´µµÿµµµÿµµµÿµ¶¶ÿµµ¶ÿ¶¶µÿ¶¶¶ÿ¶µ¶ÿ¶¶µÿ¶µ¶ÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ··¶ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ¸¸·ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¹¹ÿ¹¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹ºÿºº¹ÿºººÿº¹¹ÿºººÿºººÿºººÿºººÿ»ººÿº»ºÿ»»»ÿºººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼¼»ÿ¼»»ÿ¼»¼ÿ¼¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½½¼ÿ½½¼ÿ½½¼ÿ½½½ÿ¾½½ÿ¾¾½ÿ½¾½ÿ¾¾½ÿ½¾¾ÿ½½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¾¿ÿ¾¿¿ÿ¾¾¿ÿ¿¾¾ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀ¿ÿ¿¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÁÿÀÁÁÿ³ºÉÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ;„õÿçéîÿíííÿíîíÿííîÿííîÿííîÿîîîÿîîíÿîîîÿîîîÿîîîÿîîïÿîîîÿîïïÿïïïÿîïïÿïïïÿïïïÿïïïÿïððÿïïïÿïïðÿïððÿðððÿðððÿðððÿðððÿñððÿðððÿñððÿðñðÿñðñÿñññÿñññÿñññÿòññÿñññÿïðñÿïðòÿðñòÿòòòÿòòòÿòòòÿóóòÿòòòÿòòóÿóóóÿóóóÿóóòÿóóóÿóóóÿóóôÿôóóÿôóóÿóôôÿôôôÿôôóÿôóôÿôôôÿõôôÿôôôÿôôôÿôõõÿõôôÿôõõÿõõõÿõõõÿõõõÿõõõÿöõõÿõöõÿööõÿöööÿöööÿöööÿöööÿöööÿ÷ööÿöööÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿø÷÷ÿø÷øÿøøøÿøøøÿøøøÿøøùÿøøøÿùøøÿùùøÿøùùÿùøùÿùùøÿùùùÿùùùÿùùùÿùùùÿùúúÿúúùÿúùúÿúúúÿúúúÿúúúÿúúúÿúûúÿúúúÿûúúÿûûûÿúúúÿûûûÿûûûÿûûûÿûûûÿüûüÿüüüÿüûüÿüüüÿüüûÿüüüÿüüüÿüüüÿüüüÿüýýÿüýýÿüýüÿýýýÿýýýÿýýýÿýýþÿýþþÿþýþÿýþýÿþýýÿþþþÿþþþÿþþþÿþþþÿÿþÿÿÿþÿÿÿÿÿÿÿþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¦¦ÿ§¦¦ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§¨ÿ§¨¨ÿ§¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©¨ÿ©¨©ÿ¨©¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿ©ª©ÿª©ªÿªªªÿªªªÿªªªÿªªªÿªªªÿ«ªªÿª«ªÿª««ÿ«««ÿ««ªÿ«««ÿ«««ÿ«««ÿ«¬«ÿ¬¬«ÿ¬¬¬ÿ««¬ÿ¬¬«ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­­¬ÿ­­­ÿ­­¬ÿ¬­­ÿ­­­ÿ­­­ÿ­­®ÿ®­­ÿ­­®ÿ®®­ÿ®­®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ¯®¯ÿ¯®®ÿ®¯®ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ°¯¯ÿ¯¯°ÿ°¯¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°±°ÿ±±±ÿ°±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±²²ÿ²²±ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²³²ÿ³³³ÿ³³³ÿ³³²ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³´´ÿ´³³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´´µÿ´µµÿ´µ´ÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶µ¶ÿµµ¶ÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ·¶¶ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¹¸¸ÿ¹¹¹ÿ¸¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿº¹ºÿº¹ºÿºº¹ÿº¹ºÿºººÿ»ººÿ»ººÿºººÿ»º»ÿº»ºÿºººÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼»»ÿ¼»»ÿ»¼¼ÿ¨±Ëÿ’§Öÿ†¡Ýÿˆ¢Üÿ–©Õÿª³Éÿº¼¾ÿ½¼¼ÿ¼½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾½ÿ½½¾ÿ½¾¾ÿ½¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¾¿ÿ¿¾¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿÀ¿¿ÿÀÀ¿ÿÀ¿¿ÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÁÿÀÁÁÿÀÁÀÿµºÉÿ„ôÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ=…õÿéêíÿíííÿíííÿíííÿîííÿííîÿíîîÿîííÿîîîÿîîîÿîîîÿîïîÿïîïÿîïîÿîîïÿïïîÿïïîÿïïïÿïïïÿïïïÿðïïÿïïïÿðððÿïïðÿïðïÿðððÿðððÿðððÿññðÿññðÿðððÿñðñÿððñÿñññÿçéñÿÐ×òÿµÅóÿŸ¶óÿ™²ôÿ¡·óÿ·ÆóÿØÞóÿòòòÿòòòÿòòòÿòòòÿòóòÿòóòÿóóóÿóòóÿóóóÿôóóÿôôóÿôóóÿôôóÿôôôÿôôóÿôôóÿôóôÿôôôÿõôôÿôôôÿõôõÿõõõÿõôõÿõõõÿõõõÿõõõÿõõõÿöõõÿöõõÿõõõÿõõöÿööõÿöööÿöööÿöööÿ÷ööÿ÷÷öÿöööÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷øøÿøø÷ÿøøøÿøøøÿùøøÿøøùÿøùøÿùøøÿùøùÿùùùÿùùùÿøùùÿùùúÿùùùÿúùúÿùùúÿúùúÿúùúÿúúúÿúúúÿúúúÿúúúÿûúúÿúûûÿúúûÿûúûÿûûûÿûúûÿûûûÿûûûÿüûûÿûüûÿüûûÿûüûÿûüûÿüüüÿüüüÿüýüÿüüüÿüüüÿüüüÿüýüÿüýýÿüýýÿýýýÿýýýÿýýýÿýýýÿýýýÿýþþÿþþýÿþþýÿýþþÿþþþÿþþÿÿþþÿÿþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¦¦ÿ¦§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨§ÿ¨§¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨©ÿ©¨©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿª©ªÿ©ª©ÿª©ªÿªªªÿªªªÿªªªÿªª«ÿ«ªªÿ«ªªÿªª«ÿ«ª«ÿ«««ÿ«««ÿ¬««ÿ¬««ÿ««¬ÿ«¬«ÿ¬««ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬­ÿ¬¬­ÿ­¬¬ÿ­­­ÿ­¬­ÿ­­­ÿ®­­ÿ­®­ÿ®­­ÿ®®­ÿ®®®ÿ®­­ÿ®­®ÿ®®®ÿ®®®ÿ®¯¯ÿ¯¯®ÿ®¯®ÿ®¯¯ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ°°¯ÿ¯°°ÿ°¯°ÿ°°°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ±°±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ±±±ÿ±±²ÿ±±²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²²²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´´´ÿ³³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµ´µÿµµµÿµµ´ÿµµµÿµµµÿµµµÿµ¶µÿ¶µµÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶·ÿ·¶·ÿ¶··ÿ···ÿ··¶ÿ¶·¶ÿ···ÿ···ÿ¸··ÿ···ÿ¸··ÿ···ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¸¸¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿº¹ºÿº¹ºÿºººÿºººÿº¹ºÿºººÿºººÿºººÿºººÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»º¼ÿª²Éÿd”èÿ0‡òÿ„ôÿƒõÿƒõÿ…ôÿ2ˆòÿFŒïÿršãÿ—©Ôÿ²·Åÿ¹»Àÿ»¼¿ÿ½½½ÿ¾½½ÿ¾½¾ÿ½½¾ÿ½½½ÿ¾¾¾ÿ½½¾ÿ¾½¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿Àÿ¿À¿ÿ¿¿ÀÿÀÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÀÀÀÿ¶ºÉÿ%…óÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ=…õÿììíÿíííÿíííÿííîÿíííÿíííÿîîíÿíîîÿîîíÿîîíÿîîîÿîîîÿîîîÿïïîÿïîïÿîïïÿïïîÿïîïÿïïïÿððïÿïïïÿðïïÿðððÿïðïÿïððÿððïÿðððÿððñÿðððÿîîñÿëìðÿÝáñÿ¶Äòÿ~¡ôÿNŠõÿ9ƒõÿ|õÿzõÿzõÿzõÿ|õÿA…õÿ„¥ôÿÜáòÿññòÿòòòÿóòòÿóóòÿóóóÿòòóÿóòóÿóóóÿóóóÿóóóÿóôôÿóôóÿóôôÿôóôÿôôôÿôôôÿôõôÿôôôÿõôôÿõôôÿôõôÿôõõÿõõôÿõõõÿõõõÿõõöÿöõõÿõõöÿöõöÿõõöÿöööÿöõõÿöööÿöööÿ÷ööÿöööÿö÷öÿöö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷÷÷ÿ÷÷÷ÿø÷øÿøøøÿøøøÿøùøÿùøøÿùøøÿùùùÿøùøÿùùøÿùùøÿùùùÿùùùÿúùùÿùúúÿúùúÿúùùÿúùúÿùúúÿúúúÿûúúÿûúúÿûúúÿúúúÿûûûÿúûûÿûûûÿûûûÿûûûÿûûûÿüûûÿûüûÿûûüÿüüüÿûüüÿüüûÿüüüÿüüüÿüüüÿýüýÿýüüÿýýýÿüýüÿýýýÿýýýÿýýýÿýýýÿýýþÿýýýÿþýþÿþýþÿþþþÿþþþÿþþþÿÿþÿÿÿþþÿþþþÿÿþÿÿþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¦§ÿ§¦§ÿ§¦§ÿ¦§§ÿ¦§§ÿ§§¦ÿ§§§ÿ¨§§ÿ§§¨ÿ¨¨§ÿ¨¨¨ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ©©¨ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©ª©ÿ©©ªÿ©ªªÿª©ªÿªª©ÿªªªÿªªªÿªªªÿª««ÿ«ªªÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ«¬¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬­ÿ¬­­ÿ­¬­ÿ­­¬ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ®­­ÿ­­®ÿ­­®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯¯®ÿ®¯®ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ°¯¯ÿ°¯°ÿ¯¯°ÿ°°¯ÿ¯°¯ÿ°¯°ÿ°°¯ÿ°°°ÿ°°°ÿ°°±ÿ±°°ÿ°°°ÿ±±°ÿ±±°ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ²±²ÿ±²±ÿ²±²ÿ²±±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ³²³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµ´´ÿ´´´ÿµµµÿµµµÿµµµÿµµµÿµ¶µÿµ¶¶ÿµ¶µÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶·ÿ·¶¶ÿ¶¶·ÿ·¶¶ÿ··¶ÿ···ÿ··¸ÿ···ÿ·¸·ÿ··¸ÿ···ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¸¸¸ÿ¸¹¸ÿ¹¸¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹º¹ÿ¹º¹ÿ¹ººÿºº¹ÿºººÿºººÿºººÿºººÿº»»ÿ»º»ÿ»º»ÿ»»»ÿ»»»ÿ¹º½ÿ¥Øÿ(†óÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ „õÿUìÿzáÿ–¨Öÿ¦²Îÿ³·Åÿ¾¾¾ÿ½½½ÿ½¾½ÿ¾¾¾ÿ¾½½ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¾¿¿ÿ¾¾¿ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿À¿ÿÀ¿¿ÿ¿¿¿ÿÀ¿Àÿ¿ÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÁÿ¶ºÈÿ/†óÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ;„õÿéêíÿíííÿíííÿíííÿíííÿîííÿîíîÿîííÿíîîÿíííÿîîîÿîîîÿîîîÿïîïÿïîïÿîïîÿîïïÿïïïÿïïïÿïïïÿïïïÿïðïÿðïðÿððïÿïððÿðïïÿãæðÿÑÙñÿ»Èòÿ—°óÿ^‘ôÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿG‡õÿ½Êóÿïðòÿòòòÿòòòÿóòòÿóòóÿòòóÿóóóÿóóóÿóóóÿôóôÿôóôÿôôôÿôóóÿôôôÿôôôÿôôôÿôôôÿôôôÿõõõÿôõôÿôõôÿõõõÿõõõÿõõõÿõõöÿõõõÿöõöÿõõöÿöööÿöööÿöööÿöööÿöööÿ÷ö÷ÿöö÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿø÷øÿøøøÿøøøÿ÷ø÷ÿ÷øøÿøøøÿøøøÿùøøÿøùøÿùùøÿøùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùúúÿùúúÿùùùÿúùùÿúúúÿúúúÿúúúÿúûúÿûûúÿúúûÿûûúÿúûûÿûûûÿûûûÿûûûÿûûûÿûüûÿüüüÿûûüÿûûûÿüüüÿüüüÿüüüÿüüüÿüüüÿýýüÿüüüÿüýýÿýýýÿýýýÿýýýÿýýýÿýýýÿýýþÿþýýÿþýýÿþýýÿþþþÿþþþÿþþþÿþþþÿþÿþÿÿþÿÿÿÿþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¦§ÿ¦§¦ÿ¦¦¦ÿ§¦¦ÿ§§¦ÿ¦§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨§ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ©¨¨ÿ¨¨©ÿ©©¨ÿ©©¨ÿ©©©ÿ©©©ÿª©ªÿ©©ªÿ©©ªÿ©©ªÿªª©ÿªªªÿªªªÿªªªÿªªªÿªªªÿ««ªÿªªªÿ««ªÿ«««ÿ«««ÿ«««ÿ«¬«ÿ««¬ÿ«¬¬ÿ«¬¬ÿ¬¬¬ÿ«¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬­­ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ®­®ÿ­­®ÿ®­­ÿ­­®ÿ®®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ®¯¯ÿ¯®¯ÿ®®®ÿ¯¯®ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ¯°°ÿ°°°ÿ°°¯ÿ°°°ÿ°°°ÿ±°°ÿ°°°ÿ°°°ÿ±°°ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²²±ÿ±±²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ³²²ÿ³²²ÿ²³³ÿ²³³ÿ²³²ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´´³ÿ³´³ÿ³³´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿµ´µÿµµ´ÿµ´´ÿµµµÿµµµÿµµµÿµµµÿµ¶µÿ¶¶¶ÿ¶µ¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸¸¸ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¹¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿº¹¹ÿ¹ººÿºº¹ÿº¹¹ÿºººÿºººÿ»»»ÿºº»ÿºººÿº»»ÿ»º»ÿ»»»ÿ€žÞÿ…ôÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ2ˆòÿKîÿb”éÿˆ£Ýÿ¥°Íÿ¹¼Áÿ¼¾¿ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¾ÿ¾¾¾ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀ¿ÿÀ¿ÀÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿ¿ÀÁÿˆ£ßÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿ|õÿ¡¶òÿèéíÿíìíÿíííÿíííÿíîíÿíííÿîííÿîîîÿíîíÿîîîÿíîîÿîîîÿîîîÿïîïÿïïïÿïîïÿîïîÿïïïÿîïïÿïïïÿîîðÿíîðÿÖÛðÿ¯Àóÿ~¡ôÿa’ôÿ@…õÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿ.õÿ°Àôÿññòÿòòòÿóóòÿóóóÿóóóÿòóóÿóóóÿóóóÿôóóÿóóóÿôôóÿóôôÿôôóÿôôôÿôôôÿôôôÿôôõÿôõõÿôôõÿôôôÿõõôÿôôõÿõõõÿõõõÿööõÿõõõÿõööÿõõöÿõööÿöõõÿöõöÿöööÿöööÿöööÿ÷ö÷ÿ÷ö÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷øÿø÷÷ÿ÷÷øÿøøøÿøøøÿø÷øÿøùøÿøùøÿøøøÿùùùÿøùøÿøøùÿøøùÿùùùÿùùùÿùùùÿúùúÿùùùÿùùùÿúùùÿúúúÿúúúÿúúúÿúûúÿûúûÿúúúÿûúúÿúúûÿúûûÿûûûÿûûûÿüûûÿûûûÿûûûÿüûüÿûûûÿûüûÿüüûÿüüüÿüüüÿüüüÿüüüÿüýüÿýýüÿýýýÿüýýÿýýýÿýýýÿýýþÿýýýÿýþýÿþþýÿþþýÿþýþÿþþþÿþþþÿþþþÿþÿþÿÿþÿÿÿþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§§ÿ¦§¦ÿ¦¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©©¨ÿ©¨¨ÿ©©¨ÿ©©¨ÿ©©©ÿª©©ÿ©©ªÿ©ª©ÿ©ª©ÿ©ªªÿªªªÿªªªÿªªªÿªªªÿªªªÿªªªÿªªªÿ«««ÿ«ª«ÿªªªÿª««ÿ«««ÿ«¬«ÿ«««ÿ«¬«ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬­¬ÿ­­¬ÿ­­­ÿ¬­­ÿ­­­ÿ­­®ÿ­­­ÿ­­®ÿ­­­ÿ­®­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®®®ÿ¯®¯ÿ¯¯®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ°°¯ÿ¯¯¯ÿ¯°¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°°±ÿ°°±ÿ°°°ÿ°°°ÿ±±±ÿ±±±ÿ±²²ÿ±±±ÿ±²±ÿ±±±ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²²²ÿ³²²ÿ³³²ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ³³³ÿ´´´ÿ³´³ÿ´´³ÿ´´´ÿ´µ´ÿ´µ´ÿ´´µÿµµµÿµµ´ÿµ´µÿµµµÿµµµÿµµµÿµµµÿ¶µµÿµµµÿµ¶¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶··ÿ¶··ÿ···ÿ···ÿ···ÿ¸··ÿ¸··ÿ·¸·ÿ¸·¸ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¹¹ÿ¸¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºººÿ¹ººÿºººÿºººÿºººÿºººÿ»ººÿ»ººÿ»»ºÿºº»ÿޤØÿ„ôÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿƒõÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ-†óÿi–çÿަÚÿ§±Îÿ±·Çÿ¹»Âÿ¾¾¿ÿ¿¾¾ÿ¿¾¾ÿ¿¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿ»½Äÿ€Ÿáÿƒôÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿ {õÿ¤¸òÿçèíÿíííÿíííÿíííÿíîíÿíîîÿîíîÿîîîÿîîíÿîîíÿîîîÿîïîÿîîîÿîîïÿïîïÿëíïÿáåðÿ×Ýðÿ¾Êñÿ‘¬óÿJˆõÿ zõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿ:‚õÿÔÚóÿòòóÿòòòÿóóòÿòòóÿóóóÿòóóÿóóóÿóóóÿóôóÿóóóÿôóóÿóóóÿôôóÿóôôÿôôôÿôôôÿôôõÿõôôÿõõõÿôôôÿôôõÿôõõÿõôõÿõöõÿõõõÿõõõÿõõõÿõõõÿöööÿöööÿöööÿöööÿöööÿöööÿ÷ööÿöööÿ÷÷÷ÿ÷÷öÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿøø÷ÿøøøÿøøøÿøøøÿøøøÿùøùÿùøøÿùøùÿøùùÿùùùÿùùùÿùùùÿùùúÿùùùÿùúùÿúùùÿúúùÿúúùÿúúúÿúúúÿúúûÿûúúÿúûúÿûúúÿûûûÿúûúÿúúúÿûûûÿûûûÿüûûÿûûüÿûûûÿüûüÿüûüÿûûüÿüüüÿüýüÿüüüÿüüüÿýýüÿýýýÿýýüÿýýüÿýýýÿþýýÿþþýÿýþþÿýýýÿþýýÿýýþÿþýýÿþþþÿþþþÿþþþÿþÿþÿÿÿþÿþÿÿÿÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§§ÿ§§¨ÿ¨¨¨ÿ¨§¨ÿ¨¨§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©¨¨ÿ¨©©ÿ©©©ÿ¨¨©ÿ©©©ÿ©ª©ÿª©ªÿª©ªÿªªªÿ©©ªÿ©ªªÿªªªÿªªªÿªªªÿªªªÿ«ªªÿ«ªªÿ«««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ¬««ÿ¬««ÿ¬«¬ÿ««¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ¬­¬ÿ­¬¬ÿ­¬¬ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­­­ÿ®®®ÿ®­­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ°¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ±±±ÿ°±±ÿ±±°ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ³³²ÿ³³²ÿ³²³ÿ³³²ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ³³´ÿ³´³ÿ´³³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´´µÿµ´µÿ´µµÿµµµÿµµµÿµµµÿµµ¶ÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶·¶ÿ¶·¶ÿ¶·¶ÿ¶·¶ÿ···ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ¸¸·ÿ··¸ÿ¸¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¸ÿº¹¹ÿ¹¹¹ÿ¹º¹ÿ¹ººÿºº¹ÿ¹¹ºÿ¹¹ºÿºººÿºººÿºººÿºº»ÿºº»ÿ¯³ÄÿI‹îÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿƒôÿH‹ïÿd”éÿ}âÿ™«Öÿ°¶Éÿ¿¾¿ÿ¿¿¿ÿ¾¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿ÀÀÿ¿ÀÀÿÀ¿Àÿ¿¿Àÿº½Åÿtšæÿ‚ôÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿ—°òÿäçîÿíííÿíííÿíîíÿíííÿíííÿíîíÿíííÿîíîÿîíîÿîîîÿéêîÿÏ×ñÿ­¿ñÿЍóÿj–ôÿ4€õÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿ| ôÿòñóÿòóòÿóòóÿòòòÿòóóÿòóóÿóóóÿóóóÿóóóÿóóóÿóóôÿôóôÿóôôÿôóôÿôôôÿôôôÿôôôÿõôõÿôõõÿôôõÿôõõÿõôôÿôõõÿõõõÿöõöÿõõõÿöõöÿöõõÿõöõÿõõöÿöööÿöööÿöööÿöööÿö÷öÿ÷ö÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿ÷ø÷ÿ÷ø÷ÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿùøøÿøùøÿùùùÿùùùÿùùùÿùùùÿùúùÿùùùÿúúúÿùúúÿùúùÿúùúÿúúúÿúúúÿúûúÿúûúÿûúûÿúúûÿûûûÿûûûÿûúûÿûûúÿûûûÿüûûÿüüûÿûüûÿûûûÿüüüÿûüüÿüüüÿüüýÿüýüÿüüüÿüýüÿüüýÿüüýÿýýýÿýýüÿþýýÿýýýÿþýýÿýþþÿýþýÿýþþÿþþýÿþþþÿþþþÿþþþÿþþþÿþÿþÿþþþÿÿþþÿÿÿþÿÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¥¥ÿ¦¦¦ÿ§¦§ÿ¦¦§ÿ¦¦¦ÿ¦§§ÿ¦¦§ÿ§¦¦ÿ¦§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿ©©©ÿ©©©ÿ©ª©ÿª©©ÿªª©ÿ©ªªÿªªªÿªªªÿ««ªÿªª«ÿªªªÿ«ª«ÿ«««ÿ«««ÿª««ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ«¬¬ÿ¬«¬ÿ¬«¬ÿ¬««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬¬ÿ­­­ÿ¬¬­ÿ­­¬ÿ­­­ÿ­­®ÿ­­­ÿ®­­ÿ­®®ÿ­­­ÿ­­®ÿ®®­ÿ®®®ÿ®¯¯ÿ®®¯ÿ®®¯ÿ®®¯ÿ®®¯ÿ¯¯®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°°ÿ°°°ÿ±±°ÿ°±°ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ²²²ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²²²ÿ²²³ÿ³²³ÿ³²³ÿ³²²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´³³ÿ³³´ÿ´´³ÿ´´³ÿ´´´ÿ´´µÿµ´´ÿµ´µÿ´´µÿµ´µÿµµµÿ´µµÿµµµÿµµµÿµµµÿµµ¶ÿµµ¶ÿ¶¶¶ÿµ¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ···ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ··¸ÿ···ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºº¹ÿºººÿº¹ºÿ¹ººÿºººÿºººÿºººÿºººÿ‘¦Öÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ„ôÿ%…óÿH‹ïÿ|âÿŸ­Óÿ´¸Æÿ¹»Äÿ½¾Áÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀ¿Àÿ³·Èÿ_’ëÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿ zõÿЧòÿâåîÿíííÿíííÿííîÿîííÿéëíÿäæïÿÛàïÿºÇñÿ‡¥òÿ?„õÿ*~õÿ{õÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿzõÿ×Ýòÿóòòÿòòòÿóóóÿòòòÿóòóÿòóòÿóóóÿóóóÿôóóÿóôóÿôóôÿóóôÿôôôÿôôôÿôôôÿôôôÿôõôÿôôôÿõôõÿõõõÿõõõÿôõõÿõõõÿõõõÿõõõÿöõõÿõõöÿõõöÿöööÿöõöÿöõöÿöööÿöööÿö÷öÿö÷öÿöö÷ÿ÷ö÷ÿö÷÷ÿ÷÷öÿ÷÷÷ÿø÷÷ÿø÷÷ÿø÷÷ÿ÷÷÷ÿøøøÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøøøÿùùùÿøùùÿùùøÿùùùÿùùùÿùùùÿùùùÿùùúÿúúùÿùúúÿùúúÿúúúÿùúùÿúúúÿûúúÿúúúÿûûúÿúûûÿúúûÿûûûÿûûûÿûûûÿûûûÿûûüÿûüüÿüûüÿûûûÿüüüÿüüûÿüüüÿüüüÿüüüÿüýüÿýüýÿýýýÿüýýÿýýýÿýýýÿþýýÿýýþÿýýýÿýýþÿýýýÿþþþÿþýþÿþþþÿþþþÿþþÿÿÿÿþÿÿÿÿÿÿÿÿÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ§¦¦ÿ¦§§ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§¨ÿ¨§¨ÿ§¨§ÿ§§¨ÿ¨¨§ÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ¨¨©ÿ©¨¨ÿ©©¨ÿ¨©©ÿ©©¨ÿ©©¨ÿ©©©ÿ©ª©ÿªª©ÿª©©ÿªª©ÿªª©ÿ©ªªÿªªªÿªªªÿªªªÿªª«ÿªª«ÿ«ª«ÿª«ªÿ«ªªÿ«««ÿ«««ÿ«««ÿ«¬«ÿ«¬«ÿ¬««ÿ¬¬«ÿ¬¬¬ÿ¬««ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ¬¬¬ÿ¬­­ÿ­¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®®®ÿ­®­ÿ®­­ÿ®®­ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ®¯®ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ¯°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ±°°ÿ±°°ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²²±ÿ±±±ÿ±²²ÿ²±±ÿ²²²ÿ²²²ÿ³²²ÿ³²²ÿ²²³ÿ²²²ÿ³²³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³³³ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿ´µµÿµ´´ÿµµ´ÿµµ´ÿµµµÿµµµÿµµµÿµµµÿµ¶µÿ¶¶µÿµ¶µÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶·¶ÿ¶··ÿ¶¶·ÿ·¶¶ÿ¶·¶ÿ¶··ÿ···ÿ···ÿ·¸·ÿ·¸¸ÿ·¸·ÿ·¸·ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºº¹ÿ¹º¹ÿ¹¹ºÿº¹ºÿºººÿ¹ººÿºººÿºººÿ¹¹»ÿa’éÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿ'„óÿ\‘ëÿ|âÿ“§Ùÿ§²Ïÿ·¼Åÿ¢¯ÒÿSŽíÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿt›óÿÖÜîÿâäîÿÍÕïÿ´Âñÿ•®òÿh”ôÿ zõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿ yõÿ®¿ôÿòòòÿòòòÿóòòÿóòòÿòóóÿóóóÿòóóÿóóóÿóóóÿôóóÿóóóÿôóôÿôóôÿôôôÿôóôÿôôôÿôôôÿôôõÿõôõÿõõôÿõôõÿõôõÿôõõÿõõõÿõõõÿõõõÿõõöÿöõöÿõöõÿõööÿöööÿöööÿöööÿöööÿö÷÷ÿöööÿ÷÷öÿ÷÷÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿøø÷ÿø÷øÿøø÷ÿøøøÿø÷øÿøøøÿøøøÿùùøÿùøùÿøøøÿøøùÿùùùÿùùùÿùùùÿùùùÿùùùÿúúùÿúùùÿùùúÿúúúÿùúúÿúúúÿúúúÿúúûÿúúúÿúúûÿûûúÿûúûÿûûûÿûûúÿûûûÿûûûÿüûûÿûûûÿüûûÿüüûÿüûûÿüüüÿüüüÿüüüÿüýüÿüüüÿüüýÿýýýÿüýýÿýýýÿýýýÿýýýÿþýýÿýýþÿþþýÿýýýÿþþýÿþþþÿþþþÿþþþÿÿþþÿÿþÿÿÿÿÿÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§§§ÿ¦¦§ÿ¦§§ÿ¦§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨§¨ÿ§¨§ÿ¨¨¨ÿ¨§§ÿ¨¨§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿª©©ÿªªªÿ©©©ÿª©ªÿªªªÿªªªÿªªªÿªªªÿªªªÿª«ªÿª««ÿ«ªªÿ«ª«ÿ«««ÿ¬««ÿ¬«¬ÿ«««ÿ«««ÿ«¬¬ÿ¬¬¬ÿ¬««ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ­­¬ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ­­­ÿ­­­ÿ®­®ÿ­®®ÿ®­®ÿ­®®ÿ®®®ÿ®¯®ÿ¯®®ÿ®®¯ÿ®®®ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ°¯°ÿ¯¯°ÿ°°¯ÿ¯°°ÿ¯°°ÿ°°°ÿ°°°ÿ±±°ÿ°°±ÿ°±°ÿ°±±ÿ±°±ÿ±±°ÿ±±±ÿ±±±ÿ±±²ÿ±²±ÿ²²²ÿ±²²ÿ²²±ÿ²²²ÿ²²±ÿ²²²ÿ³²³ÿ²²³ÿ³²³ÿ³²³ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´µµÿ´µµÿµ´´ÿ´µµÿ´µµÿµµµÿµµµÿµµµÿµ¶¶ÿµ¶µÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ··¶ÿ···ÿ···ÿ···ÿ·¸·ÿ¸¸·ÿ¸·¸ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¸ÿ¹¸¹ÿ¹¸¸ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿºººÿ¹ººÿºººÿºººÿ·¸¾ÿ!„óÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ‚ôÿ1†òÿA‰ðÿ-…óÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿ zõÿE†ôÿQŠôÿ=ƒõÿ{õÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿˆ¦ôÿòòòÿòòòÿòòòÿóóóÿóòóÿòóóÿóòóÿóòóÿóóóÿóóôÿóôôÿóóóÿôóóÿôôôÿôôôÿôôôÿôôôÿôôõÿôôôÿõôõÿõõõÿõôõÿõôõÿõõõÿõõõÿõõõÿõöõÿöööÿööõÿõõöÿöööÿõööÿöööÿöööÿöööÿ÷ööÿ÷÷öÿö÷÷ÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿùøùÿøøùÿùùøÿøùùÿùùùÿùùùÿùùùÿúùùÿùùùÿùùúÿúúùÿùùùÿùúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúûúÿúûúÿûûûÿûûûÿûûûÿûûûÿûûüÿûûûÿüûûÿüüüÿüüüÿüüüÿüüüÿüüüÿüýüÿýýýÿüýüÿýüýÿüýüÿýýüÿýýýÿýýýÿþýýÿýþþÿýýýÿýþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿÿþþÿÿÿþÿÿþþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ¦§¦ÿ¦§§ÿ§§¦ÿ¦§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ©©©ÿ¨©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿ©ª©ÿª©©ÿª©©ÿª©©ÿ©ª©ÿªªªÿªªªÿª«ªÿªªªÿ«ªªÿ«ª«ÿ«««ÿ««ªÿ«««ÿ«««ÿ«¬«ÿ«¬¬ÿ«¬¬ÿ«¬¬ÿ¬¬«ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬¬ÿ­¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ­®­ÿ®®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ°°°ÿ¯°°ÿ°°°ÿ¯¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ°±°ÿ±±±ÿ±±±ÿ±°±ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ±±±ÿ²±±ÿ±±±ÿ²²²ÿ²²±ÿ²²²ÿ²²³ÿ²³²ÿ³²²ÿ²³²ÿ²²²ÿ³³³ÿ³³³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³³³ÿ´³´ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿ´µ´ÿ´µ´ÿµµµÿµµµÿµµµÿ¶µµÿ¶¶¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ··¶ÿ¶¶·ÿ·¶·ÿ·¶·ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ¸··ÿ¸¸·ÿ¸·¸ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹º¹ÿ¹º¹ÿ¹¹ºÿº¹ºÿºººÿ®´Ãÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxœôÿòòòÿòòòÿòòòÿóòòÿòòòÿòóóÿóòòÿóóóÿòòóÿóóóÿóóóÿóóóÿôóóÿôóóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõôÿõõõÿôõôÿõõõÿôôôÿõõõÿõõöÿõõõÿõõõÿõöõÿöööÿöööÿööõÿöööÿöööÿ÷ööÿöööÿ÷ööÿ÷ööÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷øÿø÷÷ÿø÷øÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøùÿøøùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùúÿúúùÿúúùÿúúúÿúúùÿúúúÿúúúÿúúúÿúúúÿúúûÿûûûÿúúûÿûûúÿûúûÿûûúÿûûûÿûûûÿûûûÿüüûÿûüüÿûûûÿüüüÿüüüÿüüüÿüüüÿüýüÿüýüÿüýüÿüýýÿýýýÿýýýÿýýýÿýþýÿýþþÿþþýÿýþþÿþýþÿþþþÿþþþÿþþþÿþþþÿÿþþÿÿþÿÿþþþÿþÿÿÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¦¦ÿ¦¦¦ÿ¦¥¦ÿ¦¦¦ÿ§¦¦ÿ§§§ÿ¦¦¦ÿ¦¦§ÿ§§¦ÿ¦§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨§ÿ¨§¨ÿ§§§ÿ§¨§ÿ¨¨§ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿª©ªÿªª©ÿª©©ÿª©ªÿª©ªÿªªªÿªª«ÿªªªÿª««ÿªªªÿªªªÿ«««ÿ«ª«ÿ«««ÿ«¬«ÿ«««ÿ«¬«ÿ¬««ÿ¬«¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬­ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®®­ÿ®®®ÿ®®®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®¯®ÿ®®¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°¯ÿ¯°°ÿ°°¯ÿ°°¯ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ±°±ÿ±°°ÿ°±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ²±±ÿ±²²ÿ²±²ÿ²±²ÿ²²²ÿ²²²ÿ³²²ÿ²³³ÿ³²²ÿ³³²ÿ²²³ÿ³³³ÿ³³²ÿ³³³ÿ³³³ÿ³³´ÿ´³³ÿ³³´ÿ´´³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿµ´´ÿ´µ´ÿµµµÿµµµÿµµµÿµ¶µÿ¶µµÿµ¶¶ÿµ¶¶ÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ···ÿ¶··ÿ··¶ÿ···ÿ···ÿ·¸·ÿ··¸ÿ¸¸¸ÿ···ÿ¸¸·ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¹¸ÿ¸¸¹ÿ¹¸¹ÿ¸¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹¹ºÿ¹ººÿº¹ºÿº¹¹ÿºººÿ¬³Äÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿxœôÿññòÿòòòÿòóòÿòòòÿòòòÿòóóÿóóóÿóóòÿòòòÿóóòÿóôóÿóóóÿóóóÿôóóÿóôôÿóóóÿôôôÿôôôÿôôõÿôôôÿõôôÿõôõÿõôõÿõôõÿôõõÿõõõÿõõõÿõõõÿõõõÿõõöÿõõõÿõöõÿöööÿöööÿöööÿöööÿöööÿö÷öÿ÷÷÷ÿöööÿö÷öÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷øøÿ÷÷÷ÿ÷÷÷ÿøøøÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿùùøÿùøøÿøøùÿùùøÿùùùÿùùùÿùùúÿùùùÿùúúÿúúúÿúúùÿùúùÿúúúÿúúúÿúúúÿúúúÿûûúÿûúúÿúûûÿûûûÿûûûÿûûûÿûûûÿûûûÿûûûÿüûûÿüüûÿüüüÿüüüÿüüüÿüüüÿüüüÿüüýÿüýüÿüýüÿüüýÿýýýÿýýýÿýýýÿýýýÿýýýÿýþýÿþþýÿþþýÿýþþÿþþþÿþþþÿþþþÿþÿÿÿþÿþÿþþÿÿþþÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥¥¥ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§§§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿ©©ªÿª©©ÿª©©ÿ©©ªÿ©©ªÿªªªÿªªªÿªªªÿªªªÿª««ÿ«ªªÿªª«ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬«¬ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­¬¬ÿ¬­­ÿ¬­¬ÿ­¬­ÿ­¬¬ÿ­­­ÿ­­­ÿ­­­ÿ®®­ÿ®®®ÿ­­­ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ®®¯ÿ¯®¯ÿ¯¯®ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯°ÿ¯¯°ÿ¯°¯ÿ¯¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ±°±ÿ±°±ÿ°°°ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ²±±ÿ²±±ÿ±±±ÿ²²²ÿ±²±ÿ²±²ÿ²²²ÿ²²²ÿ²²³ÿ³³²ÿ³²²ÿ³³³ÿ³³²ÿ³³³ÿ³³³ÿ´³³ÿ´³³ÿ³³³ÿ´´³ÿ´´´ÿ³´³ÿ´³´ÿ´´´ÿ´´´ÿ´´µÿ´µ´ÿ´´µÿ´´´ÿ´µµÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿ¶¶µÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶¶ÿ·¶¶ÿ··¶ÿ¶·¶ÿ·¶·ÿ¶¶·ÿ···ÿ···ÿ···ÿ¸··ÿ¸··ÿ¸¸·ÿ·¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¹ÿ¸¸¸ÿ¹¹¹ÿ¹¹¸ÿ¸¹¹ÿ¸¸¹ÿ¹¹¹ÿ¹º¹ÿ¹º¹ÿ¹¹¹ÿº¹¹ÿº¹ºÿ¹¹ºÿ´·¾ÿ ‚õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿ…¤ôÿñòòÿòòòÿòòòÿòòòÿòòóÿòòòÿòòóÿóòóÿóóóÿóóóÿóóóÿóôóÿôóóÿóóôÿóóóÿôóóÿóôôÿóôôÿôóôÿôôôÿôõõÿôôôÿõõôÿõôôÿõõõÿôôõÿõõõÿõöõÿõõõÿõõõÿöõöÿööõÿõõöÿööõÿöööÿöööÿöööÿöööÿö÷öÿö÷öÿ÷ö÷ÿö÷öÿöö÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿø÷øÿ÷÷øÿ÷øøÿ÷øøÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøùÿùøùÿøøùÿùøùÿùùùÿùùùÿùùùÿúúùÿùúùÿúùùÿúúúÿúúúÿúúúÿúúûÿúûûÿúúúÿúûúÿúúúÿúûûÿûûûÿûûûÿûûûÿûûûÿûûüÿüüüÿüûûÿüüûÿûüüÿüüüÿüüüÿüüüÿýüüÿüüýÿüýüÿüüüÿýýüÿýýýÿýýýÿýýýÿýýýÿýýýÿþþþÿþýþÿþýþÿþþþÿýþþÿþþþÿþþþÿÿþþÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥¥¥ÿ¥¥¥ÿ¦¦¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ§§§ÿ§¨§ÿ¨§§ÿ§¨§ÿ¨¨§ÿ¨¨¨ÿ©¨¨ÿ¨¨©ÿ©¨¨ÿ©©¨ÿ¨©¨ÿ¨©©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿª©ªÿ©ªªÿªªªÿ©ªªÿ©ªªÿªªªÿ«ªªÿªªªÿªªªÿ«ª«ÿ«««ÿª««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬«¬ÿ¬«¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ¬¬­ÿ¬¬¬ÿ­­¬ÿ­­­ÿ­¬­ÿ­­­ÿ­­­ÿ®­­ÿ­­­ÿ­­®ÿ®®®ÿ®®®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®¯¯ÿ®®¯ÿ¯®¯ÿ¯¯®ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯°¯ÿ¯¯°ÿ°¯¯ÿ°°°ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ±±°ÿ°°°ÿ±°°ÿ±±±ÿ±±±ÿ°±±ÿ±±±ÿ±±±ÿ±±²ÿ±±²ÿ±±²ÿ±±±ÿ²±²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ³²³ÿ³²³ÿ³³³ÿ³³³ÿ²²³ÿ³³³ÿ³´³ÿ³³³ÿ³³´ÿ´³´ÿ³´³ÿ´´³ÿ´´´ÿ´³´ÿ´´´ÿ´´´ÿ´´µÿµµµÿµµ´ÿ´µµÿ´µ´ÿµµµÿµµ¶ÿµµ¶ÿµµµÿµ¶¶ÿ¶µ¶ÿµµµÿµ¶¶ÿµ¶¶ÿ¶¶¶ÿ¶·¶ÿ···ÿ¶¶·ÿ¶¶¶ÿ··¶ÿ·¶·ÿ··¶ÿ··¶ÿ···ÿ·¸·ÿ¸·¸ÿ··¸ÿ¸··ÿ¸¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¸¹¸ÿ¸¸¸ÿ¹¹¹ÿ¸¸¸ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿº¹¹ÿº¹ºÿº¹¹ÿ¹¹ºÿ¹ººÿ¹¹ºÿJ‹îÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿ xõÿ§ºôÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿòòòÿòóòÿóóòÿóòóÿóóóÿóòóÿóóóÿóóóÿóôóÿôóóÿôôóÿôôôÿôôôÿôôôÿôôôÿôôôÿôõôÿõôôÿôôõÿõõôÿõõõÿõõõÿõõõÿõõõÿõöõÿöõõÿõõöÿöööÿöööÿöööÿöööÿ÷ööÿöö÷ÿöööÿ÷÷öÿ÷÷öÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷øÿ÷ø÷ÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøùÿøøøÿøùùÿùùøÿùùùÿùùùÿùùùÿúúùÿúúúÿùùùÿúúúÿúúúÿúùùÿúúúÿúúúÿúúúÿúúúÿúûúÿûûúÿûûúÿûúúÿûûûÿûûûÿûûüÿûûüÿûûûÿüûüÿûüüÿüûüÿüûüÿüüüÿüüüÿüüýÿüüüÿüýüÿýüýÿüüýÿýýüÿýýüÿýýýÿýýýÿþþýÿþýýÿýþýÿýþýÿþþþÿþýþÿþþþÿþþÿÿÿþÿÿþþÿÿþþþÿÿÿÿÿþþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥¥¥ÿ¦¦¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ§§¦ÿ§§§ÿ¦§§ÿ¦§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ¨¨¨ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©©ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿª©©ÿ©ªªÿ©©©ÿ©©©ÿ©ªªÿªªªÿªªªÿªªªÿªªªÿªª«ÿª«ªÿªªªÿ««ªÿ««ªÿ«««ÿª««ÿ«««ÿ«««ÿ«¬«ÿ«««ÿ««¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ­¬¬ÿ¬¬­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®­­ÿ®®®ÿ®®­ÿ­®®ÿ®®®ÿ®®®ÿ®®¯ÿ®®®ÿ®®®ÿ®®¯ÿ¯¯®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ°°°ÿ°¯¯ÿ°¯¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ±°°ÿ±±°ÿ°°±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²±±ÿ²±²ÿ±²±ÿ²²²ÿ²²²ÿ³²²ÿ³²³ÿ³²²ÿ²²²ÿ³³²ÿ³³³ÿ³²²ÿ²³³ÿ³³´ÿ´³³ÿ´³´ÿ´´³ÿ³´³ÿ´´´ÿ³³´ÿ´´´ÿ´´´ÿµ´´ÿµ´´ÿ´µµÿ´µµÿµ´´ÿµµµÿµµµÿ¶µµÿµµµÿ¶µ¶ÿµµ¶ÿ¶¶µÿµ¶¶ÿ¶µ¶ÿ¶¶µÿ¶¶¶ÿ¶··ÿ¶¶¶ÿ··¶ÿ¶¶·ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ¸·¸ÿ¸··ÿ¸¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿº¹¹ÿ¹¹¹ÿ¹º»ÿwšáÿõÿõÿõÿõÿõÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿ xõÿËÔòÿñòòÿòòñÿòòòÿòòòÿòòòÿòóòÿòòóÿòóòÿóòóÿòóóÿòóóÿóóóÿóóóÿóóóÿóôóÿóóóÿôôôÿóóóÿôôôÿôôóÿôôôÿôôôÿôôôÿõôõÿõõôÿõõõÿõôõÿõõõÿõõõÿõõõÿõõõÿööõÿööõÿööõÿööõÿöööÿöööÿöööÿöö÷ÿ÷ööÿöööÿ÷÷öÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷øøÿøø÷ÿ÷ø÷ÿ÷øøÿøøøÿøøøÿùøøÿøùùÿøøùÿùùøÿøøøÿùùùÿøùùÿùùùÿúúùÿùúùÿùùùÿùúùÿúúùÿúúúÿúúùÿúúúÿúúúÿúûúÿûûûÿúúûÿúúûÿúûûÿûûúÿûûûÿûûûÿüüûÿûüüÿûüüÿüüüÿüûüÿûûûÿüüüÿüüüÿýýüÿýüüÿüýüÿüüýÿýýýÿüýýÿýýüÿýýýÿþýýÿýýýÿýþýÿþþþÿþýýÿþþýÿþþýÿþþþÿþþþÿþþÿÿÿþþÿÿþÿÿþþþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¦¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§¦ÿ¦¦¦ÿ§§¦ÿ§§¦ÿ¦¦§ÿ§§§ÿ§§§ÿ¨¨§ÿ§§§ÿ§§¨ÿ§§¨ÿ§¨¨ÿ¨¨§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨¨ÿ¨©©ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿªª©ÿªª©ÿªª©ÿªª©ÿªªªÿªªªÿªªªÿªªªÿ«ªªÿªª«ÿ«ª«ÿ««ªÿ«««ÿª««ÿ«««ÿ¬«¬ÿ¬«¬ÿ«««ÿ««¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬­ÿ­­¬ÿ¬¬¬ÿ­­­ÿ¬­­ÿ­­­ÿ®­­ÿ­­­ÿ­­®ÿ®­­ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ¯®¯ÿ®¯®ÿ¯¯®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°¯ÿ°°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ°°°ÿ±°±ÿ±±±ÿ°±°ÿ±±±ÿ±±²ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ²³³ÿ³²²ÿ³²³ÿ²³³ÿ³³³ÿ³³³ÿ³´³ÿ³´³ÿ´³³ÿ³´³ÿ´´³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿ´´µÿµµµÿµµµÿµµµÿ´µµÿµµµÿµ¶µÿ¶µµÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ¶·¶ÿ··¶ÿ···ÿ¶·¶ÿ··¶ÿ·¶·ÿ···ÿ··¸ÿ···ÿ···ÿ··¸ÿ¸··ÿ¸¸·ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¸¸¹ÿ¸¹¹ÿ¸¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿº¹ºÿ¹ººÿ¹ººÿ•¦Óÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿ${õÿçêñÿññòÿòòòÿñññÿòñòÿòòòÿòòòÿóóòÿòòóÿòòóÿóóóÿóóòÿòóóÿóóóÿóôóÿôóóÿôóóÿôôóÿôóôÿóóôÿóôóÿôôôÿôôôÿôôôÿôôôÿõôôÿõõôÿõõõÿôõõÿõõôÿõõõÿöõõÿõõõÿõöõÿöõõÿöööÿööõÿöööÿöööÿöööÿöö÷ÿö÷öÿöööÿö÷÷ÿöö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷÷øÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøùøÿùøøÿùùùÿøøùÿùøùÿùøùÿùùùÿùùúÿùùùÿùúùÿùùùÿúúùÿúúúÿùúúÿúúúÿúúúÿúûúÿûúûÿûúûÿúûûÿûûûÿúûûÿûûûÿûûûÿûüûÿûûûÿüûûÿûüüÿûüûÿüüüÿüüûÿýüüÿýüüÿýüüÿüüüÿüýýÿüýýÿýýýÿýýüÿýýýÿýýýÿýþýÿþýýÿþþýÿþþþÿþýþÿþþþÿþþþÿÿþþÿþþÿÿþÿþÿþþþÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥¦¥ÿ¦¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ§§¨ÿ¨¨¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ©¨¨ÿ©¨©ÿ©¨¨ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿªª©ÿ©ª©ÿª©©ÿªªªÿªªªÿªªªÿªªªÿª«ªÿª«ªÿªªªÿ««ªÿ««ªÿ«««ÿ«ª«ÿ«««ÿ«««ÿ¬««ÿ«««ÿ¬««ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ¬­­ÿ¬¬­ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®­­ÿ­­­ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ¯®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯°°ÿ¯°¯ÿ°¯°ÿ¯°°ÿ°°°ÿ°°°ÿ°°±ÿ±±°ÿ±°°ÿ°±±ÿ°°±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²±²ÿ²²±ÿ±²±ÿ²²²ÿ²²²ÿ²³³ÿ²²²ÿ²³²ÿ²²³ÿ³³²ÿ³³³ÿ²³³ÿ³³³ÿ³´³ÿ³³³ÿ´´³ÿ´´³ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´µ´ÿµ´´ÿµµµÿµµµÿ¶µµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ··¶ÿ¶·¶ÿ¶··ÿ¶··ÿ·¶·ÿ·¶·ÿ···ÿ¸¸·ÿ¸¸·ÿ···ÿ·¸·ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¸¹¸ÿ¹¸¸ÿ¸¸¹ÿ¹¹¸ÿ¹¸¹ÿ¹¹¹ÿ¹º¹ÿ¹º¹ÿ¹¹ºÿ¹ººÿ¦®Èÿ(ƒóÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿp—õÿñðñÿñññÿñññÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿóòòÿòòòÿòóóÿòóóÿóóòÿóóóÿóóóÿóóóÿóóóÿôôóÿóóôÿôôóÿóôôÿôôôÿôôôÿôôôÿôõôÿõõõÿõõõÿôôõÿõõõÿõõõÿöõõÿõõõÿõöõÿööõÿõööÿöõõÿõõöÿöööÿöööÿö÷÷ÿöö÷ÿ÷ööÿöö÷ÿ÷÷öÿö÷÷ÿö÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷÷÷ÿøøøÿøøøÿøøøÿùøùÿøùùÿøùùÿùùùÿùøùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿùúúÿúúúÿúúúÿúúúÿûúúÿúúúÿúúúÿûúúÿûúûÿûûûÿûúûÿûûûÿûûûÿûûûÿûüûÿûüûÿüüüÿûüüÿüüüÿüüüÿýýüÿýüüÿüýüÿýüüÿýüýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýýÿýýýÿýþýÿþþþÿýþþÿþþþÿþþþÿþþÿÿþÿþÿÿþþÿÿÿÿÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¦¦¦ÿ¥¥¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§§ÿ¦¦¦ÿ§¦§ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§¨ÿ§§¨ÿ¨§§ÿ§§§ÿ§¨¨ÿ¨§¨ÿ¨¨¨ÿ©¨¨ÿ©¨¨ÿ¨¨¨ÿ©©©ÿ¨©©ÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿ©ª©ÿª©ªÿªªªÿ©ªªÿªªªÿªªªÿ«ªªÿªªªÿ«««ÿ«ª«ÿª««ÿ«««ÿª««ÿ«««ÿ«¬«ÿ«««ÿ«¬«ÿ¬««ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­­­ÿ­®®ÿ®­­ÿ­®­ÿ®®®ÿ®®®ÿ®¯®ÿ®¯®ÿ®®®ÿ®®®ÿ¯®®ÿ®¯¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ¯¯¯ÿ¯°¯ÿ¯°¯ÿ¯¯¯ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ±°±ÿ±°±ÿ±±±ÿ°±±ÿ±±±ÿ±±±ÿ²²²ÿ±²²ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³²³ÿ²²²ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ³³³ÿ³´³ÿ´³³ÿ´³³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿ´´´ÿ´´´ÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶µÿ¶µµÿµµ¶ÿµ¶µÿ¶µ¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ···ÿ···ÿ¶··ÿ···ÿ·¸·ÿ·¸·ÿ···ÿ··¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¹ÿ¹¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹¹¹ÿ®³ÃÿM‹íÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿ¦¸óÿñòòÿñññÿñññÿòòòÿòññÿññòÿòòòÿòòòÿóòóÿòòòÿóóóÿòòòÿóóòÿòóóÿóòóÿóóóÿóóóÿóóóÿóóôÿôôóÿôôóÿôôôÿôôôÿôôôÿôõôÿõôôÿôõôÿôôõÿõõõÿõõõÿõõôÿôõõÿõõõÿõõõÿõõõÿöööÿõööÿööõÿöööÿöööÿöööÿöö÷ÿ÷÷öÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿø÷øÿøø÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿøø÷ÿø÷÷ÿøøøÿøøøÿøøøÿøøøÿùøøÿøøùÿùùùÿùùùÿùùùÿùùùÿùùúÿùùùÿùúùÿúùúÿùùùÿúùúÿúúúÿúûúÿúúúÿúúúÿúûûÿûûûÿûúûÿûúúÿûúûÿûûûÿûûûÿûûûÿûüûÿûûüÿüûüÿüüüÿüüüÿüüüÿüüüÿüüüÿýüýÿüýüÿüüýÿýüýÿýýýÿýýýÿýýýÿýþýÿýýþÿýþþÿþþþÿþþþÿþþýÿþþþÿþþþÿþÿþÿþþþÿÿÿþÿÿþþÿþþÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¥¥ÿ¥¦¥ÿ¥¥¦ÿ¦¦¥ÿ¥¥¦ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ§§§ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ¦§§ÿ§§§ÿ§¨¨ÿ§§§ÿ§§§ÿ§¨§ÿ¨§¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ¨©©ÿ©¨©ÿ©¨©ÿ©©¨ÿ©©©ÿ©©©ÿ©ª©ÿ©ª©ÿ©ª©ÿ©ªªÿªªªÿ©©ªÿªªªÿªªªÿªªªÿ«ªªÿªª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ«««ÿ«««ÿ«¬«ÿ«¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ­¬¬ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­®­ÿ®®­ÿ­®®ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®¯®ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ¯¯°ÿ°¯¯ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ°°±ÿ±±°ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²²±ÿ±²±ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ³²³ÿ²³³ÿ³²³ÿ³³²ÿ³³³ÿ³³³ÿ³³´ÿ³³´ÿ´³³ÿ³³³ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµ´´ÿ´µ´ÿµµµÿµµµÿµµµÿµµµÿ¶µ¶ÿµ¶¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶·ÿ·¶·ÿ···ÿ··¶ÿ···ÿ···ÿ¸··ÿ··¸ÿ¸¸·ÿ·¸¸ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿ¹º¹ÿ·¸½ÿe’çÿ€õÿ€õÿ€õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿÊÓòÿñññÿñññÿòññÿòññÿñòñÿòòñÿòòòÿòòòÿòòòÿòòòÿòòóÿóòòÿóòòÿóóóÿóòóÿóóóÿóóóÿôóôÿóóóÿôóóÿôôôÿôóôÿôóôÿôôôÿôôôÿôôôÿôôõÿõõõÿôôõÿõõôÿõõôÿôõôÿõõõÿõõõÿõõöÿõõöÿõõöÿõööÿöõõÿöööÿöööÿöööÿöö÷ÿöööÿ÷ööÿ÷ö÷ÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿø÷øÿø÷øÿø÷÷ÿøøøÿøøøÿøøøÿøøùÿùùøÿøùùÿùùùÿøùùÿùøøÿùùùÿùùùÿúùùÿúùùÿùúúÿúúùÿúúúÿúúúÿúúúÿúúúÿúûúÿúúûÿúûúÿûûûÿûûûÿúúûÿûûûÿûûûÿüüûÿüüüÿûûûÿûûüÿüûûÿüûûÿûüüÿüüüÿýüüÿýüüÿüüýÿýýýÿýýýÿýýýÿýýýÿýþýÿýýýÿýýýÿýþþÿþþþÿþþþÿýþþÿþþþÿþþþÿÿþþÿþþþÿþþÿÿþþþÿþÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¦¥¥ÿ¦¦¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦¦ÿ§§§ÿ§¦¦ÿ§¦§ÿ§§§ÿ§¨§ÿ§§§ÿ¨§¨ÿ¨¨§ÿ§¨§ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©©©ÿ¨¨©ÿ¨¨¨ÿ©©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©ª©ÿ©ª©ÿª©ªÿªª©ÿªªªÿªªªÿªªªÿªª«ÿªªªÿ«ªªÿ«««ÿª««ÿª««ÿ«««ÿ«««ÿ«¬¬ÿ¬¬«ÿ¬««ÿ««¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ­­¬ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ­®®ÿ®­­ÿ­®­ÿ­®®ÿ®®­ÿ®®®ÿ®®®ÿ®¯®ÿ®¯®ÿ®®¯ÿ®®¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ¯¯¯ÿ°¯¯ÿ°°°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ±±°ÿ°±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ²²±ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ³²³ÿ³²³ÿ³³²ÿ³³³ÿ³³³ÿ´´³ÿ´³³ÿ³³´ÿ³´³ÿ³´´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿµµµÿµ´µÿµ´µÿµµµÿµµµÿ¶µµÿµ¶µÿ¶µµÿµ¶µÿ¶¶µÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ··¶ÿ·¶·ÿ·¶¶ÿ···ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ¸·¸ÿ¸¸¸ÿ··¸ÿ¸¸·ÿ¸¸¸ÿ¸¹¸ÿ¹¹¹ÿ¸¸¸ÿ¹¸¹ÿ¹¹¸ÿ¹¸¸ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿºº¹ÿ~œÞÿ €õÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿ>õÿÜáòÿñññÿññòÿñññÿñòñÿòñòÿòòòÿòòòÿòññÿòòòÿòòòÿóòòÿòòòÿòóòÿòóóÿóóóÿóòóÿóóóÿóóóÿóôóÿóóôÿóóôÿóóóÿôôôÿóôôÿôôôÿôõôÿôôôÿôôõÿôôõÿôôôÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõõöÿõöõÿöööÿöõöÿöööÿöööÿ÷÷÷ÿöööÿöö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷ø÷ÿø÷øÿ÷ø÷ÿøøøÿøøøÿøøøÿøùøÿùùùÿùøøÿùùùÿùùøÿùùùÿùùùÿúùùÿúùúÿùúùÿúúùÿùúúÿúúúÿúúùÿùúúÿúúúÿúúúÿúúúÿúûúÿûûúÿûúúÿûûûÿûúûÿûûûÿûûûÿûüûÿüüüÿüûûÿüüûÿûüûÿûüûÿüüüÿüüüÿüüüÿüüýÿüüýÿýýýÿýýýÿýüüÿýýýÿýýýÿýþþÿýýþÿýþþÿþýýÿþþýÿþþþÿþýýÿþþþÿþþÿÿþþÿÿÿÿþÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¥¥ÿ¦¦¦ÿ¥¦¦ÿ¦¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§§ÿ¦¦§ÿ§§§ÿ¦¦§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§§ÿ§§§ÿ§¨¨ÿ¨¨§ÿ¨§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ©©¨ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©ªÿªª©ÿ©ªªÿ©ªªÿªªªÿªªªÿªªªÿªªªÿ«ª«ÿªªªÿ«ªªÿªª«ÿª««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ«¬¬ÿ¬«¬ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ­¬­ÿ­­­ÿ¬¬­ÿ­¬­ÿ­­­ÿ®­­ÿ­­­ÿ­­­ÿ­®­ÿ®­®ÿ®®®ÿ­®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ®®¯ÿ®®¯ÿ®¯®ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯°¯ÿ¯¯¯ÿ°°°ÿ°¯°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°±±ÿ°°°ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ±²±ÿ±²±ÿ²²²ÿ²²²ÿ²²²ÿ²³³ÿ³²²ÿ³³²ÿ³²³ÿ³³³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ³³³ÿ´´´ÿ´´´ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´´µÿ´´´ÿµµ´ÿµ´´ÿµµ´ÿ´µµÿµµµÿµµµÿµ¶µÿµµµÿµµ¶ÿ¶¶µÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ··¶ÿ···ÿ·¶¶ÿ··¶ÿ···ÿ···ÿ·¸¸ÿ···ÿ·¸·ÿ·¸·ÿ¸¸·ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¸ÿ¸¸¹ÿ¸¹¹ÿ¹¹¹ÿºººÿ¹ººÿ˜¨Ñÿ€ôÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿn–ôÿåèñÿñññÿñññÿñññÿññòÿñññÿòòñÿòòñÿñòòÿòñòÿòòòÿòóòÿóòòÿóóòÿóóòÿòòóÿòóóÿóóóÿóóóÿóôóÿóóóÿôôóÿóôôÿôôóÿôôôÿôôôÿôôôÿôôôÿôõôÿõõõÿôôõÿõõôÿôõõÿõõõÿõõõÿõõõÿöõõÿõõõÿõõõÿöööÿöööÿöööÿöööÿöööÿö÷öÿö÷öÿ÷ööÿö÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿ÷ø÷ÿø÷øÿø÷øÿø÷øÿøøøÿøøøÿøøøÿøøùÿøùøÿøøøÿøùøÿùùùÿùøùÿùùùÿùùùÿúùùÿùùùÿúúùÿùùúÿúúùÿúùùÿúúúÿúúúÿûúûÿúúûÿúûûÿúúúÿúûúÿûûúÿûúûÿûûûÿûûûÿûûûÿüûüÿûûûÿûûüÿüüüÿüüüÿüüüÿüüüÿüüüÿýüýÿüüýÿüýüÿüüýÿýýýÿýýýÿýýýÿþýýÿýþýÿþþýÿþþþÿþþþÿýýýÿþþþÿÿþÿÿþþþÿÿþÿÿÿÿþÿþþþÿþþÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¥ÿ¦¥¦ÿ¦¥¥ÿ¦¦¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ§¦¦ÿ¦¦§ÿ¦¦¦ÿ§§¦ÿ¦§§ÿ§§§ÿ§§¨ÿ¨¨§ÿ§¨§ÿ¨¨¨ÿ¨§¨ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ©©¨ÿ©¨©ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿ©ªªÿªªªÿªªªÿªª©ÿªªªÿªª«ÿ«ªªÿ««ªÿ«ªªÿª««ÿª«ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ¬««ÿ¬¬«ÿ«¬«ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬­¬ÿ¬¬­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®®®ÿ®­®ÿ­®®ÿ­­­ÿ­®®ÿ®®®ÿ®®®ÿ®¯¯ÿ¯¯¯ÿ®¯¯ÿ¯®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ¯¯¯ÿ¯°°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±°±ÿ±°°ÿ°°±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²²±ÿ±²²ÿ²²²ÿ²±²ÿ²²²ÿ²³²ÿ³²²ÿ³²²ÿ²³²ÿ³²³ÿ³³³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´³³ÿ´³´ÿ³´´ÿ´´´ÿ´´´ÿ´´µÿµ´´ÿµ´µÿ´´´ÿµµ´ÿµ´´ÿµµµÿµµµÿ¶µµÿ¶µµÿµ¶µÿµ¶¶ÿ¶µ¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶·ÿ·¶·ÿ¶¶·ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ·¸¸ÿ¸¸·ÿ¸··ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¹¸¸ÿ¹¸¸ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ­³Ãÿ$‚óÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿ¨óÿííñÿðññÿñññÿñññÿñññÿñññÿñòòÿñññÿñòòÿòòòÿòòòÿòòòÿòòòÿóóòÿòòóÿòóòÿòòóÿóóóÿóóóÿóóóÿóóóÿóóóÿôóóÿôôôÿóôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõõÿôõõÿôõõÿôõôÿõõõÿõõõÿõõõÿöõõÿöõõÿöõöÿõõõÿõõöÿöööÿöööÿöööÿö÷öÿ÷ö÷ÿöööÿöööÿöö÷ÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷øÿø÷øÿ÷÷øÿ÷øøÿø÷øÿøøøÿøøøÿøøøÿøùøÿøøùÿøøøÿùùùÿùøøÿùùøÿøùøÿùùùÿùùúÿúùùÿúúùÿùùùÿúùúÿúúùÿúúúÿúúúÿúúúÿûûúÿúûúÿûúúÿûúúÿúúûÿûûúÿûûûÿûûûÿüûûÿûüûÿûüûÿüüüÿüûûÿüüüÿûûüÿüüüÿýüüÿüüüÿýýüÿüýüÿýýýÿýýýÿýýýÿýýýÿýýýÿýþýÿýýþÿþþþÿýþþÿþýþÿþþþÿþþþÿþþþÿþþþÿÿþþÿÿþþÿÿÿþÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¥¥ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦§¦ÿ¦§§ÿ¦¦§ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§¨¨ÿ§§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ©¨©ÿ©¨¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿ©©ªÿ©©©ÿªªªÿªªªÿªªªÿªªªÿªªªÿ««ªÿª««ÿª««ÿªª«ÿ«««ÿ«««ÿ«¬«ÿ«««ÿ«««ÿ¬««ÿ«¬¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ­­­ÿ­¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­­­ÿ®­®ÿ­­®ÿ­®®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®®¯ÿ¯®®ÿ¯®®ÿ®®¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯°ÿ°¯°ÿ¯°¯ÿ°°¯ÿ°°°ÿ°°°ÿ±°°ÿ°±±ÿ°°°ÿ±°°ÿ°°±ÿ°±±ÿ°±±ÿ±±±ÿ±²±ÿ±±±ÿ±±±ÿ²²±ÿ²²±ÿ±±±ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³²²ÿ³²²ÿ²²²ÿ³³²ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³´´ÿ´´´ÿ´´³ÿ´´´ÿ³´´ÿ´´´ÿµ´´ÿ´µ´ÿ´´´ÿ´µ´ÿµ´µÿµµµÿµµµÿµµµÿµµ¶ÿµµ¶ÿµµµÿ¶¶¶ÿ¶¶µÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶·ÿ···ÿ·¶¶ÿ¶··ÿ¶··ÿ···ÿ·¸·ÿ¸··ÿ¸·¸ÿ···ÿ·¸¸ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿK‰îÿõÿõÿõÿõÿõÿõÿõÿõÿõÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿwõÿ¬¼óÿñððÿñññÿñññÿñññÿòññÿòññÿñòòÿòòñÿòñòÿññòÿòòñÿòòòÿòóòÿòòòÿòóóÿòòóÿóòóÿóòòÿóóóÿóóóÿóóóÿóôóÿóóôÿôôôÿôôóÿóôôÿôôôÿôóôÿôôôÿôôôÿôôôÿôôôÿôõôÿõôôÿõõõÿõõôÿõõõÿõõõÿõõõÿõõõÿõõöÿõõõÿööõÿöööÿöööÿöööÿöö÷ÿöööÿö÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷÷ÿ÷øøÿøø÷ÿøø÷ÿøøøÿøøøÿùøøÿùùøÿùùùÿùøøÿøùùÿùùùÿùùùÿùùùÿùùùÿúúùÿúúùÿùùùÿúùúÿúúúÿúúúÿúúúÿúúúÿúúúÿúûúÿúûúÿûûúÿûûûÿûûûÿûûûÿûûüÿûûüÿûûüÿüüüÿüüûÿüûüÿüüüÿüüüÿüüüÿüüýÿýüüÿüüüÿýýýÿüýýÿýýýÿýýýÿýýýÿýýýÿýýýÿþýþÿýýþÿþýþÿýþýÿþþþÿþþþÿþþþÿþþþÿþÿþÿþþÿÿÿþþÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤¤ÿ¥¥¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¥¦¦ÿ¥¥¦ÿ¦¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦§ÿ¦¦¦ÿ¦¦§ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ¨§§ÿ§§§ÿ§§§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©©©ÿ¨¨¨ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿª©©ÿª©ªÿªªªÿ©©ªÿªªªÿª©ªÿª©ªÿªªªÿªªªÿªªªÿªª«ÿ«««ÿ««ªÿ«««ÿ««ªÿ«««ÿ«««ÿ¬««ÿ«¬¬ÿ¬««ÿ¬¬¬ÿ¬««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­¬¬ÿ¬­­ÿ­­­ÿ­­¬ÿ­­­ÿ®­­ÿ­®­ÿ­­­ÿ­­®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ®¯¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ°°¯ÿ°°¯ÿ°°¯ÿ°¯°ÿ°°°ÿ°°°ÿ°±°ÿ°±°ÿ°±°ÿ±°±ÿ±±±ÿ±±±ÿ±±°ÿ±±±ÿ²²±ÿ±±±ÿ±±²ÿ±²±ÿ±²±ÿ²±²ÿ²²²ÿ²³²ÿ²²³ÿ³²²ÿ³²²ÿ²²³ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ´³´ÿ´´´ÿ´³´ÿ´³´ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµµ´ÿµ´´ÿ´´´ÿµµµÿµµµÿµµµÿ¶¶µÿµµµÿµµµÿ¶¶¶ÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ···ÿ···ÿ··¶ÿ···ÿ¸··ÿ···ÿ¸¸¸ÿ·¸·ÿ¸··ÿ··¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¹ÿ¹¸¸ÿ¹¹¹ÿ¹¸¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿzšàÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿ+{õÿÉÒòÿðñðÿðññÿñññÿñññÿñññÿñññÿñòñÿòòñÿòòòÿòòñÿñòòÿòòñÿòòòÿòòòÿòòòÿóòòÿóòòÿòóóÿòóóÿóóóÿóóóÿóóóÿóóóÿóôóÿôóóÿôóóÿóôôÿôôôÿôôôÿôôôÿôõôÿõôôÿôôôÿôôôÿõõôÿõõõÿõõõÿõõõÿõöõÿõööÿõöõÿõöõÿõõöÿöööÿöööÿöööÿöö÷ÿöööÿ÷ö÷ÿöö÷ÿöööÿöööÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷÷ÿø÷÷ÿøø÷ÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿùùùÿøøùÿùùùÿøùùÿùùùÿùøùÿùùùÿùùùÿùúùÿùúùÿùùúÿúùúÿúúúÿúúúÿúúúÿúúúÿúúûÿúúúÿúûúÿûûúÿûûúÿûûûÿûûûÿûûûÿûûüÿûûûÿûüûÿüüüÿüûüÿüüüÿüüüÿýüüÿýýüÿüýýÿüýüÿýüýÿýýýÿýýýÿýýýÿþýýÿýýýÿþýýÿýþýÿþýýÿþýþÿþþþÿþþþÿÿþþÿþþþÿþÿþÿþþþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¥¤ÿ¤¤¥ÿ¥¤¤ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¦¥¦ÿ¦¥¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§§ÿ§§¨ÿ¨¨§ÿ¨¨§ÿ§¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ©¨©ÿ¨¨¨ÿ©¨©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿª©ªÿ©©ªÿª©ªÿªªªÿªªªÿªªªÿªªªÿª«ªÿªªªÿªªªÿ«««ÿ««ªÿ«ª«ÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ­­­ÿ­®®ÿ®­®ÿ®­­ÿ­®®ÿ­®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯°¯ÿ¯¯°ÿ°°°ÿ°°¯ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±±±ÿ±°°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±²ÿ²²²ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²²³ÿ³³³ÿ²³³ÿ²²³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´´´ÿ´³´ÿ³³´ÿ´´³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿ¶¶µÿ¶µµÿµ¶µÿµ¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸·¸ÿ·¸¸ÿ¸··ÿ¸·¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¸¹ÿ¸¸¹ÿ¹¹¸ÿ¸¹¹ÿ¹¹¸ÿ¹¹¸ÿ¹¹¹ÿ›©Ïÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿ9~õÿãåñÿñððÿðññÿðñðÿñññÿñññÿñññÿññòÿñòñÿñòòÿòòñÿñòòÿñòòÿòòòÿòòòÿóòòÿóòóÿòòòÿóòóÿóòòÿóóóÿóòòÿóóóÿóóóÿôóóÿóóôÿóôóÿôôôÿôóôÿôôôÿôôôÿõôôÿõôôÿôôõÿôõõÿôôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõööÿõõõÿöööÿöõöÿööõÿöõöÿöööÿ÷ööÿöööÿöööÿöööÿ÷÷÷ÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿøø÷ÿ÷ø÷ÿø÷÷ÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿùøøÿøøøÿøøùÿøøøÿùùùÿùùùÿùùùÿùùùÿùùùÿúúùÿùúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿûûûÿúûúÿûûûÿûûûÿûûûÿûüûÿûûüÿüüüÿüüûÿûüüÿüüûÿüüüÿüüüÿüýüÿüýýÿüüýÿüýüÿýýýÿýüýÿýýýÿþýýÿþþýÿýýþÿýýþÿþýþÿþþýÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¥¥ÿ¥¥¥ÿ¤¥¥ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦§ÿ§¦¦ÿ¦¦§ÿ¦§§ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨¨§ÿ¨§§ÿ§¨§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨¨ÿ©©©ÿ©¨¨ÿ¨©¨ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿ©©©ÿ©©ªÿªªªÿªªªÿªªªÿ«ª«ÿ«ª«ÿ««ªÿ«ª«ÿ«ª«ÿ«ª«ÿ«««ÿ«««ÿ¬««ÿ¬¬«ÿ««¬ÿ¬«¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬­ÿ¬­­ÿ­­¬ÿ­­¬ÿ¬­­ÿ­­­ÿ­®®ÿ­­­ÿ­­­ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ®®®ÿ¯®®ÿ¯®¯ÿ¯¯®ÿ¯¯¯ÿ®¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ°¯¯ÿ°°¯ÿ¯°°ÿ°°°ÿ°°°ÿ°±°ÿ°±°ÿ°°°ÿ±°±ÿ°°°ÿ°±°ÿ°°°ÿ±±°ÿ±±±ÿ±±±ÿ²±±ÿ²±²ÿ²²±ÿ²±±ÿ²±±ÿ²²²ÿ²²³ÿ³²²ÿ³³²ÿ²²³ÿ³³³ÿ³²²ÿ³²³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ´´´ÿ´³´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµ´´ÿ´´µÿµ´µÿµµµÿµµ´ÿ¶µµÿ¶µµÿµ¶¶ÿ¶µµÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ¶¶·ÿ¶¶·ÿ···ÿ·¶¶ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ···ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¸ÿ¹¸¸ÿ¹¸¹ÿ®²Ãÿ&óÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿi’ôÿðññÿðñðÿñññÿñðñÿðñðÿñññÿñññÿñññÿñòñÿñòñÿñññÿòòòÿòñòÿòñòÿòòòÿòòòÿòòòÿóòóÿóóòÿóóóÿóòóÿóóóÿóóóÿóóóÿóóóÿôóôÿóôóÿôôôÿôóóÿôôôÿôôôÿôôôÿôôõÿôôôÿôõôÿõõôÿõõôÿõõõÿõõõÿõõõÿöõõÿööõÿõõõÿõõõÿöõöÿöööÿõööÿöööÿöööÿöööÿöö÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøùùÿùùùÿùùùÿøùùÿùùùÿùùùÿúùúÿúùúÿùúùÿùúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿûûûÿúûúÿûûûÿûûûÿûûûÿûûûÿüûûÿûûûÿûûûÿüûüÿüûüÿûüüÿüûüÿüüüÿüüüÿüüýÿýüýÿýüýÿýýüÿýýüÿüýýÿýýýÿýýýÿþýþÿýýýÿþýþÿýýýÿþþþÿþþþÿþþþÿþþþÿþþÿÿþþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤¥ÿ¤¥¥ÿ¥¤¤ÿ¥¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¦¥¦ÿ¥¦¥ÿ¦¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ§¦¦ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ¨§¨ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨¨ÿ¨¨©ÿ¨©¨ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿªª©ÿªª©ÿ©ªªÿªªªÿªªªÿªª©ÿªªªÿªªªÿªªªÿªªªÿ«ª«ÿªª«ÿ«««ÿ«ª«ÿ«««ÿ«««ÿ««¬ÿ«¬¬ÿ«¬«ÿ«¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ­¬¬ÿ­¬­ÿ­­¬ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ­­­ÿ­­®ÿ®­®ÿ®®®ÿ®®­ÿ®®®ÿ®®¯ÿ¯®®ÿ®¯¯ÿ®¯¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯°ÿ¯¯°ÿ°°¯ÿ¯¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°±ÿ°±°ÿ±±±ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ²±±ÿ±±±ÿ²±²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²²³ÿ³³³ÿ²³³ÿ³³²ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´³³ÿ´´´ÿ´´´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿ´µ´ÿ´´µÿµµµÿµ´µÿµµµÿµµµÿµµ¶ÿµ¶µÿ¶¶µÿ¶µµÿ¶¶µÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ¶¶·ÿ···ÿ··¶ÿ·¶¶ÿ·¶·ÿ···ÿ···ÿ¸·¸ÿ···ÿ¸··ÿ¸¸¸ÿ¸·¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¸¸¸ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ±µ¿ÿVŒëÿ~õÿ~õÿ~õÿ~õÿ~õÿ~õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿ¡µóÿðððÿðððÿðððÿðññÿðññÿñññÿñññÿñññÿñññÿñññÿñññÿñòòÿòñòÿòòòÿòòòÿòòòÿòòòÿòóòÿòòóÿóóóÿóòóÿóòòÿóòòÿóóóÿóóóÿôóôÿóóôÿôôóÿôóóÿóôóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõööÿõõõÿõõöÿõõöÿõööÿöööÿöööÿöö÷ÿöööÿöööÿöö÷ÿ÷ö÷ÿ÷ö÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿøøøÿ÷÷øÿø÷øÿøøøÿøøøÿøøùÿøøùÿùùøÿùùùÿùùùÿøøùÿùùùÿùùùÿùùùÿúùùÿùúùÿúúùÿùùùÿùúúÿúúúÿúúúÿúúúÿúúûÿúúúÿúúúÿûúûÿûûûÿûúûÿûúûÿüûûÿûüûÿûûüÿûüüÿüüüÿüüüÿüüüÿüüüÿüüüÿýýüÿüýüÿüýýÿüýýÿýýüÿýýüÿýýýÿýýýÿýþýÿýýþÿþýþÿþýýÿþýýÿþþýÿþþþÿþþþÿÿþþÿþþÿÿÿþþÿþþþÿþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥¤¤ÿ¤¤¤ÿ¥¤¥ÿ¤¥¤ÿ¥¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ§¦¦ÿ¦§§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨¨§ÿ§§¨ÿ§¨¨ÿ¨¨§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ©©¨ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿ©©©ÿ©©©ÿªªªÿªªªÿªª©ÿªªªÿªªªÿªªªÿªª«ÿª«ªÿª««ÿ«««ÿ««ªÿ«««ÿ«««ÿ«««ÿ¬««ÿ««¬ÿ«¬«ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬­ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ­®­ÿ®­­ÿ®®®ÿ­®®ÿ®®­ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ®®®ÿ®®¯ÿ¯¯¯ÿ¯¯®ÿ¯®¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ¯¯°ÿ°°°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ°±°ÿ±±±ÿ°±±ÿ±±±ÿ±±±ÿ²±±ÿ±±±ÿ±²±ÿ²±±ÿ²±²ÿ²²²ÿ²²²ÿ²±²ÿ²²³ÿ²²²ÿ²²²ÿ³³²ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³³´ÿ³³´ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿµµ´ÿ´´µÿµ´µÿµµµÿµµµÿµµµÿ¶µµÿµµµÿ¶¶µÿ¶µ¶ÿ¶¶µÿµ¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ¶¶¶ÿ¶·¶ÿ¶··ÿ··¶ÿ¶··ÿ···ÿ···ÿ···ÿ·¸·ÿ··¸ÿ···ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¸¹ÿ¶·¼ÿs–âÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿÊÒòÿðððÿðððÿðððÿðððÿñðñÿññðÿññðÿñññÿñññÿññòÿññòÿñññÿòññÿñòòÿññòÿòòñÿòòòÿòòóÿóòòÿòòóÿòòòÿòòóÿóóòÿóóóÿóóóÿóóóÿôóóÿóôóÿôôôÿóôóÿóôóÿôôôÿôôôÿôôôÿôõõÿôôôÿôôôÿôôõÿõõõÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿöõöÿõööÿöööÿöööÿöööÿöööÿöööÿöööÿö÷÷ÿ÷ööÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøùøÿùùùÿøùøÿùøùÿøøùÿùùùÿùùùÿùùùÿùùùÿùúùÿùùúÿúúúÿùúúÿúúúÿúúúÿûûúÿúûûÿúúúÿúúûÿûûûÿûúûÿûûûÿûûûÿûûûÿüûûÿûûüÿûûûÿüûüÿüüüÿüüüÿüüüÿüüüÿüýýÿýüüÿýýýÿýüüÿüüýÿýýýÿýýýÿýýýÿýýýÿýýþÿþþýÿþýýÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿÿÿþÿþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤¤ÿ¤¤¥ÿ¤¥¤ÿ¤¥¥ÿ¤¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¦¦¦ÿ¥¦¦ÿ¦¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦¦¦ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§¨ÿ¨¨¨ÿ§¨¨ÿ¨¨§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨¨ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©¨¨ÿ©ª©ÿ©©©ÿ©©©ÿª©ªÿ©©ªÿª©ªÿªª©ÿªªªÿªªªÿªªªÿ«ª«ÿ«ªªÿ«««ÿª««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬¬«ÿ¬«¬ÿ¬¬¬ÿ«¬¬ÿ¬¬«ÿ¬¬¬ÿ­¬¬ÿ¬¬¬ÿ­¬­ÿ­­¬ÿ­­­ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ­­­ÿ­­®ÿ®®®ÿ­­­ÿ®®®ÿ®®¯ÿ®¯®ÿ¯¯®ÿ®¯¯ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ°°°ÿ°°¯ÿ°°¯ÿ°¯°ÿ°°°ÿ°°°ÿ±°°ÿ°°°ÿ°±°ÿ±°±ÿ°±±ÿ±±±ÿ°±°ÿ±±±ÿ±²²ÿ±±±ÿ±±²ÿ²±²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³²ÿ³³²ÿ²³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´´³ÿ³´´ÿ³³³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´µÿµµ´ÿ´´´ÿµ´´ÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶¶ÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ···ÿ¶¶¶ÿ·¶·ÿ¶¶¶ÿ¶··ÿ···ÿ···ÿ¸··ÿ¸··ÿ···ÿ¸·¸ÿ¸¸·ÿ¸¸¸ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¹¹ÿ¹¸¹ÿ¹¸¹ÿŠ Øÿ~ôÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿ+yõÿãåñÿððïÿñððÿðððÿððñÿññðÿññðÿðññÿñðñÿñññÿññòÿññòÿòññÿòòòÿñòñÿòòòÿòòòÿòòòÿòòòÿóòòÿòòòÿòòòÿòòóÿóòóÿóóòÿóòóÿóóóÿóóóÿôóôÿóóôÿóôóÿóôóÿôôôÿôôôÿôôôÿôôôÿôôôÿõôõÿôõõÿôôôÿõôôÿõõõÿõõõÿöõõÿöõõÿõõõÿööõÿöööÿöööÿöööÿöööÿöööÿöööÿö÷÷ÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷øÿøøøÿ÷÷÷ÿøøøÿøø÷ÿøøøÿøøøÿøøùÿøøøÿøøùÿùøøÿøùùÿøùùÿùùùÿùùùÿùùúÿùùúÿùùúÿùúúÿúùùÿúúùÿùúúÿúúúÿûúúÿúúúÿúûúÿúúûÿúûûÿúûúÿûûûÿûûûÿûûûÿûûüÿûûüÿûüüÿûûüÿüüüÿûûüÿüüüÿýüüÿüüýÿüüüÿüýýÿüüüÿüýüÿüýüÿüýýÿýýýÿýýýÿþýþÿýþþÿþþþÿþþþÿþýþÿþþþÿþþþÿþþþÿþþþÿþÿþÿþÿþÿþÿÿÿþÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¤¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¦ÿ¦¦¥ÿ¥¦¦ÿ¥¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ§¦§ÿ¦§¦ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨§ÿ§¨¨ÿ§¨¨ÿ¨¨§ÿ§¨§ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ¨¨©ÿ©¨©ÿ¨¨¨ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿ©©ªÿ©©ªÿª©©ÿ©ªªÿªªªÿªª©ÿªªªÿªªªÿªªªÿªªªÿ«ªªÿ«ª«ÿª««ÿª««ÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ«««ÿ«¬¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­¬¬ÿ­¬¬ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯®¯ÿ®¯®ÿ¯¯¯ÿ¯®®ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ°¯°ÿ¯¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ±±°ÿ±±°ÿ°±±ÿ°±±ÿ±±±ÿ±±±ÿ±²±ÿ²±²ÿ²±²ÿ²±±ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ³²²ÿ³²²ÿ²³³ÿ³³³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´³³ÿ´´´ÿ´³´ÿ´´´ÿ´´µÿ´´´ÿ´´µÿ´µµÿµ´µÿµµ´ÿµµµÿµµµÿµ¶µÿ¶µµÿµµµÿ¶µµÿµµ¶ÿ¶µ¶ÿ¶¶¶ÿ¶µ¶ÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ¶·¶ÿ¶··ÿ·¶¶ÿ··¶ÿ···ÿ···ÿ···ÿ·¸·ÿ···ÿ¸¸·ÿ¸·¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¸¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¸ÿ©Íÿ*óÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿr–ôÿèêðÿððïÿðððÿñððÿðððÿðññÿððñÿðñðÿñññÿññðÿñññÿñññÿñññÿññòÿñòòÿòòòÿòñòÿòòòÿòòòÿòòòÿòòòÿóòóÿóòóÿòóòÿòóóÿóóòÿóóóÿóóóÿóóóÿóôóÿôôôÿóôôÿôôôÿóôôÿôôôÿôôôÿôôôÿôôôÿõõôÿôôôÿõôôÿõõôÿõõõÿõõõÿõõöÿõõöÿöõöÿööõÿöööÿöööÿöööÿöööÿöööÿöööÿ÷ö÷ÿö÷÷ÿöö÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷øøÿ÷ø÷ÿøø÷ÿøø÷ÿøø÷ÿøøøÿøøøÿøùøÿùøøÿøùøÿøùùÿøùøÿùøùÿøùùÿùùùÿùúùÿúùùÿùúúÿúùúÿùúùÿúùúÿúúúÿúúúÿúúúÿúûúÿûúúÿûûûÿúûûÿúúûÿûúûÿûûûÿûûûÿüüûÿüüüÿûûûÿüüûÿüüüÿüüüÿüüüÿüüýÿüüüÿüüýÿýýüÿýýýÿýüüÿýýüÿýýýÿýýýÿýýýÿþýýÿýýþÿýýýÿþþþÿþþþÿþýýÿþþþÿþþþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤£ÿ¤¤¥ÿ¤¤¤ÿ¥¤¤ÿ¤¥¥ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¥ÿ¦¥¥ÿ¥¦¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦§ÿ¦§¦ÿ¦§§ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨§ÿ¨§¨ÿ¨¨§ÿ§¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ©©¨ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿ©©©ÿ©©ªÿ©©ªÿ©ªªÿªªªÿª©ªÿªªªÿª«ªÿªªªÿª«ªÿª««ÿ«««ÿ«ª«ÿ«««ÿ«««ÿ«¬«ÿ¬««ÿ««¬ÿ«««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ¬­­ÿ­¬­ÿ­­¬ÿ­­­ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ®­­ÿ®­®ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ¯¯°ÿ¯°°ÿ°¯°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°±±ÿ°°±ÿ°°±ÿ°±±ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ²±±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³²²ÿ²²²ÿ³³²ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ³³´ÿ³³´ÿ´³´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´´´ÿ´µ´ÿµµ´ÿµµµÿ´µµÿµµµÿµµµÿµµµÿµ¶µÿµµµÿ¶¶¶ÿµµ¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ¸¸·ÿ·¸¸ÿ···ÿ¸·¸ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¹¹ÿ¹¸¸ÿ¹¸¸ÿ®²Áÿ8ƒñÿ}õÿ}õÿ}õÿ}õÿ}õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿ™®óÿííðÿïððÿðððÿðððÿðñðÿðððÿðððÿñññÿðññÿðññÿñññÿñññÿñòñÿòññÿñòòÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿóóòÿòòóÿòóóÿòóóÿòóóÿóóóÿóóôÿóóôÿóôóÿôôóÿóôôÿôóôÿôôôÿôôóÿôôôÿôôôÿõõôÿôõõÿõôôÿõõôÿõôõÿõõõÿõõöÿööõÿõõõÿõöõÿõööÿõöõÿöööÿöööÿöööÿöööÿö÷öÿ÷÷öÿ÷ö÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿ÷÷÷ÿ÷ø÷ÿøøøÿ÷øøÿøøøÿøøøÿøùøÿøøùÿùøøÿøøùÿøøùÿùùùÿùùùÿùùùÿùùùÿúùúÿùùùÿùúúÿúúúÿùúúÿùùúÿúúúÿúúúÿúúúÿûûúÿúúûÿúûûÿúúúÿûûûÿûûûÿûûûÿûûûÿüûûÿûüûÿûûüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüýÿüýýÿüýýÿýýýÿýýýÿýýýÿýþýÿþþýÿýþþÿýþýÿýþýÿþþþÿþþþÿþþþÿÿþÿÿþþþÿþþþÿÿÿÿÿþþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤£ÿ¤¤£ÿ¥¤¤ÿ¤¤¤ÿ¥¤¥ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¤¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¥ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ§¦§ÿ¦§§ÿ¦¦§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ¨©¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿª©ªÿ©©ªÿª©©ÿªªªÿ©ªªÿªª©ÿªªªÿ«ªªÿªªªÿ«ªªÿ«ªªÿ«««ÿ«««ÿª««ÿ«¬«ÿ««¬ÿ¬¬«ÿ¬««ÿ«¬«ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ­­¬ÿ­­¬ÿ¬­­ÿ­­¬ÿ¬­­ÿ®®­ÿ­­­ÿ®­­ÿ­­­ÿ®­­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ®®¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ¯¯°ÿ°°°ÿ°¯¯ÿ°°°ÿ°°°ÿ°¯°ÿ°°°ÿ°°±ÿ°±°ÿ°±°ÿ°°±ÿ±±°ÿ±°±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±²ÿ²±±ÿ²±²ÿ²²²ÿ²²±ÿ²²²ÿ²³²ÿ²³³ÿ³³²ÿ³²²ÿ²²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ³³³ÿ³³³ÿ´³´ÿ´´³ÿ´³´ÿ´³´ÿ´´´ÿ´´´ÿµ´µÿµ´´ÿµµµÿµµ´ÿ´´µÿµ´µÿµµµÿµµµÿµµµÿµ¶µÿµ¶¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ¶·¶ÿ¶¶·ÿ¶·¶ÿ··¶ÿ¶·¶ÿ···ÿ···ÿ¸··ÿ·¸¸ÿ¸¸¸ÿ·¸·ÿ¸·¸ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¸¹ÿ¹¹¹ÿ¸¹¹ÿS‰ìÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿuõÿµÃòÿðððÿððïÿðððÿðððÿðððÿñððÿðððÿððñÿñðñÿñññÿñðñÿñññÿñññÿññòÿñòñÿòñòÿñòòÿòòòÿñòòÿòòòÿòòòÿòòòÿòóòÿòòòÿóòòÿóóóÿóóóÿóóóÿóóóÿóóôÿôóóÿóôôÿóóóÿóóôÿôôôÿôôôÿóôôÿôôôÿôôôÿôôõÿôôôÿõõõÿõõõÿõõôÿõõõÿõõõÿõõõÿöõöÿöõõÿõöõÿöööÿõõöÿöööÿöööÿ÷ö÷ÿöö÷ÿ÷ööÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿø÷÷ÿøøøÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿùùøÿøùùÿùøùÿøùùÿùùùÿùùùÿùùúÿùúùÿùúùÿúúúÿùúúÿúúúÿúúúÿûúúÿúúúÿûúúÿûûûÿúúûÿûûûÿûûûÿûûûÿûûûÿûûûÿüûûÿûûüÿüûûÿüûüÿüüûÿüüüÿüüüÿüýüÿýüüÿüüüÿýüýÿüýýÿýýýÿüýýÿýýýÿýþþÿýþýÿýýþÿþþþÿýþýÿþþþÿþþýÿþþþÿþþþÿÿþÿÿþþþÿÿþþÿÿÿÿÿÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤£ÿ£¤£ÿ¤¤£ÿ¥¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¦ÿ¥¥¥ÿ¥¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ¦§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨§ÿ§§¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©©¨ÿ¨¨¨ÿ©¨¨ÿ©©¨ÿ©©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿª©©ÿª©ªÿªªªÿªªªÿªªªÿªªªÿª««ÿªª«ÿ«ª«ÿª««ÿ«««ÿªª«ÿ«««ÿ«¬«ÿ¬««ÿ«««ÿ««¬ÿ«¬¬ÿ¬¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬¬ÿ¬¬­ÿ­¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­®­ÿ­®®ÿ®­®ÿ®®®ÿ®®®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯¯¯ÿ®¯¯ÿ¯¯®ÿ®¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ¯¯°ÿ°°°ÿ¯°°ÿ°°¯ÿ°°°ÿ±°°ÿ°±°ÿ°°°ÿ°±°ÿ°°°ÿ°±°ÿ±±±ÿ±±±ÿ±±²ÿ²±±ÿ²±²ÿ²²²ÿ±²±ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ³³²ÿ²²³ÿ²³²ÿ²³³ÿ²³³ÿ³³³ÿ´³³ÿ³³³ÿ´´´ÿ³´´ÿ³³³ÿ´´´ÿ³³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µµÿµ´µÿ´µ´ÿµµµÿµµµÿµµµÿ¶¶µÿµµ¶ÿµµ¶ÿ¶¶¶ÿµ¶¶ÿµ¶¶ÿ¶·¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶·ÿ···ÿ··¶ÿ···ÿ···ÿ¸··ÿ·¸¸ÿ¸¸·ÿ·¸¸ÿ·¸¸ÿ·¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¹¸¸ÿ¸¹¹ÿ~šÞÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿ9|õÿÌÔñÿïïðÿððïÿðððÿðððÿðððÿðððÿðððÿññðÿñðñÿñððÿñññÿñññÿñññÿñññÿòññÿòñòÿñòñÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòóòÿóóóÿóóòÿóóóÿòóóÿòóóÿóóóÿôóóÿôôóÿóóôÿóóóÿóóôÿôóôÿóôóÿôôôÿôõôÿõôôÿõôõÿôõõÿõõõÿõõôÿõõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõöõÿöööÿöööÿöööÿöööÿöööÿ÷ööÿöö÷ÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿøøùÿùùøÿùøøÿùøøÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿùúúÿúùùÿúúúÿúúúÿúúúÿúúúÿúûúÿúúúÿûûúÿúúúÿûûûÿûûûÿûûûÿûûûÿûûûÿûûüÿüûûÿûüüÿûüûÿüüüÿüüûÿüüüÿýüýÿýýýÿüýüÿýýüÿýüüÿýýýÿýýýÿýýýÿýýýÿýýýÿþýþÿþþþÿþýýÿþýþÿþþþÿþþþÿþþÿÿÿþþÿÿþþÿþþþÿþþÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¦¥¦ÿ¥¥¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ§§¦ÿ¦§§ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨§ÿ¨¨§ÿ¨¨¨ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿ©ªªÿ©ª©ÿªª©ÿªª©ÿªª©ÿªªªÿªªªÿªªªÿªªªÿª«ªÿ«««ÿ«««ÿ«««ÿ«««ÿ««ªÿ««¬ÿ««¬ÿ«««ÿ«««ÿ¬««ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬¬ÿ¬­¬ÿ¬­­ÿ­­¬ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­®®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®¯¯ÿ¯®¯ÿ¯®¯ÿ®¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ°°¯ÿ°°¯ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ±°°ÿ±±±ÿ°°±ÿ±±±ÿ±°±ÿ±±±ÿ±±±ÿ±²±ÿ²²±ÿ²±±ÿ±²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²²³ÿ²³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´´´ÿ´³´ÿ´³´ÿ´´´ÿ´´´ÿ´µ´ÿ´´µÿµ´´ÿ´µ´ÿµ´´ÿµµ´ÿµµµÿµµµÿµµµÿµµµÿ¶¶¶ÿµµµÿµ¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶·ÿ¶¶¶ÿ¶¶·ÿ¶·¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸·¸ÿ¸¸·ÿ··¸ÿ¸¸·ÿ·¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¸ÿ¹¸¸ÿ¹¹¸ÿ©Îÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿQ…ôÿßâðÿðððÿïïïÿðððÿðððÿðïðÿðððÿðñðÿñññÿððñÿððñÿððñÿñññÿñññÿñññÿñññÿòòñÿññòÿñòñÿòòñÿñññÿòòòÿòòòÿòòòÿòòòÿòóòÿóòóÿóóóÿóóóÿóóóÿóóóÿôóóÿóóóÿôôôÿóôôÿôôôÿôôóÿôóóÿóôôÿôôôÿôôôÿôõõÿõôôÿõôõÿõõõÿõôõÿõõõÿõõõÿõõõÿõöõÿöõöÿõõöÿõöõÿõööÿööõÿöööÿöööÿö÷öÿ÷ööÿöö÷ÿ÷ö÷ÿö÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷øÿ÷÷÷ÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿøùøÿøøùÿùøùÿùùùÿùùùÿùùùÿùùùÿùùùÿúúùÿùúúÿúùúÿúúúÿùúúÿúúúÿúúúÿúúúÿûûûÿûûúÿúúúÿûûûÿûúûÿûûûÿûûûÿûüûÿûüûÿüûûÿûüüÿûüüÿüüüÿüüûÿüüûÿüüüÿüýýÿüýüÿüýýÿüüýÿýüüÿýýüÿýýýÿýýýÿýýýÿýþýÿýþþÿþþýÿþþþÿþþþÿýþþÿþþþÿþþþÿþþþÿÿÿÿÿÿþþÿÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¥¤ÿ¤¤¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¦ÿ¥¥¦ÿ¥¥¥ÿ¦¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦¦§ÿ§¦¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ©¨¨ÿ¨©¨ÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿ©ªªÿªª©ÿªª©ÿ©ªªÿªªªÿ««ªÿªª«ÿªªªÿ««ªÿ«ªªÿ«ª«ÿª««ÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬««ÿ««¬ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬­¬ÿ­­­ÿ­­­ÿ¬­­ÿ­­­ÿ­­¬ÿ®®­ÿ®­­ÿ­®­ÿ­®­ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ¯®®ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ°¯¯ÿ°°°ÿ¯¯°ÿ°¯¯ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°±±ÿ°°±ÿ±°±ÿ°±°ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±²²ÿ²±²ÿ²²²ÿ²²²ÿ²±²ÿ²²²ÿ²²²ÿ³²²ÿ²³³ÿ²²²ÿ³³³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ´´³ÿ´³´ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿµ´´ÿµµ´ÿµµ´ÿµµµÿµµµÿµµµÿµµ¶ÿµ¶µÿ¶¶¶ÿµµ¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ··¶ÿ¶··ÿ···ÿ···ÿ···ÿ¸··ÿ···ÿ··¸ÿ··¸ÿ¸¸¸ÿ¸··ÿ·¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¹¹ÿ±µ¿ÿ!óÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ|õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿl’ôÿîîïÿðïïÿððïÿðððÿððïÿðððÿðððÿðððÿðððÿðððÿñððÿðñðÿñðñÿñññÿñðñÿñññÿñññÿòñòÿòñòÿòññÿñññÿòñòÿòòòÿòòòÿòòòÿòòòÿòòóÿóóòÿóóóÿòóóÿóóóÿóóóÿóóóÿóóóÿóóôÿóôóÿóôôÿôôôÿôôóÿôôôÿôôôÿôôôÿôôõÿôõôÿôôôÿôõôÿõõôÿõõôÿõõõÿõõõÿööõÿõõõÿöööÿööõÿööõÿöööÿöööÿö÷öÿ÷÷öÿ÷÷÷ÿöööÿ÷÷öÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿø÷øÿøø÷ÿøøøÿø÷øÿøø÷ÿøøøÿøøøÿøøøÿùùøÿùøùÿøùùÿøùøÿùùùÿùùùÿùùùÿùùùÿùùùÿúúúÿúúùÿúúúÿúùúÿúúúÿúúúÿúúúÿúúúÿûûúÿûúúÿûûûÿúûûÿûúúÿûûûÿûûûÿûûûÿûüûÿûüûÿüûüÿüûûÿüüüÿüüüÿüüüÿýüüÿüüüÿüüüÿýýýÿüýýÿýüýÿýýýÿýýþÿýþýÿýýþÿýþýÿþýýÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿþÿÿÿþÿþÿÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£££ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¥¥ÿ¥¤¤ÿ¥¥¥ÿ¥¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§§ÿ§§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©¨ÿ©¨¨ÿ©©©ÿ¨¨©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿªªªÿ©ªªÿªªªÿªªªÿªª«ÿªªªÿªªªÿªª«ÿ«ª«ÿªªªÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ¬««ÿ¬¬¬ÿ¬««ÿ«¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ­­­ÿ¬­¬ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ®­®ÿ®®®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ°¯¯ÿ°¯¯ÿ°°¯ÿ¯¯°ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ°±°ÿ±±°ÿ±±±ÿ±±°ÿ±±°ÿ±±±ÿ±±²ÿ±±²ÿ²±²ÿ²²²ÿ²²±ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²³²ÿ³²³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ³´³ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´´´ÿ´µµÿ´´´ÿ´µµÿµµ´ÿµ´µÿµµµÿµµµÿµ¶¶ÿµ¶µÿµµµÿ¶¶¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶¶ÿ¶··ÿ¶··ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¶¶»ÿZ‹êÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿž±óÿïïïÿïïðÿððïÿïððÿðððÿðððÿðððÿðððÿðððÿðððÿððñÿñððÿñññÿðññÿñññÿñññÿñññÿññòÿñññÿòñòÿòññÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿòòóÿóóóÿóóóÿòóóÿóóóÿóóóÿóóóÿóóôÿóóôÿôôôÿóôôÿôôôÿôôóÿôôôÿôôôÿõôôÿõõõÿõôõÿôõõÿõôôÿôõõÿõõõÿõöõÿõõöÿõöõÿööõÿõöõÿöööÿöõöÿöööÿöööÿöö÷ÿ÷÷÷ÿö÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷øÿøø÷ÿø÷øÿø÷÷ÿ÷÷øÿø÷÷ÿøøøÿøøøÿøøøÿùùøÿøøøÿùøùÿøøøÿùøùÿùùùÿùùùÿúùùÿùúùÿúúùÿúúúÿúúúÿúúùÿúùúÿúúúÿúúúÿúúúÿúúûÿúûûÿûûûÿûûúÿûúûÿûûûÿûûûÿüûûÿûûüÿûûûÿûüüÿûüüÿüüûÿüüüÿüüüÿüüüÿüüüÿýýüÿüýýÿýýýÿüýýÿýýýÿýýýÿýýýÿýýýÿýþþÿþþýÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤¤ÿ¤¤¤ÿ£¤¤ÿ¤£¤ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¤¤ÿ¥¥¥ÿ¤¥¥ÿ¤¥¤ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¥¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ¦¦¦ÿ§§¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨§§ÿ¨§§ÿ§§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨©ÿ©©¨ÿ¨©¨ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿ©©©ÿªªªÿªªªÿªªªÿªªªÿªª«ÿªªªÿªªªÿ«ªªÿ«««ÿª«ªÿªªªÿ«««ÿ«««ÿ¬«¬ÿ¬««ÿ¬¬¬ÿ««¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ­­¬ÿ­¬¬ÿ­­­ÿ­¬­ÿ­­­ÿ­­®ÿ­­­ÿ®­­ÿ®­®ÿ­­­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ¯¯®ÿ¯¯®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ¯¯°ÿ°¯°ÿ°¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±±°ÿ°°°ÿ±°±ÿ±°±ÿ°°±ÿ±°±ÿ±±±ÿ±±±ÿ²±²ÿ²²²ÿ²²²ÿ±±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ³²³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´´³ÿ´³´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿ´´µÿ´µµÿ´µµÿµµ´ÿµµµÿµµµÿµ¶µÿµµµÿµ¶¶ÿ¶µµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ¶¶¶ÿ·¶·ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ·¸¸ÿ··¸ÿ·¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ··ºÿ~™Þÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿÇÏñÿïïïÿïïïÿïïðÿðïðÿïðïÿðïðÿðððÿðððÿðððÿðððÿððñÿñññÿðñðÿðñðÿñðñÿñññÿñññÿñññÿñññÿñññÿòñòÿòòòÿòòòÿñòòÿñòòÿòòòÿòòòÿóòòÿòóòÿòòóÿòóóÿóóóÿóóóÿóóôÿóôóÿôóôÿóóôÿóôôÿôóóÿôóóÿôôôÿôôôÿôôôÿõôôÿôôôÿõõõÿõõõÿõõõÿõõõÿõõõÿöõõÿõõöÿöõõÿõöõÿööõÿöööÿöõöÿöööÿöööÿö÷öÿöööÿöööÿöööÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿø÷÷ÿø÷øÿøøøÿøøøÿ÷øøÿøøøÿøøøÿøøùÿùùùÿøøùÿùøùÿùùùÿøùùÿùùùÿùúùÿúúùÿùùúÿúùùÿùùúÿùúùÿùúúÿúúúÿúûúÿúûúÿúúúÿûúûÿúûúÿúûûÿûûûÿûûûÿûûûÿûûüÿûûûÿüûûÿüûûÿûüüÿüüüÿüüüÿüüüÿüüüÿýüýÿýüýÿýüýÿüýüÿýüüÿýýýÿýþýÿýþþÿýýýÿýþýÿþþþÿþþýÿþþþÿýþþÿþþþÿþþþÿþþÿÿÿÿþÿþÿÿÿÿÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£¤£ÿ£¤£ÿ££¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¤¥¥ÿ¥¤¤ÿ¤¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¥ÿ¥¥¥ÿ¥¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§§ÿ¦¦§ÿ¦¦§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©¨ÿ©©©ÿ©¨©ÿ©©¨ÿ©©©ÿ©©¨ÿ©©©ÿª©ªÿª©©ÿ©ª©ÿ©ª©ÿ©©©ÿªªªÿªªªÿªªªÿªª«ÿ«ªªÿª«ªÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ«¬«ÿ¬¬«ÿ««¬ÿ«¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ¬¬­ÿ­¬¬ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®­­ÿ®­®ÿ­­­ÿ®®®ÿ®®®ÿ®¯®ÿ®®®ÿ®®®ÿ®®¯ÿ®®®ÿ¯®®ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯¯ÿ¯¯°ÿ¯¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±±°ÿ°°°ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ±±±ÿ±²±ÿ±²±ÿ±²²ÿ±²±ÿ²²²ÿ²²²ÿ²²²ÿ²²³ÿ²³²ÿ²²²ÿ²²²ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³´³ÿ³´³ÿ³³´ÿ´³´ÿ³´³ÿ³´´ÿ´´´ÿ´´´ÿ´´µÿµµ´ÿµ´´ÿµ´µÿµµ´ÿµµ´ÿµµµÿ¶µµÿµµµÿµµµÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶·ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ¸¸·ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ•¤Òÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿ rõÿäæïÿïïïÿïïïÿïïïÿïïïÿïððÿïððÿððïÿððïÿðððÿðððÿðððÿññðÿðððÿððñÿðððÿðððÿñññÿñññÿñññÿñòòÿòññÿñññÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòóóÿòóòÿóóòÿòòóÿóóóÿóóóÿóóóÿóôóÿóóóÿóóóÿôóóÿôôóÿôôôÿôôôÿôôôÿõôôÿôõôÿõõôÿôõôÿõõõÿôõõÿõõõÿõõõÿõõöÿõõõÿöõõÿöõöÿöööÿõõöÿöööÿöööÿ÷ööÿöööÿ÷ööÿöööÿ÷ö÷ÿö÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿøøøÿø÷÷ÿ÷øøÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøùøÿùùøÿøùùÿøùùÿùùøÿøùùÿùùùÿùùùÿùùùÿùùùÿùùùÿúùúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúúûÿúûúÿúúúÿûûûÿûûûÿûûûÿûûûÿüûûÿüüûÿûüûÿüüüÿüüüÿüüüÿüüüÿüýüÿüüüÿýýýÿýüüÿýýýÿýýýÿýýýÿýþýÿýþýÿýþýÿþýýÿþþýÿþþýÿþþþÿþþþÿþþþÿþþþÿÿþÿÿÿÿþÿþÿÿÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£££ÿ£££ÿ£¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¥¤ÿ¤¤¤ÿ¥¤¤ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¥¦ÿ¥¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ§§§ÿ¦§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ§¨§ÿ§§¨ÿ¨§§ÿ¨¨§ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©¨ÿ©©©ÿ©©ªÿ©©©ÿª©©ÿªª©ÿª©ªÿªªªÿ©ªªÿªªªÿªªªÿ«ª«ÿªªªÿªªªÿ««ªÿª««ÿ«««ÿ«ª«ÿ«««ÿ«««ÿ¬««ÿ««¬ÿ¬¬«ÿ«¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­¬¬ÿ¬­¬ÿ¬­¬ÿ­­­ÿ­­­ÿ¬­­ÿ­­­ÿ®­­ÿ­®­ÿ®®­ÿ­®­ÿ®®®ÿ®®®ÿ®®­ÿ®®®ÿ®®®ÿ¯®®ÿ¯®¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯°ÿ¯°¯ÿ°°°ÿ¯¯°ÿ°°°ÿ°°°ÿ±°°ÿ°±°ÿ±°±ÿ±±±ÿ°±±ÿ±±±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²²ÿ²±²ÿ²²²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²²³ÿ²²²ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´´³ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿ´´µÿµµµÿµµ´ÿµµµÿµµµÿµµ¶ÿµ¶µÿ¶¶µÿ¶¶µÿ¶¶¶ÿ¶¶µÿ¶µµÿµ¶¶ÿ¶·¶ÿ·¶·ÿ·¶·ÿ·¶¶ÿ·¶·ÿ···ÿ···ÿ···ÿ··¸ÿ··¸ÿ···ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¤¬Éÿ4ñÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿ{õÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿk‘ôÿììîÿïîîÿïïïÿïïïÿðïïÿðïðÿïïïÿðððÿðððÿðððÿðððÿðððÿðððÿðññÿðññÿðñðÿðññÿñññÿñðñÿñòñÿñññÿñññÿñññÿòòòÿòñòÿòññÿòòòÿòòòÿòóòÿòòòÿòòòÿòòòÿóóóÿóóòÿóóóÿóóóÿóôóÿóóôÿôóôÿóóôÿóôôÿôôóÿôôôÿôôôÿôôôÿôôôÿõõôÿõôôÿôõõÿõõôÿôõõÿõõõÿõõõÿõõöÿõõõÿõöõÿööõÿöööÿöööÿöööÿöööÿöö÷ÿö÷öÿöööÿ÷÷öÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿø÷øÿ÷ø÷ÿ÷øøÿøøøÿøøøÿøøøÿøùøÿøøùÿøøùÿùøøÿùùùÿùùùÿùùøÿùùùÿùùùÿùùùÿùùùÿùùúÿùúùÿùúúÿúùúÿúúúÿúúúÿúúúÿûúúÿúûúÿûúúÿûûûÿûûúÿúûûÿûûûÿûûûÿûüûÿüûûÿüûûÿüüûÿüüüÿüüüÿüüüÿýüüÿüüüÿýüüÿýýüÿüýüÿýüýÿýýýÿýýýÿþýýÿýýýÿýýýÿþýþÿýýþÿþþþÿþýþÿþþþÿþÿþÿþþþÿþÿþÿþþÿÿÿÿÿÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£££ÿ£££ÿ¤££ÿ¤££ÿ££¤ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¥¤¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¥¥¥ÿ¦¥¦ÿ¦¦¦ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦¦§ÿ¦¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ§§¨ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ©©©ÿ¨©©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿ©©©ÿªªªÿªªªÿ©ª©ÿªªªÿªªªÿ«ªªÿ«ªªÿ«ªªÿ«ªªÿ««ªÿª««ÿª««ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ¬¬¬ÿ«¬«ÿ««¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ­­­ÿ­¬¬ÿ­¬­ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­­­ÿ­®®ÿ­­®ÿ®®­ÿ­®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ¯¯®ÿ®¯¯ÿ¯®¯ÿ¯¯¯ÿ¯°¯ÿ¯¯°ÿ¯°¯ÿ¯°¯ÿ¯¯°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±±°ÿ±±°ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²²²ÿ²±±ÿ±²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²³³ÿ²²²ÿ²²³ÿ³²³ÿ³³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´´´ÿ³´´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿµ´µÿµµ´ÿ´µµÿ´µµÿµµµÿµµµÿµµµÿµµµÿ¶µµÿ¶µ¶ÿ¶µµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶·ÿ¶··ÿ···ÿ·¶¶ÿ···ÿ··¸ÿ··¸ÿ¸··ÿ·¸·ÿ·¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ®³ÁÿK…îÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿ°óÿíîîÿïïïÿïïïÿïïïÿðïïÿïððÿïðïÿðððÿðððÿðððÿðððÿðððÿñððÿðñðÿññðÿðñðÿñððÿððñÿñññÿñññÿñññÿòññÿñòñÿñòñÿòñòÿññòÿòòñÿòñòÿóòòÿòòòÿòóòÿòóóÿóóòÿóóóÿóóòÿóóóÿóóóÿôóóÿóóóÿóôóÿóóóÿóôóÿôôôÿôôôÿôôôÿôôôÿôõôÿôôõÿôôõÿôôôÿõõõÿõõõÿõõõÿõõõÿõõõÿöõöÿõööÿöööÿõööÿöööÿöööÿöööÿö÷öÿ÷ööÿ÷ö÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷øÿ÷ø÷ÿ÷øøÿøø÷ÿøøøÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿùùùÿùùùÿùøùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùúúÿùúùÿùúúÿúúúÿúúúÿúûúÿúúûÿúûûÿúûúÿûûûÿûûûÿûûûÿûüûÿûûûÿüûûÿûüûÿüûûÿüûüÿüüüÿüüüÿüüüÿüüüÿýüüÿüüýÿüüüÿýýüÿýýýÿýýýÿýýýÿýýýÿþýþÿýþýÿýýýÿýýþÿþþýÿþþþÿþþþÿþþÿÿþþþÿþÿÿÿþÿÿÿþþþÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£££ÿ££¤ÿ£££ÿ££¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¥¤¥ÿ¥¥¤ÿ¥¤¥ÿ¤¥¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¦ÿ¥¥¥ÿ¥¥¦ÿ¦¥¦ÿ¦¥¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ§¦§ÿ§§§ÿ§§¦ÿ§§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨¨¨ÿ§§§ÿ¨¨¨ÿ¨¨§ÿ¨¨§ÿ¨¨¨ÿ©©©ÿ¨¨¨ÿ¨©©ÿ©©©ÿ¨©¨ÿ¨©©ÿ©©¨ÿ©©©ÿ©©©ÿ©©ªÿªª©ÿªª©ÿªª©ÿª©ªÿªªªÿªªªÿªªªÿ««ªÿªªªÿ«««ÿ««ªÿª««ÿª««ÿ«««ÿ«««ÿ«««ÿ««¬ÿ««¬ÿ¬«¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬¬ÿ­­¬ÿ¬¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­®®ÿ­­­ÿ­®­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ¯®®ÿ®¯®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯°¯ÿ°°°ÿ¯°¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ°°±ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²²²ÿ±²²ÿ²²²ÿ±²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²³²ÿ³²³ÿ²²²ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ³³´ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿ´µ´ÿ´µµÿ´µµÿµµµÿ´µ´ÿµµ´ÿµµµÿµ¶µÿµµ¶ÿµµ¶ÿ¶µ¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ···ÿ¶·¶ÿ·¶¶ÿ¶··ÿ···ÿ¶··ÿ···ÿ··¸ÿ·¸·ÿ¸¸·ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿaèÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿ¾Êñÿîïïÿîïïÿïïïÿïïîÿïïïÿïïïÿïïðÿðïïÿðððÿððïÿðððÿðððÿðððÿðððÿðððÿðððÿðññÿññðÿððñÿñññÿñññÿñññÿñññÿññòÿñòñÿòòòÿòòòÿòòòÿòòòÿòòòÿóòòÿòòòÿòòòÿòóóÿóóòÿóóòÿóóóÿóóóÿóóóÿóóôÿóôôÿôóóÿôôôÿóôôÿôôôÿôôôÿôõôÿôôôÿõôõÿôôôÿôõôÿõõõÿõõõÿõõõÿõõõÿöõõÿöõõÿöõõÿöõöÿõööÿöööÿöööÿöööÿöööÿ÷ööÿöö÷ÿöö÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿø÷÷ÿ÷÷øÿ÷ø÷ÿøø÷ÿø÷øÿøøøÿøøøÿøøøÿøøùÿøøùÿùùøÿùùøÿùùùÿùùùÿùùùÿúùùÿùùùÿùúùÿùúúÿúúúÿùúùÿúùúÿúúúÿúúúÿúúúÿúûûÿúûûÿûûúÿûûúÿûûûÿûûûÿûûüÿûûûÿüûüÿüüüÿûüüÿûüüÿüüüÿüüüÿüüüÿüüüÿýýüÿýýýÿüýýÿýýüÿýýüÿýýýÿýýýÿýýýÿýýýÿþþýÿýþýÿýþþÿþþýÿþþþÿþþþÿÿþþÿþÿÿÿþÿþÿÿþþÿþþþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¤ÿ¥¤¥ÿ¤¤¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§¦¦ÿ§§§ÿ§§¦ÿ¦¦¦ÿ§§§ÿ§§§ÿ§§¨ÿ¨§§ÿ¨¨§ÿ¨§¨ÿ¨¨§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©¨¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©ª©ÿªª©ÿªªªÿ©ªªÿªªªÿªª©ÿªªªÿªªªÿªªªÿªª«ÿª«ªÿ««ªÿ««ªÿª««ÿ«««ÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬¬ÿ¬¬­ÿ­¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ®­®ÿ®®®ÿ®®®ÿ­®­ÿ®®®ÿ®®®ÿ®®®ÿ¯¯¯ÿ®®¯ÿ®¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯°ÿ°¯¯ÿ°¯¯ÿ°°¯ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ°°±ÿ°°±ÿ°±±ÿ±°±ÿ±±±ÿ²±±ÿ±±±ÿ±²±ÿ±±±ÿ²±²ÿ²²²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ³²²ÿ²³²ÿ³²²ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ³´³ÿ³´´ÿ´´´ÿ³´´ÿ´´´ÿ³´´ÿ´´´ÿ´´´ÿµ´µÿ´µµÿµ´µÿ´µµÿ´µµÿµµµÿµµµÿµµµÿµµ¶ÿµµµÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶¶ÿ¶·¶ÿ¶¶·ÿ·¶·ÿ·¶·ÿ··¶ÿ···ÿ···ÿ·¸·ÿ···ÿ¸¸·ÿ¸¸·ÿ¸¸·ÿ¸·¸ÿ¸¸¸ÿ‚›Ûÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿ;{öÿÒØðÿïïîÿïïîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿððïÿðïðÿïððÿðïðÿðððÿðððÿðððÿññðÿðññÿñññÿñññÿñðñÿñññÿñññÿñññÿñññÿñññÿñòòÿòòòÿñòòÿòòòÿòòòÿòòòÿòòòÿòóòÿòóóÿóòòÿóóóÿòòóÿóóóÿóóóÿóóôÿóóóÿôóôÿôóôÿóóôÿôôôÿôôôÿôôôÿôôôÿõôôÿôôõÿõõõÿôõôÿõõõÿõõõÿõõõÿõõõÿööõÿõõöÿöõöÿööõÿööõÿöööÿöööÿ÷ööÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷÷öÿö÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿøøøÿ÷øøÿøøøÿøøøÿøøøÿùøøÿøùøÿùøøÿùùøÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿùúúÿúùúÿùúúÿúúúÿúúúÿúúúÿûúúÿûúúÿûûúÿûúûÿûúúÿûûúÿúûûÿûûûÿûûûÿüüüÿûüûÿüûûÿüûûÿüüüÿûüüÿüüüÿüüüÿüüüÿüýýÿüýüÿýýýÿýýýÿýýýÿýýýÿþýýÿýýýÿýýýÿþýýÿýþýÿþþþÿþþþÿþþþÿþþþÿþþþÿÿÿþÿþÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ¤¤£ÿ¤££ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¥¤¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¦¥ÿ¦¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ§§¦ÿ¦§§ÿ§§¦ÿ§§§ÿ§§¦ÿ§§§ÿ¨§§ÿ§¨§ÿ¨¨¨ÿ¨§¨ÿ§§¨ÿ§¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©¨ÿ©¨¨ÿ¨©¨ÿ©©©ÿ¨©¨ÿ©©©ÿ©©©ÿª©©ÿ©ª©ÿªªªÿ©ª©ÿ©ª©ÿªªªÿªªªÿªªªÿ«ª«ÿª«ªÿªª«ÿª««ÿ««ªÿ«««ÿª««ÿ«««ÿ¬««ÿ««¬ÿ««¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ¬¬¬ÿ­¬¬ÿ­¬¬ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®®®ÿ®®®ÿ®®­ÿ­®®ÿ®®­ÿ®®®ÿ®®¯ÿ®¯¯ÿ®¯®ÿ¯®¯ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ¯¯¯ÿ¯¯¯ÿ¯°°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ°°°ÿ±°±ÿ°±±ÿ±±°ÿ±±±ÿ±±±ÿ²±±ÿ±±±ÿ±±±ÿ±²±ÿ±±²ÿ±±²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ³²²ÿ³³³ÿ³³³ÿ´³³ÿ´³³ÿ³´´ÿ³´³ÿ´³³ÿ´´³ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´´´ÿ´´µÿµ´µÿµµµÿµµµÿµµµÿµµµÿ¶µµÿ¶µµÿ¶¶µÿ¶¶¶ÿ¶µ¶ÿµ¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ···ÿ···ÿ¶··ÿ···ÿ¸··ÿ¸¸·ÿ·¸·ÿ·¸·ÿ¸¸¸ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿž©Ìÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿzõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿa‹õÿßâïÿîîîÿîîïÿîîïÿïïïÿïïïÿïïïÿïïïÿïïðÿðïðÿðïïÿðððÿïïðÿðïðÿðïðÿðððÿñððÿðððÿñññÿñññÿñðñÿðññÿñññÿñññÿñññÿòññÿñññÿòòòÿòòñÿòòòÿòòòÿòòòÿòóòÿòòóÿóòóÿòòóÿòóòÿóóóÿóóóÿóóóÿóóóÿóóóÿôôóÿôôôÿôóôÿôôôÿôôôÿôôôÿõôôÿõõôÿõôôÿôôõÿôõõÿôõõÿõõôÿõõõÿõõõÿõõõÿõõöÿõõöÿööõÿöööÿööõÿöööÿöööÿö÷öÿöö÷ÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷øÿ÷ø÷ÿ÷øøÿøøøÿ÷øøÿøøøÿøøøÿøøøÿùøøÿùøùÿøøøÿøùùÿùùùÿùùùÿùùúÿùùúÿùùùÿùúùÿúùùÿùùùÿúùúÿúúúÿúúúÿúúúÿûúúÿûûúÿûûúÿúúúÿúûûÿûúúÿûûûÿûûûÿüüûÿûüüÿûûûÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿýýýÿüüüÿüüüÿýýýÿýýýÿýýýÿýýýÿýýþÿýýþÿýþýÿþþýÿþþþÿþýþÿþþþÿþþþÿÿÿþÿÿÿþÿÿÿÿÿþþÿÿÿÿþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤¤£ÿ£¤£ÿ¤£¤ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¥¥ÿ¤¤¥ÿ¥¥¤ÿ¥¥¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¦ÿ¦¦¥ÿ¦¦¦ÿ¥¥¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§¨ÿ§¨§ÿ§§¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ©©¨ÿ©©©ÿ©¨¨ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿ©©ªÿ©ª©ÿ©ªªÿ©ª©ÿ©ªªÿªªªÿªªªÿª««ÿªªªÿª«ªÿ«ª«ÿª««ÿ««ªÿ«««ÿ«¬«ÿ«««ÿ¬«¬ÿ«««ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬­ÿ­­¬ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®®­ÿ®®­ÿ­­­ÿ®®®ÿ®®­ÿ®®®ÿ®®¯ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ¯°¯ÿ°°¯ÿ°¯¯ÿ¯¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±°±ÿ°±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ²±±ÿ²±±ÿ²²²ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²³³ÿ³³²ÿ³³³ÿ³²³ÿ²³²ÿ³³³ÿ³³³ÿ³³³ÿ³´³ÿ´´³ÿ³³´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´µ´ÿµµµÿµ´´ÿµµµÿµµµÿµµµÿµ¶µÿµµµÿµµ¶ÿ¶µµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ···ÿ·¶¶ÿ··¶ÿ··¶ÿ¶··ÿ¶··ÿ···ÿ···ÿ···ÿ¸¸·ÿ·¸¸ÿ··¸ÿ¸·¸ÿ¸¸¸ÿ³µ¼ÿ#|óÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿ|šôÿëìïÿïïïÿîîîÿïîîÿïîîÿïïïÿïïïÿïïïÿïïïÿïïðÿïðïÿïððÿððïÿððïÿðððÿðððÿðððÿðððÿñðñÿðððÿððñÿñññÿðññÿñññÿñññÿòòñÿñññÿòòòÿòòñÿòñòÿñòòÿòòñÿòòóÿóòóÿòóòÿòóòÿóóóÿóòóÿòóóÿóóóÿóóóÿóóóÿôóóÿóóóÿóóóÿóôôÿôôôÿôóôÿôôôÿôôôÿôôôÿõôõÿõôôÿôõõÿõôõÿõõõÿõõõÿõõõÿõööÿõõõÿõõöÿõöõÿöööÿöööÿöööÿöööÿöö÷ÿö÷öÿöö÷ÿ÷ö÷ÿö÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷øøÿ÷÷÷ÿøøøÿø÷øÿøøøÿø÷÷ÿøøøÿøøøÿøøùÿùøøÿøøùÿùùùÿùùùÿøùùÿùùùÿúúùÿúúùÿúúùÿùùùÿúúúÿùùùÿúúúÿúúúÿúúúÿúúúÿûûûÿûúúÿûûúÿûúûÿûûúÿûûûÿûûûÿûüûÿüüûÿûûûÿüüüÿûüüÿûüüÿüüüÿüüüÿýýüÿýüýÿüüüÿýüüÿýýýÿýýýÿüýýÿýýýÿýýýÿýþýÿýýýÿýýýÿþþþÿýýþÿýþþÿþþþÿþþþÿþþÿÿÿÿþÿþþþÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ£¤£ÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¤¤ÿ¥¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¥¥ÿ¦¥¦ÿ¥¥¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§¨ÿ§§¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿ©©ªÿª©ªÿ©ªªÿ©ªªÿªªªÿªªªÿªªªÿ«ª«ÿªª«ÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬«¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­¬­ÿ¬­¬ÿ­¬­ÿ­­­ÿ¬­¬ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ®®®ÿ­­­ÿ®®­ÿ®®®ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯°¯ÿ°°¯ÿ°¯°ÿ°°¯ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ±°±ÿ±°°ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±±²ÿ²±±ÿ±²±ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²²²ÿ²²²ÿ²³²ÿ²³²ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ³´´ÿ³´³ÿ´³³ÿ³´³ÿ´³³ÿ³³´ÿ´´´ÿ´´´ÿµµµÿµ´´ÿµµµÿµµµÿµ´µÿµµ´ÿµµµÿµµµÿ¶¶µÿµµ¶ÿµ¶µÿµµµÿ¶¶¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ¶¶¶ÿ¶·¶ÿ··¶ÿ···ÿ·¶·ÿ···ÿ¸··ÿ··¸ÿ···ÿ¸··ÿ¸¸·ÿ·¸¸ÿ¸¸¸ÿ^‹éÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿ qöÿŸ²óÿîîîÿîîïÿîîïÿîïîÿîïîÿîïïÿîïïÿïïïÿïïïÿïðïÿïïïÿïïïÿðððÿðððÿðððÿðïïÿðððÿðððÿðñðÿðððÿñððÿññðÿñññÿñññÿñññÿñññÿñññÿññòÿñòñÿòòòÿòòòÿòòñÿòòòÿòòóÿòóóÿòòòÿòóóÿóòóÿóóòÿóóóÿóóóÿóóóÿóôóÿóôóÿóóóÿôóôÿôóôÿôóôÿôôôÿôôôÿôôôÿôõôÿõôôÿõôõÿôõõÿõõõÿõõõÿõõõÿõõöÿõõõÿõõöÿõõõÿõöõÿõööÿöõöÿöööÿö÷÷ÿöö÷ÿöööÿ÷ööÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷÷øÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøùùÿùøùÿøùøÿøùùÿøùùÿùùùÿùùùÿùùùÿùùùÿúùùÿùúùÿúúúÿúúùÿúúúÿúúúÿúúúÿúúûÿûúúÿúúúÿûûúÿúúûÿûûûÿûûûÿûûûÿûûûÿüüûÿûüüÿûûüÿüüüÿüûüÿûûüÿûüüÿýüüÿüüýÿýýüÿýüüÿýüýÿüýýÿüýýÿýýýÿýþýÿþýþÿþþýÿþþýÿýþýÿýþýÿþýýÿþþþÿþþþÿÿþÿÿþþÿÿþÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ¤££ÿ£¤¤ÿ¤££ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¤¥¤ÿ¥¥¥ÿ¥¤¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¦ÿ¦¥¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦§ÿ¦¦§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨¨ÿ¨§¨ÿ¨¨¨ÿ§¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨©ÿ©©¨ÿ©©¨ÿ¨©¨ÿ©©©ÿ©©©ÿ©ªªÿ©©©ÿªªªÿªªªÿªª©ÿ©©ªÿªªªÿªªªÿªªªÿªªªÿª«ªÿ«««ÿ«ª«ÿ«««ÿ««ªÿ«««ÿ««¬ÿ«««ÿ¬««ÿ«««ÿ««¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­­­ÿ­­­ÿ­¬¬ÿ­­­ÿ­­­ÿ®­­ÿ­®®ÿ­®­ÿ®®­ÿ®­®ÿ®®®ÿ­®®ÿ®®®ÿ®®®ÿ®®¯ÿ®®®ÿ¯®®ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯°ÿ¯¯¯ÿ°°¯ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ°±±ÿ±±°ÿ±°±ÿ±°±ÿ±±±ÿ±²±ÿ±±±ÿ²²±ÿ²±±ÿ±²±ÿ²²²ÿ²²²ÿ²²²ÿ³²²ÿ²²²ÿ³³²ÿ³²²ÿ³³³ÿ³³²ÿ²³²ÿ³³³ÿ³³³ÿ´³´ÿ´´³ÿ³³´ÿ´´³ÿ´³´ÿ´³´ÿ´´´ÿ´´´ÿ´´´ÿµµµÿ´´µÿµµ´ÿµ´´ÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµ¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ¶¶·ÿ·¶·ÿ···ÿ¶··ÿ···ÿ···ÿ¸··ÿ···ÿ···ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿµ¶»ÿjåÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿoöÿoöÿoöÿ pöÿŸ²òÿìíîÿîîîÿïîîÿïîïÿîîîÿîïîÿîïïÿïïïÿïïîÿïïïÿïïïÿððïÿïïðÿðððÿððïÿïððÿðððÿðððÿñððÿñððÿñððÿððñÿñðñÿññðÿñññÿñññÿñññÿñòòÿññòÿòññÿòñòÿòòñÿññòÿòòòÿòòóÿòòòÿòóóÿóóóÿòòóÿóóóÿóóóÿóóóÿóóóÿôóôÿóóóÿóóóÿóôôÿôôôÿôôóÿôôôÿôõõÿôôõÿõõôÿôõôÿõôõÿõôõÿõõõÿõõôÿõõõÿõõõÿöõõÿõöõÿööõÿöõöÿöööÿöööÿöööÿ÷ööÿöööÿ÷÷öÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿø÷÷ÿ÷øøÿ÷ø÷ÿ÷øøÿø÷øÿøøøÿøøøÿøøùÿùøùÿùøùÿùøùÿùùùÿùùùÿùùùÿùúùÿùùùÿùúúÿúúùÿúúúÿúùúÿúùúÿúúùÿúúúÿúúúÿúúúÿúûûÿûûúÿúûûÿûûúÿûûûÿûûûÿûûûÿüüûÿüûûÿüüûÿüüüÿüüüÿüüüÿüüüÿüüüÿýüüÿüüýÿýüýÿüýýÿýüýÿýýýÿýýýÿþýýÿýýýÿýýýÿþýýÿþýýÿþþýÿþýþÿþþþÿþþþÿþþþÿþþþÿÿþÿÿþþþÿþÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¢££ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ££¤ÿ¤¤¤ÿ¤¤£ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¥ÿ¤¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¥¦ÿ¥¦¦ÿ¦¦¦ÿ§¦¦ÿ¦§¦ÿ§¦¦ÿ¦§¦ÿ¦¦§ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨¨§ÿ§¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿ©©©ÿ©©©ÿª©©ÿªª©ÿªª©ÿªªªÿ«ªªÿ«ª«ÿª«ªÿ««ªÿ««ªÿª««ÿ«««ÿ«««ÿ«««ÿ¬«¬ÿ««¬ÿ«««ÿ«¬¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬¬ÿ­¬¬ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­®­ÿ®®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®®®ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ°¯¯ÿ¯°¯ÿ°°°ÿ¯°°ÿ°°°ÿ°°°ÿ°°±ÿ°°°ÿ°±±ÿ°±°ÿ±°±ÿ±°±ÿ±±±ÿ±±±ÿ±±±ÿ²²±ÿ±±±ÿ±²±ÿ±²²ÿ²±²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ³³²ÿ²²³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ´³´ÿ´³³ÿ´´´ÿ´´´ÿ´³³ÿ´´´ÿ´´´ÿ´µ´ÿ´µ´ÿµµ´ÿ´µ´ÿµ´µÿµµ´ÿµµ´ÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶¶¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶·¶ÿ¶·¶ÿ¶¶·ÿ¶·¶ÿ¶··ÿ··¶ÿ¶··ÿ···ÿ···ÿ·¸¸ÿ···ÿ·¸·ÿ··¹ÿ†œÙÿyõÿyõÿyõÿyõÿyõÿyõÿyõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿ;zöÿÄÍñÿîîîÿîîïÿîïîÿîîîÿîîïÿîîîÿïîïÿîïïÿïïïÿïïïÿïðïÿïïïÿðïïÿïððÿððïÿððïÿðððÿðððÿðñðÿðñðÿñññÿðñðÿñðñÿñðñÿñññÿñññÿòññÿñòñÿñòñÿñòñÿòòòÿòòñÿòòòÿòòòÿòòòÿòòòÿòóóÿòóòÿóòòÿóòóÿóóóÿóóóÿóóóÿóôóÿóôóÿóôóÿôóôÿôóôÿôôôÿôôôÿôôôÿôôõÿôõôÿõôôÿõõôÿôôõÿõõõÿõõõÿöõõÿõõõÿõõöÿõööÿõõõÿööõÿöööÿöööÿöööÿ÷÷öÿöööÿ÷÷÷ÿö÷÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷øÿø÷øÿø÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿøùùÿùøøÿùùùÿùøøÿùùùÿùùùÿùùùÿùùùÿúúùÿùúùÿúúùÿúùúÿùùúÿúúúÿúúúÿúúúÿúúûÿûúûÿûûûÿúûûÿûúúÿûúûÿûûûÿûûûÿûûûÿûûûÿüüüÿûüûÿûüüÿüüüÿüüüÿüüüÿüüüÿüüýÿüüýÿüýýÿýýüÿüüýÿýýýÿýýýÿýýýÿþýýÿþþþÿþýýÿþýþÿýþþÿþþþÿþþþÿþþþÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¢££ÿ¢££ÿ£¢£ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£¤£ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¤¤ÿ¤¥¤ÿ¥¥¤ÿ¤¥¤ÿ¥¤¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¦ÿ¥¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ¦¦§ÿ§§§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ§¨§ÿ¨¨¨ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©ª©ÿ©©©ÿªª©ÿª©ªÿªª©ÿªªªÿªª«ÿª«ªÿ«ª«ÿ«ª«ÿ«««ÿ«ªªÿ««ªÿ«««ÿ«««ÿ«¬«ÿ¬««ÿ«««ÿ«««ÿ«««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­¬ÿ­­­ÿ­­®ÿ­®­ÿ­®®ÿ®®®ÿ®®­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ®®¯ÿ®¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ±°°ÿ±°±ÿ±±±ÿ±±°ÿ±±±ÿ±±±ÿ±±²ÿ±±±ÿ±±²ÿ±²²ÿ²²±ÿ±²²ÿ²²²ÿ²²²ÿ²²²ÿ²³²ÿ²²³ÿ²³³ÿ³³³ÿ³²³ÿ³³³ÿ³³³ÿ³³³ÿ³³³ÿ´³³ÿ´´³ÿ´³´ÿ´´³ÿ´´³ÿ´´´ÿ´´µÿ´´´ÿµ´µÿ´´´ÿµµ´ÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶µ¶ÿ¶¶µÿ¶µµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ··¶ÿ···ÿ··¶ÿ···ÿ···ÿ···ÿ·¸·ÿ˜¥Ðÿ+|òÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿGõÿÙÝðÿîîîÿîîîÿîïîÿïîîÿïïïÿïîïÿïïïÿïïïÿïïïÿïïïÿðïïÿïïðÿïðïÿïððÿïððÿðððÿððñÿñððÿðððÿñðñÿñðñÿñññÿðññÿñññÿñññÿñññÿñññÿñòòÿññòÿòñòÿñòòÿòñòÿòòòÿòòòÿóòòÿóòòÿòòòÿòóòÿóóòÿóóóÿóóóÿóóóÿóôóÿóóôÿôóôÿóóóÿóôôÿôóôÿôóôÿôôôÿôôõÿõôôÿõôõÿõõõÿôôõÿôôõÿôôõÿõõõÿõõõÿõõõÿõöõÿöõöÿöööÿöõöÿöööÿöööÿöööÿöööÿöööÿ÷ööÿ÷÷÷ÿö÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿ÷÷÷ÿ÷øøÿø÷÷ÿ÷øøÿøøøÿøøøÿøøøÿùùùÿøøùÿùùøÿøùùÿùùùÿùùùÿùùùÿùùùÿùúúÿùúúÿùúùÿùúúÿúúùÿúúúÿúúúÿûúúÿúúúÿúûúÿûúúÿûûúÿúûûÿûûûÿûûûÿûûûÿûüûÿüûûÿûûûÿüüüÿûûüÿüüüÿüüüÿüüüÿüüüÿüüüÿýüüÿýýýÿüüüÿýüýÿýýýÿýýýÿýýýÿýýýÿþýýÿýþýÿýþþÿþýýÿýþýÿþþþÿþþþÿþÿþÿÿþþÿÿÿÿÿÿþþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¢£¢ÿ££¢ÿ¢££ÿ¢£¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ£££ÿ¤¤£ÿ£££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¥¤¤ÿ¤¤¥ÿ¥¥¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¦¥¦ÿ¥¥¥ÿ¦¥¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ¨¨¨ÿ§§¨ÿ¨§§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨¨ÿ¨©¨ÿ¨¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©ªªÿ©©ªÿªªªÿªªªÿªªªÿªªªÿ«ªªÿªª«ÿªª«ÿª«ªÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬««ÿ«¬¬ÿ««¬ÿ««¬ÿ¬«¬ÿ«¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬¬ÿ¬¬¬ÿ¬­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®®®ÿ­®®ÿ®­­ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ¯®¯ÿ®¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ°°¯ÿ°°°ÿ°¯¯ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ°±°ÿ°°±ÿ±±°ÿ±±°ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±²±ÿ±²²ÿ²±²ÿ²²±ÿ²²²ÿ²²²ÿ²²²ÿ³³³ÿ³²²ÿ²²²ÿ³³³ÿ³³³ÿ³³³ÿ³³´ÿ³´³ÿ´³³ÿ´³´ÿ´³³ÿ³´³ÿ³´´ÿ´´´ÿ´´´ÿµ´´ÿµµµÿµ´´ÿµµµÿµ´µÿµµµÿµµµÿµµµÿµ¶µÿµ¶¶ÿµµµÿµ¶¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶¶ÿ¶¶¶ÿ¶··ÿ··¶ÿ¶··ÿ·¶·ÿ···ÿ···ÿ¦­Åÿ<€ðÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿl‘õÿàãïÿîîîÿîîîÿîîîÿîîîÿîïïÿïïïÿïïïÿïïïÿïïðÿïïðÿïïïÿïïïÿðððÿðððÿïððÿðððÿðððÿððñÿððñÿððñÿñðñÿñðñÿñññÿñññÿññòÿñòñÿñññÿòññÿòòñÿòñòÿòòñÿòòòÿòòòÿòòòÿòòóÿòòòÿóòóÿóóòÿòóóÿóóóÿóóóÿôóóÿôóóÿôóóÿóóóÿóôóÿôóôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõõÿôôõÿôõõÿõõõÿõôõÿõõõÿõöõÿõõöÿöõõÿõöõÿöööÿöööÿööõÿöööÿ÷÷öÿöööÿö÷öÿöö÷ÿöö÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷÷øÿ÷ø÷ÿ÷÷øÿøøøÿøøøÿøøøÿùøøÿøøøÿøøøÿùøùÿøøùÿùùùÿùùùÿúùùÿùùùÿùùùÿùùúÿùùúÿúúúÿúúúÿùúúÿúúúÿúúûÿúûúÿúúûÿúûúÿûúûÿûûûÿûûûÿûûûÿüûüÿûûüÿûûûÿüüüÿüûüÿûüüÿüüüÿüüüÿüüüÿüüüÿýýýÿüýýÿüýüÿüýüÿýýýÿýýýÿýýýÿþýýÿýýýÿþþýÿýþýÿþýþÿþþþÿþþþÿþþþÿþþþÿþþÿÿþþÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ£¢£ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¤¤¤ÿ¥¤¤ÿ¤¥¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¥¥ÿ¥¦¥ÿ¦¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦§§ÿ§§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨§ÿ¨¨§ÿ¨¨¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©©¨ÿ¨¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿª©ªÿª©ªÿªªªÿªªªÿª«ªÿªª«ÿªª«ÿ«ªªÿªªªÿ«««ÿ««ªÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ¬«¬ÿ¬«¬ÿ¬««ÿ¬««ÿ¬¬¬ÿ­¬¬ÿ¬¬¬ÿ¬­¬ÿ­­­ÿ­¬¬ÿ¬­­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ®®®ÿ®¯®ÿ®®®ÿ®®®ÿ¯®¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯¯ÿ¯°¯ÿ¯°¯ÿ°°°ÿ¯°°ÿ°°¯ÿ°°°ÿ°°°ÿ°°°ÿ°±±ÿ°°°ÿ±±±ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ±²±ÿ±±±ÿ±±±ÿ²²±ÿ±²±ÿ²²²ÿ³²²ÿ³²²ÿ³²³ÿ³²²ÿ³³³ÿ³³²ÿ³³²ÿ³³³ÿ²³´ÿ³³³ÿ³³³ÿ³³´ÿ³³³ÿ³³³ÿ´´³ÿ³´´ÿ´´´ÿ´µ´ÿ´´´ÿ´´µÿ´µ´ÿ´µ´ÿ´µµÿµµ´ÿµµµÿµµµÿµµµÿ¶µ¶ÿµ¶¶ÿµ¶µÿµµ¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶··ÿ¶··ÿ¶··ÿ··¶ÿ¶··ÿ···ÿ°³½ÿU‡ëÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿnöÿnöÿnöÿnöÿnöÿnöÿpöÿ”©óÿéêîÿîîîÿîîîÿïïïÿïîîÿïîïÿïîïÿïïïÿïïïÿïïïÿïïðÿïðïÿðïïÿððïÿðððÿðïïÿðððÿðððÿðññÿðððÿððñÿðññÿñññÿðññÿññðÿñññÿñññÿòòòÿññòÿòòòÿòññÿòòòÿòòòÿòòòÿòòòÿóòòÿòóòÿóòòÿòòóÿóòóÿòóóÿóóóÿóóóÿóôôÿóôôÿóôóÿôóôÿóôôÿôôôÿôôóÿôôôÿõôôÿõôôÿõôôÿõôôÿõõõÿôõõÿõõõÿöõõÿöõöÿõõõÿöõõÿööõÿööõÿöööÿöööÿöööÿö÷öÿ÷ööÿöö÷ÿ÷÷÷ÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿøøøÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿùøùÿøøøÿøùùÿøùùÿøùøÿùøøÿùùùÿùùùÿùùùÿùùùÿùùùÿúùúÿúúùÿúúúÿúùúÿúúúÿûúúÿúúúÿúúúÿúúûÿúûûÿûûûÿûûúÿûûûÿûûüÿûûüÿûûüÿüûûÿüûüÿûüüÿûüüÿüüüÿüüüÿýüüÿüüüÿýýýÿýüüÿýýüÿýüüÿýýýÿýýýÿýýýÿýýýÿýýþÿýþýÿýýþÿþýþÿþþþÿþþþÿþþþÿþþþÿÿþþÿÿÿþÿÿþþÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¢££ÿ¢£¢ÿ¢¢¢ÿ£££ÿ¢¢£ÿ£¢¢ÿ£££ÿ£££ÿ£¤£ÿ££¤ÿ£¤¤ÿ¤££ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¥¤¤ÿ¤¥¥ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¦¥¦ÿ¥¦¥ÿ¥¥¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¥¦ÿ¦¦¦ÿ§¦¦ÿ§§¦ÿ§¦¦ÿ§§¦ÿ§§¦ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨§§ÿ§¨§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨©¨ÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿªªªÿª©ªÿªªªÿªªªÿªªªÿªªªÿª«ªÿªªªÿª«ªÿ«««ÿ«««ÿ«««ÿ«««ÿ¬¬¬ÿ«¬«ÿ¬¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ¬¬­ÿ¬­¬ÿ¬­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ­®®ÿ®®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®¯¯ÿ¯®¯ÿ¯¯¯ÿ®¯®ÿ¯®¯ÿ¯¯¯ÿ°¯¯ÿ¯°°ÿ¯¯°ÿ¯¯¯ÿ¯°°ÿ°°°ÿ¯°°ÿ°°°ÿ°°°ÿ°°°ÿ°°°ÿ±°°ÿ±°°ÿ°±±ÿ±±±ÿ±±±ÿ±±±ÿ±±±ÿ²±±ÿ±²²ÿ±²±ÿ²±²ÿ±±±ÿ²²²ÿ²²²ÿ²²³ÿ³²²ÿ²²³ÿ®±·ÿ¢©Âÿ”¢Íÿ†›Õÿƒš×ÿ‡›ÕÿŒŸÒÿ’¡Ïÿ•¢Ìÿš¥Éÿ§ÇÿŸ¨Æÿ ©Æÿ¢ªÅÿ£ªÃÿ¥¬Âÿ§­Áÿ§­Àÿ©®¾ÿª®¾ÿ­°½ÿ®±¼ÿ°²ºÿ²³¹ÿ³´¹ÿ´´¸ÿµ¶¶ÿ¶µµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶·ÿ··¶ÿ··¶ÿµ¶¸ÿ}—Ýÿyôÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿ²¾òÿííïÿîïîÿîïïÿîïîÿîîîÿïîîÿïïïÿïïïÿïïïÿïïïÿïïïÿðïïÿîîðÿííïÿííðÿëìïÿêëðÿèêðÿçéñÿçèñÿåçñÿäåòÿâäòÿáäòÿßãòÿÞâòÿÝàóÿÜàóÿÛßòÿØÝòÿ×ÜòÿÖÛòÿÕÚòÿÖÛóÿÜàóÿéêóÿòóòÿòòóÿóóóÿóóóÿóóóÿóóóÿóôóÿôóóÿóóôÿôóóÿóôóÿóôôÿôôôÿôôôÿôôôÿôôôÿôõõÿôôôÿõõôÿôõõÿõõôÿõõõÿõõõÿõõõÿõõõÿöõõÿõõõÿöõöÿõööÿöööÿöööÿö÷öÿöö÷ÿöööÿ÷÷÷ÿ÷ööÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷øÿ÷ø÷ÿøø÷ÿøøøÿøøøÿøøøÿùøøÿøùøÿøùøÿøøùÿùùùÿùøùÿùùùÿùùùÿùúùÿùùùÿùùùÿùúúÿùúùÿùúùÿúúúÿúúúÿúûúÿúúúÿûûûÿúûûÿúûûÿûûûÿûûûÿûûûÿûûûÿüüûÿüûüÿûûüÿûüüÿüüüÿüüüÿüüüÿüüüÿýüýÿüüüÿüüüÿýüýÿýýýÿýýýÿýýýÿýýýÿýýýÿýýýÿýþýÿþýýÿþýþÿýþþÿþþþÿþþþÿþþÿÿþÿÿÿÿþþÿþÿÿÿþÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¢¢¢ÿ¢£¢ÿ¢£¢ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£££ÿ¤££ÿ¤££ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¥ÿ¤¥¥ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¦ÿ¥¦¦ÿ¦¥¥ÿ¦¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦§§ÿ¦§¦ÿ§§§ÿ§§¦ÿ§¦§ÿ¦§§ÿ§§§ÿ¨§§ÿ§§§ÿ§¨§ÿ§§¨ÿ§¨§ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨©©ÿ©¨©ÿ©¨¨ÿ¨©¨ÿ¨©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿ©ª©ÿªªªÿªª©ÿªª©ÿªªªÿªªªÿªªªÿ«ªªÿ«ªªÿª««ÿª««ÿ«««ÿ«««ÿ««¬ÿ«««ÿ««¬ÿ¬¬¬ÿ¬««ÿ¬«¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬¬ÿ­­­ÿ­­­ÿ­¬­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ®®®ÿ®¯®ÿ®¯®ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯°ÿ¯°°ÿ¯°°ÿ¯°°ÿ¯¯°ÿ°°°ÿ°°°ÿ°°°ÿ°°±ÿ±°±ÿ±°°ÿ±±±ÿ±±°ÿ±±°ÿ±±±ÿ±±±ÿ±±±ÿ²²±ÿ²±²ÿ²±±ÿ²²±ÿ²±²ÿ²²²ÿ²²²ÿ²³²ÿ›¦ÆÿdŒåÿ3~ñÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿxõÿyôÿ zóÿ,|òÿ2}ñÿ9ðÿ@ïÿE‚îÿJƒíÿN…ìÿT‡êÿWˆêÿ[‰èÿ_ŠçÿbŒæÿfåÿiŽäÿmãÿr’áÿy•Þÿ~˜Üÿ„šÙÿˆž×ÿ Õÿ’¢Òÿ–¤ÐÿŠžÖÿ%{óÿxõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿwõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿvõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿuõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿtõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿsõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿrõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqõÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿqöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿ1vöÿ«¹òÿ¾Èòÿ¹ÅòÿµÀòÿ°¾ñÿ«»óÿ¨¸òÿ¡²óÿœ¯óÿ—¬ôÿ§ôÿ¥ôÿ‹£ôÿ† ôÿ…Ÿôÿœõÿ|šõÿz˜õÿv•õÿs“õÿp’õÿjŽõÿeŒõÿcŠõÿ\‡õÿV„õÿRöÿJ~öÿD|öÿyðÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿa…õÿãåðÿïïïÿïïïÿïïðÿïððÿðððÿïððÿðððÿðððÿðððÿððñÿñððÿñððÿñññÿññðÿðññÿññðÿñññÿñññÿññòÿòòñÿñòòÿòñòÿòòòÿòñòÿòòòÿòòóÿòóòÿòóóÿòóóÿóóòÿóóòÿóòóÿóóóÿóóóÿóóóÿóóóÿóôôÿóôôÿôóôÿôôôÿôôôÿôôôÿôôôÿôôôÿõõõÿõôõÿôõôÿôõõÿõõõÿõöõÿõõõÿõõöÿõööÿöõõÿöööÿöööÿöööÿöööÿ÷ööÿöööÿöööÿöööÿö÷÷ÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿ÷ø÷ÿ÷ø÷ÿø÷øÿøøøÿøøøÿøøøÿøøøÿøùøÿøùøÿùùùÿùøøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùúÿùùùÿùúúÿúùùÿúúúÿúúúÿúúúÿúûûÿúúúÿúúúÿúúûÿûúûÿûûûÿûûûÿûûûÿûûüÿûüüÿûûüÿûûûÿüüûÿûüüÿüüüÿüüüÿüüüÿüüýÿüýýÿýýýÿýýüÿüýýÿýýýÿýýýÿýýýÿþþþÿýþýÿþýýÿýþþÿþþþÿþþþÿþþÿÿÿÿþÿÿþþÿþþþÿþÿÿÿþþÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ŸŸÿ ŸŸÿŸ ŸÿŸ  ÿ  Ÿÿ ŸŸÿ   ÿ   ÿ   ÿ¡  ÿ ¡¡ÿ ¡ ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¡¡¡ÿ¢¢¢ÿ¢¡¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢£ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤¤ÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¥¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¦ÿ¥¦¥ÿ¦¦¥ÿ¥¥¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦§ÿ¦§¦ÿ¦§¦ÿ§¦¦ÿ§§§ÿ¦¦§ÿ¦¦§ÿ§§§ÿ§§§ÿ¨§¨ÿ§§§ÿ§¨§ÿ¨¨§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©¨©ÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿ©©ªÿ©©©ÿªª©ÿ©©©ÿªªªÿªª©ÿªªªÿªªªÿªªªÿ«««ÿ««ªÿªª«ÿ«««ÿ«««ÿ«««ÿ¬««ÿ«««ÿ¬«¬ÿ¬«¬ÿ««¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­­®ÿ®­®ÿ­­­ÿ®­®ÿ®­®ÿ®®®ÿ®¯®ÿ¯®®ÿ®®®ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯¯ÿ°°°ÿ¯°°ÿ¯¯°ÿ¯°°ÿ°°°ÿ°°°ÿ•Öÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿ föÿ¤²óÿíîïÿïïïÿïïïÿïïïÿïïðÿïïðÿðððÿðïðÿðððÿðððÿðñðÿðððÿñððÿñññÿñññÿðððÿñññÿñññÿñññÿñññÿññòÿòòñÿòòñÿòòòÿñòòÿòòòÿòòòÿòóòÿòòòÿóóòÿóóóÿóóóÿóóóÿóóóÿóóóÿôóóÿóóóÿóóóÿóóôÿôôóÿôôôÿôôôÿôôôÿôôõÿôõôÿõôôÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõöõÿööõÿöööÿöööÿöõöÿöööÿöööÿöö÷ÿö÷÷ÿ÷ööÿ÷ööÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿøø÷ÿ÷øøÿø÷øÿ÷÷øÿøøøÿøøøÿøøøÿøøùÿùøøÿøøøÿùøøÿùøùÿùøøÿùøøÿùùùÿùúùÿùùúÿùùùÿùùúÿùùùÿúúùÿúúúÿúúúÿúúúÿúúúÿúúûÿúúúÿûúûÿûúûÿúûúÿûûûÿûûûÿüüûÿûûûÿûüüÿûûüÿüûüÿüüüÿüüüÿüüüÿüüýÿüüýÿüýüÿüüýÿýýüÿüýüÿýýýÿýýýÿýýýÿýþýÿþýþÿýþýÿýýþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿÿÿÿÿÿÿþÿþÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿ ŸŸÿ   ÿ   ÿ   ÿ ¡ ÿ¡  ÿ   ÿ¡  ÿ¡¡¡ÿ¡¡ ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢££ÿ¢£¢ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£££ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¤¤¥ÿ¥¥¥ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§¦ÿ¦§¦ÿ¦§§ÿ¦¦§ÿ§¦§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ§§§ÿ¨§§ÿ§¨§ÿ¨§¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ¨©©ÿ¨©©ÿ©©¨ÿ¨©¨ÿ¨©©ÿ©©©ÿª©©ÿª©©ÿ©ªªÿ©ª©ÿªª©ÿªªªÿªªªÿªªªÿªªªÿ«««ÿªªªÿªªªÿ««ªÿ«««ÿª««ÿ«««ÿ¬««ÿ«««ÿ¬««ÿ««¬ÿ«««ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬¬ÿ­¬¬ÿ¬­­ÿ¬­­ÿ¬­¬ÿ­­­ÿ­­­ÿ­­®ÿ®­®ÿ­­®ÿ®­­ÿ®­­ÿ­®­ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ¯®®ÿ®¯¯ÿ®¯®ÿ¯®¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯°ÿ¯¯¯ÿ°°°ÿ°°°ÿ°°°ÿ§«¹ÿ6wñÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿpöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿ;röÿÔÙðÿîîïÿïïïÿïïïÿïðïÿïïïÿïðïÿïïïÿððïÿðïðÿðððÿðððÿðððÿððñÿññðÿñððÿñðñÿðñðÿñðñÿñññÿññòÿñññÿñòñÿñòñÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòóóÿóòòÿóóóÿóóóÿóóóÿóóóÿóóóÿôóôÿóóóÿóôóÿôôôÿôôóÿôôôÿôôôÿôôôÿôôôÿôôõÿõôõÿõôõÿôõõÿõõôÿõõõÿõõöÿöõõÿõöõÿöööÿõööÿöööÿöõõÿöööÿöööÿöööÿ÷ööÿöööÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿøø÷ÿø÷øÿø÷øÿøøøÿøøøÿøøøÿøøùÿøùùÿùùùÿùøùÿøùøÿùøùÿøùùÿùùùÿùùùÿùùùÿùùùÿúúúÿùúúÿúúúÿúúúÿúúúÿúúúÿûúúÿûúúÿúûúÿûûûÿûûúÿûûûÿûûûÿûûûÿûûüÿûûûÿûûûÿûûûÿüüüÿüüüÿüûûÿüüüÿýüüÿüüüÿüüýÿýýýÿüýýÿýýüÿýýýÿýýýÿýýýÿýýþÿýýýÿýþþÿþþþÿþþþÿþþþÿþþþÿþÿþÿþÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿ ŸŸÿŸ  ÿŸ  ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ¡¡¡ÿ¡¡ ÿ ¡ ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ£¢£ÿ¢¢¢ÿ¢¢£ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤£¤ÿ¤¤¤ÿ¤£¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¥ÿ¥¤¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¦¥ÿ¦¦¥ÿ¥¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ§¦§ÿ¦§§ÿ§¦¦ÿ¦§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ¨§¨ÿ§¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ©¨¨ÿ©¨¨ÿ¨¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿª©ªÿ©©©ÿ©©©ÿª©ªÿªª©ÿªªªÿªªªÿªª«ÿªª«ÿªªªÿªªªÿ««ªÿ«ª«ÿ««ªÿ«««ÿ«¬¬ÿ««¬ÿ¬¬«ÿ««¬ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬­ÿ­­¬ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ®®­ÿ®®­ÿ®­®ÿ®®­ÿ®­®ÿ®®®ÿ®¯®ÿ¯¯®ÿ®¯®ÿ¯¯®ÿ®¯®ÿ¯®®ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ°¯¯ÿ°°°ÿ°°°ÿ°°°ÿ®¯²ÿwÜÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿ}–õÿïïïÿïïîÿïïîÿïïïÿïïïÿïðïÿïðïÿðïðÿððïÿïððÿðððÿðððÿðððÿðððÿðððÿññðÿðñðÿñññÿñðñÿñññÿñññÿñññÿñññÿòòñÿñòñÿòòñÿññòÿòñòÿòòòÿòòòÿòóòÿòóòÿòòóÿòòòÿóòóÿóóóÿóóóÿóóóÿóóóÿóôóÿôóôÿôôôÿôôôÿôôóÿôôôÿôôôÿôôôÿõõôÿôôôÿôôõÿõõõÿõõõÿõôõÿõõõÿõõöÿöõõÿõõõÿõõõÿöööÿöööÿöõöÿöööÿöööÿöööÿöööÿö÷÷ÿö÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿ÷ø÷ÿø÷øÿ÷øøÿ÷øøÿøøøÿøøøÿøøùÿøùøÿùøøÿùùøÿùùùÿùùøÿùùùÿùùùÿùùùÿùùùÿùúúÿùùúÿúùúÿùúùÿùúúÿúúúÿúúûÿúûûÿúúûÿûúúÿúúúÿûûûÿûûûÿûûûÿûûûÿûûûÿûüüÿüüûÿüüûÿüüüÿûüüÿüüüÿüüüÿýýýÿýýýÿüüýÿüýýÿüýýÿýýýÿýüýÿýýþÿýýýÿþýýÿýþþÿýþþÿþþýÿþþþÿþþþÿþþþÿþþÿÿÿþþÿþÿþÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿžžŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸŸÿŸŸŸÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ¡¡ ÿ ¡ ÿ ¡¡ÿ   ÿ ¡ ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¢ÿ¢¡¡ÿ¢¡¢ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ¢¢£ÿ¢££ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¥ÿ¥¥¥ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¥¥ÿ¦¦¥ÿ¥¦¦ÿ¥¦¥ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§§¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨§§ÿ§§¨ÿ¨¨§ÿ§¨¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ¨¨¨ÿ¨©¨ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿ©ª©ÿ©ªªÿªªªÿªªªÿªªªÿªªªÿ«ªªÿªªªÿªª«ÿªªªÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ«««ÿ«««ÿ««¬ÿ¬¬¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ¬­­ÿ¬¬¬ÿ¬­¬ÿ¬­¬ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ®®®ÿ­®­ÿ­®®ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®®®ÿ®¯®ÿ¯®®ÿ¯¯®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ°°¯ÿ°°¯ÿ¯¯¯ÿ¯°°ÿ¯°°ÿš¢Åÿ.tòÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿÌÒðÿïîïÿîïîÿïïïÿîïïÿïïïÿïïïÿïïïÿïððÿïðïÿïððÿïðïÿðððÿðððÿðððÿñððÿððñÿñððÿðñðÿññðÿñððÿñññÿñññÿñññÿññòÿññòÿòòñÿñòòÿòòòÿòòòÿòòòÿòòòÿòóóÿòòòÿóóóÿòóóÿòòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóóÿôôôÿôôôÿôôôÿóôôÿôôõÿôõôÿôôôÿõõõÿõõõÿõôõÿõõõÿõõõÿõõõÿöõõÿõõõÿööõÿõõöÿöõõÿöööÿöööÿöööÿöööÿ÷÷÷ÿöööÿö÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿ÷ø÷ÿø÷÷ÿ÷øøÿøø÷ÿ÷ø÷ÿ÷øøÿøùøÿøøùÿøùøÿùøøÿøùøÿùùùÿùùùÿùøùÿùùùÿúùùÿùùúÿùúùÿùùúÿúúùÿúúúÿúúúÿûúúÿúúûÿúûúÿúúúÿúúûÿûûûÿûûûÿûûûÿûûûÿûûûÿüûüÿûüüÿûûüÿûûüÿüüüÿüüüÿüüüÿýüüÿýýüÿýýýÿüýüÿýýýÿüüýÿýýýÿýýýÿýýýÿýýýÿýýþÿýýþÿýýýÿýþþÿþþþÿþþþÿþþþÿþþþÿÿþÿÿþÿÿÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸ  ÿ   ÿŸ Ÿÿ   ÿ   ÿ   ÿ   ÿ¡  ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡ ÿ¡¡¢ÿ¡¡¡ÿ¢¡¢ÿ¢¡¢ÿ¢¡¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ£¢£ÿ££¢ÿ£££ÿ£££ÿ£¢£ÿ£££ÿ¤££ÿ£££ÿ££¤ÿ¤¤¤ÿ£¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ§¦¦ÿ¦¦§ÿ¦§¦ÿ¦¦§ÿ¦§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ¨§¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ¨¨¨ÿ¨¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿ©ªªÿª©©ÿ©©©ÿªªªÿªªªÿªªªÿªªªÿªªªÿª«ªÿªª«ÿª««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ«««ÿ¬««ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­­­ÿ¬­¬ÿ­¬¬ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®­­ÿ­®­ÿ®®­ÿ®­­ÿ­®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯¯¯ÿ®¯¯ÿ¯¯®ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯¯ÿ°¯¯ÿ°°°ÿ°°°ÿ®¯²ÿ[‚èÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿuôÿééïÿîîîÿïîîÿîïïÿïîîÿïïïÿïïïÿïïïÿïïïÿððïÿðïðÿðïðÿðïðÿððïÿðððÿððñÿñððÿððñÿðððÿññðÿññðÿññðÿñññÿñññÿñññÿñññÿñòòÿññòÿñòñÿññòÿòòòÿòòòÿòòòÿóóòÿòòòÿóòóÿòòóÿóòóÿóóóÿóóóÿóóôÿóóóÿóôôÿóóóÿóôóÿôôóÿóôôÿôôôÿôôôÿôõôÿôôôÿôõôÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿõöõÿõöõÿöõõÿõööÿõööÿöööÿöööÿöööÿöööÿöö÷ÿö÷öÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿøø÷ÿø÷øÿ÷÷÷ÿøøøÿø÷øÿøøøÿøøøÿøøøÿøøøÿøùùÿøùùÿùøùÿùøøÿùùùÿùùúÿúùùÿùùùÿúúùÿùùúÿúùúÿúúúÿúúúÿúúúÿúúúÿûûúÿúúúÿûúúÿûúúÿûûûÿûûûÿûûûÿûûûÿûûüÿûûüÿûüûÿüüûÿüüüÿüüüÿüüüÿýüüÿýüüÿüýüÿüüýÿüüüÿýýýÿýýüÿýýýÿýýýÿýýýÿþýýÿþýþÿýþýÿýþþÿþþþÿþþþÿþþþÿþÿþÿþþþÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ  ÿŸŸŸÿŸ Ÿÿ   ÿ Ÿ ÿ   ÿ   ÿ   ÿ ¡ ÿ¡ ¡ÿ ¡¡ÿ¡¡¡ÿ¡  ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢£¢ÿ£££ÿ££¢ÿ££¢ÿ£££ÿ¤¤£ÿ£££ÿ£££ÿ¤££ÿ££¤ÿ¤¤¤ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¤¥¥ÿ¤¤¤ÿ¤¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ¦§¦ÿ¦§§ÿ¦§§ÿ§§§ÿ§§¨ÿ§§§ÿ¨§§ÿ§¨§ÿ¨§¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨¨ÿ¨¨¨ÿ©©¨ÿ¨©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿ©©ªÿªªªÿª©©ÿ©ª©ÿª©©ÿª©ªÿªª©ÿªªªÿªªªÿª«ªÿªªªÿ«««ÿª««ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬«¬ÿ«¬¬ÿ¬«¬ÿ«¬«ÿ«¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®®­ÿ­­­ÿ­®­ÿ®®®ÿ®­®ÿ®®®ÿ®®®ÿ¯®®ÿ®¯®ÿ®¯®ÿ¯¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ°°¯ÿ“ŸÊÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿoöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿföÿ¹Âòÿííîÿïîîÿîîîÿïïîÿîïïÿîïïÿïïïÿïïïÿïðïÿðïïÿïïïÿððïÿðððÿðïðÿðððÿðððÿñðñÿñððÿðððÿððñÿñððÿñðñÿñññÿñññÿñññÿñññÿñññÿññòÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿòòòÿòòóÿóóóÿóòóÿóóóÿóóóÿóóóÿóóóÿôôóÿôóôÿóôôÿôôôÿôóôÿôôôÿôôôÿôôôÿôôôÿõôôÿõõõÿôôõÿõõõÿõõõÿõõõÿõöõÿõõöÿöõöÿõöõÿõõõÿööõÿöööÿöööÿöööÿöööÿöö÷ÿ÷ööÿ÷ööÿö÷öÿ÷ö÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿøø÷ÿø÷øÿøøøÿøøøÿøøøÿøøùÿøùøÿøøøÿøùùÿùùøÿùùùÿùùùÿùùùÿúùùÿùùùÿùúùÿúùùÿùúùÿùùúÿúúúÿúúúÿúúúÿúûúÿúúûÿúûúÿúûûÿûúûÿûûûÿûûûÿûûûÿûüüÿûüûÿûüüÿûûüÿûüüÿüüüÿüüüÿüýüÿüüüÿüüýÿüýýÿýýüÿýüýÿýýýÿýýýÿýýýÿþýþÿýýýÿþýýÿþýþÿýþþÿýþþÿþþþÿþþþÿþþþÿþþþÿÿÿþÿÿþÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿžžŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸŸÿ   ÿ  ŸÿŸŸ ÿ   ÿ   ÿ   ÿ   ÿ   ÿ   ÿ  ¡ÿ¡  ÿ¡ ¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¢ÿ¡¢¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢¢¢ÿ¢££ÿ¢¢¢ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£¤¤ÿ¤¤£ÿ£¤£ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¤¤ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¦ÿ¥¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦¦§ÿ§¦§ÿ§§§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨¨ÿ¨¨§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©©ÿ¨¨¨ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©ª©ÿ©©ªÿ©ªªÿª©ªÿªªªÿªªªÿ«ªªÿªªªÿªª«ÿªª«ÿ«««ÿª«ªÿªª«ÿ«««ÿ«««ÿ¬««ÿ«««ÿ«¬«ÿ«¬¬ÿ¬¬¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ­­­ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®®­ÿ­®­ÿ®®­ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯¯ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ°¯°ÿ°¯°ÿ®¯³ÿRëÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿX~õÿÜßïÿîîïÿîîîÿîîîÿïïïÿîïïÿïïîÿîîïÿïïïÿïïïÿïïïÿïðïÿïïïÿïððÿïïïÿððïÿïððÿðððÿðñðÿðñðÿñððÿñðñÿðññÿñññÿññðÿñññÿññòÿñññÿòòñÿòòòÿòñòÿòòòÿòòòÿòòòÿòòòÿóòòÿòóóÿóòóÿóóóÿóòòÿòóóÿóóóÿóóóÿóôóÿóóôÿôôôÿóóôÿôóôÿôôôÿôôôÿõôôÿôôôÿôõôÿõôôÿõõôÿõôôÿõõõÿõõõÿõõõÿõõõÿõõöÿöõöÿõööÿõööÿöööÿöööÿöööÿöööÿöö÷ÿöööÿö÷öÿö÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿøøøÿø÷øÿø÷øÿøøøÿøøøÿøøùÿøøøÿøøøÿøøøÿùøøÿùùøÿùùùÿùùùÿùùùÿúùùÿùùùÿùùúÿùùùÿúùúÿùúùÿúúúÿúúúÿûúûÿúûûÿúúúÿûûúÿûúûÿúûúÿûûûÿûûûÿüûûÿüûûÿûüûÿûûüÿüüûÿüüüÿüüüÿüüüÿüüüÿýýýÿýüýÿýüýÿýýüÿüýýÿýýýÿýýüÿþýýÿýþýÿýþýÿþýýÿþþýÿþþþÿýþþÿþþþÿþþþÿþþþÿþÿÿÿÿþþÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿžžžÿŸžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿ Ÿ ÿŸ Ÿÿ   ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ   ÿ¡¡¡ÿ ¡¡ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ££¢ÿ£¢£ÿ£££ÿ£¢¢ÿ£££ÿ£¤£ÿ£££ÿ£££ÿ£¤£ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¤ÿ¥¦¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¥ÿ¦¦¦ÿ§¦¦ÿ§§¦ÿ¦¦§ÿ¦¦§ÿ§¦§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§§ÿ§§§ÿ¨¨§ÿ§¨§ÿ§§¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ¨¨©ÿ¨©¨ÿ¨©©ÿ¨¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªªªÿ©©©ÿªªªÿª©ªÿ©ªªÿª©ªÿªªªÿªª«ÿª«ªÿªªªÿ«ªªÿªªªÿ«««ÿ«««ÿ«««ÿ¬««ÿ«¬«ÿ«¬«ÿ¬«¬ÿ««¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ¬¬­ÿ­­¬ÿ­¬¬ÿ­¬­ÿ­­­ÿ­­­ÿ®­­ÿ­­­ÿ­­®ÿ®®­ÿ­­®ÿ®®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ¯®¯ÿ¯¯®ÿ¯®¯ÿ®¯¯ÿ¯¯®ÿ¯¯¯ÿ¯°¯ÿ°¯¯ÿ¯°¯ÿ¯¯°ÿ¯¯°ÿŽ›Îÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿ“¥óÿîîîÿîîîÿïîîÿîïïÿîïïÿïîïÿïïïÿïïïÿïïïÿïïïÿïïïÿïððÿïïðÿðïïÿðïðÿðððÿïððÿðððÿðððÿðððÿðððÿððñÿñññÿñññÿññðÿññðÿòññÿññòÿñññÿñññÿñòñÿòññÿòòñÿòòòÿòòòÿòòòÿóòóÿòóòÿóòòÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóôÿóóôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôõÿõõôÿôõõÿõõõÿõõõÿõõõÿõõõÿöööÿõõöÿööõÿööõÿöööÿöõöÿöööÿöö÷ÿ÷ööÿ÷÷÷ÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿ÷÷÷ÿøøøÿøøøÿø÷÷ÿøøøÿøøøÿøøøÿøùøÿùøøÿùùøÿùùùÿùùøÿùùùÿùùùÿùùùÿúúúÿúùùÿúùùÿúúúÿúúúÿúúúÿúúúÿúúúÿûúúÿûúûÿûûûÿûûúÿûûûÿûûúÿûûûÿûûûÿûûûÿûüûÿûûüÿûûüÿüüüÿüüüÿüüüÿüüýÿüüüÿýýüÿüüýÿüýýÿýýýÿýýýÿýýýÿýýýÿýýýÿýýýÿýþþÿýþýÿþþþÿþþþÿþþþÿþþþÿþþþÿÿþþÿþþþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿžŸžÿžŸŸÿŸžŸÿŸŸŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿŸ  ÿŸ Ÿÿ   ÿ   ÿŸ  ÿ   ÿ ¡ ÿ¡ ¡ÿ¡¡¡ÿ   ÿ¡¡ ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¢ÿ¢¡¡ÿ¢¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢££ÿ£¢£ÿ¢£¢ÿ¢££ÿ££¢ÿ£££ÿ£££ÿ¤££ÿ¤£¤ÿ£¤¤ÿ¤£¤ÿ£¤£ÿ¤££ÿ¤¤£ÿ¤£¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¥ÿ¥¥¤ÿ¤¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¥ÿ¦¥¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ¦§§ÿ§¦¦ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§¨ÿ¨§§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ©¨©ÿ©©©ÿ©©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿªª©ÿ©ª©ÿª©©ÿªªªÿªªªÿªªªÿªªªÿªªªÿ«ª«ÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ¬««ÿ¬¬«ÿ¬«¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬­­ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­®®ÿ®®­ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®®®ÿ®®®ÿ¯¯¯ÿ¯®¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ¯¯¯ÿ¯°°ÿ¯°°ÿ¤¨»ÿG{íÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿ#höÿÖÚðÿîíîÿíîîÿîîîÿîîîÿîîîÿîïïÿîîïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿïïðÿïïðÿðððÿððïÿðððÿðððÿñððÿðððÿññðÿññðÿñðñÿñðñÿñññÿñññÿòññÿñññÿñññÿñññÿòòòÿòòòÿòòòÿòòòÿòòòÿòòóÿòòòÿòóóÿòòòÿóóóÿóòóÿóóóÿóóóÿóóóÿóóóÿóôóÿóóóÿôóóÿôôóÿôôôÿôôôÿõôôÿõõõÿôõôÿôõôÿõôôÿõõõÿõõõÿõõõÿõõõÿõõõÿõõöÿööõÿöõöÿöööÿööõÿöööÿöööÿöööÿ÷ööÿöööÿö÷öÿö÷÷ÿ÷ö÷ÿ÷ö÷ÿ÷ø÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿ÷÷÷ÿøøøÿøøøÿøøøÿøøøÿùøøÿùùøÿøùøÿùùùÿùøøÿùùùÿùùùÿùùùÿùùùÿúúùÿùúùÿùúùÿúúúÿúúùÿúúúÿúúúÿúúúÿûúúÿûúúÿúûúÿûûûÿúûûÿûûûÿûûûÿûûûÿüûûÿüûüÿûûüÿüüüÿûüüÿüüüÿüýüÿüüüÿüýýÿýýüÿýüýÿüýüÿýýýÿýýýÿýýýÿýýýÿýþýÿþýþÿþþþÿýýþÿýþþÿþþþÿþþþÿþþÿÿþþÿÿÿþþÿþÿþÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿžŸŸÿžžŸÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸ ŸÿŸ  ÿ   ÿŸ Ÿÿ  Ÿÿ   ÿ¡  ÿ   ÿ  ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ ¡¡ÿ¡¡¡ÿ¢¢¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¢¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢£¢ÿ¢¢¢ÿ¢£¢ÿ£££ÿ¢££ÿ£¢¢ÿ£££ÿ££¤ÿ¤¤£ÿ££¤ÿ£¤¤ÿ¤¤¤ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¦ÿ¥¥¦ÿ¥¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ¦¦¦ÿ¦§¦ÿ¦§§ÿ§§§ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ¨¨§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©¨ÿ¨¨©ÿ©©©ÿ¨©¨ÿ©¨¨ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿª©©ÿªª©ÿªªªÿªª©ÿªªªÿªªªÿª««ÿ«ªªÿ«««ÿ«««ÿ««ªÿ«««ÿ«««ÿ«««ÿ¬««ÿ«««ÿ«««ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­­­ÿ­­­ÿ®­­ÿ®­®ÿ®®®ÿ­®®ÿ®®®ÿ¯®¯ÿ®®®ÿ®®¯ÿ®®®ÿ¯¯¯ÿ¯¯®ÿ¯¯¯ÿ¯¯®ÿ¯¯¯ÿ°¯¯ÿ¯¯¯ÿ°°¯ÿ¥¨»ÿJ{íÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿAsöÿééîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîïÿîîïÿïîîÿîïîÿïïïÿïïïÿïïïÿïïðÿïïïÿïïðÿïðïÿðððÿïððÿðððÿðððÿðððÿðñðÿðñðÿññðÿñðñÿñññÿðññÿñññÿñññÿñññÿññòÿñññÿòññÿñòòÿòòòÿòòòÿòòòÿòóòÿóòòÿóòòÿòóòÿóòóÿóòòÿóóóÿóóóÿóóóÿóóôÿóôóÿôóôÿóôôÿóôôÿóôôÿôôôÿôôõÿôôôÿõôõÿõõõÿôôõÿõõõÿõôõÿõõõÿõõöÿöõõÿöõõÿöööÿõööÿööõÿöööÿöööÿöööÿ÷ööÿö÷÷ÿö÷öÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷øÿ÷øøÿ÷ø÷ÿø÷øÿøøøÿøøøÿøøøÿøøùÿøùøÿøùùÿùùùÿøùøÿùùùÿùùùÿùùùÿúúùÿúúùÿùúùÿùùùÿúùúÿúúùÿúúúÿúúúÿúûúÿúúûÿûúúÿúúúÿûúûÿúúûÿûûûÿûûûÿûûûÿüûûÿüûûÿüûûÿûüûÿûüüÿüüüÿüüüÿüüüÿüüüÿüüüÿýýüÿüüýÿüüüÿýýýÿýýýÿýýýÿýýýÿýþýÿþýþÿýýþÿýýþÿþþþÿýþþÿþþþÿþþþÿþþþÿÿþþÿÿÿÿÿÿÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿžžžÿŸŸžÿžŸŸÿŸžŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿ Ÿ ÿ ŸŸÿŸ  ÿŸ  ÿ   ÿ   ÿ  ¡ÿ   ÿ ¡¡ÿ ¡ ÿ¡¡ ÿ¡¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¢ÿ¢¢¢ÿ¢¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ££¢ÿ¢££ÿ¢£¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£¤£ÿ££¤ÿ¤£¤ÿ¤££ÿ¤¤¤ÿ£¤£ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¥ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¦¥¥ÿ¥¥¥ÿ¦¥¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦§§ÿ¦¦¦ÿ¦¦§ÿ§¦§ÿ§§¦ÿ§§§ÿ§§¨ÿ¨¨¨ÿ§¨§ÿ§¨§ÿ§§§ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨©ÿ©©¨ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©©ªÿª©ªÿªªªÿªªªÿªªªÿªªªÿªªªÿª«ªÿªª«ÿ«ª«ÿ«««ÿ«ª«ÿ«««ÿ«««ÿ«¬«ÿ¬¬¬ÿ««¬ÿ¬¬«ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬­¬ÿ¬­¬ÿ¬­­ÿ­­¬ÿ­­¬ÿ¬­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ­­­ÿ®®­ÿ­®®ÿ®®®ÿ­®®ÿ®®®ÿ®¯®ÿ®¯¯ÿ®¯®ÿ®®¯ÿ¯¯¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ°¯¯ÿ~“×ÿnöÿnöÿnöÿnöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿ·Àñÿíîîÿîîîÿîîîÿîîîÿîîïÿîîîÿîîïÿîïïÿïïîÿïïïÿïîïÿïïïÿïïïÿïïðÿïïïÿïïðÿðððÿïððÿïððÿðïðÿðððÿðððÿñððÿññðÿñññÿññðÿñññÿðññÿñññÿñññÿòññÿòññÿñññÿñòòÿòòòÿñòòÿòòòÿòòòÿóòóÿòòòÿòòóÿòòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóôôÿóóóÿôôôÿôóôÿôôôÿôôôÿôôôÿôõôÿõôôÿõõôÿõôôÿõõõÿõõõÿõõõÿõõõÿöõõÿöõõÿõõõÿõööÿöõõÿöõõÿõööÿöööÿö÷öÿ÷ööÿö÷öÿ÷ööÿ÷ö÷ÿö÷öÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷ø÷ÿø÷÷ÿ÷øøÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿøùùÿøùùÿøøøÿùøøÿùùùÿùùùÿùùùÿùùùÿùùúÿùùùÿùúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúúúÿúûúÿûúûÿúûûÿûúûÿûûûÿûûüÿûûûÿûûüÿûüûÿüûûÿûüûÿüüûÿüüüÿüüüÿüüüÿüýüÿýýüÿüüýÿýýüÿýýýÿüýýÿýýýÿýýýÿýýþÿþþþÿýýýÿýþþÿýþþÿþþþÿþþþÿþþþÿþþþÿÿþÿÿÿÿþÿþþÿÿþÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸžžÿŸŸŸÿžžžÿŸžžÿŸžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿ ŸŸÿ  Ÿÿ   ÿŸ  ÿ   ÿ   ÿ¡  ÿ¡¡ ÿ¡¡¡ÿ ¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¢¡ÿ¢¡¡ÿ¡¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£££ÿ¢¢£ÿ££¢ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤£¤ÿ¤££ÿ£¤£ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¤¥¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¥¦¥ÿ¥¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦¦¦ÿ¦§§ÿ¦§¦ÿ§§¦ÿ¦§¦ÿ§§¦ÿ§§§ÿ¨§§ÿ§§§ÿ¨§¨ÿ¨¨¨ÿ§§¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ¨¨¨ÿ¨©¨ÿ©©©ÿ¨¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿ©ª©ÿ©ªªÿ©ªªÿª©©ÿªªªÿªªªÿªªªÿªªªÿª«ªÿª««ÿªªªÿªª«ÿª««ÿ«««ÿ«««ÿ¬««ÿ«¬«ÿ¬¬«ÿ¬««ÿ«¬¬ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­­ÿ¬¬­ÿ­¬¬ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®®­ÿ­­­ÿ®®®ÿ­®®ÿ­®®ÿ®®®ÿ®®®ÿ®¯®ÿ®¯®ÿ®¯®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ ¥Àÿ'qóÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿkˆôÿãäïÿîîîÿîîîÿíîîÿîîîÿîîîÿïîîÿîîîÿïîïÿïïïÿïïîÿïïïÿïïïÿðïïÿïïðÿïððÿïððÿïðïÿðïðÿïððÿðððÿðððÿðññÿñññÿððñÿðñðÿññðÿñðñÿñññÿñññÿñññÿòññÿòòòÿòñòÿòñòÿñòòÿòòñÿòòòÿòòòÿòòòÿóòòÿóóóÿóóòÿòòóÿóóóÿóóóÿóóóÿôóôÿóôóÿóóôÿóóôÿôôóÿôôôÿôôôÿôôôÿôôôÿôõõÿõôôÿõõõÿõõõÿôõõÿõõõÿõõõÿõõöÿõööÿõöõÿööõÿöööÿöööÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿø÷øÿ÷÷øÿ÷øøÿøøøÿøøøÿøøøÿøøøÿùøøÿøøùÿøùøÿøøùÿùøùÿøùùÿùùùÿùùùÿùùùÿúùúÿùúùÿùúúÿùùùÿúúúÿúúúÿúúúÿúúûÿúúúÿûúûÿûúúÿúúûÿûûûÿûûûÿûûûÿûûûÿûûûÿûûûÿûüûÿûüüÿüüûÿüüûÿüûüÿüüüÿüüüÿýýüÿüüýÿüüýÿüüýÿüýýÿýüýÿýýýÿýýýÿýýýÿýýýÿþþþÿýýþÿþýþÿþþþÿþþþÿþþþÿÿþþÿþþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿžžžÿžžžÿžŸžÿžŸŸÿžŸŸÿžŸŸÿŸŸŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿŸ Ÿÿ   ÿ   ÿ   ÿ   ÿ   ÿ¡  ÿ¡ ¡ÿ   ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢£ÿ£££ÿ¢£¢ÿ££¢ÿ£££ÿ¤££ÿ£££ÿ¤£¤ÿ¤£¤ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¥ÿ¤¥¥ÿ¥¥¥ÿ¤¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¦ÿ¦¦¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ¦¦¦ÿ§¦¦ÿ§§¦ÿ¦§§ÿ§§§ÿ¨§§ÿ§§§ÿ§¨§ÿ§§§ÿ§¨§ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©¨¨ÿ©¨¨ÿ©¨¨ÿ¨©¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿª©ªÿª©©ÿ©©©ÿ©ª©ÿªª©ÿªªªÿª©ªÿªªªÿªªªÿªªªÿ«ªªÿ«««ÿªª«ÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬««ÿ¬¬¬ÿ¬««ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ®­­ÿ­­­ÿ®­®ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ®®¯ÿ®¯®ÿ¯®¯ÿ¯¯®ÿ¯¯¯ÿ­®±ÿc…åÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿ'höÿÁÉðÿíîíÿîîîÿîîîÿîîîÿîîîÿïîîÿîîîÿîîîÿïïîÿïïïÿîïïÿïïîÿïïïÿïïïÿïïïÿðïðÿïïðÿïððÿðððÿðððÿðððÿðñðÿñññÿðññÿñððÿðññÿñññÿñððÿñññÿòññÿñññÿñññÿñòñÿññòÿòòòÿñòòÿòòòÿòòòÿòóòÿóóóÿóóòÿóóòÿóòóÿóóóÿóóóÿôóóÿóóóÿóóóÿóóóÿôóôÿôôôÿôôôÿôôôÿôôôÿôôôÿõõõÿôôõÿôôõÿôõôÿõõõÿõõôÿõõõÿõõõÿõõöÿõöõÿõööÿööõÿöööÿöõöÿöööÿöööÿ÷ööÿöööÿ÷ööÿö÷öÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿø÷÷ÿøøøÿøøøÿøøøÿøøùÿøøøÿùùùÿùùùÿùøøÿøùùÿùùùÿùùùÿùúùÿúúùÿúúùÿùùùÿúúúÿùúúÿúúùÿúúúÿúúúÿûúúÿúúúÿúúúÿúúúÿúûúÿûûûÿûûûÿûûûÿûûûÿüûûÿûûûÿüüûÿûüüÿüûüÿüüüÿüüüÿýüýÿýýüÿüýýÿüüüÿýýýÿýýýÿýýýÿýýýÿýýýÿþþþÿþþþÿýþþÿþþþÿýþþÿþþþÿþþþÿþÿÿÿþþþÿþÿþÿþþþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿžžžÿžŸžÿžžžÿžŸŸÿžŸžÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸŸÿŸ Ÿÿ ŸŸÿ   ÿŸŸ ÿŸ Ÿÿ   ÿ ¡ ÿ   ÿ   ÿ  ¡ÿ¡¡¡ÿ¡¡ ÿ ¡¡ÿ¡¡¡ÿ¢¡¢ÿ¡¢¡ÿ¢¢¡ÿ¡¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£¢¢ÿ¢£¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ£££ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ¤£¤ÿ£¤¤ÿ¤£¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¥¥ÿ¥¤¥ÿ¥¥¥ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¥¦ÿ¦¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ§¦¦ÿ¦¦¦ÿ¦§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ§¨¨ÿ¨§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ¨©¨ÿ¨©©ÿ¨¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿ©ª©ÿ©ª©ÿ©©ªÿ©ªªÿ©©©ÿªªªÿªªªÿªªªÿª««ÿ«ª«ÿ«««ÿ«««ÿ««ªÿ«««ÿ«««ÿ«««ÿ««¬ÿ«¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­­ÿ­­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ®®­ÿ®­®ÿ®®®ÿ®®®ÿ¯®®ÿ®®®ÿ®®¯ÿ¯®®ÿ®¯®ÿ¯¯¯ÿ®®¯ÿ— Çÿ+róÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿz“ôÿêêîÿîîîÿîîîÿîîîÿîîîÿïîîÿîîïÿïîîÿîïïÿïïïÿîîïÿïîïÿïïïÿïïïÿïïðÿïïïÿðïïÿðððÿðððÿððïÿðððÿðððÿðñðÿðððÿðððÿðññÿðññÿðññÿñññÿñññÿñññÿñññÿñòñÿòòòÿññòÿòòòÿòòòÿòòòÿòòòÿòòóÿòòòÿòòòÿóòóÿòóòÿóóóÿóóóÿôóóÿôóóÿóóóÿóôôÿôôóÿôôóÿôóôÿôôôÿôôôÿôôõÿôôôÿôôõÿôõõÿõõõÿõõõÿõõõÿõõõÿõõöÿõöõÿõõõÿõõöÿöõöÿõööÿöööÿöööÿö÷öÿö÷÷ÿö÷÷ÿö÷÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿ÷÷÷ÿøøøÿø÷øÿ÷ø÷ÿøøøÿøøøÿøùøÿøøùÿùùøÿùùøÿùøøÿùøùÿùùùÿùùøÿùùùÿùùùÿùùùÿúúùÿùùúÿúúúÿúúúÿúúúÿúúúÿûûûÿúúúÿûûúÿúûûÿûûúÿûúúÿúûûÿûûûÿûüüÿûûûÿüüûÿûüüÿûûûÿüüüÿüüüÿüüüÿüüüÿýüüÿüüüÿýýýÿüýüÿýüüÿüýýÿýýýÿýýýÿýýþÿýþþÿþýþÿþþþÿþþþÿþþþÿþþþÿÿÿþÿþÿþÿþÿÿÿþþÿÿþÿÿÿþþÿÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿžžÿžžžÿŸžžÿžžŸÿžžžÿŸžžÿžŸžÿŸŸŸÿŸžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿ  Ÿÿ   ÿ ŸŸÿ   ÿ   ÿ   ÿ   ÿ¡  ÿ ¡ ÿ¡  ÿ¡  ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¡¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ££¢ÿ£¢¢ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£¤£ÿ£¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¥¤¥ÿ¥¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¦ÿ¥¥¦ÿ¥¦¦ÿ¥¥¦ÿ¦¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§¦ÿ¦¦¦ÿ§¦§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ¨©©ÿ©©ªÿ©©ªÿ©ªªÿ©©©ÿ©ªªÿ©ªªÿªªªÿªªªÿªª«ÿªª«ÿªªªÿ«ª«ÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬««ÿ«¬¬ÿ¬««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬­­ÿ­­¬ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­®­ÿ®­­ÿ®®®ÿ®­®ÿ®®®ÿ®®®ÿ¯®¯ÿ¯®®ÿ¯¯®ÿ¯¯¯ÿ¬¬²ÿkˆáÿmöÿmöÿmöÿmöÿmöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿÉÏðÿîîíÿîííÿîîîÿîîîÿîîîÿîîîÿîîïÿîïîÿïïîÿïïïÿîîïÿïïïÿïïïÿïïïÿïïïÿïïðÿïððÿððïÿðððÿðïðÿðððÿðððÿðñðÿðñðÿññðÿñðñÿñðñÿñññÿñññÿñññÿñññÿñññÿòòñÿññòÿòòòÿòòòÿòòòÿòòòÿòóòÿòòóÿòóòÿóóòÿóóóÿóóóÿóóóÿóóóÿóóóÿóôóÿóôôÿóóôÿôóôÿôóóÿóóôÿôôôÿôôôÿôôôÿõôôÿôõôÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõõöÿööõÿöõöÿöööÿööõÿöööÿöööÿö÷öÿöööÿö÷öÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷÷øÿ÷øøÿ÷øøÿøøøÿøø÷ÿøøøÿøøøÿùøøÿùøøÿùùøÿùøùÿùùøÿøùøÿùùùÿùùùÿúùùÿúúùÿúùúÿúúúÿúúúÿúùúÿúúúÿúúûÿúúúÿúúûÿûúúÿúûûÿúûúÿúûûÿúûúÿûûûÿûûûÿûûûÿüûüÿûûüÿûüüÿüüüÿüûüÿüüüÿüüüÿýýýÿüüüÿüüýÿüüüÿýýýÿýýýÿýýýÿþýþÿýþýÿþýýÿýþýÿþýýÿýýþÿþýþÿþþþÿþþþÿþþþÿþþÿÿÿÿþÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿžžžÿžžÿžžžÿžžžÿžžŸÿžžŸÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿŸŸ ÿŸŸŸÿ   ÿŸ Ÿÿ   ÿ   ÿ   ÿ   ÿ   ÿ   ÿ¡ ¡ÿ  ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¢¢ÿ¢¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ££¢ÿ£££ÿ££¢ÿ£££ÿ£££ÿ¤££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¥¤ÿ¥¥¤ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¦ÿ¥¥¦ÿ¥¥¥ÿ¦¥¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦¦¦ÿ¦¦§ÿ§¦§ÿ¦§¦ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§¨ÿ¨§§ÿ¨§§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ¨¨©ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿªªªÿ©ªªÿª©©ÿª©ªÿªª«ÿªªªÿªªªÿªª«ÿª««ÿª«ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­­­ÿ®®®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ®¯®ÿ®®¯ÿ¯¯®ÿ®®®ÿœ£ÁÿnõÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿqŒôÿëìíÿíîíÿíîíÿîîîÿîîîÿîîîÿîîîÿîïîÿîïîÿîïïÿïïîÿïïïÿïïïÿïïïÿïïïÿïïïÿðððÿððïÿïïðÿðïïÿððïÿðððÿðððÿñðñÿðððÿññðÿññðÿññðÿðññÿñññÿñññÿñññÿòññÿòñòÿñòñÿòòòÿòòòÿòòòÿòòòÿòòóÿòòòÿòòòÿóóóÿóòòÿóóóÿóóóÿóóóÿóóóÿóóóÿóóôÿôôôÿôóôÿôôóÿôôôÿôôôÿôôôÿõôôÿôôôÿõõôÿõõôÿôôõÿõôõÿõõôÿõõõÿõõõÿööõÿööõÿöööÿõööÿöööÿöööÿö÷öÿöööÿöööÿ÷÷÷ÿöö÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿø÷øÿøøøÿ÷øøÿøøøÿøøøÿøùøÿøùøÿùøøÿùøùÿùùùÿùøùÿùùùÿùùùÿùùùÿúùùÿùùúÿùúúÿúùúÿùúùÿúúùÿúúúÿúúúÿûúúÿúûûÿúûûÿúúúÿûûûÿûûûÿûûûÿûûûÿûûüÿûûûÿüûûÿüûüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿýýüÿýüýÿýüýÿýýýÿüýýÿýýýÿýýýÿþýýÿýýýÿþþþÿýþýÿþýýÿþþþÿþþþÿþþþÿþþþÿÿþþÿÿÿÿÿþÿþÿÿÿÿÿþÿþÿþÿÿÿÿÿÿÿžžžÿžžÿžžžÿžžžÿžžžÿŸžŸÿžžžÿŸŸŸÿžžŸÿŸžŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸ ÿ ŸŸÿŸŸŸÿ ŸŸÿ   ÿ   ÿ   ÿ   ÿ   ÿ   ÿ   ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¢¡ÿ¡¡¡ÿ¢¢¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ££¢ÿ££¢ÿ¢¢£ÿ£££ÿ¢££ÿ£££ÿ£¤£ÿ£££ÿ£££ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¥¥ÿ¦¦¦ÿ¥¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨¨ÿ©©©ÿ©¨©ÿ©¨©ÿ¨©©ÿ©©¨ÿ©©©ÿ©©©ÿª©©ÿ©ªªÿ©©ªÿ©ªªÿªªªÿªªªÿªªªÿªªªÿªªªÿ«««ÿ«««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ«¬«ÿ«¬¬ÿ¬¬«ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬­¬ÿ­­­ÿ¬­­ÿ¬­¬ÿ­­­ÿ­­­ÿ­®®ÿ­­­ÿ­®­ÿ­­­ÿ®®­ÿ®®­ÿ­®¯ÿ­­¯ÿ«¬±ÿŸ¥¿ÿ‹™ÎÿuÜÿGyíÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿeöÿ‚—ôÿ«¶ñÿÈÎñÿßáïÿëìíÿííîÿííîÿïïîÿîîîÿïïîÿïîïÿïîïÿïïîÿïïïÿïïïÿðïïÿððïÿïðïÿððïÿïððÿððïÿðððÿðððÿðððÿñðñÿðððÿñññÿñððÿðððÿñññÿñññÿññòÿñññÿòññÿññòÿòñòÿòòòÿòòñÿòòòÿóòòÿòòòÿòòòÿóóóÿóóòÿòóóÿóóòÿóóóÿóóóÿóóóÿôôôÿóôóÿôôóÿôóôÿôôóÿôôôÿôôôÿôôôÿôôôÿõôõÿõôôÿôõôÿõõõÿõõõÿõõõÿõöõÿõõõÿöööÿöõöÿööõÿõööÿöööÿöööÿöööÿö÷öÿö÷÷ÿö÷öÿöö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷øøÿø÷øÿ÷÷÷ÿø÷øÿøøøÿøøøÿøøøÿøøùÿøùùÿøùùÿøùùÿùøùÿùùùÿùùùÿùùùÿùúùÿùúùÿùúúÿùùúÿùùúÿúúúÿúúúÿúûúÿúúúÿúúûÿûûûÿûúûÿúûûÿûûûÿûûûÿûûûÿûûûÿûûûÿûüüÿûûüÿûüüÿûüüÿüüüÿüüüÿüüüÿýüüÿüüüÿýüüÿýýýÿýüýÿýýýÿýýýÿýýýÿýýýÿþýþÿþýýÿþþþÿþýþÿþþþÿþþþÿþþþÿþþþÿþþÿÿÿþþÿþÿÿÿÿþÿÿþÿþÿÿÿÿÿžžžÿžžžÿžžÿžžžÿžžžÿŸžžÿžžžÿŸŸžÿžžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿŸ  ÿŸŸŸÿ Ÿ ÿ   ÿ Ÿ ÿ   ÿ   ÿ   ÿ¡  ÿ   ÿ ¡¡ÿ¡  ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¡¢ÿ¡¢¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢£ÿ¢¢¢ÿ£¢¢ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ££¤ÿ£££ÿ¤£¤ÿ££¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¤¤¤ÿ¥¤¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¥¦¦ÿ¥¥¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§¨§ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ©©¨ÿ¨¨¨ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿ©ªªÿ©ªªÿ©ªªÿªªªÿªªªÿªª©ÿªªªÿªª«ÿª«ªÿªª«ÿªªªÿ«««ÿ«ª«ÿ«««ÿ«««ÿ««¬ÿ«««ÿ«¬«ÿ«¬¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­­ÿ¬¬¬ÿ¬­¬ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿª«°ÿ¤¨·ÿž¤½ÿ˜ ÄÿŠ˜ÎÿsŒÜÿXèÿ'póÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿCrõÿ}”ôÿ¡®óÿ½ÅñÿÑÖñÿÛÝðÿãäðÿêëîÿïïîÿïïïÿïïïÿïïðÿïïïÿïðïÿðððÿððïÿðððÿðïïÿðððÿðððÿððñÿðððÿñññÿññðÿðññÿñððÿðññÿñññÿñòñÿòññÿñòñÿñññÿòñòÿòòòÿòòòÿòòòÿòòòÿóòòÿóóòÿóóóÿòóóÿòóòÿóóóÿóóóÿóóóÿóóóÿóóóÿóôôÿôóóÿôôôÿôóôÿôôóÿôôôÿôôõÿôôõÿôôôÿõõõÿõôõÿõõõÿõõõÿõõõÿõöõÿõõöÿõõõÿöööÿõõöÿõööÿöööÿöööÿöööÿöööÿöööÿöö÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿø÷÷ÿ÷÷øÿø÷øÿø÷øÿøøøÿøøøÿùøøÿøøøÿøøøÿøøùÿùùùÿùùùÿùùùÿùùùÿùùúÿúùùÿúùúÿúùúÿúùúÿùúúÿúúúÿúúúÿúúúÿúúúÿûúûÿûûûÿûûûÿûûûÿûûûÿûûûÿûûûÿûûûÿûûûÿûûûÿüüûÿüûüÿûüûÿüüüÿüüüÿüüýÿüýüÿüýýÿüýýÿýüýÿüýýÿýýýÿýýýÿýþþÿýýýÿýþýÿþýþÿýþýÿþþýÿþýþÿþþþÿþÿÿÿþÿþÿþþþÿþÿþÿÿÿþÿÿÿÿÿÿÿÿÿžžÿžÿžžžÿžžžÿžžžÿžžžÿžŸžÿžžŸÿžŸŸÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿ  ŸÿŸ ŸÿŸ Ÿÿ Ÿ ÿ   ÿ   ÿ   ÿ  ¡ÿ ¡ ÿ¡¡ ÿ ¡ ÿ¡  ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ£¢£ÿ£££ÿ£££ÿ££¤ÿ£££ÿ£££ÿ¤¤£ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¤¥ÿ¤¤¥ÿ¤¤¤ÿ¥¥¥ÿ¤¤¤ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¥ÿ¦¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ¦§¦ÿ¦§¦ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§§ÿ§¨¨ÿ§¨§ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ¨¨©ÿ©¨©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿª©©ÿª©ªÿªªªÿªªªÿª«ªÿªªªÿªªªÿªªªÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­¬¬ÿ¬¬­ÿ­­­ÿ¤¦·ÿ’Çÿ‚”Óÿm‰ßÿ^‚åÿN{ëÿ8tðÿ möÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿcöÿNwõÿlˆõÿ–ôÿš©óÿ³½òÿÉÐñÿàâðÿïïïÿïïïÿïïïÿïðïÿððïÿðïðÿððïÿðððÿðððÿðððÿðððÿñññÿðððÿðññÿñññÿñññÿñññÿñòòÿññòÿñòòÿññòÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿòóòÿòóòÿóòóÿóóóÿóóóÿóóóÿóóôÿôóóÿóóóÿôóóÿôóóÿôôôÿôôóÿôôôÿôôôÿôôõÿõôôÿõõõÿôõõÿõõõÿõõõÿõõõÿöõõÿõõõÿööõÿöõõÿõõõÿööõÿõööÿöööÿöööÿöööÿöööÿöööÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿ÷÷øÿøøøÿ÷ø÷ÿøøøÿøøøÿøøøÿùøøÿøøøÿøùøÿùùøÿùøùÿøùøÿùùùÿùùùÿùùùÿùùúÿùùúÿùùùÿùùúÿúùúÿùúúÿúúúÿúúúÿúúúÿúûûÿúûûÿúúûÿûûúÿûûûÿûûûÿûûûÿûüûÿûüûÿûüüÿûüüÿüûüÿüûûÿüüüÿüüüÿüüüÿüüüÿüýüÿüýüÿýüýÿýýýÿýýýÿýýýÿýýýÿþþýÿýþþÿþþýÿþþýÿþýþÿþþþÿþþþÿþþþÿþþþÿÿþþÿÿþþÿþÿÿÿþÿÿÿÿÿÿÿžÿžžÿžžÿžžÿžžÿžžŸÿžžžÿžžžÿŸžžÿžŸžÿžžŸÿŸžžÿŸŸŸÿŸŸ ÿ ŸŸÿŸŸŸÿŸ Ÿÿ ŸŸÿŸ Ÿÿ   ÿ   ÿ   ÿ ¡¡ÿ¡  ÿ ¡ ÿ¡¡¡ÿ¡¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ¤¤£ÿ¤¤£ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¥¤¤ÿ¥¤¤ÿ¤¥¥ÿ¤¤¥ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¥ÿ¦¥¦ÿ¦¦¥ÿ¦¦¥ÿ¥¦¥ÿ¥¦¦ÿ¦¦¦ÿ§¦¦ÿ¦¦§ÿ§¦¦ÿ§¦§ÿ¦§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨§§ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ¨¨¨ÿ¨©¨ÿ©©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿ©ªªÿ©ªªÿª©ªÿªªªÿªªªÿªªªÿªªªÿªª«ÿ«ª«ÿ«««ÿ«««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ««¬ÿ©ª­ÿ§©±ÿ¤§µÿ¡¤¹ÿ”Äÿ~‘Õÿd„ãÿ9tðÿoôÿnõÿmõÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ aöÿcöÿ#föÿ.iöÿKuõÿƒ˜ôÿ©µòÿÉÏñÿÞáñÿãæðÿéêðÿííðÿðððÿðððÿðñðÿññðÿðññÿññðÿðññÿññðÿñññÿñññÿññòÿññòÿñòñÿñòñÿòññÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿòòòÿóóóÿóóòÿóòóÿóóóÿóôôÿóóóÿóóóÿóóôÿóóôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôõÿõõôÿõôõÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõööÿõõõÿõöõÿöööÿöööÿöööÿöö÷ÿ÷÷öÿ÷÷öÿö÷÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿ÷ø÷ÿ÷øøÿøøøÿø÷÷ÿøøøÿøøøÿøøøÿøøøÿùøøÿøùùÿùøøÿùùøÿøùùÿùùùÿùùùÿùùùÿùùùÿúúùÿúúùÿúúúÿùúúÿúúúÿúúúÿúúúÿûúúÿûúúÿûûûÿúûúÿûûúÿûûûÿûûûÿûûûÿûüûÿûüûÿüûûÿûüûÿûüüÿüüüÿüüüÿüüüÿüüüÿýüüÿýýüÿüýüÿýýüÿýýüÿýýýÿýýþÿþýýÿþýþÿþþþÿþýþÿþýþÿþþþÿþþþÿþþþÿþþþÿþþþÿþþþÿþÿÿÿÿþÿÿþÿÿÿÿžžÿžžÿžžÿžžžÿžžÿžžžÿžžŸÿžžžÿžžžÿŸžžÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿŸ Ÿÿ   ÿ  ŸÿŸ  ÿ   ÿ   ÿ   ÿ   ÿ   ÿ   ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¢ÿ¡¢¡ÿ¢¡¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢£ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ££¢ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ£££ÿ£££ÿ¤¤¤ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¤¤ÿ¤¥¥ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¥¦ÿ¥¥¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§§¦ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§¨ÿ§¨§ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©¨¨ÿ©¨©ÿ¨©©ÿ©©©ÿª©©ÿ©©©ÿ©©©ÿªª©ÿ©ªªÿ©ª©ÿª©ªÿªªªÿªªªÿªªªÿªªªÿªªªÿª««ÿªªªÿ«««ÿª««ÿ¥§²ÿ™ ¿ÿšÊÿ}Ôÿo‰Ýÿ[€æÿBwîÿmõÿlöÿlöÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿböÿU{õÿ}”ôÿ˜¨ôÿ­¸óÿÀÈòÿÔØòÿäæñÿñððÿññðÿñðñÿððñÿññðÿñññÿñññÿñòñÿòñòÿòñòÿòñòÿòòòÿòòñÿòòòÿòóòÿòóòÿóóòÿòóòÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóôóÿôóóÿóôôÿôôôÿôôóÿôôôÿôôõÿõôôÿôôôÿôôõÿôôõÿõõôÿõõõÿõõõÿõõõÿõõõÿõõöÿöõöÿöõöÿöööÿöööÿöõöÿöööÿö÷öÿö÷öÿ÷ööÿ÷ööÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿ÷øøÿ÷÷÷ÿøøøÿøø÷ÿøø÷ÿøøøÿøøøÿùøøÿùùùÿøùøÿùøùÿùùùÿùùùÿùùùÿùùùÿùùúÿùùúÿúúúÿúúùÿúúúÿúúúÿúúúÿúúúÿûúúÿûúúÿúûûÿûûúÿúúûÿûûûÿûûûÿûûûÿûûûÿüûûÿûüûÿüüüÿüûüÿüûüÿüüüÿüüüÿüüüÿüýüÿýýüÿüüýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýýÿþþýÿþþþÿýþþÿþþþÿýþþÿþþþÿþþþÿÿþþÿÿþÿÿÿÿÿÿþÿÿÿÿžÿžžÿžžÿžžžÿžžÿžžžÿžžžÿžŸžÿžžžÿŸŸŸÿŸžŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿ  ŸÿŸŸ ÿŸŸŸÿ Ÿ ÿ   ÿ Ÿ ÿ   ÿ   ÿ  ¡ÿ   ÿ ¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¡¡ÿ¢¡¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢££ÿ¢£¢ÿ£¢¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¥¤ÿ¥¥¥ÿ¤¤¥ÿ¤¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¥¥ÿ¥¦¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¥ÿ¦¥¦ÿ¦¦¦ÿ§¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ§§¦ÿ¦§§ÿ§§§ÿ¨§§ÿ§§§ÿ§§¨ÿ§¨§ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ¨©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©ªÿª©©ÿ©©©ÿ©ªªÿªªªÿ©ª«ÿ§¨­ÿ¤¦±ÿ–žÀÿ‚“Ðÿi†ßÿGyìÿ7tðÿ,qòÿ nôÿ löÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ `öÿ+göÿ@oöÿMvõÿd‚õÿ“£ôÿ¶¿óÿÕÙóÿêêðÿîïñÿñññÿññòÿññòÿññòÿòòòÿñòòÿòòòÿòòòÿòòòÿòòóÿòòóÿóòóÿóóòÿóóóÿóóóÿóóòÿóóóÿóóôÿóôóÿóôôÿôóôÿóôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõôÿõôõÿôôõÿõõõÿõõõÿõõõÿõöõÿõõõÿöööÿõõöÿöõõÿõööÿöööÿöööÿöö÷ÿ÷ööÿöööÿö÷÷ÿ÷÷öÿ÷÷öÿ÷ö÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿøøøÿø÷÷ÿøøøÿøøøÿ÷øøÿøøøÿøøøÿøøùÿøùøÿøøùÿùøùÿøøøÿøùùÿùùùÿùùùÿùùùÿúùùÿúùùÿúùúÿúúùÿúúúÿúúúÿúúúÿúúúÿúûúÿûúûÿûúúÿûûûÿûûûÿûûûÿûûûÿûüûÿûüûÿüüûÿûûûÿüûüÿüüüÿüüûÿüüüÿýüüÿýüüÿüýýÿýýüÿýýýÿüýýÿýýüÿýýýÿýýþÿþþýÿýýýÿþýýÿþþþÿýþþÿýþþÿþþþÿþþþÿþþþÿþþÿÿþþÿÿþþþÿÿžÿžžÿžžÿÿžÿžžÿžžžÿžžžÿžžžÿŸžŸÿžžŸÿŸŸžÿŸžŸÿŸžŸÿŸŸžÿŸŸŸÿŸŸŸÿ  ŸÿŸŸ ÿ   ÿŸŸ ÿ   ÿ   ÿ   ÿ   ÿ¡¡ ÿ   ÿ¡¡¡ÿ   ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¢¡ÿ¡¡¢ÿ¢¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ£££ÿ£¢£ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ££¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¤¥¥ÿ¥¥¤ÿ¥¤¥ÿ¥¥¤ÿ¦¥¥ÿ¦¦¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ¦¦¦ÿ¦§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨¨§ÿ§¨§ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿ©ªªÿªª©ÿ©ª©ÿ¥§°ÿ‡•ÍÿYæÿmõÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿDqöÿž¬ôÿÔØòÿñññÿñññÿòñòÿòòñÿòñòÿñòñÿòòòÿòòòÿòòòÿóòòÿóòòÿòóóÿòòóÿòòòÿòóóÿóóóÿóóóÿóóóÿôóóÿóôôÿóóôÿôôóÿôóôÿôôôÿôôôÿôôõÿôôôÿôôôÿôõôÿõõõÿôõõÿõõôÿõõõÿõõõÿõõõÿõõõÿöõöÿööõÿöööÿöööÿöööÿöööÿöööÿ÷ööÿ÷÷öÿ÷÷÷ÿ÷ööÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿø÷÷ÿ÷øøÿøøøÿøøøÿøùøÿøøøÿøùøÿøøùÿøùøÿùùùÿùùøÿùùùÿùùùÿùùùÿùùúÿúúùÿùùúÿúùúÿúúúÿúúùÿúúúÿúúúÿúúúÿûúúÿûûûÿûûûÿûúûÿûûûÿûûûÿûüûÿûûüÿûûüÿûûüÿüüüÿûûüÿüüüÿüüüÿüýüÿüýüÿüüýÿýýüÿýüýÿýüýÿýýýÿýýýÿþýýÿýýýÿýýýÿýýýÿþþýÿýýþÿþþþÿþþþÿþþþÿþþÿÿþÿÿÿþþþÿÿžÿÿžžÿžžÿžžžÿžžÿžžžÿžžžÿžžŸÿžžžÿžŸŸÿžžŸÿŸžŸÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿ   ÿ Ÿ ÿ Ÿ ÿŸŸ ÿŸ  ÿ   ÿ   ÿ   ÿ  ¡ÿ ¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢¡¡ÿ¢¢¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ£¢£ÿ£££ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£££ÿ£¤£ÿ¤¤£ÿ¤£¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¥ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ¦§§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ¨§¨ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ©©©ÿ©¨©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©ªÿªª©ÿŸ¢·ÿW}çÿmõÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿHsöÿªµôÿííñÿññòÿòññÿòññÿòòñÿòòòÿòòòÿòòòÿòòòÿóòòÿóóòÿóóóÿòòóÿóóóÿóóóÿóóóÿóóóÿóóóÿôóóÿóóóÿôóôÿóôôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿôõõÿõôõÿôõõÿõõõÿõõõÿöõõÿõõõÿõõõÿõöõÿõõöÿöööÿõööÿöööÿöö÷ÿöö÷ÿö÷öÿ÷÷öÿ÷÷öÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷øÿøøøÿø÷øÿ÷÷÷ÿøøøÿøøøÿøùøÿøøøÿøùøÿùùøÿùøùÿùùøÿùùùÿúùùÿúùùÿùùùÿùùúÿúúùÿúùúÿùúùÿúúùÿúúúÿúúúÿúûûÿúúûÿûûúÿûûûÿûûûÿûúûÿûûûÿûüûÿüûûÿûûüÿûûüÿüûüÿüüüÿüûüÿüüüÿüüüÿüüüÿýüýÿüüüÿüýüÿýüýÿüüüÿýýýÿþýýÿýýýÿþýþÿþþýÿþþýÿþþþÿþýþÿþþþÿþþþÿþþþÿÿÿþÿþÿþÿÿÿÿÿÿžžÿžžžÿžžžÿžžžÿŸžžÿžŸŸÿžžŸÿŸžŸÿŸžŸÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿŸ ŸÿŸŸŸÿ  ŸÿŸ  ÿ  Ÿÿ   ÿ¡  ÿ   ÿ   ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¡ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ££¢ÿ¢£¢ÿ¢££ÿ££¢ÿ£££ÿ¢£¢ÿ£££ÿ£££ÿ¤££ÿ£££ÿ¤£¤ÿ¤££ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¥¥¥ÿ¤¥¤ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¦¥ÿ¦¦¥ÿ¦¥¦ÿ¥¥¦ÿ¦¦¥ÿ¥¦¦ÿ¦¦¦ÿ§¦¦ÿ¦¦¦ÿ¦¦§ÿ§¦¦ÿ¦§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ©©¨ÿ©©¨ÿ©¨©ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿªªªÿž¡¸ÿHxìÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿböÿ©´ôÿîïñÿñññÿòòñÿòòñÿòòñÿòòòÿòòòÿòòòÿòóòÿòòòÿóòòÿóóòÿóóóÿóóòÿóóóÿóóóÿóóóÿôóóÿôóóÿóôôÿóóóÿôóôÿôôôÿôôôÿôôôÿõôôÿôõôÿôôôÿõôõÿôõôÿôõõÿõõõÿõõõÿõõõÿõõõÿõööÿõõõÿõõöÿõõöÿööõÿöööÿöööÿöööÿöö÷ÿöööÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷øÿ÷÷÷ÿøøøÿ÷øøÿøøøÿøøøÿøøøÿøùøÿøùøÿøøùÿøùùÿùøùÿùùùÿùùùÿùùùÿùùúÿúúùÿùùúÿùùúÿúúùÿúúúÿúúúÿúúúÿûûúÿûûûÿûúûÿûûúÿûûûÿûúûÿûûûÿûüûÿûûüÿûûüÿûûüÿüüûÿûüüÿüüüÿüüüÿüüüÿüýýÿüüüÿüýüÿýüüÿýýýÿýýýÿýýýÿýþýÿýýýÿýýýÿýþýÿþþþÿýþþÿþþþÿþþþÿþþþÿþþþÿþÿþÿÿÿžžÿžžÿžÿžÿžžÿžžÿžžžÿžžžÿžŸžÿžžžÿžžžÿžŸŸÿžŸŸÿŸŸžÿŸŸžÿŸŸŸÿŸŸŸÿ ŸŸÿŸŸ ÿŸŸ ÿ   ÿŸ  ÿ   ÿ  Ÿÿ   ÿ¡  ÿ  ¡ÿ ¡ ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡ ÿ¢¡¡ÿ¡¡¡ÿ¢¢¡ÿ¢¡¡ÿ¡¡¡ÿ¢¢¢ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£¢£ÿ£££ÿ¤££ÿ£££ÿ£¤£ÿ¤££ÿ¤¤¤ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¥¥ÿ¤¥¤ÿ¤¥¥ÿ¥¥¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¦¦¥ÿ¥¥¦ÿ¦¦¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ§§¦ÿ¦¦¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§¨ÿ¨§¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ§¨­ÿcƒâÿköÿköÿköÿköÿköÿköÿköÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿböÿ¾Æóÿñññÿòñòÿññòÿòñòÿñòòÿòòñÿòòòÿòòòÿòòòÿòòòÿòóòÿóóóÿòóòÿóóóÿóóóÿóôóÿóóóÿôóóÿóóóÿôóóÿóóôÿôóóÿôôôÿôôôÿôôôÿôôôÿôõõÿõõôÿôôôÿõôõÿôôõÿõõõÿõõõÿõõöÿöõõÿõõöÿöööÿöööÿöööÿööõÿöööÿöööÿ÷ööÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿøøøÿ÷ø÷ÿøøøÿøøøÿøøøÿùùøÿùøùÿøøùÿùùøÿùùùÿùøùÿùùùÿùùùÿùùùÿùùúÿúúúÿúùúÿúùúÿúúúÿúúúÿúúúÿúúúÿúûúÿúúúÿúúúÿûûúÿûûûÿûûûÿûûûÿûüûÿüûûÿûüüÿûüûÿüûüÿüüüÿûüüÿýüüÿüüüÿüüüÿýüüÿýüýÿýüýÿýýýÿýýüÿýýýÿýýýÿýýýÿýýþÿýýýÿýþþÿþþýÿþþýÿþþþÿþþþÿÿþþÿœÿœÿÿžžÿÿÿžžÿžžžÿžžžÿžžÿžžžÿžžžÿžŸžÿžžžÿžŸŸÿžžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿ  ŸÿŸ  ÿ Ÿ ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ   ÿ ¡ ÿ  ¡ÿ¡¡ ÿ ¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¡¢¡ÿ¢¢¢ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¡ÿ¢£¢ÿ£¢£ÿ¢¢¢ÿ££¢ÿ¢£¢ÿ£££ÿ¢££ÿ¢££ÿ£££ÿ¤££ÿ££¤ÿ¤¤£ÿ£££ÿ££¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¤¤¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¤ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¥ÿ¥¦¦ÿ¥¦¥ÿ¦¥¦ÿ¦¦¦ÿ§¦¦ÿ§¦§ÿ¦§¦ÿ§§¦ÿ§§§ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ¨§§ÿ§§¨ÿ§¨¨ÿ§¨¨ÿ©¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿ‹—Èÿköÿköÿköÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿVzõÿãåòÿñññÿòñòÿññòÿòñòÿòòòÿòòòÿòòòÿòóòÿòòòÿòòóÿòóóÿòòóÿòòòÿóóòÿóóóÿóóóÿóóóÿóóôÿóôôÿóóôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôõÿôôôÿôõõÿôõôÿõõõÿôõõÿõõõÿõõõÿõõõÿõöõÿõõöÿõööÿöõöÿöööÿöööÿö÷öÿöööÿ÷÷öÿöö÷ÿöööÿ÷÷÷ÿ÷÷öÿö÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷÷ÿø÷÷ÿø÷÷ÿ÷øøÿ÷øøÿøøøÿøøøÿøøùÿøøøÿøøøÿøùøÿùùùÿøùùÿùùùÿùùùÿùùùÿùùúÿùúùÿúùùÿùúùÿúúúÿúúúÿúúúÿúúûÿúûúÿûúúÿûúúÿûûûÿûûúÿûûûÿûûûÿûûûÿûûûÿüüüÿüüûÿûûüÿûüüÿüüüÿüüüÿüüüÿüüüÿýüüÿüýýÿüüýÿüýýÿýüýÿýýýÿýýýÿýýýÿþýþÿýýýÿýýýÿþýþÿþýýÿþþþÿþþþÿþþþÿÿÿÿÿžžÿÿžžÿžžÿžžÿžÿžžžÿžžžÿžžžÿŸžžÿžžŸÿžžžÿŸžŸÿŸžŸÿžŸŸÿŸ ŸÿŸ ŸÿŸ ŸÿŸ ŸÿŸŸ ÿ  Ÿÿ  ŸÿŸ  ÿ   ÿ   ÿ¡  ÿ   ÿ¡  ÿ ¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¡ÿ¡¡¢ÿ¢¡¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ££¢ÿ£¢£ÿ£¢£ÿ££¢ÿ¢£¢ÿ£££ÿ£££ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¤ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¦¥¦ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¦¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦§ÿ¦§§ÿ¦§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ§¨¨ÿ§¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©¨ÿ©©©ÿ©©¨ÿ¨©©ÿ©©¨ÿ¨©ªÿLyêÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿcöÿ¹Áóÿòññÿñòñÿñññÿòòòÿñòòÿòòòÿòòòÿòòòÿòòòÿóòòÿòòòÿóóòÿòóòÿóóóÿóóóÿóóóÿóóóÿóôóÿóóóÿôôóÿôôóÿôóôÿôôôÿôôôÿôôôÿõôôÿõôôÿôôõÿôõôÿôõôÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõõõÿöööÿõõöÿöööÿöööÿöööÿö÷÷ÿ÷ööÿ÷÷öÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿ÷øøÿøøøÿøøøÿø÷øÿøøøÿùøøÿøøùÿùùøÿùøùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿúúúÿúúúÿúúùÿúúúÿúúúÿúûúÿúúúÿúûûÿúûúÿúûúÿûûûÿûûûÿûûûÿûûûÿûûûÿüüûÿûüüÿûûûÿüüüÿüüüÿüüüÿüüüÿüüüÿýýüÿüýüÿüýüÿüýýÿüýýÿüýýÿýýýÿýýþÿþýýÿþýýÿýýýÿþþþÿþþýÿþþþÿþþþÿœÿÿœÿÿÿžÿžÿÿžÿžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸŸŸÿŸžžÿŸŸŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿŸ  ÿ Ÿ ÿ ŸŸÿ   ÿ ¡ ÿ   ÿ   ÿ¡¡ ÿ  ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¢ÿ¢¡¡ÿ¢¡¢ÿ¢¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢££ÿ¢££ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¥¤¤ÿ¤¥¤ÿ¥¤¥ÿ¥¤¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ§¦§ÿ§§§ÿ¦¦§ÿ§¦§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨§ÿ§§§ÿ§§¨ÿ§¨¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©©ÿ©¨¨ÿ©¨©ÿ¨¨©ÿšŸºÿ-pòÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿõÿìíñÿñòòÿòññÿòññÿñòñÿñññÿòñòÿòòòÿòòòÿòòòÿòòòÿòòóÿòòóÿóòòÿóóóÿóóóÿóóóÿóóôÿôóóÿóóôÿóóóÿôóóÿôóóÿôôóÿôôôÿõôôÿõôôÿõõôÿõôôÿôõôÿõôõÿõõõÿõôõÿõõõÿõõõÿööõÿöööÿõõõÿõõöÿöööÿöööÿöööÿöööÿöööÿö÷öÿ÷÷÷ÿö÷öÿ÷÷öÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿøø÷ÿ÷ø÷ÿøøøÿø÷øÿøøøÿøøøÿøøøÿùøøÿøøøÿøùøÿùøùÿùùùÿùøùÿùúùÿùùùÿúúùÿùúúÿùùùÿúúùÿùúúÿúúúÿúúúÿúúúÿúúúÿúûúÿúûúÿûûûÿúûúÿûúûÿûûûÿûûûÿûûûÿûüûÿüüüÿüûûÿüüüÿüüüÿüüüÿüýüÿüüýÿüýýÿýýýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýýÿþýþÿþþþÿýýþÿþþþÿþþþÿþþþÿœœÿœÿÿÿÿÿžÿžžÿžžÿÿžžžÿžžžÿžžžÿžžžÿŸžŸÿžžŸÿžŸžÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿŸ ŸÿŸŸ ÿ ŸŸÿ ŸŸÿ   ÿ   ÿ¡  ÿ   ÿ   ÿ¡¡ ÿ¡  ÿ ¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¢¢ÿ¢¢¢ÿ¡¡¡ÿ¢¢¢ÿ¡¡¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢£ÿ¢££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ£££ÿ££¤ÿ¤££ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¤¥ÿ¥¥¥ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¦¥¦ÿ¦¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ§¦¦ÿ¦§§ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ¨§§ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ¨¨©ÿ¨©¨ÿ˜Æÿ!môÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ`õÿçèñÿñòñÿññòÿñòòÿñññÿñòòÿòòòÿòòòÿñòñÿòòòÿòòòÿòòòÿóòòÿòóòÿóóòÿóóóÿóóóÿóóóÿôóôÿôóóÿóóóÿóóôÿôóôÿôóôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõõÿôõôÿõõõÿõõõÿõõõÿöõõÿõöõÿõõöÿöõõÿõööÿööõÿöööÿöööÿöööÿöööÿöö÷ÿöö÷ÿöööÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷÷øÿøøøÿ÷øøÿ÷÷÷ÿ÷øøÿøøøÿøøøÿøøùÿùùøÿùøøÿøùøÿùùùÿùùùÿùùùÿùùùÿúùùÿùùúÿúùúÿúùùÿúúúÿùúúÿúúúÿúúúÿúúúÿûúúÿûúúÿûúûÿûûûÿûûûÿûûûÿûûûÿûûûÿüûûÿûûûÿüûûÿûüüÿüüüÿüüüÿüýüÿýüüÿýüüÿüýüÿýýüÿýüýÿüüýÿýýýÿýýýÿýýýÿýýýÿýýþÿþýýÿýþýÿýþþÿþþþÿœœœÿœœÿÿÿÿÿÿÿžÿžžÿÿžžžÿžžžÿžžžÿžžŸÿžŸžÿŸžŸÿŸžŸÿžŸŸÿŸžŸÿŸŸŸÿŸŸŸÿ ŸŸÿ   ÿ Ÿ ÿ ŸŸÿ  ŸÿŸ  ÿ   ÿ   ÿ   ÿ ¡ ÿ  ¡ÿ ¡ ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¢¢ÿ¢¡¢ÿ¡¡¢ÿ¡¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ££¢ÿ¢££ÿ££¢ÿ£££ÿ£¤£ÿ¤££ÿ£££ÿ£££ÿ¤£¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¥¥¤ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ¦§§ÿ¦§§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ§¨¨ÿ§¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©¨ÿ©©©ÿ©¨¨ÿ„“Íÿlõÿjöÿjöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ.föÿäæñÿñññÿñññÿñññÿñññÿòòñÿòñòÿòññÿòòòÿòòòÿòòòÿòòòÿóòòÿóóòÿóòòÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóôóÿôôóÿôóóÿôôôÿôôôÿôôôÿôôôÿôôôÿõôõÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿöõõÿõöõÿõööÿõööÿõööÿööõÿöööÿ÷ööÿ÷÷öÿöööÿ÷ö÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷øøÿøøøÿ÷øøÿø÷øÿ÷øøÿøøøÿøøùÿøøøÿøøøÿøùøÿùùùÿøùøÿùùùÿùùùÿùùùÿùùùÿúùúÿùùùÿúùùÿùùúÿúúúÿúúúÿúúúÿúûûÿúúúÿúúûÿúûúÿúûúÿûûúÿûûûÿûûûÿûûüÿûûûÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüýÿüýýÿýüýÿýüýÿýýýÿýýüÿýýýÿýýýÿþýýÿýýýÿþýþÿýþýÿþþýÿþþýÿœÿœœÿœÿœÿœÿÿÿÿÿžžÿžÿžžžÿžžžÿžžžÿžžžÿžŸžÿŸžžÿžžžÿžžžÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸ  ÿŸ  ÿ   ÿ   ÿ   ÿ  ¡ÿ  ¡ÿ ¡ ÿ  ¡ÿ   ÿ¡¡¡ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ££¢ÿ£¢¢ÿ£¢¢ÿ£££ÿ£££ÿ£££ÿ¤£¤ÿ¤££ÿ£¤£ÿ¤££ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦§§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§¦ÿ§¨§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨¨ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ¨©¨ÿ¨©©ÿƒ‘Ïÿkõÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿäåñÿñññÿòññÿñòñÿñññÿòòòÿòòòÿòòòÿòòòÿòñòÿòòòÿóòòÿòòóÿòòóÿóòóÿòòòÿóóóÿóòóÿóóóÿóóóÿóôóÿóóôÿóôóÿôóôÿóôôÿôôôÿôôôÿôôôÿõôõÿôôôÿôôôÿôôõÿõôõÿõõõÿõõõÿõõõÿöõõÿöõöÿõööÿöööÿöööÿöööÿöööÿöööÿöööÿ÷ö÷ÿöööÿ÷ö÷ÿ÷÷öÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷ø÷ÿ÷øøÿøøøÿø÷øÿøøøÿøøøÿøùøÿøùøÿøøøÿøùùÿùøùÿøùøÿøùùÿùùùÿùùùÿùùùÿùùùÿùùùÿúúùÿùùúÿúúùÿúúúÿúúúÿúúúÿúûúÿûúúÿûúúÿúûûÿûûûÿûûûÿûûûÿûüûÿûûûÿûûûÿüüûÿûûüÿüüüÿüüüÿüüüÿüüýÿüüüÿüüüÿüüüÿüüüÿýýýÿýýýÿýýýÿýýýÿþýþÿþýþÿþýþÿþýýÿþþþÿœœÿœœÿœœÿœÿÿœœÿÿÿžÿžÿžÿžžÿžÿžžžÿžžÿžžžÿžžžÿžŸŸÿžŸžÿžžžÿŸŸžÿžŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸ ÿ ŸŸÿ  ŸÿŸ  ÿ   ÿ   ÿ   ÿ¡  ÿ¡ ¡ÿ   ÿ   ÿ ¡ ÿ ¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¡ÿ¡¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢¢£ÿ¢£¢ÿ£¢£ÿ£¢¢ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¥¥ÿ¤¥¥ÿ¤¥¥ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¥ÿ¥¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦¦§ÿ¦§§ÿ§§§ÿ§¦§ÿ§§§ÿ§§§ÿ¨§§ÿ§§¨ÿ¨¨§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ‡”Ëÿkôÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ7iöÿäæòÿñðñÿñññÿñññÿñòñÿñññÿññòÿñññÿòññÿòñòÿòòñÿòòòÿòòòÿòòóÿòóóÿòòòÿóòòÿóóòÿóóóÿóóòÿóóóÿóóóÿóóóÿôóóÿóóôÿóóôÿôôôÿôôôÿôôõÿôôõÿõôôÿôõõÿôõõÿõõõÿõõõÿõõõÿõõöÿõööÿöõöÿõööÿõööÿööõÿöõöÿöööÿöööÿö÷öÿö÷öÿöö÷ÿöö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷÷÷ÿø÷÷ÿøøøÿ÷ø÷ÿø÷÷ÿø÷øÿøøøÿøøøÿøøøÿùøùÿùùøÿøøùÿøùùÿùùùÿùùùÿùùùÿùùùÿùùúÿùúùÿùúùÿúúùÿúúúÿúúúÿúúúÿûúûÿúûúÿûúûÿûûûÿúûûÿûûûÿûûûÿûûûÿûûûÿüüûÿûüûÿüüûÿüüûÿüüüÿûüüÿüüüÿüýýÿýüüÿüüüÿýüüÿüüýÿýýüÿýýýÿýýýÿýýýÿýýþÿþþþÿýþþÿþþþÿœœœÿœœÿœœœÿÿœœÿÿœÿÿÿÿÿžÿžžžÿžžžÿžžžÿžžžÿžžžÿžžŸÿŸŸŸÿžŸžÿžžžÿŸŸŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸŸÿ   ÿŸ  ÿ  Ÿÿ   ÿ   ÿ   ÿ¡  ÿ¡ ¡ÿ¡¡¡ÿ¡ ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¢ÿ¢¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢£ÿ£¢£ÿ£££ÿ£££ÿ¢££ÿ££¢ÿ£¢£ÿ£££ÿ¤££ÿ¤££ÿ£££ÿ£¤£ÿ¤££ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¥¦ÿ¦¦¦ÿ§¦¦ÿ§¦¦ÿ¦§§ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨©¨ÿ’šÂÿ%móÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿj…õÿèéñÿññðÿñññÿñññÿñññÿñòñÿñòòÿñññÿòòñÿòñòÿñòòÿòòòÿòòóÿòòòÿòòòÿóòóÿóóóÿóòóÿòóóÿóóóÿóóôÿóóóÿóóóÿóóóÿóóóÿóóóÿóôôÿôôôÿôôôÿôôõÿôôôÿôôôÿõõôÿôõõÿôõõÿõõõÿôõõÿõõõÿõõõÿõõöÿöõõÿöõöÿöõöÿõöõÿöööÿöööÿöööÿö÷öÿö÷öÿ÷ööÿ÷÷öÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿ÷ø÷ÿøøøÿ÷ø÷ÿ÷øøÿøøøÿøøøÿøøøÿøùøÿøùøÿùøùÿùùøÿùùøÿùùùÿùùùÿùùùÿúùùÿùúùÿúúùÿùùùÿùúúÿúúùÿúúúÿúûûÿúúúÿúúúÿúúûÿúûúÿûûûÿûûûÿûûûÿûûûÿüûüÿûüûÿûûûÿüûüÿüûûÿüüüÿüüûÿüüüÿüüüÿüüüÿýüýÿüüüÿüýýÿýýüÿýýýÿýýýÿýýýÿýþýÿþýýÿýþýÿœœœÿœœœÿœœÿÿœÿœÿœÿÿÿÿžžÿžžÿžÿžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸžŸÿŸžŸÿŸžžÿŸŸžÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸ ÿŸ ŸÿŸŸ ÿŸŸ ÿ   ÿ   ÿ   ÿ  ¡ÿ ¡ ÿ ¡ ÿ ¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢££ÿ£££ÿ££¢ÿ££¢ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ£££ÿ¤££ÿ¤¤£ÿ££¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¦¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§¦ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§§ÿ¨§¨ÿ§§¨ÿ§¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¡¤±ÿ5qðÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿiöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿc÷ÿc÷ÿdøÿdøÿdøÿdøÿdøÿdøÿdøÿdøÿdøÿdøÿdøÿd÷ÿc÷ÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿb÷ÿbøÿaöÿ[æÿTÖÿQÎÿOÉÿNÈÿOÊÿQÏÿUØÿ[èÿaøÿaøÿa÷ÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ«ôÿîîñÿñññÿññðÿñññÿñññÿòññÿñòñÿòññÿññòÿòòñÿòòòÿñòòÿòòòÿòòòÿòòòÿóòòÿòòòÿóòòÿòòóÿóóóÿóóóÿóóóÿóóóÿôóóÿóóóÿóóôÿôôôÿôóôÿôôôÿôôôÿôõôÿôõõÿôôõÿôõõÿôôõÿõõõÿõõõÿõõõÿõõõÿöõöÿõööÿöõõÿöõöÿõööÿöööÿöööÿöööÿöööÿö÷÷ÿöööÿ÷÷÷ÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷÷øÿ÷÷÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøùøÿøùùÿøøùÿøøùÿùùùÿøùùÿùùùÿùùùÿùùúÿùùùÿùúùÿúúùÿùúúÿúúúÿúúúÿúúúÿúúûÿúúûÿúúúÿûûúÿúûúÿûûûÿûûûÿûûûÿûûûÿûûûÿüûüÿüüüÿüüüÿüûûÿüüüÿüüüÿüüüÿýüüÿüýýÿüýüÿýýýÿüýýÿýýýÿýýýÿýýýÿýýýÿþýþÿþýýÿœœœÿœœœÿœÿœœœÿœÿœœÿÿÿÿÿžÿžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸŸŸÿŸžžÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸ  ÿ ŸŸÿŸŸ ÿŸŸ ÿ   ÿ   ÿ   ÿ¡ ¡ÿ   ÿ   ÿ ¡¡ÿ¡ ¡ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢£¢ÿ£££ÿ¤££ÿ£££ÿ£££ÿ££¤ÿ££¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¤ÿ¥¥¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¥¦ÿ¦¥¥ÿ¦¥¦ÿ¥¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§§¦ÿ§§§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§§ÿ§¨§ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿk…ÝÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcõÿbôÿbóÿañÿUÕÿIµÿ?žÿ7Šÿ0{ÿ,sÿ+qÿ)oÿ*pÿ+rÿ-vÿ2ÿ9ÿD«ÿSÏÿ`ðÿbóÿbôÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaõÿ`óÿ[çÿC¬ÿ1ÿ'mÿYÿCÿ4ÿ )ÿ 'ÿ -ÿ6ÿEÿ[ÿ)pÿ3‡ÿJ¾ÿ]ïÿ_ôÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ@möÿÐÔñÿññðÿðñðÿñðñÿñðñÿñðñÿñññÿòññÿñññÿññòÿòòòÿòñòÿòòñÿòòòÿòòòÿòòòÿóòòÿòóóÿòòòÿòóóÿóóòÿóóóÿóóóÿóóóÿóóóÿôôôÿôóôÿôóôÿóóôÿôôôÿôôôÿôôôÿôõôÿõôõÿõôõÿôôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõõöÿõöõÿõõõÿööõÿõööÿöööÿöööÿ÷ööÿöö÷ÿöö÷ÿö÷öÿ÷÷÷ÿ÷÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøùùÿùøøÿùùùÿùùùÿøùùÿùøùÿùùùÿùùùÿùùúÿùùùÿúúùÿúùúÿúúúÿúúùÿúúúÿúúûÿúûúÿúúúÿúûúÿûûûÿúûúÿúûûÿûûûÿûûûÿûûûÿûûûÿüüûÿüûüÿüûüÿüüüÿüüûÿüüüÿüüýÿüüüÿüýüÿýýüÿýýýÿýüýÿýýýÿýýýÿýýýÿýýýÿýýþÿœœœÿœœœÿœœœÿœœÿœÿœœÿœÿœœÿÿÿÿÿÿžžžÿžžÿžžžÿžžžÿžžžÿžžŸÿžŸžÿŸŸžÿŸžŸÿŸŸŸÿŸžŸÿžŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿŸ Ÿÿ ŸŸÿ   ÿ   ÿ Ÿ ÿ   ÿ¡ ¡ÿ   ÿ  ¡ÿ ¡¡ÿ  ¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¢¡¢ÿ¡¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ£££ÿ¢£¢ÿ¢¢£ÿ£¢£ÿ¢££ÿ£££ÿ£££ÿ££¤ÿ£¤£ÿ¤¤¤ÿ£££ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¥¤ÿ¥¥¤ÿ¥¥¤ÿ¤¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ¦§§ÿ§§§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ¨§§ÿ§¨§ÿ§¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿœ¡·ÿ+nòÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿc÷ÿc÷ÿ_ìÿXÜÿTÓÿE¯ÿ.uÿBÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHÿ8ÿRÎÿXÛÿañÿb÷ÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`÷ÿ^ñÿTÚÿD²ÿ Uÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.yÿOËÿXãÿ`÷ÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ¡­óÿñðñÿðñðÿññðÿñðñÿñðñÿñññÿñññÿñññÿñòòÿñññÿññòÿòññÿòññÿñòòÿñòòÿòóòÿòòóÿòóòÿòóòÿóòóÿóóóÿòóóÿóóóÿóóóÿóóóÿóóóÿóóôÿôóóÿôôóÿôóóÿôôôÿôôôÿôõôÿôôôÿõôôÿôõôÿôôõÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿöööÿõõõÿöööÿõööÿöööÿöööÿö÷öÿöööÿöööÿöööÿö÷öÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿ÷÷øÿ÷÷øÿøøøÿøøøÿ÷øøÿøøøÿøøùÿùøøÿùøùÿùøøÿùùùÿøøùÿùùùÿùùùÿùùùÿùùúÿúùùÿùúùÿúùúÿúúúÿúúùÿúúúÿúúûÿûúúÿúûúÿúúûÿúúúÿûúúÿûûûÿûûûÿûûûÿüûûÿüûüÿüûûÿüüüÿüûüÿüûüÿüüüÿüüüÿüüüÿüüüÿýüüÿýýüÿüýýÿýýýÿýýýÿýýýÿýýýÿýþýÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœÿœÿÿÿÿžÿžÿžžÿžžÿžžÿžžžÿžžÿžžžÿžžŸÿžžžÿŸŸžÿžŸŸÿžŸžÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ  ÿ  ŸÿŸ Ÿÿ   ÿ   ÿ   ÿ   ÿ¡  ÿ   ÿ  ¡ÿ¡¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¢ÿ¢¡¡ÿ¢¡¢ÿ¡¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ£¢¢ÿ¢££ÿ£££ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤£ÿ¤¤£ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¥ÿ¤¥¥ÿ¤¥¥ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¦ÿ¥¦¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦§ÿ¦¦¦ÿ¦§¦ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨§©ÿ~ŽÒÿiõÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿc÷ÿ`ïÿKÀÿ7”ÿ&tÿ =ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ;ÿ0ÿC©ÿ^ëÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ]òÿF»ÿ.„ÿ.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ [ÿ;›ÿWàÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿzôÿèéðÿðððÿðððÿðññÿñðñÿñññÿðññÿññðÿñññÿñññÿñññÿñññÿññòÿñññÿòòòÿñòñÿòòòÿòòòÿòòòÿóòóÿóòóÿòóóÿóóóÿóóóÿóóóÿóóóÿóóóÿôóóÿôôóÿóóôÿôóóÿôôôÿóôôÿôôôÿôôôÿõôôÿôôôÿõôôÿõôõÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõöõÿöööÿõööÿöööÿöööÿöööÿöööÿö÷öÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷÷÷ÿ÷øøÿø÷÷ÿø÷øÿøøøÿ÷øøÿøøøÿøøøÿøøøÿøùøÿøùùÿøùùÿøøøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿúúúÿúúúÿúúúÿúúúÿúúúÿûûúÿûûûÿúûûÿûûûÿúûûÿûúûÿûûûÿûüûÿûüüÿûûüÿüüûÿüûûÿüûûÿûüüÿüüüÿüüüÿüüüÿüüüÿýýüÿýýüÿüýüÿýýýÿýüýÿýýýÿþýþÿœœœÿœœœÿœœœÿœœÿœœœÿœÿœœÿÿœÿœÿÿÿžÿÿžÿžÿžžÿžžÿžžÿžžžÿžžžÿŸžžÿžŸžÿžžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿ  Ÿÿ Ÿ ÿ   ÿ   ÿ   ÿ  ¡ÿ¡¡¡ÿ ¡ ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¢ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£££ÿ¢¢¢ÿ£¢£ÿ£¢£ÿ££¢ÿ£££ÿ£££ÿ¤££ÿ££¤ÿ£¤£ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¥¥ÿ¥¤¤ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¥¦¦ÿ¥¥¥ÿ¦¦¥ÿ¦¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦§§ÿ¦§§ÿ§¦§ÿ§§§ÿ§§¦ÿ§§§ÿ§§¨ÿ¨§§ÿ§§§ÿ§§¨ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¤¥¯ÿX|æÿhöÿhöÿhöÿhöÿhöÿhöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿbõÿ]èÿ+_×ÿiv¤ÿ’–ŸÿÃÃÅÿãããÿíííÿÜÜÜÿµµµÿ………ÿ[[[ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ3ÿ=œÿZâÿaôÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿböÿN{õÿ‚žãÿº¿Ìÿííîÿüüüÿüüüÿíííÿ¹¹¹ÿ‚‚‚ÿOOOÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +ÿ?§ÿZêÿ_õÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿDnöÿÒÕòÿðððÿðððÿñððÿðññÿñððÿððñÿðððÿñðñÿðññÿñññÿñññÿñòñÿññòÿñññÿòñòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòóÿóóóÿòòóÿóóóÿóóóÿóóóÿóóóÿôóôÿóóôÿóóôÿôóóÿôóôÿôóóÿôôôÿôôôÿôôôÿõôõÿõõõÿõôôÿõõõÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõöõÿöõöÿöööÿõööÿöööÿöööÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿö÷öÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿ÷ø÷ÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿøøùÿøùøÿùøùÿùùøÿùùùÿùúùÿúùùÿùúùÿùúùÿùùùÿúùùÿúúúÿùúúÿûúúÿúúúÿúûûÿúúûÿúûúÿûúûÿûúûÿúûûÿûûûÿûûûÿûüüÿüüûÿûûüÿüüûÿûüüÿüüüÿüüüÿüüüÿüüýÿüýüÿüýýÿýýýÿýýýÿüýýÿýýýÿýýýÿœœœÿœœ›ÿœœœÿœœœÿœœÿœœœÿœÿœœÿœÿœœÿÿÿžÿžÿžÿžžžÿžÿžÿžžÿžžžÿŸžžÿŸžžÿžžžÿŸŸžÿžžŸÿžŸŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿ   ÿŸ  ÿ ŸŸÿ Ÿ ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ¡¡¡ÿ  ¡ÿ¡ ¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¢¡ÿ¢¡¢ÿ¢¡¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ£¢¢ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ¤££ÿ£££ÿ£££ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¥ÿ¥¥¤ÿ¤¤¤ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¦¥¦ÿ¥¦¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¥ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§¦§ÿ¦¦§ÿ§¦¦ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§§ÿ§§¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿšŸ¹ÿ8pðÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿ^êÿ;¦ÿ|€”ÿÐÐÏÿøø÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿíííÿÃÃÃÿRRRÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ6ÿ@¦ÿZâÿb÷ÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ,qóÿ³Â÷ÿäë÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäääÿ«««ÿ(((ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ [ÿF¸ÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿªµóÿïïðÿðððÿðððÿðððÿðððÿñðñÿñðñÿðññÿñðñÿññðÿñññÿñññÿñññÿñññÿòñòÿñññÿñòòÿòòòÿòòòÿòòòÿòòòÿóòòÿòòòÿóóòÿòóóÿòóóÿóóóÿóóóÿóóóÿóôóÿôóóÿôôóÿôóóÿôôóÿôôôÿóôôÿôôôÿôôôÿôôõÿõõõÿõôõÿõõôÿõõõÿõõõÿöõõÿõõõÿõõõÿõõöÿööõÿöõöÿöõöÿöööÿöööÿ÷ö÷ÿö÷÷ÿöö÷ÿöö÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷÷÷ÿø÷øÿø÷÷ÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿùøøÿøøùÿøùøÿùøùÿøùøÿùùùÿùùùÿùùùÿùùúÿùùúÿúùúÿùùúÿùúúÿùúúÿúúúÿúúúÿûúúÿúúûÿûúúÿúúúÿûûúÿûûûÿúûûÿûûûÿüûüÿüûûÿüûüÿüûüÿûûûÿüüûÿüüüÿüüüÿüüüÿüüüÿýýüÿýüüÿýüýÿýýüÿýýýÿýýýÿœ›œÿ››œÿœ›œÿœœœÿœœœÿœÿœœÿœÿœÿœÿœÿÿÿÿÿÿžÿžÿžÿžžžÿžžžÿžžŸÿžžžÿŸžŸÿžŸžÿŸžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿ ŸŸÿŸŸ ÿŸŸ ÿ   ÿ   ÿ   ÿ   ÿ   ÿ  ¡ÿ¡¡¡ÿ   ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¢ÿ¡¡¢ÿ¡¡¢ÿ¡¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ£¢¢ÿ¢¢£ÿ£¢¢ÿ¢¢£ÿ£££ÿ¢£¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤£ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¤¥ÿ¦¥¥ÿ¥¥¥ÿ¦¦¦ÿ¥¥¦ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ§¦§ÿ§¦§ÿ§§§ÿ§§¦ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿŠ•Èÿiõÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿbõÿ1Q§ÿ½½½ÿ÷÷÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿðððÿ”””ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿDÿK¿ÿ`òÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`õÿ]‡óÿßåóÿýýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüüÿåååÿTTTÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#ÿ/}ÿXãÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿvŒõÿëìïÿðððÿðððÿðððÿðïðÿðððÿðððÿñññÿñðñÿðñðÿðñðÿñññÿñññÿñññÿñòñÿñññÿñññÿòòòÿòñòÿñòòÿòòñÿòòòÿòòòÿóóóÿóòóÿòòóÿóòóÿóòòÿóòóÿóóóÿôóôÿôóóÿôôôÿôôóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿôõôÿõõõÿõôôÿôõõÿõõõÿõõõÿöõöÿõõõÿõööÿõõõÿõööÿöööÿöööÿö÷öÿö÷÷ÿö÷öÿö÷öÿö÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿ÷÷øÿ÷ø÷ÿø÷øÿø÷øÿøøøÿøøøÿøøøÿøøøÿùùøÿøùøÿøøøÿøùùÿùùøÿùùùÿùùùÿúùùÿùùùÿùùúÿùùúÿúùùÿúúùÿúúúÿúúúÿúúúÿúúûÿûúúÿúúûÿúûûÿûûûÿûûûÿûûúÿûûûÿûûüÿûûûÿüüûÿûüüÿûüûÿûüüÿüüûÿüüüÿüüýÿüüüÿýüýÿýýýÿýýýÿýýýÿýýýÿ›œœÿ›œ›ÿ›œ›ÿœœœÿœœœÿœœœÿœÿœÿœœÿœÿÿÿœÿžÿÿžÿžžžÿžÿžÿžÿžžžÿžžžÿžžžÿžžžÿŸŸŸÿŸŸŸÿžŸŸÿŸŸŸÿŸŸžÿŸŸŸÿŸŸŸÿ ŸŸÿ   ÿ  Ÿÿ Ÿ ÿ   ÿ   ÿ   ÿ   ÿ  ¡ÿ ¡ ÿ   ÿ¡  ÿ ¡¡ÿ¡¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢£¢ÿ£¢£ÿ¢¢¢ÿ¢££ÿ£££ÿ££¢ÿ£££ÿ££¤ÿ¤¤£ÿ¤££ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¥ÿ¤¥¤ÿ¥¤¤ÿ¥¥¤ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¦ÿ¥¥¥ÿ¥¦¥ÿ¦¥¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§¦ÿ¦¦§ÿ¦¦§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§§ÿ§¨§ÿ¨¨§ÿ§¨§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¥¦¬ÿiƒßÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿa÷ÿHuáÿÍÎÑÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýýÿ²²²ÿ + + +ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ5‹ÿZåÿa÷ÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ]ðÿ€–ÚÿðñóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿíííÿuuuÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿVÿNÌÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿMrõÿØÚñÿïððÿðððÿðððÿðððÿðððÿðððÿðððÿñððÿñðñÿðññÿðññÿñññÿññðÿñññÿñññÿòñòÿñòñÿòñòÿòòòÿòòñÿòòòÿòòòÿóòóÿòòòÿòòóÿòóòÿóóóÿòóòÿóóóÿóóóÿóóôÿóôóÿôóóÿôôóÿóôóÿóôôÿôóôÿôôôÿôôôÿôôôÿõõõÿôôôÿõõõÿõôõÿôõõÿõõõÿõõõÿõõõÿõõõÿõõöÿöõöÿõõöÿöõöÿöõöÿöööÿ÷ööÿöööÿö÷öÿöö÷ÿöö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿøøøÿøøøÿ÷øøÿøøøÿøøøÿøøøÿøøùÿøøøÿùùøÿùùøÿùùøÿùùùÿùùùÿùùùÿùùùÿùúùÿùùúÿùúùÿúùùÿúúúÿúúúÿúúúÿúúúÿûúûÿûûûÿûúûÿûûûÿûûúÿûûûÿûûûÿüûûÿûûûÿûûûÿûûüÿüûûÿüüüÿüüüÿüüüÿüüüÿüüüÿüüüÿüüýÿýüýÿüýýÿýüýÿ›››ÿ›››ÿœ›œÿœ››ÿœœœÿœœœÿœœœÿœœœÿœœÿœÿœÿÿÿÿžÿÿžÿÿžžÿžžžÿžžžÿžžžÿžŸžÿžžžÿŸžžÿžŸžÿžŸžÿŸŸŸÿŸŸŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸ ÿ   ÿ   ÿ   ÿ   ÿ¡  ÿ ¡ ÿ¡ ¡ÿ¡¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¢¡ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢£¢ÿ¢¢£ÿ££¢ÿ¢££ÿ££¢ÿ£££ÿ£££ÿ££¤ÿ£££ÿ£££ÿ¤¤¤ÿ£¤£ÿ¤£¤ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¥¥¥ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¦¥¦ÿ¥¥¦ÿ¥¦¥ÿ¦¥¥ÿ¦¥¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§§ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ £²ÿ?rîÿgöÿgöÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿC|òÿÛâòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýýÿºººÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#aÿSÒÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿYåÿo{¤ÿñòóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòòòÿfffÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ4ÿB°ÿ\òÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿ_öÿ°¸òÿîîðÿðïïÿïïïÿðïïÿððïÿðððÿðððÿðððÿñððÿñððÿðññÿñññÿðññÿðññÿñññÿñññÿñññÿñòòÿñòñÿñòòÿñòòÿòòòÿñòòÿòòòÿóòòÿóòóÿòòóÿòóóÿóòòÿóóóÿóóòÿóóóÿóóóÿôóóÿôóóÿôôôÿóóôÿôôóÿóôôÿôôôÿôôôÿôôõÿôôôÿôõôÿôôõÿõõôÿõôõÿõõõÿõõõÿõõõÿöõõÿöööÿöööÿõööÿöööÿöööÿöööÿö÷öÿö÷öÿ÷÷öÿ÷ööÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿøø÷ÿø÷÷ÿø÷÷ÿøø÷ÿøøøÿøøøÿøøøÿùøùÿùøøÿùøøÿùùøÿøøùÿùùùÿùùùÿùùùÿùúúÿúùùÿùùúÿúúúÿúúúÿúúúÿùúúÿúúúÿúûúÿúûúÿúúúÿúúûÿûûûÿûûûÿûûûÿûûûÿûüûÿûüûÿûûüÿüüüÿüûüÿüûûÿûüüÿüüüÿüüüÿüüüÿýüýÿüüýÿüýüÿýýýÿœ››ÿœœ›ÿœœ›ÿ›œ›ÿœœ›ÿœœœÿœœœÿœÿœœœÿœÿœœœÿœÿœÿÿÿÿÿžžÿžÿžžžÿžžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸŸžÿŸžžÿŸŸŸÿŸŸŸÿ ŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿŸŸ ÿ Ÿ ÿ   ÿ   ÿ   ÿ¡  ÿ ¡¡ÿ   ÿ¡  ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¢ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ¢¢¢ÿ££¢ÿ¢¢£ÿ¢££ÿ¢££ÿ£££ÿ¤¤£ÿ£££ÿ£¤£ÿ£¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¥¥ÿ¤¤¤ÿ¥¥¤ÿ¤¥¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¥¥ÿ¦¦¦ÿ¦¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦§§ÿ¦¦¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ§¨¨ÿ§§§ÿ¨¨¨ÿ§§¨ÿ¨¨¨ÿ¨©¨ÿ‘™Âÿ!jôÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿ'n÷ÿÇÖûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿŸŸŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBÿNÈÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿMÌÿPUpÿéééÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿìììÿUUUÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ=¤ÿZíÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿ{õÿëëïÿïðïÿïïïÿïððÿððïÿïïïÿððïÿïððÿðïðÿðððÿðððÿñððÿðñðÿññðÿñððÿñññÿñññÿòññÿñññÿòññÿñññÿòòòÿñòñÿññòÿòòòÿòòòÿòòòÿòòòÿòóòÿóóóÿóóòÿóóóÿóóóÿóóóÿôôôÿóôóÿóóóÿóóôÿóóóÿôôôÿôóôÿôôôÿôôôÿôôõÿôôôÿõôõÿôôõÿõõõÿõôõÿõõõÿöõõÿöõöÿöööÿõõöÿõöõÿöõöÿöööÿöööÿö÷öÿöö÷ÿö÷÷ÿ÷ööÿö÷öÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿøø÷ÿøøøÿøøøÿøøøÿøøùÿøøøÿøøøÿùùøÿùøùÿùùøÿùùùÿùùùÿùùùÿùùùÿùùùÿúùúÿúúùÿúúúÿúúúÿúúúÿúûúÿúúúÿúúúÿûúúÿúúúÿúûúÿúúûÿûûûÿûûûÿûûûÿûûûÿüûûÿûûüÿüûûÿüüüÿüüüÿüüüÿüüüÿüüüÿüýýÿüüýÿýýýÿ›››ÿ››œÿœ››ÿ›œ›ÿœ›œÿœœœÿœœœÿœœœÿœœÿœœÿœœÿÿÿœÿœÿÿžÿžÿžÿžžÿžžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžŸÿŸžŸÿŸžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿ  ŸÿŸ  ÿŸ  ÿ   ÿ  Ÿÿ   ÿ   ÿ   ÿ  ¡ÿ ¡ ÿ  ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¢¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢£¢ÿ£¢¢ÿ£¢£ÿ£££ÿ¢££ÿ£££ÿ££¤ÿ££¤ÿ¤££ÿ£¤£ÿ££¤ÿ££¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¥¤ÿ¤¤¤ÿ¥¤¥ÿ¥¤¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¦ÿ¥¥¦ÿ¦¥¥ÿ¦¥¦ÿ¦¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§§ÿ¦§¦ÿ¦§¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ§§ªÿuŠ×ÿgõÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ^öÿªÂúÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöööÿqqqÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ:ÿH»ÿaøÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_õÿB®ÿ!>ÿÎÎÎÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÆÆÆÿ&&&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ4ŒÿZëÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿPtõÿÛÞðÿïïïÿïïïÿïïïÿïïðÿïðïÿðïðÿðððÿððïÿðððÿðððÿðññÿñððÿððñÿñðñÿðññÿðñðÿñññÿñññÿñññÿòñòÿñòñÿòòñÿòñòÿòòòÿòòòÿòòòÿòòòÿòòòÿóóòÿòòòÿóóòÿóóóÿóóòÿóóóÿóóóÿóóóÿóôóÿóóôÿôôôÿôóóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõõÿõõôÿõõõÿõõõÿõõõÿõõõÿõõõÿõööÿöõöÿöõöÿöõöÿöööÿöööÿ÷ööÿöööÿ÷÷öÿ÷ö÷ÿ÷÷öÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷÷øÿøøøÿøøøÿøøøÿøøøÿøøøÿùùøÿøøùÿøøùÿùùøÿùøùÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿúúúÿúùúÿúúúÿúúúÿúúúÿûûúÿúûûÿúúúÿúûúÿûûúÿûûûÿûúûÿüûûÿûüûÿûûûÿüûûÿüüûÿûüüÿüüüÿüüüÿüüüÿýüüÿýüýÿüüýÿüüýÿ›››ÿœ››ÿ›››ÿ›››ÿ››œÿ›œ›ÿœ›œÿœœœÿœœœÿœœÿœœÿÿÿÿœÿÿÿžÿÿžžÿžžÿžžÿžžžÿžžžÿžžžÿžŸžÿžŸžÿžžŸÿžžžÿŸžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿ ŸŸÿ   ÿ ŸŸÿ Ÿ ÿ   ÿ   ÿ ¡¡ÿ   ÿ¡¡¡ÿ ¡¡ÿ ¡¡ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¢¢ÿ¡¡¡ÿ¡¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ¢£¢ÿ£££ÿ£¢£ÿ¤££ÿ££¤ÿ¤££ÿ¤¤¤ÿ¤££ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¥¥ÿ¥¤¤ÿ¥¤¤ÿ¥¥¤ÿ¤¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§§¦ÿ§¦§ÿ§§¦ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ£¤¯ÿMvêÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿföÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿj–øÿõøþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿáááÿ555ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ6ÿLÃÿ`õÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ\ðÿ?¨ÿ ÿ”””ÿûûûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.ÿZíÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿ'`öÿ¸Àòÿîíïÿîïïÿïïïÿïïïÿïïïÿïïïÿïïïÿðïðÿððïÿðïðÿðððÿðððÿðððÿððñÿñððÿðññÿñðñÿñðñÿñññÿñññÿñññÿñññÿñòñÿòñòÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿóòóÿóóòÿòóóÿóóóÿòóóÿóóóÿóôóÿôóóÿôôóÿôôóÿôôóÿôôôÿôôôÿôôôÿõõôÿôôôÿôôôÿôõôÿõõõÿõõõÿôõôÿõõõÿõõõÿõõõÿõöõÿöõõÿõõõÿöööÿööõÿöööÿöööÿ÷ööÿöööÿöö÷ÿö÷öÿ÷÷öÿ÷÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷ø÷ÿøøøÿ÷øøÿøøøÿø÷øÿøøøÿøøøÿøøøÿøùùÿùùøÿùøøÿùùùÿùùùÿùùùÿùùùÿúùùÿùùúÿùùùÿúùúÿúúúÿúúúÿúúúÿúúúÿûúûÿúûúÿûúúÿúûúÿûûûÿûûûÿûúûÿûûûÿûüûÿûüûÿûûûÿüûüÿûûûÿüüüÿûûüÿüüüÿüüüÿüýüÿüüýÿüüüÿ›››ÿœ››ÿ›››ÿœ›œÿ›œœÿœœœÿ›œœÿœœœÿœœÿœœœÿœœœÿœœÿœœÿœÿÿÿÿÿžÿžÿžÿžÿžžžÿžžžÿžžžÿžŸžÿžŸžÿžžžÿŸžžÿŸŸŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸ Ÿÿ  ŸÿŸŸ ÿ  Ÿÿ ŸŸÿ   ÿ   ÿ   ÿ¡  ÿ   ÿ¡¡ ÿ ¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¡¢¡ÿ¡¢¡ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£¤£ÿ£¤£ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¥¥ÿ¦¥¥ÿ¥¥¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ¦§¦ÿ§§¦ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨§ÿ§¨§ÿ¨¨§ÿ¨¨§ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ–½ÿ/lòÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ*m÷ÿÌÚüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüüÿ™™™ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿKÿSÕÿ`÷ÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ[ïÿ:œÿÿ,,,ÿàààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèèèÿ$$$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ2ˆÿXêÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿ†˜ôÿêêîÿïïïÿïïïÿïïïÿïïïÿïïïÿððïÿïïðÿïïïÿðïðÿïðïÿðððÿðððÿðððÿñððÿðñðÿððñÿðððÿñññÿñðñÿñññÿñññÿòññÿñòòÿòññÿòòñÿññòÿòòòÿòòòÿòòòÿòòòÿòòóÿòòòÿòòóÿòòóÿóóóÿóòóÿóóóÿóóóÿóóóÿóóóÿóôôÿóôôÿôóôÿôôôÿôôôÿôôôÿôôõÿôôõÿõôôÿõôôÿõôôÿõõõÿõõõÿõöõÿõõõÿöõõÿöõõÿööõÿõõõÿöööÿöööÿöööÿöö÷ÿöööÿöööÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷øøÿ÷÷÷ÿøø÷ÿøø÷ÿøøøÿøøøÿøøøÿøùøÿøøùÿùøøÿùùùÿùùøÿùùùÿøùùÿùùúÿùùùÿùúúÿúùúÿùúúÿùúúÿúúúÿúúùÿúúúÿúúúÿúûûÿúûûÿúûúÿûûûÿúûûÿúûûÿûûûÿûûûÿûüûÿüûûÿüüûÿüüüÿüûüÿüüûÿüüüÿýüüÿýüüÿýüüÿš››ÿ›››ÿ›››ÿ›››ÿ››œÿœœœÿœœœÿ››œÿœœœÿœœÿœœœÿœÿœÿœÿÿœœÿÿÿÿžžÿžžÿžÿžžžÿžžÿžžžÿžžžÿžŸžÿžžŸÿŸžžÿžžŸÿžŸŸÿŸŸžÿŸŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿ  ŸÿŸŸ ÿŸŸ ÿ   ÿ  Ÿÿ   ÿ   ÿ   ÿ ¡¡ÿ  ¡ÿ  ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¢ÿ¡¢¡ÿ¢¢¢ÿ¢¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ¢£¢ÿ££¢ÿ¢¢£ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ££¤ÿ£££ÿ¤¤¤ÿ¤££ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¥¤¥ÿ¥¤¥ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¦ÿ¥¥¦ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦§ÿ¦¦§ÿ¦¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨¨§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ‚Îÿgõÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿp•øÿüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèèèÿ333ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿTÿXãÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]óÿ;Ÿÿÿÿˆˆˆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûûûÿ£££ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8™ÿ\òÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿKpõÿßáïÿïîîÿîïïÿïïïÿïïïÿïïïÿïïïÿðïïÿïðïÿðïðÿððïÿïïïÿðïðÿðððÿðððÿðððÿñðñÿðñðÿðññÿññðÿðññÿññðÿñññÿñòñÿñññÿòòñÿòòñÿññòÿòòñÿòñòÿòòòÿòòòÿòòòÿòóóÿòóòÿóòòÿòóóÿóóòÿóóóÿôóóÿóóóÿóôóÿóóóÿôôôÿôóôÿôóôÿôóôÿôôôÿõôôÿõôôÿôôôÿôôõÿõôõÿõõõÿôõõÿõõõÿõõöÿöõöÿõõöÿõõõÿõööÿõööÿöööÿöööÿöööÿöööÿ÷ööÿöööÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷øøÿ÷ø÷ÿø÷øÿøø÷ÿøøøÿøøøÿùøøÿøøøÿøùøÿøøøÿøùùÿøùùÿøùùÿùùùÿùùùÿùùúÿùùúÿùùúÿúúúÿúúúÿúúúÿúúúÿúúúÿûúúÿûûúÿûúúÿûûûÿúûûÿûûûÿûûûÿûûûÿûûûÿüüûÿûüüÿûûüÿûûüÿüûüÿüûüÿüüüÿüüýÿüýüÿ›››ÿ›››ÿ››œÿ›››ÿœœœÿœ››ÿœœ›ÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœÿœÿœœÿÿÿÿÿžÿžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿžŸŸÿŸžžÿžžŸÿžŸŸÿŸŸŸÿŸŸŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿ Ÿ ÿ  ŸÿŸ  ÿ  Ÿÿ   ÿ   ÿ   ÿ ¡ ÿ   ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¢¡ÿ¢¡¡ÿ¡¢¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢££ÿ££¢ÿ£¢¢ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ¤¤£ÿ£££ÿ£¤¤ÿ¤¤£ÿ¤¤£ÿ££¤ÿ¤¤¤ÿ¤¥¤ÿ¤¤¥ÿ¥¥¤ÿ¤¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¦¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ¦§§ÿ¦¦§ÿ¦§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ§¨§ÿ¨¨§ÿ¨§§ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¤¥®ÿ_}ãÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ_öÿÄ×ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‰‰‰ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0‚ÿ\ïÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿPÓÿ %ÿÿÿæææÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÒÒÒÿ000ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿSÜÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿ.cöÿÀÆñÿîîîÿïîîÿîïîÿïïîÿïîïÿïîïÿïïïÿïïïÿïïïÿïïïÿðððÿðððÿðððÿðððÿðððÿðððÿðððÿðððÿðññÿðñðÿñññÿñññÿñññÿñññÿññòÿñññÿòòñÿòòòÿññòÿòñòÿòòñÿòòòÿóòòÿòòòÿòòòÿóòóÿóòòÿóòóÿóòòÿóóóÿóôóÿóóóÿóôóÿóóóÿôóóÿôôóÿôôôÿôôôÿôôôÿôôôÿôôôÿôõõÿõõõÿõõõÿôõõÿõõõÿõõõÿõõöÿõõöÿõööÿõõõÿööõÿõöõÿöõöÿöööÿöööÿö÷öÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿø÷÷ÿøø÷ÿø÷øÿøøøÿø÷øÿøøøÿøøøÿøøøÿùøùÿøøùÿùøùÿøùøÿùùùÿùùùÿùùùÿùùùÿúùùÿùùúÿúúúÿúùùÿùúùÿùúúÿúúúÿúúúÿúúúÿûúûÿúúúÿûûúÿûûûÿûûûÿûûûÿûûûÿüûûÿûûüÿüüüÿûüûÿûûüÿüüüÿüüüÿüüüÿüüüÿ›š›ÿ›š›ÿœ››ÿ›››ÿ›œœÿ›œ›ÿ›››ÿœœ›ÿœœœÿœ›œÿœœœÿœœœÿœœœÿœœÿœœÿœÿœœÿœÿÿÿžÿžÿžÿžžÿžžÿžžÿžžžÿžžžÿžžžÿŸŸžÿŸžŸÿžŸŸÿŸŸŸÿžŸŸÿŸŸŸÿŸŸŸÿ Ÿ ÿŸŸŸÿŸ Ÿÿ   ÿ ŸŸÿŸ  ÿ   ÿ   ÿ   ÿ  ¡ÿ  ¡ÿ¡¡ ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¢¡ÿ¡¢¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ££¢ÿ£££ÿ£¢¢ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ¤££ÿ¤£¤ÿ¤¤¤ÿ¤£¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¥¤ÿ¤¥¤ÿ¥¤¤ÿ¥¤¤ÿ¥¥¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¦ÿ¦¥¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦§ÿ¦¦¦ÿ§§§ÿ§§§ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨¨¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¢µÿ5mðÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ=€÷ÿùûþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿåååÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿE³ÿ_õÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^õÿ'kÿÿÿsssÿõõõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùùùÿhhhÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-{ÿ]øÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿ Yöÿœôÿêêîÿîîîÿîïîÿîîîÿîïïÿîïîÿîïïÿïïïÿïïïÿïðïÿïïðÿïðïÿïïïÿïððÿðïðÿðððÿðððÿðððÿñððÿðððÿñððÿðñðÿñññÿñññÿñññÿñññÿñòñÿñññÿñññÿñòñÿòññÿòòòÿòòòÿòòòÿòòóÿòòòÿóóòÿóòóÿóóóÿòòòÿóóóÿóóóÿóóôÿóôóÿóôôÿóóôÿôôôÿóôôÿôôôÿôôôÿôôôÿôôôÿôõôÿõõôÿõôõÿôôôÿõôõÿõôõÿõõõÿõõõÿöõöÿõõõÿööõÿöõöÿöõöÿööõÿöööÿöööÿöööÿ÷÷÷ÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøøøÿùøùÿøùøÿùøùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿúùùÿúúúÿúúùÿúúúÿúúúÿûúúÿûúúÿúúúÿûûúÿúûûÿûûûÿûûûÿûûûÿûûûÿûûüÿûüûÿüûüÿüüüÿûüüÿüüüÿüüüÿüüýÿš››ÿ›››ÿ›››ÿ››œÿœœ›ÿ››œÿ››œÿ›œ›ÿœ›œÿ››œÿœœ›ÿœœœÿœœœÿœœœÿœÿÿœœÿœÿÿÿžÿžžÿÿžÿžžžÿžžžÿžžÿžžžÿžžžÿžŸžÿžŸŸÿžžžÿŸžŸÿžžŸÿŸžŸÿŸŸŸÿŸŸŸÿ  Ÿÿ  Ÿÿ Ÿ ÿŸ  ÿ   ÿ ŸŸÿ  Ÿÿ   ÿ  ¡ÿ   ÿ   ÿ   ÿ ¡¡ÿ  ¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¡ÿ¢¡¡ÿ¢¡¢ÿ¡¢¡ÿ¡¡¡ÿ¢¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢£ÿ¢££ÿ£¢¢ÿ¢£¢ÿ¢¢£ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ¤¤¤ÿ££¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¤¥¥ÿ¤¤¥ÿ¥¥¤ÿ¤¤¥ÿ¥¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¥¥ÿ¦¦¥ÿ¦¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ§¦¦ÿ§§§ÿ§§¦ÿ¦§§ÿ¦§§ÿ§§§ÿ§§¨ÿ¨§¨ÿ§§§ÿ§§§ÿ¨§¨ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿŒ–Æÿhôÿeöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ^öÿ¤·êÿýþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóóóÿcccÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿUÝÿ_÷ÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]÷ÿB°ÿ ÿÿÿ¶¶¶ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ•••ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ:ÿP×ÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿUuöÿÞáïÿîîîÿîîîÿîîîÿîîîÿïïîÿïîîÿïïîÿïîïÿïïïÿïïïÿðïïÿðïðÿððïÿðïïÿïïðÿïððÿðððÿððïÿðððÿñðñÿðñðÿñðñÿððñÿñððÿñññÿñññÿñññÿñññÿòññÿñññÿñòñÿòòòÿòòòÿòòòÿòòòÿòòóÿòòòÿóòòÿòóòÿóòòÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿôóóÿóóóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿõõôÿõôôÿõõõÿôõõÿõõõÿõõõÿööõÿöõõÿõõöÿöõöÿööõÿõööÿöööÿöööÿöööÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷÷øÿø÷÷ÿ÷÷øÿ÷÷øÿøøøÿùøøÿøøøÿøøøÿùùøÿøøøÿùùùÿùùøÿùùùÿùùùÿùùùÿúùúÿùúùÿùùúÿùúúÿùúúÿúúúÿúúùÿúúúÿûúúÿúúúÿúúúÿúûúÿûúûÿûûûÿûúûÿüûûÿûûûÿûûüÿûüûÿüüüÿüûûÿüüüÿüüûÿüüüÿ›››ÿšš›ÿ›››ÿ›››ÿ›››ÿœ››ÿœœ›ÿ››œÿ›œœÿœ›œÿœœœÿœœœÿœœœÿœœœÿÿœœÿœœÿÿÿÿÿÿžÿžÿžžÿžžžÿžžžÿžžÿžžžÿžžžÿžžŸÿžžŸÿžžŸÿžŸŸÿŸŸŸÿŸŸžÿžŸŸÿ ŸŸÿŸŸ ÿŸ ŸÿŸ ŸÿŸŸŸÿ   ÿ   ÿ   ÿ   ÿ   ÿ  ¡ÿ ¡¡ÿ¡¡ ÿ  ¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¢¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ¢£¢ÿ££¢ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£££ÿ¤£¤ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¤¥¤ÿ¤¤¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¤ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§§¦ÿ§¦§ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¥¦¬ÿm„Üÿ +eöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ^éÿÙÝîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýýÿ«««ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-|ÿ\ðÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿVäÿ\ÿÿÿ+++ÿËËËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÙÙÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿ;¢ÿ[ôÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿ*a÷ÿÇÌñÿîíîÿîîîÿîîîÿîîîÿîïîÿîîïÿïîîÿîïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïððÿïïðÿðïïÿðïðÿðððÿðððÿðððÿðððÿññðÿñððÿññðÿñññÿñññÿñññÿñññÿñòñÿòññÿòòñÿññòÿòññÿòòòÿòòòÿòòòÿòòòÿòòóÿòóóÿòóóÿòóóÿóóóÿóóóÿóóôÿóóóÿóôôÿóóóÿóôóÿôôôÿôôôÿóôôÿôôôÿôôôÿôôôÿôôôÿõõôÿõõõÿõõõÿõõõÿõõõÿöõöÿöõõÿõõõÿöõõÿõööÿöööÿöööÿöööÿöööÿ÷ööÿ÷÷öÿ÷÷öÿ÷ööÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿøø÷ÿ÷øøÿøøøÿ÷÷øÿøø÷ÿøøøÿøøøÿøøùÿøøøÿùùøÿùùùÿùùùÿùùùÿùùùÿùúùÿùúùÿùúùÿùùùÿúúùÿúúùÿúùúÿúúúÿúúúÿûúúÿúúúÿûúûÿúûûÿûûúÿûûûÿûûûÿûûûÿûûûÿûûüÿüüüÿüûüÿüüûÿüüüÿüüüÿ›››ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ›››ÿœœœÿ›œœÿœœ›ÿœœ›ÿœœœÿœœœÿœœÿœœÿœÿÿœÿÿÿÿžÿžÿžžÿžÿžžžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿŸŸŸÿŸžŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿ Ÿ ÿŸŸ ÿŸ  ÿ   ÿŸ  ÿ   ÿ   ÿ   ÿ¡  ÿ ¡ ÿ ¡ ÿ  ¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¡¡ÿ¢¡¡ÿ¢¢¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ¢££ÿ£¢£ÿ£££ÿ£££ÿ££¤ÿ££¤ÿ£££ÿ£¤£ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¥ÿ¤¥¤ÿ¤¤¤ÿ¥¤¥ÿ¥¥¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¥ÿ¥¦¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ¦¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¡£²ÿDqíÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿIkÖÿäåæÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÁÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿKÆÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]õÿEºÿÿÿÿMMMÿëëëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿKÿVæÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿ[÷ÿ˜¥ôÿéëîÿîíîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿïîïÿïîîÿîîïÿïïïÿïïïÿïïïÿïïðÿïðïÿïïðÿðïïÿðððÿðððÿðððÿðððÿðððÿñðñÿððñÿððñÿññðÿñññÿñññÿñññÿñññÿñññÿñññÿñññÿòòòÿòòòÿòòñÿòòòÿòòòÿòòóÿóòòÿóòòÿòóóÿóóòÿòóóÿóóóÿôóôÿôóóÿóôôÿóóóÿóóôÿôôóÿóôôÿóóôÿôôôÿôôôÿôõôÿôôôÿõôõÿôôõÿõõõÿõõõÿõõõÿõõõÿõööÿööõÿöõõÿööõÿööõÿöõöÿöööÿöööÿöööÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿøø÷ÿøø÷ÿø÷÷ÿ÷øøÿ÷øøÿøøøÿøøøÿøøøÿùøøÿøøøÿøøøÿøùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùúúÿùúùÿùùúÿúúúÿúúúÿúúúÿúúúÿúúúÿúûúÿûûûÿúûûÿúûúÿûûûÿûûûÿûûûÿûüüÿûûûÿüüüÿüüûÿüüüÿüüüÿ›š›ÿ›››ÿš›šÿ››šÿ›››ÿ››œÿ›››ÿ›œœÿ›œ›ÿ›œœÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœÿœÿÿœÿÿÿÿžÿžÿžžÿžžÿžÿžžÿžžžÿžžžÿžžžÿžžŸÿžžŸÿŸžŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ  ÿ Ÿ ÿŸŸŸÿ   ÿ Ÿ ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¢¡ÿ¢¡¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢££ÿ¢£¢ÿ¢¢¢ÿ¢££ÿ¢££ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦§ÿ¦§¦ÿ§§¦ÿ§¦¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ§¨§ÿ§§¨ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ”šÀÿ(ióÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿdöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^ôÿx}•ÿõõôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÖÖÖÿ999ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$dÿ\ñÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿYëÿ@ÿÿÿÿbbbÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüüÿ[[[ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD¹ÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿ]zöÿÞáîÿíîíÿîíîÿíííÿîîîÿîîîÿîîîÿîîîÿîîîÿîîïÿïîïÿîîîÿïïîÿïïïÿïïïÿïïïÿðïðÿððïÿïðïÿïððÿïðïÿðððÿðððÿðððÿðððÿðñðÿññðÿððñÿñññÿðññÿñðñÿñññÿñññÿñòòÿòñòÿñññÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿóóóÿòòòÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóôÿóôôÿóôóÿôôôÿóôóÿôôôÿôôõÿõõôÿõôôÿôõôÿôõõÿôõõÿôôõÿõôõÿõõõÿõõöÿöõõÿõöõÿõööÿöõöÿöõöÿöööÿöööÿöööÿöö÷ÿöö÷ÿöö÷ÿöö÷ÿ÷÷öÿö÷÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿø÷÷ÿøø÷ÿ÷øøÿ÷øøÿøøøÿøøøÿøøøÿøøøÿùøøÿùùøÿùøùÿùøùÿùùùÿùùùÿùùùÿùùùÿùúùÿùúùÿùúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúûÿúûúÿûúúÿûûûÿûûúÿûûûÿûûûÿûûüÿûûûÿûûûÿüûüÿüûüÿüüüÿšš›ÿ››šÿ›››ÿ››šÿš››ÿ›š›ÿ›››ÿ›œ›ÿ›œ›ÿ››œÿœœœÿœ››ÿœœœÿœœœÿœœœÿœÿÿœÿœÿœœÿÿÿžÿžÿžÿžÿžžÿžÿžžžÿžžžÿžžžÿžžžÿŸžŸÿžŸžÿŸžžÿžŸžÿžžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸ ŸÿŸ Ÿÿ   ÿ   ÿŸŸ ÿ   ÿ   ÿ ¡ ÿ   ÿ ¡¡ÿ¡¡ ÿ¡¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¡ÿ¢¡¢ÿ¡¢¡ÿ¢¡¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ£¢£ÿ¢££ÿ£¢¢ÿ¢££ÿ£££ÿ£££ÿ¤¤£ÿ£¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¥ÿ¤¥¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¥¦¦ÿ¥¥¥ÿ¦¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§¦ÿ§§§ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ§§ªÿz‹Ôÿeõÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_÷ÿI¿ÿ’’’ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóóóÿTTTÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿG¼ÿ^÷ÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ]÷ÿ:œÿÿÿÿÿuuuÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýýÿŠŠŠÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNÿ[õÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿ[÷ÿÌÐðÿíííÿíííÿîîíÿîîîÿîíîÿíîíÿîîîÿîîîÿîîîÿïîïÿïîïÿïîïÿîîïÿîîïÿïïïÿïïïÿïïïÿïððÿðïïÿðððÿðððÿðïïÿðððÿðððÿððñÿðððÿðñðÿðñðÿñññÿððñÿðññÿñðñÿñññÿñññÿñññÿòòñÿñòñÿñòòÿòòòÿòòòÿòòòÿòóòÿóóòÿòòóÿòòòÿóóòÿòóòÿóóóÿóóóÿóóôÿóóóÿôóóÿóôôÿóóôÿôôóÿôôôÿôôôÿôôôÿôôôÿôõôÿôôõÿôôõÿõõõÿõõôÿõõõÿõõõÿõöõÿõöõÿöööÿõöõÿöööÿöõöÿöööÿö÷öÿöööÿ÷÷öÿö÷÷ÿ÷÷÷ÿ÷ö÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷ø÷ÿøøøÿø÷øÿø÷÷ÿø÷øÿøøøÿøøøÿøøøÿøøùÿùøùÿùùøÿùùùÿøøùÿùùùÿùùùÿùùùÿùùùÿúùùÿùùùÿúùúÿúúúÿúúúÿúúúÿúúúÿúúûÿûúûÿúúûÿûúúÿûûûÿûûûÿûûûÿûûûÿüûûÿûûûÿüûûÿüüüÿüûüÿ›ššÿšššÿ›››ÿ›ššÿ›››ÿ›š›ÿ›››ÿ›œ›ÿ››œÿ›œœÿœ›œÿœ›œÿœœ›ÿœœ›ÿœœœÿœœœÿœœÿœœœÿœœÿœœÿÿÿÿÿÿÿžžÿžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿŸžŸÿŸŸžÿžžŸÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿŸŸ ÿ Ÿ ÿ   ÿ   ÿ   ÿ   ÿ   ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¡ÿ¡¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ£££ÿ£££ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ££¤ÿ£££ÿ£¤¤ÿ¤££ÿ£¤¤ÿ¤£¤ÿ¤£¤ÿ¥¤¤ÿ¥¤¥ÿ¤¥¥ÿ¥¤¤ÿ¤¥¥ÿ¥¥¤ÿ¤¥¥ÿ¥¥¥ÿ¥¤¥ÿ¥¦¥ÿ¥¥¥ÿ¥¦¦ÿ¥¦¦ÿ¦¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ§§¦ÿ§§¦ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨§¨ÿ¨¨§ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ£¤¯ÿUxçÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ]ðÿ)mÿœœœÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿbbbÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿXÿZïÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿVæÿNÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿ­­­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿIÇÿ[÷ÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿZ÷ÿ¢­óÿëëíÿíîíÿîííÿííîÿîîíÿîîíÿîíîÿíîíÿîîîÿîîîÿîïîÿîîîÿîïîÿïïïÿïïïÿïïïÿïîïÿïïïÿïïðÿðïïÿïïïÿððïÿïïðÿðïðÿïðïÿðððÿðñðÿðñðÿñðñÿñññÿñññÿðññÿñññÿñññÿñññÿñññÿñòñÿñòòÿòñòÿòòòÿòòñÿòòòÿòòòÿòòòÿòóóÿòòòÿóóóÿóóóÿòóóÿóóóÿóóóÿôóóÿóóóÿóóóÿóóóÿôóôÿóôôÿôôôÿôôôÿôõôÿôôõÿôõõÿôôõÿôõõÿôõõÿõõõÿõõõÿöõõÿõöõÿöõöÿõõõÿööõÿõõöÿööõÿöööÿöööÿöööÿö÷öÿöö÷ÿöö÷ÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøøøÿøø÷ÿøøøÿøøøÿøøøÿøøøÿøøùÿùùùÿøùùÿøùùÿùøùÿùøùÿùùùÿùùúÿùùùÿùùùÿùúùÿúùúÿúùùÿúúùÿúúúÿúúúÿûúûÿúúúÿúûúÿúúûÿûûúÿûûûÿûûûÿûûûÿûûûÿüûûÿûûûÿüüûÿšššÿšššÿšššÿ›››ÿšš›ÿ›››ÿš›šÿ››œÿœœ›ÿœ››ÿ›œ›ÿœœœÿœœœÿœ›œÿœ›œÿœœœÿœœÿœœœÿœœÿœœÿœœÿÿœœÿÿÿÿÿžÿžžÿžžžÿžžžÿžžžÿžžžÿŸžžÿžžžÿžžžÿŸžŸÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ Ÿ ÿŸ  ÿ Ÿ ÿ Ÿ ÿ  Ÿÿ   ÿ  ¡ÿ¡  ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¡ÿ¢¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢£¢ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ££¤ÿ¤£¤ÿ¤£¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¥¥¥ÿ¤¥¥ÿ¤¥¥ÿ¥¥¥ÿ¦¥¦ÿ¥¥¦ÿ¦¥¦ÿ¥¥¥ÿ¦¦¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ§§¦ÿ§§¦ÿ¦¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ§¨§ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿšž»ÿ.jòÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿNËÿ /ÿ©©©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿmmmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ"ÿG¾ÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿBµÿÿÿÿÿÿŸŸŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿÅÅÅÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ2Žÿ[õÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿe~öÿáâíÿíííÿíííÿíííÿíííÿíîîÿííîÿíîíÿííîÿîîîÿîîîÿîîîÿïîîÿîîïÿîïîÿïîïÿïîïÿïïïÿïïîÿïïïÿïðïÿðïðÿïïðÿïðïÿïððÿðððÿðððÿðððÿðñðÿñððÿðñðÿðññÿñññÿñññÿñññÿñññÿñññÿòññÿñññÿòññÿñòòÿòòòÿòòòÿòòòÿòòòÿòòòÿóòóÿòóòÿóòóÿóóòÿóóóÿóóóÿóóôÿóôôÿóóôÿóôóÿôóôÿôôôÿôóóÿôôôÿôôôÿõôôÿôôôÿõõôÿôôõÿõôôÿôõõÿõõõÿõõõÿõõõÿõõõÿõöõÿöööÿöööÿöööÿöööÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷ö÷ÿöööÿ÷÷öÿ÷÷÷ÿ÷ø÷ÿ÷÷÷ÿø÷÷ÿ÷øøÿøøøÿøøøÿøø÷ÿ÷øøÿøøøÿøùøÿøùøÿùøùÿøøøÿøùøÿùùøÿùùùÿùùùÿúùùÿùùùÿúùùÿùúùÿúúùÿúúúÿúúúÿúúúÿúúúÿûúúÿúúûÿúúúÿûúûÿûûûÿûûûÿûûüÿûûûÿûûûÿûüûÿûûüÿšššÿšššÿ››šÿšššÿ›ššÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›œœÿœœ›ÿœœœÿœœ›ÿœœœÿœœœÿœÿœÿœœÿÿÿÿÿžÿžÿÿžÿžžÿžžžÿžžÿžžžÿžžžÿžžžÿžžžÿžŸŸÿžžžÿŸŸžÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ   ÿ ŸŸÿ   ÿ Ÿ ÿŸ Ÿÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ  ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ£¢¢ÿ£¢£ÿ¢¢¢ÿ££¢ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ££¤ÿ¤££ÿ££¤ÿ££¤ÿ¤£¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¥¦ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦¦§ÿ§¦¦ÿ¦§¦ÿ§§§ÿ§¦§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§§ÿ§§¨ÿ¨§§ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ†’Ëÿeõÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿcöÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ\òÿ7“ÿ ÿ²²²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿvvvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ2Œÿ[ðÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿXëÿ#dÿÿÿÿÿÿ©©©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÒÒÒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿPÿRßÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿ0b÷ÿËÏðÿíííÿììíÿíííÿíííÿîíîÿííîÿíííÿííîÿîîîÿííîÿîîîÿîîîÿîîîÿîîïÿïîîÿîîîÿîïïÿïîïÿïîïÿïïïÿïðïÿïïðÿïïïÿïïïÿððïÿðððÿïððÿðððÿðððÿñððÿðñðÿññðÿññðÿñðñÿððñÿñññÿñññÿòññÿòññÿññòÿòñòÿñòñÿññòÿòòòÿòòòÿóòòÿòóòÿóóòÿòóóÿòóóÿóòóÿóóóÿóóóÿóóôÿóóóÿôôóÿóôôÿóôóÿóóôÿôóôÿôôôÿôôôÿôôôÿôôõÿôôôÿôõõÿõõôÿõõõÿõõõÿõõõÿõõöÿöõõÿõõöÿöööÿöööÿõööÿöööÿöööÿöööÿöööÿ÷÷÷ÿ÷ö÷ÿö÷÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿø÷øÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿøùùÿùøùÿùøøÿøùøÿùùùÿùùùÿùùùÿùùùÿúùùÿùúùÿúùùÿúúúÿúúúÿúúùÿúúúÿúúûÿúúúÿûûûÿúûûÿûúûÿûûûÿûûûÿûûûÿûûûÿûûüÿüûûÿ™ššÿ›š›ÿšššÿšš›ÿš››ÿ›ššÿ››šÿ›››ÿ›››ÿ›››ÿ›œ›ÿœ››ÿœ››ÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœœœÿœÿœÿœÿœÿœÿÿžÿÿžÿžžÿžÿžžÿžžžÿžžžÿžžžÿžŸžÿŸžžÿžžžÿŸžŸÿŸžŸÿžŸžÿŸŸŸÿŸŸ ÿŸŸŸÿŸŸ ÿŸŸ ÿ Ÿ ÿ   ÿ   ÿ   ÿ   ÿ¡  ÿ ¡ ÿ  ¡ÿ¡  ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¢ÿ¢¡¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ¢£¢ÿ¢¢£ÿ¢¢¢ÿ£££ÿ££¢ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£££ÿ££¤ÿ£££ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¥¤ÿ¤¥¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¦ÿ¥¥¥ÿ¥¥¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§§¦ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ§¨§ÿ¨§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¤¦­ÿdàÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿZëÿ !ÿÿ¸¸¸ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ}}}ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ $ÿVåÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿNÓÿÿÿÿÿÿÿ«««ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÔÔÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿIÊÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿ©³òÿííìÿìììÿìíìÿìííÿíìíÿíííÿííîÿîííÿíîîÿíîíÿíîíÿîîîÿíîîÿîîîÿîïîÿîîïÿîïîÿïîïÿîïïÿïîïÿïïïÿïïïÿïïïÿðïïÿïïïÿðððÿïïïÿðððÿðððÿðððÿðððÿðððÿðñðÿðññÿñðñÿñðñÿñññÿñññÿñññÿñòñÿñññÿñòñÿòñòÿñòòÿñòòÿòòòÿòòòÿòòòÿòòòÿóòòÿóóòÿòòóÿóóóÿòóóÿóóóÿóóóÿóôôÿóôôÿôôôÿóóôÿôôôÿôôôÿôôôÿôôôÿôôôÿõôõÿõôôÿõôôÿôõõÿõõõÿõõõÿõõõÿöõöÿöõöÿõõöÿöõõÿõööÿöööÿööõÿöööÿ÷÷÷ÿ÷÷÷ÿöö÷ÿ÷÷öÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷÷ÿ÷÷÷ÿ÷ø÷ÿøøøÿ÷øøÿøøøÿøøøÿùøùÿøøùÿùøøÿùùøÿùøùÿùùøÿùùøÿùùùÿùùùÿùùúÿùúùÿùúùÿúúùÿùúùÿúúúÿúúúÿûúúÿúúúÿûúúÿúûûÿúûûÿûûúÿûúúÿûûûÿûûûÿûûûÿûûûÿšššÿšššÿšš›ÿš›šÿšššÿ›››ÿš›šÿš››ÿ›››ÿ›››ÿ›››ÿœ››ÿ›œ›ÿœœ›ÿ›œœÿ››œÿœœ›ÿœœœÿœœœÿœœœÿœœÿœÿÿÿÿÿÿžÿžžÿžÿžžÿžžÿžžžÿžžžÿžžžÿžžŸÿžžžÿžžžÿŸŸžÿžŸžÿŸŸŸÿžŸžÿŸŸŸÿŸ ŸÿŸ  ÿŸŸ ÿ   ÿŸŸ ÿŸ  ÿ ŸŸÿ   ÿ   ÿ   ÿ¡¡ ÿ¡ ¡ÿ¡  ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¢ÿ¡¢¡ÿ¢¡¢ÿ¢¡¡ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢£¢ÿ¢££ÿ£££ÿ£££ÿ¢££ÿ£££ÿ£££ÿ¤££ÿ¤£¤ÿ£££ÿ¤£¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¤¥¥ÿ¥¤¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¦¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ§¦§ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨¨§ÿ§¨§ÿ¨¨§ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ ¢´ÿ8lïÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^÷ÿ?¥ÿÿÿ¶¶¶ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ{{{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ=¥ÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ)qÿÿÿÿÿÿÿ¢¢¢ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿÈÈÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-ÿYôÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿvŠõÿáãíÿììíÿíìíÿììíÿíííÿíííÿíííÿíííÿíííÿíîíÿîîíÿííîÿííîÿîîîÿîîíÿîîîÿîîîÿîîîÿïîïÿîïïÿîîîÿïîïÿïïïÿïïïÿïïïÿïððÿïïðÿððïÿððïÿïððÿðððÿðððÿðððÿðñðÿððñÿðñðÿñññÿñðñÿñññÿñññÿñññÿòññÿòññÿñññÿòòòÿòññÿòòòÿòòòÿòòòÿóóòÿóòóÿóòòÿòóóÿóóóÿòóóÿóóóÿóóóÿóóôÿóôóÿóôôÿóôôÿóôóÿôóôÿôôôÿôôôÿôõôÿôõôÿôôôÿõõõÿõõõÿõôõÿõõõÿõõõÿõõõÿööõÿõõõÿõööÿõõõÿöööÿöööÿöööÿöööÿö÷öÿö÷÷ÿ÷÷öÿö÷÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷÷ÿøø÷ÿ÷÷øÿøøøÿø÷÷ÿøøøÿøøøÿøøøÿøøùÿùøøÿùøùÿùøùÿùøøÿùùùÿùùùÿùùùÿùùùÿúùúÿúúùÿùùùÿúúùÿúúúÿúúúÿúúúÿúúúÿúúúÿûúúÿûúúÿûûúÿúûûÿûûûÿûûûÿûüûÿšššÿšššÿ››šÿšš›ÿ›š›ÿšš›ÿšššÿšš›ÿš›šÿ››šÿœ››ÿ›››ÿœ››ÿ›››ÿœœ›ÿœœ›ÿœœ›ÿœœœÿœœœÿœœœÿœÿœÿœÿœÿÿÿÿžÿÿÿžžÿžžÿžžÿžžžÿžžžÿžžžÿžžŸÿŸŸžÿŸŸžÿŸŸŸÿŸžŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿ  ŸÿŸ  ÿ   ÿ   ÿŸ  ÿ   ÿ¡  ÿ ¡ ÿ   ÿ¡  ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¡¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ£¢£ÿ£¢£ÿ£££ÿ££¢ÿ£££ÿ£££ÿ£££ÿ¤££ÿ¤££ÿ¤¤¤ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¦ÿ¥¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦¦ÿ¦¦§ÿ§¦¦ÿ§§¦ÿ§§§ÿ§¦§ÿ§§§ÿ¨§§ÿ§§§ÿ§¨§ÿ§¨§ÿ¨¨¨ÿ§¨¨ÿ¨¨§ÿ§¨¨ÿ¨¨¨ÿŽ–Åÿ#fóÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ\ñÿRÿÿÿ°°°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿtttÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿEÿ[ôÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿRÝÿ ,ÿÿÿÿÿÿÿ’’’ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿµµµÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿVìÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿ5c÷ÿÌÐïÿìíìÿìììÿííìÿìíìÿíííÿììíÿíííÿíííÿíííÿíííÿííîÿíîîÿîîîÿîîîÿîíîÿîîîÿîîîÿïîîÿîîîÿîîïÿîïïÿïïïÿïïïÿïïïÿïïïÿðïïÿïððÿðïïÿðïðÿðïðÿïððÿðððÿðððÿððñÿðñðÿðñðÿñðñÿððñÿññðÿññðÿñññÿñññÿñññÿñññÿòññÿòñòÿòòòÿòòòÿòòòÿòòóÿóòòÿòòòÿòóóÿóòóÿóòòÿòóóÿóóóÿóóóÿóóóÿóóóÿôóôÿôóóÿôôôÿôóôÿôôôÿôôôÿõôôÿôôôÿõôôÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõõöÿõöõÿõööÿöööÿöööÿöööÿöööÿöööÿöö÷ÿ÷÷öÿ÷÷öÿ÷÷öÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿ÷÷÷ÿøø÷ÿø÷øÿøøøÿøøøÿøøøÿøøùÿùøøÿøùøÿøøùÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿúúùÿúúùÿúúúÿúúúÿúúúÿúúúÿúúúÿúûúÿúûûÿúúúÿûûúÿúúûÿûûûÿûûûÿûûûÿšš™ÿšššÿšššÿšššÿ›ššÿšš›ÿ›››ÿšššÿ›››ÿš››ÿ›››ÿ›››ÿ››œÿ›››ÿ›››ÿœ››ÿœœœÿœœœÿœœœÿœœœÿœÿœÿœÿÿœÿÿÿÿÿÿžžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžŸÿžžžÿžŸŸÿžžŸÿŸŸŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸ ÿ Ÿ ÿ   ÿ   ÿ   ÿ   ÿ   ÿ   ÿ   ÿ¡¡ ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¢ÿ¢¡¡ÿ¡¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢£¢ÿ£££ÿ¢¢¢ÿ£££ÿ£¢£ÿ££¢ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤££ÿ¤££ÿ£¤£ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¤¥¤ÿ¤¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¦¥¥ÿ¥¥¥ÿ¥¦¦ÿ¥¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ¦¦¦ÿ§§§ÿ§¦¦ÿ¦§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨§ÿ§¨¨ÿ§¨§ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¦§«ÿr…Ùÿcõÿböÿböÿböÿböÿböÿböÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿIÁÿ &ÿÿ + + +ÿ¤¤¤ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿhhhÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ÿLÌÿ\÷ÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[÷ÿ<¤ÿÿÿÿÿÿÿÿzzzÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýýÿ’’’ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿA´ÿZ÷ÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿ¯·ñÿìììÿìììÿíììÿìììÿíííÿíìíÿìììÿíííÿííìÿíííÿîííÿíííÿíííÿíîîÿíîîÿîîíÿîíîÿîîîÿïîîÿîîîÿîîîÿîïîÿïïîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïðïÿðððÿïððÿïððÿðððÿñððÿðððÿðððÿñññÿðñðÿñññÿðññÿñññÿñññÿñññÿññòÿòòòÿòñòÿñññÿòòòÿòòòÿòòòÿòòòÿòóòÿóòòÿóòòÿóòòÿòóóÿóóóÿóóóÿóôóÿóôóÿóóóÿôôóÿóôóÿóóóÿôóôÿôôôÿôõôÿõôôÿôõôÿõôõÿõôõÿôõõÿõôõÿõõõÿõõõÿõõöÿõõõÿõõöÿöõöÿöõöÿöööÿööõÿöööÿöö÷ÿö÷öÿ÷÷öÿ÷ööÿ÷÷öÿ÷÷÷ÿ÷ö÷ÿ÷÷øÿ÷÷øÿø÷÷ÿø÷÷ÿ÷÷÷ÿø÷÷ÿøø÷ÿø÷øÿøøøÿøùøÿøøøÿøùøÿùùùÿøùùÿùùùÿùùùÿùùùÿùùùÿùúùÿùùùÿùùùÿùúùÿùùúÿúùúÿúúúÿúúúÿúúúÿûûúÿúûûÿúúûÿûûûÿûûûÿûûûÿüûûÿš™šÿšššÿšššÿšššÿšššÿš›šÿš›šÿšš›ÿ›š›ÿ›››ÿ››šÿ›››ÿ›››ÿ››œÿ›››ÿœœ›ÿœ›œÿœœœÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœœÿÿÿœœÿœÿÿÿžÿžÿžžÿžžžÿžžÿžžžÿžžžÿžžžÿžžžÿžŸžÿžŸžÿŸŸžÿžŸŸÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿ   ÿŸŸŸÿ   ÿ   ÿ  Ÿÿ   ÿ   ÿ¡  ÿ¡  ÿ  ¡ÿ ¡¡ÿ¡ ¡ÿ¡ ¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¢ÿ¡¢¡ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£££ÿ££¢ÿ¢£¢ÿ£££ÿ¢££ÿ£££ÿ£££ÿ£££ÿ¤¤£ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¤¤ÿ¥¤¥ÿ¥¥¥ÿ¥¤¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¥¥¦ÿ¥¥¦ÿ¦¦¦ÿ¦¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ§¦§ÿ§§§ÿ§¦§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¡£²ÿKrêÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\ôÿ8›ÿÿÿÿ™™™ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ^^^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ9œÿ\÷ÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿXîÿ+}ÿÿÿÿÿÿÿÿfffÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüüÿiiiÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*xÿY÷ÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿ W÷ÿ€’ôÿåæíÿìììÿìììÿìíìÿììíÿíííÿííìÿíììÿììíÿíííÿíííÿíííÿíîíÿíííÿííîÿîîíÿííîÿîîîÿîîîÿîîîÿîîîÿîîîÿîïïÿïîîÿïïïÿïïïÿïïïÿïïïÿïïïÿïðïÿïðïÿðïðÿððïÿðððÿðððÿðððÿðððÿððñÿðñðÿñðñÿñðñÿððñÿðñðÿñññÿñññÿñññÿñññÿñòòÿòòñÿòòòÿòòñÿòòòÿòòòÿòòòÿòòòÿòòóÿóòòÿóòóÿóóòÿóóóÿóóóÿóóóÿóóóÿôôóÿóôóÿôôôÿôóóÿôóôÿôôôÿõôõÿôõôÿõôôÿôõõÿôôôÿõôõÿõõõÿõõõÿõõõÿõõöÿõõöÿööõÿöõõÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷ö÷ÿ÷÷÷ÿöö÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿø÷÷ÿø÷øÿøø÷ÿ÷÷÷ÿøøøÿøøøÿøøøÿøøùÿøøøÿùùùÿùùùÿùøùÿùùùÿùùùÿúùùÿùùúÿùùúÿùúùÿúúúÿúùùÿúùùÿúúúÿúúúÿúûúÿúûûÿúûúÿûûûÿúûûÿúûûÿûûûÿ™š™ÿš™šÿš™™ÿšššÿšššÿšššÿšššÿšš›ÿšššÿ›š›ÿ›››ÿ›š›ÿ›››ÿ›››ÿ››œÿ›œ›ÿœœ›ÿœœ›ÿœ›œÿœœœÿœœœÿœœœÿœœÿœœÿœÿÿœœÿœÿÿÿžÿÿžžÿžžÿžžÿžžÿžžžÿžžžÿŸžžÿŸžžÿžžžÿŸŸžÿŸŸŸÿžžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸŸÿŸ  ÿ Ÿ ÿŸ Ÿÿ   ÿ   ÿ¡  ÿ ¡ ÿ¡  ÿ¡ ¡ÿ  ¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¢¡ÿ¡¡¢ÿ¡¡¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢££ÿ£¢£ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤¤£ÿ¤£¤ÿ¤¤¤ÿ£¤£ÿ¤¤£ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¥ÿ¥¥¤ÿ¥¤¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¥ÿ¥¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§§ÿ§§¦ÿ§§¦ÿ§¦§ÿ§§§ÿ§§¨ÿ§§§ÿ§¨¨ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿŽÏÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿWçÿVÿÿÿÿÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿêêêÿLLLÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)vÿXìÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿPÛÿ -ÿÿÿÿÿÿÿÿSSSÿòòòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüüÿ+++ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿTÿRäÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿ"[÷ÿ¸¿ñÿìëëÿììëÿëììÿìììÿìììÿìììÿíììÿíììÿííìÿìííÿíííÿíííÿíîíÿîííÿííîÿííîÿîííÿíîíÿîîîÿîîîÿîîîÿîïîÿîïïÿïîîÿîïïÿïîïÿîïïÿïïïÿïïïÿïïðÿðïðÿïððÿïððÿððïÿðððÿðððÿðððÿðððÿðñðÿññðÿñðñÿñññÿñññÿññðÿñññÿñññÿòñòÿòòñÿñññÿòòñÿòòñÿòòñÿòòòÿòòòÿòòòÿóóòÿòòòÿóòòÿóóóÿóóóÿóóóÿóóóÿóôóÿôóóÿóôóÿóóôÿôôôÿóôôÿôôôÿôôôÿôôôÿôôôÿõôôÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõöõÿõõöÿöööÿöööÿõööÿöõöÿöööÿöööÿöö÷ÿ÷ööÿö÷öÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷÷ÿø÷÷ÿøø÷ÿøøøÿøøøÿøøøÿøøøÿùøøÿùùøÿùøùÿùøøÿøøùÿùùùÿùùùÿùùùÿùùùÿùùúÿúùúÿùúùÿúùúÿúúúÿúúúÿúúúÿúûúÿúúúÿûúûÿûúúÿûûúÿúúúÿúûúÿšš™ÿ™ššÿš™šÿšššÿšššÿšššÿš›šÿšššÿšš›ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿœœœÿ›œ›ÿ›œœÿœ›œÿœœœÿœœœÿœœœÿœœÿœœÿœœœÿÿÿÿÿÿžÿžÿžžÿžÿžžžÿžžžÿžžžÿžžžÿžžŸÿžžžÿžžžÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ  ÿ   ÿ Ÿ ÿŸ  ÿ Ÿ ÿ  Ÿÿ   ÿ ¡¡ÿ  ¡ÿ¡¡ ÿ   ÿ¡¡¡ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¢¡ÿ¡¢¢ÿ¡¡¢ÿ¢¡¢ÿ¡¡¢ÿ¢¢¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£¢¢ÿ££¢ÿ£¢¢ÿ£££ÿ£££ÿ£££ÿ¤£¤ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ£¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¤¤¤ÿ¥¥¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¦¥ÿ¦¦¥ÿ¦¦¦ÿ¥¦¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§¦¦ÿ§¦§ÿ§¦§ÿ§¦§ÿ§§§ÿ§¦¦ÿ§§§ÿ§§§ÿ§¨§ÿ¨§§ÿ¨§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿkÝÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿRÛÿÿÿÿÿkkkÿïïïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÏÏÿ000ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ:ÿQÛÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿGÆÿÿÿÿÿÿÿÿÿ444ÿÒÒÒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçççÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$ÿGÆÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿX÷ÿ¯·ñÿëìëÿëìëÿìëëÿìììÿìììÿíììÿìììÿíììÿìíìÿììíÿíííÿìííÿíííÿíííÿîííÿîííÿíîîÿîîîÿîîîÿîîîÿîîîÿîîîÿïîîÿîïîÿîïîÿïîîÿïîïÿïïîÿïïïÿïïïÿïðïÿïïïÿïðïÿððïÿðððÿðððÿðððÿðððÿðñðÿðððÿñððÿñðñÿðññÿññðÿñññÿñññÿòòñÿñññÿòññÿòòòÿñòñÿòòñÿòòòÿòòòÿòòòÿóòòÿóòòÿòóòÿóóóÿóóóÿòóòÿóóóÿôôóÿóóóÿóôóÿóóôÿôôóÿôôóÿóôôÿôôôÿôôôÿôôôÿõõôÿõôôÿôôõÿôõõÿõõõÿõõõÿõõõÿõõöÿõöõÿõõõÿöööÿöööÿöööÿöööÿöööÿöö÷ÿöö÷ÿöööÿ÷ö÷ÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷÷ÿø÷øÿ÷ø÷ÿ÷÷÷ÿøøøÿøøøÿøøøÿøøøÿøøùÿùøøÿøøùÿøøøÿøùùÿøùùÿùùùÿùùùÿùùùÿùùúÿùúùÿúùùÿúùúÿúúúÿúúúÿúúúÿúûúÿûúúÿûúûÿûúûÿûûûÿúûûÿ™™™ÿ™™™ÿšš™ÿš™šÿ™ššÿšššÿ›ššÿšššÿ›š›ÿšš›ÿ›š›ÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿœœœÿœ›œÿ›œ›ÿœœœÿœœœÿœœœÿœœÿÿœœœÿœœÿÿÿÿÿžÿÿžžÿžžžÿžžžÿžžžÿžžžÿŸžžÿžžžÿžžŸÿŸžŸÿŸŸŸÿŸŸŸÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸ  ÿŸŸ ÿ   ÿ  Ÿÿ   ÿ   ÿ   ÿ   ÿ¡  ÿ¡¡ ÿ¡ ¡ÿ ¡¡ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¡¢ÿ¢¢¢ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢££ÿ¢£¢ÿ¢¢¢ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤¤¤ÿ¤¤£ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¦ÿ¦¦¦ÿ¥¥¦ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§§ÿ¦¦¦ÿ¦§¦ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨¨¨ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿŽ—Äÿ1iñÿaöÿaöÿaöÿaöÿaöÿaöÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ8—ÿÿÿÿÿ888ÿáááÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ½½½ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNÕÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYôÿ)tÿÿÿÿÿÿÿÿÿÿ¼¼¼ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤¤ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ>´ÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿ™¤óÿèéìÿìììÿëìëÿìììÿìììÿìììÿìììÿìííÿíìíÿííìÿìííÿíííÿíííÿíííÿíííÿíîíÿîííÿíííÿîíîÿîîîÿîîíÿîîîÿîîîÿïîîÿîîîÿïîïÿîîîÿîîïÿïïïÿïïïÿïïïÿïðïÿïïïÿïïðÿððïÿðððÿðððÿðððÿñððÿðððÿñðñÿñðñÿñññÿññðÿñððÿññðÿòññÿñòòÿòññÿòòñÿñññÿòòòÿñòòÿòòòÿòòòÿòóòÿóòòÿóóóÿòóòÿóòòÿòóóÿóóóÿóóóÿóóóÿóóóÿóôóÿóóôÿôôôÿôôóÿôôôÿôôôÿôõôÿôôôÿôôôÿõõôÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõööÿõöõÿõõöÿõöõÿöõöÿöööÿöööÿöööÿöööÿöööÿ÷÷öÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷øøÿ÷÷øÿ÷÷÷ÿøøøÿøøøÿøøøÿøøøÿùøøÿøùøÿùøùÿùùøÿøùùÿùùùÿùùùÿùùùÿùùúÿùúúÿúúúÿúùùÿúúùÿúúúÿúúúÿúûúÿúúúÿúûúÿúûûÿúûúÿûúûÿ™š™ÿ™™™ÿš™™ÿ™š™ÿšššÿšššÿšššÿ›ššÿšššÿšš›ÿšš›ÿ›››ÿ›ššÿ›››ÿ›››ÿ›››ÿ›››ÿœœœÿœ››ÿ›œ›ÿœœ›ÿœœœÿœœœÿœœœÿœœÿœœÿœÿÿœœÿœÿÿÿžžÿžžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžŸÿžžŸÿžŸžÿžŸžÿŸžŸÿŸŸŸÿžŸŸÿŸŸŸÿŸŸŸÿŸ  ÿ Ÿ ÿŸ  ÿ  Ÿÿ   ÿ  Ÿÿ   ÿ ¡ ÿ  ¡ÿ¡ ¡ÿ  ¡ÿ¡  ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ££¤ÿ£££ÿ££¤ÿ¤¤£ÿ£¤¤ÿ£¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¥ÿ¥¤¥ÿ¥¥¤ÿ¤¥¤ÿ¥¥¤ÿ¥¤¥ÿ¥¥¦ÿ¥¥¥ÿ¥¦¥ÿ¥¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ§¦§ÿ§¦¦ÿ§§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§¨ÿ¨§§ÿ§§¨ÿ§§§ÿ•›½ÿ6jðÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\õÿ?ÿÿÿÿÿÿÔÔÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÿšššÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD»ÿ[õÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYóÿ #ÿÿÿÿÿÿÿÿÿÿˆˆˆÿøøøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿrrrÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*|ÿVñÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿr‡õÿãäìÿëììÿëìëÿìììÿìììÿìììÿíììÿìììÿìíìÿìììÿììíÿíìíÿíììÿíííÿíííÿíííÿíííÿîííÿîííÿííîÿîîîÿîîîÿîïîÿîîîÿîîîÿîïïÿîïïÿïîïÿïïïÿïïïÿïïïÿïïðÿïïïÿïïïÿïðïÿïððÿðððÿðððÿððñÿðððÿñððÿðððÿñððÿñðñÿññðÿñññÿñññÿòòñÿòññÿñòñÿòñòÿòòòÿòòòÿñòñÿòòòÿòòòÿòòóÿóóóÿòóòÿóòòÿóóóÿòóóÿóóóÿóóóÿóóóÿóóóÿóóôÿóóôÿóôóÿôôôÿôôôÿôôôÿôõõÿõôôÿôôôÿõõõÿõôõÿõôôÿôôõÿõõõÿõõõÿõõõÿõöõÿõööÿöõöÿöõöÿöööÿöööÿö÷÷ÿöö÷ÿ÷ööÿö÷÷ÿöööÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷÷øÿøøøÿø÷øÿøøøÿøøøÿøøøÿøùøÿøøùÿøùøÿøùùÿùùùÿùùùÿùùùÿùùùÿúùùÿùúúÿùùúÿúúúÿúúúÿùúúÿúúúÿúúúÿúúûÿúûúÿûúûÿúúûÿ™™™ÿš™™ÿ™™šÿš™šÿ™™šÿšššÿšššÿšššÿš›šÿ›››ÿ›š›ÿ››šÿ››šÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ›››ÿœ›œÿœœœÿœ›œÿœœœÿœœÿœœœÿÿœœÿœœÿÿÿÿÿÿžÿžÿžÿžžÿžžÿžžžÿžžžÿžžžÿŸžžÿžžŸÿžŸžÿžžŸÿžžŸÿŸŸŸÿŸ Ÿÿ ŸŸÿŸŸŸÿŸŸŸÿ   ÿ  ŸÿŸ  ÿ   ÿ ¡ ÿ  ¡ÿ   ÿ¡ ¡ÿ¡  ÿ¡¡¡ÿ   ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢¢£ÿ£££ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ£¤¤ÿ¤£¤ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¤¤¤ÿ¥¥¤ÿ¥¥¤ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¥¦¦ÿ¦¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§¦ÿ¦¦¦ÿ§¦¦ÿ¦¦¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ•›¾ÿ9kïÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\÷ÿOÓÿÿÿÿÿÿÿ‰‰‰ÿýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòòòÿFFFÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ2ŒÿZôÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿY÷ÿKÐÿÿÿÿÿÿÿÿÿÿÿ###ÿíííÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÛÛÛÿ???ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ2ÿTíÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿY÷ÿÖÚíÿìëëÿìëìÿìëìÿììëÿìììÿìììÿíììÿíììÿìíìÿìííÿììíÿííìÿííìÿíííÿîííÿíííÿííîÿîîîÿîîîÿîîíÿîíîÿîîîÿîîîÿîîîÿïîîÿîîîÿïïïÿïîîÿîïïÿïïïÿïïïÿïïïÿïïðÿïðïÿððïÿðððÿïððÿððïÿðððÿðñðÿðððÿðððÿðññÿððñÿñññÿðññÿñññÿñññÿñòñÿòòñÿñòñÿòññÿñòñÿòñòÿòòòÿóòòÿòòóÿòòòÿóóóÿòóóÿóóóÿòòóÿóóóÿóóóÿóóóÿôóóÿôóóÿôôóÿóóôÿôôóÿôôôÿôôôÿôôõÿôôõÿõôôÿõõõÿõôõÿõõôÿõõõÿõõõÿõõõÿõõõÿõööÿöööÿööõÿöõõÿöööÿöööÿöööÿ÷ö÷ÿö÷öÿ÷ö÷ÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷ø÷ÿ÷÷÷ÿø÷÷ÿøøøÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùúÿùùùÿúúúÿùùúÿúùúÿúúúÿúúúÿúûúÿûûúÿûûûÿúúúÿ™™šÿ™™™ÿ™™šÿš™™ÿ™ššÿš™šÿ™ššÿšššÿš›šÿšššÿš›šÿšš›ÿ›ššÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›››ÿ›œœÿ›œœÿœœ›ÿœœœÿœœœÿœœÿœÿœÿÿœÿœÿÿÿžÿžÿžÿžžÿžÿžžžÿžžžÿžžžÿžžžÿžžŸÿžžžÿŸžŸÿŸŸžÿŸŸŸÿŸŸžÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸŸÿ Ÿ ÿŸ Ÿÿ   ÿ   ÿ   ÿ¡  ÿ   ÿ   ÿ  ¡ÿ¡¡ ÿ ¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¢ÿ¢¡¢ÿ¢¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ£££ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ¤££ÿ£££ÿ£££ÿ¤¤¤ÿ¤£¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¥¥ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¦ÿ¦¦¥ÿ¦¥¥ÿ¦¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦§ÿ¦§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ˜œºÿCníÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ]÷ÿ<¤ÿ ÿÿÿÿÿÿÿ÷÷÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÒÒÒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ [ÿYôÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿZøÿ7™ÿÿÿÿÿÿÿÿÿÿÿÿ¥¥¥ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýýÿ³³³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNÝÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿ«³ñÿëëëÿëììÿëììÿìììÿììëÿììëÿìììÿìììÿìììÿíìíÿìííÿííìÿíííÿíííÿíííÿíííÿíííÿíîíÿíîíÿîîíÿííîÿîíîÿîîîÿîîîÿîïîÿîîîÿîïîÿîïïÿïîïÿîîïÿïïïÿïïïÿïïðÿïïðÿðïðÿðïïÿðððÿðððÿðððÿðððÿðñðÿñðñÿñññÿðñðÿñðñÿñðñÿñññÿñññÿññòÿññòÿñññÿññòÿòòòÿòòòÿñòòÿòòòÿòòòÿòóòÿòòòÿóòòÿòòóÿóóòÿóóóÿôóóÿóóóÿóóóÿóóóÿóôóÿôóóÿôóóÿôôôÿôôôÿôôôÿôôôÿôõôÿôôõÿõõõÿôõõÿõõõÿôõõÿõõõÿõõõÿõõöÿõõõÿõöõÿöööÿöööÿööõÿöööÿöööÿ÷ööÿ÷ööÿö÷÷ÿ÷÷öÿö÷÷ÿ÷÷÷ÿø÷÷ÿøø÷ÿ÷÷÷ÿ÷ø÷ÿ÷øøÿøøøÿø÷øÿøøøÿøøøÿøøøÿøøøÿøùùÿùøøÿøùùÿùùøÿùùùÿùùùÿùúùÿúùúÿúùùÿùúúÿùùúÿúúúÿúúúÿúúúÿúúúÿúûúÿûúúÿûúúÿ™™™ÿ™™šÿšš™ÿšš™ÿ™™™ÿšš™ÿšš™ÿšššÿšššÿš›šÿšššÿ›››ÿ›ššÿ›››ÿ›››ÿ›š›ÿ›››ÿ››œÿ››œÿ››œÿ›››ÿ›œœÿœœœÿœ›œÿœœœÿœœÿœœœÿœœœÿœœÿœœÿœÿœÿÿÿžÿžžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžžÿžžžÿžŸžÿžžŸÿžžŸÿžžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ   ÿ  Ÿÿ Ÿ ÿ ŸŸÿ Ÿ ÿ  Ÿÿ   ÿ   ÿ  ¡ÿ¡  ÿ¡ ¡ÿ¡ ¡ÿ¡  ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¢¡ÿ¢¢¡ÿ¡¢¢ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢£ÿ£££ÿ£££ÿ££¢ÿ£¢¢ÿ£¢¢ÿ££¢ÿ£££ÿ££¤ÿ£££ÿ¤¤£ÿ£¤¤ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¤¥ÿ¥¥¦ÿ¥¥¥ÿ¦¥¥ÿ¥¥¦ÿ¥¥¦ÿ¦¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§¦ÿ¦¦§ÿ§¦§ÿ§§¦ÿ§¦§ÿ§§§ÿ›Ÿ¶ÿGpëÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ1‰ÿÿÿÿÿÿÿÿ¦¦¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿeeeÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ1ÿYóÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿZøÿ*{ÿÿÿÿÿÿÿÿÿÿÿÿ;;;ÿñññÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðððÿEEEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ:¦ÿWøÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿChöÿÁÆïÿèéëÿëëëÿìììÿìëëÿìììÿìììÿíììÿìììÿììíÿìììÿìíìÿíííÿíìíÿíííÿíííÿîííÿííîÿîîíÿíîîÿîííÿîîîÿîîîÿîîîÿïïîÿîîïÿîïîÿîïïÿïîïÿïïîÿîïïÿïïïÿïïïÿïïïÿïððÿïïðÿðïïÿðððÿðððÿðððÿðððÿððñÿðñðÿðññÿñððÿññðÿññðÿñññÿñññÿñññÿñòòÿñòòÿòòòÿòñòÿòòòÿòòòÿóòòÿòòòÿòòòÿòóòÿòòòÿóóóÿóóóÿóóóÿóóóÿóóôÿóóóÿôóóÿôôóÿóôôÿôôôÿôôôÿôôôÿôôôÿôôõÿõõôÿôôôÿõõõÿõõõÿõõõÿõõõÿõõöÿõõõÿöõõÿõõõÿõõõÿõööÿõööÿöööÿöööÿöö÷ÿö÷öÿö÷öÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷÷ÿ÷÷øÿøøøÿøøøÿ÷øøÿøøøÿøøøÿøøøÿùøøÿøøùÿøøùÿùøùÿùøùÿùùùÿùùùÿúùùÿùúùÿùùùÿúúùÿúúúÿúúúÿùúúÿúúúÿúúûÿúúúÿúúûÿ™™™ÿ™™šÿ™™™ÿ™š™ÿ™™šÿ™ššÿšš™ÿš™šÿš™šÿšššÿš›šÿšššÿ›ššÿšššÿšššÿ›ššÿ›››ÿ›››ÿœ››ÿ›››ÿ›œ›ÿœ›œÿœœœÿœ››ÿ›œœÿœœœÿœœœÿœœœÿœœÿœœœÿÿÿÿœÿÿžÿÿžÿžžÿžžÿžžÿžžžÿžžžÿžžŸÿžžžÿžžžÿžŸŸÿŸŸžÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸ  ÿ Ÿ ÿ  Ÿÿ Ÿ ÿ  Ÿÿ   ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¢ÿ¡¡¡ÿ¡¢¢ÿ¢¡¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢££ÿ£££ÿ£¢¢ÿ£££ÿ£££ÿ¤¤£ÿ£¤£ÿ¤¤¤ÿ£££ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¥¥¤ÿ¤¥¥ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¦ÿ¦¥¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦§¦ÿ¦§¦ÿ§§§ÿ›Ÿ¶ÿOséÿ`öÿ`öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿVèÿ#iÿÿÿÿÿÿÿÿZZZÿíííÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÏÏÿ###ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿYóÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿWïÿ"jÿÿÿÿÿÿÿÿÿÿÿÿ ÿ¥¥¥ÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¡¡¡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(uÿXùÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿ-]÷ÿ˜£óÿäåìÿììëÿìììÿìììÿìììÿìììÿìììÿíììÿìííÿìììÿíííÿíííÿíííÿíííÿîííÿîíîÿíîîÿíîíÿîîíÿîíîÿîîîÿîîîÿîîïÿïîîÿïîïÿïîîÿïïîÿïîïÿïïïÿïïïÿïïïÿïðïÿïïïÿðïðÿðïïÿðïðÿðððÿððïÿðððÿðñðÿððñÿñðñÿñðñÿññðÿñððÿñññÿñññÿñññÿñòòÿññòÿòòñÿñòòÿòòòÿòòñÿòòòÿóòòÿòóòÿòóóÿóòòÿòòòÿóóòÿóóóÿóòóÿóóóÿóóóÿôóóÿôóôÿôôóÿôóôÿôôôÿôôôÿôôôÿôôõÿõôõÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿöõõÿööõÿõõöÿõõöÿöööÿöõöÿöööÿöööÿöööÿ÷ööÿ÷÷öÿö÷÷ÿ÷÷÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿøøøÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿùùúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™ššÿšššÿšššÿšššÿšš›ÿ›ššÿ›ššÿ›››ÿšš›ÿ›››ÿ›››ÿ›››ÿœ››ÿ›››ÿ›œ›ÿ›œœÿœ››ÿœ›œÿ›œœÿœœœÿœœœÿœœœÿœœœÿœœÿœÿœÿÿœÿÿÿžžÿžÿžÿžžžÿžžÿžžÿžžžÿžžžÿŸžžÿŸžžÿŸŸžÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿŸŸŸÿŸ  ÿ   ÿ   ÿ¡  ÿ   ÿ   ÿ ¡¡ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¢¡ÿ¢¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ££¢ÿ¢¢£ÿ££¢ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£¤£ÿ¤££ÿ£££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¤ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¥¥ÿ¦¥¦ÿ¥¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦§¦ÿ§¦¦ÿ§¦¦ÿ§§¦ÿž¡²ÿTuçÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿO×ÿ7ÿÿÿÿÿÿÿÿ ÿºººÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøøøÿ‡‡‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿSæÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿNÛÿLÿÿÿÿÿÿÿÿÿÿÿÿÿ;;;ÿßßßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÛÛÛÿ888ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿQÿXøÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿV÷ÿiõÿÓÖîÿêêëÿìëëÿìììÿìììÿìììÿìììÿìììÿìììÿììíÿíìíÿíííÿíííÿíííÿíííÿîííÿîíîÿîîîÿîíîÿîîîÿîîîÿîîîÿîîîÿïîîÿîîïÿîïîÿïïïÿïîïÿïïïÿïïïÿïïïÿïïïÿïððÿïððÿðððÿðððÿðððÿðððÿðððÿñððÿððñÿñððÿñðñÿðñðÿñññÿñðñÿñññÿñññÿòññÿñññÿòñòÿòòòÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿòòóÿòóòÿóòòÿóóòÿóóóÿóóóÿóóôÿóóóÿóôóÿóóôÿôôôÿôôôÿôôôÿôôôÿôôôÿõõõÿõôõÿõõõÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõöõÿõöõÿööõÿööõÿöööÿöööÿöööÿöööÿ÷÷öÿ÷ö÷ÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷÷ÿ÷÷÷ÿøøøÿøøøÿ÷øøÿøøøÿøøøÿøùøÿøøùÿøùùÿùùùÿùøøÿùùùÿùùùÿùúùÿùùùÿúùùÿùúùÿúùùÿùùúÿúùúÿúúúÿúúúÿûûúÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿš™™ÿšš™ÿ™ššÿ™™šÿš™šÿšššÿšššÿšššÿ›ššÿšš›ÿš››ÿ›ššÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœœÿ›œ›ÿœ››ÿ›œœÿœœœÿœœœÿœœœÿœœœÿœÿœÿœœÿœÿÿœÿÿžÿžÿžÿžÿžžÿÿžžžÿžžžÿžžžÿžžžÿžŸŸÿŸžŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿ ŸŸÿŸ  ÿ   ÿ  Ÿÿ   ÿ   ÿ¡  ÿ¡ ¡ÿ¡  ÿ¡¡¡ÿ¡¡¡ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¡¢¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ¢¢¢ÿ¢££ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ¤£¤ÿ¤£¤ÿ£¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¥ÿ¤¤¥ÿ¥¥¥ÿ¥¥¤ÿ¥¥¤ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¥ÿ¥¥¦ÿ¦¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦§ÿŸ¢±ÿ\xäÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿLÑÿÿÿÿÿÿÿÿÿÿFFFÿêêêÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈÈÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿJÌÿY÷ÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿJÐÿ 2ÿÿÿÿÿÿÿÿÿÿÿÿÿÿwwwÿõõõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõõõÿxxxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿSêÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿJköÿµ¼ðÿèèìÿììëÿìëëÿìììÿìììÿííìÿíììÿíìíÿìííÿììíÿííìÿíííÿíííÿííîÿîîíÿíîíÿîîíÿíîîÿîîîÿîîîÿîîîÿîîîÿîîîÿïîîÿîîîÿïïïÿïîïÿïïîÿïïïÿïïïÿïïïÿïïïÿïïðÿïððÿðððÿïðïÿðððÿðððÿðððÿññðÿðñðÿññðÿñññÿððñÿñññÿñññÿñññÿòòñÿñòñÿñññÿòòòÿòòòÿòòòÿòòòÿóòòÿóòóÿòóòÿòòóÿóòóÿóóòÿóóòÿóóóÿóóóÿóóóÿôóóÿôóóÿóóóÿôôóÿôôôÿôôôÿôôôÿõôõÿôõõÿõôôÿõõõÿõõõÿõôõÿõõõÿõöõÿõõöÿöõöÿõöõÿöööÿöõöÿöööÿöööÿöööÿöööÿ÷ööÿ÷÷öÿ÷÷÷ÿ÷ööÿö÷öÿ÷ö÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿøø÷ÿ÷÷øÿøøøÿøø÷ÿøøøÿøøøÿøøøÿøùøÿøùùÿøøøÿùùùÿùøøÿøøùÿùùùÿùùùÿùùùÿùùùÿúùùÿúùùÿùúúÿúúùÿúúúÿúúúÿ˜™˜ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšššÿš™šÿ™ššÿ™ššÿšššÿšššÿšš›ÿ››šÿš›šÿ›š›ÿš››ÿ›ššÿ›››ÿ›››ÿ›œœÿœ››ÿœ›œÿœ››ÿœœœÿ›œœÿœœœÿœœœÿœœœÿœœÿœœœÿœÿÿœÿÿœÿÿžÿžžÿžÿžžžÿžÿžžžÿžžžÿžžžÿŸžžÿžŸžÿžŸžÿŸžžÿžŸŸÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿ Ÿ ÿŸŸ ÿ  Ÿÿ Ÿ ÿ Ÿ ÿ Ÿ ÿ   ÿ  ¡ÿ  ¡ÿ¡  ÿ ¡ ÿ   ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¢ÿ¢¢¡ÿ¢¢¡ÿ¡¢¢ÿ¡¢¡ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ£¢¢ÿ¢¢£ÿ£¢£ÿ£¢£ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£¤¤ÿ¤¤£ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¤¥¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¥ÿ¥¥¦ÿ¥¦¦ÿ¥¦¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¡¢¯ÿ_zâÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿIÉÿÿÿÿÿÿÿÿÿÿÿvvvÿýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîîîÿBBBÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD½ÿY÷ÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿGÉÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûûûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ,ÿFÊÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿ*\÷ÿŒšôÿáâíÿììëÿìììÿìììÿìììÿììíÿìííÿìììÿíìíÿìííÿíííÿííìÿíííÿíííÿíîíÿîîíÿîîîÿîîîÿíîîÿîîîÿîîîÿîîîÿïîîÿïïîÿîîîÿïïîÿîïïÿïïïÿïïïÿïðïÿïïïÿïïïÿðððÿïïïÿðððÿðððÿðððÿðððÿððñÿñññÿððñÿðññÿñññÿñññÿñññÿñññÿñòòÿññòÿòòòÿòññÿòòñÿòòòÿòòòÿòòòÿòóòÿòòòÿóòòÿòòóÿòòòÿòóóÿóóóÿóóóÿôóóÿóóôÿôôóÿôôôÿôôóÿôôôÿôôôÿôôôÿôôõÿõôôÿôõôÿõôôÿõõõÿõõõÿõõôÿõõõÿõöõÿöööÿõõöÿööõÿöõöÿöööÿöööÿöööÿöööÿöööÿ÷ööÿ÷÷÷ÿ÷ööÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿø÷÷ÿø÷øÿ÷øøÿøøøÿøøøÿøøøÿùøøÿùùøÿøøùÿøøùÿøùùÿùøùÿùùùÿùùùÿùùùÿùùùÿúúùÿùùúÿúùúÿúùúÿúúúÿúúúÿ™™™ÿ™˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿšš™ÿ™™šÿšššÿšššÿšššÿšššÿšš›ÿšš›ÿš››ÿ›š›ÿšš›ÿ›››ÿ›››ÿ›››ÿ››œÿ››œÿœœ›ÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœÿœœÿœÿœÿœÿÿžÿžÿÿÿžÿžžžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ Ÿÿ  Ÿÿ  ŸÿŸ  ÿ   ÿ   ÿ   ÿ¡ ¡ÿ  ¡ÿ ¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢£¢ÿ¢¢¢ÿ¢¢£ÿ¢£¢ÿ£££ÿ¢££ÿ£££ÿ££¤ÿ£££ÿ¤¤¤ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¤¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¦ÿ¦¥¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¡£­ÿhÝÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿYôÿ:¢ÿÿÿÿÿÿÿÿÿÿÿÿ¥¥¥ÿûûûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóóóÿoooÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?¯ÿZ÷ÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿEÅÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤¤¤ÿúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷÷÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@¹ÿVøÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿiõÿËÐîÿëêìÿìëìÿííìÿìììÿííìÿííìÿììíÿííìÿíìíÿìííÿíííÿííîÿííîÿíííÿîîíÿíîîÿíîîÿîíîÿîîîÿîïîÿîîïÿïîîÿîïîÿîîïÿïïîÿïïïÿïïïÿïïïÿðïïÿïððÿðïðÿïðïÿðïðÿðððÿïððÿðððÿñððÿñðñÿñðñÿððñÿñðñÿñññÿñññÿññòÿñññÿññòÿòññÿòòòÿòòòÿòññÿòòòÿòòòÿòòòÿòòòÿóòòÿóòóÿóòòÿòòóÿóóóÿóóóÿóóóÿóóóÿôôôÿôôóÿóôôÿôóôÿôôóÿôôôÿôôôÿôôôÿõôôÿôõôÿõõôÿôõõÿõõôÿõõõÿõõõÿõöõÿõööÿõöõÿöööÿöööÿöõöÿöööÿöööÿöööÿö÷÷ÿöööÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷øÿ÷ø÷ÿ÷÷øÿ÷÷øÿ÷ø÷ÿøø÷ÿøøøÿøøøÿøøøÿùøøÿùøùÿøøøÿùùøÿùùùÿùùùÿùùùÿúùúÿúúùÿúùùÿùúùÿùúùÿúúúÿúúúÿ˜˜™ÿ™˜˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™š™ÿšššÿ™š™ÿšššÿšššÿšš›ÿ›››ÿšš›ÿ››šÿšš›ÿ›ššÿ›››ÿš››ÿ›››ÿ›››ÿ›œ›ÿ››œÿœ››ÿœ›œÿœœœÿœœœÿœœœÿœÿœÿœœœÿœœÿÿÿÿÿÿžÿžÿžžÿžÿžžÿžžžÿžžžÿžžžÿžžŸÿžžžÿžžžÿŸžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸ Ÿÿ   ÿŸ  ÿ   ÿ   ÿ¡¡¡ÿ   ÿ ¡¡ÿ ¡¡ÿ ¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¢¡¢ÿ¡¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ¢££ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤£¤ÿ¤££ÿ¤££ÿ£¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¥¤ÿ¥¤¤ÿ¥¤¤ÿ¥¥¤ÿ¤¥¤ÿ¥¥¥ÿ¦¦¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¥¥ÿ¢£ªÿg~Þÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYóÿ)uÿÿÿÿÿÿÿÿÿÿÿÿ***ÿ²²²ÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùùùÿ†††ÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ9¡ÿYøÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿDÄÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŒŒŒÿòòòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷÷÷ÿ†††ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ;­ÿVøÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿAföÿª³ñÿêéìÿìììÿìììÿíììÿìììÿìííÿìííÿìííÿíìíÿííìÿíííÿíííÿîííÿîíîÿíîîÿîííÿîîîÿîîîÿîîîÿîîîÿïîîÿîïïÿîïïÿïïïÿîîîÿîïïÿïïïÿïïïÿïðïÿïïïÿïïðÿððïÿïððÿðððÿðððÿðððÿðñðÿðñðÿññðÿñððÿñññÿñññÿñññÿñññÿñññÿòññÿòòòÿòñòÿòòòÿòòòÿòñòÿòòòÿóòòÿóòóÿòòóÿòòóÿóóòÿóóóÿóóóÿóóóÿóôóÿóôóÿóôôÿóóóÿôóôÿôóóÿôôóÿôôôÿôôôÿôõôÿôõôÿôõõÿôõõÿõõõÿõõõÿõôõÿõõõÿõõõÿõõõÿöõöÿööõÿööõÿöõöÿõööÿöööÿ÷ööÿ÷ö÷ÿö÷öÿöö÷ÿöööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷øÿ÷ø÷ÿø÷÷ÿøø÷ÿøø÷ÿøøøÿøøøÿøùøÿøùøÿøøøÿùøøÿùøùÿøùùÿùøùÿùùùÿùùúÿùùùÿùúùÿùúùÿúùùÿúúúÿúúúÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿš™™ÿ™™™ÿš™šÿš™šÿ™ššÿšššÿšššÿšššÿ››šÿšššÿ››šÿ››šÿ›š›ÿš››ÿ›››ÿ›››ÿ›››ÿœ›œÿ›œœÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœœÿœœÿœÿÿÿÿÿÿžÿžžžÿžžÿžžÿžžžÿžžžÿžžžÿžŸžÿžžŸÿžžŸÿžŸŸÿŸŸŸÿžžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿ ŸŸÿ   ÿ   ÿ   ÿ   ÿ   ÿ  ¡ÿ¡¡ ÿ  ¡ÿ¡¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¡¢¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢£¢ÿ¢¢£ÿ¢£¢ÿ¢¢£ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ¤££ÿ££¤ÿ¤¤£ÿ£¤£ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¥¥ÿ¤¥¤ÿ¥¤¥ÿ¤¤¤ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¥ÿ¦¦¦ÿ¥¥¥ÿ££©ÿs„×ÿ +_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYòÿSÿÿÿÿÿÿÿÿÿÿÿÿÿÿªªªÿøøøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðððÿxxxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ6™ÿYùÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿWöÿA½ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿYYYÿØØØÿõõõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöööÿÒÒÒÿRRRÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8¦ÿVøÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿ†”ôÿÜÝîÿìììÿìììÿíììÿìíìÿìíìÿíììÿììíÿííìÿíííÿíííÿíîîÿíííÿîîíÿîíîÿîííÿîîîÿîîîÿîîîÿîîîÿïîîÿîîïÿîîîÿïîïÿïïïÿîïïÿïïïÿïïïÿïïïÿïïïÿðððÿïðïÿððïÿðððÿðððÿðððÿðññÿðððÿðððÿñññÿñððÿñðñÿñññÿñññÿñññÿòòñÿòñòÿòòòÿñññÿòòòÿòòòÿòòòÿòòòÿóòòÿòóòÿóòóÿòòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóôóÿôôóÿôôóÿóôôÿôôôÿôôôÿôôôÿôôôÿôõõÿôôôÿõôôÿôõõÿõõõÿõõõÿõõöÿõõöÿõõõÿöõõÿöõöÿööõÿöööÿöööÿöööÿöö÷ÿöööÿöö÷ÿ÷÷÷ÿ÷ö÷ÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷÷øÿø÷÷ÿø÷÷ÿø÷÷ÿ÷øøÿøøøÿøøøÿøøøÿùøøÿùùùÿøùøÿùùøÿùøùÿùùùÿùùùÿùùùÿùúúÿùùùÿùúúÿúúùÿùúúÿ˜˜˜ÿ˜˜™ÿ˜™™ÿ™™™ÿ™˜˜ÿ™™™ÿ™™™ÿ™š™ÿ™š™ÿ™™šÿ™™šÿ™š™ÿ™ššÿšššÿ›ššÿšššÿšššÿ›››ÿš››ÿšš›ÿš››ÿš››ÿ›››ÿ›››ÿ›››ÿ›œ›ÿœ›œÿœœœÿœ››ÿœœœÿœœœÿœœœÿÿœœœÿÿœœœÿœœÿœÿÿžÿžÿÿžžÿžÿžÿžžžÿžžžÿžžžÿžžžÿžžžÿžžžÿžžŸÿŸžŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸŸÿ   ÿ Ÿ ÿŸ Ÿÿ Ÿ ÿ   ÿ   ÿ¡  ÿ  ¡ÿ   ÿ  ¡ÿ ¡¡ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¢ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ¢£¢ÿ£¢¢ÿ££¢ÿ££¢ÿ£¢£ÿ£££ÿ££¤ÿ£££ÿ¤££ÿ¤¤£ÿ£¤£ÿ££¤ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¥¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¤¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¤¥¨ÿr„×ÿ +_öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿXòÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿ‰‰‰ÿâââÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÊÊÊÿgggÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ6šÿYùÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿWöÿ>µÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ´´´ÿßßßÿþþþÿÿÿÿÿÿÿÿÿþþþÿÞÞÞÿ´´´ÿƒƒƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ5¢ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿbyõÿÁÆðÿìììÿìììÿìììÿììíÿíìíÿìííÿííìÿíìíÿíííÿíííÿíîíÿíííÿíííÿîííÿíîíÿîîîÿîîîÿîïîÿîîîÿïîîÿîîïÿïïïÿîîîÿïïîÿïïïÿïïïÿïðïÿððïÿïðïÿðïðÿðððÿïïïÿðððÿðððÿðððÿðððÿñðñÿððñÿññðÿñññÿñññÿñññÿñññÿòññÿñññÿòòòÿòñòÿòòñÿòñòÿòòòÿòòòÿòòòÿòóòÿòóòÿóòóÿòóòÿóóóÿóóóÿóóóÿôôóÿôôóÿóóôÿôóôÿôôôÿóôóÿôôôÿôôõÿôôôÿôôôÿôõôÿõõõÿõôõÿõôõÿõõõÿõõõÿöõõÿõõõÿõööÿõõöÿööõÿõõöÿöööÿöööÿöööÿ÷÷öÿ÷ööÿ÷ööÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿøø÷ÿ÷÷÷ÿøøøÿ÷øøÿøø÷ÿ÷øøÿøøøÿøøøÿøøøÿùøùÿøøøÿøøøÿùùùÿùùùÿùùùÿúúùÿùùùÿúùúÿùúùÿùùúÿúúúÿ˜˜™ÿ™˜™ÿ˜˜™ÿ˜™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™™™ÿš™šÿ™™šÿšššÿš™šÿš™šÿšššÿšššÿšš›ÿ›ššÿ›š›ÿ›ššÿ›››ÿš››ÿ›››ÿ›œ›ÿ››œÿœœœÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœÿœœÿœÿœÿÿÿžÿžÿžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžŸÿžžŸÿŸžŸÿŸžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ Ÿ ÿŸŸ ÿ   ÿ   ÿ   ÿ   ÿ ¡¡ÿ   ÿ¡¡ ÿ   ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¢¡ÿ¡¡¢ÿ¢¡¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ££¤ÿ£££ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¥¤ÿ¥¤¤ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ£¥¨ÿyˆÒÿaôÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿWòÿ,ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<<<ÿžžžÿîîîÿ÷÷÷ÿýýýÿÿÿÿÿÿÿÿÿÿÿÿÿûûûÿõõõÿáááÿxxxÿ)))ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ7›ÿYùÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿVöÿ=³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ444ÿFFFÿPPPÿPPPÿFFFÿ333ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0•ÿTôÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿ0]÷ÿ¥­òÿäåîÿìììÿìììÿìíìÿíííÿííìÿììíÿíìíÿíííÿíííÿíííÿîííÿííîÿîîîÿîíîÿîîîÿîîîÿîîîÿîîïÿîïîÿïïïÿïïïÿïîîÿïîïÿïïïÿïïïÿïïïÿïððÿðïðÿðïïÿïððÿðððÿðððÿðððÿññðÿñðñÿðððÿðñðÿñññÿñññÿñññÿñññÿòòñÿñòòÿñòñÿòòòÿòòòÿñòòÿòòòÿòòòÿòòòÿòòòÿóóóÿòóóÿóòóÿòóòÿóóóÿóóóÿóóóÿóóóÿôóôÿóóóÿóóóÿôôôÿôôôÿôôôÿôôõÿôôõÿôõõÿôôôÿôôõÿõõôÿõôõÿõõõÿõõõÿõõõÿõõöÿööõÿööõÿöõöÿöööÿöööÿöööÿöööÿöö÷ÿöö÷ÿ÷ööÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷÷øÿ÷øøÿø÷øÿøøøÿøøøÿøøùÿùøøÿùøøÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùùùÿùúùÿùúúÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ˜™˜ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™™™ÿš™™ÿšššÿšššÿšš™ÿšššÿšššÿ›ššÿšššÿšššÿ›››ÿšš›ÿ›››ÿ›››ÿœ››ÿ›››ÿ››œÿ›››ÿ›œ›ÿ›œœÿœœ›ÿœœœÿœœœÿœœœÿœÿœÿœœÿœœÿœœÿÿÿžžÿžžÿÿžžÿžžÿžÿžÿžžžÿžŸžÿžŸŸÿžžŸÿŸŸŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ Ÿÿ   ÿ ŸŸÿŸ  ÿ   ÿ  Ÿÿ   ÿ   ÿ   ÿ¡  ÿ ¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡ ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ¢¢£ÿ£¢£ÿ£¢£ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£££ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¤¥ÿ¥¤¥ÿ¥¤¥ÿ}ŠÏÿ`ôÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ^öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿWòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿqqqÿ®®®ÿÀÀÀÿÁÁÁÿ¿¿¿ÿŸŸŸÿYYYÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ7œÿXùÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿVöÿ=µÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-ŠÿSñÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿ„“ôÿÓÖïÿìììÿííìÿííìÿìììÿìííÿíííÿíííÿíîíÿíííÿíîíÿíííÿîíîÿíîíÿíîîÿîîîÿîîîÿîîîÿïîïÿîîîÿîïîÿïïïÿïïîÿîïïÿïïïÿïïïÿïïïÿïïðÿïððÿïððÿðïðÿðïðÿðððÿðððÿðñðÿððñÿññðÿñðñÿñññÿñððÿñðñÿñññÿñññÿñòòÿññòÿòòòÿòñòÿòñòÿòòòÿòòóÿòòòÿòòòÿòóóÿóóóÿóóóÿóòóÿóòóÿóóôÿóóóÿóóóÿôôôÿôóôÿôóóÿôóôÿôôôÿôôôÿôôôÿôôõÿôõôÿôôôÿõôõÿõõõÿõõõÿõõõÿõõõÿöõõÿõõõÿöõöÿõöõÿöõõÿöööÿööõÿöööÿö÷öÿö÷öÿ÷÷÷ÿ÷÷öÿö÷öÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷÷øÿø÷÷ÿøøøÿøøøÿøøøÿøøùÿøøùÿùùøÿøùùÿùøùÿùùøÿùùùÿùùùÿùùùÿùùùÿùúùÿúúúÿ˜˜˜ÿ™˜™ÿ˜˜™ÿ˜™˜ÿ˜˜™ÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿ™™™ÿ™™™ÿ™ššÿ™™™ÿšššÿšššÿšššÿšššÿšššÿš›šÿšš›ÿ››šÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›œœÿœ››ÿœœœÿ›œœÿ››œÿœœœÿœœœÿœœÿœœœÿœœœÿœÿÿœœÿœÿÿžžÿÿžÿžžÿžÿžžÿžžÿžžžÿžžžÿžžžÿžŸžÿŸžŸÿžžžÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿ ŸŸÿ   ÿŸŸŸÿ   ÿ   ÿ   ÿ¡¡ ÿ   ÿ  ¡ÿ¡ ¡ÿ ¡ ÿ¡¡ ÿ¡¡¡ÿ ¡¡ÿ¡¢¡ÿ¡¢¡ÿ¢¡¢ÿ¡¡¡ÿ¢¡¢ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ£¢¢ÿ£¢£ÿ¢££ÿ£¢£ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ¤¤¤ÿ¤¤¤ÿ¤¤£ÿ£¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¥¤ÿ¥¤¤ÿ¥¥¥ÿ¥¤¥ÿ¤¥¦ÿ~‹Îÿ aóÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿWòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ7žÿXùÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿAÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*‚ÿRïÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQnöÿÁÅñÿëêìÿìììÿìííÿìììÿíìíÿìííÿìííÿíííÿíîîÿîîíÿíííÿíîíÿíîîÿîîîÿíîîÿïîîÿîîïÿïîïÿîîïÿîîïÿîîîÿïïîÿïïïÿïïïÿðïïÿðïðÿðïïÿïïðÿðïðÿðïðÿðïðÿðððÿðððÿñððÿðññÿññðÿññðÿñðñÿððñÿñññÿñññÿñññÿñòñÿñòòÿòññÿòòòÿñòñÿòòòÿòòòÿòòóÿóóòÿòóòÿòóóÿóóóÿóóóÿóóóÿóóóÿóóóÿóóóÿóôôÿóôóÿôôôÿôôôÿôôôÿôôôÿõôôÿôôôÿôôôÿõôôÿõõõÿõôõÿõõõÿõõõÿöõõÿõöõÿõõõÿööõÿõõöÿõööÿööõÿöööÿöööÿö÷öÿ÷÷öÿ÷÷÷ÿ÷÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿø÷÷ÿøø÷ÿø÷øÿ÷øøÿøøøÿùøøÿùøùÿøøùÿøøøÿøùøÿøøùÿùùùÿùùùÿùùùÿùùùÿúùùÿùùùÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™™™ÿ˜™˜ÿ™˜™ÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿš™™ÿšššÿ™™™ÿšššÿš™šÿšš›ÿšššÿšššÿšššÿ›››ÿšššÿ›š›ÿ››šÿ›››ÿ›››ÿ›œ›ÿ››œÿ››œÿ›œ›ÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœœœÿœÿœÿœÿÿžÿžÿžÿžÿžžÿžžžÿžžÿžžžÿžžžÿžžŸÿŸŸžÿŸžžÿŸŸžÿŸŸžÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ  ÿ  ŸÿŸŸŸÿ  Ÿÿ   ÿ   ÿ  ¡ÿ  ¡ÿ ¡ ÿ  ¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¢¡ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ£££ÿ£££ÿ££¢ÿ£££ÿ£¤£ÿ£¤£ÿ£¤£ÿ£¤¤ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¤¥¥ÿ†Èÿ'còÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿWòÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ=®ÿXøÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿCÄÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ÿRïÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿ R÷ÿŸ©óÿáâíÿìììÿííìÿìíìÿíííÿíííÿíííÿíííÿîííÿîíîÿîíîÿíîîÿîîíÿîíîÿîîîÿîîîÿïîîÿîîîÿïïîÿïîïÿîïïÿîïïÿïïïÿïðïÿïïïÿïïïÿðïïÿïððÿððïÿðððÿððïÿðððÿðððÿðñðÿñððÿñðñÿñññÿñññÿñññÿñññÿñññÿñññÿñòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòóòÿòóòÿòóóÿóòòÿòóòÿòóòÿóóóÿóóóÿóóôÿóôóÿôóôÿóóóÿóôôÿôóôÿôôôÿôôôÿôôôÿôõôÿõôõÿõõôÿõõõÿõõôÿõõõÿõõõÿöõöÿõöõÿöõõÿöööÿõõöÿõöõÿöööÿöööÿöööÿöö÷ÿöö÷ÿ÷ööÿ÷÷÷ÿ÷÷öÿ÷÷öÿ÷÷÷ÿ÷÷øÿ÷ø÷ÿø÷øÿ÷ø÷ÿøøøÿ÷øøÿø÷øÿøøøÿøøøÿøøùÿøøøÿøøùÿùùùÿøùøÿùøùÿùùùÿùùùÿùùùÿúùúÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ˜˜™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™ššÿ™™šÿ™ššÿšššÿšššÿšššÿšššÿ›ššÿ›š›ÿšššÿ›š›ÿ›››ÿš›šÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›œœÿ›œ›ÿ›œœÿœœœÿœœÿœœœÿœÿœœÿœÿœÿœÿœÿÿžÿžžÿžÿžÿžžžÿžžÿžžÿžžžÿžžžÿžžžÿžŸŸÿžŸžÿžŸžÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ  Ÿÿ Ÿ ÿ Ÿ ÿŸ  ÿ   ÿ   ÿ   ÿ¡  ÿ  ¡ÿ   ÿ¡ ¡ÿ¡¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¡ÿ¡¡¢ÿ¡¢¡ÿ¢¡¢ÿ¡¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢£ÿ¢¢¢ÿ££¢ÿ£££ÿ££¢ÿ£££ÿ£££ÿ¤£¤ÿ£¤£ÿ¤¤£ÿ¤£¤ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ¥¥¤ÿ¤¥¤ÿ†Çÿ*dòÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿWòÿ %ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿDÂÿWøÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿDÅÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*ƒÿQïÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿ Q÷ÿr„õÿÓÖîÿìíìÿìíìÿìíìÿíìíÿíííÿíííÿíííÿíîîÿíííÿîîîÿíîîÿíîîÿíîîÿîîîÿîîîÿïîîÿîîïÿïîîÿïïïÿîîïÿïïïÿïïïÿïïðÿðïïÿïððÿïðïÿïïïÿðððÿðððÿðððÿðððÿðððÿðððÿñññÿññðÿðññÿðññÿñððÿñññÿñòòÿññòÿòññÿñòòÿòññÿòòòÿòòòÿòòòÿóóòÿòóóÿóòòÿòòòÿòóòÿòóòÿóóóÿóóóÿóóóÿóóôÿóóóÿôóôÿôóôÿôôóÿôôôÿôôôÿôôôÿôôôÿôôõÿôõôÿôôõÿõôõÿõôõÿõõõÿõõõÿöõõÿõõõÿöõöÿöööÿõööÿöööÿöööÿöö÷ÿ÷ööÿö÷÷ÿö÷öÿ÷÷÷ÿöö÷ÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿ÷ø÷ÿøø÷ÿ÷÷÷ÿø÷÷ÿøøøÿ÷øøÿ÷ø÷ÿøøøÿøøøÿøøøÿøøøÿøùùÿùùøÿùøùÿøùùÿùùùÿùùùÿùùùÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ˜™™ÿ˜™˜ÿ™˜™ÿ™™™ÿ™™™ÿš™™ÿ™š™ÿšš™ÿ™™™ÿšššÿšššÿšššÿšššÿšššÿšš›ÿ›ššÿ›š›ÿš››ÿ››šÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœœœÿœœœÿœœÿœÿÿÿÿžÿžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸžžÿŸžŸÿŸŸžÿžžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ  ÿ ŸŸÿŸ  ÿŸ  ÿ   ÿ Ÿ ÿ   ÿ ¡¡ÿ  ¡ÿ   ÿ ¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ££¢ÿ£££ÿ¢££ÿ£¢£ÿ£££ÿ£££ÿ££¤ÿ¤£¤ÿ£¤£ÿ¤£¤ÿ£¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿŒ“Áÿ1eñÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ]öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿVóÿ3ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿLØÿWøÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿEÉÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-ÿRòÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿ6^÷ÿ¸½ñÿèèìÿíííÿììíÿíííÿíííÿîííÿíííÿíîíÿîííÿîîíÿîîîÿîíîÿîîîÿîîîÿîïîÿïïîÿîïîÿïïïÿïïïÿïïîÿîïïÿïïïÿïïïÿïïðÿïððÿððïÿïðïÿðïðÿððïÿðððÿðððÿððñÿðñðÿñðñÿððñÿñðñÿñññÿñññÿñòñÿòññÿòòòÿñòòÿòññÿññòÿòòòÿòòòÿòòòÿòòòÿòóòÿóóóÿòòòÿòóòÿóóóÿóóóÿóóóÿôóôÿóôóÿôóóÿóóôÿôôóÿôóôÿôôóÿôôôÿôôôÿõõôÿôôôÿôôôÿõõôÿõõõÿõôõÿõõõÿõõõÿöõöÿõöõÿõõöÿöõöÿöööÿöõõÿöööÿöööÿ÷ööÿ÷ööÿ÷ööÿ÷ööÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿøø÷ÿ÷øøÿø÷øÿøøøÿøøøÿøøøÿøùøÿøøùÿøùùÿùøùÿøùøÿùùùÿùùùÿùùùÿùùúÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™™™ÿ™˜™ÿ™™™ÿ™˜™ÿ™™˜ÿ™™™ÿ™š™ÿ™™™ÿš™™ÿšššÿ™™šÿšššÿš™šÿ™ššÿšššÿ››šÿšš›ÿšššÿš›šÿšš›ÿ››šÿ››šÿ›››ÿ››œÿ›››ÿœ›œÿ››œÿœœ›ÿœœœÿ›œœÿœœœÿœœœÿœœÿœœÿœÿœÿœÿœÿÿÿÿžžÿžžÿÿÿžžžÿžžžÿžžžÿžžžÿŸžŸÿžžžÿžžžÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ  Ÿÿ  ŸÿŸ  ÿŸŸ ÿ   ÿ   ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ¡  ÿ  ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¢¡ÿ¢¡¢ÿ¡¡¡ÿ¢¡¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£££ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ¤££ÿ¤££ÿ¤£¤ÿ£¤£ÿ¤¤¤ÿ¤£¤ÿ–¾ÿ7gïÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿWóÿPÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRìÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿHÓÿ:ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ2ÿTöÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿ&X÷ÿ“Ÿóÿßáîÿíííÿíííÿííìÿíííÿíííÿíííÿîîîÿííîÿíîíÿíîíÿîíîÿîîîÿîîîÿîïîÿïîïÿïïîÿîîïÿïïîÿïïîÿïïïÿïïïÿïðïÿïïðÿïïðÿðððÿïðïÿðððÿðððÿðððÿðñðÿñððÿððñÿðñðÿñðñÿðññÿñññÿñññÿñññÿñññÿñññÿññòÿòòòÿòññÿòòòÿòòòÿòóòÿòòóÿòòòÿóóóÿòóóÿòóóÿóóóÿóóóÿóóóÿóóóÿóóôÿôôôÿôóóÿôôôÿôôôÿôôôÿôôõÿôõôÿôõõÿôôôÿõõôÿõôõÿõôõÿõõõÿõõõÿõõõÿõöõÿõõõÿõõõÿöööÿõööÿöööÿöööÿöööÿöööÿöööÿ÷ööÿö÷÷ÿ÷÷÷ÿö÷öÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷÷ÿøøøÿøøøÿøøøÿøøøÿøøøÿøùøÿøøøÿøùùÿøøùÿøøùÿùùùÿùùùÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜™ÿ˜™˜ÿ™˜˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™ššÿš™šÿš™™ÿšššÿ™™šÿ™ššÿš›šÿšššÿš›šÿ›ššÿ››šÿ›››ÿš››ÿ›››ÿ›››ÿ›››ÿ›œœÿœœ›ÿœœ›ÿœœœÿœœ›ÿœœœÿœœÿœœœÿœœÿœœÿœœÿœÿœœÿœÿÿžÿžÿžÿžžÿžžÿžÿžžžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸžžÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ Ÿ ÿ  Ÿÿ   ÿ  Ÿÿ   ÿ   ÿ¡  ÿ   ÿ¡ ¡ÿ ¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¡¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ¢££ÿ¢££ÿ££¢ÿ£££ÿ¤££ÿ£££ÿ£¤£ÿ¤£¤ÿ£¤£ÿ£¤¤ÿ’˜»ÿ6fïÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿWôÿ*zÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿUôÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿNãÿWÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ5£ÿTøÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿ P÷ÿ^vöÿÏÑïÿêìíÿíííÿìííÿíííÿíííÿíííÿíííÿîííÿîíîÿîîîÿíîîÿîîîÿîîîÿïïïÿîîïÿîïîÿïîîÿïîïÿïïïÿïïïÿïïïÿïðïÿïïðÿïðïÿïïïÿðïðÿïððÿðððÿðððÿðððÿðððÿðñðÿññðÿñññÿðññÿñññÿñññÿñññÿñññÿñññÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòóÿóóòÿóòóÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿôôôÿôôôÿôôôÿôôóÿôôôÿôôôÿôôôÿôôõÿõôõÿõõõÿõõõÿõõõÿõõõÿõõõÿöõöÿõõõÿöõöÿööõÿöõöÿöööÿöööÿöööÿöööÿöööÿö÷öÿ÷÷öÿö÷öÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷÷ÿø÷÷ÿøø÷ÿøø÷ÿøø÷ÿøøøÿøøøÿøøøÿùøøÿøøøÿùùùÿùøùÿøùùÿùùùÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ™˜™ÿ™™˜ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿ™™™ÿš™™ÿ™š™ÿšššÿš™šÿšššÿšš›ÿšššÿšššÿš››ÿ›››ÿš››ÿ›››ÿ››šÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›œœÿ›œ›ÿœœœÿœœœÿœœœÿœœœÿœœÿœÿÿÿœÿÿÿžžÿÿžžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸžžÿžžžÿžŸžÿžžŸÿžžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸŸŸÿ ŸŸÿŸŸŸÿŸ  ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ¡  ÿ   ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¡ÿ¡¢¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢£¢ÿ¢££ÿ¢££ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ•˜·ÿCkìÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿWõÿ8¢ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ>ÿUôÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿUöÿ$tÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +ÿ7¨ÿSøÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿ=aöÿ±¸òÿææîÿííìÿíííÿíîíÿíîíÿíííÿîííÿîîíÿîíîÿîíîÿîîîÿîîîÿîîîÿïïïÿîîîÿïïîÿïïîÿîîïÿïïïÿïïïÿïïïÿïïïÿðððÿððïÿðïïÿïïðÿððïÿðððÿðððÿðððÿððñÿðñðÿñðñÿðññÿñññÿñðñÿñññÿñññÿòññÿññòÿññòÿòòòÿñòòÿòòòÿòòòÿòòóÿòóòÿòòòÿòòòÿóóóÿòóóÿóóóÿóóóÿôóóÿôóóÿôóóÿôôôÿôôóÿôôôÿóôôÿôôôÿôôôÿôôõÿôõõÿõôõÿõõôÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿöõöÿõõõÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷ööÿ÷ööÿö÷öÿöö÷ÿ÷ööÿ÷ö÷ÿ÷÷÷ÿøø÷ÿøø÷ÿ÷ø÷ÿøøøÿøø÷ÿ÷øøÿø÷øÿøøøÿøøøÿøøøÿøùùÿøùøÿùøùÿøùøÿùùùÿ—˜˜ÿ—˜˜ÿ˜—˜ÿ˜˜˜ÿ˜—˜ÿ˜™˜ÿ™˜˜ÿ˜™˜ÿ˜˜˜ÿ˜˜™ÿ˜™˜ÿ™™™ÿ™™˜ÿ™™™ÿ™ššÿ™š™ÿ™™™ÿ™™šÿš™™ÿšššÿšššÿšššÿšššÿš›šÿš›šÿš›šÿ›››ÿ›››ÿ›››ÿ›››ÿ›œ›ÿœ››ÿ››œÿœ›œÿœ››ÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœœÿÿœÿÿÿžÿžÿžÿžžÿžžÿžÿžžžÿžžžÿŸžžÿžžŸÿžŸŸÿžžŸÿžŸžÿŸŸŸÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ  ÿ ŸŸÿŸŸ ÿ  Ÿÿ   ÿ   ÿ¡  ÿ¡  ÿ   ÿ   ÿ¡¡¡ÿ  ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢££ÿ£¢£ÿ£££ÿ££¢ÿ£££ÿ£££ÿ££¤ÿ££¤ÿ˜›´ÿAjíÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿFÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ%mÿUõÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿVùÿ0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ;³ÿSøÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿU÷ÿ‚‘ôÿßáïÿíííÿíííÿîííÿíîíÿíííÿîíîÿíîíÿíîîÿîîîÿîîîÿïîîÿîïîÿîîîÿîïîÿïîïÿïîïÿïîïÿïïïÿïïïÿðïïÿïðïÿïïðÿïïïÿðïðÿðïðÿðïïÿðððÿðððÿðððÿññðÿðñðÿññðÿðññÿñññÿñññÿñññÿñññÿñòñÿñññÿòñòÿòòòÿññòÿòòòÿòòòÿòòòÿòóòÿòòòÿòóóÿòóóÿóóóÿòóóÿóóóÿóóóÿóóóÿôóóÿóôôÿôóôÿôôôÿôôôÿôôôÿôôõÿôôôÿôôõÿôõõÿôôõÿõôõÿõõõÿõõõÿõõõÿööõÿõõöÿöõõÿöõöÿöööÿöööÿöööÿöööÿöööÿöööÿöö÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷öÿø÷÷ÿ÷÷÷ÿ÷÷øÿø÷÷ÿøøøÿø÷÷ÿøøøÿ÷øøÿøøøÿùøùÿøùøÿùùøÿøùøÿùùøÿùøøÿ——˜ÿ˜—˜ÿ—˜˜ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ˜™™ÿ˜˜™ÿ™™™ÿ™š™ÿ™™™ÿ™ššÿ™™šÿšššÿšššÿš™šÿš™šÿšššÿ›š›ÿšššÿ›š›ÿ›š›ÿšš›ÿ›››ÿ›››ÿ›››ÿœœ›ÿ››œÿœœœÿ›››ÿ›œœÿœœœÿœ›œÿœœœÿœœÿœœœÿœœÿÿÿÿÿÿžÿžÿžÿžÿžžÿžÿžžÿžžžÿžžžÿžŸžÿŸŸžÿžŸžÿžŸŸÿžŸŸÿŸžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ  Ÿÿ   ÿŸŸŸÿ   ÿ   ÿ  ¡ÿ   ÿ   ÿ¡¡¡ÿ¡¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¢¡ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢££ÿ¢££ÿ£¢¢ÿ£££ÿ££¢ÿ£££ÿ™›²ÿKnéÿ\öÿ\öÿ\öÿ\öÿ\öÿ\öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿJÓÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ7¥ÿUöÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿTøÿBÃÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ,ÿDÌÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿWqöÿÊÍðÿëëíÿíííÿíííÿîííÿíîîÿíííÿîíîÿîííÿíîîÿîîîÿîîîÿîîïÿîîîÿïîîÿïîïÿïïïÿïîïÿïïïÿïïïÿïïðÿðïïÿïïïÿïïðÿðïðÿðððÿðððÿðððÿñððÿðñðÿðððÿððñÿððñÿññðÿñññÿñññÿñññÿòññÿñññÿòòñÿñòñÿòòòÿòñòÿòòòÿòòòÿòòóÿòóóÿóòóÿòòòÿóóòÿóóóÿóóóÿóóóÿóóôÿóóôÿôôóÿôóóÿóôóÿôôôÿôôôÿôôôÿôôôÿôõôÿõõõÿõôõÿôõõÿõôôÿõõõÿõõõÿöõõÿõööÿõõõÿõöõÿõõöÿöõöÿõööÿöööÿöööÿöööÿöööÿ÷÷÷ÿö÷öÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿø÷÷ÿ÷ø÷ÿ÷ø÷ÿøøøÿ÷÷øÿøøøÿøùøÿùùùÿøøøÿùøùÿùùøÿùùøÿ—˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜˜˜ÿ™˜™ÿ˜˜™ÿ™˜˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™ššÿšš™ÿ™š™ÿšššÿšššÿšš›ÿšššÿšš›ÿšššÿ›ššÿ››šÿ›š›ÿ›››ÿ›››ÿ›››ÿœ››ÿ›œœÿœ››ÿ›œœÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœœÿœÿœÿÿÿÿžÿžÿžžÿžžÿžžžÿžžžÿžžžÿŸžžÿŸžŸÿžžžÿŸŸŸÿžŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ  ŸÿŸŸ ÿŸ  ÿ   ÿ   ÿ ŸŸÿ   ÿ   ÿ  ¡ÿ   ÿ¡  ÿ ¡¡ÿ¡  ÿ ¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¢ÿ¡¡¡ÿ¡¢¢ÿ¢¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢££ÿ¢¢£ÿ¢¢¢ÿ¢¢¢ÿ¢££ÿ¢¢£ÿ¢££ÿœž­ÿQpçÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿOáÿTÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÐÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿQðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿAÿOíÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿ8^÷ÿ¦®óÿêêíÿíííÿíííÿíííÿííîÿíîîÿîîîÿîîîÿîîîÿîîîÿîîîÿïïîÿïîîÿïïîÿïïïÿïïîÿïïïÿïïïÿïïïÿïðïÿððïÿïïðÿïððÿðïïÿðððÿïððÿðððÿðððÿðððÿðññÿðññÿñññÿðññÿñññÿñññÿñññÿòññÿòññÿòññÿòòòÿñòñÿòòòÿòòòÿòòòÿòòóÿóóòÿòòóÿóóòÿóóóÿóóóÿóóóÿóóóÿóôôÿóôóÿôôóÿôóóÿóóôÿôôôÿôôóÿôôõÿôôôÿôôõÿõôõÿõõôÿõõõÿõôõÿõõõÿõõõÿõõõÿöõõÿõõõÿöõõÿöööÿõööÿöõöÿöööÿöö÷ÿöööÿö÷öÿ÷ööÿ÷÷÷ÿö÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷÷øÿøø÷ÿøø÷ÿ÷ø÷ÿøøøÿøøøÿøøøÿùùøÿøùøÿùùùÿùùùÿ˜——ÿ˜˜—ÿ—˜˜ÿ˜˜—ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ™™™ÿ™˜˜ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™š™ÿš™™ÿš™šÿš™šÿš™šÿšššÿšššÿš›šÿ›š›ÿ›š›ÿš››ÿ››šÿ›š›ÿ›››ÿ›››ÿœ››ÿ›››ÿ›››ÿœ›œÿ›œœÿœœœÿœœœÿœœœÿœœÿœœœÿœœœÿœœÿœœœÿÿÿÿžÿžÿÿžžÿÿžžžÿžžžÿžžžÿžŸžÿŸŸžÿžžžÿžŸžÿžŸŸÿŸžŸÿŸŸžÿŸŸŸÿ ŸŸÿ ŸŸÿŸŸ ÿ Ÿ ÿŸŸŸÿ   ÿŸ  ÿ   ÿ   ÿ   ÿ   ÿ  ¡ÿ¡  ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¡¡¡ÿ¡¡¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢£¢ÿ£¢£ÿ£££ÿ£££ÿœž¬ÿSqæÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿUôÿ*‚ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +(ÿJÙÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿSõÿ&sÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ]ÿSùÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿQ÷ÿ|ŒôÿÛÝïÿíííÿíííÿíîîÿîîîÿîííÿîíîÿîîîÿîîîÿîîîÿîîîÿïïïÿîîîÿîîîÿîîïÿïïïÿïïïÿïïïÿïïïÿïïðÿððïÿððïÿïïïÿïððÿðððÿðððÿðððÿððñÿðððÿñððÿññðÿðññÿñðñÿñðñÿñññÿòñòÿñññÿñññÿñòñÿòòòÿòòòÿòòòÿòòòÿòòóÿòòòÿóòòÿóòóÿóòòÿóóóÿóóóÿóóóÿóôôÿóóôÿóôôÿóôóÿôôôÿôôôÿôôôÿôôôÿôôõÿõôõÿôõõÿôôôÿõõôÿõôõÿõõôÿõõõÿõõöÿõöõÿöõõÿöõõÿõööÿöööÿöõöÿöööÿöööÿöö÷ÿ÷ö÷ÿöö÷ÿöö÷ÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷øÿøø÷ÿø÷÷ÿøø÷ÿ÷÷øÿøø÷ÿøøøÿøøøÿøùùÿøøøÿøùùÿ———ÿ—˜—ÿ˜——ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ˜˜™ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™ššÿš™šÿ™™™ÿšššÿšššÿšššÿšššÿš›šÿ›š›ÿ›››ÿ›ššÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿœ›œÿœ›œÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœÿÿœÿÿÿžÿžžÿÿžÿžÿžžžÿžžžÿžžžÿžžžÿŸžžÿžŸŸÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ  Ÿÿ  ŸÿŸ  ÿ   ÿ   ÿ   ÿ¡¡ ÿ ¡¡ÿ ¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡ ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿž ©ÿ_wàÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿWøÿ8¢ÿ +ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ fÿPçÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿBÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ3žÿRøÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿ]töÿ¿Äñÿíííÿíííÿîííÿîîíÿîííÿîîîÿîíîÿîîîÿîîîÿïîîÿïîîÿîîïÿïïïÿïïïÿïïïÿïîïÿïïïÿïïïÿïððÿïïïÿðïïÿïððÿïððÿðððÿðððÿññðÿðððÿððñÿñññÿñññÿñññÿñññÿñññÿñññÿñññÿòòñÿñññÿòòòÿòòñÿòñòÿòòòÿóóòÿòòóÿòóòÿóóóÿòóóÿóóóÿóóóÿóóóÿóóóÿóóôÿóóôÿôóóÿôóôÿôôóÿôôôÿôôôÿôôôÿôôôÿõôôÿôôôÿôõôÿôõôÿõõõÿõôõÿõõõÿõõõÿõöõÿõööÿööõÿöõöÿöõöÿöööÿöööÿöööÿöö÷ÿöööÿ÷ööÿö÷÷ÿö÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷øøÿøøøÿ÷ø÷ÿ÷ø÷ÿøø÷ÿùøøÿøøøÿøøøÿøøùÿ———ÿ˜——ÿ—˜—ÿ—˜˜ÿ˜——ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ˜™™ÿ˜™˜ÿ™˜™ÿ˜™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™šÿšš™ÿ™™šÿš™šÿ™ššÿšššÿ›ššÿš›šÿš›šÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ›››ÿ›››ÿœ›œÿœ›œÿœ›œÿœ›œÿœœœÿœœœÿœœœÿœœÿœœÿœœÿœÿÿÿÿžÿÿžÿžžÿžžÿžžÿžžžÿžžžÿžžžÿžŸžÿžžžÿŸŸŸÿŸžŸÿŸžŸÿŸŸŸÿŸŸŸÿ Ÿ ÿ Ÿ ÿŸ  ÿŸ  ÿ Ÿ ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ¡ ¡ÿ¡ ¡ÿ¡ ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ  ¨ÿ\vâÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿOäÿ$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/‘ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿKßÿBÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿJáÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿ3\÷ÿŸ¨óÿåæîÿíîíÿíííÿíííÿíîîÿîíîÿîîîÿîîîÿîïîÿîîîÿîïîÿîïîÿïïîÿïïïÿïîïÿïïïÿïðïÿïïïÿðððÿððïÿðïïÿðððÿðððÿïïðÿðððÿððñÿñðñÿðññÿñññÿñññÿñðñÿñññÿñññÿññòÿòññÿñòòÿñòòÿòòòÿñòòÿòòñÿòòòÿòòòÿòòòÿóòóÿóòòÿóóóÿóóóÿóóóÿòóóÿóôóÿóôóÿóóóÿóóóÿôóóÿóôóÿôôôÿôôôÿôôõÿôôôÿõõôÿõõôÿõõôÿõõõÿõõôÿõõõÿõõõÿõõõÿööõÿõõõÿöööÿõööÿöööÿöööÿöööÿöööÿ÷÷öÿöööÿ÷÷÷ÿ÷÷÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿøø÷ÿøø÷ÿø÷øÿ÷÷øÿøø÷ÿ÷øøÿøøøÿøøøÿùøøÿøøøÿ———ÿ———ÿ———ÿ˜—˜ÿ—˜—ÿ———ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ™˜™ÿ˜™˜ÿ™˜™ÿ™˜˜ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿšš™ÿšš™ÿš™šÿšššÿšššÿšš™ÿšššÿš›šÿšššÿ›ššÿš›šÿ››šÿš›šÿšš›ÿ›œ›ÿ›››ÿ›œœÿœ››ÿ›œœÿœœœÿœœ›ÿœœœÿœœœÿœœÿœœÿœœœÿÿÿÿÿÿÿÿžÿÿžžÿžžÿžžžÿžžžÿžžžÿžŸŸÿžžžÿŸžŸÿŸžŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ Ÿ ÿŸ Ÿÿ ŸŸÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ¡¡ ÿ   ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¡¡ÿ¡¢¢ÿ¢¡¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿŸŸ¨ÿg{Üÿ \õÿ[öÿ[öÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿ#iÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<³ÿTøÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿQòÿ,Šÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ^ÿOïÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿ}ŒõÿÓÖïÿíîíÿíîîÿîîíÿíîîÿííîÿîîîÿîîîÿîîîÿîîîÿîîîÿïîîÿîïïÿîïïÿïïïÿïïïÿïïðÿððïÿïðïÿðïïÿðððÿïïïÿðððÿðððÿðððÿññðÿððñÿñðñÿðññÿñññÿññðÿñññÿñññÿñòñÿñññÿñòòÿòñòÿòññÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòóóÿóóóÿóóóÿòóóÿóóóÿóóóÿóóóÿóóôÿôóóÿôôóÿóôôÿôôôÿôôôÿôôôÿôôôÿôôôÿôõôÿõõôÿõôõÿõôõÿõõõÿõõõÿõöõÿöõõÿõõöÿöõöÿõööÿõööÿöööÿöööÿöööÿöö÷ÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿø÷÷ÿø÷øÿ÷øøÿøø÷ÿøøøÿøøøÿøùøÿùùùÿ—–—ÿ———ÿ———ÿ———ÿ——˜ÿ—˜—ÿ˜—˜ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ™˜™ÿ˜™™ÿ˜™™ÿ™˜™ÿ˜™™ÿ™™™ÿ™™™ÿš™™ÿ™™™ÿ™š™ÿ™™šÿš™šÿ™ššÿšššÿšššÿšššÿšššÿ›››ÿšš›ÿ››šÿ››šÿ›››ÿ›››ÿ›œ›ÿ›››ÿ›››ÿœœœÿœœ›ÿœœ›ÿœ›œÿœœœÿœœœÿœœœÿœœÿœÿœÿœÿœœÿÿÿžÿÿžžÿžžÿžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸžžÿŸŸžÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿ ŸŸÿ Ÿ ÿŸŸ ÿŸ Ÿÿ   ÿ   ÿ   ÿ¡  ÿ   ÿ ¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¢ÿ¡¢¡ÿ¢¡¡ÿ¡¡¡ÿ¢¢¢ÿ¡ £ÿj}Ùÿ\õÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿGÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 1ÿPìÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿSøÿBÄÿ!ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8±ÿPõÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿPköÿ»Àñÿëìíÿîííÿíîîÿîííÿîîîÿîîîÿîîîÿîîïÿîîîÿïïîÿîïîÿïïïÿïïîÿïïïÿïïïÿðïïÿðððÿïïïÿððïÿðïðÿïððÿðððÿðððÿñðñÿðñðÿñðñÿðððÿñððÿñððÿñññÿñññÿñññÿñññÿñòñÿòòòÿñññÿòñòÿòòòÿòòòÿòòòÿòòòÿóóóÿóóòÿóòòÿòóòÿóóóÿóòóÿóóóÿôóóÿóóóÿóôóÿóóóÿôôôÿôóôÿôôôÿôôôÿôõôÿõôôÿôõôÿôõôÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõööÿöõöÿöõöÿöööÿöööÿöööÿöööÿöö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿø÷øÿ÷÷÷ÿø÷÷ÿ÷øøÿøøøÿøøøÿøøøÿøøøÿ–—–ÿ———ÿ———ÿ—˜—ÿ———ÿ—˜˜ÿ———ÿ˜˜˜ÿ˜˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™™ÿ™˜˜ÿ™˜˜ÿ˜™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™™šÿšššÿš™™ÿ™ššÿšššÿšššÿšššÿšššÿ›š›ÿ›ššÿšš›ÿ›š›ÿ›››ÿ›››ÿœ››ÿ›œœÿœ›œÿœ››ÿ›››ÿ›œœÿœœœÿœœœÿœœœÿœÿœœœÿÿœÿÿœÿÿÿžÿžÿÿžžÿžžžÿžžžÿžžžÿžžžÿžŸžÿŸžžÿŸžŸÿžŸŸÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ Ÿÿ ŸŸÿ  Ÿÿ  ŸÿŸ  ÿ   ÿ   ÿ  ¡ÿ   ÿ ¡ ÿ ¡ ÿ¡¡ ÿ¡¡¡ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¡ÿ¡¡¢ÿ¢¢¡ÿ Ÿ¦ÿp€Öÿ [õÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿQêÿ!jÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(zÿTøÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿSøÿ\ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿFÕÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿ™£óÿáâîÿîíîÿííîÿîíîÿíîîÿîîîÿîïîÿîîîÿïïîÿîïîÿïïîÿïîîÿïïïÿïïîÿïïïÿïïïÿïïïÿïïðÿððïÿðððÿðïðÿðððÿðððÿðððÿðñðÿðððÿððñÿñðñÿñññÿñññÿñññÿñññÿòññÿñòñÿòññÿñòòÿòñòÿòòòÿòòòÿòòòÿóòòÿòòóÿóóòÿóóòÿòóóÿóóòÿóóóÿóóóÿóóóÿóóóÿóóôÿôóóÿôóóÿôôôÿôôóÿôôôÿôôôÿôôõÿôôôÿõôôÿõôõÿõõôÿõõõÿõõõÿõõõÿöõõÿõõõÿöõöÿööõÿõõöÿöööÿöööÿöööÿöööÿ÷ööÿöö÷ÿ÷ö÷ÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷øøÿ÷øøÿøøøÿøø÷ÿøøøÿ–—–ÿ———ÿ—–—ÿ———ÿ——˜ÿ—˜—ÿ—˜—ÿ˜——ÿ˜˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ™™™ÿ™˜˜ÿ˜˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™™šÿ™™™ÿ™™šÿ™™šÿš™šÿ™™šÿšššÿšššÿšššÿšššÿ›ššÿšš›ÿš›šÿšš›ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›œœÿœœ›ÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœÿÿÿÿÿžžÿžžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸžžÿžžŸÿŸžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸ Ÿÿ Ÿ ÿŸŸŸÿ  ŸÿŸ  ÿŸ  ÿ  Ÿÿ  Ÿÿ   ÿ   ÿ¡¡ ÿ ¡ ÿ¡  ÿ ¡¡ÿ ¡ ÿ¡ ¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¢ÿ¡¢¢ÿ¡¡£ÿv„Òÿ]ôÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿ;°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHÕÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿCÌÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ&zÿQöÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿoõÿÏÒðÿíîíÿîîîÿîîîÿíîíÿîîîÿîïîÿïîîÿïîïÿïïïÿîîïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿðððÿðððÿðððÿðððÿðððÿñððÿññðÿðððÿððñÿðññÿññðÿñññÿñññÿñòñÿññòÿñòòÿòòòÿòòòÿòòñÿòòòÿòòóÿòòóÿòòòÿòóòÿóòóÿóóòÿóóóÿóóóÿóóóÿôóóÿôóôÿóóôÿóóóÿóôôÿôôôÿôôôÿôôôÿôôôÿõôõÿôõõÿõõõÿôõôÿõõõÿõõõÿõõöÿöõõÿõööÿõöõÿõõöÿõõöÿööõÿöööÿöööÿöööÿ÷ööÿ÷÷öÿöö÷ÿ÷÷öÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿ÷ø÷ÿøø÷ÿ÷÷øÿ÷ø÷ÿ÷÷øÿøøøÿøøøÿ—––ÿ–—–ÿ——–ÿ———ÿ———ÿ———ÿ˜—˜ÿ—˜˜ÿ—˜˜ÿ—˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ˜™˜ÿ™™˜ÿ™™˜ÿ™˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿšššÿ™™šÿš™™ÿš™šÿšššÿšššÿšššÿ›ššÿ›ššÿ›››ÿ›ššÿ›››ÿ›››ÿ›š›ÿœ››ÿ›››ÿ›œ›ÿœœ›ÿœ›œÿœ›œÿœ›œÿ›œœÿœœœÿœœœÿœœÿœÿœœÿœÿœÿÿÿžÿžžÿÿžÿžÿžÿžžžÿžžžÿžžŸÿžžžÿŸŸŸÿŸžŸÿŸŸŸÿžŸŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿ Ÿ ÿ  Ÿÿ  Ÿÿ   ÿ   ÿ  ¡ÿ ¡ ÿ   ÿ ¡ ÿ¡¡¡ÿ   ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ  £ÿ|‡Ìÿ [õÿZöÿZöÿZöÿZöÿZöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿRïÿXÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿdÿOëÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿOîÿ&{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHÜÿQøÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ6[÷ÿ³¹òÿèèïÿíîíÿîíîÿîîîÿîîîÿîîîÿîîîÿïïîÿîîîÿîîïÿïïïÿïïïÿïïïÿïïïÿðïðÿïïðÿïðïÿïððÿïððÿðððÿðððÿñððÿðñðÿññðÿññðÿñññÿñððÿñññÿñññÿñòñÿñññÿñòñÿòññÿòòòÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿòóòÿóóóÿóóóÿòòóÿóòóÿóóóÿôóóÿóóóÿôôóÿóôóÿôôóÿôôôÿôôóÿôôôÿõôõÿôõõÿôôõÿôôõÿõõôÿôõõÿõõõÿõõõÿõõõÿõõõÿöõõÿõöõÿõöõÿöööÿöööÿöööÿöööÿöööÿöö÷ÿ÷÷÷ÿöööÿöööÿ÷÷öÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿøø÷ÿ÷ø÷ÿ÷ø÷ÿø÷÷ÿøøøÿ———ÿ–––ÿ———ÿ———ÿ———ÿ˜˜—ÿ———ÿ—˜˜ÿ———ÿ˜—˜ÿ˜˜—ÿ˜˜˜ÿ˜—˜ÿ˜˜˜ÿ™˜˜ÿ™™™ÿ˜˜˜ÿ˜™™ÿ™™˜ÿ˜™˜ÿ™™™ÿ™™šÿš™™ÿ™™™ÿš™™ÿ™š™ÿ™ššÿšš™ÿšššÿšššÿš›šÿšššÿšššÿš››ÿ›››ÿš››ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ›œÿœœœÿ›œœÿ››œÿœœœÿœœœÿœœÿœœœÿœœÿœÿÿÿÿžÿÿÿÿžžÿžžÿžžÿžžžÿžžŸÿžžžÿžžŸÿžžŸÿŸžŸÿžŸžÿžŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ  Ÿÿ  Ÿÿ   ÿ  Ÿÿ   ÿ   ÿ  ¡ÿ ¡¡ÿ¡ ¡ÿ¡  ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ  ¢ÿ‰Éÿ]ôÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿYöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿUøÿDÉÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ;²ÿSöÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿCËÿ /ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ2ÿPöÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿQ÷ÿ’œôÿÛÞðÿîîîÿîîîÿîîîÿîîîÿïîîÿïîîÿîîîÿîîïÿïîîÿïîïÿïïîÿïïïÿðïïÿïïïÿïïïÿððïÿïïðÿððïÿðððÿðððÿðððÿðððÿððñÿñðñÿððñÿñððÿñññÿñññÿñññÿññòÿññòÿññòÿñòòÿòòñÿòòñÿòñòÿòòòÿòòóÿòòòÿóóóÿóóòÿòóóÿóóòÿóóóÿóóóÿóóóÿóóóÿôóôÿôôôÿôôôÿôôôÿôôóÿôôôÿõôôÿõõõÿôôõÿõõõÿõõõÿõôõÿõôõÿõõõÿöõõÿõõöÿöõõÿöõõÿööõÿöööÿööõÿöööÿöööÿöööÿöö÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷øÿ÷÷øÿ÷øøÿø÷÷ÿø÷øÿ÷øøÿ–—–ÿ—––ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ—˜—ÿ———ÿ——˜ÿ˜˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ˜˜™ÿ˜™™ÿ™™™ÿ™˜˜ÿ™™˜ÿ™™™ÿš™šÿ™š™ÿ™™šÿšš™ÿšššÿšššÿšš™ÿšš™ÿšššÿš›šÿšššÿ›š›ÿ›››ÿšš›ÿšš›ÿ›››ÿœœ›ÿ›››ÿ›››ÿ›››ÿœœ›ÿ››œÿœ›œÿœœœÿœœœÿœœœÿœÿœœÿœœÿÿœœÿÿÿžÿžÿžžÿÿžÿžžÿžžžÿžžžÿžžžÿžžŸÿžŸŸÿŸžŸÿŸžŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸ Ÿÿ   ÿ  ŸÿŸ  ÿ   ÿ   ÿ ¡¡ÿ  ¡ÿ¡¡¡ÿ¡ ¡ÿ  ¡ÿ ¡¡ÿ„Äÿ]óÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿRòÿ.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿPÿNêÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿRöÿ*‚ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿZÿIáÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ N÷ÿ^töÿÌÏðÿìëîÿîîîÿîîîÿîîîÿîîîÿïîîÿîîïÿïîïÿïïïÿïïîÿïïïÿïïïÿïïïÿïðïÿïïïÿððïÿðððÿðððÿðððÿðððÿðððÿðððÿñññÿñññÿðñðÿññðÿñññÿñññÿñññÿòòñÿñññÿòòñÿòñòÿòòñÿòòòÿòòòÿóòòÿóòóÿóòòÿóòòÿóóóÿóóòÿóóóÿóóóÿóóóÿóóóÿôóóÿôôóÿóôôÿôôôÿóóôÿôôôÿôôôÿôõôÿõôôÿõôôÿõõôÿõõôÿõõõÿõõõÿõõöÿõöõÿöõõÿõööÿõõõÿööõÿöööÿõööÿöööÿöööÿöööÿ÷÷öÿ÷ö÷ÿö÷÷ÿ÷÷öÿ÷÷öÿ÷÷÷ÿ÷÷øÿø÷øÿøø÷ÿ÷÷øÿø÷øÿøøøÿ–—–ÿ—––ÿ–——ÿ—–—ÿ——–ÿ——–ÿ———ÿ———ÿ˜˜—ÿ˜——ÿ———ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ™˜˜ÿ˜™™ÿ™˜™ÿ˜™˜ÿ™™™ÿ™™™ÿ™™šÿšš™ÿ™™™ÿ™™™ÿšš™ÿšššÿšššÿšššÿšššÿš›šÿšš›ÿšš›ÿ›š›ÿš››ÿš››ÿ›››ÿ›››ÿœ››ÿ›››ÿ›œœÿ››œÿ››œÿœœœÿ›œœÿœœœÿœœœÿœœœÿœœÿœÿœÿÿÿÿÿžžÿÿžÿžžžÿžžžÿžžžÿžžžÿžžžÿžŸžÿŸžŸÿžŸŸÿžžŸÿžŸžÿŸŸŸÿŸŸŸÿŸ Ÿÿ ŸŸÿ ŸŸÿŸ Ÿÿ   ÿ Ÿ ÿ   ÿ   ÿ   ÿ   ÿ¡¡¡ÿ   ÿ ¡¡ÿ ¡¢ÿ…ŽÃÿ]ôÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿKÞÿNÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ9®ÿSøÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿMëÿPÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ=½ÿPøÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ-X÷ÿ°·òÿææîÿîîîÿîîîÿïîïÿîîïÿïîîÿîîïÿïïîÿîïïÿïîïÿïïïÿïïïÿïððÿïïïÿïïïÿïïïÿïððÿðððÿðððÿðððÿðððÿññðÿðððÿðññÿñññÿñññÿñññÿòññÿñòñÿòññÿòòñÿññòÿòñòÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿòóòÿóòóÿóóóÿòòóÿóóóÿóóôÿôóóÿôóôÿôóôÿôôôÿôôôÿôôóÿôôôÿôôôÿõôôÿôõôÿõõôÿôôôÿõôõÿõôõÿôõõÿõõõÿõõõÿõööÿõõõÿööõÿõõõÿöööÿöööÿöööÿöö÷ÿöööÿ÷÷öÿ÷ö÷ÿ÷÷÷ÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷ø÷ÿøø÷ÿøøøÿ÷÷øÿ–—–ÿ–––ÿ—–—ÿ—––ÿ–—–ÿ–——ÿ———ÿ———ÿ———ÿ˜˜—ÿ———ÿ——˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™™™ÿ˜™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™š™ÿš™™ÿšš™ÿšššÿšššÿšššÿšššÿšš›ÿšššÿ›››ÿš››ÿš››ÿ›››ÿ›››ÿ›œœÿœœ›ÿ›œ›ÿœœœÿ›œœÿœœœÿœœœÿœœœÿœœÿœœÿœœÿÿœÿœÿÿÿžÿÿžžÿžÿžžÿžžÿžžžÿžžžÿžžžÿŸŸžÿŸŸžÿžžŸÿŸŸžÿžžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ Ÿÿ ŸŸÿ  ŸÿŸ Ÿÿ   ÿ  Ÿÿ   ÿ   ÿ   ÿ¡¡¡ÿ ¡¡ÿ‹’½ÿ0aðÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿTøÿBÆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ hÿOïÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQöÿ@Åÿ(ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ3£ÿOõÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿQ÷ÿõÿÞßïÿîîîÿîîîÿïîîÿîîïÿîïîÿïïîÿïïïÿïïîÿïïïÿïïïÿïïïÿïïïÿðððÿïðïÿïïïÿðïïÿðïðÿðððÿðððÿðñðÿððñÿððñÿðñðÿðñðÿðññÿñññÿññòÿñññÿòòòÿòññÿñòñÿññòÿòòòÿòòòÿòòòÿóóòÿóóóÿòóòÿóòòÿóóòÿóòóÿóóóÿóóóÿóóóÿóôóÿóóôÿóóôÿóôôÿôôôÿôôôÿôôôÿôôõÿôôôÿôôôÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿöööÿõõöÿöõõÿöõöÿööõÿöööÿöööÿöööÿöööÿöööÿ÷ö÷ÿ÷÷öÿ÷ö÷ÿö÷÷ÿ÷÷÷ÿ÷÷÷ÿø÷÷ÿ÷÷÷ÿ÷ø÷ÿø÷øÿ–––ÿ––—ÿ–——ÿ––—ÿ———ÿ——–ÿ———ÿ———ÿ˜——ÿ———ÿ˜——ÿ—˜˜ÿ˜——ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜™˜ÿ™˜˜ÿ™˜˜ÿ™˜™ÿ˜˜™ÿ™™˜ÿ™™™ÿ™™™ÿšššÿ™™šÿšššÿš™™ÿšš™ÿšššÿš›šÿšššÿ›š›ÿš›šÿ›š›ÿš›šÿ›››ÿš››ÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›››ÿœœœÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœœÿœÿœœÿÿÿÿÿžÿžžÿžžÿžžÿžžžÿžžÿžžžÿžžžÿžŸžÿŸžŸÿžžžÿŸžžÿžžŸÿŸŸžÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿ  ŸÿŸŸ ÿŸŸ ÿ   ÿ   ÿ¡  ÿ   ÿ”ºÿ*`òÿYöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿXöÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿRõÿ6¤ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +.ÿDÎÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQöÿ2ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ'ÿLíÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKgöÿÇËñÿëëîÿîîîÿîîîÿîîïÿïîîÿïïïÿïîîÿïïïÿïïïÿïïïÿïïïÿïïðÿðïðÿðïïÿðïïÿðððÿðððÿðððÿðððÿðññÿñññÿðññÿñððÿñññÿñññÿñññÿñññÿñññÿñññÿññòÿññòÿòòòÿññòÿòòòÿòòóÿóóòÿòóóÿòòòÿòòóÿóòóÿóòóÿóóóÿóóóÿóóôÿôóôÿóóóÿóôóÿôôôÿôóóÿôôôÿôôôÿôõôÿôôôÿôõôÿôôôÿõôõÿôõõÿõõõÿõõõÿõõöÿõöõÿõõõÿöõöÿõõöÿöööÿöööÿöööÿöööÿöö÷ÿ÷ö÷ÿ÷ööÿ÷÷÷ÿ÷ö÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷øøÿ÷øøÿ–—–ÿ–––ÿ——–ÿ–––ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ——˜ÿ———ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ˜˜™ÿ™™™ÿ™˜˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿ™š™ÿ™™šÿ™ššÿšš™ÿšššÿšššÿ›š›ÿ›š›ÿšššÿšš›ÿšš›ÿ››šÿ›››ÿ›œ›ÿ››œÿœœ›ÿœœœÿœœ›ÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿÿœÿœœÿÿÿžÿžÿžžžÿžžÿžÿžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸŸŸÿžŸžÿŸŸžÿŸžŸÿŸŸŸÿŸŸŸÿŸŸ ÿŸŸŸÿ ŸŸÿ Ÿ ÿ   ÿŸ  ÿ   ÿ   ÿŽ”¸ÿ:dïÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿX÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿQðÿ,ˆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0”ÿQóÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿNðÿ+ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ kÿJæÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ1Y÷ÿ ©óÿçèïÿîîïÿïîïÿïîîÿîîîÿîïïÿïîïÿïîïÿïïïÿïïïÿðððÿðïïÿðððÿðððÿðððÿðððÿðððÿðððÿðððÿñððÿðññÿñðñÿñññÿññðÿñññÿñññÿñññÿñññÿñññÿòòòÿñññÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿòòòÿóóòÿóóóÿóóóÿóóóÿóóóÿôôóÿóóóÿóôóÿóôôÿôóôÿóóôÿôôôÿôôôÿôôõÿôõõÿôôõÿõõôÿôôõÿõõôÿõõõÿõõõÿõõõÿöõöÿõõöÿöõõÿöõöÿöööÿöööÿöööÿöööÿöööÿö÷öÿ÷ööÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿ––—ÿ–––ÿ–—–ÿ–––ÿ——–ÿ———ÿ——–ÿ—–—ÿ—–—ÿ———ÿ——˜ÿ———ÿ—˜—ÿ—˜˜ÿ˜˜—ÿ˜˜—ÿ˜˜—ÿ˜˜˜ÿ˜˜™ÿ™˜™ÿ˜˜˜ÿ˜™˜ÿ™˜˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿš™šÿ™™šÿšššÿ™š™ÿ™ššÿšššÿšššÿš›šÿ›››ÿ›š›ÿ›››ÿ›ššÿš››ÿ›››ÿ›››ÿœœ›ÿœ››ÿœ››ÿ›œ›ÿ›œœÿœ››ÿ›œœÿœœœÿœœœÿœœœÿœœÿÿœÿœœÿÿÿÿÿžžÿžÿžÿžžžÿžžÿžžžÿžžžÿžžŸÿžžžÿžžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ Ÿ ÿ Ÿ ÿ  Ÿÿ  Ÿÿ”˜±ÿÀÿPõÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿNóÿ5¨ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿcÿBÒÿMõÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿGeöÿ°¶óÿííîÿïîïÿîïïÿîïïÿïïïÿïïïÿïïïÿðïïÿïðïÿïïïÿïððÿðïðÿðððÿðððÿðððÿðððÿñððÿññðÿññðÿññðÿñðñÿñññÿñññÿñññÿñòñÿññòÿñòòÿòòòÿññòÿòòòÿòòòÿòòòÿòóòÿóóóÿòòòÿóóóÿóóóÿóóóÿóóóÿóôôÿôôôÿóôôÿóôôÿôôóÿôôóÿóôôÿôôôÿõõôÿõôõÿôõôÿôõõÿõõõÿõôõÿôõõÿõõõÿõöõÿõõõÿõööÿõõöÿõööÿöööÿöööÿöööÿöööÿö÷öÿöö÷ÿö÷÷ÿö÷öÿ÷÷öÿ÷ö÷ÿ÷÷÷ÿ––—ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ––—ÿ–—–ÿ–—–ÿ———ÿ———ÿ———ÿ———ÿ——˜ÿ———ÿ——˜ÿ——˜ÿ˜˜—ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™˜™ÿ˜™™ÿ™™˜ÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™ššÿš™šÿš™™ÿ™ššÿ™™™ÿšššÿšššÿšššÿ››šÿ›š›ÿ›š›ÿ›››ÿ››šÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿœœ›ÿœœœÿœœœÿœœœÿœœÿœœœÿœœÿœœœÿœÿÿÿÿžžÿžžÿžÿžžÿžžÿžžžÿžžžÿžžžÿŸžŸÿžžŸÿžžžÿžžžÿŸžžÿŸŸŸÿš›¨ÿ\sáÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQöÿFÓÿZÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿPÿAÈÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿNôÿ4¥ÿ'ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿVÿ8µÿMóÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ N÷ÿŒ—ôÿàáïÿîïîÿïïïÿïîîÿïïïÿïïïÿðïïÿïïïÿïïïÿðððÿððïÿððïÿðððÿðððÿðððÿñððÿððñÿñððÿñññÿððñÿñññÿñññÿñññÿñññÿòòòÿñòòÿòñòÿòòñÿòòòÿòòòÿòòòÿóóòÿòòòÿòóóÿóòóÿòóóÿóóóÿóóóÿóóóÿôóóÿóôóÿóóóÿôôôÿôóôÿôôôÿôôôÿôôôÿôôôÿõôôÿôõôÿõôõÿõõõÿôõõÿõõõÿõõõÿöõõÿõöõÿööõÿöööÿõõöÿõööÿõööÿöööÿöö÷ÿ÷ööÿöööÿöö÷ÿö÷÷ÿ÷ö÷ÿ÷÷÷ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ––—ÿ—––ÿ–—–ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜˜˜ÿ˜—˜ÿ˜—˜ÿ˜˜˜ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜™˜ÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™™šÿšššÿšš™ÿ™ššÿšššÿšššÿšššÿšššÿšššÿšššÿšš›ÿ›››ÿ››šÿ›››ÿœ››ÿœ››ÿ›œœÿœ›œÿœœ›ÿœœ›ÿœœœÿœœœÿœœœÿœœÿœœÿœœÿœœœÿÿœÿÿÿÿžÿžÿžÿžžÿžžžÿžžžÿžžžÿŸžŸÿžžŸÿŸŸžÿžžŸÿšš¨ÿ^ußÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿW÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQøÿKãÿ0šÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ jÿGÝÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿNòÿ9¶ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBÿ7³ÿGáÿOùÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿk~õÿÐÓñÿîîïÿïîïÿïïîÿïïïÿïïðÿïïðÿïðïÿïïïÿðððÿïïðÿðððÿðððÿðððÿððñÿðððÿðññÿñðñÿðððÿñððÿñññÿñññÿñññÿòñòÿññòÿññòÿòòòÿñòòÿòòòÿòòòÿòòòÿòóóÿóòóÿòóòÿóóóÿóòòÿóòòÿóóóÿôóóÿóóóÿóôôÿóóôÿóôôÿôôôÿôôôÿôôôÿôõôÿôôôÿôôõÿõõõÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿöõõÿööõÿõõõÿõöõÿöööÿöööÿö÷öÿöööÿö÷öÿö÷öÿ÷÷öÿ÷ö÷ÿ÷÷öÿ———ÿ–––ÿ—–—ÿ–––ÿ——–ÿ——–ÿ–—–ÿ———ÿ—––ÿ——–ÿ—––ÿ—–—ÿ–——ÿ———ÿ———ÿ˜——ÿ———ÿ˜˜—ÿ———ÿ˜—˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™˜™ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™šÿ™™™ÿ™š™ÿ™š™ÿš™šÿ™š™ÿšššÿ›ššÿšš›ÿ››šÿšš›ÿš››ÿ›››ÿ›š›ÿ›››ÿ›››ÿ›››ÿ››œÿœœœÿ›œœÿ››œÿœ›œÿœœœÿœœœÿœœœÿœœÿœÿÿÿÿÿÿÿžÿžžÿžÿžžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžžÿ›œ¥ÿhzÙÿ WöÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿPóÿ@ÅÿUÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ,ÿ1œÿNñÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿMõÿAÒÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿDÿ0›ÿKíÿMöÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJföÿÔÖðÿïïïÿïïïÿîïïÿïïïÿïïïÿïðïÿïïïÿïïðÿïððÿðððÿðððÿðððÿðððÿðððÿññðÿððñÿðññÿñññÿñññÿñññÿñññÿòññÿòñòÿòòñÿññòÿòòòÿññòÿòñòÿòòòÿòòóÿòóòÿòòòÿòóòÿóóóÿóóòÿóóóÿóóóÿóóóÿóóóÿóóóÿôóôÿóôóÿôôóÿôôôÿôôôÿôôôÿôõôÿõõõÿôôõÿõôõÿõõôÿõõôÿõõõÿõõõÿöõõÿöõõÿöõöÿöööÿööõÿöööÿöööÿöööÿöööÿö÷öÿö÷öÿöö÷ÿöö÷ÿ———ÿ–––ÿ–—–ÿ–––ÿ—–—ÿ———ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ———ÿ–——ÿ——–ÿ—–—ÿ———ÿ—˜˜ÿ——˜ÿ˜˜—ÿ—˜—ÿ˜˜˜ÿ—˜—ÿ˜˜—ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™™™ÿ˜™˜ÿ˜™™ÿ˜™™ÿ™™˜ÿ™™™ÿ™™šÿšššÿ™™™ÿ™ššÿšššÿš™šÿšššÿšššÿš›šÿ›ššÿšš›ÿš››ÿ›››ÿ›š›ÿ››šÿš››ÿœ››ÿ›››ÿ›œ›ÿ›œ›ÿ›œœÿœœœÿœœœÿœœœÿœœœÿœœœÿÿœÿœÿÿœÿÿÿÿÿžžÿžžžÿžžÿžžžÿžÿžžžÿžžžÿ›œ£ÿj{ØÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQøÿMêÿ4¤ÿAÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ nÿAÌÿPöÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿNøÿFÝÿ-–ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿkÿ6²ÿHåÿMøÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿx‡õÿææðÿîîïÿïïîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïððÿðïïÿðððÿðððÿñðñÿññðÿðððÿðññÿðññÿñðñÿðññÿñññÿñññÿñññÿññòÿñññÿññòÿòñòÿòòòÿòòòÿòòòÿóòòÿòóòÿóóòÿóóòÿóóòÿóóòÿóóóÿóóóÿóóóÿóóóÿôôóÿóóôÿôôôÿôôóÿôôóÿôôôÿôôôÿôôôÿõõôÿôõõÿõôôÿõõõÿõõõÿõõõÿõõõÿõõöÿõõõÿõõöÿööõÿöõõÿöööÿöööÿöööÿ÷ööÿöööÿö÷÷ÿ÷ö÷ÿ–––ÿ–––ÿ–––ÿ—–—ÿ––—ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–—–ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜—˜ÿ—˜˜ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ˜˜™ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™ššÿ™™™ÿš™™ÿš™™ÿ™ššÿšššÿšššÿšššÿšššÿš›šÿ›ššÿ›ššÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ››œÿœ››ÿœœ›ÿ›œœÿœ››ÿœœœÿœœœÿœœÿœÿœœœÿœÿœÿÿÿÿÿžžÿžÿžžžÿžžÿžžžÿžžžÿ›¢ÿm}ÖÿXöÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿUöÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿOõÿJæÿ-ÿ#ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿIÿ>ÁÿLëÿPøÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿLòÿ@ÍÿZÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +-ÿ%|ÿBÔÿIìÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ¿Äòÿîïïÿïïïÿïîïÿïïïÿïïïÿïïïÿðïðÿïïïÿððïÿðððÿððïÿðððÿðððÿðððÿññðÿðððÿññðÿñðñÿñññÿñññÿñññÿñññÿòññÿññòÿñññÿòñòÿòòòÿòòòÿòòòÿòòòÿóòòÿòòòÿòòòÿóòóÿóóóÿóóóÿóóóÿóóôÿôóóÿôóóÿôóóÿôóóÿóóôÿôôôÿôôôÿôôôÿõôôÿôôôÿõôôÿôôõÿõôôÿõõõÿõõõÿõõõÿõõõÿöõöÿõöõÿõõöÿõõöÿöööÿöööÿöööÿöööÿöööÿ÷ööÿö÷÷ÿ–––ÿ—––ÿ—–—ÿ—––ÿ––—ÿ—–—ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–—–ÿ——–ÿ—–—ÿ——–ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜—˜ÿ——˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ™˜˜ÿ™˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿšššÿšš™ÿš™šÿ™™šÿšššÿšššÿ›ššÿšššÿ›ššÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿ›››ÿœœœÿ›œœÿœœœÿœœœÿœœœÿœœÿœœœÿœÿÿœÿÿÿÿÿžÿžžÿžÿžžžÿœ¡ÿv‚Ïÿ WöÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿRòÿJãÿ>ËÿJáÿQðÿTøÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿGÛÿ.”ÿUÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿkÿ6«ÿMðÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿNöÿ:»ÿ$ÿ 8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿMÿ&ƒÿ5­ÿIéÿMøÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿLøÿLøÿKöÿKôÿJòÿIðÿIðÿIðÿIðÿIðÿJòÿKõÿL÷ÿLøÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿq‚õÿîíîÿîîîÿïïïÿïïïÿïïïÿïïïÿïðïÿïððÿïïïÿïðïÿðððÿðððÿðððÿðððÿðñðÿñññÿñððÿñððÿñññÿññðÿñññÿñññÿñññÿòòñÿñòñÿñòòÿñòñÿòñòÿòòòÿòòòÿòóòÿóòòÿòòóÿóóóÿóóóÿòóòÿóóóÿóóóÿóóóÿôôóÿôóóÿôóôÿóôôÿóôôÿôôóÿôôôÿôôôÿôôõÿôôôÿõôõÿôôôÿõõõÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõööÿööõÿõööÿöööÿöööÿöööÿöööÿ÷ö÷ÿ––—ÿ–—–ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–——ÿ–––ÿ—–—ÿ——–ÿ–––ÿ–––ÿ—––ÿ––—ÿ–——ÿ———ÿ———ÿ———ÿ˜——ÿ——˜ÿ—˜˜ÿ˜—˜ÿ——˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™™ÿ™˜™ÿ™˜™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™š™ÿ™™™ÿšš™ÿš™šÿšššÿšššÿšššÿšš›ÿ›››ÿš››ÿš›šÿ››šÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ››œÿ›œœÿœ››ÿœœœÿœœœÿœœœÿœœÿœœÿœœÿÿœÿÿÿÿÿžžÿžÿžÿ ÿt€ÐÿYõÿV÷ÿV÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿSõÿFÛÿ6»ÿ,¨ÿ+¤ÿ,§ÿ5¹ÿBÓÿQñÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿIâÿ9´ÿCÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ )ÿ,ÿBÏÿJéÿOøÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿMøÿKñÿDÚÿ:¿ÿ$xÿ (ÿÿÿÿÿÿÿÿÿÿÿÿ ,ÿ jÿ5¯ÿAÒÿEßÿLóÿMøÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKôÿGêÿCßÿ>Ôÿ:Éÿ7Äÿ6Àÿ5½ÿ3ºÿ3¸ÿ3¸ÿ3¸ÿ3¸ÿ3¸ÿ4»ÿ6¾ÿ8Ãÿ:Éÿ=ÐÿAÛÿEèÿKóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿR÷ÿßáïÿîîîÿîïîÿïïîÿïïîÿïïïÿïïðÿïïïÿðïïÿïððÿïïðÿðððÿðïðÿðððÿñððÿðððÿñðñÿððñÿñññÿðððÿñññÿñññÿñññÿñññÿñòòÿñòòÿòòòÿññòÿñòòÿòòòÿòòòÿòòóÿòòòÿòòòÿóóòÿóóòÿóóóÿóóóÿóóóÿóóóÿóóôÿóôóÿôóóÿôôôÿôôôÿôôôÿôôôÿôôôÿõôôÿôõôÿõõõÿôôõÿôõõÿõõõÿõõõÿõõöÿõõöÿöõöÿõööÿõööÿöööÿööõÿöööÿöööÿö÷öÿöö÷ÿ––—ÿ–––ÿ—––ÿ–—–ÿ––—ÿ––—ÿ———ÿ–––ÿ––—ÿ–—–ÿ––—ÿ–––ÿ––—ÿ—––ÿ—–—ÿ——–ÿ———ÿ———ÿ——˜ÿ˜——ÿ˜˜—ÿ—˜˜ÿ———ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜™ÿ˜˜™ÿ˜˜™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿ™ššÿšš™ÿš™šÿšš™ÿšš™ÿšššÿšššÿ›ššÿšššÿ››šÿš›šÿš››ÿ›››ÿ›››ÿ›››ÿ›œ›ÿ››œÿœœœÿœ›œÿœ›œÿœœœÿœœœÿœœœÿœÿœœÿœœÿœÿœÿÿÿžÿžžÿžÿœ ÿ}‡ÇÿYôÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿSõÿLæÿ5¹ÿ,§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¦ÿ.«ÿ>ËÿNêÿRóÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿOöÿNòÿ?Åÿ%xÿJÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +ÿ 6ÿ^ÿ%{ÿ=¿ÿMñÿNõÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿMöÿLôÿLôÿHçÿ:½ÿ2£ÿ,ÿ*ˆÿ*ˆÿ*‹ÿ.–ÿ4©ÿ>ÈÿJìÿLôÿLôÿMöÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿEåÿ5¼ÿ-©ÿ,¨ÿ,§ÿ+¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ,§ÿ,§ÿ,¨ÿ1µÿ:ËÿDáÿHîÿJòÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿO÷ÿÉÍñÿïîîÿîïîÿîïïÿïïîÿïïïÿïðïÿïïïÿðïïÿïïðÿðïïÿðððÿððïÿðððÿðððÿðññÿðððÿñððÿñðñÿññðÿñññÿñññÿñññÿñññÿñòñÿñòñÿòññÿòòòÿòñòÿñòòÿòòòÿòóòÿòòòÿòòòÿòòòÿòóòÿòóóÿóóóÿóóóÿóóóÿóôóÿóóôÿóóôÿóôôÿóôôÿôôóÿôôôÿôôôÿôôôÿôôõÿôõõÿõôôÿõôõÿôõõÿõõôÿõõõÿõõõÿõõõÿõöõÿööõÿöõõÿõööÿöööÿöööÿöööÿöööÿ—––ÿ—–—ÿ––—ÿ—––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–—–ÿ—––ÿ——–ÿ——–ÿ——–ÿ——–ÿ–——ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜˜˜ÿ———ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿš™šÿ™ššÿ™ššÿšš™ÿš™šÿ™š™ÿšššÿšš›ÿ›ššÿšš›ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœœÿ›œœÿœ›œÿœœœÿœœ›ÿœœœÿœœœÿœœœÿœœÿœÿÿœÿÿÿÿžÿ|†Èÿ ZôÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿTøÿNëÿ=Èÿ,¨ÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ*¤ÿ-©ÿ:ÁÿFÚÿQñÿTøÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿOøÿO÷ÿFÝÿ<Àÿ-”ÿ;ÿÿÿÿÿÿÿÿÿCÿ#tÿ3¥ÿ<¾ÿBÏÿLíÿPùÿOøÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿMøÿNùÿNùÿNùÿNùÿMùÿMùÿMøÿMøÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿDäÿ,§ÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ*¤ÿ-ªÿ4»ÿ;ÎÿCßÿJñÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿO÷ÿ»Àòÿîîîÿîîïÿîïîÿïîïÿïïïÿïïïÿïïïÿðïïÿðïðÿðïïÿðððÿðððÿðïðÿïðïÿðððÿðððÿðððÿññðÿññðÿñññÿñññÿñññÿñññÿñòñÿñòñÿòòòÿòñòÿòñòÿòòòÿòòòÿòòòÿòòóÿòòòÿòòòÿòòóÿòòóÿòóóÿòóóÿóóóÿóóóÿóóóÿóóôÿôôóÿóóôÿôóóÿóôóÿôôôÿôôôÿôôôÿõõôÿôõõÿõõôÿôôôÿõõõÿõõõÿõõõÿõõõÿõõöÿõööÿöõõÿöõöÿöööÿõööÿöööÿö÷öÿ—––ÿ––—ÿ–——ÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ–——ÿ–—–ÿ––—ÿ–––ÿ—––ÿ—–—ÿ—–—ÿ—–—ÿ——–ÿ–——ÿ–——ÿ———ÿ———ÿ——˜ÿ—˜—ÿ˜˜˜ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ˜˜˜ÿ™™™ÿ™™˜ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿšššÿšš™ÿšš™ÿšš™ÿšššÿ›ššÿ›š›ÿšššÿš››ÿ›››ÿš››ÿ›››ÿ›œ›ÿ›››ÿ›››ÿ››œÿ›œœÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœœœÿœœÿœÿœÿÿœžÿ‰Äÿ(\óÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿRôÿCÓÿ/­ÿ+¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¨ÿ0°ÿ@ÏÿOïÿRõÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿNóÿLíÿGàÿ2 ÿ&xÿ-Žÿ6©ÿ?ÅÿHáÿKìÿLíÿMðÿNôÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ9Èÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ-©ÿ/°ÿ:ÉÿGëÿKõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ N÷ÿ¹½òÿîîïÿîïîÿîïïÿîïîÿîîîÿïïïÿîïïÿïïïÿïïïÿðïïÿïððÿðïðÿðïðÿïïðÿïðïÿðððÿñðñÿñððÿðñðÿðððÿñððÿñññÿñðñÿñññÿñññÿòññÿññòÿòòòÿòññÿòñòÿòòòÿòòòÿòòóÿòòòÿòóóÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿóôóÿôôôÿóôôÿôóôÿôôôÿôôôÿôôôÿôõôÿôôôÿõôõÿôôôÿõôõÿõõõÿôõõÿôõõÿöõõÿõõõÿõõõÿõööÿöõõÿöööÿõööÿöööÿöööÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–——ÿ–––ÿ—––ÿ——–ÿ–––ÿ–——ÿ———ÿ———ÿ——–ÿ—˜—ÿ———ÿ˜˜—ÿ——˜ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ—˜˜ÿ˜™˜ÿ˜˜˜ÿ˜˜™ÿ™˜˜ÿ˜˜˜ÿ˜™™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿ™ššÿ™š™ÿš™™ÿšš™ÿšššÿšššÿšššÿš››ÿšššÿ››šÿš›šÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ››œÿœ›œÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœœÿœÿœÿÿ…Œ¾ÿ-]ñÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿU÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿMèÿ9Àÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ-ªÿ<ÇÿHßÿOîÿTøÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿN÷ÿN÷ÿP÷ÿQ÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿOøÿPùÿOøÿOøÿOøÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿIîÿ1´ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ,¦ÿ5½ÿAÛÿHíÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿO÷ÿÀÅñÿïîîÿîîïÿïîîÿîîïÿïïïÿîïïÿïïïÿïïðÿïïïÿðïïÿððïÿïïðÿðððÿðïðÿðððÿðððÿðððÿðððÿñððÿðñðÿðñðÿðññÿñññÿñññÿñññÿòññÿñòñÿñòñÿòñòÿñòòÿòòòÿòñòÿòòòÿòòòÿòòóÿóóóÿóòóÿóóóÿóóóÿòòòÿóóóÿôóóÿóóóÿôóóÿôóôÿóôôÿôôóÿôôóÿôôôÿôôõÿôõôÿôõôÿõôõÿôõõÿõõôÿõõõÿõõõÿõöõÿõöõÿõööÿöõõÿõööÿöööÿöööÿöööÿ–––ÿ–—–ÿ—––ÿ–––ÿ–——ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–——ÿ—–—ÿ——–ÿ–––ÿ—–—ÿ–—–ÿ——–ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ˜—˜ÿ˜˜—ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ˜˜™ÿ˜˜˜ÿ™˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿ™ššÿ™ššÿ™š™ÿšššÿšššÿ›ššÿšššÿšššÿš›šÿš›šÿ››šÿš››ÿš››ÿ›››ÿ›››ÿ››œÿœ››ÿ›œœÿ›œœÿœœ›ÿœœ›ÿœœœÿœœœÿœÿœœœÿœœœÿœœÿ…Œ¿ÿ1^ñÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿTõÿH×ÿ0¯ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ-¨ÿ2´ÿ?ÌÿNíÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿL÷ÿL÷ÿM÷ÿM÷ÿO÷ÿP÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿDâÿ+¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ +.¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¦ÿ0²ÿ<ÏÿJóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿO÷ÿÏÒðÿîîîÿïîîÿîîîÿîïîÿïïîÿîïîÿïïïÿïïïÿïïïÿïïïÿððïÿïïïÿðïïÿðððÿðïðÿðððÿðððÿðððÿðððÿñññÿñññÿñðñÿñððÿñññÿñññÿòññÿññòÿñññÿññòÿòòòÿòòòÿòñòÿòòòÿòòóÿòòòÿòóòÿòòòÿòóòÿòòòÿóòóÿóóóÿôóóÿôóóÿóóóÿóôóÿôôóÿôôóÿôôôÿôôôÿôôôÿôôôÿõôôÿõõôÿôõôÿõôõÿôõõÿõõõÿõõõÿõõõÿõõõÿõõöÿõõöÿööõÿöõöÿöõöÿ–––ÿ–––ÿ–—–ÿ–——ÿ–––ÿ–—–ÿ–——ÿ–—–ÿ–––ÿ––—ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ—––ÿ—––ÿ––—ÿ——–ÿ——–ÿ———ÿ———ÿ——˜ÿ———ÿ——˜ÿ˜˜—ÿ——˜ÿ˜˜—ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜™™ÿ˜˜˜ÿ˜™™ÿ˜™™ÿ™™˜ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿ™š™ÿ™ššÿ™ššÿšššÿšš™ÿš™™ÿšššÿšššÿšššÿšššÿšššÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ›››ÿ›œœÿ›œœÿœœœÿœœœÿœœœÿœœœÿœœÿœœœÿ’•«ÿBdëÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿ1]òÿ{…ËÿY`¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,§ÿ9ÁÿIâÿNîÿRöÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿN÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿN÷ÿP÷ÿQ÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿ7Âÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ4C¨ÿ“¿ÿ3¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ/®ÿ@×ÿIïÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ'U÷ÿääîÿîîîÿîîîÿîîîÿîïîÿïïîÿîïîÿïïïÿïïïÿïïïÿïïïÿïïïÿïðïÿðïïÿïððÿðððÿððïÿðððÿðððÿðððÿññðÿðññÿðððÿðñðÿñññÿñññÿñññÿñññÿòñòÿòñòÿòññÿòñòÿñòñÿòòòÿòòòÿòòòÿòóóÿòóòÿòòòÿóòóÿóòóÿóóóÿóóóÿóôóÿóóôÿôôóÿôôôÿóóôÿóóôÿóôôÿôôôÿôôôÿõõõÿôõôÿôõõÿõõôÿôõõÿõõõÿõõõÿõõõÿööõÿöõöÿõöõÿõööÿöööÿöööÿ–––ÿ––—ÿ–—–ÿ—––ÿ——–ÿ–––ÿ———ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ———ÿ—––ÿ–—–ÿ–––ÿ–——ÿ–——ÿ———ÿ———ÿ———ÿ˜——ÿ———ÿ˜˜—ÿ———ÿ˜˜˜ÿ˜˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜™™ÿ˜˜™ÿ™˜˜ÿ™™™ÿ™™™ÿ™™˜ÿ™™™ÿš™™ÿ™™šÿšššÿ™™šÿšššÿšššÿšššÿšššÿšššÿšššÿš›šÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ››œÿ››œÿœ›œÿœœœÿœœ›ÿœœœÿœœœÿÿo~ÑÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿHgëÿŽ“¾ÿ£¤¤ÿx{¤ÿ/¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ+¦ÿ2´ÿ=ÉÿIãÿRöÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿN÷ÿP÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿGêÿ,§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ8G©ÿ¹¹Ïÿ¶·Îÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ3·ÿA\àÿ"S÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿh|öÿîîîÿîîîÿîîîÿîîîÿîîîÿïïîÿîîîÿïîîÿïîîÿïïïÿïïïÿïðïÿïðïÿïïïÿïïïÿïïïÿðððÿðððÿðððÿðððÿñðñÿñññÿñññÿñððÿñññÿñðñÿñññÿñññÿòññÿòñòÿñòòÿòññÿòòñÿñòòÿòòòÿòòòÿòòòÿòòòÿóóòÿòòòÿóòòÿóóóÿóóóÿóóóÿóóóÿóóóÿôóóÿóôóÿôôôÿôóôÿôôôÿôôôÿôôôÿõôôÿôôõÿõõôÿõôõÿõõôÿõõõÿõõõÿõöõÿõõöÿõööÿöõöÿõööÿõöõÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ——–ÿ––—ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ––—ÿ–––ÿ–—–ÿ–—–ÿ——–ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ—˜˜ÿ——˜ÿ—˜˜ÿ˜˜—ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜™™ÿ™™˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™™™ÿ™š™ÿ™ššÿšš™ÿšššÿ™ššÿšššÿšššÿš››ÿšššÿš››ÿš›šÿ›››ÿ›š›ÿ›››ÿ›››ÿ›››ÿ››œÿœœœÿ›œœÿ›œœÿœœœÿœœœÿœœœÿ˜™¤ÿ%ZóÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿT÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿ TöÿQlèÿœ¯ÿ¤£¤ÿ£¤¤ÿ”•£ÿ->¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ-¨ÿ3¶ÿDØÿNðÿQõÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿP÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿN÷ÿP÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ9Çÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ +.¥ÿYb¯ÿÊÌØÿäääÿ„‰»ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ/@¨ÿ¿¿ÓÿÃÇíÿ\sõÿO÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿª±òÿîîîÿîîîÿîíîÿîîîÿîîîÿïîîÿïîïÿïîïÿîîïÿïïïÿïïïÿïïïÿððïÿðïðÿïïïÿïððÿðïðÿðïðÿðððÿðððÿðððÿðððÿððñÿðññÿñðñÿðññÿñðñÿñññÿñññÿòñòÿññòÿòòñÿñññÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿóòòÿòòóÿóóóÿóóóÿóóóÿóóóÿôóóÿóôóÿóôôÿôôóÿôôôÿôóóÿôôôÿôôôÿôôôÿõõõÿôôôÿôôõÿõõõÿõõõÿõõõÿõõõÿõõõÿõõõÿõöõÿöõöÿöööÿ––—ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ——–ÿ–––ÿ–—–ÿ—––ÿ——–ÿ–––ÿ—––ÿ–––ÿ––—ÿ––—ÿ–––ÿ––—ÿ–—–ÿ——–ÿ———ÿ———ÿ———ÿ˜——ÿ———ÿ———ÿ˜——ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜™™ÿ™˜˜ÿ˜˜™ÿ™˜™ÿ™™™ÿ™™™ÿš™™ÿ™™šÿ™™™ÿ™ššÿ™™™ÿšššÿ™ššÿšššÿ›ššÿšššÿ›ššÿ›š›ÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿœœ›ÿ›œ›ÿœœœÿœœ›ÿœœœÿœœœÿ„ŠÀÿ UöÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿS÷ÿS÷ÿatàÿœž¬ÿ£££ÿ£¤£ÿ£¤£ÿ¤¤¤ÿ]d¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ*¤ÿ/­ÿ;ÆÿFÜÿNðÿRøÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿN÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿN÷ÿO÷ÿP÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿHìÿ0°ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ…‰»ÿÒÔÛÿäääÿÚÚßÿU^®ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿfm²ÿããåÿçççÿÛÛêÿ•Ÿñÿ +M÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ#S÷ÿÓÖðÿîîîÿîííÿîîíÿîîîÿîîïÿîîîÿïîîÿîïîÿïïîÿïïïÿïïîÿïïïÿïïïÿïïïÿðïðÿðïïÿïðïÿðððÿððïÿðïðÿðððÿðððÿðñðÿñððÿðññÿññðÿñññÿñðñÿñññÿññòÿñññÿñññÿñññÿññòÿòññÿòòòÿòòòÿòòòÿòóòÿóòòÿòòòÿóóóÿóòóÿóóóÿóóóÿóóôÿóóóÿôóóÿôóôÿôôôÿôóôÿóôôÿôôôÿôôôÿôôôÿôõôÿôõôÿõôõÿôõõÿõõõÿõõõÿõõõÿõõõÿöõöÿõöõÿöööÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ–––ÿ–––ÿ—––ÿ–—–ÿ—–—ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ–—–ÿ—–—ÿ——–ÿ—–—ÿ———ÿ˜——ÿ———ÿ˜—˜ÿ—˜—ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™˜™ÿ˜˜˜ÿ˜˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™ššÿ™™šÿ™™šÿš™šÿšššÿšššÿ™ššÿšššÿšššÿš›šÿ›ššÿ›š›ÿ›››ÿ›››ÿ›››ÿš››ÿ›››ÿ›œ›ÿ›œœÿ›œ›ÿœœœÿœœ›ÿœœœÿœ›œÿq~ÑÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿS÷ÿ`tàÿŸ ©ÿ£££ÿ£££ÿ££¤ÿ¤££ÿ¤£¤ÿ•–¤ÿ1¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ-¨ÿ0¯ÿ;ÆÿJçÿPôÿQöÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿN÷ÿO÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ?Øÿ+¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ3C¨ÿª¬ÉÿÞßáÿãããÿäääÿÃÅÓÿ8G©ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ½¾Òÿæççÿçççÿçççÿãäèÿ»Áíÿ9]öÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿq‚õÿâãîÿîîîÿîííÿîíîÿîîîÿîîîÿîîîÿîîîÿîîïÿïîîÿïïîÿïïïÿïïîÿïïïÿïïïÿððïÿðïðÿðïðÿðïðÿðððÿðððÿðððÿððñÿðððÿðñðÿñññÿðñðÿððñÿññðÿñññÿñññÿñññÿññòÿññòÿññòÿñññÿòòòÿòòòÿòòòÿòóòÿóòòÿóóòÿóóóÿóòòÿòóóÿóòóÿóóóÿóóóÿôóóÿôóôÿôóôÿôóôÿôôôÿôôôÿôôôÿôôôÿôõôÿõôõÿôôõÿôôõÿõõõÿõõõÿõõõÿõõõÿõöõÿõõöÿõõöÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ––—ÿ—––ÿ––—ÿ——–ÿ–––ÿ—–—ÿ——–ÿ—––ÿ——–ÿ—–—ÿ———ÿ———ÿ–——ÿ———ÿ———ÿ———ÿ˜—˜ÿ—˜˜ÿ˜——ÿ˜—˜ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™™ÿ˜˜™ÿ™™™ÿ™™˜ÿ™™™ÿ™™™ÿš™™ÿšš™ÿšš™ÿš™šÿšššÿšššÿšššÿšššÿšššÿ››šÿ›š›ÿšš›ÿš››ÿ›››ÿ›››ÿ›››ÿœœœÿ››œÿ›››ÿ›œ›ÿœ›œÿœœœÿgxØÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿ Söÿ`tàÿŸ ¨ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¢£¤ÿin¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ3·ÿBÔÿJçÿOôÿQøÿQ÷ÿQ÷ÿQ÷ÿN÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿN÷ÿO÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJóÿ3¹ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿel±ÿ¾¿Ñÿââäÿäããÿããäÿããâÿ¤¦Æÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿrx¶ÿâáåÿçççÿçççÿçççÿççèÿçççÿ¹¿íÿ,W÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿO÷ÿ¨¯òÿíííÿîîîÿíîíÿíîîÿîîîÿîîîÿîîïÿîîîÿîîïÿîîïÿïïîÿïïïÿïïïÿïïïÿïïïÿððïÿïïïÿïïðÿïðïÿïïïÿïððÿðððÿðððÿððñÿðñðÿðððÿðññÿððñÿðñðÿñññÿñññÿñññÿñññÿñññÿòòòÿññòÿñòñÿòòòÿòòòÿòòòÿòòòÿòòòÿòòóÿòòòÿóóòÿóóóÿóóóÿóóóÿóóóÿóôóÿóóôÿôóóÿóóóÿóóôÿôôôÿôôôÿôôôÿõõôÿôôôÿôõõÿõõõÿõõõÿõõõÿõõõÿõõõÿööõÿõööÿ––—ÿ——–ÿ—–—ÿ–––ÿ——–ÿ–——ÿ–—–ÿ–––ÿ–—–ÿ––—ÿ––—ÿ––—ÿ———ÿ–––ÿ–––ÿ–––ÿ––—ÿ—––ÿ——–ÿ––—ÿ—–—ÿ–––ÿ––—ÿ——–ÿ––—ÿ———ÿ——˜ÿ———ÿ——˜ÿ˜˜˜ÿ˜˜—ÿ—˜˜ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜™˜ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™š™ÿ™ššÿš™šÿ™™šÿšššÿšš›ÿš››ÿšš›ÿšš›ÿ›š›ÿš›šÿ›››ÿ›››ÿ›››ÿ›››ÿ››œÿœœ›ÿœœœÿ›œœÿhy×ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿNjèÿ›­ÿ¢¢¢ÿ¢¢£ÿ£¢£ÿ£¢£ÿ£££ÿ£¤£ÿ£££ÿ¤¤¤ÿ“”£ÿ5D¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ.¬ÿ6ºÿAÒÿMïÿQ÷ÿP÷ÿP÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿN÷ÿO÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿCßÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ!7§ÿ”¿ÿÔÕÜÿãããÿããäÿãããÿääãÿÝÝáÿpv´ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ/@¨ÿ¼¿ÒÿææçÿæçæÿçççÿçççÿçççÿèçèÿãåèÿTmõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ8]÷ÿÙÛïÿíííÿíííÿíííÿíîîÿîîîÿíîîÿîîîÿîîîÿîîïÿîîïÿîïîÿîïîÿîîîÿïïïÿïïïÿïïïÿïïïÿðïïÿðððÿðïðÿðïðÿðððÿðððÿðððÿðððÿñððÿññðÿññðÿñññÿññðÿñññÿñññÿñññÿñññÿññòÿòññÿòòñÿñòòÿòòòÿòòòÿòóòÿòóóÿòóóÿòòóÿòòòÿóóóÿóóòÿóóóÿóóóÿôôóÿóóóÿóôôÿóôôÿôôôÿôóóÿôôôÿôôôÿôôôÿôõôÿõôôÿõõôÿõõõÿõõõÿõõõÿõõõÿõõöÿöõõÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–——ÿ–––ÿ–––ÿ–––ÿ––—ÿ——–ÿ–––ÿ–––ÿ—––ÿ—–—ÿ–——ÿ––—ÿ––—ÿ––—ÿ–––ÿ––—ÿ–——ÿ––—ÿ–——ÿ———ÿ———ÿ———ÿ———ÿ—˜—ÿ˜˜—ÿ˜˜—ÿ———ÿ˜˜˜ÿ—˜˜ÿ˜˜˜ÿ˜™™ÿ˜˜˜ÿ™˜˜ÿ™˜˜ÿ˜™˜ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿš™šÿ™™™ÿ™™šÿšš™ÿšššÿšššÿšš™ÿšššÿ›ššÿšššÿ›››ÿ›š›ÿ›››ÿ›š›ÿ›››ÿ›››ÿœ››ÿœ››ÿ›››ÿ›œ›ÿœ›œÿr~ÐÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿS÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿS÷ÿ’–¸ÿ££¢ÿ¢£¢ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ££¤ÿ¤¤¤ÿ£¤¤ÿrw¤ÿ,¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ-¨ÿ7¿ÿEßÿLíÿNôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿN÷ÿO÷ÿO÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKôÿ1¶ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ +.¥ÿS]­ÿµ·ÎÿâáãÿâããÿãããÿãããÿãããÿããäÿÐÐÙÿ +.¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ}‚¹ÿââäÿçççÿççæÿçççÿçççÿçççÿçèçÿèççÿ€òÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ˜¢óÿíííÿîîîÿîíîÿíííÿíííÿîîîÿíîîÿîîîÿîîîÿîîîÿîîïÿïîîÿîïïÿîïïÿïïïÿïïïÿïïïÿïðïÿïïïÿðïïÿïïïÿïððÿðððÿðððÿðððÿðððÿñððÿðððÿñððÿððñÿñññÿñññÿñññÿññòÿñññÿòññÿñññÿñòòÿñòòÿòòòÿòòòÿòòòÿòòòÿóóòÿóòòÿòòóÿóóóÿóóòÿòóòÿóóóÿóóóÿôóôÿóôóÿóôóÿôôôÿóôôÿóôôÿôôôÿôôôÿôôõÿôôõÿôôôÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ–––ÿ–––ÿ——–ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ—––ÿ—––ÿ–——ÿ—–—ÿ–——ÿ–——ÿ—––ÿ———ÿ˜——ÿ———ÿ˜—˜ÿ˜˜—ÿ˜˜—ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜˜˜ÿ™™˜ÿ™˜™ÿ™˜˜ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿš™šÿ™™šÿšššÿšš™ÿšš™ÿ™ššÿšššÿšššÿ›ššÿšššÿ›ššÿ›ššÿš››ÿ››šÿ›››ÿ›››ÿ›››ÿ››œÿœœ›ÿ›››ÿ‰¿ÿ SöÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿ+Yóÿ ¢¥ÿ¢¢¢ÿ£££ÿ£¢¢ÿ¢¢£ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ Ÿ£ÿU]¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ+¤ÿ0°ÿ9ÃÿEäÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿN÷ÿN÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿAÛÿ,§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿŠŽ½ÿÐÑÙÿããâÿãââÿãããÿãããÿãããÿãããÿãããÿ¡Ãÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ4D©ÿÓÒÜÿæææÿçææÿçççÿæççÿççæÿçççÿèççÿçççÿŽ™òÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿEdöÿÜÝïÿíííÿíííÿííîÿííîÿíííÿííîÿîíîÿîîíÿîîîÿîîîÿîîîÿîîïÿïîîÿîîïÿïîïÿïïîÿîïïÿïïïÿïïïÿïïðÿðððÿïðïÿððïÿðïðÿïððÿðððÿðñðÿðððÿñððÿññðÿñññÿðñðÿññðÿñññÿñòñÿòññÿñòòÿñòòÿñòñÿòòñÿòòòÿòòòÿóòòÿòòóÿóòòÿòòòÿóòòÿóòóÿóóòÿóóòÿóóóÿôóóÿóóóÿóóóÿóóóÿôôóÿóôôÿôóôÿôôôÿôôôÿôôõÿõõõÿôõôÿôôôÿôôõÿôõõÿõõõÿõõõÿ––—ÿ–—–ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ—––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ—–—ÿ–——ÿ–––ÿ———ÿ———ÿ———ÿ—˜—ÿ——˜ÿ—˜—ÿ———ÿ——˜ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™™ÿ™˜™ÿ˜˜™ÿ™™™ÿ™˜™ÿ™™™ÿ˜™˜ÿ™™™ÿ™™™ÿš™™ÿš™™ÿšš™ÿ™™šÿšššÿš™šÿšššÿ›š›ÿšššÿ›ššÿ›››ÿ››šÿš›šÿ›››ÿ›››ÿœ›œÿ›››ÿ›››ÿœœœÿ•–§ÿUõÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿ+Yóÿ ¡¥ÿ¢£¢ÿ£¢£ÿ££¢ÿ¢£¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤£ÿ––£ÿ6E¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ0°ÿHìÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿN÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿKóÿJòÿJñÿJðÿJðÿJñÿJòÿKôÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJòÿ5½ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ0¦ÿZb¯ÿ½¾ÐÿßßáÿãââÿãââÿââãÿââãÿâããÿããâÿãããÿßàáÿOY­ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿª¬Éÿååæÿæççÿçææÿææçÿçæçÿçççÿççæÿçççÿçççÿ‹–òÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ N÷ÿ¡ªòÿëêíÿíìíÿìííÿíííÿíîíÿîîíÿîîîÿîîîÿîîîÿîíîÿîîîÿîîîÿïïîÿîîîÿîïîÿïîîÿîïïÿïïïÿïîïÿïïïÿïïïÿïïïÿðïïÿðïïÿïïðÿïðïÿðïðÿðððÿðððÿðððÿðððÿñððÿððñÿððñÿñññÿñññÿñññÿòñòÿòñòÿñòòÿòñòÿòòòÿòòòÿòòòÿòòóÿòòóÿòòòÿóòòÿóóóÿòóóÿóóóÿóóóÿóóóÿóóóÿôóóÿóóôÿôôôÿóôóÿôôôÿôôôÿôôôÿôõõÿõôôÿôõôÿõõõÿõõõÿõõõÿõõõÿõõõÿ––—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—–—ÿ—––ÿ—––ÿ–––ÿ—––ÿ—––ÿ–——ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ––—ÿ—––ÿ––—ÿ—––ÿ–––ÿ–––ÿ—––ÿ—––ÿ———ÿ———ÿ–——ÿ———ÿ——˜ÿ———ÿ—˜—ÿ˜——ÿ——˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ™˜™ÿ™˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™š™ÿ™™šÿ™š™ÿšššÿ™ššÿšššÿšššÿšššÿš›šÿšš›ÿ›š›ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ›œ›ÿœ››ÿNiæÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿR÷ÿš›­ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£¤¤ÿ£££ÿ|€¤ÿ/¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ0¥ÿ6E¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ9ÉÿKõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿN÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿMùÿMùÿIîÿBÖÿ=Çÿ:¿ÿ8¼ÿ5²ÿ.œÿ)Œÿ&ƒÿ#yÿ${ÿ'…ÿ*ÿ/¡ÿ6µÿ8¼ÿ:Àÿ>ËÿDÝÿLõÿMùÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿCáÿ+¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ:H©ÿœŸÂÿÕÖÜÿâáâÿâââÿãâãÿãââÿââãÿãââÿâââÿããâÿãããÿÀÂÒÿ+>§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿgn²ÿÚÛàÿæææÿçææÿççæÿççæÿæææÿççæÿæççÿçççÿçççÿ…’òÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿOjöÿÚÜîÿíííÿíííÿíííÿíííÿíííÿíííÿíííÿíííÿîîíÿîííÿîîíÿîîîÿîîîÿîîîÿîîîÿïïïÿïîïÿîïïÿïïîÿïïïÿïïïÿïïïÿðïðÿïïðÿðïïÿïïðÿðððÿðððÿððñÿðððÿðððÿñððÿññðÿðññÿññðÿñññÿñññÿñññÿòòñÿññòÿòòñÿññòÿòòòÿññòÿòòòÿòòòÿòòòÿòóòÿòóóÿóòòÿóóóÿóóóÿóóóÿóóóÿóóóÿóôóÿóôóÿôôóÿôóôÿôôóÿôôôÿôôôÿôõôÿôõôÿõôõÿõôõÿõõõÿõôôÿõõõÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ–—–ÿ–––ÿ—––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ—–—ÿ——–ÿ———ÿ———ÿ——˜ÿ—˜—ÿ˜—˜ÿ——˜ÿ˜˜—ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ™™™ÿ˜™˜ÿ™˜™ÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿ™™™ÿš™šÿš™™ÿšššÿšššÿšš™ÿšššÿ›ššÿšššÿšššÿšššÿ›››ÿ›››ÿ›››ÿœ››ÿœ›œÿ›››ÿœ›œÿ|…ÆÿR÷ÿR÷ÿR÷ÿR÷ÿR÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿˆŽÂÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ££¢ÿ¢££ÿ¢¢£ÿ££¢ÿ£¢£ÿ£££ÿ£¤£ÿ£¤£ÿ¡¢¤ÿ`f¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ4¥ÿ|€¦ÿsw¦ÿ4¥ÿ,¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¨ÿDäÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿKõÿKõÿKôÿKôÿKôÿKôÿKôÿKôÿKõÿKõÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿKôÿJñÿ?Ïÿ-”ÿ qÿ^ÿAÿ)ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 0ÿJÿfÿ&ÿ6¯ÿFæÿKôÿKõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿ3·ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ3¦ÿtz¶ÿËËÖÿàààÿâââÿâââÿâââÿâââÿâãâÿâââÿããâÿãããÿâããÿááâÿ”–Àÿ +.¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ%:§ÿ¹»Ðÿæææÿæåæÿæææÿçææÿçææÿçæçÿæçæÿæççÿçæçÿçççÿh{ôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ®´òÿíííÿìííÿìííÿíííÿíìíÿíííÿíííÿíííÿíîíÿíîíÿíîîÿîîîÿíîîÿîîîÿîîîÿïîîÿîîîÿïîîÿîïïÿïïïÿïïîÿïïïÿðïïÿïððÿïðïÿïïïÿïðïÿðððÿïïðÿðððÿñððÿðððÿðñðÿððñÿñññÿðññÿñññÿñññÿñññÿñññÿòññÿñòòÿñòñÿòñòÿòñòÿòòòÿòòòÿòòòÿòóòÿóòòÿòòóÿóóòÿóóòÿóóóÿóóóÿóóóÿóóôÿóóóÿóôôÿôóóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôõÿõôõÿõôôÿôõôÿõõõÿ–—–ÿ–—–ÿ–––ÿ–––ÿ—––ÿ——–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ–——ÿ––—ÿ––—ÿ–––ÿ——–ÿ–––ÿ–––ÿ——–ÿ–––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ––—ÿ———ÿ—–—ÿ–—–ÿ———ÿ———ÿ———ÿ——˜ÿ——˜ÿ˜——ÿ—˜—ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™˜™ÿ˜™˜ÿ™™™ÿ˜™™ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿšš™ÿš™šÿšššÿšššÿšššÿšššÿšššÿšš›ÿš››ÿ››šÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ‘”¬ÿ7^ïÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿo|Öÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢££ÿ¢¢¢ÿ¢¢£ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£¤¤ÿ››¤ÿBN¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿag¦ÿ¤¤§ÿ”•¦ÿZa¦ÿ0¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ1´ÿJòÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿLøÿMùÿKóÿEáÿB×ÿ@Óÿ>Ðÿ7¸ÿ.›ÿ(‡ÿ"tÿ lÿhÿaÿ lÿ#uÿ'…ÿ/œÿ7¶ÿ>Îÿ@ÓÿB×ÿEáÿJðÿMùÿLøÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿIíÿB×ÿ:Àÿ"tÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿ.›ÿ@ÒÿEáÿLöÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ?Öÿ+¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿfm²ÿ±³ËÿßààÿáââÿââáÿáâáÿâáâÿâáâÿâââÿâââÿââãÿããâÿâãâÿâããÿרÝÿai±ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿŠŽ½ÿåååÿæææÿææåÿæææÿæææÿçææÿçæçÿæçæÿççæÿæççÿääèÿLhöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿk~õÿèçíÿìììÿíííÿìíìÿìíìÿíííÿíìíÿíííÿíîíÿîíîÿíîíÿîîíÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿïîïÿïïïÿïïïÿîïïÿïïïÿïðïÿðïïÿïðïÿððïÿðððÿððïÿðððÿðððÿðððÿñððÿñðñÿññðÿñññÿñññÿñðñÿñññÿñññÿññòÿññòÿñòòÿñòòÿòòòÿòñòÿòòòÿòòòÿòòòÿóòòÿóòòÿóóòÿóòóÿòóóÿóóóÿóóóÿóôóÿóóóÿóôóÿôóóÿóôôÿóóôÿôôôÿôôôÿôôôÿôõõÿôôõÿõôôÿõôõÿõõôÿ–––ÿ–——ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–——ÿ—––ÿ–––ÿ——–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ——–ÿ–——ÿ–––ÿ–——ÿ—––ÿ–––ÿ———ÿ–——ÿ———ÿ———ÿ——–ÿ———ÿ——˜ÿ˜——ÿ˜˜—ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜˜™ÿ™™˜ÿ˜˜˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™™šÿ™š™ÿš™šÿšš™ÿšššÿšššÿšššÿšššÿ›š›ÿ›››ÿ›š›ÿšššÿ››šÿ›››ÿ›››ÿ›œ›ÿš›žÿevÙÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿIfêÿ  ¦ÿ¢¢¢ÿ££¢ÿ¢¢¢ÿ£¢¢ÿ¢¢£ÿ£¢¢ÿ¢£¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£¢¤ÿ‰‹¥ÿ%9¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ%9¥ÿ™›¦ÿ§§§ÿ¢¢§ÿˆŠ¦ÿ?L¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ;ÍÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿCÛÿ5°ÿ,“ÿ$€ÿVÿ 0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +-ÿTÿ!yÿ*ÿ3¨ÿAÔÿKõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿDÜÿ/ÿ!tÿ /ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿVÿ(Šÿ:¿ÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿHíÿ1´ÿ+¥ÿ+¥ÿ+¥ÿCOªÿ«¬ÈÿÕÔÛÿáááÿáááÿáâáÿááâÿááâÿââáÿââáÿâââÿâââÿâââÿâââÿãââÿâããÿÀÂÑÿ +.¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ]d°ÿ×ÖÝÿåæåÿæææÿæåæÿæææÿæææÿæææÿæææÿææçÿçççÿçæçÿÙÚèÿEdöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ5[öÿÈÌïÿìíìÿìííÿìííÿíìíÿíííÿííìÿíííÿíííÿíííÿîííÿíííÿíîíÿíîîÿîíîÿîîîÿîîîÿîîîÿîîïÿïîîÿïïîÿïïîÿîïïÿîïïÿïïïÿïïïÿïïïÿïïïÿïðïÿïïðÿðððÿðððÿðððÿðððÿðððÿðððÿñðñÿðððÿðñðÿñðñÿñññÿñññÿñññÿñññÿññòÿñññÿòòòÿòñòÿñòòÿòòòÿòòóÿòòòÿòòòÿòóòÿòóóÿòóóÿóóóÿóòóÿóóóÿóóôÿôóôÿóôóÿóôôÿôóôÿôôôÿôôôÿôôõÿôôõÿôõôÿôôôÿôôõÿõôõÿ––—ÿ—––ÿ–––ÿ–—–ÿ–——ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ——–ÿ———ÿ–—–ÿ–—–ÿ–––ÿ——–ÿ———ÿ–——ÿ—––ÿ—–—ÿ–––ÿ–——ÿ–––ÿ–––ÿ——–ÿ–––ÿ–——ÿ–——ÿ—–—ÿ———ÿ——–ÿ———ÿ˜˜—ÿ—˜—ÿ———ÿ—˜—ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ˜™˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™ššÿ™™™ÿšššÿšš™ÿšššÿšššÿšš›ÿšššÿšš›ÿ›ššÿš›šÿ›››ÿš››ÿ›››ÿ›››ÿ›››ÿœœ›ÿŒ‘³ÿ&XóÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿ0Zñÿ‘”¸ÿ¢¡¡ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢££ÿ££¢ÿ¢£¢ÿ£¢¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤££ÿuy¥ÿ +.¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿqu¥ÿ§§¦ÿ§§§ÿ§§§ÿ¡¡§ÿuy¦ÿ6E¥ÿ,¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ.¬ÿEæÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJñÿGæÿAÖÿ+ÿAÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿ:ÿ&€ÿ=ËÿFåÿJðÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿHëÿAÕÿ$yÿ#ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$ÿ 3ÿ :ÿ@ÿ@ÿ=ÿ 6ÿ+ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿ4¬ÿEãÿKóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿ=Òÿ+¥ÿ+¥ÿCOªÿŽ’½ÿÔÔÚÿáááÿàáàÿáááÿáááÿáááÿââáÿáâáÿââáÿáááÿâââÿâââÿâââÿâââÿâââÿããâÿ†Š»ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ%:§ÿ³´ÎÿåäæÿæååÿæååÿæææÿææåÿæåæÿæææÿæææÿæçæÿçæçÿæææÿÉÍëÿ9]öÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ N÷ÿŽšóÿééìÿìììÿììíÿìììÿíííÿìììÿíìíÿííìÿííìÿíííÿíííÿîîîÿíííÿííîÿíííÿîîíÿîîîÿîîîÿîîîÿîîîÿïîîÿîïïÿïïïÿîïïÿïïïÿïïïÿðïïÿïïïÿïðïÿðïïÿððïÿðïðÿðððÿðððÿðððÿðððÿðððÿñððÿñðñÿññðÿñññÿñññÿñññÿñññÿñññÿòòòÿòñòÿñòñÿòòòÿòññÿòòòÿóòòÿòóòÿòóòÿòòóÿòòòÿòóóÿóóóÿóóóÿôóóÿóôóÿôóóÿóôóÿôôóÿôôôÿôôôÿôôôÿõôôÿôõôÿôôôÿôõõÿôõõÿ–––ÿ–—–ÿ—––ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ–––ÿ–––ÿ—–—ÿ———ÿ–——ÿ–—–ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ—––ÿ—––ÿ––—ÿ—–—ÿ–––ÿ––—ÿ–––ÿ—–—ÿ–––ÿ—–—ÿ—–—ÿ———ÿ———ÿ˜—˜ÿ—˜—ÿ———ÿ—˜˜ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™˜ÿ˜˜˜ÿ˜˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿšššÿšš™ÿ™š™ÿšššÿšššÿšššÿšššÿ››šÿšš›ÿ›ššÿš›šÿ›š›ÿ›››ÿ›››ÿ››œÿ›œ›ÿixÖÿQ÷ÿQ÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿQöÿ~†Ìÿ¢¡¢ÿ¢¢¢ÿ¢£¢ÿ¢£¢ÿ£¢£ÿ¢¢¢ÿ¢££ÿ£££ÿ££¢ÿ££¢ÿ£££ÿ££¤ÿ£££ÿ£££ÿ¡¢¤ÿci¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ.?¥ÿžž§ÿ§§§ÿ¨§§ÿ¨§§ÿ§§§ÿ™š§ÿtw¦ÿ%9¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ4ºÿKôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿMùÿHéÿ8¸ÿ)ŽÿDÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 5ÿ'†ÿ5±ÿDÞÿMùÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿEâÿ4­ÿhÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿQÿ'†ÿ4°ÿ:Âÿ<Æÿ>Êÿ@Ðÿ@ÓÿBÖÿBÖÿAÔÿ@Ñÿ>Ìÿ=Èÿ;Äÿ8¾ÿ.›ÿhÿ ,ÿÿÿÿÿÿÿÿÿÿÿ 4ÿ,–ÿ@ÒÿMùÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿGëÿ?ÖÿCâÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿGêÿ-«ÿ-?¨ÿ’–¿ÿÉÉÕÿààáÿàááÿááàÿáááÿáàáÿáááÿáâáÿááâÿááâÿáâáÿááâÿâââÿáâáÿâââÿâââÿâââÿÕÕÛÿ.?¨ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ~ƒ¹ÿááãÿåååÿææåÿæååÿæææÿææåÿæåæÿæææÿæææÿæææÿææçÿçççÿµ»îÿ%T÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿIföÿÛÝîÿìììÿìììÿìììÿììíÿìììÿíìíÿííìÿíììÿíììÿíìíÿíííÿîííÿîíîÿíííÿîííÿíîîÿíîîÿîîîÿîîîÿïîîÿïîîÿïîîÿîîîÿïîïÿîïïÿîïïÿïïïÿïïïÿïïïÿïïïÿïðïÿïðïÿðððÿðððÿðððÿðððÿðððÿððñÿðððÿññðÿðññÿðññÿñññÿñññÿñññÿñññÿòññÿòñòÿòòñÿòñòÿòòòÿòòòÿòòòÿòòóÿòòòÿòòòÿòóòÿóòóÿóóòÿóóóÿóóóÿóóóÿôôôÿóôóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôõÿôôôÿôôõÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ–—–ÿ––—ÿ–—–ÿ–——ÿ––—ÿ––—ÿ––—ÿ–––ÿ–—–ÿ–––ÿ—––ÿ—––ÿ–—–ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ––—ÿ—–—ÿ––—ÿ–——ÿ–––ÿ—––ÿ—–—ÿ———ÿ–——ÿ———ÿ———ÿ—˜—ÿ—˜—ÿ˜——ÿ˜˜—ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ™™˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™™šÿš™™ÿš™šÿ™ššÿšššÿ™ššÿšššÿšššÿ›ššÿšššÿšš›ÿš››ÿ›››ÿš››ÿ›››ÿ›››ÿ›››ÿ”–§ÿ>`íÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿ[oãÿžŸ§ÿ¢¡¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ¢££ÿ£¢£ÿ¢££ÿ£££ÿ£££ÿ£££ÿ¤¤£ÿ˜™£ÿFQ¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ +.¥ÿv{¦ÿ¦§¦ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ§¦§ÿ››§ÿ_f¦ÿ%9¥ÿ,¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ;ÍÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJñÿDÞÿ(†ÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ>ÿ"rÿ@ÒÿJðÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKõÿIîÿ1£ÿBÿÿÿÿÿÿÿÿÿÿÿÿ =ÿZÿ+ÿAÔÿIîÿJïÿJòÿKõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿKôÿJðÿIïÿEãÿ3§ÿjÿFÿ#ÿÿÿÿÿÿÿÿ +5ÿ$zÿDÝÿKóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKöÿJóÿBÞÿ5½ÿ.¬ÿ:ÉÿKôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿ2IÁÿ‚†¹ÿÎÎ×ÿÝÝßÿáààÿàáàÿááàÿáááÿáàáÿáàáÿáááÿáâáÿáááÿâááÿáááÿáááÿââáÿâââÿâáâÿâââÿãââÿ¤§Æÿ +.¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿAMªÿÕÖÝÿåååÿååæÿæåæÿæåæÿæåæÿæææÿåææÿæææÿæææÿæææÿæææÿåææÿž¦ðÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿºÀðÿëëëÿìììÿìëìÿìììÿìììÿìììÿììíÿìíìÿìììÿíííÿììíÿíííÿîííÿííîÿîíîÿîîîÿííîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿîïïÿîîîÿïïîÿîîîÿïïïÿïïïÿïïïÿïïïÿððïÿðïïÿïðïÿïðïÿðððÿðððÿñððÿñððÿññðÿðñðÿððñÿðñðÿðññÿñññÿñññÿòññÿòññÿñòñÿñññÿñòñÿòòòÿñòòÿòòòÿòòòÿòóóÿóòòÿóóóÿóòóÿóóóÿóóóÿóóóÿóóóÿóôóÿóóôÿôôóÿôóôÿôôóÿôôôÿôôôÿôôôÿôõõÿôôôÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ——–ÿ–——ÿ–––ÿ––—ÿ—––ÿ—––ÿ–——ÿ–––ÿ–––ÿ–——ÿ––—ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ——–ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ——–ÿ———ÿ—–—ÿ———ÿ———ÿ˜˜—ÿ——˜ÿ˜˜—ÿ˜—˜ÿ—˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™™™ÿ™˜™ÿ˜˜™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™ššÿ™ššÿšššÿšššÿšššÿšššÿš›šÿšššÿšš›ÿš›šÿšš›ÿ›››ÿ›››ÿ›››ÿ›››ÿ›œœÿ{…ÆÿSõÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿRõÿ•˜´ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ£¢¢ÿ£¢¢ÿ¢£¢ÿ¢¢£ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿŒŽ¤ÿ';¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿIS¥ÿŸž§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ§§¨ÿ¨§¨ÿ’“§ÿfk¦ÿ#8¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ.¬ÿEåÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿMùÿHéÿ;Âÿ#xÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ`ÿ8¹ÿDÞÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿMùÿFãÿ4¯ÿ=ÿÿÿÿÿÿÿÿÿÿÿAÿ+”ÿ6´ÿDÜÿL÷ÿMøÿL÷ÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿL÷ÿMøÿHéÿ:½ÿ/ŸÿTÿÿÿÿÿÿÿÿÿ-šÿCÜÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿIðÿCàÿ;Ìÿ0±ÿ+¤ÿ+¤ÿ8ÅÿJóÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿLöÿl{æÿ¿ÀÓÿààßÿàààÿàààÿàààÿààáÿááàÿáààÿááàÿáàáÿáááÿáááÿáááÿáááÿáââÿáááÿâââÿâââÿâââÿâââÿÛÜÞÿjp³ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ!8§ÿ°²Ìÿäãåÿåååÿåååÿååæÿæåæÿåææÿåææÿæææÿæææÿæåæÿæææÿæææÿááçÿ„‘òÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ N÷ÿ„‘ôÿæåìÿììëÿëìëÿëììÿìììÿìììÿìììÿìììÿíììÿíííÿíííÿíííÿíííÿíííÿííîÿíííÿîîíÿíîîÿíîíÿîîíÿîîîÿîîîÿîïîÿîîîÿîîîÿïîîÿïïîÿîïïÿîïïÿïïïÿïïïÿððïÿïïïÿððïÿððïÿðððÿðððÿðððÿðððÿðððÿðððÿððñÿñðñÿðñðÿðñðÿñññÿñññÿñññÿñòñÿñòñÿñññÿñòòÿòòòÿòòòÿòòòÿòòòÿòóòÿòòòÿóòóÿóòòÿóóóÿóóóÿóóóÿôóóÿóóóÿóóóÿóôóÿôóóÿôôôÿôôôÿôôôÿôôôÿôôôÿôôôÿ–——ÿ–––ÿ–––ÿ––—ÿ———ÿ–––ÿ—––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ—––ÿ–––ÿ–––ÿ—––ÿ——–ÿ—–—ÿ–—–ÿ—––ÿ—–—ÿ—––ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–——ÿ––—ÿ–––ÿ—––ÿ———ÿ———ÿ———ÿ———ÿ——˜ÿ———ÿ—˜—ÿ˜˜˜ÿ˜˜—ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜™™ÿ™˜˜ÿ˜™˜ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™šÿšš™ÿš™™ÿš™™ÿšššÿšššÿšš›ÿ›ššÿš›šÿš›šÿšššÿ›››ÿš››ÿ›š›ÿ›››ÿ›››ÿ™™ŸÿYmàÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿn{Øÿ¡¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ¢££ÿ£¢¢ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤¤£ÿ¤££ÿƒ¤ÿ .¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ/¥ÿ‰‹¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ§¨§ÿ§§¨ÿ¨¨¨ÿ¥¥¨ÿ—˜¨ÿbh¦ÿ3¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ4¼ÿKóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿJòÿ3§ÿ`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿOÿ,“ÿHéÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJòÿ7µÿYÿÿÿÿÿÿÿÿÿÿÿ`ÿ;ÅÿFæÿJòÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKôÿFèÿ>ÌÿgÿÿÿÿÿÿÿÿIÿ-–ÿJïÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKõÿEæÿ9Çÿ1²ÿ,©ÿ+¥ÿ+¥ÿ+¦ÿ7ÂÿIðÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿKöÿFcôÿËÍãÿàààÿßààÿßààÿàààÿàààÿàààÿàààÿááàÿáààÿáàáÿáááÿàááÿáááÿáááÿáâáÿáááÿáááÿâââÿââáÿâââÿÃÅÔÿ3C¨ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿsxµÿÞÝáÿååäÿåååÿåååÿåååÿåååÿæååÿåææÿåææÿåææÿæææÿæææÿæææÿÜÜéÿ]sõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ<_öÿÑÓîÿììëÿëìëÿìììÿìëìÿìììÿììëÿìììÿìììÿììíÿììíÿíììÿíííÿíííÿíííÿíííÿííîÿíííÿííîÿíîîÿîîîÿíîîÿîîîÿîîîÿîîîÿïîîÿïîîÿîïîÿîïïÿïïïÿïïïÿïïïÿïïïÿïïïÿðïïÿïðïÿðïïÿïððÿðððÿðððÿðððÿðððÿðñðÿðñðÿñññÿñññÿñðñÿñññÿñññÿñññÿñññÿñòñÿòòòÿòòñÿòòòÿòòòÿòòòÿòòòÿóóòÿòòóÿóòóÿòóòÿóóòÿóóóÿóóóÿóóóÿóóóÿóóôÿôôôÿóóóÿóôóÿôôôÿôôôÿôôôÿôôôÿ–—–ÿ––—ÿ–––ÿ––—ÿ—––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ–——ÿ–––ÿ–––ÿ––—ÿ—––ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ———ÿ—––ÿ–——ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ˜˜—ÿ———ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™™ÿ™™˜ÿ˜˜˜ÿ™˜˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿšš™ÿ™ššÿšš™ÿ™™šÿšššÿšššÿš›šÿ›š›ÿšššÿš››ÿš››ÿ›››ÿ›››ÿ››œÿ›››ÿ•–¨ÿ<_íÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿP÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿ0Zñÿ›ªÿ¢¢¡ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£££ÿ££¤ÿŸŸ¤ÿdj¤ÿ,¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿT\¥ÿ¥¥¦ÿ§¦¦ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ¨¨§ÿ¨¨§ÿ¨¨§ÿ¨¨¨ÿ§¨¨ÿ’“§ÿ]d¦ÿ+=¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ=ÒÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿHêÿ:¾ÿEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ'ÿ1¦ÿDÞÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKôÿAÕÿ`ÿÿÿÿÿÿÿÿÿÿMÿ)‹ÿ>ÌÿKöÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿAÖÿ+“ÿOÿÿÿÿÿÿÿYÿ>ÌÿKóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿIðÿEæÿ>Ôÿ2·ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ5¾ÿHîÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿ +Lõÿ®³éÿßßßÿßßàÿßàßÿàààÿàààÿàßßÿàààÿàààÿáàáÿàáàÿáááÿáááÿáàáÿáááÿáááÿáâáÿâááÿâââÿâáâÿââáÿààáÿ˜šÁÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ:H©ÿÌÍØÿåååÿåäåÿäääÿäååÿåååÿåææÿåååÿåååÿæææÿæææÿæææÿæææÿæææÿÐÒêÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿª±ñÿëëëÿëëëÿìëëÿìëëÿììëÿëëìÿìììÿìììÿìììÿííìÿíììÿìììÿìíìÿíííÿíìíÿíííÿîíîÿíííÿíííÿîíîÿîííÿîîíÿîîîÿîîíÿîîîÿîîîÿîîïÿîïîÿïïïÿïîïÿïïîÿïïïÿïïïÿïðïÿïðïÿïïïÿðððÿððïÿïððÿðððÿðððÿðððÿððñÿððñÿððñÿñññÿðððÿñññÿðññÿñññÿñññÿññòÿñññÿññòÿòñòÿòòòÿòòòÿòòóÿòòòÿòòòÿòóóÿóóòÿóòóÿòóóÿóóóÿóóóÿôóóÿôóóÿôóóÿôôóÿôóóÿóóóÿôôóÿôôôÿôõôÿ–––ÿ——–ÿ––—ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ—–—ÿ–––ÿ—––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ———ÿ—––ÿ—–—ÿ———ÿ––—ÿ———ÿ———ÿ———ÿ——˜ÿ——˜ÿ—˜˜ÿ—˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜˜˜ÿ™˜˜ÿ™™˜ÿ˜˜˜ÿ™™™ÿ™™™ÿ™™šÿš™™ÿ™™™ÿ™™™ÿ™ššÿ™ššÿšššÿš™™ÿšššÿšššÿšš›ÿš›šÿ›š›ÿ›š›ÿ›››ÿ››šÿ›››ÿ›››ÿ›››ÿ„нÿ)WòÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿQöÿ}…Ìÿ¢¡¡ÿ¢¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ¤¤£ÿ¤££ÿ££¤ÿœœ£ÿGR¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿަÿ§¦§ÿ¦§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§¨§ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¥¥¨ÿ–—§ÿpt¦ÿ%9¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ-«ÿEäÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKòÿ8¸ÿnÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ *ÿYÿ&€ÿ1¤ÿ9¾ÿ?Ðÿ@Òÿ@Óÿ@Óÿ@Óÿ@Óÿ@Óÿ@Òÿ?Ðÿ8ºÿ.šÿ$xÿOÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿIÿ0¡ÿHëÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿFæÿ+‘ÿ 5ÿÿÿÿÿÿÿÿÿ 1ÿ5±ÿCÝÿKôÿKöÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKöÿKõÿDßÿ2©ÿ "ÿÿÿÿÿÿÿ+“ÿGæÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKôÿCàÿ:Éÿ3·ÿ-©ÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ6ÁÿHîÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿƒîÿÛÛáÿàßàÿßàßÿßßßÿàààÿàààÿßàßÿàààÿàààÿàààÿàààÿáááÿàààÿàààÿáááÿáááÿáááÿââáÿáááÿâáâÿáâáÿÚÙÞÿBNªÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ¯°Ëÿäääÿåääÿåäåÿäåäÿååäÿåååÿåååÿåååÿåææÿååæÿååæÿæææÿæææÿæææÿ¯¶íÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ~Œôÿääìÿëëëÿëëëÿìëëÿëëëÿìëìÿëëëÿëììÿìììÿìììÿììíÿíììÿíííÿíííÿìíìÿíìíÿíííÿíííÿííîÿíííÿíîíÿíîîÿîîîÿíîíÿíîîÿîîíÿîîïÿîîîÿîîîÿîîïÿîïîÿïîîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿðððÿðïðÿðïðÿðððÿðððÿðððÿñððÿñððÿðñðÿðññÿñðñÿññðÿñññÿñòñÿñññÿññòÿòòñÿòòòÿòòòÿòòñÿòòòÿòòòÿòóòÿòóòÿóòòÿòóóÿòòóÿóóòÿóóóÿóóóÿóóóÿôóóÿôóóÿôôôÿôóóÿôôôÿôôôÿôôôÿ–——ÿ—–—ÿ––—ÿ–—–ÿ–––ÿ–––ÿ——–ÿ–––ÿ––—ÿ—––ÿ—––ÿ–——ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ–—–ÿ——–ÿ–––ÿ––—ÿ—––ÿ——–ÿ———ÿ–—–ÿ—–—ÿ———ÿ———ÿ——˜ÿ———ÿ———ÿ˜˜˜ÿ—˜˜ÿ˜˜—ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™™˜ÿ™˜˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™šÿ™™™ÿ™š™ÿ™™šÿ™ššÿš™šÿšššÿšššÿšššÿ›ššÿšššÿ›š›ÿšššÿ››šÿ›››ÿ››œÿ›œ›ÿ›œÿtÍÿRõÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿTkåÿœ©ÿ¡¢¢ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ££¢ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£££ÿ££¤ÿ–—£ÿ2B¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿRZ¥ÿ¤¤§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨¨§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ§§¨ÿžž¨ÿpt¦ÿ7E¥ÿ/¥ÿ+¥ÿ+¥ÿ+¥ÿ5½ÿJñÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKôÿEàÿ!qÿÿÿÿÿÿÿÿÿÿÿÿÿÿ&ÿTÿoÿ+ÿ;ÂÿHëÿKôÿKôÿKõÿLõÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿKõÿKôÿKôÿKôÿFåÿ8µÿ(‡ÿlÿMÿ!ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿ>ÿ:¾ÿJðÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKòÿ=ÉÿKÿÿÿÿÿÿÿÿÿNÿ.›ÿHêÿKóÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKóÿFäÿ*ÿ@ÿÿÿÿÿÿ>ÿ?ÎÿKóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿJñÿEèÿ:Ëÿ/¯ÿ,§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ4¼ÿHíÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿLgòÿÇÊäÿßßßÿßßßÿßàßÿßßßÿààßÿààßÿßààÿßààÿàààÿàààÿàààÿàààÿáááÿàáàÿàááÿáááÿááàÿâáâÿâáâÿááâÿáââÿ¬¯Éÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ +.¥ÿ|¸ÿÜÜàÿääåÿäääÿäääÿäääÿåäåÿåååÿåäåÿåååÿæåæÿæåæÿæææÿæååÿæååÿææåÿŒóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿBböÿËÏîÿëëêÿëëëÿëëìÿìëëÿììëÿìììÿìëìÿìëëÿìììÿìììÿìììÿíììÿììíÿììíÿìììÿííìÿííìÿííìÿíííÿíííÿííîÿííîÿíííÿíííÿíîîÿîîîÿîîîÿîîîÿîîîÿîïîÿîîîÿîîîÿîîïÿïïîÿïïïÿïïïÿïïïÿðïïÿðïïÿðððÿððïÿïðïÿðððÿðððÿðððÿðððÿððñÿðññÿðñðÿñññÿðññÿñòñÿñññÿòññÿññòÿòñòÿòòòÿòòòÿñòòÿòòòÿòòòÿòòòÿòóóÿóòòÿóòóÿóòòÿóòóÿóóóÿóóôÿóóóÿôóóÿôôóÿóóôÿôôóÿôôôÿôóóÿ–––ÿ––—ÿ–––ÿ—––ÿ–—–ÿ–––ÿ––—ÿ–––ÿ———ÿ–––ÿ––—ÿ––—ÿ––—ÿ——–ÿ–—–ÿ–——ÿ–––ÿ––—ÿ–––ÿ––—ÿ–——ÿ–——ÿ—––ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–——ÿ–—–ÿ–—–ÿ——–ÿ––—ÿ–––ÿ–—–ÿ—–—ÿ–—–ÿ———ÿ———ÿ˜——ÿ˜——ÿ—˜—ÿ——˜ÿ˜˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ™™™ÿ˜™˜ÿ™˜™ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™ššÿšššÿšššÿš™šÿšššÿšššÿš›šÿšššÿš››ÿš››ÿ›››ÿš››ÿ›››ÿ›››ÿ›››ÿ››œÿmzÓÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿRõÿ‘½ÿ¡¡¡ÿ¢¢¢ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£££ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£££ÿ¤¤£ÿ£¢¤ÿ„†¤ÿ 7¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ&:¥ÿ¦ÿ§§¦ÿ¦§§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨¨§ÿ¨¨¨ÿ¨§§ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ¨¨¨ÿž¨ÿ~‚§ÿLU¦ÿ+¥ÿ+¥ÿ+¥ÿ<ÐÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿIðÿFçÿKõÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿGæÿ/ ÿ +-ÿÿÿÿÿÿÿÿÿÿÿÿÿoÿ5±ÿ<ÇÿFåÿLøÿMùÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿMùÿLøÿDßÿ<Åÿ5²ÿiÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$~ÿ>ËÿMùÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿEáÿ-™ÿÿÿÿÿÿÿÿÿÿ1¤ÿDÞÿKõÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿLöÿ@Òÿ(‰ÿÿÿÿÿÿÿ.›ÿJïÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿLøÿIðÿCßÿ;Ìÿ2¶ÿ+¦ÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ6¿ÿHìÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿ¨®éÿßßßÿßßßÿßßßÿßßàÿßßßÿßßàÿàààÿßààÿßààÿàààÿàààÿàààÿàáàÿààáÿàààÿáàáÿáààÿáááÿáááÿáááÿáááÿÝÝßÿdk±ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ8F©ÿÊË×ÿäääÿäääÿääåÿäääÿåååÿäååÿåäåÿåäåÿåååÿåååÿåååÿæåæÿåæåÿæååÿßÞçÿ9]öÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ¡©òÿêêêÿêëëÿêëëÿêëëÿëëìÿëëëÿëëëÿëëëÿëëìÿìëëÿììëÿìììÿìììÿìíìÿíìíÿííìÿìììÿíííÿíííÿíííÿíííÿîîíÿíííÿííîÿîîíÿîíîÿîîîÿîîîÿîîîÿïîîÿîîîÿîîïÿïïîÿïïïÿîïîÿîîïÿïïïÿïïïÿïïïÿðïïÿïïïÿððïÿðððÿððïÿðððÿðððÿðññÿððñÿðððÿðððÿñððÿñññÿñññÿòñòÿñññÿñòñÿñññÿòññÿòñòÿòòòÿòòòÿòòòÿòóòÿòòóÿòòòÿóóòÿòóóÿóòòÿóóóÿóóóÿóóóÿôóôÿóóóÿóóôÿóôóÿôôôÿôôôÿ———ÿ–––ÿ–——ÿ–––ÿ–––ÿ———ÿ——–ÿ–––ÿ—–—ÿ–––ÿ––—ÿ———ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ——–ÿ–—–ÿ––—ÿ–––ÿ—–—ÿ–——ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ———ÿ–——ÿ–——ÿ———ÿ˜——ÿ———ÿ˜—˜ÿ˜˜˜ÿ˜˜—ÿ˜——ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™˜ÿ™˜˜ÿ™˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿ™™™ÿšš™ÿšššÿšš™ÿšššÿšššÿšššÿšš›ÿš››ÿš››ÿ›š›ÿ››šÿ›››ÿ›››ÿ›œ›ÿ—˜£ÿ_qÝÿPöÿO÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿ]páÿ¡¡¢ÿ¢¢¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ¢£¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ¤££ÿ£¢£ÿpt¥ÿ +.¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿfk¦ÿ¤¤¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§¨§ÿ¨§¨ÿ§§¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ§§©ÿ¢£¨ÿލÿT]§ÿ6¥ÿ-©ÿCáÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKöÿ8Äÿ0²ÿ8ÆÿCàÿJòÿKôÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKôÿ=ÊÿWÿÿÿÿÿÿÿÿÿÿÿ/ÿ[ÿ8¸ÿHêÿJïÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿIïÿGèÿ4©ÿWÿ/ÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 4ÿ.™ÿHìÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKõÿAÔÿMÿ +ÿÿÿÿÿÿÿ!ÿ${ÿDÞÿJñÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿIïÿ;ÄÿDÿ ÿÿÿÿÿaÿCÚÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKõÿJñÿAÛÿ5¿ÿ/®ÿ-©ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ5¿ÿHíÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿ†’îÿÛÝàÿßßÞÿßÞÞÿßßßÿßßßÿßßàÿààßÿààßÿàßàÿàààÿàààÿààßÿàààÿààáÿààáÿàáàÿáààÿáàáÿáááÿááàÿáááÿáááÿÁÁÑÿ5D¨ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ­¯ÊÿäääÿäääÿäääÿäääÿäåäÿååäÿååäÿäååÿäååÿååäÿåååÿåæåÿæååÿåæåÿæååÿÀÄìÿR÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿl~õÿåæëÿêêêÿêëêÿëêëÿëëëÿëëëÿëëëÿëëìÿëëìÿëìëÿììëÿìììÿìììÿìììÿìììÿììíÿíííÿìííÿííìÿíííÿìííÿíííÿíííÿíííÿîííÿîîíÿíîíÿíîîÿîîîÿîíîÿîîîÿîîïÿïîïÿîïîÿïîïÿïîïÿïïîÿïïïÿïïïÿïïðÿïïïÿðïðÿðïïÿïððÿðððÿïððÿðððÿðððÿñððÿñðñÿñððÿñññÿñðñÿðñðÿñññÿñññÿñññÿñòñÿòòñÿññòÿòòñÿòòòÿòòòÿòòòÿòòòÿóòòÿòòóÿòòóÿóóòÿóóóÿóòóÿóóóÿóóóÿóôóÿóôôÿóóôÿôôôÿôôôÿ–––ÿ—–—ÿ—––ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ—––ÿ–––ÿ––—ÿ——–ÿ––—ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ—˜˜ÿ˜—˜ÿ———ÿ˜˜—ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™˜™ÿ™™˜ÿ™™™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿš™šÿ™š™ÿ™ššÿšš™ÿšššÿšššÿš›šÿš›šÿšššÿ›ššÿš››ÿ›››ÿš››ÿ›››ÿ›œ›ÿ›››ÿ•—§ÿTjãÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿOöÿ”¸ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ£¢¢ÿ££¢ÿ¢¢¢ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ¤££ÿ¤¤¤ÿ¢¢¤ÿ_e¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ4¥ÿ——¦ÿ¦¦§ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨¨ÿ§¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ¨¨¨ÿ©©¨ÿ©¨©ÿ©©©ÿ©©©ÿ•–¨ÿns§ÿAQ·ÿIïÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿHîÿ/¯ÿ+¤ÿ*¤ÿ-ªÿ5½ÿ>ÓÿDáÿHìÿLöÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿFåÿ0¢ÿÿÿÿÿÿÿÿÿÿÿhÿ1¥ÿ@ÑÿL÷ÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿLøÿ@Ñÿ1£ÿXÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿUÿ?ÏÿKôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿIîÿ3¨ÿÿÿÿÿÿÿÿÿbÿ7·ÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJôÿEãÿ-™ÿ +ÿÿÿÿÿIÿ;ÃÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿJñÿEæÿ@Øÿ6¿ÿ-ªÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ6ÁÿHîÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿ^rðÿÑÓâÿÞÞÞÿßÞßÿßßÞÿßßßÿßßßÿßßßÿàßßÿßßßÿààßÿßààÿßàßÿàààÿàààÿàààÿààáÿààáÿàààÿáàáÿáááÿáàáÿáááÿÞÞàÿ”—¿ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ{€¸ÿßÞáÿäããÿäääÿäääÿäääÿääåÿååäÿåååÿåååÿäååÿåääÿåååÿåååÿæååÿåååÿåææÿ™¡ðÿ +M÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ<_öÿËÏîÿêëëÿêëëÿêëêÿêêêÿëëëÿëêëÿëëëÿëìëÿìëìÿëììÿëìëÿìëìÿìëìÿìììÿìììÿìíìÿìììÿììíÿìììÿìíìÿííìÿíííÿíííÿíîíÿîííÿíîíÿíîíÿíîîÿîîîÿîîîÿîîîÿîîîÿîïîÿîîîÿïîîÿîïïÿîïïÿîïîÿïïïÿïïïÿïïïÿïïðÿïïïÿðïðÿðððÿðððÿðððÿðððÿðððÿðððÿððñÿñðñÿñððÿññðÿñññÿñññÿñññÿñññÿòñòÿñòñÿòòòÿñòòÿòòòÿòòòÿòòòÿóóòÿòóòÿóóóÿóóóÿóòóÿóòóÿóóóÿóôóÿóóóÿóóóÿóóôÿôôôÿôóôÿ–––ÿ––—ÿ–—–ÿ–––ÿ—––ÿ–——ÿ–––ÿ—––ÿ–—–ÿ––—ÿ——–ÿ—––ÿ———ÿ–——ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ—––ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ——–ÿ–––ÿ—––ÿ–—–ÿ–——ÿ–––ÿ——–ÿ—––ÿ–——ÿ———ÿ———ÿ———ÿ———ÿ—˜—ÿ—˜˜ÿ—˜—ÿ˜——ÿ——˜ÿ—˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ™™˜ÿ™™˜ÿ™˜˜ÿ˜˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿ™š™ÿšššÿšššÿšššÿšššÿš›šÿšššÿšššÿš›šÿ›››ÿ›š›ÿ›››ÿ›››ÿ›››ÿœ››ÿ“–©ÿOgæÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿN÷ÿ_qàÿ ¡¤ÿ¢¡¢ÿ¢¡¢ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ££¢ÿ¢££ÿ£¢£ÿ££¢ÿ£¢£ÿ£££ÿ£¤£ÿ£££ÿ¤££ÿ£££ÿ™š£ÿFQ¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ^e¥ÿ§§¦ÿ¦¦§ÿ§¦§ÿ¦§§ÿ§§§ÿ§¨§ÿ§§§ÿ§§§ÿ¨§§ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ¨¨©ÿ©¨©ÿ¨©¨ÿ¨©©ÿ¨¨©ÿŸŸ©ÿpzÍÿNöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿAÜÿ,§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ-©ÿ0±ÿ4»ÿ;ÌÿCáÿJóÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿ@Ñÿ^ÿÿÿÿÿÿÿÿÿÿgÿ?ÏÿHêÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿGçÿ<Çÿ^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +3ÿ,’ÿKñÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿGéÿ"uÿÿÿÿÿÿÿÿÿ-–ÿFæÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿIïÿ<ÉÿGÿÿÿÿÿ ,ÿ0¡ÿKóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKõÿCâÿ9Èÿ2¶ÿ.¬ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ8ÄÿHîÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿ*Tòÿ»¾åÿÞßÞÿßßÞÿßßÞÿßÞÞÿßßßÿßÞßÿßßßÿßßßÿàßßÿßàßÿàààÿßßàÿàààÿàààÿàààÿàààÿàààÿàààÿààáÿàáàÿááàÿàááÿÖÖÛÿJU¬ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿDP«ÿÊÊ×ÿääãÿãäãÿäääÿäääÿäääÿäääÿäääÿäääÿåäåÿåäåÿåäåÿååäÿåååÿåæåÿåååÿÞÞæÿs„óÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿO÷ÿ›¤óÿèèêÿêêêÿêêêÿêëêÿëëëÿêêëÿêëêÿëëëÿëëëÿëëëÿëëëÿëìëÿëììÿìëëÿìììÿìëìÿìììÿìíìÿìììÿìììÿìììÿìììÿìííÿíííÿíííÿíííÿíîíÿíííÿíîíÿîííÿîîíÿîîíÿîîîÿîîîÿîîîÿîïîÿîîïÿïîîÿïîîÿïïïÿïïïÿïðïÿïðïÿðïïÿðïðÿðððÿðððÿðððÿðððÿðððÿñððÿðððÿððñÿðððÿðññÿñññÿñññÿñññÿññòÿñòòÿññòÿòòòÿññòÿòòñÿòòòÿòòòÿòòòÿóòóÿòòòÿòòòÿóóóÿòòóÿóòóÿóóóÿóóóÿôóóÿóóóÿóóôÿóóôÿ–—–ÿ––—ÿ–––ÿ—–—ÿ––—ÿ––—ÿ—–—ÿ–––ÿ–––ÿ–––ÿ––—ÿ——–ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ———ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ—–—ÿ–—–ÿ–—–ÿ—––ÿ–––ÿ——–ÿ———ÿ–——ÿ——–ÿ———ÿ———ÿ˜——ÿ——˜ÿ——˜ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜™™ÿ˜˜˜ÿ˜˜˜ÿ˜™™ÿ™˜™ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™ššÿšššÿš™™ÿšššÿšššÿš›šÿ›š›ÿšš›ÿšššÿš››ÿ›š›ÿ›››ÿ›››ÿ››œÿ›œ›ÿ››œÿŽ’°ÿCaëÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿN÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿ1Xñÿ”¸ÿ¢¢¢ÿ¢¢¡ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ££¤ÿ¤££ÿ£¤£ÿŒ¤ÿ,=¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ#8¥ÿ““§ÿ§¦§ÿ§§¦ÿ¦¦¦ÿ¦§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨§ÿ§¨§ÿ§§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ©¨¨ÿ¨¨©ÿ©©¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿeuâÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKôÿ8Åÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+§ÿ3¸ÿ<ÏÿEäÿHìÿJòÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJðÿ5¯ÿÿÿÿÿÿÿÿÿ;ÿ'†ÿ>ËÿKõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLõÿ?Íÿ$€ÿ +-ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ^ÿBÖÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿ@ÐÿRÿÿÿÿÿÿÿÿ\ÿ<ÅÿJñÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿDßÿ$ÿÿÿÿÿÿ,•ÿHêÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJñÿGëÿBÞÿ8Æÿ.­ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,§ÿ8ÄÿIîÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿ Kòÿ›£éÿÞÞÞÿÞßÞÿÞßßÿßÞßÿÞßßÿßßßÿßßßÿßßßÿßßßÿßàßÿßßàÿßßßÿàààÿàßàÿààßÿàààÿàààÿàààÿàáàÿàààÿáàáÿàááÿàááÿ¬®Éÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ¥¦ÆÿãäãÿãäãÿäããÿäääÿãääÿäääÿäääÿäääÿäääÿåääÿäääÿäåäÿååäÿåååÿåååÿåååÿÑÔéÿLhõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ]sõÿàáêÿêêêÿêêêÿêêêÿêëêÿêêêÿëëëÿëêëÿëëëÿëëëÿìëëÿëëëÿëëëÿììëÿëëëÿëìëÿìììÿìììÿíììÿíììÿíììÿííìÿìíìÿíííÿíìíÿíííÿíííÿííîÿîîíÿîîîÿíîîÿîîíÿîîîÿîîîÿîîîÿîîîÿïîîÿîïïÿîîïÿïîïÿîïïÿïïîÿïïïÿïïïÿïððÿïïïÿðððÿððïÿðïïÿðððÿðððÿðððÿððñÿðñðÿðññÿññðÿññðÿññðÿñññÿñññÿñññÿññòÿòñòÿòññÿòòòÿòòòÿòòñÿòòòÿòòòÿòòóÿóòòÿóòóÿóóòÿóóóÿóóóÿóóóÿóóóÿóóôÿôóóÿôóôÿ––—ÿ–——ÿ–––ÿ–––ÿ—––ÿ–——ÿ–——ÿ—––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–—–ÿ––—ÿ–––ÿ–––ÿ—––ÿ——–ÿ–—–ÿ–––ÿ—––ÿ––—ÿ–——ÿ–––ÿ––—ÿ–––ÿ––—ÿ—––ÿ––—ÿ–––ÿ—––ÿ–——ÿ—––ÿ–––ÿ––—ÿ–——ÿ—––ÿ—––ÿ––—ÿ——–ÿ———ÿ———ÿ———ÿ—˜—ÿ——˜ÿ˜˜˜ÿ—˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ˜™™ÿ™™™ÿ™™˜ÿ™™™ÿš™™ÿš™™ÿ™š™ÿšš™ÿ™™™ÿšššÿš™šÿšššÿšššÿ›ššÿšššÿšššÿ›ššÿšš›ÿ››šÿš››ÿ›››ÿœ››ÿœ››ÿ›››ÿŒ‘³ÿ<]íÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿmz×ÿ  £ÿ¡¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£££ÿ¢£¢ÿ¢££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£££ÿ¤££ÿ¤£¤ÿƒ…¤ÿ1¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿio¥ÿ¤¤¦ÿ§¦§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨¨¨ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨©ÿ©¨¨ÿ¨¨©ÿ¨©©ÿ¨©©ÿ©©©ÿ©©©ÿž ¶ÿGbíÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿIïÿ1´ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ+¦ÿ/°ÿ5¼ÿ:Éÿ@ØÿGëÿL÷ÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿGçÿ&ƒÿÿÿÿÿÿÿÿÿ'ƒÿBÖÿLöÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿKóÿ@Òÿ*ŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿBÿ4­ÿLõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿ5±ÿ;ÿÿÿÿÿÿÿÿ-™ÿDÞÿJóÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿHíÿ2©ÿ$ÿÿÿÿÿ$}ÿEàÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿJòÿBÞÿ:Êÿ4ºÿ.¬ÿ+¤ÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,§ÿ;ÌÿIïÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿ~‹ìÿØØßÿÞÞÞÿÞÞÞÿÞÞßÿÞßßÿßßßÿßßßÿßÞßÿßßßÿßßßÿßßßÿßßßÿßàßÿßààÿßßßÿàßàÿàßàÿàààÿàààÿàààÿàààÿààáÿááàÿÝÝßÿW_®ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ~ƒ¹ÿÞÞàÿãããÿããäÿäããÿäãäÿãääÿäääÿäääÿäääÿäääÿäääÿåäåÿäääÿåååÿåäåÿååäÿåååÿ»¿ìÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ,W÷ÿÈËíÿéêêÿêêêÿêêêÿêëêÿëêêÿëëëÿêêëÿëëêÿëëëÿëëëÿëëëÿëëìÿìëëÿëìëÿëëëÿìëìÿìëìÿëììÿìììÿíììÿìììÿìíìÿììíÿìíìÿíííÿíííÿíííÿíííÿíîíÿíîíÿîîîÿîîîÿîîîÿîîîÿîîîÿïîîÿîîïÿîîîÿîîîÿïîîÿïîîÿïîîÿïïïÿðïïÿïðïÿïðïÿïïðÿðððÿïððÿðððÿïïðÿðððÿðððÿðððÿððñÿñðñÿññðÿñññÿñññÿñññÿñññÿñññÿñññÿñññÿòññÿñññÿòòòÿòòòÿòòòÿòòòÿòòóÿóòòÿóóóÿóòóÿóóóÿòóòÿôóôÿóóóÿóôóÿóóôÿ–––ÿ—––ÿ––—ÿ—–—ÿ–––ÿ––—ÿ–––ÿ–––ÿ–——ÿ––—ÿ–––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ—––ÿ–—–ÿ—–—ÿ–––ÿ—––ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ–––ÿ—––ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ˜˜—ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜™˜ÿ™˜˜ÿ™˜™ÿ™™˜ÿ™˜˜ÿ™™™ÿ™™˜ÿ™š™ÿ™™™ÿš™™ÿšš™ÿšš™ÿšš™ÿšššÿšššÿšššÿšššÿ›ššÿšš›ÿ››šÿšš›ÿ››šÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ‹µÿ8[îÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿRôÿ—™°ÿ¢¡¡ÿ¡¡¡ÿ¡¢¢ÿ¡¡¢ÿ¡¢¢ÿ¢¡¡ÿ¢¢£ÿ£¢¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ¢££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£¤£ÿ£¤£ÿ ¢£ÿmr¥ÿ/¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ2B¥ÿ™š§ÿ§¦§ÿ¦¦§ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ§¨§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©¨ÿ¨©©ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ‹‘Éÿ%SôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿEæÿ-ªÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,§ÿ-©ÿ1³ÿ9ÉÿCáÿIïÿJòÿKõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿAÖÿTÿÿÿÿÿÿÿ)ÿ!sÿCÙÿKôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKôÿBØÿ oÿ"ÿÿÿÿÿÿÿÿÿÿÿÿÿ*ŽÿGèÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJðÿ1¤ÿ ÿÿÿÿÿÿÿ@ÿ5®ÿIîÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJðÿ;ÁÿCÿÿÿÿÿ]ÿEàÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKõÿJòÿHìÿ?×ÿ4»ÿ-«ÿ,§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¨ÿ;ÌÿIðÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿWnîÿÍÎâÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿßßÞÿÞÞÞÿÞßÞÿßßÞÿßßßÿßßßÿßßßÿßßßÿßàßÿßàßÿßàßÿààßÿàààÿàààÿàààÿàààÿàààÿàáàÿááàÿ·¹Íÿ 7¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿJU¬ÿËÌ×ÿãããÿãããÿãããÿãääÿãäãÿãääÿäääÿäääÿäääÿääåÿåääÿäääÿäääÿåååÿåååÿåäåÿääåÿ‹–ñÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿO÷ÿŸ§ñÿæçêÿêêéÿêêêÿêêêÿêêêÿêêëÿëëëÿëêêÿëëëÿëëëÿëëëÿëëëÿëëëÿëëëÿëëìÿëëëÿììëÿììëÿìììÿìììÿìììÿìììÿìììÿíìíÿìíìÿíìíÿííìÿíííÿíííÿíííÿíííÿîîîÿîíîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîïÿïîîÿîîîÿîïïÿïïïÿïïïÿïïïÿïðïÿðïïÿðïðÿðððÿðððÿïððÿðððÿðððÿðñðÿðñðÿðððÿññðÿðñðÿðññÿñññÿñññÿñññÿñññÿòññÿñòòÿñòòÿñòñÿòòòÿòòòÿóòòÿòóòÿóòòÿòóóÿóóóÿóóóÿóóóÿóóóÿóóóÿóôóÿóôôÿ–—–ÿ––—ÿ—–—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–—–ÿ–––ÿ—–—ÿ–—–ÿ–––ÿ–——ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–——ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ———ÿ–—–ÿ—–—ÿ——–ÿ———ÿ———ÿ—˜—ÿ———ÿ˜——ÿ———ÿ——˜ÿ˜˜˜ÿ˜˜—ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ™™™ÿ˜™™ÿ˜˜˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿš™šÿšš™ÿšš™ÿšš™ÿš™šÿšš›ÿš›šÿšššÿšš›ÿšššÿš››ÿš››ÿ›š›ÿ››œÿ›››ÿ›››ÿœœ›ÿ†‹»ÿ1XðÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿetÝÿ¡¡¡ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢££ÿ££¢ÿ¢££ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤¤ÿ¤ÿU]¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿqu¥ÿ§§§ÿ¦§§ÿ§§§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨©ÿ©¨©ÿ¨¨©ÿ©¨©ÿ©©¨ÿ¨¨©ÿ©©©ÿ©©©ÿvØÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKöÿ=Ðÿ,¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ*£ÿ,©ÿ2·ÿ9Çÿ>ÕÿCàÿGëÿLöÿLøÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿMùÿ:¾ÿHÿÿÿÿÿÿÿkÿ;ÂÿKõÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿJñÿ:¿ÿgÿÿÿÿÿÿÿÿÿÿÿÿÿnÿAÕÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿGæÿ*ÿÿÿÿÿÿÿÿoÿ>ÍÿJóÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿ@ÖÿaÿÿÿÿÿNÿAÕÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿLøÿKõÿFçÿ@Ùÿ:Éÿ2·ÿ,§ÿ*¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ-«ÿ>ÕÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿ<\ðÿÀÂãÿÝÝÞÿÝÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßßßÿÞÞßÿÞßÞÿßÞÞÿÞßÞÿßßßÿßßßÿàßßÿàßßÿßßßÿßààÿàßàÿàààÿàààÿàáàÿàáàÿÝÜßÿ†¹ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ¨ªÈÿãâãÿãããÿãããÿäããÿãäãÿãããÿãããÿãääÿäãäÿäääÿäääÿäääÿäääÿäääÿåäåÿääåÿåååÿÞßæÿ=_öÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿcwõÿÝßëÿéééÿêêêÿêéêÿêêêÿêéêÿêêêÿêêêÿêêêÿêëêÿêêêÿëëëÿëëêÿëëëÿëëëÿììëÿëëìÿìëìÿìììÿìììÿëììÿììëÿìììÿìììÿìììÿíìíÿíììÿíííÿíííÿìííÿíííÿíîîÿîîíÿîîîÿíîîÿíîíÿîîîÿîíîÿîîîÿîîîÿîîîÿîïîÿîîïÿïïïÿîîîÿîïïÿïïïÿïïïÿïïïÿïðïÿðððÿïðïÿðððÿðïðÿðððÿðñðÿðñðÿðððÿññðÿðððÿðñðÿðññÿñññÿñññÿñññÿñòñÿññòÿòñòÿòòòÿñòñÿòòòÿòòòÿòòòÿòòóÿòòòÿóòòÿòòòÿóóóÿóóóÿóóóÿóóóÿóóóÿ––—ÿ–––ÿ—––ÿ——–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ—–—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ—–—ÿ——–ÿ–—–ÿ———ÿ–——ÿ———ÿ———ÿ———ÿ˜˜—ÿ˜—˜ÿ—˜—ÿ—˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™˜™ÿ˜˜™ÿ˜˜˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿš™™ÿ™ššÿ™ššÿš™™ÿšššÿšššÿšššÿšššÿ››šÿ›š›ÿšššÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ››ÿ‰¸ÿ-WñÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ/Wòÿ“ºÿ¡¡¡ÿ¢¢¡ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ¢¢¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£¤£ÿ¤££ÿš›£ÿAL¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ#8¥ÿ›š¦ÿ§¦§ÿ§§¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§§ÿ§§§ÿ¨¨¨ÿ§¨§ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨©ÿ©©©ÿ¨¨©ÿ¨©©ÿ©©©ÿ¤¦¯ÿ]påÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKôÿ4»ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ-©ÿ.­ÿ2µÿ8Åÿ@ØÿIïÿKôÿKõÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKóÿ1£ÿ,ÿÿÿÿÿÿ +0ÿ2¦ÿIïÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿIíÿ1¢ÿ +2ÿÿÿÿÿÿÿÿÿÿÿÿCÿ=ÊÿKõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿFãÿ sÿÿÿÿÿÿÿÿ#yÿFåÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿFæÿlÿÿÿÿÿHÿBÖÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿKõÿJñÿBÜÿ7Ãÿ0²ÿ.¬ÿ,§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ-«ÿ@ÚÿIïÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿ#Qðÿ¯´åÿÜÝÝÿÝÝÝÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿÞÞÞÿÞÞßÿßßÞÿßßßÿßÞÞÿßßÞÿßßßÿßßßÿßßßÿßßàÿàßàÿßßàÿààßÿßààÿàààÿàààÿàààÿÌÌÖÿCOªÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿz·ÿàßáÿâãâÿããâÿãããÿãããÿäääÿããäÿäãäÿãããÿäãäÿãääÿäãäÿåääÿåääÿäåäÿäåäÿåääÿäååÿ½ÁìÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ"S÷ÿÌÏîÿéééÿéêéÿêééÿéêêÿêêéÿêêêÿêêêÿëêêÿêëëÿêêëÿêëëÿêëêÿëëëÿêëêÿëëëÿëìëÿëëëÿìëìÿëìëÿëììÿììëÿëììÿìììÿìììÿììíÿìíìÿíííÿíììÿíìíÿííìÿíííÿíííÿîíîÿíííÿíîíÿîîíÿîîîÿîîíÿîîîÿîîîÿîîîÿîîïÿîïîÿîïïÿïïïÿïïîÿîïïÿïïïÿïïïÿðïïÿðïïÿïïïÿïððÿððïÿðððÿðððÿðñðÿðððÿðññÿððñÿñððÿññðÿñññÿñññÿñññÿñòñÿòññÿñòòÿòñòÿòñòÿòòòÿòòòÿòòòÿòòòÿòòóÿóòòÿóòóÿóóóÿóóóÿóóóÿóóóÿóóóÿ–––ÿ––—ÿ––—ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–––ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ—––ÿ–––ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ—–—ÿ–—–ÿ–––ÿ–——ÿ–––ÿ–––ÿ––—ÿ—––ÿ–––ÿ–––ÿ—–—ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ———ÿ——–ÿ———ÿ———ÿ———ÿ———ÿ———ÿ—˜˜ÿ˜˜˜ÿ—˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜™ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿ™™™ÿšššÿ™ššÿšš™ÿšššÿšššÿšššÿšššÿ›ššÿ›š›ÿ›ššÿ›››ÿ›ššÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ››œÿ‚‰Àÿ)UòÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿiwÚÿŸŸ¤ÿ¢¡¡ÿ¢¢¡ÿ¢¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢££ÿ£¢¢ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ¤££ÿ££¤ÿ££¤ÿ¤¤¤ÿޤÿ.?¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿin¥ÿ¦¦¦ÿ§¦§ÿ§§§ÿ¦¦§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§§ÿ¨§¨ÿ§¨¨ÿ§¨§ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ˜œ¼ÿ:\ðÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿHìÿ0±ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ*¤ÿ0±ÿ8Äÿ?ÖÿDäÿGëÿKôÿLøÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿIîÿ0¡ÿÿÿÿÿÿÿ&ƒÿDÜÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿCÚÿ$~ÿÿÿÿÿÿÿÿÿÿÿÿÿ7µÿJñÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿCÜÿ`ÿÿÿÿÿÿÿ /ÿ/ŸÿIîÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿFçÿ(‡ÿÿÿÿÿ2ÿAÓÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿL÷ÿJñÿFèÿCßÿ<Îÿ3¸ÿ,§ÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ0³ÿBàÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿ’›éÿÚÚÞÿÞÝÝÿÝÝÝÿÞÝÝÿÞÞÝÿÞÞÞÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿßßÞÿßßÞÿßßßÿßßßÿßÞßÿßßßÿßßàÿßßßÿßßßÿàààÿàßàÿàßàÿàààÿàààÿàààÿŸ¡Äÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿOY­ÿÐÐÙÿãâãÿãããÿãããÿãããÿãããÿãããÿããäÿäãäÿäãäÿäãäÿäããÿäãäÿäääÿäåäÿäååÿääåÿåäåÿäååÿ‡“òÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿO÷ÿ¥¬ñÿçèéÿéééÿêééÿêêêÿééêÿêêêÿêéêÿêêêÿêêêÿêêêÿêêêÿëêëÿêëêÿëëëÿêêëÿëëëÿëëëÿëëëÿììëÿìëëÿëëëÿëììÿìììÿìëìÿìììÿìììÿììíÿìììÿìííÿíííÿíííÿíììÿíííÿîííÿíííÿîííÿîíîÿîííÿíîîÿîíîÿîîîÿîîîÿîïîÿîïîÿïîïÿîîîÿïïïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿðïðÿðððÿðððÿðïðÿðððÿðððÿðððÿðñðÿñðñÿðññÿñðñÿñññÿñññÿñññÿñññÿòñòÿòòñÿññòÿòòñÿñòòÿòòòÿòòòÿòòòÿóóòÿòòóÿóóòÿòóòÿóóóÿóóóÿóóóÿ–––ÿ–––ÿ–––ÿ–——ÿ––—ÿ–––ÿ—–—ÿ—–—ÿ–—–ÿ—––ÿ–——ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–——ÿ–––ÿ–––ÿ–—–ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–——ÿ––—ÿ———ÿ—––ÿ–––ÿ–——ÿ–——ÿ–—–ÿ———ÿ—–—ÿ–——ÿ———ÿ———ÿ—˜—ÿ———ÿ——˜ÿ——˜ÿ˜˜˜ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ™™˜ÿ˜˜™ÿ˜˜™ÿ™™˜ÿ™™™ÿ™™™ÿ™™šÿ™™™ÿš™šÿ™š™ÿ™ššÿšš™ÿšššÿšššÿšššÿš›šÿš›šÿ››šÿ›››ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ›œÿœœœÿ‚ˆÀÿQôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ%Sôÿ”˜³ÿ¡¡¢ÿ¡¢¡ÿ¢¢¢ÿ¢¡¢ÿ¢¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢£ÿ¢¢¢ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ£££ÿ¤££ÿ¢¢£ÿƒ¤ÿ,¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ3B¥ÿ–—¦ÿ¦¦¦ÿ¦§§ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨§¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©¨ÿ©¨©ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿˆËÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿAÜÿ-©ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ+¤ÿ,©ÿ0±ÿ3¹ÿ8Äÿ>ÔÿDäÿKóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿHéÿ'‡ÿÿÿÿÿÿ 3ÿ;ÁÿIîÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿIîÿ;Ãÿ 2ÿÿÿÿÿÿÿÿÿÿÿÿ-—ÿJñÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ@ÒÿTÿÿÿÿÿÿÿ%ÿ:¿ÿHìÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿFçÿ-™ÿÿÿÿÿDÿ@ÓÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKõÿFçÿ>Ôÿ7Âÿ2¶ÿ/­ÿ+¦ÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ2¶ÿEäÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿêÿ××ÞÿÝÝÝÿÝÝÞÿÞÝÝÿÝÝÝÿÞÝÝÿÞÞÞÿÝÞÝÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßßßÿÞÞßÿßßßÿßßßÿßßßÿßààÿàßàÿàßßÿàßßÿàààÿààßÿØÙÜÿAMªÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ$9§ÿ­¯ÉÿááâÿââãÿãããÿãââÿãããÿããâÿãäãÿãããÿãããÿãããÿãäãÿäääÿääãÿäääÿäääÿåääÿäääÿåääÿØÚæÿWoõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿh{õÿÞßëÿéééÿéééÿéééÿéêêÿéêêÿéêéÿêêêÿêêêÿéêêÿêêêÿêêêÿêêêÿëêêÿëêëÿëêêÿêëêÿëëëÿëëëÿëìëÿëëëÿëìëÿëìëÿììëÿìììÿìììÿìììÿíìíÿììíÿíììÿìììÿììíÿíìíÿíííÿíííÿíííÿíîíÿíííÿîîíÿíîíÿííîÿîîîÿîîîÿîîîÿîîîÿîîîÿîïïÿîîîÿïïîÿïîïÿïïïÿïïïÿïïïÿðïïÿïððÿððïÿðïðÿïðïÿðððÿðððÿððñÿðððÿððñÿðñðÿñññÿñññÿñðñÿñññÿñòñÿñññÿññòÿñòòÿñññÿòòòÿññòÿòòòÿòòóÿòòòÿóóòÿòóòÿòóòÿóóóÿóóòÿóóóÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–——ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ––—ÿ––—ÿ—––ÿ–––ÿ––—ÿ–––ÿ–—–ÿ———ÿ–—–ÿ–––ÿ–––ÿ–——ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–—–ÿ——–ÿ–——ÿ—––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ––—ÿ––—ÿ––—ÿ——–ÿ——–ÿ———ÿ——˜ÿ———ÿ˜——ÿ˜——ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™™˜ÿ™™™ÿ™˜™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿš™šÿšššÿ™š™ÿš™šÿš™šÿšššÿšššÿš›šÿ››šÿ›››ÿ›››ÿ››šÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿ››ÿ}…Åÿ#SóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿbrÞÿ¡¡¡ÿ¡¢¡ÿ¡¢¡ÿ¡¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¡¡ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ£¢¢ÿ££¢ÿ£¢¢ÿ££¢ÿ£££ÿ£££ÿ¤££ÿ£¤£ÿ¤¤£ÿ¤¤¤ÿ¢££ÿns¥ÿ .¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿpt¥ÿ¥¥¦ÿ¦¦¦ÿ¦§§ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ¨§§ÿ¨§§ÿ¨¨§ÿ§¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨©ÿ¨¨¨ÿ©¨©ÿ©¨©ÿ¨¨©ÿ©¨¨ÿ©©©ÿ¨©ªÿo|ÜÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿ:Êÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ,¨ÿ2¶ÿ8Æÿ@ÚÿGéÿHîÿJòÿGæÿ%ÿÿÿÿÿ ÿ#xÿCÚÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿDÝÿ#{ÿÿÿÿÿÿÿÿÿÿÿÿ$xÿHëÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿA×ÿ8ÿÿÿÿÿÿÿJÿ>ÍÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿHêÿ/ÿÿÿÿÿ:ÿBÛÿLøÿL÷ÿJòÿHíÿFèÿ@Øÿ6Áÿ.­ÿ+¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¦ÿ6½ÿGêÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿ Jïÿn}ëÿÒÓßÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÞÿÝÝÝÿÝÝÞÿÝÝÝÿÞÞÞÿÝÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿßßßÿßÞÞÿÞÞßÿÞÞßÿßÞÞÿßßÞÿßßßÿßßßÿßßßÿßßàÿààßÿßßàÿàààÿ¦§Æÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ|€¸ÿààáÿãââÿãããÿââãÿâãâÿããâÿãããÿãããÿãããÿãããÿäääÿäãäÿãääÿääãÿäääÿäääÿäääÿäääÿäåäÿ¾Ãëÿ.XöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ2ZöÿÈËíÿéééÿéééÿéééÿéééÿéééÿéêéÿéééÿêêêÿêêéÿêêêÿêêêÿêêêÿëêêÿêëëÿëêêÿêëëÿëëêÿêëëÿëëëÿëëëÿëëëÿëëëÿëììÿìëëÿëìëÿìììÿìììÿìììÿìììÿìííÿíìíÿíìíÿììíÿíííÿíííÿíîíÿîîíÿíîíÿíííÿííîÿííîÿîîîÿíîîÿîîîÿîîîÿîîîÿîîîÿïïïÿïîïÿîïïÿïïïÿïïïÿïïïÿïïïÿïððÿðððÿðïïÿïðïÿïððÿðððÿðððÿðððÿððñÿðñðÿñññÿñññÿðññÿñðñÿñññÿñññÿñññÿòñòÿññòÿòòòÿòòòÿòñòÿòòòÿòòòÿóóóÿòòóÿòòòÿóòóÿóóóÿóóóÿ–––ÿ–——ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ–––ÿ—––ÿ–—–ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ––—ÿ–––ÿ–——ÿ–—–ÿ–––ÿ–––ÿ––—ÿ——–ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–——ÿ–——ÿ––—ÿ—––ÿ––—ÿ———ÿ———ÿ———ÿ———ÿ—˜—ÿ—˜—ÿ˜˜—ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜™ÿ˜˜™ÿ™˜™ÿ˜˜˜ÿ™˜™ÿ™™™ÿ˜™™ÿ™™™ÿ™™™ÿ™ššÿ™™™ÿšš™ÿ™š™ÿš™šÿšššÿšššÿš›šÿšššÿšššÿ›ššÿ›š›ÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›››ÿššÿy‚Éÿ NöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿQõÿŒ‘½ÿ¢¡¢ÿ¡¡¡ÿ¢¡¢ÿ¢¡¡ÿ¢¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ¢¢¢ÿ££¢ÿ¢¢£ÿ££¢ÿ£££ÿ¢££ÿ£££ÿ£££ÿ¤¤£ÿ££¤ÿ£¤£ÿžŸ£ÿY`¥ÿ,¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ#8¥ÿ˜™¦ÿ¦§¦ÿ¦¦¦ÿ§¦§ÿ§§¦ÿ§¦§ÿ§§§ÿ¨§§ÿ¨§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©©¨ÿ¨©¨ÿ©¨©ÿ©¨©ÿ¨¨©ÿ©©©ÿ©©©ÿ¢£²ÿSjéÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJóÿ7Áÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ*¤ÿ,§ÿ0±ÿ1¯ÿnÿÿÿÿÿ!ÿ3©ÿJðÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿJïÿ6³ÿ 5ÿÿÿÿÿÿÿÿÿÿÿ oÿGæÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ>Ëÿ 7ÿÿÿÿÿÿÿWÿ@ÕÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿFèÿ/ŸÿÿÿÿÿHÿ9Áÿ:Êÿ5½ÿ0°ÿ+¥ÿ*¤ÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ:ÊÿGêÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿVlìÿÉÌàÿÜÝÜÿÝÝÝÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÝÞÝÿÝÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßßÞÿÞÞÞÿßÞÞÿÞÞÞÿÞßßÿßßÞÿßßÞÿßàßÿààßÿààßÿàààÿàààÿ××Üÿdl±ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿV_®ÿÒÓÚÿâââÿâââÿââãÿâââÿãâãÿããâÿãããÿãããÿãããÿãäãÿãããÿãäãÿãäãÿãääÿääãÿãääÿäääÿääåÿââäÿ™¢ïÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ¨¯ðÿééèÿéèéÿéééÿéééÿéééÿéééÿêéêÿêééÿééêÿééêÿêêêÿêéêÿêêêÿêêëÿêêëÿëêêÿêêêÿëëëÿëëêÿëëëÿëëëÿëëëÿëëëÿëëëÿììëÿìììÿìììÿìììÿìììÿìíìÿìíìÿíììÿíìíÿííìÿíííÿíííÿíííÿíííÿíííÿîíîÿííîÿîîîÿîîîÿîîîÿîîîÿîîîÿîïîÿîîîÿîïîÿïîîÿïîîÿîîïÿïîïÿïïïÿïïïÿðïïÿïïðÿïðïÿðððÿðïðÿðððÿðððÿðððÿðððÿñððÿðððÿñññÿñññÿñññÿñññÿòññÿòòòÿñññÿòñòÿñòòÿññòÿòñòÿòòòÿòòòÿòòòÿòóòÿòòòÿòóòÿóóóÿóóóÿ––—ÿ–––ÿ–––ÿ–—–ÿ––—ÿ––—ÿ–––ÿ–—–ÿ––—ÿ––—ÿ–––ÿ–––ÿ—––ÿ–——ÿ–––ÿ–––ÿ—––ÿ–——ÿ—––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ—––ÿ–––ÿ––—ÿ—–—ÿ–––ÿ–——ÿ–––ÿ–––ÿ–––ÿ——–ÿ––—ÿ–——ÿ–——ÿ––—ÿ––—ÿ———ÿ———ÿ———ÿ˜——ÿ——˜ÿ˜——ÿ—˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ˜˜˜ÿ™˜˜ÿ™˜™ÿ™˜™ÿ™™™ÿš™™ÿ™™šÿ™š™ÿšššÿ™ššÿ™ššÿš™™ÿšššÿšššÿ›š›ÿšššÿš›šÿ›ššÿ›š›ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿœ››ÿ››žÿxÊÿOõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ\nâÿžž¦ÿ¡¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ£¢¢ÿ¢£¢ÿ¢¢¢ÿ¢££ÿ¢££ÿ£¢£ÿ¢££ÿ£££ÿ£££ÿ¤££ÿ¤££ÿ¤££ÿ£¤¤ÿ™™£ÿ`öÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿy‡ôÿâáèÿèèèÿèèèÿéèéÿéèéÿèèéÿééèÿéèéÿééèÿéééÿéééÿéééÿééêÿêééÿêéêÿêééÿêêêÿéêéÿêêêÿêêëÿêêêÿëëêÿêêëÿëëëÿëêêÿêëëÿëëëÿëìëÿìëëÿëëëÿìëìÿëììÿìëëÿìëìÿìììÿìììÿíììÿììíÿííìÿìíìÿííìÿíìíÿíííÿíííÿîíîÿîîíÿíîîÿííîÿîííÿîîîÿîîîÿîîîÿîîîÿïîîÿîïïÿîîîÿïîïÿîîïÿïïïÿïïïÿïïïÿïïïÿïïðÿððïÿïððÿðððÿðððÿðððÿðððÿñððÿðññÿððñÿðññÿñññÿñññÿñññÿñññÿñòñÿòòñÿñòñÿñòñÿñòòÿñòòÿòòòÿòòòÿòòòÿóòóÿòòòÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ––—ÿ——–ÿ–––ÿ––—ÿ—–—ÿ–—–ÿ—––ÿ—–—ÿ—––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ––—ÿ—–—ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ––—ÿ––—ÿ—––ÿ––—ÿ–—–ÿ——–ÿ———ÿ———ÿ———ÿ——˜ÿ——˜ÿ˜˜˜ÿ˜——ÿ˜——ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™™˜ÿ™™˜ÿ™™™ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿš™™ÿ™š™ÿšššÿšššÿšš™ÿšššÿšššÿ›ššÿ›š›ÿ››šÿ›››ÿšš›ÿ›››ÿ›››ÿœœ›ÿ›››ÿ›œ›ÿœ›œÿœ›œÿ˜š ÿnzÒÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿGbëÿ™›­ÿ¡¡¢ÿ¢¡¡ÿ¢¢¢ÿ¡¡¢ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ£¢£ÿ£¢£ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£££ÿ¤£¤ÿŸŸ¤ÿah¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ]d¥ÿ¦¦¦ÿ¦§¦ÿ§§¦ÿ§¦§ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨§ÿ§¨¨ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©¨ÿ©¨¨ÿ©¨©ÿ©©©ÿ©©©ÿ ·ÿ@^íÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿJòÿ8Åÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ)ŸÿYÿÿÿÿ 3ÿ?ÏÿKôÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿKõÿCÚÿ[ÿÿÿÿÿÿÿÿÿÿLÿAÔÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿAÓÿDÿÿÿÿÿÿÿ(ŠÿDâÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿCÞÿVÿÿÿÿÿrÿ+¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ-ªÿ=ÒÿFêÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿKìÿ©®ãÿÙÙÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÜÜÝÿÝÜÜÿÝÝÝÿÝÝÜÿÜÝÝÿÝÝÝÿÝÝÝÿÞÝÞÿÝÝÞÿÝÞÝÿÞÞÝÿÞÝÝÿÞÝÞÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿßßßÿÞÞÞÿßÞßÿÞÞßÿßßßÿÊÊÕÿ=J©ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ +.¥ÿŽ‘½ÿÞÞßÿâááÿááâÿááâÿââáÿâááÿáââÿâââÿâââÿâãâÿããâÿâãâÿâãâÿâââÿãããÿãããÿãããÿãããÿãããÿãäãÿãããÿ´ºìÿ%T÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿBböÿËÎìÿèèçÿèèèÿèèèÿèèèÿèèèÿèèèÿééèÿéééÿéééÿéèéÿéééÿéêéÿéééÿéééÿêêéÿéééÿêêéÿêéêÿêêéÿëêêÿêêêÿêêëÿêëêÿëëëÿêëêÿëëëÿëêëÿëëëÿëëëÿìëëÿëëëÿëëìÿëëìÿììëÿìììÿìììÿìíìÿìììÿìíìÿìíìÿììíÿìííÿíííÿíííÿíííÿíííÿîîíÿîîíÿííîÿîîíÿîîîÿîîîÿîîîÿîîîÿïîîÿîïîÿïïîÿïïïÿïïïÿïïïÿïïïÿïððÿïððÿïïïÿïïðÿïðïÿðððÿðððÿðððÿðñðÿðððÿñððÿñððÿðññÿñññÿñññÿñññÿññòÿñññÿññòÿòòòÿòòñÿòòñÿòòòÿòòòÿòòòÿóòòÿòòóÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–——ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ——–ÿ–––ÿ–——ÿ–—–ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ—––ÿ—–—ÿ–––ÿ–––ÿ–——ÿ—––ÿ—––ÿ———ÿ———ÿ———ÿ———ÿ———ÿ——˜ÿ˜˜˜ÿ˜—˜ÿ———ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™˜ÿ˜˜™ÿ˜™˜ÿ˜˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿš™™ÿšš™ÿšššÿšššÿšššÿšššÿšššÿšššÿš›šÿšššÿš››ÿš›šÿš››ÿ›››ÿ›››ÿœœ›ÿ›››ÿ››œÿœœœÿš›žÿo{ÒÿOöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ Möÿ{„Íÿ ¡¢ÿ¡¡¡ÿ¢¡¢ÿ¡¡¢ÿ¡¡¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ£¢£ÿ¢¢¢ÿ££¢ÿ¢££ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ¤£¤ÿ£¤¤ÿ¤¤£ÿ™š¤ÿIS¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ6¥ÿަÿ¦¦§ÿ¦¦¦ÿ¦§§ÿ§¦¦ÿ¦¦¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨¨§ÿ¨§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨¨ÿ©©¨ÿ¨©©ÿ©©¨ÿ©©¨ÿ©©¨ÿ©¨©ÿ©©©ÿ‘–Âÿ.VðÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿJñÿ6¾ÿ+¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ*¢ÿiÿÿÿÿVÿ@ÒÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿFäÿ$}ÿÿÿÿÿÿÿÿÿÿ=ÿB×ÿLöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿDÞÿLÿÿÿÿÿÿÿ&†ÿDãÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿBÞÿNÿÿÿÿ ÿ"„ÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ"8¦ÿCOªÿU^®ÿ^h»ÿJaàÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿ&Pìÿ¤ªäÿÜÛÛÿÛÛÛÿÛÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÝÜÿÜÜÝÿÝÝÜÿÜÜÝÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÞÝÝÿÝÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßßÿÞßßÿßÞÞÿÜÝÞÿ›žÂÿ0¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿV_®ÿ××Üÿáááÿáááÿâââÿáááÿâáâÿâââÿââáÿáâáÿâââÿâââÿâãâÿââãÿãããÿãââÿãããÿãããÿãããÿäããÿããäÿãäãÿàáäÿ‹–ñÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ +M÷ÿ§®ïÿçèçÿèèçÿèèèÿèçèÿéèèÿèèèÿéèéÿéèèÿéèèÿèèéÿéééÿéééÿéééÿéééÿéêêÿéééÿêééÿêéêÿêêêÿêêéÿêêêÿêêêÿêêêÿëêêÿëëêÿëêêÿëëëÿëëëÿëëëÿëëëÿëëìÿìëëÿìëìÿëììÿìììÿìììÿìììÿìììÿìììÿììíÿìììÿìííÿííìÿíìíÿíííÿíííÿíííÿíííÿíîîÿîîíÿîîîÿííîÿîîîÿîîîÿîîîÿîîîÿïîîÿïîîÿïîïÿïïïÿïïïÿïïïÿïïïÿðððÿïïïÿððïÿðððÿðððÿðððÿðððÿðñðÿðñðÿñðñÿññðÿñññÿññðÿñññÿñññÿñññÿñññÿññòÿññòÿòòñÿòòòÿññòÿòòñÿòòòÿóòòÿòòòÿ–––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ–—–ÿ—––ÿ–––ÿ–––ÿ––—ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ––—ÿ——–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–——ÿ——–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–—–ÿ––—ÿ–––ÿ—–—ÿ—––ÿ—–—ÿ———ÿ———ÿ———ÿ—˜—ÿ˜˜—ÿ—˜˜ÿ˜˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜™™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿš™™ÿšš™ÿ™š™ÿ™š™ÿšššÿšššÿšššÿšššÿš›šÿ›š›ÿšššÿš›šÿ›››ÿ›››ÿœ›œÿœ›œÿœœ›ÿ››œÿ›œœÿœœ›ÿ™š ÿlxÕÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ7[ïÿ™š­ÿ¡¡¡ÿ¡¢¢ÿ¡¡¢ÿ¢¡¢ÿ¡¡¢ÿ¢¢¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ££¢ÿ¢¢£ÿ¢£¢ÿ¢¢¢ÿ¢¢£ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤££ÿ¤£¤ÿ’’¤ÿ0@¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿ]d¥ÿ£¢¦ÿ¦¦¦ÿ§¦¦ÿ§§§ÿ§§¦ÿ§¦§ÿ¦§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ§¨§ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©©¨ÿ©¨¨ÿ©¨¨ÿ©©©ÿ©¨©ÿ©©©ÿ¨¨ªÿŠÏÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿHìÿ3¸ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿnÿÿÿÿmÿBØÿKõÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKôÿKõÿGèÿ-™ÿÿÿÿÿÿÿÿÿÿTÿCÚÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLøÿDÞÿ]ÿÿÿÿÿÿÿ%€ÿDàÿGìÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿ<Éÿ@ÿÿÿÿ +6ÿ'—ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿAM©ÿuz´ÿ—š½ÿ®°Åÿ¿¿Ìÿ§«ÚÿRhéÿGìÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿNëÿ¡§ãÿÙÙÛÿÛÜÛÿÜÛÜÿÜÜÜÿÛÜÜÿÛÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÝÝÜÿÝÜÝÿÜÜÝÿÜÝÝÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÞÿÞÞÞÿÞÝÝÿÞÝÞÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞßÿÞÞÞÿÞßßÿÞßÞÿÓÓÙÿT]­ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ2C¨ÿÂÃÒÿáááÿáááÿáááÿááâÿáááÿáââÿââáÿááâÿâââÿââáÿâââÿâââÿâââÿââãÿâââÿãããÿâããÿãããÿãããÿãããÿãããÿÖØåÿVoõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿŽóÿääéÿèçèÿççèÿèçèÿèèèÿèèèÿèèèÿèèèÿéèèÿéèéÿéèéÿéééÿèééÿéééÿéééÿéééÿêééÿêéêÿéééÿééêÿêêéÿêêêÿêêêÿëêëÿëêêÿëêêÿëêëÿêëêÿëëëÿëëëÿëëëÿëëëÿëììÿëëìÿëëìÿëëëÿììëÿìììÿìììÿìììÿíìíÿììíÿìíìÿíììÿíííÿíííÿíííÿíííÿííîÿíííÿíîíÿîîíÿîíîÿîîîÿîîîÿîîîÿîîîÿïîîÿîîïÿîîïÿïïïÿïïïÿïïïÿïïïÿïïïÿïðïÿïïðÿðïðÿðïïÿðïðÿðððÿðððÿðððÿñðñÿðñðÿðñðÿððñÿñññÿññðÿñññÿñññÿòññÿñññÿñññÿòòòÿòòòÿñòòÿòòòÿòòòÿóòóÿ–––ÿ––—ÿ–––ÿ–––ÿ—––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ——–ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ—––ÿ–—–ÿ––—ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ––—ÿ——–ÿ———ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–——ÿ—–—ÿ———ÿ———ÿ———ÿ˜——ÿ—˜—ÿ˜˜—ÿ˜—˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™™ÿ™™˜ÿ˜™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿš™šÿš™™ÿš™™ÿš™šÿ™™šÿšššÿšššÿšššÿš›šÿšššÿšššÿšššÿ›››ÿ›š›ÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›››ÿ›œ›ÿœœ›ÿ›œœÿššŸÿjwÖÿ MöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿhvÜÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¡ÿ¡¢¡ÿ¡¢¢ÿ¢¢¡ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢£ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£¤£ÿ¤¤¤ÿ¤£¤ÿŠŒ¤ÿ 7¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ3¥ÿŽ¥ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ¦§¦ÿ§¦§ÿ§§§ÿ§¦§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨§§ÿ§¨§ÿ¨¨§ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©©¨ÿ©¨¨ÿ¨©©ÿ¨¨¨ÿ©©©ÿ©©©ÿ§¨«ÿp~ÙÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿ&QëÿkrµÿR[§ÿ2B¦ÿ)<¥ÿ3¥ÿ-¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿvÿÿÿÿ qÿDàÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿHíÿ/¡ÿÿÿÿÿÿÿÿÿÿEÿDßÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿGçÿ sÿÿÿÿÿÿÿ"vÿDâÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿ3«ÿÿÿÿÿBÿ*¡ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ -¥ÿ6¦ÿ1B¨ÿEQªÿz~´ÿ£¥ÂÿÂÃÍÿÎÍÒÿÑÑÓÿÓÓÔÿÑÑÖÿ—žáÿ%PêÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿNëÿ¤ªâÿÙÚÛÿÛÛÛÿÛÛÛÿÜÛÜÿÜÜÛÿÜÜÛÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÝÝÜÿÝÜÜÿÝÝÝÿÜÝÜÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÝÝÝÿÝÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞÞÿÞÞÞÿßßÞÿÞßßÿª¬Èÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ3¦ÿšžÂÿßßàÿáààÿáàáÿááàÿáááÿáááÿâááÿâááÿââáÿââáÿâââÿâââÿâââÿâââÿâââÿãââÿâãâÿãããÿâããÿãããÿãããÿäãäÿ¿ÃêÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿRlõÿÑÓêÿçèçÿèççÿççèÿçèèÿçèèÿèèèÿèèèÿèèèÿèèèÿèééÿèééÿééèÿééèÿéééÿéééÿéééÿéééÿéêéÿêêéÿêéêÿéêêÿêêêÿêêêÿêêêÿêêëÿêëêÿêëêÿëêëÿêêëÿêëêÿëëëÿëëëÿëëëÿììëÿëìëÿìëìÿìëìÿìëìÿìììÿìììÿíìíÿìììÿìíìÿìíìÿìíìÿìííÿíííÿíííÿíííÿíííÿîíîÿííîÿîíîÿíîîÿîîîÿîîîÿîîïÿîîîÿîïïÿîïîÿïîîÿïîïÿïïïÿïïïÿïïïÿïðïÿðïðÿðïïÿðïðÿðïïÿðïðÿðððÿðððÿðñðÿððñÿññðÿñððÿññðÿññðÿñññÿñññÿòññÿñññÿñòñÿòòñÿòòòÿòòòÿòòòÿòòòÿòòòÿ––—ÿ–—–ÿ–—–ÿ–—–ÿ——–ÿ–––ÿ––—ÿ–––ÿ––—ÿ—––ÿ––—ÿ–––ÿ–—–ÿ–——ÿ–——ÿ––—ÿ–––ÿ—––ÿ———ÿ––—ÿ–——ÿ––—ÿ–—–ÿ–—–ÿ—–—ÿ–––ÿ–––ÿ—–—ÿ–——ÿ–––ÿ–——ÿ–––ÿ—––ÿ——–ÿ—––ÿ—––ÿ—––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ––—ÿ—––ÿ—––ÿ–––ÿ–—–ÿ––—ÿ———ÿ—–—ÿ———ÿ———ÿ˜˜—ÿ———ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ™˜™ÿ™˜˜ÿ™™™ÿ™™˜ÿ™™™ÿ™™™ÿš™™ÿšššÿ™ššÿš™™ÿ™™™ÿ™™šÿšš™ÿšššÿšššÿšš›ÿšššÿšš›ÿ›ššÿ›š›ÿ››šÿ›››ÿ›››ÿ››œÿœ››ÿ››œÿœ››ÿ›››ÿœ›œÿ™š¡ÿguØÿ MöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ&TóÿŽ’»ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¢¡ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£¤£ÿ£¤¤ÿ£¤£ÿ£¤¤ÿ£¢¤ÿwz¥ÿ/¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿPX¥ÿ££¦ÿ¦¦¦ÿ§¦§ÿ§¦§ÿ¦¦¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§¨ÿ§§§ÿ§¨¨ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ¨§¨ÿ¨©¨ÿ¨¨¨ÿ¨¨©ÿ©©¨ÿ¨¨¨ÿ¨©¨ÿ©©©ÿ©©©ÿ©©©ÿ£¥°ÿZnãÿKóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿMeêÿ¡£¼ÿªª®ÿœ­ÿ‰Œªÿsx©ÿ`g¨ÿHR¦ÿ5¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ$Šÿ%ÿÿÿ"zÿDàÿJôÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJóÿJòÿ3¬ÿÿÿÿÿÿÿÿÿÿXÿEáÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJðÿ)ÿÿÿÿÿÿÿkÿBÛÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿ,–ÿÿÿÿÿdÿ*¢ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ*=§ÿ[d­ÿx}´ÿ“»ÿ¦¨Âÿ½¾ËÿÐÑÒÿÔÔÔÿÕÕÔÿÔÕÕÿÕÕÕÿÕÕÕÿÂÄÙÿvƒäÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿ.Têÿ¨­áÿÚÙÚÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÛÛÜÿÜÜÛÿÜÜÛÿÜÜÜÿÛÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÜÝÝÿÜÝÜÿÜÝÜÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÞÞÿÝÞÝÿÝÝÝÿÞÞÞÿÞÞÝÿÞÞÞÿÞÞÞÿÞÞßÿßÞßÿרÛÿQ[­ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿgm²ÿÖ×ÜÿàáàÿáááÿàááÿáááÿáááÿáááÿáááÿáááÿáááÿâââÿáââÿááâÿâââÿãââÿãââÿâââÿâââÿãâãÿããâÿãââÿãããÿãããÿƒñÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ +M÷ÿ°¶îÿçççÿçççÿçççÿçèèÿçèèÿèèèÿèççÿèèèÿèèèÿèèèÿèéèÿèèéÿééèÿééèÿéééÿéééÿéééÿéééÿééêÿéééÿéêêÿêééÿéêêÿêéêÿêêêÿêêêÿêêêÿëêëÿêêëÿêëëÿëêëÿêêëÿëëëÿëëìÿëëëÿëëëÿìëëÿëìëÿìëëÿëëëÿìììÿìììÿìììÿìììÿíìíÿíìíÿìííÿíííÿíííÿíííÿííîÿíííÿííîÿîîíÿííîÿîîíÿîîîÿîîîÿîîïÿïîîÿïîîÿîîïÿïïïÿïîîÿïïîÿïïïÿïïïÿïïïÿðïïÿðïðÿïðïÿðïðÿððïÿðððÿðððÿðððÿñðñÿñððÿñññÿñðñÿñððÿñññÿñññÿñññÿñòñÿòñòÿòòñÿòòòÿñòòÿòòòÿòòòÿ––—ÿ–––ÿ–––ÿ–––ÿ——–ÿ—––ÿ––—ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ–——ÿ–––ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—–—ÿ——–ÿ–—–ÿ––—ÿ–—–ÿ—––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ—–—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–——ÿ–––ÿ—–—ÿ–—–ÿ———ÿ———ÿ—–—ÿ——–ÿ———ÿ———ÿ———ÿ˜˜—ÿ—˜—ÿ——˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ™™˜ÿ˜™˜ÿ˜™˜ÿ™™™ÿ™™™ÿ™š™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿš™šÿšššÿšššÿšššÿ›ššÿšššÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿ›››ÿ››œÿœœœÿ™š ÿfuÙÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿarßÿžž¦ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¢¡ÿ¢¡¡ÿ¢¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ£££ÿ¢¢£ÿ¢¢£ÿ£¢£ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ£¤¤ÿ£££ÿ¤¤¤ÿ¡¡£ÿdj¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿƒ¦ÿ¦¦¦ÿ¦§¦ÿ¦¦§ÿ¦§¦ÿ¦¦¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨¨¨ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©©¨ÿ©©©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿŸ·ÿ:ZìÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿNfèÿ¥¦¸ÿ®®®ÿ®®®ÿ­­¯ÿ««®ÿ¥¦®ÿŸ¡­ÿ¬ÿrv©ÿKT§ÿ3¥ÿ1¥ÿ .¥ÿ-¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ'—ÿ +3ÿÿÿ$ÿEãÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿIðÿ7·ÿ%ÿÿÿÿÿÿÿÿÿbÿIíÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKóÿ+’ÿÿÿÿÿÿÿXÿCÝÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿDáÿ!vÿÿÿÿÿ!„ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ-¥ÿ0¥ÿ4¦ÿ7F¨ÿpv²ÿ˜š½ÿ´µÆÿÄÅÍÿÊÊÏÿÎÏÑÿÓÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÔÕÔÿÕÕÔÿÓÓÔÿ©­ÞÿJcèÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿLêÿ­±áÿØØÛÿÛÛÚÿÛÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÝÿÝÜÝÿÜÜÜÿÝÝÜÿÝÜÝÿÝÝÝÿÝÝÞÿÞÞÝÿÝÝÝÿÝÝÞÿÝÞÞÿÞÝÞÿÞÝÞÿÝÞÞÿÞÞÞÿÞÞßÿ«¬Çÿ2¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ-?¨ÿÈÉÕÿàààÿààáÿáàáÿàááÿáàáÿáááÿáááÿáááÿáááÿáááÿááâÿââáÿáâáÿáââÿâââÿâââÿããâÿââãÿâââÿââãÿãâãÿãããÿÓÕæÿ.XöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿŠ—óÿäãèÿçççÿçççÿèèçÿçèèÿçèçÿçèçÿèèèÿçèèÿèèèÿèéèÿéèèÿèèèÿééèÿèèéÿééèÿéééÿéééÿéééÿéêéÿéééÿêééÿêêêÿêêéÿêêéÿêêêÿêêêÿêêêÿêêêÿëêëÿëëëÿêëêÿëëëÿëëëÿëëëÿëìëÿìëìÿëëëÿëììÿìììÿìëëÿëëìÿìììÿíììÿìììÿííìÿìíìÿíìíÿìííÿííìÿíííÿíííÿíííÿîîíÿíîíÿîîíÿîîîÿíîîÿîîîÿîîîÿîîîÿîîîÿïîïÿïïïÿïïïÿîîïÿîïïÿïïïÿïïïÿïïðÿïïïÿïðïÿïððÿïððÿðððÿðððÿðððÿðððÿðððÿñðñÿñðñÿðððÿðñðÿñññÿñññÿòññÿñòñÿññòÿñòñÿòñòÿòòòÿòòòÿ—––ÿ–—–ÿ——–ÿ–—–ÿ––—ÿ——–ÿ–—–ÿ—––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ—––ÿ–––ÿ——–ÿ—–—ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ—–—ÿ––—ÿ–––ÿ—––ÿ———ÿ—––ÿ–——ÿ———ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ˜——ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜™™ÿ˜™™ÿ˜™™ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿš™šÿšššÿšššÿšš›ÿš››ÿ›ššÿšš›ÿ››šÿ›››ÿ›š›ÿ›››ÿ›››ÿ››œÿœ››ÿœ›œÿœœœÿœœ›ÿœœœÿ™š ÿdsÚÿNöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿOöÿ‹¾ÿ¡¡¡ÿ¢¢¡ÿ¡¡¡ÿ¢¡¢ÿ¡¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ¢¢¢ÿ£¢£ÿ¢£¢ÿ¢££ÿ¢££ÿ£££ÿ£££ÿ¤££ÿ£¤£ÿ¤££ÿ£¤£ÿ¤¤¤ÿŸž¤ÿSZ¥ÿ,¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿDO¥ÿž¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©¨ÿ©©©ÿ¨©©ÿ©¨©ÿ©©©ÿ©©©ÿ•™¾ÿ3WíÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿNfèÿ¡£»ÿ®®¯ÿ®®®ÿ®®®ÿ®®¯ÿ¯®®ÿ¯¯¯ÿ¯¯®ÿ¯¯¯ÿ¬¬¯ÿœ­ÿˆŠ«ÿns©ÿYa§ÿIS§ÿ2B¦ÿ-¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ)žÿHÿÿÿ!tÿEáÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿJòÿ5²ÿ 2ÿÿÿÿÿÿÿÿÿkÿHëÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLöÿ5®ÿ ÿÿÿÿÿÿSÿ@×ÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿ>ÏÿBÿÿÿÿÿ'•ÿ+¥ÿ+¥ÿ4¦ÿAN©ÿZb­ÿms±ÿ‡Š¸ÿ¥§Áÿ¼¾ÊÿÐÐÒÿÓÓÓÿÓÓÔÿÓÓÔÿÓÔÔÿÔÓÔÿÔÓÔÿÔÓÓÿÓÓÔÿÔÔÔÿÕÔÔÿÕÔÔÿÕÕÕÿÊËÖÿ‘˜áÿ"NêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿ?\èÿ±µàÿÛÚÚÿÚÚÚÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÜÛÛÿÛÛÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÜÝÜÿÜÜÝÿÜÝÜÿÝÝÝÿÜÝÜÿÝÝÝÿÝÝÝÿÝÝÞÿÞÝÞÿÝÞÞÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÖÖÚÿms³ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ5¦ÿ§©ÆÿÞÞßÿàààÿàààÿàààÿááàÿáááÿáááÿááàÿáááÿáááÿáááÿáââÿáâáÿáááÿâáâÿâââÿâââÿâââÿââãÿâââÿâãâÿãããÿãããÿ¤«íÿ +M÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿZqõÿØØéÿçççÿæççÿçççÿçççÿçççÿçèèÿççèÿèçèÿèèçÿçèèÿèèèÿèèèÿèèèÿèèèÿéèéÿéèèÿééèÿéééÿéééÿéééÿéééÿéééÿéêéÿêêêÿêéêÿêêêÿêêêÿêêêÿêêêÿëêëÿêêêÿêêëÿëëëÿëëëÿêëëÿëëëÿìëëÿììëÿëëìÿìëìÿëììÿìììÿëìëÿìììÿììíÿììíÿìíìÿíììÿìííÿíííÿíííÿíííÿíííÿíííÿîíîÿíííÿíííÿîîîÿîíîÿîîîÿîîîÿîïîÿîïïÿïîïÿîïïÿîîîÿîïïÿïïïÿïïïÿïðïÿïðïÿððïÿððïÿïððÿðððÿïððÿñððÿñðñÿðððÿðððÿðððÿñññÿððñÿñññÿñññÿñññÿñññÿòññÿòñòÿòòñÿòñòÿòòòÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ——–ÿ–—–ÿ–—–ÿ–––ÿ–—–ÿ––—ÿ–––ÿ––—ÿ—–—ÿ—–—ÿ–—–ÿ–—–ÿ–––ÿ––—ÿ––—ÿ–––ÿ–—–ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—–—ÿ–––ÿ–——ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ–——ÿ———ÿ–—–ÿ———ÿ———ÿ———ÿ——˜ÿ˜——ÿ˜——ÿ˜——ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ˜˜˜ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿ™š™ÿš™™ÿšš™ÿ™ššÿ™™šÿš™šÿšššÿšššÿšššÿšššÿšš›ÿš›šÿš››ÿš›šÿ›››ÿ›š›ÿ›››ÿ›››ÿ›œ›ÿ››œÿœœ›ÿ›œœÿ›œ›ÿœœœÿ˜™£ÿbrÚÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿC`ìÿ¨ÿ¡¡¡ÿ¡¡¡ÿ¡¢¢ÿ¡¡¡ÿ¢¡¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ¢£¢ÿ£¢¢ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤££ÿ£¤£ÿ¤¤¤ÿ£¤¤ÿ––¤ÿ9F¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ/¥ÿ~€¦ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§§ÿ§¦¦ÿ¦§¦ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨§§ÿ¨¨§ÿ¨§¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ¨¨¨ÿ©©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©«ÿ‰Èÿ$QîÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿMeçÿ £»ÿ®®®ÿ¯®®ÿ¯®®ÿ¯®¯ÿ®¯®ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ¯¯°ÿ¬¬°ÿ¥¥¯ÿŸ®ÿ”–­ÿ‚…«ÿkp©ÿIS§ÿ/£ÿgÿÿÿ"yÿEàÿJòÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJñÿJòÿ:Àÿ +/ÿÿÿÿÿÿÿÿ ÿ'…ÿHìÿL÷ÿLøÿLøÿLøÿLøÿLøÿLøÿLøÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿMùÿ9ºÿÿÿÿÿÿÿ 0ÿ=ÌÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFêÿ9Àÿÿÿÿÿ7:Xÿ‡‹³ÿ£¥Àÿ´µÆÿ¾¿ÊÿÆÇÍÿÐÐÑÿÓÓÒÿÓÒÓÿÒÒÒÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÔÿÓÔÓÿÓÔÔÿÓÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿº¼ÙÿgwåÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿ?\èÿ¹¼ßÿÙÙÚÿÚÚÚÿÚÛÚÿÚÛÛÿÛÛÚÿÚÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÛÛÿÜÜÜÿÛÜÜÿÜÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÝÜÝÿÜÝÜÿÜÝÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÞÝÿÞÞÝÿÞÞÝÿÞÝÞÿÞÝÝÿÞÞÞÿ½¾Ïÿ#9§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿrx´ÿÙØÜÿààßÿàààÿàààÿàáàÿàáàÿààáÿáááÿáááÿáááÿáááÿáâáÿâááÿâáâÿááâÿââáÿâââÿâââÿâââÿâãâÿâãâÿããâÿãããÿÚÛäÿn€óÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ)V÷ÿ¸¾íÿååçÿçæçÿçççÿççæÿçççÿçççÿèççÿçèçÿèççÿèèèÿèèçÿèèèÿèèèÿèèèÿèèèÿèéèÿéèéÿèéèÿééèÿéééÿèééÿéêéÿéêéÿéééÿêêéÿêêéÿêêêÿéêêÿêêêÿêêêÿëêëÿêêêÿêêêÿêêëÿëêêÿëëëÿëëëÿëëëÿëìëÿëëëÿëëëÿëììÿìììÿìììÿìììÿìììÿìììÿìììÿìíìÿìììÿìííÿííìÿíííÿíííÿíííÿîíîÿííîÿííîÿíîíÿîîíÿííîÿîîîÿîîîÿîîîÿïïîÿîïïÿîïîÿîïîÿïïïÿïïïÿïðïÿïïðÿððïÿïðïÿðïðÿðððÿðððÿðððÿðððÿðððÿñððÿðððÿñðñÿððñÿññðÿñññÿñññÿññòÿòòñÿòññÿòññÿòñòÿòòòÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ–––ÿ–——ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–—–ÿ–––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ—––ÿ–––ÿ—––ÿ–––ÿ––—ÿ—––ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ–––ÿ––—ÿ—–—ÿ–––ÿ––—ÿ—––ÿ—––ÿ––—ÿ–—–ÿ——–ÿ——–ÿ———ÿ———ÿ———ÿ˜—˜ÿ˜——ÿ—˜˜ÿ˜——ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™™ÿ˜™™ÿ™˜˜ÿ˜™˜ÿ™™˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿšš™ÿš™šÿšššÿšššÿšššÿšššÿšššÿ›š›ÿ›š›ÿ›ššÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿ›››ÿ›œ›ÿœ››ÿœœœÿœœœÿšš ÿarÜÿ NöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ NöÿtÓÿ¡¡¢ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¢ÿ¡¢¢ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ£¢£ÿ£££ÿ£¢¢ÿ££¢ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤££ÿ¤£¤ÿ££¤ÿŽŽ¤ÿ$9¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ8F¥ÿžŸ¦ÿ¦¦¦ÿ¦§¦ÿ¦§¦ÿ¦¦§ÿ¦¦¦ÿ¦§§ÿ§¦§ÿ§§§ÿ§§§ÿ§¨§ÿ¨¨§ÿ§§§ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨©¨ÿ¨©¨ÿ¨©©ÿ¨©©ÿ©©©ÿ©©©ÿ©ª©ÿy‚ÒÿLðÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿ@]êÿž¡½ÿ­­¯ÿ®®®ÿ¯®¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ°°¯ÿ¯¯°ÿ°°¯ÿ°°°ÿ¯¯°ÿ¯¯°ÿ¯®±ÿššœÿÿÿgÿCÝÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿIñÿ7·ÿ +2ÿÿÿÿÿÿÿÿÿoÿ,¦ÿ-©ÿ.­ÿ.­ÿ0±ÿ0²ÿ1µÿ2¶ÿ3¹ÿ4»ÿ4»ÿ4»ÿ5¾ÿ5¿ÿ5¿ÿ5¿ÿ5¿ÿ5¿ÿ6¿ÿ7Ãÿ7Âÿ5¿ÿ5¿ÿ5¿ÿ5¿ÿ5½ÿ4»ÿ4»ÿ4ºÿ,Ÿÿ 2ÿÿÿÿÿÿ -ÿ:ÂÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿEåÿ,–ÿ ÿÿÿ]]]ÿÉÉÊÿÑÐÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÒÒÓÿÓÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÔÔÿÓÔÔÿÔÓÓÿÓÔÓÿÔÔÔÿÔÔÓÿÎÏÕÿ¤©Ýÿ3UèÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿFéÿ GéÿQgçÿÃÄÞÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÚÚÚÿÛÚÛÿÚÛÛÿÛÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÛÛÿÛÜÜÿÜÜÛÿÛÛÜÿÜÜÜÿÜÜÜÿÜÝÝÿÜÝÜÿÝÝÜÿÜÝÜÿÝÜÜÿÜÝÜÿÝÝÝÿÝÜÝÿÝÝÞÿÝÝÝÿÝÝÝÿÞÞÞÿÞÞÞÿÞÝÞÿÜÜÝÿ}‚·ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ;I©ÿÌÍÖÿàààÿàßàÿàààÿáààÿàààÿáááÿààáÿáááÿàááÿáááÿáááÿáááÿáááÿáááÿâááÿáââÿâááÿâââÿâââÿâââÿãââÿãââÿâãâÿÆÊèÿ:]öÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿŒ˜òÿçææÿææçÿæææÿææçÿçççÿçççÿçççÿèççÿçèèÿçèèÿèççÿèèèÿèèèÿèçèÿèèèÿèèèÿèèèÿèèèÿèèèÿéèéÿéèéÿéééÿéééÿêééÿéééÿééêÿéééÿêêêÿéêêÿêêêÿêêêÿêêêÿêêêÿêêêÿêëëÿëêëÿëêëÿëëëÿëëëÿëëëÿìëëÿìëëÿìëìÿëììÿìììÿììëÿìììÿìììÿìíìÿìììÿíììÿìíìÿìíìÿííìÿíííÿíîíÿíííÿîííÿîíîÿíîíÿííîÿîîîÿíîîÿîîîÿîîîÿïîîÿîïîÿîïïÿïîïÿîïïÿïïïÿïïïÿïïïÿïïïÿïïðÿïððÿïïïÿðððÿðððÿðððÿðððÿñððÿððñÿñðñÿðððÿñðñÿñññÿñññÿññòÿñòñÿòñòÿñòñÿñññÿòññÿ–—–ÿ–––ÿ—–—ÿ——–ÿ––—ÿ–––ÿ—––ÿ––—ÿ–––ÿ–——ÿ––—ÿ–––ÿ–––ÿ––—ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ——–ÿ–—–ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ—–—ÿ––—ÿ——–ÿ—––ÿ––—ÿ–——ÿ––—ÿ–––ÿ—–—ÿ—––ÿ–––ÿ—––ÿ—––ÿ—–—ÿ–––ÿ–——ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ—–—ÿ—––ÿ—–—ÿ———ÿ———ÿ———ÿ˜˜—ÿ˜—˜ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ˜™˜ÿ˜™˜ÿ˜™˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšššÿšš™ÿšš™ÿ™™™ÿšššÿšššÿšššÿšššÿš››ÿ›ššÿš›šÿ›ššÿ›››ÿ›››ÿ›››ÿ›››ÿ››œÿœ›œÿ›››ÿ›œ›ÿ›œœÿœœœÿœœœÿ—˜¤ÿbrÛÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ7[ïÿ“—³ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢£¢ÿ¢£¢ÿ¢¢£ÿ£££ÿ£££ÿ¢¢¢ÿ£££ÿ£¤£ÿ£¤£ÿ¤££ÿ£¤¤ÿ¤£¤ÿ¤¤¤ÿ‚¤ÿ5¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿot¥ÿ¥¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§¦ÿ¦¦¦ÿ¦¦§ÿ§¦§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ§§¨ÿ§§§ÿ§¨§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©¨ÿ¨¨¨ÿ©¨¨ÿ©¨©ÿ¨©©ÿ©©¨ÿ©©©ÿ©©ªÿ¨¨ªÿq}×ÿ +JðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿ>\êÿ“—Æÿ®®¯ÿ®®¯ÿ¯®¯ÿ¯®¯ÿ¯¯®ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯°¯ÿ¯¯¯ÿ°¯°ÿ°¯°ÿ°°°ÿ°°°ÿ°°°ÿ‹‹‹ÿÿSÿAÖÿIñÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿJòÿ8¼ÿ +ÿÿÿÿÿÿÿÿÿvÿ+£ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¤ÿ+¥ÿ+¥ÿ(™ÿ ?ÿÿÿÿÿÿ'ÿ4®ÿEæÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿAØÿOÿÿÿ\]]ÿÊËËÿÑÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÒÓÒÿÒÒÒÿÓÓÓÿÓÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÓÔÔÿÓÓÔÿ¿ÁØÿx„ãÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿctæÿÃÆÝÿÚÙÙÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÚÿÛÛÛÿÛÛÚÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÛÛÛÿÛÜÜÿÜÜÜÿÛÛÛÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÝÜÝÿÜÝÜÿÝÝÜÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÞÝÞÿÞÝÞÿÄÄÒÿ2¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ5¦ÿ°²Êÿàßàÿàßàÿàààÿàààÿàààÿàààÿààáÿáààÿáááÿàáàÿááàÿáááÿáááÿáááÿáâáÿâááÿáââÿâââÿááâÿâââÿâââÿâââÿâââÿâââÿ¡¨îÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿfzôÿÛÝèÿæææÿæææÿçæçÿçççÿææçÿçççÿçççÿèççÿççèÿèèçÿçèèÿçççÿçèçÿçèçÿèèèÿèèèÿéèèÿèèèÿèèéÿèèèÿéèéÿéééÿéééÿéééÿéêéÿéêéÿêééÿêééÿêéêÿêêêÿêêêÿêêêÿëëêÿëêêÿêëëÿêëëÿëëêÿëëëÿëëëÿëëëÿëëëÿëëìÿëëëÿëììÿìëëÿëììÿìëìÿìììÿìíìÿííìÿììíÿìíìÿííìÿííìÿíííÿìííÿíííÿíííÿîííÿíîíÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿïïïÿîîîÿïïîÿïîïÿïïïÿïïïÿïïïÿïïïÿïïïÿïïðÿðïðÿïïðÿðððÿðððÿðððÿñððÿñððÿðððÿññðÿñððÿñññÿñññÿñññÿñòñÿòñòÿñññÿñòñÿòñòÿ––—ÿ–––ÿ–––ÿ––—ÿ––—ÿ—–—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ––—ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–——ÿ–––ÿ———ÿ–––ÿ——–ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–—–ÿ–—–ÿ––—ÿ––—ÿ–—–ÿ–––ÿ––—ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ——–ÿ–––ÿ–—–ÿ——–ÿ—––ÿ–—–ÿ—–—ÿ———ÿ–——ÿ———ÿ———ÿ———ÿ——˜ÿ˜——ÿ˜˜˜ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™˜˜ÿ˜™˜ÿ˜™˜ÿ˜™™ÿ™™™ÿ˜˜™ÿ™˜™ÿ™™™ÿšš™ÿ™™šÿšš™ÿ™ššÿ™ššÿ™ššÿšš™ÿšššÿ›ššÿšššÿ›š›ÿš››ÿš››ÿ›››ÿ›››ÿ›››ÿœ››ÿ››œÿœ››ÿ››œÿ›œœÿœ›œÿœœœÿœœœÿ™š¡ÿbrÜÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿhvÛÿ  £ÿ ¡¡ÿ¢¢¢ÿ¡¢¡ÿ¡¡¢ÿ¢¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢££ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ££¤ÿ¤£¤ÿ£¤£ÿ¢¢¤ÿko¥ÿ +.¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ0@¥ÿ•–¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ¦§§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§§ÿ§¨§ÿ¨¨§ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨©¨ÿ©¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿ£¤°ÿ]nàÿJðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿ'Ríÿ‰Íÿ­®¯ÿ®¯®ÿ¯¯®ÿ®¯®ÿ®®¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ¯¯¯ÿ¯°¯ÿ°¯¯ÿ°°°ÿ°°¯ÿ°°°ÿ‹‹‹ÿAÿ@ÔÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIðÿIïÿ7¸ÿ,ÿÿÿÿÿÿÿÿÿ"‡ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ*¢ÿDÿÿÿÿÿÿÿ+‘ÿEæÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿ=Ëÿÿÿ\\\ÿÊËËÿÑÑÒÿÒÒÑÿÒÑÑÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÓÒÿÓÓÒÿÒÒÓÿÓÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÑÑÔÿ¦ªÝÿ=Zçÿ GèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿFèÿ Gèÿu‚äÿÎÏÚÿÙÚÙÿÙÚÙÿÚÙÙÿÚÚÚÿÚÚÚÿÚÚÚÿÛÛÚÿÛÚÚÿÛÛÚÿÚÛÚÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÛÜÿÛÛÛÿÜÛÜÿÛÛÛÿÜÛÛÿÜÜÛÿÜÜÛÿÜÜÝÿÜÜÜÿÜÜÜÿÝÝÝÿÝÜÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÞÝÿÝÞÝÿÞÝÝÿÞÞÝÿ}·ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ +.¥ÿ†¹ÿÙÚÝÿààßÿàßàÿàßàÿàààÿàààÿàááÿàááÿààáÿààáÿáàáÿàáàÿáááÿáááÿáâáÿáááÿáááÿááâÿáâáÿáâáÿâáâÿâââÿâââÿâãâÿÝÞãÿSlõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ9]öÿ¿Äìÿæææÿæææÿæçæÿæææÿçççÿæççÿçæçÿçççÿçççÿçççÿçççÿççèÿçèçÿçèèÿèèèÿèèçÿèèèÿèèèÿéèèÿééèÿèééÿèééÿèééÿéééÿéééÿéééÿêééÿéêêÿééêÿêéêÿéééÿêéêÿêêêÿêêêÿêêêÿêêêÿëêëÿêëêÿëêëÿëëêÿëëëÿëëëÿëììÿëëëÿëëìÿìììÿììëÿìëëÿìììÿìììÿííìÿìììÿìííÿììíÿíííÿíííÿíííÿíííÿíííÿííîÿíîîÿîîíÿíîîÿíîîÿîîîÿîîîÿîîîÿïïîÿïïïÿîîïÿîîîÿîïïÿïïïÿïïïÿïïïÿïïïÿïïïÿðïïÿïððÿððïÿðððÿðððÿðððÿðððÿðððÿðððÿñððÿñññÿñññÿñññÿñññÿñññÿñññÿñòòÿñòòÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–——ÿ–––ÿ—––ÿ–––ÿ––—ÿ––—ÿ—––ÿ—–—ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–––ÿ––—ÿ–—–ÿ–—–ÿ—––ÿ–——ÿ––—ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–——ÿ——–ÿ———ÿ—––ÿ———ÿ———ÿ—˜—ÿ——˜ÿ—˜—ÿ˜˜—ÿ˜——ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™˜˜ÿ˜˜˜ÿ˜˜™ÿ˜™˜ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿšš™ÿšššÿšš™ÿšššÿšš›ÿš›šÿ›ššÿš››ÿ›ššÿš››ÿ››šÿ›››ÿ›››ÿ›››ÿœ››ÿœ››ÿ›››ÿœœœÿœœœÿœœœÿœœœÿ™™¢ÿcrÛÿ MöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ Möÿ‹¾ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ¢¢¢ÿ¢¢£ÿ¢££ÿ¢££ÿ¢££ÿ££¢ÿ£££ÿ£¤¤ÿ£££ÿ£¤¤ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿŸ ¤ÿZa¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿhm¥ÿ££¦ÿ¦¦¦ÿ¦¦§ÿ§¦§ÿ§¦¦ÿ¦§¦ÿ¦§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§¨ÿ¨§§ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©ªÿª©©ÿ ¢³ÿUiâÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿOíÿz„Ôÿ¨©µÿ¯¯¯ÿ¯¯®ÿ¯¯¯ÿ®®¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ¯¯¯ÿ¯°°ÿ°¯¯ÿ°°¯ÿ°°°ÿ‰‰Žÿ:¿ÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿIïÿJñÿ4¯ÿÿÿÿÿÿÿÿÿÿ%ÿ+¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ*¢ÿaÿÿÿÿÿÿÿ%ÿDåÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿDåÿ-œÿÿ\\\ÿÊÊÊÿÑÒÑÿÒÒÒÿÑÒÒÿÒÑÒÿÒÒÒÿÓÒÒÿÒÒÒÿÒÓÒÿÒÓÓÿÓÓÓÿÒÒÓÿÓÓÓÿÏÏÔÿÁÃ×ÿ±¶Úÿ€‹áÿIçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿ‰’âÿÒÓÚÿÙÙÙÿÚÙÙÿÙÙÚÿÙÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÚÛÛÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÜÛÿÛÛÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÜÝÜÿÜÝÝÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÝÞÞÿÃÃÑÿ>Kªÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿLV¬ÿÍÍÖÿßßßÿßààÿàßàÿßßàÿààßÿàààÿàààÿáààÿááàÿàààÿááàÿáááÿáàáÿááàÿáááÿáááÿáââÿâáâÿáââÿáââÿââáÿâáâÿáââÿâââÿ»¿êÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ—¡ñÿäååÿæææÿæææÿæææÿæææÿçæçÿçççÿææçÿæççÿçæçÿçççÿççèÿèççÿèçèÿçèçÿèèèÿèèçÿèèèÿèèèÿèèèÿèèéÿèèéÿèèèÿèéèÿèééÿéééÿéééÿêééÿéééÿéêêÿêêéÿéééÿéééÿêêêÿêêêÿêêêÿêêêÿêëëÿëêëÿëêëÿêëêÿëëêÿëëëÿëëëÿëëëÿëëìÿìëëÿìììÿìììÿëììÿìììÿìììÿíììÿììíÿìíìÿííìÿíííÿííìÿíííÿíííÿíííÿíííÿíîîÿíîîÿîíîÿîîîÿîîîÿîîîÿîîîÿîîïÿïîîÿïîîÿïïîÿïîïÿïîïÿïîïÿïïïÿïðïÿïïïÿïðïÿðððÿðïðÿðððÿðððÿðððÿðððÿðððÿññðÿððñÿññðÿññðÿñññÿñññÿñññÿòññÿòòñÿ––—ÿ—––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ––—ÿ––—ÿ–––ÿ––—ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ—––ÿ–——ÿ–––ÿ–—–ÿ——–ÿ—––ÿ–——ÿ–––ÿ—–—ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–——ÿ–––ÿ––—ÿ––—ÿ———ÿ—–—ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–——ÿ—––ÿ——–ÿ––—ÿ——–ÿ—–—ÿ—––ÿ———ÿ———ÿ———ÿ—˜—ÿ——˜ÿ———ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™™ÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™šÿ™š™ÿ™™šÿšššÿ™ššÿšššÿšššÿšššÿ›š›ÿ›››ÿ›ššÿ›š›ÿšš›ÿ›››ÿ››œÿ››œÿ›››ÿ››œÿ›››ÿœœœÿœ›œÿœœœÿœœœÿ˜™£ÿbrÜÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿKeéÿ›œªÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¢ÿ¡¢¡ÿ¡¡¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢£ÿ¢¢£ÿ¢££ÿ£££ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ¤£¤ÿ¤£¤ÿ™™¤ÿIS¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ3¥ÿ¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ§¦¦ÿ¦§§ÿ¦§§ÿ§¦§ÿ§§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ§§¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©¨¨ÿ©©©ÿ¨¨©ÿ©¨¨ÿ©©©ÿ©©©ÿª©©ÿœŸ·ÿKcåÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿJîÿXkãÿŸ¡¼ÿ¯¯¯ÿ®®¯ÿ¯¯®ÿ¯®®ÿ®¯¯ÿ¯¯¯ÿ¯¯°ÿ°¯°ÿ¯°°ÿ¯°°ÿ°°°ÿ®¯²ÿ[jÎÿHîÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHïÿHîÿ4²ÿÿÿÿÿÿÿÿÿ <ÿ'•ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¤ÿ!ÿÿÿÿÿÿÿgÿAÛÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿAÛÿaÿ\\\ÿÊÊÊÿÑÒÒÿÒÑÒÿÑÒÒÿÒÑÒÿÒÒÒÿÒÒÒÿÓÒÓÿÑÑÒÿÒÒÒÿÇÇÕÿ©¯Úÿ€‹áÿ`qäÿJbåÿ'OæÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿEçÿ"Mçÿ¢¨àÿÔÔÙÿÙÙÙÿÙÙÙÿÙÚÙÿÚÙÙÿÚÙÙÿÙÙÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÛÿÚÚÚÿÚÚÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÜÛÿÛÛÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÜÝÝÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÞÿÚÚÜÿŠ»ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ0¦ÿ¸ºÍÿßßßÿßßßÿààßÿßàßÿàßàÿßàßÿàààÿàààÿàààÿàààÿàáàÿááàÿàààÿááàÿàááÿàááÿáááÿáááÿáâáÿáââÿáâáÿâááÿâââÿáâáÿâââÿx‡óÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿj}ôÿÞßçÿæææÿææåÿæææÿæææÿææçÿæææÿçççÿæççÿççæÿçççÿçççÿçççÿççèÿèèçÿçççÿçççÿèççÿèèèÿèèèÿèèèÿéééÿèèéÿèèèÿéèéÿèééÿéééÿéééÿéééÿéééÿéééÿééêÿêêéÿéêéÿêêêÿêêêÿêêêÿêêêÿêêêÿëêëÿëëêÿëëêÿêëëÿëëëÿëëêÿëëëÿëëëÿìëëÿëëëÿëììÿìììÿìììÿìëìÿììíÿìììÿìììÿííìÿíííÿíìíÿíííÿíìíÿíîíÿíííÿíîíÿíîíÿîîîÿíîíÿîîîÿîîîÿîîîÿîîîÿîîîÿîïîÿîïïÿïïïÿïïïÿïïïÿïïïÿïðïÿïðïÿðïïÿðïðÿïðïÿïïðÿðððÿðððÿñðñÿðððÿððñÿññðÿðññÿðññÿñññÿñññÿñññÿññòÿòñòÿ—––ÿ–––ÿ–——ÿ—––ÿ——–ÿ–––ÿ–––ÿ—––ÿ–—–ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ–—–ÿ––—ÿ–—–ÿ—––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ——–ÿ–——ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–——ÿ——–ÿ–––ÿ—–—ÿ––—ÿ––—ÿ—––ÿ––—ÿ–––ÿ–——ÿ–––ÿ–––ÿ—–—ÿ—–—ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ—˜—ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜™˜ÿ™™˜ÿ˜™™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšššÿ™™™ÿš™šÿšššÿšššÿšš›ÿšššÿ››šÿ›š›ÿ›š›ÿ›››ÿ›››ÿ›››ÿ›œ›ÿœ›œÿ›››ÿ›œœÿœ›œÿœœœÿœœ›ÿ›œœÿœœœÿ™š ÿbsÛÿNöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿOöÿ|„Ìÿ  ¢ÿ¡¡ ÿ¡¡¡ÿ¢¡¡ÿ¡¡¢ÿ¢¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢£ÿ¢££ÿ£££ÿ£¢£ÿ££¢ÿ£££ÿ¤¤£ÿ£££ÿ£¤£ÿ££¤ÿ££¤ÿ¤£¤ÿ¥ÿ1A¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ?K¥ÿ  ¦ÿ¦¦¦ÿ¦¦§ÿ§¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§¨ÿ¨§§ÿ¨¨§ÿ§¨¨ÿ¨§¨ÿ§¨¨ÿ¨¨§ÿ©¨¨ÿ¨©¨ÿ¨¨¨ÿ¨¨©ÿ¨©©ÿ©©¨ÿ©©©ÿ©©©ÿ©ª©ÿª©ªÿ©©©ÿ•™½ÿ;ZèÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿ>[èÿ•Çÿª¬²ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯¯ÿ°°°ÿ®®±ÿ~†ÓÿLíÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿGìÿ.œÿÿÿÿÿÿÿÿÿWÿ)žÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿ%ÿÿÿÿÿÿÿIÿ>ÏÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEçÿ6µÿ\]_ÿÊËÊÿÑÒÑÿÑÑÒÿÑÒÑÿÏÐÓÿÇÈÔÿ¾ÀÖÿ«°Úÿˆ‘ßÿRgäÿHæÿFæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿG`åÿ«°ÞÿרØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÚÚÙÿÙÚÙÿÙÚÙÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÚÚÚÿÚÛÛÿÚÛÚÿÚÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÜÛÿÜÜÛÿÜÛÛÿÛÛÜÿÜÜÜÿÜÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÝÿÝÜÜÿÜÜÝÿÝÝÝÿÝÝÜÿÝÝÝÿÝÝÝÿÅÆÒÿ5¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ0¦ÿŽ“½ÿÚÛÝÿßßßÿßßßÿßßàÿßßßÿààßÿßàßÿàßàÿàààÿßàßÿàààÿàáàÿàààÿàáàÿááàÿáàáÿáàáÿàááÿáááÿáááÿââáÿââáÿâááÿáááÿáâáÿÍÏæÿEdõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ?`öÿÊÌéÿåååÿåæåÿæææÿæææÿæææÿæææÿæææÿæææÿææçÿçææÿæçæÿçççÿçççÿçççÿçèçÿçèçÿçèçÿçèçÿèççÿèèèÿèèèÿèèèÿèéèÿèéèÿéèéÿèééÿééèÿèééÿéééÿéééÿéééÿéêéÿééêÿêêéÿêêêÿêéêÿêêêÿêêêÿêêëÿêêëÿëêëÿêêëÿëëêÿëêêÿëëëÿëëëÿëëëÿëëìÿìëëÿëëìÿëìëÿëëìÿìëìÿìììÿííìÿíììÿìììÿìíìÿìííÿííìÿìííÿíííÿíííÿíííÿíîíÿîîîÿîííÿîîîÿîîîÿîîîÿîîîÿîîîÿîîïÿïïîÿîïïÿîîïÿïïïÿïïïÿïïïÿðïïÿïððÿïðïÿïðïÿðïïÿðððÿððïÿðððÿñððÿññðÿðñðÿñððÿñññÿñññÿðññÿñññÿñññÿñòòÿ——–ÿ–––ÿ––—ÿ––—ÿ–—–ÿ––—ÿ––—ÿ–—–ÿ—––ÿ–——ÿ–—–ÿ—–—ÿ–––ÿ–––ÿ––—ÿ—––ÿ–––ÿ—–—ÿ—–—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–——ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ––—ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ—––ÿ–––ÿ–——ÿ–––ÿ–—–ÿ–—–ÿ—–—ÿ—––ÿ–––ÿ––—ÿ—–—ÿ––—ÿ–––ÿ–——ÿ––—ÿ–––ÿ–––ÿ—––ÿ—–—ÿ–——ÿ———ÿ———ÿ———ÿ———ÿ—˜—ÿ—˜—ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™™ÿ˜™™ÿ™™™ÿ˜˜™ÿ˜˜™ÿ˜˜™ÿ™™™ÿ™™™ÿ™™™ÿ™ššÿ™ššÿš™šÿšššÿšš™ÿšššÿšššÿšššÿšššÿšš›ÿšš›ÿšš›ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿ›››ÿœ›œÿœ››ÿœœœÿœœœÿœœœÿœœÿ—˜¤ÿ`qÜÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ9[ïÿ™›¬ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¢ÿ¢¡¢ÿ¢¡¡ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢£¢ÿ££¢ÿ¢£¢ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤££ÿ£¤£ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ†ˆ¤ÿ2¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿpu¥ÿ¤¥¦ÿ¦¥¦ÿ§¦¦ÿ¦¦§ÿ¦¦§ÿ§¦§ÿ§§§ÿ§¦¦ÿ¦§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨¨ÿ¨¨¨ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ¨¨©ÿ©©©ÿ©¨©ÿ©©©ÿ©¨©ÿ©ª©ÿ©ª©ÿ©©©ÿ’–Àÿ0UêÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿLíÿiwÛÿ¢¥ºÿ¯®®ÿ¯¯¯ÿ¯®¯ÿ¯¯¯ÿ¯¯¯ÿ¯°¯ÿ°¯°ÿ–Éÿ#PìÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿHîÿGêÿ.ÿÿÿÿÿÿÿÿÿcÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ'–ÿ 9ÿÿÿÿÿÿ *ÿ9¿ÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿ\d¢ÿËËËÿËËÒÿµ·ØÿšŸÜÿy„àÿ]oãÿ3TåÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿEæÿbsäÿ¾ÁÝÿÙÙØÿÙØÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÚÙÙÿÚÙÙÿÙÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÛÿÚÚÛÿÚÚÚÿÛÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÜÛÿÛÛÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÝÿÝÜÜÿÝÝÜÿÝÝÜÿÝÝÜÿÛÚÜÿpv´ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿT]­ÿÐÐØÿßßßÿßßßÿßßßÿßßßÿàßßÿààßÿàßßÿàßßÿàßàÿàààÿàßàÿàààÿàààÿààáÿáàáÿàáàÿààáÿááàÿáááÿáááÿáâáÿááâÿááâÿâáâÿááâÿª±ìÿP÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿO÷ÿ¢©ïÿääåÿåååÿåææÿååæÿæææÿæææÿæææÿçæçÿæææÿçææÿæçæÿæçæÿçææÿçççÿçççÿçççÿèçèÿçèçÿèççÿçèçÿèçèÿèèèÿèèèÿèèèÿèèèÿèéèÿéèèÿééèÿéééÿéééÿéééÿéééÿéêéÿêêêÿéééÿêêéÿêêêÿêêêÿêêêÿêêêÿêêêÿêêêÿêëëÿëêëÿëëëÿêêëÿëëëÿëëëÿëëëÿìëìÿììëÿìëìÿìììÿìëìÿìììÿìììÿìììÿìììÿíììÿìíìÿììíÿííìÿíííÿíííÿíííÿíííÿíííÿîííÿîîîÿíîíÿîîîÿîîîÿîîîÿîîîÿïîîÿïîïÿïîîÿïîïÿïïïÿïïïÿïïïÿïïïÿïïðÿïððÿðïðÿðïðÿðððÿïððÿðððÿðððÿðððÿððñÿððñÿððñÿñññÿñññÿñññÿñññÿ––—ÿ–––ÿ–——ÿ–––ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ—––ÿ—––ÿ–––ÿ—––ÿ—––ÿ—––ÿ–––ÿ––—ÿ—––ÿ–——ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ———ÿ–––ÿ–––ÿ–——ÿ–––ÿ—–—ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ—––ÿ—––ÿ––—ÿ–——ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ—–—ÿ—––ÿ––—ÿ—––ÿ—–—ÿ———ÿ—˜—ÿ˜˜—ÿ—˜˜ÿ˜—˜ÿ˜˜—ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜™˜ÿ˜˜˜ÿ™™˜ÿ˜™˜ÿ˜˜™ÿ™™˜ÿ™™™ÿ™™™ÿšš™ÿš™™ÿš™šÿš™™ÿš™šÿ™ššÿšššÿšššÿ›ššÿ›ššÿš›šÿ›ššÿš›šÿ›››ÿ›››ÿ›››ÿ››œÿ›››ÿœ›œÿœ››ÿ›œœÿœœœÿ›œœÿœœœÿœœÿ™š ÿbrÜÿ MöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿgvÛÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¡ÿ¡¡¢ÿ¡¡¡ÿ¡¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£¢¢ÿ¢££ÿ££¢ÿ¢£¢ÿ£££ÿ£££ÿ£££ÿ¤£¤ÿ¤£¤ÿ£¤£ÿ¤££ÿ¤¤£ÿ¢¢£ÿwz¥ÿ0¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ0@¥ÿ“–¦ÿ¦¥¦ÿ¦¦¦ÿ§¦¦ÿ¦§¦ÿ¦§§ÿ§§§ÿ¦§§ÿ§§¦ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ©¨©ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿ¨©«ÿ‹‘Åÿ,SêÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿIíÿ1Uéÿ„ŒÎÿ§¨µÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿž¡¾ÿ.TêÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿEäÿ&…ÿ ÿÿÿÿÿÿÿÿvÿ+¤ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ*¡ÿ_ÿÿÿÿÿÿÿ/¡ÿEäÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿ.Pßÿ\mÝÿ3Täÿ$NäÿIåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿJåÿu‚âÿÌÍÚÿØØØÿØØØÿÙÙØÿÙÙÙÿØÙÙÿÙÙÙÿÚÙÙÿÙÙÙÿÚÙÚÿÙÙÙÿÚÙÙÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÚÛÚÿÚÚÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÜÜÜÿÛÜÛÿÛÛÛÿÛÛÛÿÜÜÜÿÜÜÜÿÜÝÜÿÜÜÜÿÝÝÝÿÝÝÜÿÜÝÝÿÝÝÝÿ¶·Ëÿ*=§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ 7¦ÿ¼½ÎÿßßßÿÞßÞÿßßßÿßÞßÿßßßÿßßßÿßßàÿßßßÿßààÿàààÿàààÿàßàÿàààÿáààÿàààÿààáÿáààÿááàÿàààÿàáàÿáááÿáâáÿáââÿáááÿááâÿÛÝãÿyˆòÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿo€óÿááæÿåååÿææåÿæååÿæææÿææåÿåææÿæææÿæææÿçææÿæçæÿçæçÿçççÿçææÿçççÿçççÿçççÿçççÿçççÿèçèÿèçèÿèèçÿèèèÿèèèÿèèèÿèèèÿèèèÿèééÿéèéÿèéèÿéèéÿéééÿéééÿéééÿééêÿéééÿéêéÿêêêÿéêêÿêêéÿêêêÿêêêÿêêêÿêêêÿëëêÿëêëÿêëëÿêëëÿëëëÿëìëÿëëëÿëëëÿìëìÿëìëÿìììÿìììÿìììÿìíìÿìììÿííìÿìííÿíííÿííìÿíííÿíííÿíííÿííîÿííîÿíîîÿîíîÿíîîÿîîîÿîîîÿîîîÿîîïÿîîîÿïîîÿïïîÿîîïÿïïïÿïïïÿïïïÿïïïÿððïÿðïïÿïðïÿïðïÿððïÿðððÿðððÿðððÿðððÿðððÿððñÿðññÿññðÿðññÿñññÿñññÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ––—ÿ—––ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ–——ÿ–—–ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ——–ÿ———ÿ––—ÿ———ÿ———ÿ———ÿ—˜—ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™™˜ÿ˜™˜ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™š™ÿš™šÿ™ššÿšš™ÿšššÿšššÿšššÿš››ÿš››ÿ›ššÿš››ÿ›››ÿ›››ÿœ›œÿ›››ÿ››œÿ›œœÿ›œœÿœœ›ÿœœœÿœœ›ÿœœœÿœœÿ˜™¤ÿbrÜÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿRôÿŠ¿ÿ¡¡ ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¡ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ££¢ÿ¢¢£ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£¤£ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ  ¤ÿ`g¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ_e¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦§ÿ¦§¦ÿ§¦¦ÿ§¦¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨¨§ÿ¨§¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ¨©©ÿ©¨¨ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©ªÿ†ÈÿNëÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿMdäÿ‡ŽÌÿ¦§·ÿ¯¯¯ÿ§©¶ÿVjáÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿHíÿCÝÿiÿÿÿÿÿÿÿÿ(ÿ$ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¦ÿvÿÿÿÿÿÿÿ&…ÿCáÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿEåÿ+Qåÿ—žßÿÓÓÙÿØØØÿØØØÿØØÙÿØÙØÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÚÿÙÚÚÿÚÙÚÿÚÚÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÛÚÿÛÛÚÿÛÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÜÛÜÿÜÛÜÿÛÛÜÿÛÜÜÿÜÛÜÿÜÜÜÿÜÝÜÿÜÜÝÿÜÝÝÿÝÝÝÿ××Úÿy¶ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ .¥ÿ™œÁÿÝÝÝÿßßÞÿÞßÞÿßßßÿÞßßÿßßÞÿßßßÿßßàÿßßßÿàààÿàßßÿàßàÿßààÿàààÿàààÿáààÿàààÿàááÿàááÿàáàÿáááÿááàÿáááÿááâÿáááÿâááÿÌÎçÿ!S÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿPjõÿÑÓèÿåååÿåååÿåæåÿæååÿååæÿååæÿææåÿæåæÿæææÿæææÿæççÿæææÿçæçÿçççÿçççÿçççÿçççÿçççÿççèÿçèçÿçèèÿççèÿèèçÿççèÿèèèÿèèèÿèèèÿèéèÿèèèÿéèéÿèééÿéèéÿéééÿéééÿéééÿêéêÿêéêÿéééÿêééÿéêéÿêêêÿêêêÿêêêÿêêêÿêêêÿêëëÿëëêÿëêëÿëëëÿëëëÿëìëÿëìëÿëììÿëëìÿìëëÿìììÿìììÿìììÿìììÿìììÿììíÿííìÿííìÿíííÿíííÿíííÿíííÿíííÿíííÿííîÿíîîÿîíîÿíîîÿîîîÿîîîÿîîîÿîîïÿïîîÿïïïÿïïîÿïïïÿïïïÿïïïÿïïïÿïïïÿðððÿðïïÿðððÿïïïÿðððÿðððÿðððÿðñðÿðððÿðððÿðñðÿñññÿñññÿññðÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ—––ÿ—––ÿ—–—ÿ––—ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ––—ÿ––—ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–––ÿ—––ÿ—––ÿ–—–ÿ––—ÿ–—–ÿ–––ÿ–—–ÿ–——ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–——ÿ–—–ÿ–——ÿ———ÿ–—–ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ—––ÿ––—ÿ––—ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–——ÿ–—–ÿ–——ÿ———ÿ———ÿ———ÿ—˜—ÿ———ÿ˜——ÿ˜˜—ÿ—˜—ÿ˜˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ˜™˜ÿ˜™™ÿ˜™™ÿ™™™ÿ™™™ÿ™š™ÿ™™™ÿšš™ÿšš™ÿš™šÿšššÿšššÿšššÿšššÿšššÿšššÿ›š›ÿš›šÿš›šÿ›››ÿ›œ›ÿœ›œÿ›››ÿ››œÿœœ›ÿœ›œÿœ›œÿœœœÿœœœÿœœœÿœœœÿšš¢ÿbrÜÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿWläÿœœ©ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¢¡ÿ¡¡¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ£¢¢ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£££ÿ£££ÿ¤¤¤ÿ¤¤¤ÿ£¤¤ÿžŸ¤ÿNW¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ/¥ÿ†ˆ¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ§¨¨ÿ§§§ÿ¨¨§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿª©©ÿ©¨«ÿ†ÇÿMêÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿGìÿKëÿÃÿMMNÿefeÿstsÿÿÿ———ÿ¢¢¢ÿ©©«ÿ­­·ÿ®¯ºÿ­®»ÿ­®»ÿ­®»ÿ­®»ÿ®¯»ÿ®¯»ÿ¯°»ÿ¯°¼ÿ¯°¼ÿ¯±¼ÿ°±¼ÿ°¯¹ÿ«««ÿ¨§§ÿ   ÿ˜˜—ÿÿ„„…ÿ5KºÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿGäÿ”›ßÿÏÐØÿ×רÿ×××ÿר×ÿØØØÿØØØÿØØØÿØØØÿØÙØÿØØØÿØØØÿØÙÙÿØÙØÿÙØÙÿØØÙÿÙÙÙÿÚÙÚÿÚÙÚÿÙÙÙÿÙÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÚÛÚÿÚÚÚÿÚÛÛÿÚÚÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÛÜÿÜÛÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿ¸¹Ìÿ5¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ¥§ÅÿÞÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿßßßÿßßÞÿßÞßÿßßÞÿßßÞÿßßßÿààßÿßàßÿßàßÿßàßÿßßàÿààßÿàààÿàààÿàáàÿàààÿááàÿááàÿààáÿáááÿáááÿáááÿ¨¯ìÿP÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ\rõÿ×Ùæÿåäåÿååäÿäååÿåååÿåååÿæååÿåååÿåååÿææåÿåæåÿææåÿæåæÿæææÿæææÿçææÿæææÿçæçÿçæçÿçççÿçççÿçæçÿçççÿçççÿèççÿçççÿèçèÿèçèÿèèèÿèèèÿèéèÿéèéÿéèèÿéèèÿéééÿèèéÿèééÿéééÿéééÿéééÿêééÿêêêÿêêéÿêééÿêéêÿêêêÿêêêÿêêêÿêëëÿëêêÿëëêÿëëêÿëëëÿëëëÿëëëÿëëëÿëëëÿìëìÿëììÿëìëÿëìëÿìëìÿìììÿìíìÿìììÿìíìÿíììÿííìÿìííÿííìÿìííÿíííÿíííÿííîÿíííÿîîíÿíííÿîîîÿîîîÿîîîÿîîîÿîïîÿïïïÿïïïÿïîïÿîïîÿïîïÿïïïÿïïïÿïïðÿððïÿðïïÿððïÿðïïÿðððÿðððÿðððÿðððÿðððÿñððÿððñÿñðñÿ——–ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ———ÿ——–ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ–——ÿ–––ÿ–––ÿ—–—ÿ—–—ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ—––ÿ——–ÿ–––ÿ––—ÿ–––ÿ–——ÿ–—–ÿ—––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–——ÿ–—–ÿ——–ÿ–—–ÿ––—ÿ––—ÿ––—ÿ–––ÿ—–—ÿ——–ÿ––—ÿ—–—ÿ———ÿ———ÿ—˜˜ÿ——˜ÿ—˜—ÿ˜˜—ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™˜ÿ˜˜˜ÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™šÿ™™™ÿ™™šÿ™š™ÿ™š™ÿšššÿšššÿšššÿšš›ÿš›šÿ›ššÿ››šÿ›š›ÿ›››ÿ›››ÿ›››ÿœ››ÿ›œ›ÿ››œÿ›œ›ÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿ›› ÿbrÜÿNöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿ^pàÿžŸ¤ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ£¢¢ÿ£¢¢ÿ¢¢£ÿ¢££ÿ££¢ÿ¢¢£ÿ¢££ÿ¢££ÿ£££ÿ£££ÿ¤£¤ÿ£££ÿ¤¤£ÿ££¤ÿ¤£¤ÿ¤¤£ÿ}¤ÿ1¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ5D¥ÿœ¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ§¦¦ÿ¦§§ÿ¦¦§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨§ÿ§§¨ÿ§§¨ÿ¨¨§ÿ¨§¨ÿ¨¨¨ÿ©¨¨ÿ¨©¨ÿ¨©¨ÿ¨©©ÿ©©¨ÿ©©©ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ¨¨¬ÿ{„ÎÿLêÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿGëÿHëÿxƒÛÿ»¼Àÿ½¾¾ÿ½¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿¿ÿÀ¿Àÿ¿¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÀÀÿÁÁÁÿÁÀÀÿÁÀÁÿÀÀÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÁÿÁÂÁÿÁÀÂÿŽ•ÑÿGãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿRgâÿ±´ÛÿÕÖ×ÿ×××ÿØØØÿ×רÿר×ÿØØØÿØØØÿØØØÿØØØÿØØØÿØÙØÿÙØØÿÙØÙÿØÙÙÿÙÙØÿÙØÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÚÿÙÙÚÿÚÙÙÿÚÚÙÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÛÿÚÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÛÛÛÿÜÜÛÿÛÜÜÿÜÜÜÿÜÛÜÿÜÜÜÿØØÚÿv{µÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ .¥ÿw|µÿÕÖÙÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞßÿÞÞßÿÞßßÿßßÞÿßÞßÿßßßÿßßßÿßàßÿßàßÿßààÿàßßÿàààÿàààÿàààÿàààÿàààÿàààÿàáàÿáààÿáàáÿááàÿÙÚãÿu„òÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ1Yöÿ½Âëÿäääÿåääÿåååÿäååÿäååÿåäåÿåååÿååæÿåææÿæåæÿåååÿåååÿæææÿæææÿæææÿæææÿæææÿççæÿçççÿæççÿçççÿçççÿçççÿèççÿçèçÿèççÿèèçÿççèÿèèçÿèèèÿèèèÿèèèÿèèèÿèééÿèèèÿéééÿéèéÿéèèÿéééÿéééÿéééÿéêêÿéêéÿêêéÿêêêÿêéêÿêêêÿêêêÿëêêÿêêêÿëêêÿêêêÿêêëÿëëëÿëëëÿëëëÿëìëÿìëìÿìëëÿëìëÿìëìÿìììÿìììÿìììÿìììÿìììÿíìíÿìììÿììíÿíííÿíííÿíííÿîíîÿíííÿíîîÿííîÿîîîÿîîíÿîîîÿîîîÿîîîÿïîîÿîîîÿïïîÿîïïÿïîïÿïïîÿïïïÿïïïÿïðïÿïðïÿïïïÿðïïÿïïðÿðïðÿðððÿðððÿñððÿðñðÿñðñÿñðñÿññðÿ–––ÿ—–—ÿ––—ÿ—––ÿ–––ÿ–——ÿ–—–ÿ–——ÿ—––ÿ–––ÿ—––ÿ—––ÿ–——ÿ–––ÿ–—–ÿ–––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ———ÿ––—ÿ–—–ÿ–——ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ——–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–——ÿ–——ÿ–——ÿ——–ÿ—–—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–——ÿ—––ÿ–––ÿ—–—ÿ–––ÿ——–ÿ———ÿ—–—ÿ———ÿ———ÿ—˜—ÿ——˜ÿ˜—˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ™˜˜ÿ™˜˜ÿ™˜˜ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™ššÿš™šÿ™š™ÿ™™™ÿ™™™ÿšššÿšššÿšššÿšššÿšššÿ›››ÿ›››ÿš››ÿš››ÿ››šÿ›››ÿ›››ÿ›››ÿ›œ›ÿ››œÿ›œœÿ›œœÿœœœÿœœœÿœœœÿœœÿœœœÿ˜™¥ÿarÜÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ!Rôÿ‡ŒÂÿ¡  ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¢ÿ¡¢¡ÿ¢¢¡ÿ¢¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢£ÿ£¢£ÿ£££ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ¤¤¤ÿ¢¢¤ÿmr¤ÿ/¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿko¥ÿ¥¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ¦¦§ÿ¦§¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨¨ÿ¨§¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ¨¨¨ÿ¨¨©ÿ©©©ÿ©©©ÿ©©¨ÿ©©©ÿª©©ÿ©©©ÿ©©ªÿ§¨«ÿ}…ÍÿHêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿGêÿ Néÿ“™Óÿ¿¾¾ÿ¾¾¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÀÀÁÿÁÁÁÿÀÀÀÿÀÀÀÿÁÀÁÿÁÁÁÿÂÁÁÿÁÁÂÿª¬Êÿ8UáÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿCãÿ Dãÿ‹ßÿÄÆÙÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×רÿרØÿØØØÿØØØÿØØØÿØØØÿØØØÿØØØÿÙØÙÿØØÙÿÙÙØÿØÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÚÚÙÿÙÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÛÛÛÿÚÛÛÿÚÚÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÜÿÛÜÜÿÛÜÜÿÜÜÛÿÀÁÏÿ6E¨ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ8G©ÿÅÆÒÿÝÝÝÿÞÝÝÿÞÞÝÿÞÞÞÿÞÞÞÿßÞÞÿßÞÞÿÞÞÞÿßÞßÿßÞßÿßßßÿßÞßÿßßßÿßßßÿàßßÿàßßÿßßàÿàßßÿààßÿàààÿàààÿàààÿààáÿààáÿàáàÿáààÿáàáÿÈËæÿ-WöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ–Ÿðÿááåÿäåäÿäååÿåååÿäåäÿåååÿäååÿåååÿåååÿæååÿåååÿæåæÿåææÿæææÿæææÿæææÿæææÿæææÿææçÿçææÿçææÿçççÿçççÿççæÿçççÿçççÿçèçÿèçèÿçèèÿççèÿèçèÿèèèÿèèèÿèèèÿèèéÿèéèÿèèèÿèééÿèééÿéééÿéééÿéééÿéééÿéééÿéêêÿéêêÿêéêÿéêêÿêêêÿêêêÿêêêÿêëêÿêêëÿêêêÿëëëÿëëêÿëëëÿëëëÿëëëÿëìëÿëììÿëììÿìëëÿìììÿìììÿìììÿìììÿìììÿííìÿìíìÿìììÿíííÿíííÿìííÿíííÿíííÿîííÿíííÿîííÿííîÿîîíÿîîîÿîîîÿîîîÿïîîÿïîîÿïîîÿïîïÿïïïÿïïïÿïïïÿïïïÿïðïÿðïïÿïïïÿðïïÿðððÿðððÿðððÿðððÿññðÿñðñÿñññÿ—––ÿ—–—ÿ–––ÿ––—ÿ––—ÿ–—–ÿ–—–ÿ–––ÿ—––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—–—ÿ———ÿ–—–ÿ—–—ÿ——–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ—–—ÿ–––ÿ–––ÿ——–ÿ—––ÿ––—ÿ–––ÿ–––ÿ—–—ÿ–––ÿ––—ÿ–––ÿ––—ÿ––—ÿ–—–ÿ–––ÿ–——ÿ———ÿ–––ÿ––—ÿ—––ÿ––—ÿ––—ÿ–––ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ——–ÿ–—–ÿ–——ÿ–——ÿ——–ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ˜——ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜˜™ÿ™˜™ÿ˜™˜ÿ˜˜˜ÿ™˜˜ÿ™™™ÿ™™™ÿ™ššÿ™ššÿ™š™ÿ™ššÿš™šÿšššÿšššÿšššÿšššÿš››ÿšššÿš››ÿ›ššÿ›››ÿ›››ÿ›››ÿœ››ÿ›››ÿ››œÿœœ›ÿ›œœÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿ™›¡ÿcsÚÿ MöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿB_ìÿ›œ¨ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¢¡ÿ¢¡¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ££¢ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ¤£¤ÿ¤£¤ÿ£¤¤ÿŸ ¤ÿT\¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ)<¥ÿ““¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ¦¦¦ÿ¦§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§¨ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ¨©¨ÿ©¨¨ÿ©©¨ÿ©©©ÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿ¨¨«ÿ}…ÌÿKéÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿFêÿ"Néÿ¢¦Íÿ¿¾¿ÿ¿¾¾ÿ¾¿¿ÿ¾¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿÀÀ¿ÿ¿¿Àÿ¿¿¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÁÀÁÿÀÀÀÿÁÀÁÿÀÀÁÿÁÁÀÿÁÁÁÿÁÁÁÿº»ÄÿRfÝÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿGâÿ&Máÿ.Páÿ6Tàÿ=XàÿC\ßÿTgÝÿftÛÿv€ÙÿƒŒÖÿŽ”Ôÿ–Ôÿ•šÒÿ–›Óÿ› Ñÿœ¡Ðÿž¢Ñÿœ¡Ñÿ˜žÒÿ•›Òÿ–ÔÿŒ”Öÿ‡×ÿ‚‹×ÿu€ÚÿcqÚÿNbÝÿA[àÿ>Yàÿ:Vàÿ5Tàÿ/Qáÿ'MáÿHâÿDâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿ§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿsy´ÿÕÕÙÿÜÜÜÿÜÝÜÿÝÜÜÿÝÜÜÿÝÜÝÿÝÝÝÿÜÝÜÿÝÝÝÿÝÝÝÿÝÞÝÿÞÝÝÿÝÝÝÿÝÝÞÿÞÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿßÞßÿßßßÿÞßßÿßßßÿßßßÿßßßÿàßßÿßßàÿßßàÿ××ãÿRlôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ7\öÿ¿Äêÿââãÿâããÿãããÿãããÿãããÿãããÿãããÿãããÿäääÿääãÿãääÿäääÿäääÿäääÿäääÿäääÿåååÿååäÿäååÿåååÿåååÿåååÿåæåÿæææÿæååÿåæåÿæææÿæåæÿæææÿæææÿæçæÿçææÿæççÿçæçÿçæçÿççæÿçççÿèççÿçççÿçççÿèèèÿèèèÿçççÿèèçÿèèèÿèèèÿèèèÿèèéÿèééÿèéèÿèèéÿééèÿéééÿéééÿéééÿéééÿêééÿêêêÿêééÿêéêÿêéêÿêêêÿêêêÿëëêÿêêêÿêëêÿêêêÿêëëÿëëëÿëëëÿëëëÿëëëÿëëëÿììëÿëìëÿìììÿìëìÿìììÿìììÿììíÿìííÿíííÿííìÿíííÿíííÿííìÿíííÿîííÿííîÿííîÿííîÿîîîÿíîîÿîíîÿîîîÿïîîÿîïîÿîîîÿîïîÿïïïÿîïïÿïïïÿïïïÿïïïÿïïðÿïïïÿïððÿïððÿððïÿ–—–ÿ––—ÿ––—ÿ——–ÿ—––ÿ––—ÿ–––ÿ––—ÿ––—ÿ–—–ÿ–––ÿ—––ÿ––—ÿ–––ÿ––—ÿ–—–ÿ——–ÿ–––ÿ–––ÿ––—ÿ––—ÿ––—ÿ–––ÿ–——ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ––—ÿ—––ÿ——–ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ—––ÿ—––ÿ–—–ÿ—––ÿ——–ÿ–——ÿ———ÿ–—–ÿ———ÿ———ÿ———ÿ—˜—ÿ——˜ÿ˜——ÿ—˜˜ÿ˜˜—ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜™˜ÿ™˜˜ÿ™™˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™™šÿ™™šÿšš™ÿšššÿšššÿšššÿšššÿ›ššÿšššÿšššÿšššÿ›››ÿ››šÿ›››ÿ›››ÿ›››ÿ›œœÿœ›œÿœœœÿœ››ÿ›œœÿœœœÿœœœÿœœœÿœœÿœœÿœœœÿœÿœÿ››¡ÿr|ÑÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ^qàÿžŸ¥ÿ¡ ¡ÿ¡  ÿ¡¡¡ÿ¢¡¡ÿ¡¡¢ÿ¢¢¡ÿ¡¡¢ÿ¢¢¢ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ£££ÿ£¢£ÿ£¢£ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ£££ÿ¤¤¤ÿ££¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ†ˆ¤ÿ/¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿdi¥ÿ¦¥¥ÿ¦¦¦ÿ¥¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ§§§ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ©¨©ÿ¨¨¨ÿ¨©¨ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿªª©ÿª©ªÿªªªÿ¦¦®ÿw€ÍÿIäÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿEåÿ FåÿGåÿHäÿIäÿIäÿ?ZáÿZkÜÿmy×ÿ€ˆÑÿŽ•Ëÿ›ŸÆÿ¦¨Áÿ©«Àÿ¬­¾ÿ¯°½ÿ±²»ÿ³µºÿ¶¶¹ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿºººÿºº¹ÿºººÿºººÿºººÿº»ºÿºººÿ»º»ÿ»ººÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ»¼¼ÿ»¼¼ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼½¼ÿ¼¼½ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ¾½¾ÿ¾½½ÿ½½½ÿ¾¾¾ÿ½½¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¿ÿ¾¾¾ÿ¿¾¿ÿ¿¾¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀÀ¿ÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÀÿÁÁÀÿÁÁÁÿÁÁÁÿÀÀÁÿÁÁÁÿÂÁÁÿÂÁÁÿÁÁÁÿÂÁÂÿÁÁÁÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÃÂÃÿÃÂÂÿÃÃÂÿÃÃÃÿÂÃÃÿÃÃÂÿÃÃÃÿÄÃÃÿÃÃÄÿÄÃÄÿÄÄÃÿÄÄÃÿÄÄÄÿÄÃÄÿÄÄÄÿÅÅÄÿÄÄÄÿÄÄÄÿÄÄÅÿÅÄÅÿÅÅÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÆÆÿÆÆÆÿÅÆÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÆÇÿÆÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÇÇÿÈÇÈÿÇÈÈÿÇÇÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÉÈÉÿÉÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÊÉÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÉÉÊÿ‘—ÕÿGÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿBÞÿCÞÿF^Ýÿ¬°ØÿÎÎÕÿÕÔÔÿÔÔÔÿÔÔÕÿÕÕÕÿÕÔÕÿÕÔÕÿÕÕÕÿÕÕÕÿÖÕÕÿÕÕÖÿÖÕÕÿÖÖÖÿÖÕÕÿÖÕÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ××ÿÖÖÖÿ×ÖÖÿÖÖ×ÿÖÖ×ÿ×××ÿ×××ÿ×××ÿØØØÿ×××ÿ×××ÿØØØÿØØØÿØØØÿØØØÿÙÙØÿØÙØÿØØÙÿØÙØÿØÙØÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÙÚÿÚÚÚÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÛÿÛÚÚÿÚÚÚÿÛÚÛÿ—š¿ÿ0¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ:H©ÿÂÃÐÿÜÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÝÜÿÝÝÜÿÜÝÝÿÜÜÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÞÞÞÿÝÞÝÿÞÝÞÿÝÞÞÿÝÞÞÿÝÞÞÿÞÞÞÿÞÞÞÿßßÞÿßßßÿßÞßÿßßÞÿßßßÿßÞßÿßßßÿßàßÿßßßÿ²¶êÿ$TöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ +M÷ÿ—¡ïÿááâÿâââÿãããÿãâãÿãããÿâããÿãããÿãããÿããäÿääãÿääãÿäääÿäãäÿäääÿäääÿåäåÿåäåÿäåäÿääåÿåäåÿååäÿåååÿåååÿåååÿååæÿæåæÿææåÿæææÿæææÿæææÿæææÿæææÿçæçÿææçÿæçæÿçççÿçæçÿçççÿçæçÿççèÿççèÿèèçÿçèçÿçèçÿèèèÿçèèÿèèèÿèèèÿèèèÿèèéÿéèéÿéèéÿéééÿéèéÿéééÿêééÿêéêÿééêÿéééÿéêéÿêêêÿéêêÿêêêÿêêêÿêêêÿëëêÿêêêÿêëêÿêëëÿëëëÿëëëÿëëëÿëëëÿëëëÿìëëÿëëëÿìëìÿìììÿìììÿìììÿìììÿìíìÿìììÿííìÿííìÿìííÿììíÿíííÿíííÿîíîÿíîíÿíîîÿîííÿíîîÿîîîÿíîîÿîïîÿîîîÿîîïÿïîïÿîîïÿîîïÿïïïÿïïïÿïïïÿïïïÿïïðÿïïðÿïðïÿðïðÿ–——ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ––—ÿ—––ÿ–––ÿ—–—ÿ–––ÿ–——ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–––ÿ—–—ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–——ÿ–––ÿ—–—ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ—––ÿ––—ÿ––—ÿ–——ÿ—–—ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–—–ÿ——–ÿ———ÿ———ÿ———ÿ——˜ÿ˜˜˜ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™ššÿšššÿšššÿšš›ÿšššÿšššÿšš›ÿš›šÿš›šÿ›››ÿ›››ÿœ››ÿ›››ÿœœ›ÿœœ›ÿ›œœÿœœœÿœœœÿœœœÿœœœÿœœÿœÿœÿœÿÿ›œŸÿq|ÒÿOõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿQôÿƒ‹Äÿ¡ ¡ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¢¢ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢£ÿ¢¢¢ÿ£¢¢ÿ¢££ÿ¢£¢ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£££ÿ£¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ££¤ÿv{¥ÿ1¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ1A¥ÿ––¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§§§ÿ§¦¦ÿ¦¦¦ÿ¦§¦ÿ§¦§ÿ§§§ÿ§§§ÿ¨§§ÿ§§¨ÿ§§§ÿ§¨§ÿ¨¨¨ÿ§§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨©ÿ¨©¨ÿ©¨¨ÿ©¨¨ÿ¨¨©ÿ©¨¨ÿ¨©©ÿ©©¨ÿ©©©ÿ©ª©ÿ©ª©ÿª©ªÿ©©©ÿªªªÿª©ªÿªªªÿªªªÿ‚‰Çÿ2RáÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿDåÿ Käÿ7UâÿE]àÿReÝÿ[lÛÿgtÙÿx‚ÓÿˆÎÿ–›Çÿ£¥Âÿ¬®¼ÿµµ·ÿ¶¶¶ÿ¶··ÿ¶·¶ÿ¶¶·ÿ·¶·ÿ¶··ÿ¶¶·ÿ···ÿ···ÿ···ÿ···ÿ¸¸¸ÿ¸··ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¹¸ÿ¸¹¹ÿ¹¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿºººÿºº¹ÿ¹¹ºÿº¹¹ÿºººÿ»ººÿºººÿºº»ÿº»ºÿºººÿº»»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ¼¼»ÿ¼»»ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ¼½½ÿ½¼¼ÿ½¼½ÿ½½½ÿ½½¾ÿ½½½ÿ¾½½ÿ½½½ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¾ÿ¿¾¾ÿ¿¾¿ÿ¿¾¾ÿ¿¾¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿÀ¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÁÀÀÿÁÁÀÿÁÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÁÁÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÃÿÂÃÂÿÂÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÄÿÄÄÃÿÃÄÄÿÄÃÄÿÃÃÄÿÄÄÄÿÄÅÄÿÄÄÄÿÅÅÄÿÄÅÅÿÄÄÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÆÆÿÇÆÆÿÆÆÆÿÇÆÇÿÇÇÇÿÇÇÆÿÇÇÇÿÇÇÈÿÈÇÇÿÇÇÇÿÈÇÈÿÈÇÈÿÇÈÇÿÈÈÈÿÈÈÈÿÈÈÉÿÈÉÈÿÈÈÈÿÈÈÉÿÈÈÉÿÈÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÊÉÿÉÉÉÿÊÊÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿ®±Ðÿ(LÝÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿ>XÝÿ”ÚÿÌÌÕÿÔÓÔÿÓÔÔÿÔÔÔÿÔÔÔÿÔÕÕÿÕÔÕÿÔÔÔÿÕÔÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÕÖÿÕÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖ×Öÿ×××ÿÖ××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿר×ÿØ×Øÿ×××ÿרØÿØØØÿØØØÿØÙØÿÙØØÿØØØÿÙØÙÿØØÙÿÙØÙÿÙÙÙÿÙÙÙÿÚÙÚÿÙÚÙÿÚÙÙÿÚÙÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÏÐÕÿdk°ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ0¦ÿ¦©ÅÿÜÜÜÿÜÜÛÿÜÜÜÿÜÜÛÿÜÜÜÿÝÜÜÿÜÝÝÿÜÝÝÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÜÿÝÝÝÿÞÝÞÿÞÝÞÿÞÝÞÿÝÞÞÿÞÝÞÿÞÝÞÿÞÝÞÿÞÞÞÿÞÞÞÿßßÞÿßÞÞÿÞßßÿßÞßÿÞßÞÿßßÞÿßßßÿßßßÿÙÚáÿ}‹ñÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿl~óÿÝÝãÿâãâÿâãâÿâââÿãâãÿãããÿãããÿãããÿãããÿãäãÿãããÿãããÿãããÿääãÿäääÿãääÿäääÿäåäÿåääÿääåÿååäÿäååÿåååÿåååÿåååÿæææÿååæÿæåæÿæææÿåææÿææåÿåææÿæææÿçææÿæææÿæææÿçççÿççæÿæççÿçççÿçççÿçèçÿçèçÿçèçÿçèçÿèèçÿèèèÿèèçÿèèèÿèèéÿèèèÿéèéÿèèéÿèèéÿèèéÿèééÿéééÿéééÿéééÿêééÿêêéÿêéêÿêêêÿêêêÿêêêÿêêêÿêêëÿêêêÿëëëÿëëêÿëêëÿëëêÿëëêÿëëëÿìëëÿìëìÿëìëÿëììÿëìëÿìëëÿìììÿìììÿìììÿììíÿììíÿìììÿíìíÿíííÿíííÿíííÿîííÿíîíÿíííÿíîîÿíîíÿîíîÿîíîÿîîîÿîîîÿîîîÿîïïÿîïïÿîîîÿïîïÿîïïÿïïïÿïïïÿïðïÿïïðÿïðïÿðïïÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ—–—ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–—–ÿ––—ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ——–ÿ—––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ—––ÿ–——ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ—––ÿ––—ÿ–––ÿ—––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ—––ÿ–––ÿ—––ÿ––—ÿ–––ÿ—––ÿ––—ÿ–—–ÿ—––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–——ÿ—––ÿ——–ÿ–—–ÿ—––ÿ——–ÿ———ÿ———ÿ———ÿ˜˜˜ÿ˜——ÿ˜——ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™™ÿ™™˜ÿ™™™ÿ˜˜™ÿ˜™™ÿ™™™ÿ™™™ÿš™™ÿ™š™ÿšš™ÿšššÿ™ššÿšššÿš™šÿšššÿšššÿš›šÿš››ÿšššÿš›šÿ›š›ÿš››ÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›››ÿ››œÿœœ›ÿœœœÿ›œœÿœœœÿœœÿœœœÿœÿÿÿœÿš›¡ÿr}ÑÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ>^íÿ™š«ÿ ¡¡ÿ¡¡ ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¢¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¡¢ÿ¡¢¢ÿ¢¢£ÿ¢¢£ÿ¢¢¢ÿ£¢£ÿ££¢ÿ£££ÿ£££ÿ£¢£ÿ£££ÿ¤££ÿ£¤¤ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ  ¤ÿbh¥ÿ,¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿux¥ÿ¤¤¥ÿ¥¥¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦¦ÿ§¦§ÿ¦§§ÿ§§¦ÿ§§§ÿ§§§ÿ¨§§ÿ§¨¨ÿ§¨§ÿ§¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿ©©©ÿª©ªÿªª©ÿªªªÿªªªÿ”—¼ÿF]ÝÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿ1RáÿSfÜÿesØÿx‚ÒÿˆÌÿ–šÇÿ Ãÿ¢¥¿ÿ§ª½ÿ­­¹ÿ²²·ÿµµ¶ÿµ¶µÿ¶µµÿµµ¶ÿ¶¶µÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶¶ÿ··¶ÿ···ÿ···ÿ··¶ÿ···ÿ·¸·ÿ·¸·ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹ººÿ¹º¹ÿº¹ºÿºººÿº¹ºÿºººÿº»ºÿ»»ºÿ»ººÿºº»ÿºº»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼¼¼ÿ»»»ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ¼½¼ÿ¼¼¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ½¾½ÿ½½½ÿ½¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¿ÿ¿¿¾ÿ¿¿¾ÿ¾¾¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÁÁÀÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÂÿÁÁÂÿÁÂÁÿÂÂÂÿÂÂÂÿÁÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÂÂÿÂÃÃÿÃÃÂÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÄÿÃÄÃÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÄÿÅÅÅÿÄÅÄÿÅÅÅÿÅÄÅÿÄÅÅÿÅÅÆÿÅÅÅÿÅÅÆÿÆÆÆÿÅÆÆÿÅÆÅÿÅÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÇÇÿÇÇÇÿÆÆÆÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÇÇÿÇÇÇÿÇÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÈÉÿÉÈÉÿÈÉÈÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÉÿÉÉÉÿÉÉÉÿÊÉÉÿÊÊÉÿÊÉÊÿÊÊÉÿ¸ºÎÿK`ÛÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿEÝÿ|‡Úÿ½¿ÖÿÒÒÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÕÔÿÕÕÔÿÕÔÔÿÕÕÕÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÖÖÿÕÖÖÿÖÕÖÿÕÖÖÿÖÖÖÿ××ÖÿÖÖÖÿÖ×ÖÿÖ×ÖÿÖÖ×ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿØ××ÿ×××ÿרØÿØ×ØÿØØØÿØØØÿØØØÿÙØØÿØÙØÿØØÙÿØÙÙÿØÙÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÚÚÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿº¼Ìÿ2¦ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ‚‡¸ÿ××ÚÿÜÜÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÝÜÿÝÝÜÿÜÝÜÿÝÝÝÿÝÝÝÿÜÝÝÿÝÝÝÿÝÞÝÿÝÝÝÿÝÝÝÿÞÝÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿÞÞÞÿÞÞÞÿßÞßÿÞÞÞÿßÞßÿßßÞÿßßßÿÊÌäÿ'UöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJfõÿÊÌçÿâââÿâââÿâââÿâââÿâãâÿãããÿâããÿãããÿãããÿãããÿããäÿäããÿãããÿäããÿäääÿäääÿäääÿäääÿäåäÿåääÿååäÿååäÿååäÿäååÿåååÿåååÿååæÿåååÿæååÿææåÿæææÿåææÿæææÿæææÿæçæÿçææÿçççÿæçæÿçççÿçççÿçççÿçççÿçççÿççèÿçèçÿèççÿèçèÿèèèÿèèèÿèèèÿèèèÿèééÿèééÿéèèÿéèéÿéééÿéééÿéééÿééêÿêééÿêêéÿêéêÿêééÿéêêÿêêêÿêêêÿêëêÿêêêÿëêëÿëêêÿëëëÿëëëÿëëëÿëêëÿëëëÿëëëÿëëëÿëìëÿëëëÿìììÿìììÿìììÿìììÿìììÿìììÿìììÿìííÿìíìÿíììÿíííÿíîíÿíííÿíííÿíîíÿíííÿííîÿîîíÿîîîÿîîîÿïïîÿïîïÿîïîÿîïîÿîîîÿïïïÿîîîÿïïïÿðïïÿïïïÿïïïÿðïïÿ–––ÿ—––ÿ—––ÿ––—ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ––—ÿ–––ÿ–—–ÿ––—ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ———ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ—–—ÿ–––ÿ—––ÿ––—ÿ–—–ÿ––—ÿ—–—ÿ—–—ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ–——ÿ–––ÿ–––ÿ–––ÿ––—ÿ—––ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ—˜—ÿ—˜˜ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™˜ÿ˜™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšššÿ™š™ÿš™™ÿšššÿ™ššÿšššÿšššÿ›ššÿšš›ÿ›š›ÿšššÿ›››ÿ›š›ÿ›››ÿ›››ÿ›››ÿ››œÿ›œœÿ››œÿ›œœÿœœ›ÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœœÿÿœœŸÿuÎÿPõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿbrÞÿŸ ¢ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢£¢ÿ££¢ÿ£¢£ÿ£££ÿ££¤ÿ¤££ÿ¤£¤ÿ£££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿŸ ¤ÿNW¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ=J¥ÿžŸ¥ÿ¥¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§§ÿ§§¦ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨§§ÿ§¨¨ÿ§§¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©©¨ÿ¨©©ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿª©©ÿªªªÿªª©ÿªªªÿªªªÿª©ªÿªªªÿ¢¤²ÿ\l×ÿGãÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿDäÿ KãÿzƒÑÿ•™Æÿ¢¤¾ÿ®®¸ÿ±²µÿ²²¶ÿ²³µÿ³³¶ÿ³³µÿµ´´ÿµ´´ÿµµµÿµ´µÿµ´µÿµµµÿµµµÿµµµÿ¶µµÿµ¶µÿµ¶µÿµ¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶··ÿ¶¶·ÿ···ÿ··¶ÿ···ÿ¶··ÿ···ÿ··¸ÿ···ÿ¸··ÿ¸¸·ÿ·¸·ÿ¸¸·ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿ¹¹¹ÿº¹ºÿº¹¹ÿº¹ºÿ¹ººÿºººÿºº»ÿº»ºÿºººÿº»»ÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼»»ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼½ÿ½½¼ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ½½½ÿ½½¾ÿ¾½½ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¾¿ÿ¾¾¾ÿ¿¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀ¿ÀÿÀÀÀÿÀ¿Àÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÁÀÀÿÁÁÀÿÀÀÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÁÂÿÁÁÂÿÁÂÂÿÁÂÂÿÁÂÂÿÂÂÂÿÃÂÂÿÃÂÂÿÂÃÂÿÂÂÂÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÄÃÿÃÄÄÿÃÃÃÿÄÃÄÿÃÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÅÿÄÄÅÿÅÅÅÿÅÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÆÆÆÿÆÆÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÇÇÿÇÆÇÿÆÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÈÈÇÿÈÈÇÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÉÈÉÿÉÈÈÿÈÉÉÿÈÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÊÉÊÿÊÉÊÿÊÊÊÿÊÉÉÿÁÂÌÿlyØÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿ'LÝÿdrÛÿµ¸ÖÿÒÑÓÿÓÔÓÿÔÓÓÿÓÔÓÿÔÔÓÿÓÔÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÕÕÿÕÔÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÖÿÕÖÖÿÖÕÖÿÖÕÖÿÖÖÖÿÖÖÖÿ××ÖÿÖ×ÖÿÖÖ×ÿ××ÖÿÖÖÖÿ×Ö×ÿ×××ÿ×××ÿ×רÿ×רÿØØ×ÿØ×ØÿØØØÿØØØÿØØØÿØØØÿØØØÿØØØÿØØØÿØØÙÿØØÙÿØÙÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÙÙÿÚÚÚÿÚÚÙÿÚÚÙÿÚÚÙÿÚÚÚÿÙÙÚÿ€„·ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿS\­ÿÈÈÒÿÛÛÜÿÛÛÛÿÛÛÛÿÜÜÛÿÛÛÛÿÜÜÜÿÜÜÜÿÜÜÝÿÜÝÜÿÝÜÜÿÝÜÜÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÞÿÝÞÞÿÞÞÞÿÝÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞßÿÞßÞÿÞßßÿßßßÿÞÞßÿßßßÿßßßÿŽ˜îÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿQ÷ÿ§®íÿàáâÿâââÿâââÿâââÿâããÿâââÿãããÿâããÿãããÿãããÿãããÿããäÿãäãÿãäãÿääãÿãäãÿäääÿääãÿäääÿäääÿääåÿåååÿåååÿååäÿåååÿåååÿåååÿåååÿåååÿåææÿæååÿæææÿåææÿæææÿæææÿæææÿæææÿççæÿçæçÿææçÿççæÿçççÿçççÿçççÿçççÿèèçÿçèèÿççèÿèççÿèèèÿèèèÿèèèÿéèèÿééèÿèéèÿééèÿéééÿéééÿéééÿéééÿéééÿêééÿéêéÿéêéÿêéêÿêêéÿêêêÿêêêÿêêêÿëêêÿêëêÿêêêÿêëëÿëëëÿëëëÿëëëÿëëëÿëìëÿììëÿëììÿìëëÿìëìÿìììÿìììÿìììÿìììÿìíìÿíííÿííìÿíìíÿìíìÿíííÿíííÿíííÿíîíÿíííÿíîíÿîîîÿîîîÿîîîÿîîîÿîîïÿîîîÿïîîÿîïîÿïîîÿïïïÿïîïÿïïïÿïïïÿðïïÿïðïÿ–—–ÿ—––ÿ—––ÿ–––ÿ—–—ÿ—––ÿ–––ÿ–—–ÿ–—–ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—–—ÿ–——ÿ––—ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–—–ÿ—––ÿ—––ÿ–—–ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–——ÿ––—ÿ–––ÿ–——ÿ–––ÿ—––ÿ–––ÿ––—ÿ—–—ÿ—––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–——ÿ–——ÿ—––ÿ–——ÿ–––ÿ––—ÿ–—–ÿ–––ÿ—––ÿ–—–ÿ—–—ÿ——–ÿ——–ÿ–—–ÿ———ÿ———ÿ———ÿ———ÿ—˜—ÿ˜˜—ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿ™š™ÿ™™™ÿšš™ÿšššÿšššÿšššÿšššÿšššÿš›šÿš››ÿ›ššÿ››šÿ››šÿ›››ÿ›œœÿœ››ÿœœ›ÿœ››ÿ›œœÿœ››ÿœœ›ÿœœœÿœœœÿœœœÿœœœÿœœÿœÿœÿÿ›› ÿt~Ïÿ NöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿQõÿ„ŠÆÿ  ¡ÿ¡¡ ÿ¡¡ ÿ¡¡¡ÿ¢¢¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¡ÿ¢¢¢ÿ¡¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ£¢£ÿ£¢¢ÿ££¢ÿ¢¢£ÿ£££ÿ£¤£ÿ£££ÿ£¤£ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ—˜¤ÿBN¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿƒ…¥ÿ¦¥¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ¦§¦ÿ¦§§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ§§§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿª©©ÿªªªÿª©ªÿªªªÿªªªÿªªªÿ¦¦¯ÿzƒÊÿIâÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿDãÿ`oØÿ¦¨»ÿ³³³ÿ´³´ÿ³³´ÿ³³´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´´´ÿ´´µÿ´´µÿ´µµÿµµµÿµµµÿµµµÿµ¶¶ÿµµµÿµ¶¶ÿ¶µ¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ···ÿ·¶·ÿ··¶ÿ·¶·ÿ···ÿ···ÿ··¸ÿ¸¸¸ÿ·¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¸ÿ¸¹¸ÿ¹¹¹ÿ¹¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿº¹¹ÿºº¹ÿºº¹ÿºººÿºº¹ÿºººÿ»ººÿºººÿº»ºÿ»ººÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»»ÿ»¼»ÿ¼¼¼ÿ»»¼ÿ¼»¼ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ½½½ÿ¼½¼ÿ¼½½ÿ½½¼ÿ½¼½ÿ½½½ÿ¾½¾ÿ½½¾ÿ½½½ÿ½¾¾ÿ¾½½ÿ½½¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿÀ¿¿ÿ¿À¿ÿÀÀ¿ÿÀÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÂÿÁÂÁÿÂÂÂÿÂÁÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÂÂÃÿÃÂÂÿÂÃÃÿÃÂÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÄÿÄÄÃÿÄÄÄÿÃÃÄÿÃÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÅÅÿÅÄÅÿÄÅÅÿÅÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÆÅÿÅÆÅÿÅÅÅÿÆÆÅÿÆÆÅÿÆÅÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÇÇÿÇÆÆÿÇÆÇÿÇÇÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÈÇÿÇÈÇÿÈÈÇÿÇÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÈÉÿÈÈÈÿÉÈÉÿÉÈÉÿÈÉÉÿÉÉÉÿÊÉÊÿÉÉÉÿÉÉÊÿÉÉÉÿÈÉÊÿ„ÕÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿapÛÿ©­×ÿÎÏÔÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÔÔÓÿÓÓÓÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÕÔÔÿÔÕÔÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÕÿÕÕÕÿÕÕÖÿÖÖÕÿÖÕÖÿÖÖÖÿÕÖÖÿÖÖÖÿ××ÖÿÖÖÖÿÖ×ÖÿÖÖ×ÿÖ××ÿ××Öÿ×××ÿ×××ÿ×רÿ×××ÿØ×ØÿØØ×ÿרØÿØØØÿ×רÿØØØÿØØØÿØØØÿØØÙÿÙÙØÿÙÙÙÿÙÙÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÙÚÚÿÚÚÙÿÙÚÚÿÚÚÚÿÍÍÔÿ&:§ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ .¥ÿ¯±ÈÿÛÛÛÿÜÜÛÿÛÛÛÿÛÜÜÿÜÛÜÿÜÜÛÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÝÿÜÝÝÿÜÜÜÿÝÝÜÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÞÞÝÿÝÝÞÿÞÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞßÿÞÞÞÿÞÞßÿÞÞÞÿÞßßÿßÞßÿÎÑãÿ4[öÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿñÿÝÞãÿâââÿâââÿâââÿâââÿâââÿâââÿãâãÿââãÿãããÿâããÿãããÿäããÿãääÿããäÿãääÿäãäÿäääÿääãÿäääÿäääÿäääÿååäÿååäÿåääÿäååÿåååÿåååÿåååÿåååÿåæåÿæææÿæåæÿååæÿæååÿæææÿæææÿæççÿææçÿçææÿæçæÿççæÿçççÿçççÿçççÿçççÿèççÿçèèÿççèÿèçèÿèèèÿèèèÿèèèÿèéèÿèèèÿèéèÿèèéÿéèéÿèèèÿéèéÿéééÿéééÿéééÿéééÿéééÿêéêÿêêêÿêêêÿêêêÿêêêÿêëêÿëêêÿëëëÿëëëÿëêëÿëëëÿêëëÿëëëÿëëìÿìëëÿìëëÿëëìÿìììÿìììÿëëìÿìììÿìììÿìììÿìììÿìííÿíííÿíìíÿìííÿíííÿíííÿíííÿíííÿíîîÿîîîÿîííÿîííÿîîîÿîîîÿîîîÿîïïÿîïîÿîïîÿïïïÿïïïÿïïïÿïïïÿïïïÿïðïÿ–––ÿ–––ÿ—––ÿ––—ÿ––—ÿ–––ÿ–—–ÿ–—–ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–—–ÿ–——ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ——–ÿ–––ÿ–––ÿ———ÿ–––ÿ––—ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–——ÿ—––ÿ—––ÿ–––ÿ–––ÿ—––ÿ––—ÿ–––ÿ——–ÿ—––ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ—–—ÿ––—ÿ–––ÿ––—ÿ–––ÿ———ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ—–—ÿ——–ÿ———ÿ———ÿ———ÿ———ÿ—˜—ÿ—˜˜ÿ˜˜˜ÿ—˜˜ÿ˜˜—ÿ˜˜˜ÿ˜™˜ÿ˜™˜ÿ™™™ÿ™™˜ÿ˜˜™ÿ™˜˜ÿ™™™ÿ™™™ÿ™™šÿš™™ÿ™™™ÿ™™šÿš™šÿ™ššÿšššÿšššÿšššÿšššÿš›šÿ›››ÿš›šÿ›››ÿšš›ÿ›››ÿ›››ÿ›››ÿ››œÿœ›œÿ›œ›ÿœœœÿœ›œÿœœ›ÿœœœÿœœœÿœœÿœœœÿœÿœÿÿÿœœŸÿxÌÿOöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿEaìÿ™›«ÿ  ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¢ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¡¡ÿ¢¢¢ÿ¢£¢ÿ¢¢£ÿ£¢£ÿ¢¢£ÿ£¢£ÿ¢¢£ÿ£¢£ÿ£££ÿ£££ÿ£¤£ÿ£££ÿ£££ÿ¤¤¤ÿ£¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ‹¤ÿ';¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿCN¥ÿ¤¤¦ÿ¦¥¦ÿ¦¥¦ÿ¦¦¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦¦ÿ¦¦§ÿ§§§ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§¨ÿ§§¨ÿ¨§¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©¨ÿ¨¨©ÿ¨©¨ÿ©¨¨ÿ©¨©ÿ¨©©ÿ©©©ÿ©ª©ÿ©©©ÿªª©ÿ©©ªÿªª©ÿ©©ªÿªªªÿªªªÿªªªÿªªªÿ¨©«ÿ•™ºÿC[ÛÿDâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿDâÿH^Üÿ £¾ÿ³³´ÿ³³³ÿ³´´ÿ´³´ÿ³´´ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿµµµÿµ´´ÿµµ´ÿµµ´ÿµµµÿ¶¶µÿµµµÿµµµÿ¶¶µÿ¶¶¶ÿµµµÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶·ÿ¶·¶ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ·¸¸ÿ·¸¸ÿ·¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¹¹ÿ¸¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹ºÿº¹ºÿºººÿ¹ººÿºººÿºººÿºº»ÿº»ºÿºº»ÿ»»ºÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»¼ÿ¼»»ÿ¼»»ÿ»»¼ÿ»¼¼ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾½¾ÿ½½½ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾½¾ÿ¾¿¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¿ÿ¿¿¾ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿÀ¿¿ÿÀÀÀÿ¿À¿ÿÀ¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÁÿÀÀÁÿÀÁÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÀÁÿÁÁÁÿÁÁÂÿÁÁÁÿÁÂÁÿÁÁÁÿÁÁÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÂÂÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÃÿÃÃÃÿÃÃÃÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÄÿÄÅÄÿÅÄÄÿÄÅÄÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÆÅÿÆÅÆÿÆÅÆÿÆÆÆÿÆÅÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÇÿÇÆÆÿÇÆÆÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÈÇÿÈÈÈÿÈÈÇÿÈÈÈÿÇÈÈÿÈÉÈÿÈÈÉÿÈÈÉÿÉÉÈÿÉÉÈÿÈÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÈÉÿŽ•ÓÿFÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿEÜÿF]Ûÿ£¨×ÿËËÓÿÓÓÓÿÓÒÒÿÓÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÔÿÔÔÓÿÓÔÓÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÕÕÿÔÔÕÿÔÕÕÿÔÕÕÿÕÕÕÿÕÕÕÿÖÕÖÿÕÕÕÿÕÕÖÿÖÕÕÿÕÕÖÿÕÖÖÿÕÖÕÿÖÖÖÿÖÖÖÿÖ×ÖÿÖ×ÖÿÖ×Öÿ××Öÿ×Ö×ÿ×ÖÖÿ×××ÿר×ÿ×רÿØ×ØÿØ×ØÿØ××ÿØØ×ÿØØØÿØØØÿØØØÿØØÙÿÙØØÿØÙÙÿØØØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÚÿÚÚÙÿÙÚÚÿÙÚÚÿÚÙÚÿ¡£Âÿ .¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ‘”½ÿÙÙÚÿÛÚÛÿÛÛÛÿÛÛÛÿÜÛÛÿÜÛÜÿÜÛÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÝÿÝÜÜÿÝÜÝÿÝÜÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÝÝÝÿÝÞÞÿÝÞÞÿÞÞÞÿÞÝÞÿÞÞÞÿÞÞÞÿÞßßÿÞßßÿÞÞßÿÞßßÿ›¤íÿO÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿRkõÿÓÕåÿââáÿááâÿâââÿâââÿâââÿâââÿâãâÿãããÿââãÿãââÿâããÿãããÿãããÿäããÿããäÿäããÿãäãÿäääÿäãäÿäääÿäääÿäääÿääåÿäååÿäååÿääåÿääåÿåååÿåååÿåååÿåååÿååæÿæååÿæææÿæåæÿåææÿæææÿæææÿæææÿæææÿççæÿçæçÿçæçÿæççÿçççÿçççÿçèçÿçèçÿçççÿçèçÿèçèÿçèèÿèèèÿèèèÿèéèÿèéèÿéèèÿéééÿéééÿèéèÿéééÿéééÿéééÿêééÿêééÿêêêÿééêÿéêéÿêêêÿêêêÿêêêÿêêêÿêëêÿêêëÿêëëÿêëêÿëëëÿëëëÿëëìÿëëëÿëìëÿëëìÿìììÿëìëÿìëìÿìììÿìììÿìíìÿíììÿìíìÿìíìÿíìíÿìííÿíííÿííîÿíîíÿíîíÿíîíÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿîîîÿîïïÿïîîÿîïïÿïïïÿïïïÿïïïÿïïïÿ—––ÿ—––ÿ—––ÿ—––ÿ––—ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ––—ÿ––—ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ––—ÿ—––ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ—––ÿ––—ÿ—––ÿ—–—ÿ––—ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ———ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ———ÿ———ÿ–——ÿ———ÿ———ÿ˜——ÿ˜——ÿ——˜ÿ˜—˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜™ÿ™˜™ÿ™™˜ÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿš™šÿš™šÿšš™ÿšššÿšššÿšššÿš›šÿ›ššÿ›š›ÿ›››ÿ›››ÿš›šÿ››šÿ›››ÿ›››ÿœœ›ÿœ››ÿœœœÿœ››ÿœœœÿœœœÿœœœÿœœœÿœÿœœœÿœœÿœÿœœÿœÿœœ ÿw€ÌÿPõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿjxÙÿ ¡¡ÿ¡  ÿ ¡ ÿ¡¡¡ÿ¢¡¡ÿ¢¢¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¡ÿ¢¢¡ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£££ÿ¢¢¢ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤£ÿ£££ÿ¤¤£ÿ£££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ‚¥ÿ0¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ5¥ÿ‹¦ÿ¥¥¥ÿ¦¥¥ÿ¦¦¦ÿ¦¥¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦§ÿ¦¦§ÿ¦§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§¨ÿ§§¨ÿ¨¨§ÿ§¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ©¨©ÿ©©©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿª©©ÿªªªÿªªªÿª©ªÿªªªÿªªªÿ«ªªÿ««ªÿ ¢²ÿfsÒÿFáÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿCâÿ-Pàÿ‘•Çÿ²²´ÿ´´³ÿ´³´ÿ´´´ÿ´´³ÿ´´´ÿ´´´ÿ´µ´ÿ´µ´ÿ´´´ÿ´´µÿµµµÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶µÿ¶¶µÿµµµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ·¶·ÿ¶··ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸·¸ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿºººÿº¹ºÿºººÿºººÿº»ºÿºººÿºººÿ»»»ÿ»º»ÿ»»ºÿ»»»ÿ»»»ÿ»¼»ÿ»»¼ÿ»¼»ÿ¼¼»ÿ»¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ½½½ÿ¼¼½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾¾ÿ¾¾½ÿ¾½½ÿ¾¾¾ÿ¾½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¿ÿ¾¿¾ÿ¿¾¿ÿ¿¾¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀ¿ÿ¿À¿ÿ¿ÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÀÿÀÁÀÿÀÀÁÿÀÀÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÂÁÁÿÁÁÁÿÁÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÃÃÿÃÃÃÿÃÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÃÄÿÄÄÃÿÄÃÄÿÄÄÄÿÄÄÄÿÄÅÄÿÄÅÅÿÄÅÅÿÄÄÅÿÄÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÅÅÅÿÅÅÆÿÆÅÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÇÆÇÿÆÇÆÿÇÆÆÿÆÇÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÇÇÿÇÇÈÿÈÈÈÿÇÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÈÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿ¡¥Ñÿ.OÛÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿUgÛÿ˜ž×ÿÉÉÓÿÓÒÓÿÒÒÓÿÓÓÒÿÒÓÓÿÓÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÓÓÿÔÓÓÿÓÔÔÿÓÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÕÕÿÔÔÕÿÔÔÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÖÿÕÕÕÿÖÖÕÿÕÖÕÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿ×ÖÖÿÖÖÖÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿØØ×ÿØØØÿØØ×ÿØØØÿØØØÿØØØÿÙØÙÿÙØØÿÙØØÿÙØØÿØØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÚÙÙÿÚÙÚÿÕÖØÿkq±ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ`h°ÿÏÏÖÿÚÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÛÜÛÿÛÜÜÿÜÜÜÿÛÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÝÜÿÝÜÝÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÝÞÞÿÝÞÝÿÝÞÞÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿßßÞÿÓÔâÿdwóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ-Wöÿ·»êÿààâÿáââÿáâáÿâââÿâââÿâââÿâââÿâââÿââãÿâââÿâãâÿâãâÿãããÿãããÿãããÿãããÿãäãÿããäÿãããÿäääÿäääÿäääÿäääÿåääÿåääÿääåÿäåäÿäååÿäååÿäååÿåååÿåæåÿåååÿåååÿæååÿæåæÿæåæÿæææÿåææÿæææÿæææÿæææÿçæçÿçççÿçççÿçççÿçççÿçççÿçççÿçèèÿççèÿçèèÿèèçÿçèçÿèèèÿéèèÿéèèÿèèèÿèèèÿèéèÿééèÿéééÿéééÿéééÿéééÿéééÿéééÿêéêÿéêêÿêééÿêêéÿêêéÿêêêÿêêêÿêêëÿêêêÿêëëÿëëëÿëëëÿëëëÿëëëÿëëëÿìëëÿìëëÿìììÿìììÿëììÿìììÿìììÿìììÿííìÿíìíÿíííÿíííÿíííÿíííÿíîíÿíîíÿîííÿîîîÿííîÿíîíÿîîîÿîíîÿîîîÿîîîÿîîîÿîïîÿïîïÿïïïÿîîïÿïïïÿïïïÿïïïÿ–––ÿ—––ÿ—–—ÿ–—–ÿ–––ÿ–——ÿ——–ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ––—ÿ–––ÿ——–ÿ–––ÿ––—ÿ—––ÿ–——ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ––—ÿ——–ÿ—–—ÿ–––ÿ–––ÿ––—ÿ––—ÿ—––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–——ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–—–ÿ—–—ÿ–——ÿ–——ÿ–––ÿ–——ÿ–––ÿ———ÿ–––ÿ–––ÿ–––ÿ——–ÿ––—ÿ–—–ÿ—––ÿ——–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–——ÿ––—ÿ–––ÿ––—ÿ——–ÿ–––ÿ–—–ÿ–——ÿ———ÿ———ÿ——˜ÿ———ÿ—˜—ÿ—˜˜ÿ——˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™™ÿ˜˜™ÿ˜˜™ÿ™˜™ÿ™™˜ÿ™™™ÿ™™™ÿ™š™ÿ™™šÿ™™™ÿš™šÿšš™ÿš™šÿšššÿšššÿ›ššÿšš›ÿ››šÿš›šÿš››ÿš››ÿš››ÿ›››ÿ›››ÿ›››ÿ››œÿ›œ›ÿ›››ÿ›œœÿœœœÿœœœÿœœœÿœœœÿœœœÿœÿœÿœÿÿÿœœ ÿy‚Êÿ NöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿPõÿ„ŠÄÿ¡¡¡ÿ¡  ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¢¡ÿ¢¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ£££ÿ¤££ÿ£££ÿ¤££ÿ¤££ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤££ÿ¤¤¤ÿ¡¢¤ÿjn¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿek¥ÿ¤¤¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¥ÿ¥¦¦ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§¨ÿ¨¨§ÿ§¨¨ÿ§¨§ÿ¨§§ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©¨©ÿ©¨©ÿ©¨©ÿ©©¨ÿ©©©ÿ©©©ÿª©©ÿ©ªªÿª©©ÿªªªÿªªªÿªªªÿªªªÿªªªÿªªªÿªªªÿ¦§®ÿŠÁÿ5SÝÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿ&Lßÿ{„Îÿ²±µÿ³´³ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿµµ´ÿµ´µÿµµµÿµµ´ÿ´µµÿµ´µÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶µ¶ÿ¶µ¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ··¶ÿ¶¶¶ÿ¶¶·ÿ··¶ÿ·¶¶ÿ··¸ÿ···ÿ···ÿ··¸ÿ··¸ÿ¸¸¸ÿ··¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¹¸ÿ¹¸¸ÿ¸¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿº¹ºÿ¹¹ºÿ¹¹ºÿ¹ººÿºººÿºººÿºººÿºººÿ»º»ÿº»ºÿ»º»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ¼¼¼ÿ»»»ÿ¼»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼½½ÿ½½¼ÿ¼½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ¾¾½ÿ¾¾½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¿ÿ¿¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿÀÀ¿ÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÁÀÿÁÁÀÿÁÀÀÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÁÁÿÁÁÂÿÁÂÂÿÁÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÃÃÿÃÂÃÿÃÃÃÿÂÂÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÄÃÿÄÃÃÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÅÿÅÄÄÿÄÅÅÿÅÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÆÿÅÆÅÿÆÅÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÇÿÇÆÇÿÆÆÆÿÆÇÆÿÇÇÆÿÆÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÈÇÇÿÇÇÇÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÈÈÈÿÈÉÈÿÈÈÈÿÉÉÈÿÈÉÉÿÉÉÉÿ©¬Ïÿ4QÚÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@ÛÿAÛÿD[Úÿ ¤ÖÿÆÇÓÿÑÑÒÿÒÒÒÿÒÒÒÿÒÓÓÿÓÒÓÿÓÓÒÿÓÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÔÓÓÿÓÓÔÿÓÔÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÕÕÿÕÕÕÿÕÕÔÿÕÔÔÿÕÕÔÿÕÕÕÿÕÕÕÿÖÕÕÿÕÖÕÿÖÖÕÿÕÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿÖÖÖÿ×Ö×ÿ×Ö×ÿ××Öÿ×××ÿ×××ÿר×ÿØ×ØÿרØÿØØØÿØØ×ÿØØØÿØØØÿØØØÿØØÙÿØØÙÿÙØÙÿØØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÙÚÿÙÙÙÿÚÙÙÿÂÃÎÿ@Mªÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ7¦ÿ´µÊÿÛÛÚÿÛÛÚÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÜÜÜÿÜÛÛÿÜÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÝÜÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÞÿÝÞÝÿÝÝÞÿÞÞÝÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞßÿÞÞßÿÞßßÿ¶¼èÿP÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ˜ðÿßßâÿâââÿáááÿáááÿáââÿáââÿâáâÿâââÿãââÿâããÿâããÿâãâÿãâãÿããâÿãããÿãããÿãããÿääãÿãäãÿääãÿäããÿãääÿäääÿäääÿäääÿåääÿäåäÿääåÿåäåÿåååÿåååÿåååÿåååÿææåÿååæÿåæåÿæææÿåææÿæææÿææåÿæææÿæææÿæææÿçççÿççæÿçæçÿæççÿææçÿçççÿçççÿçççÿççèÿèçèÿçèçÿçèèÿèèçÿèèèÿèèèÿèèèÿèéèÿéèèÿèèèÿèééÿéééÿéééÿéééÿééêÿééêÿéêéÿêêéÿêééÿêêêÿêêêÿêêêÿêêêÿëëëÿëëëÿêëêÿëëëÿëêëÿëëëÿëëëÿëëëÿìëëÿëëëÿìëëÿëììÿìììÿìììÿìììÿìììÿìíìÿìììÿííìÿìììÿíííÿíííÿíìíÿíííÿíííÿííîÿíîîÿîííÿîííÿíîîÿîîîÿîîîÿîîïÿîîïÿïîîÿîïïÿïîîÿïïïÿîïïÿïïïÿ—–—ÿ—––ÿ—––ÿ–––ÿ–––ÿ–——ÿ–––ÿ–––ÿ——–ÿ——–ÿ—––ÿ––—ÿ–––ÿ–––ÿ—––ÿ—––ÿ—––ÿ––—ÿ–––ÿ––—ÿ––—ÿ–——ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ––—ÿ—–—ÿ–––ÿ–——ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–——ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–——ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ–––ÿ—––ÿ–—–ÿ–––ÿ—–—ÿ–––ÿ——–ÿ–—–ÿ–—–ÿ––—ÿ—––ÿ–—–ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ—–—ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ——˜ÿ˜˜—ÿ˜˜—ÿ˜˜—ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜˜™ÿ˜˜™ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿš™šÿšššÿš™™ÿš™šÿ™š™ÿ™ššÿšššÿšššÿšššÿ›ššÿ›š›ÿ››šÿšš›ÿ›››ÿ›š›ÿ›››ÿœ››ÿ›››ÿ››œÿœ›œÿ››œÿœœœÿœœœÿœœœÿœœœÿœÿœœœÿœÿœÿÿÿœÿœœŸÿy‚ËÿQôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿB_ìÿ•–²ÿ¡¡ ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¡ÿ¡¡¢ÿ¢¡¢ÿ¡¢¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢££ÿ¢¢¢ÿ¢¢£ÿ££¢ÿ¢££ÿ£££ÿ£££ÿ¤£¤ÿ¤££ÿ¤¤£ÿ£¤£ÿ££¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ˜™¤ÿCO¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ8F¥ÿ™š¥ÿ¦¥¥ÿ¥¦¦ÿ¥¥¥ÿ¦¥¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§§ÿ¦§¦ÿ¦¦§ÿ§¦§ÿ§§§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§¨ÿ¨¨¨ÿ§¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ¨¨©ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿª©©ÿ©ªªÿ©ªªÿªªªÿªªªÿª©ªÿ©ªªÿªª«ÿªª«ÿªªªÿ«ª«ÿžŸµÿ]lÔÿIàÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿCáÿDáÿlxÔÿª«¹ÿ³´´ÿ´³³ÿ´³´ÿ´´´ÿ´´´ÿµ´µÿ´´µÿµµ´ÿµ´´ÿ´µµÿ´´µÿµµµÿµµµÿµµµÿµ¶µÿµµµÿ¶µ¶ÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶¶ÿ¶··ÿ¶·¶ÿ¶·¶ÿ···ÿ¶··ÿ···ÿ···ÿ¸·¸ÿ¸¸·ÿ¸·¸ÿ¸··ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¸¸¹ÿ¹¸¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿºººÿº¹ºÿºººÿº¹¹ÿºººÿºººÿºººÿº»ºÿº»»ÿ»»»ÿº»ºÿ»ººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ¼»¼ÿ¼¼»ÿ¼»»ÿ¼»¼ÿ¼¼½ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½½¾ÿ½¾¾ÿ½¾¾ÿ¾½½ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¿¿ÿ¾¾¿ÿ¾¿¾ÿ¿¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÀÿÀÁÁÿÁÀÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÂÂÿÁÁÁÿÁÁÂÿÂÁÁÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÃÿÂÃÂÿÃÃÃÿÃÂÃÿÃÃÃÿÄÃÃÿÃÃÃÿÄÃÃÿÃÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÅÅÿÆÆÅÿÆÅÆÿÅÅÆÿÆÆÆÿÆÆÅÿÆÇÆÿÆÆÇÿÆÆÆÿÇÇÆÿÇÆÆÿÇÇÇÿÆÇÆÿÇÆÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÇÇÿÇÇÈÿÇÈÇÿÈÇÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÉÿÈÉÉÿÈÈÈÿÈÈÉÿÉÉÉÿ¯²Îÿ9TÚÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@ÛÿDÛÿUfÚÿ’˜×ÿÉÊÓÿÑÑÒÿÒÒÑÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÓÿÓÒÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÔÿÓÓÔÿÔÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÕÔÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖÖÖÿÖÖ×ÿ×Ö×ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×רÿØ×ØÿØ×ØÿØØØÿØØØÿØØØÿØØØÿØØÙÿÙÙØÿØÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿØÙÚÿ¤§Äÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ}‚·ÿÚÛÚÿÚÛÚÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÜÛÛÿÛÜÛÿÜÛÛÿÛÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÜÝÜÿÜÜÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÞÝÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿÞÞÞÿÙÙàÿbwóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ_uôÿÙÙãÿáááÿáááÿâááÿáâáÿâááÿâââÿáââÿâââÿâââÿâââÿâãâÿâãâÿââãÿãâãÿââãÿãããÿãããÿãããÿãããÿäääÿãããÿäãäÿäääÿäääÿäääÿääåÿäåäÿåäåÿåääÿåäåÿååäÿååäÿåååÿåææÿååæÿåååÿåååÿæææÿææåÿæææÿæææÿæçæÿæææÿæææÿçççÿçççÿæççÿçççÿçççÿççèÿçççÿççèÿççèÿèèèÿçèçÿçèèÿèèèÿèèèÿèèéÿèéèÿéèèÿèéèÿéèéÿéééÿéééÿéééÿéééÿêééÿéééÿéêêÿêééÿêêéÿéêêÿêêêÿêêêÿêêêÿêëêÿêëêÿëëêÿëëëÿëëêÿëëêÿëëìÿëëëÿëëìÿììëÿëëëÿëììÿìëìÿìììÿìììÿíììÿìììÿììíÿííìÿííìÿííìÿíííÿíííÿíîîÿîîîÿíîíÿîîíÿîîíÿîíîÿîîîÿíîíÿîîîÿîîîÿîïîÿîîîÿïïïÿïïïÿïïïÿïïïÿ——–ÿ––—ÿ–––ÿ–––ÿ––—ÿ——–ÿ–––ÿ––—ÿ—–—ÿ—––ÿ–—–ÿ–—–ÿ–—–ÿ—––ÿ–––ÿ—–—ÿ—––ÿ——–ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ––—ÿ——–ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ–——ÿ—––ÿ–––ÿ–––ÿ–—–ÿ———ÿ–––ÿ––—ÿ–—–ÿ—––ÿ–——ÿ–––ÿ––—ÿ–––ÿ–—–ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–——ÿ––—ÿ–—–ÿ–––ÿ—––ÿ–––ÿ—––ÿ——–ÿ–––ÿ–––ÿ—––ÿ—–—ÿ—––ÿ——–ÿ—––ÿ––—ÿ–——ÿ–—–ÿ–—–ÿ–——ÿ––—ÿ—–—ÿ–––ÿ———ÿ–——ÿ–——ÿ–——ÿ——–ÿ—˜—ÿ˜˜—ÿ———ÿ˜˜˜ÿ——˜ÿ—˜˜ÿ˜—˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™™˜ÿ™˜™ÿ™™™ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿš™™ÿš™šÿ™š™ÿ™ššÿšš™ÿšš™ÿšššÿšššÿšššÿ›š›ÿ›š›ÿ›ššÿ›››ÿ›š›ÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›››ÿœœ›ÿ›œ›ÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœÿÿœÿœÿÿœ ÿ{„ÉÿOöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿWkäÿŸ¤ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ¢££ÿ¢¢£ÿ££¢ÿ£££ÿ£££ÿ££¤ÿ¤££ÿ££¤ÿ£¤£ÿ£¤£ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿŒŽ¤ÿ1¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿƒ¥ÿ¥¦¥ÿ¥¦¦ÿ¥¦¥ÿ¥¦¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦¦ÿ¦§§ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§§ÿ§¨¨ÿ¨§¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©©ÿ©¨©ÿ¨¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿ©ªªÿªªªÿ©©ªÿªªªÿªªªÿªªªÿª««ÿ«ªªÿ«««ÿ§¨­ÿŠÂÿ?YÚÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿCàÿReÙÿ›žÂÿ´³´ÿ´³³ÿ³´´ÿ´´´ÿ´´´ÿµ´´ÿµ´µÿ´µ´ÿµµ´ÿµ´µÿµµµÿµµµÿµµµÿµµ¶ÿ¶¶µÿµµ¶ÿµ¶µÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶·ÿ¶¶¶ÿ···ÿ¶·¶ÿ·¶·ÿ···ÿ···ÿ···ÿ¸·¸ÿ···ÿ···ÿ···ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿº¹¹ÿºº¹ÿ¹¹ºÿºººÿºººÿºººÿºººÿºººÿºº»ÿºººÿº»»ÿº»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ»¼¼ÿ¼¼»ÿ¼»¼ÿ»»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½¼½ÿ½¼½ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾½ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¾¿ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿÀÀ¿ÿ¿¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÀÿÁÀÁÿÀÁÁÿÁÁÀÿÁÁÀÿÁÂÁÿÂÁÁÿÁÁÁÿÁÂÁÿÂÁÂÿÂÂÂÿÂÂÁÿÁÂÂÿÂÃÂÿÂÂÂÿÂÂÃÿÂÂÂÿÃÃÃÿÃÂÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÃÿÃÃÃÿÃÃÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÄÅÄÿÅÅÅÿÄÄÄÿÅÅÄÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÅÿÆÆÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÇÿÇÆÆÿÆÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÈÇÿÈÈÈÿÇÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÉÈÿÉÈÉÿÈÉÈÿµ·ÍÿM`Øÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@ÚÿdrØÿ¦ªÕÿÅÆÒÿÑÒÑÿÑÒÒÿÑÑÑÿÒÒÑÿÑÒÑÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÓÿÒÒÒÿÒÒÓÿÒÒÒÿÒÓÓÿÓÓÓÿÓÓÒÿÓÓÓÿÓÔÓÿÔÓÓÿÓÓÔÿÔÔÔÿÔÔÔÿÓÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÕÔÕÿÕÕÔÿÕÔÔÿÕÔÕÿÕÕÕÿÕÖÕÿÖÕÖÿÕÕÖÿÖÕÕÿÖÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿÖÖÖÿ×Ö×ÿÖ××ÿ×Ö×ÿÖ××ÿ×××ÿ×××ÿØ××ÿ×××ÿ×רÿØ×ØÿØ×ØÿØØØÿØ××ÿØØØÿØÙÙÿÙØÙÿØÙØÿØÙØÿÙØØÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÖרÿkq²ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿJU«ÿÈÉÒÿÚÚÚÿÚÚÚÿÛÚÚÿÛÛÚÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÛÛÛÿÜÛÛÿÛÜÛÿÜÜÛÿÜÛÜÿÜÜÜÿÜÜÜÿÝÜÝÿÜÝÜÿÝÝÜÿÜÜÜÿÝÜÝÿÝÜÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÞÝÿÞÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿ©¯êÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ?`öÿÂÅçÿáááÿáááÿáááÿâáâÿáâáÿâááÿáââÿââáÿâââÿââáÿâââÿâããÿâãâÿãââÿâãâÿâããÿãããÿãããÿãããÿãããÿãããÿãããÿãäãÿäääÿãääÿäääÿäääÿäääÿäääÿäääÿååäÿååäÿåååÿåååÿåååÿåååÿæååÿåååÿæåæÿåææÿæææÿæææÿæææÿæææÿæææÿææçÿçççÿæççÿçææÿççæÿçççÿçççÿçççÿèççÿèççÿèçèÿçèèÿèèèÿèçèÿèèèÿèèèÿèééÿéèèÿèéèÿèééÿèèéÿéééÿéééÿéééÿêéêÿéêêÿéêêÿêééÿéêêÿêêêÿêêêÿêêêÿêêêÿëëêÿêëêÿëêêÿëëëÿëêëÿëëëÿëëëÿëëëÿìëëÿìëëÿììëÿëëëÿìììÿìììÿìììÿìììÿìììÿììíÿíììÿíííÿíííÿíííÿíííÿíííÿíííÿíííÿîííÿííîÿíîîÿíîîÿîîîÿîïîÿîîïÿîïîÿïîîÿîïïÿïîîÿïïïÿ–––ÿ––—ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–—–ÿ—––ÿ––—ÿ–––ÿ–––ÿ—–—ÿ—––ÿ–––ÿ——–ÿ–––ÿ—––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ––—ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ——–ÿ—––ÿ–—–ÿ–––ÿ––—ÿ——–ÿ–––ÿ–—–ÿ–——ÿ–––ÿ–—–ÿ–––ÿ––—ÿ———ÿ–—–ÿ———ÿ———ÿ———ÿ——˜ÿ—˜˜ÿ˜˜—ÿ——˜ÿ˜˜—ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™™ÿ˜˜™ÿ˜™˜ÿ˜˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿš™™ÿšššÿš™šÿ™š™ÿšššÿšššÿšššÿšššÿš›šÿ›››ÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿ›œ›ÿœœœÿœœ›ÿœœ›ÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœÿœœÿœÿœÿÿœžÿ~…Æÿ RôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿkxØÿ Ÿ¡ÿ¡¡ ÿ  ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¢¢ÿ¡¢¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢£ÿ£££ÿ¢£¢ÿ£¢£ÿ£¢£ÿ£££ÿ£££ÿ££¤ÿ£¤¤ÿ££¤ÿ¤£¤ÿ£¤¤ÿ£¤¤ÿ¤¤¤ÿ¤£¤ÿx{¥ÿ,¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿJT¥ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¥¥ÿ¦¦¦ÿ¥¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦¦ÿ¦§¦ÿ§§¦ÿ§§¦ÿ¦§§ÿ§§§ÿ§¦§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ¨§§ÿ¨§¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨¨ÿ¨©¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿªª©ÿ©ªªÿªªªÿª©ªÿªªªÿªªªÿª««ÿ««ªÿª««ÿª««ÿªª«ÿ£¤²ÿjvÏÿ+NÝÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿ.OÞÿ‹‘Èÿ°°¶ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿµ´µÿ´´´ÿ´µ´ÿµµ´ÿ´µ´ÿµµµÿµµµÿ¶µµÿ¶µµÿµµ¶ÿµµµÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ¶¶¶ÿ·¶¶ÿ···ÿ¶··ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ¸·¸ÿ·¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¸¹¹ÿ¸¹¹ÿ¸¹¸ÿ¸¸¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿº¹ºÿºººÿºººÿºººÿºº»ÿº»ºÿ»ººÿ»ººÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»¼»ÿ¼»»ÿ»¼»ÿ¼¼¼ÿ¼»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½¾½ÿ¾½½ÿ½½¾ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¿ÿ¾¿¾ÿ¿¾¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿ¿ÀÀÿÀ¿ÀÿÀÀÀÿÀ¿Àÿ¿ÀÀÿÀÀÀÿÁÁÁÿÁÀÀÿÀÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÁÂÿÁÁÂÿÁÁÁÿÂÁÁÿÂÁÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÃÂÃÿÂÃÃÿÃÂÂÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÃÄÃÿÃÃÃÿÃÄÃÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÅÄÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÅÅÆÿÅÅÅÿÅÅÅÿÅÆÅÿÅÆÅÿÆÆÆÿÆÆÇÿÆÆÇÿÇÇÆÿÆÆÇÿÆÆÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÈÇÿÇÈÇÿÇÈÈÿÈÈÇÿÈÇÈÿÈÈÇÿÈÈÇÿÈÈÈÿÈÈÈÿÉÉÈÿµ·ÌÿCZØÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ.NÚÿ]lØÿ©­ÔÿÌÌÒÿÐÐÐÿÑÑÑÿÑÒÒÿÑÒÑÿÒÑÑÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÒÒÿÒÒÒÿÓÓÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÓÿÓÔÓÿÓÔÓÿÔÔÓÿÓÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÔÔÿÔÕÔÿÕÕÔÿÕÕÔÿÕÕÕÿÕÕÔÿÕÕÖÿÕÕÕÿÖÖÕÿÕÖÕÿÕÖÖÿÕÕÖÿÖÖÖÿÖÕÖÿÖÖÖÿÖÖ×ÿ×Ö×ÿÖ×ÖÿÖÖÖÿÖ××ÿ×××ÿ×××ÿ×××ÿר×ÿ×××ÿ×××ÿØ××ÿØØ×ÿØØØÿØØØÿØØØÿØØØÿØØÙÿØØÙÿØØØÿÙÙÙÿØÙÙÿØØØÿÙÙÙÿÙÙÙÿÈÈÒÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ2¦ÿž ÁÿØÙÙÿÚÛÚÿÛÚÚÿÛÚÚÿÛÚÚÿÛÚÚÿÛÛÛÿÛÚÛÿÛÛÜÿÛÛÛÿÛÛÜÿÛÛÛÿÜÛÛÿÜÛÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÜÜÜÿÝÜÜÿÝÜÜÿÜÝÝÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÝÝÞÿÞÞÝÿÞÝÝÿÞÞÞÿÞÞÞÿÑÓáÿZqôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿO÷ÿ›£íÿààáÿáááÿááàÿâááÿáááÿâááÿâááÿâââÿââáÿáââÿââáÿâââÿâââÿâââÿâââÿããâÿããâÿãããÿãããÿãããÿãããÿãããÿãääÿäããÿãããÿãäãÿãääÿäääÿääåÿääåÿääåÿåääÿääåÿåääÿåååÿäååÿåååÿæååÿåææÿæååÿæåæÿåæåÿæææÿæææÿæææÿæææÿæææÿæçæÿæææÿççæÿçççÿçæçÿçççÿèççÿçççÿèççÿçèèÿèèèÿçççÿèèèÿèèèÿèèèÿèèèÿèèèÿéèéÿèèèÿèèéÿéééÿéééÿéêéÿéééÿéééÿéééÿêêêÿêéêÿéêêÿêêêÿêêêÿêêêÿêêêÿêêêÿêêëÿêëëÿëëëÿëëëÿëëëÿëìëÿëëëÿìëìÿëìëÿììëÿììëÿìëìÿìììÿìììÿíììÿíììÿìììÿììíÿììíÿííìÿíííÿííîÿíîíÿíííÿíííÿíîîÿííîÿîîíÿîîîÿîîîÿîîîÿïîïÿîîîÿîîîÿîîïÿïîïÿ––—ÿ–——ÿ–—–ÿ–—–ÿ–––ÿ—––ÿ––—ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ—–—ÿ––—ÿ–––ÿ—––ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ––—ÿ–——ÿ–––ÿ—––ÿ–––ÿ––—ÿ——–ÿ—––ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–—–ÿ—––ÿ–––ÿ–——ÿ–––ÿ–––ÿ–––ÿ——–ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ—–—ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ—––ÿ—––ÿ——–ÿ–––ÿ–—–ÿ–—–ÿ–——ÿ—–—ÿ———ÿ———ÿ—–—ÿ———ÿ———ÿ———ÿ˜——ÿ—˜˜ÿ—˜˜ÿ˜——ÿ˜˜—ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ˜™™ÿ˜˜˜ÿ˜™˜ÿ™™™ÿ™™™ÿ˜™™ÿ™™šÿš™™ÿšššÿš™™ÿ™™šÿ™ššÿšššÿšššÿšššÿš››ÿ›ššÿš›šÿ›š›ÿ›š›ÿšš›ÿ›››ÿ››œÿ›œ›ÿ›››ÿ›››ÿœ›œÿœœœÿœœœÿœœ›ÿœœœÿœœœÿœœœÿœœÿœÿœÿœÿœÿÿžÿœŸÿ|„ÉÿPõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ!Rôÿƒ‰Æÿ  ¢ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¢¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢¢£ÿ¢£¢ÿ¢££ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤¤ÿ£¤£ÿ¤££ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿž¤ÿRZ¥ÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿ’“¥ÿ¥¥¦ÿ¥¥¥ÿ¦¥¥ÿ¦¦¦ÿ¦¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ¦¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§§ÿ¨§¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©¨©ÿ¨©©ÿ©©©ÿ¨©¨ÿ©©©ÿ©©©ÿªªªÿ©ª©ÿ©©©ÿ©©ªÿªªªÿªª©ÿªªªÿªªªÿªªªÿª««ÿªªªÿ«««ÿ«««ÿ«ªªÿ“—»ÿ_mÓÿ DàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿBàÿ Dßÿp{Òÿ§¨»ÿ´´³ÿ´´´ÿ´´´ÿ´´´ÿ´µ´ÿ´µ´ÿµµµÿµ´µÿµµµÿµµµÿµµµÿ¶µ¶ÿµ¶¶ÿ¶µµÿ¶µµÿ¶¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶¶ÿ·¶·ÿ¶·¶ÿ¶¶·ÿ·¶·ÿ··¶ÿ···ÿ···ÿ·¸·ÿ¸··ÿ·¸·ÿ··¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¸¹¹ÿ¸¸¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿºººÿ¹ººÿº¹ºÿºººÿºººÿºººÿº»»ÿºº»ÿºº»ÿ»»ºÿ»ººÿº»»ÿ»»»ÿ»»¼ÿ»»¼ÿ»»»ÿ¼¼»ÿ»»¼ÿ¼»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½½¾ÿ½¾½ÿ¾¾½ÿ¾½½ÿ½¾¾ÿ½¾½ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¿ÿ¿¾¾ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÀÀÀÿÁÀÁÿÁÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÁÿÂÂÁÿÁÁÂÿÁÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÂÂÿÂÃÂÿÃÃÃÿÂÃÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÄÿÄÃÄÿÄÃÄÿÄÄÃÿÄÄÄÿÅÄÄÿÅÄÄÿÄÄÄÿÄÅÅÿÄÅÅÿÄÄÄÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÆÆÿÅÅÆÿÅÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÇÇÿÆÆÆÿÆÆÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÈÇÇÿÇÇÇÿÈÈÇÿÈÇÈÿÈÇÈÿÈÈÈÿÈÈÈÿ³µÌÿPb×ÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ=WØÿ‚ŠÖÿ±³ÓÿÍÎÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÑÿÒÑÑÿÒÒÑÿÒÒÑÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÒÿÓÒÒÿÓÓÓÿÒÓÒÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÔÔÔÿÓÔÓÿÓÔÔÿÔÔÔÿÔÓÔÿÔÔÔÿÔÔÕÿÔÔÔÿÔÕÕÿÕÕÕÿÕÔÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÖÿÖÖÕÿÖÖÖÿÕÕÖÿÖÖÖÿÖÖ×ÿ×ÖÖÿ××Öÿ××ÖÿÖ××ÿ×××ÿ×Ö×ÿ×××ÿØ×ØÿØØ×ÿØ××ÿר×ÿØØØÿØØØÿØØØÿØØØÿØØØÿØØØÿØØØÿØÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿ›žÀÿ+¥ÿ+¥ÿ+¥ÿ+¥ÿ\d®ÿÑÑÖÿÚÚÚÿÚÚÛÿÚÚÛÿÚÚÚÿÚÛÚÿÛÚÚÿÚÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÛÜÿÜÛÜÿÛÛÜÿÜÛÛÿÜÜÜÿÜÜÜÿÜÜÛÿÜÜÝÿÜÜÜÿÝÝÜÿÝÜÜÿÝÝÜÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÞÞÝÿÝÝÞÿÞÝÝÿÞÞÝÿÝÝÞÿ©¯êÿQ÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿu…òÿÚÜáÿáààÿáàáÿàááÿáàáÿáááÿáááÿáááÿáâáÿáááÿâââÿâáâÿââáÿâââÿâââÿâââÿââãÿâãâÿâããÿâãâÿãâãÿãããÿãããÿãäãÿãäãÿäããÿääãÿãääÿäãäÿäääÿääåÿäääÿååäÿäääÿåäåÿåäåÿåååÿåååÿåååÿååæÿåååÿåååÿåææÿåææÿåææÿæææÿæææÿæææÿææçÿæççÿççæÿçççÿçççÿçççÿçççÿèèçÿçççÿèèèÿçèèÿççèÿçèçÿèèèÿèèèÿèèèÿéééÿèèèÿééèÿèéèÿééèÿéééÿéééÿééêÿéééÿêêéÿéééÿéêéÿêêéÿéêêÿêêêÿêêêÿêëêÿëêêÿêêëÿëëêÿëêëÿëêëÿëëëÿëëëÿëìëÿìëìÿëëëÿëëìÿëëìÿìììÿìììÿìììÿìììÿìììÿìííÿíìíÿíìíÿíííÿííìÿíííÿíííÿíííÿíîíÿíííÿíîíÿîíîÿîîîÿîîîÿîîîÿîîîÿîïîÿïîîÿîîïÿîïîÿ–—–ÿ–––ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ––—ÿ–––ÿ–––ÿ—––ÿ——–ÿ–––ÿ–––ÿ——–ÿ——–ÿ—––ÿ–––ÿ–––ÿ———ÿ–——ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ—––ÿ––—ÿ—––ÿ–—–ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–——ÿ–––ÿ––—ÿ–––ÿ–––ÿ–——ÿ–––ÿ––—ÿ—––ÿ––—ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–—–ÿ–——ÿ—–—ÿ—–—ÿ———ÿ˜——ÿ—˜—ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿšš™ÿšššÿšššÿšššÿšššÿšššÿ›ššÿ›š›ÿš››ÿšš›ÿš››ÿ›š›ÿ›››ÿ›››ÿœ››ÿœœ›ÿ›œœÿœ›œÿœœœÿœœœÿœœœÿœœÿœœÿœœœÿœœÿœÿœÿÿÿžÿœœŸÿ€‡ÅÿPõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ2Xñÿ•˜±ÿ¡¡ ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ££¢ÿ£££ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£££ÿ££¤ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ“”¥ÿ$9¥ÿ+¥ÿ+¥ÿ+¥ÿ,¥ÿjo¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¦¥¥ÿ¥¥¦ÿ¦¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦§¦ÿ§§¦ÿ¦§§ÿ§¦§ÿ¦§§ÿ§§§ÿ§¨§ÿ§§§ÿ§§¨ÿ¨§§ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ©¨¨ÿ©¨¨ÿ¨©©ÿ©©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿ©ªªÿªªªÿªªªÿªªªÿªªªÿªªªÿ«ªªÿ«ª«ÿ«««ÿª««ÿ««ªÿ««ªÿ§¨®ÿŽ“¾ÿE[ØÿEÞÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿCßÿG]ÚÿšÂÿ³³µÿ´´´ÿ´´µÿ´´µÿµµ´ÿµ´µÿ´µ´ÿ´µµÿ´µµÿµ´µÿµµµÿµµµÿµ¶µÿµµµÿµ¶¶ÿ¶µµÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶·¶ÿ···ÿ···ÿ¶··ÿ···ÿ···ÿ···ÿ¸·¸ÿ·¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¸¹¸ÿ¸¹¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹ºÿ¹º¹ÿ¹¹ºÿºººÿºººÿº»ºÿºº»ÿº»ºÿº»ºÿºººÿºº»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»¼ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ¼¼½ÿ½¼½ÿ½¼½ÿ½½½ÿ¾½½ÿ¾½¾ÿ½½¾ÿ½¾½ÿ¾¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿À¿ÿÀÀ¿ÿ¿¿¿ÿ¿ÀÀÿ¿ÀÀÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÁÁÀÿÁÀÁÿÀÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÂÁÿÂÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÃÂÃÿÃÂÂÿÃÂÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÄÄÿÃÃÄÿÄÄÄÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÆÅÆÿÅÆÅÿÅÆÆÿÆÅÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÆÆÿÇÆÇÿÇÇÆÿÇÇÇÿÇÆÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÈÈÿÈÈÇÿ´¶ÌÿF[×ÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?ÙÿFÙÿ’˜ÕÿÃÄÑÿÌÍÑÿÐÐÑÿÐÐÐÿÐÐÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÑÿÑÑÑÿÑÒÒÿÑÒÑÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÒÿÒÓÓÿÓÓÓÿÒÓÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÓÔÓÿÓÔÔÿÔÔÓÿÓÓÔÿÔÔÔÿÓÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÕÕÔÿÔÔÕÿÕÕÕÿÕÔÔÿÕÕÕÿÕÕÕÿÖÕÕÿÕÕÕÿÖÕÕÿÕÕÕÿÕÕÕÿÖÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×Ö×ÿÖ×Öÿ×Ö×ÿ××Öÿ×××ÿØ××ÿ×××ÿ×××ÿØØ×ÿØØØÿØ×ØÿרØÿØ×ØÿØØØÿØØØÿØÙÙÿØØÙÿØÙØÿÙÙÙÿÙÙÙÿØØÙÿ]e¯ÿ+¥ÿ+¥ÿ+¥ÿ .¥ÿ¸¹ËÿÙÚÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÛÛÿÛÚÚÿÛÛÚÿÚÛÚÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÜÛÿÛÜÛÿÜÜÜÿÜÜÛÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÝÝÝÿÜÝÝÿÜÜÝÿÝÜÝÿÝÞÝÿÝÝÝÿÞÝÝÿÝÝÝÿÞÝÞÿÕ×àÿWoóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿIfõÿÍÎåÿàááÿáááÿáááÿáááÿàááÿáááÿáááÿâááÿáâáÿáâáÿâáâÿáââÿâââÿââáÿâââÿâââÿããâÿâãâÿâãâÿãããÿãâãÿãããÿãããÿãäãÿãããÿãããÿäääÿäãäÿäãäÿäääÿäääÿäääÿåääÿäåäÿääåÿäåäÿåååÿåååÿåååÿåååÿåæåÿåååÿåæåÿåååÿåææÿææåÿæææÿæææÿæçæÿæææÿæçæÿçççÿçæçÿççæÿçççÿçççÿèçèÿçççÿèççÿçèèÿèèçÿèçèÿççèÿèèèÿèèèÿééèÿéèèÿèééÿèéèÿèééÿéèéÿéééÿéééÿéééÿéêêÿéééÿéêêÿêéêÿéêêÿêêêÿêêêÿëêêÿêëêÿêëêÿêëëÿêëëÿëëëÿëëëÿëëëÿëëìÿëëìÿëëìÿëìëÿìëìÿëììÿìììÿìììÿíììÿìììÿìììÿìííÿííìÿíìíÿíìíÿíííÿîííÿíîíÿíííÿíîîÿîîîÿîîîÿîîíÿîîîÿîîîÿîîîÿïîïÿïïïÿîïîÿ–––ÿ–––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ–——ÿ–––ÿ––—ÿ—–—ÿ——–ÿ–––ÿ–––ÿ—––ÿ–—–ÿ–——ÿ—–—ÿ———ÿ––—ÿ—––ÿ–—–ÿ–––ÿ—–—ÿ—––ÿ–––ÿ—–—ÿ——–ÿ––—ÿ———ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–—–ÿ—––ÿ–—–ÿ––—ÿ––—ÿ––—ÿ–––ÿ——–ÿ–––ÿ–––ÿ———ÿ–––ÿ––—ÿ–—–ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ—––ÿ—––ÿ–—–ÿ———ÿ––—ÿ––—ÿ—––ÿ–––ÿ—–—ÿ—––ÿ–—–ÿ–——ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ—˜—ÿ˜˜—ÿ˜——ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™˜ÿ™˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿš™šÿ™™™ÿš™šÿš™™ÿ™š™ÿš™šÿšššÿšššÿ›ššÿš›šÿšš›ÿ››šÿ›››ÿš››ÿš››ÿ›››ÿ›››ÿ›››ÿ››œÿœ››ÿ›œœÿ›œœÿœœœÿ›œœÿœœœÿœœÿœœÿœÿœÿÿœÿÿÿÿœœžÿ}…Èÿ%SóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿNfèÿ›œ©ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¡¡¢ÿ¡¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ££¢ÿ¢££ÿ£¢£ÿ££¢ÿ££¢ÿ£££ÿ££¤ÿ£££ÿ£¤¤ÿ¤££ÿ£¤¤ÿ£¤¤ÿ¤¤¤ÿ£¤¤ÿ¤¤¥ÿƒ¥ÿ1¥ÿ+¥ÿ+¥ÿ+¥ÿFP¥ÿ¥ÿ¦¥¥ÿ¥¥¥ÿ¦¥¦ÿ¦¥¥ÿ¦¦¥ÿ¥¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§¦¦ÿ¦§§ÿ§§§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§¨ÿ§§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ©¨¨ÿ¨©©ÿ©©©ÿ©©¨ÿ©©©ÿ©ª©ÿ©©©ÿ©©©ÿ©©ªÿ©ª©ÿªªªÿ©©ªÿªªªÿªªªÿª««ÿªªªÿªªªÿ«ª«ÿª««ÿ««ªÿ«««ÿ«««ÿ§¨®ÿ€‡ÆÿRdÖÿEÞÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿBßÿGÞÿ‰Ëÿ«­¹ÿ´´´ÿ´´´ÿ´µ´ÿµ´´ÿ´´µÿ´µ´ÿµµµÿµµµÿµµµÿµµµÿµ¶¶ÿ¶µµÿµµµÿ¶µµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ¶··ÿ···ÿ·¶·ÿ··¶ÿ···ÿ···ÿ··¸ÿ···ÿ···ÿ¸··ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¹¸ÿ¹¹¸ÿ¹¹¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿº¹¹ÿ¹¹ºÿº¹ºÿ¹ººÿ¹¹ºÿº¹¹ÿºººÿºººÿºº»ÿºººÿº»ºÿ»»»ÿ»»ºÿº»»ÿ»»»ÿ»»»ÿ¼»¼ÿ»»¼ÿ»¼»ÿ»»»ÿ¼¼¼ÿ¼¼»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ¼¼¼ÿ¼¼¼ÿ½¼½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾¾ÿ¾½¾ÿ½¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¿ÿ¾¿¿ÿ¿¿¾ÿ¿¾¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿÀ¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿ¿ÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÁÀÁÿÁÀÁÿÀÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÂÁÁÿÁÁÂÿÁÁÂÿÂÂÂÿÁÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÂÃÂÿÃÂÂÿÂÂÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÅÄÿÄÅÄÿÅÅÅÿÄÅÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÆÆÿÆÆÆÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÇÇÿÆÇÆÿÇÆÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÈÇÿÇÇÇÿÇÈÈÿÈÇÇÿÈÇÈÿ°²ÌÿH]Öÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?ØÿFØÿ–›ÔÿÏÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÑÑÑÿÐÐÐÿÐÐÑÿÐÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÒÿÒÑÑÿÑÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÒÿÓÒÓÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÔÔÿÕÔÔÿÔÔÔÿÕÕÕÿÕÕÔÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÕÿÕÕÕÿÕÕÖÿÖÕÖÿÕÖÖÿÖÖÖÿÖÖ×ÿÖÖÖÿÖÖÖÿÖ×Öÿ××Öÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿØ×ØÿרØÿØ×ØÿØØØÿØ×ØÿØØØÿØØØÿÙØÙÿÙÙÙÿÙÙØÿÙØØÿÂÃÏÿ;I©ÿ+¥ÿ+¥ÿ+¥ÿˆºÿØØÙÿÙÙÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÛÚÿÛÚÚÿÛÛÛÿÛÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÛÜÿÛÜÜÿÛÛÜÿÛÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÝÜÝÿÝÜÝÿÝÝÝÿÝÝÜÿÝÝÝÿÝÝÝÿÞÝÝÿÝÝÝÿÝÝÝÿ¤ªêÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ R÷ÿ¬²ëÿàßàÿáàáÿàààÿáàáÿáàáÿáááÿááàÿáááÿáâáÿáâáÿááâÿâááÿâááÿâââÿââáÿâââÿâââÿââãÿâãâÿããâÿãâãÿãããÿâããÿãããÿãããÿäããÿãääÿãäãÿäããÿäãäÿäääÿäãäÿäääÿäääÿäääÿåäåÿääåÿåäåÿäååÿåäåÿåååÿåååÿææåÿåæåÿæååÿåææÿæææÿæææÿåææÿæææÿæææÿççæÿçææÿææçÿçæçÿççæÿçççÿçççÿçççÿèèçÿçèèÿçèçÿèèèÿèçèÿèèèÿèèèÿèèèÿèèèÿéèèÿéèèÿèééÿéééÿéèéÿéééÿéééÿéééÿééêÿéêêÿêêêÿêêêÿêêêÿêêêÿëêêÿêêêÿêëêÿëêêÿêëëÿëëëÿêëëÿëëëÿëëëÿëìëÿëëëÿëëëÿìììÿëëìÿìììÿìììÿìíìÿíìíÿìíìÿíììÿìííÿíííÿíííÿíííÿíííÿîîíÿîííÿîíîÿîííÿîíîÿîîîÿîîîÿîîîÿîîïÿîïîÿîîîÿïîïÿ––—ÿ—–—ÿ–——ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ——–ÿ———ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–——ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ–——ÿ–––ÿ–—–ÿ––—ÿ–—–ÿ—–—ÿ–––ÿ–—–ÿ––—ÿ–––ÿ––—ÿ—––ÿ–—–ÿ—––ÿ–––ÿ—–—ÿ–––ÿ—–—ÿ—––ÿ–—–ÿ–—–ÿ—––ÿ—––ÿ–——ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–——ÿ—––ÿ———ÿ—–—ÿ––—ÿ———ÿ———ÿ———ÿ——˜ÿ˜˜—ÿ—˜—ÿ——˜ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜˜˜ÿ™™˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿ™™šÿšššÿ™™šÿšššÿšššÿšš›ÿ›ššÿš›šÿšššÿ›››ÿš››ÿš››ÿ›››ÿ›››ÿ››œÿ›œ›ÿ›œœÿœœœÿ›œœÿœœœÿœœœÿœœœÿœœœÿœÿœÿœÿœœÿœÿÿÿÿœœžÿˆÃÿPõÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ Nöÿp{ÖÿŸ ¤ÿ¡¡ ÿ  ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¢ÿ¢¡¢ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ£¢¢ÿ£¢¢ÿ¢¢£ÿ££¢ÿ£¢¢ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ¤££ÿ¤££ÿ¤¤£ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¡¡¤ÿek¥ÿ,¥ÿ+¥ÿ+¥ÿ6¥ÿ¤ÿ¤¥¥ÿ¥¥¥ÿ¦¥¦ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§§ÿ§§¦ÿ¦§§ÿ§§¦ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§¨ÿ¨§¨ÿ§¨§ÿ§¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ¨©©ÿ¨¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿ©©©ÿª©©ÿ©©©ÿ©ªªÿ©ªªÿªª©ÿªªªÿªªªÿªªªÿªª«ÿ«ªªÿ«««ÿ««ªÿ««ªÿ«««ÿ«««ÿ«««ÿ¤¥²ÿ”¾ÿTeÕÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿAÞÿ CÞÿQc×ÿ›žÁÿ´´µÿ´´´ÿ´µµÿ´´´ÿµ´µÿ´µ´ÿµ´µÿµµµÿµµ¶ÿ¶µµÿµµµÿµµµÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶µÿ·¶¶ÿ¶·¶ÿ¶¶·ÿ¶¶·ÿ¶¶¶ÿ·¶·ÿ···ÿ¶··ÿ···ÿ¸··ÿ··¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ·¸·ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¹¹ÿ¹¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿ¹¹¹ÿºº¹ÿºººÿº¹ºÿ¹ººÿºººÿ»»ºÿºººÿ»ººÿºº»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼¼ÿ¼¼¼ÿ»»¼ÿ¼»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ½½½ÿ½¼¼ÿ¼¼½ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ½¾½ÿ¾½¾ÿ¾½½ÿ¾½½ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¾ÿ¿¾¾ÿ¿¾¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿÀÀÀÿÀÀ¿ÿ¿ÀÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÁÁÿÀÀÀÿÀÀÀÿÀÀÁÿÀÁÁÿÀÀÁÿÁÁÁÿÁÂÁÿÁÂÁÿÁÁÁÿÁÁÂÿÂÂÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÃÃÃÿÂÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÄÃÃÿÄÄÃÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÄÄÿÅÅÅÿÅÄÄÿÄÅÅÿÅÅÅÿÅÅÅÿÅÆÆÿÅÅÅÿÅÅÅÿÅÆÅÿÆÆÅÿÅÆÆÿÆÆÆÿÆÆÆÿÇÆÇÿÆÆÆÿÆÇÆÿÇÇÇÿÇÇÆÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÈÇÿª­ÌÿCZÖÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?ØÿCØÿ‰‘ÕÿÌÍÏÿÏÐÏÿÐÐÐÿÐÏÏÿÑÑÐÿÐÑÐÿÑÑÑÿÑÐÐÿÑÑÑÿÑÐÑÿÐÑÐÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÑÿÑÑÒÿÒÒÑÿÑÑÑÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÒÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÔÓÓÿÔÓÔÿÓÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÕÔÿÔÕÔÿÔÔÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÖÿÕÕÖÿÖÕÕÿÕÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ××ÖÿÖ×ÖÿÖ××ÿ××Öÿ×××ÿ×××ÿ×××ÿ×××ÿ×רÿ×רÿØØØÿרØÿרØÿØØØÿØØØÿØØØÿØÙØÿØØØÿØÙØÿÙØØÿ¥§Äÿ4¦ÿ+¥ÿ+¥ÿLV«ÿÄÅÐÿÙÚÙÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÛÚÛÿÚÚÛÿÛÚÛÿÛÛÛÿÛÛÛÿÜÛÛÿÛÛÜÿÜÜÛÿÜÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÝÜÜÿÝÜÝÿÜÝÝÿÝÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÑÔàÿNiôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ†‘ðÿÝÜáÿàààÿààáÿàáàÿàààÿààáÿàààÿáááÿáááÿáááÿáááÿááâÿáââÿáâáÿááâÿâââÿâââÿâââÿãââÿââãÿâââÿâããÿãâãÿâããÿãããÿãããÿãããÿããäÿãããÿäããÿäääÿãããÿäääÿäääÿäääÿäääÿåäåÿåäåÿåååÿäååÿåååÿåååÿåååÿæååÿåææÿææåÿåååÿåææÿæææÿæååÿæææÿæççÿççæÿæææÿçççÿæçæÿçççÿæçæÿçççÿççèÿççèÿèççÿèçèÿèèçÿèèçÿèèèÿèèèÿèèèÿèèèÿéèèÿèèéÿéééÿèééÿéééÿéééÿéééÿéééÿéééÿééêÿêéêÿééêÿêêêÿêêêÿëêêÿêêêÿëëêÿêêëÿëëëÿêêëÿêëëÿëëëÿëëëÿëëëÿììëÿìëìÿìëëÿëììÿìëëÿìììÿìììÿìììÿíííÿìììÿììíÿìììÿìííÿíííÿíííÿîííÿîîíÿíîîÿíîîÿíííÿíîíÿîíîÿîîîÿîîîÿîîîÿïîîÿîîîÿ–––ÿ––—ÿ–––ÿ–––ÿ–——ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–—–ÿ––—ÿ–––ÿ—–—ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ—––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–—–ÿ——–ÿ—––ÿ––—ÿ—––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ——–ÿ––—ÿ–––ÿ—––ÿ——–ÿ–––ÿ—––ÿ—––ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ—–—ÿ—––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–––ÿ—––ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜˜˜ÿ——˜ÿ˜˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ™™˜ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™š™ÿšš™ÿš™™ÿšš™ÿš™™ÿšššÿšššÿšššÿšššÿšš›ÿ››šÿšš›ÿ››šÿ››šÿ›››ÿ›››ÿ›œ›ÿ››œÿ›œœÿœœœÿœ››ÿœœœÿœœœÿœœÿÿœœÿœÿœœÿœÿÿÿÿžÿžÿ‡Ãÿ*UòÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿQôÿоÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¢ÿ¢¡¢ÿ¡¡¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ££¢ÿ¢£¢ÿ££¢ÿ¢¢£ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ¤¤£ÿ£££ÿ£¤£ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ››¤ÿCN¥ÿ+¥ÿ+¥ÿ+¥ÿtx¥ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¦¥¥ÿ¥¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§§§ÿ¦¦§ÿ§¦§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§§ÿ§§§ÿ§§§ÿ¨§¨ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨©ÿ¨©©ÿ¨¨¨ÿ©¨¨ÿ©¨¨ÿ©¨©ÿ©©©ÿ©©©ÿ©ª©ÿª©©ÿ©ªªÿªªªÿ©ªªÿªªªÿªªªÿª«ªÿªªªÿ«««ÿªª«ÿª«ªÿª««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«¬¬ÿ«ª­ÿ”½ÿ[iÒÿ6RÙÿBÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿ HÜÿ‚‰Êÿ­®¸ÿ´´´ÿ´´´ÿ´µ´ÿµµµÿ´µµÿµµµÿµµµÿµµµÿµ¶µÿ¶µµÿµ¶¶ÿ¶¶µÿ¶¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ¶··ÿ·¶·ÿ¶··ÿ···ÿ··¸ÿ¸·¸ÿ¸¸·ÿ·¸¸ÿ¸··ÿ¸¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¹ÿ¹¹¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿ¹¹¹ÿºººÿºº¹ÿºººÿºººÿº»ºÿ»ººÿ»ººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»¼»ÿ»»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ½½¼ÿ½½½ÿ½¼½ÿ½½½ÿ½½¾ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¿¿ÿ¾¿¿ÿ¿¾¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿¿ÀÿÀÀÀÿ¿ÀÀÿ¿¿ÀÿÀÀ¿ÿÀÀÀÿÁÀÁÿÀÀÁÿÁÀÁÿÁÀÁÿÁÁÀÿÁÀÁÿÀÁÁÿÁÂÁÿÁÁÁÿÁÁÂÿÂÁÁÿÂÁÂÿÁÂÁÿÂÁÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÂÿÂÂÂÿÃÃÃÿÂÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÃÃÿÃÄÃÿÄÄÄÿÄÄÄÿÄÄÃÿÄÃÄÿÄÄÄÿÄÅÄÿÄÄÄÿÅÅÅÿÄÅÄÿÅÄÅÿÅÄÅÿÅÅÅÿÅÆÅÿÅÅÅÿÆÅÆÿÅÅÅÿÅÅÅÿÆÆÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÇÇÿÆÆÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÅÅÇÿ £Íÿ,LÖÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿwÕÿËËÏÿÐÐÐÿÐÏÐÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÑÿÑÐÐÿÐÑÐÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÒÿÑÑÑÿÒÑÑÿÑÒÒÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÓÒÿÒÒÒÿÒÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÔÔÿÓÔÔÿÔÔÔÿÕÔÔÿÔÔÔÿÕÔÔÿÔÔÔÿÕÔÕÿÕÕÕÿÔÔÔÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÕÿÕÕÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ××ÖÿÖ××ÿÖ××ÿ×Ö×ÿÖ××ÿ×××ÿ××Öÿ×רÿ×××ÿØ××ÿרØÿרØÿרØÿØØØÿØØØÿØØØÿØØØÿÙØØÿØÙØÿÕÕ×ÿ‚‡¸ÿ+¥ÿ+¥ÿ .¥ÿž ÁÿÙÚÙÿÙÚÚÿÙÙÙÿÚÚÚÿÚÙÚÿÚÚÚÿÚÚÚÿÛÚÛÿÛÚÚÿÚÚÚÿÛÛÛÿÛÚÚÿÚÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÜÜÿÛÛÛÿÜÜÛÿÛÛÛÿÜÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÝÜÜÿÜÝÝÿÜÝÝÿÝÝÝÿÝÜÝÿÝÝÝÿÝÝÝÿ¥¬êÿQ÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ\sôÿÕ×ãÿàààÿàààÿáààÿàààÿàààÿààáÿááàÿáááÿáááÿáááÿáááÿáááÿáááÿâáâÿááâÿââáÿââáÿâââÿâââÿâââÿãââÿããâÿããâÿââãÿâãâÿãããÿãããÿãããÿãããÿäãäÿãääÿãääÿäããÿãääÿäääÿäääÿäåäÿääåÿååäÿäääÿäåäÿåååÿåååÿåååÿåååÿæååÿåååÿåæåÿææåÿæææÿæææÿæææÿæææÿæçæÿçæçÿçææÿçæçÿçççÿçççÿçççÿçççÿèèçÿèççÿèèçÿèèèÿèèçÿèèèÿèèèÿèèéÿèèéÿèééÿèèéÿééèÿèèéÿéèéÿéééÿéééÿéééÿééêÿééêÿéêéÿêêéÿéêéÿêêêÿêêêÿêêêÿêêëÿëêêÿëëëÿëëëÿëëëÿëëëÿëëëÿëëëÿëìëÿìëëÿìììÿìììÿìììÿëììÿìììÿìììÿììíÿíììÿíìíÿíííÿììíÿíííÿíííÿíííÿîííÿîííÿîîíÿîíîÿîîíÿîîíÿîîîÿîîîÿîîïÿïîîÿ—––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ––—ÿ––—ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–——ÿ——–ÿ—––ÿ—––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–—–ÿ–––ÿ––—ÿ–––ÿ—––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ———ÿ–——ÿ––—ÿ—––ÿ—––ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–——ÿ–—–ÿ–—–ÿ–––ÿ——–ÿ––—ÿ——–ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ–––ÿ––—ÿ—–—ÿ—–—ÿ—–—ÿ–——ÿ——–ÿ———ÿ——˜ÿ———ÿ———ÿ—˜˜ÿ—˜—ÿ˜˜˜ÿ˜—˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ˜˜˜ÿ˜™™ÿ™™™ÿ™˜™ÿ™™™ÿ™ššÿ™ššÿš™™ÿšššÿš™šÿšš™ÿšššÿšššÿšššÿš›šÿšššÿšššÿ›š›ÿ›ššÿ›››ÿ›››ÿ›››ÿ›œ›ÿ››œÿ›œ›ÿœœœÿœœ›ÿœœœÿœœœÿœœœÿœœœÿœœÿœÿÿœœÿÿÿÿÿœžžÿ‚ˆÃÿ"RôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ>]íÿ—˜¯ÿ¡¡¡ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¢ÿ¢¡¢ÿ¡¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£¢¢ÿ££¢ÿ¢¢£ÿ¢£¢ÿ£££ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ’¤ÿ*=¥ÿ+¥ÿ+¥ÿHR¥ÿ££¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¦¥¦ÿ¥¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§¦ÿ§¦§ÿ§¦§ÿ¦§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ§§§ÿ§¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©¨ÿ¨¨©ÿ©©©ÿ©©¨ÿ©©¨ÿ¨©©ÿ©©©ÿ©©ªÿ©©©ÿ©©©ÿªªªÿ©ªªÿ©ªªÿªªªÿªªªÿªªªÿªª«ÿªªªÿªª«ÿ««ªÿ«ªªÿª«ªÿ««ªÿ«««ÿ«««ÿ«¬«ÿ«««ÿ«««ÿª«¬ÿš¸ÿ‡ÅÿSeÔÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿAÝÿ[jÕÿ™œÂÿµ´´ÿµ´µÿµµ´ÿµµµÿµµ´ÿµµµÿµµ´ÿµµµÿ¶µµÿµµµÿµ¶µÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ·¶¶ÿ·¶¶ÿ···ÿ···ÿ·¶·ÿ···ÿ···ÿ·¸·ÿ··¸ÿ·¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¹ÿ¸¸¹ÿ¸¹¹ÿ¸¹¸ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿº¹ºÿ¹¹¹ÿºº¹ÿºººÿºººÿºººÿº»ºÿºººÿº»»ÿº»»ÿº»ºÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ»»¼ÿ¼»»ÿ¼»»ÿ¼»¼ÿ»¼»ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼½¼ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ¾¾½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿ¿¿Àÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÁÿÁÀÀÿÀÀÀÿÁÀÁÿÁÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÁÁÿÂÁÁÿÁÁÁÿÂÂÂÿÂÂÁÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÂÿÃÂÃÿÃÃÃÿÃÂÂÿÃÂÃÿÂÃÃÿÃÃÃÿÃÄÃÿÄÄÃÿÄÃÄÿÄÄÃÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÄÿÄÅÅÿÅÅÄÿÅÄÅÿÄÅÅÿÅÅÅÿÅÆÆÿÆÅÅÿÅÆÅÿÅÅÆÿÆÆÅÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÆÆÿÇÇÇÿÇÇÇÿÇÇÆÿÆÆÇÿ’˜Ðÿ.MÖÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿv€ÕÿÈÉÑÿÏÏÐÿÏÐÐÿÐÐÏÿÏÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÑÿÐÑÑÿÑÑÐÿÐÐÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÑÒÿÒÒÒÿÑÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÓÒÿÓÓÒÿÓÒÒÿÒÒÒÿÒÒÓÿÓÓÒÿÓÓÓÿÔÓÓÿÓÓÓÿÓÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÓÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÕÕÕÿÔÕÔÿÔÕÔÿÕÔÔÿÕÕÕÿÕÕÕÿÕÖÕÿÕÕÕÿÖÕÕÿÖÕÕÿÕÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿÖÖÖÿÖÖ×ÿ×××ÿ×ÖÖÿ××Öÿ×××ÿ×××ÿ×××ÿ×רÿ×רÿØ××ÿØØØÿרØÿØØØÿØØØÿØØØÿØØÙÿØÙØÿÏÐÕÿW_­ÿ+¥ÿ+¥ÿou³ÿÔÔÖÿÙÙÙÿÚÚÙÿÙÚÙÿÚÚÙÿÙÚÙÿÚÚÚÿÙÚÙÿÚÚÚÿÚÚÚÿÚÛÛÿÚÛÚÿÚÚÚÿÛÛÛÿÛÚÛÿÛÚÛÿÛÛÛÿÛÜÛÿÜÛÛÿÛÛÛÿÜÛÜÿÛÜÜÿÜÛÜÿÜÜÛÿÜÜÜÿÝÜÜÿÝÜÜÿÝÜÜÿÝÝÜÿÜÝÝÿÝÜÜÿÝÜÝÿÝÝÝÿÕÕàÿeyóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ9]öÿ¼Àèÿßßàÿààßÿàààÿàààÿàààÿàáàÿáàáÿáááÿàáàÿáááÿáááÿáááÿáááÿááâÿáââÿáâáÿááâÿáâáÿâáâÿâââÿâââÿãââÿâââÿâãâÿâãâÿâããÿããâÿãããÿãããÿãããÿäããÿããäÿãääÿäãäÿãääÿäääÿäääÿäääÿåääÿäåäÿåääÿåäåÿäååÿåååÿåååÿåæåÿåååÿåæåÿååæÿæææÿåååÿåææÿæåæÿæææÿçææÿææçÿççæÿççæÿæææÿæçæÿççæÿçççÿçççÿççèÿèèèÿèèçÿèèçÿèèèÿèèèÿèèèÿèèèÿèèèÿèééÿéééÿééèÿèèèÿéééÿéééÿéééÿêêéÿéééÿééêÿêéêÿéêéÿêêêÿêêêÿêêêÿêêêÿëêêÿëëêÿêêëÿëëëÿëëëÿëëëÿëëëÿëìëÿëìëÿìììÿëëìÿëëìÿìììÿìëìÿìììÿììíÿíííÿíìíÿíìíÿííìÿíííÿíííÿíííÿíííÿíííÿíîíÿíííÿííîÿîîîÿîîîÿîîîÿîïîÿïîîÿ–––ÿ—––ÿ–—–ÿ—––ÿ–––ÿ–——ÿ––—ÿ–——ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ—––ÿ—––ÿ–—–ÿ—––ÿ–––ÿ—––ÿ–—–ÿ—––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ–——ÿ–––ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–——ÿ——–ÿ—––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ–––ÿ––—ÿ–—–ÿ—–—ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–—–ÿ——–ÿ–––ÿ––—ÿ—––ÿ—––ÿ—––ÿ—––ÿ—––ÿ———ÿ—–—ÿ———ÿ———ÿ———ÿ—˜˜ÿ——˜ÿ—˜˜ÿ˜˜—ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™˜™ÿ™˜™ÿ™™™ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™™šÿšššÿšššÿšššÿšššÿšššÿšššÿš›šÿš››ÿ›››ÿ›››ÿ›š›ÿ›››ÿ›››ÿ›››ÿœœ›ÿœ››ÿœœœÿ›œ›ÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿÿÿÿÿÿžžÿÿœžÿ„ŠÀÿ'TóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿ_páÿžž¥ÿ¡  ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¢¡¢ÿ¡¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ¢¢£ÿ¢£¢ÿ££¢ÿ£¢¢ÿ£¢£ÿ£££ÿ£££ÿ¤££ÿ£¤£ÿ£¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤£¤ÿ}¥ÿ1¥ÿ+¥ÿ+¥ÿ——¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¦ÿ¥¥¥ÿ¥¦¥ÿ¦¥¥ÿ¥¦¦ÿ¦¦¥ÿ¦¦¦ÿ§¦¦ÿ§¦§ÿ§§§ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ§§§ÿ§¨§ÿ¨¨¨ÿ¨§§ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨©©ÿ©¨©ÿ©©¨ÿ¨¨¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©ªÿ©ª©ÿª©ªÿªªªÿªªªÿ©ªªÿªªªÿªªªÿ«ªªÿª«ªÿªª«ÿªªªÿ««ªÿ«««ÿ«««ÿ«««ÿ««¬ÿ««¬ÿ«¬¬ÿ¬¬¬ÿ«¬¬ÿª«­ÿ©¨®ÿ ¡´ÿ‡ÄÿPbÓÿ.NÙÿ"IÚÿDÛÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿ$JÛÿt~Îÿ­®¸ÿ´³´ÿµ´µÿ´´´ÿµ´µÿµ´µÿµµµÿµµµÿµµ¶ÿµ¶µÿ¶¶µÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶·¶ÿ¶¶¶ÿ·¶¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ¸··ÿ··¸ÿ···ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿ¹º¹ÿºº¹ÿº¹ºÿºººÿºººÿºººÿ»ººÿº»ºÿ»ººÿ»º»ÿ»º»ÿ»»»ÿ»»»ÿ»»¼ÿ»»¼ÿ»»¼ÿ»¼¼ÿ»¼»ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ½¼¼ÿ½½½ÿ½¼½ÿ½½¼ÿ½½½ÿ½½¾ÿ½¾½ÿ½½½ÿ½½¾ÿ¾½¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¿¿ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÂÂÁÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÃÃÃÿÂÂÂÿÃÃÃÿÃÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÃÿÃÃÃÿÄÃÄÿÃÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÄÿÅÄÅÿÅÄÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÇÆÿÆÆÆÿÆÆÆÿÇÇÆÿÁÂÈÿ„‹ÑÿFÖÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>ÖÿcpÕÿÃÄÐÿÏÏÏÿÏÏÏÿÐÐÏÿÐÐÏÿÐÐÏÿÐÐÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÑÐÐÿÐÐÑÿÑÐÐÿÐÑÑÿÑÑÑÿÑÑÑÿÒÑÒÿÑÑÑÿÒÑÒÿÑÒÒÿÑÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÒÓÿÓÓÒÿÒÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÓÓÓÿÔÔÓÿÔÔÓÿÔÓÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÕÔÿÔÕÕÿÕÕÕÿÕÔÕÿÕÕÕÿÕÕÕÿÕÖÕÿÖÖÕÿÖÕÕÿÕÕÕÿÖÕÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖ×ÿÖÖ×ÿÖÖ×ÿ×××ÿ×ÖÖÿ×××ÿ×Ö×ÿ×××ÿ×רÿ×××ÿר×ÿØØ×ÿØØØÿØØØÿØØ×ÿØØØÿØØØÿØØØÿÄÅÐÿ+¥ÿ+¥ÿ9G©ÿÁÂÎÿØÙÙÿÙÚÙÿÙÚÙÿÚÙÙÿÚÙÙÿÙÙÚÿÚÙÚÿÚÚÚÿÚÚÙÿÛÛÚÿÚÚÚÿÛÛÚÿÚÚÚÿÚÚÛÿÛÛÛÿÚÛÛÿÛÛÛÿÛÜÛÿÛÛÛÿÛÛÛÿÜÜÛÿÛÜÛÿÜÛÛÿÜÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÝÜÜÿÝÜÝÿÜÝÝÿÝÜÝÿÝÜÝÿÝÝÝÿ³¸çÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ +M÷ÿ— îÿààßÿßßßÿààßÿàààÿßààÿàààÿááàÿáàáÿààáÿàááÿààáÿàááÿàáàÿáááÿáááÿáááÿáââÿâááÿáââÿââáÿâââÿâââÿâââÿâââÿâããÿââãÿãâãÿãâãÿâããÿãããÿãããÿãããÿãããÿãããÿäãäÿäããÿäääÿäääÿäääÿäääÿääåÿåääÿäååÿåäåÿååäÿåååÿåååÿæååÿååæÿæååÿåæåÿåææÿæææÿæææÿæææÿçææÿæææÿçæçÿççæÿæççÿçççÿçççÿçççÿèççÿçççÿçççÿççèÿèçèÿèèèÿçèèÿèèèÿèèèÿèèèÿéèèÿèèèÿéèéÿéèéÿéèéÿéééÿéééÿéééÿêééÿéêéÿéêéÿêêêÿéêêÿêêêÿêêêÿêêêÿëêêÿêêêÿëëëÿëëëÿëëêÿëëëÿëëëÿìëìÿëëëÿëëìÿëìëÿìëìÿìììÿìììÿìììÿìììÿíììÿìììÿììíÿìííÿíííÿííìÿíííÿíííÿíííÿíííÿîíîÿîíîÿîíîÿíîíÿîîîÿîîîÿîïîÿ—–—ÿ——–ÿ––—ÿ—––ÿ–––ÿ–—–ÿ–—–ÿ––—ÿ——–ÿ———ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ––—ÿ–—–ÿ—––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–—–ÿ–—–ÿ––—ÿ——–ÿ—––ÿ——–ÿ–––ÿ—––ÿ—–—ÿ—––ÿ–––ÿ—–—ÿ——–ÿ––—ÿ—–—ÿ———ÿ–––ÿ–––ÿ–—–ÿ——–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ—––ÿ––—ÿ–——ÿ—––ÿ–––ÿ–——ÿ–––ÿ––—ÿ—–—ÿ–——ÿ––—ÿ–—–ÿ——–ÿ––—ÿ——–ÿ–——ÿ––—ÿ——–ÿ–——ÿ———ÿ———ÿ———ÿ—˜—ÿ———ÿ———ÿ˜˜—ÿ—˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™˜™ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿ™™™ÿšš™ÿ™ššÿš™šÿ™ššÿšššÿšššÿšššÿšššÿšššÿ›ššÿ›››ÿš›šÿš›šÿ›››ÿ›››ÿ››œÿ›››ÿ›››ÿ››œÿ›œœÿ›œœÿœœœÿœœÿœœÿœœœÿœÿœÿÿœÿÿÿžÿžÿžÿˆÃÿ(TóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿPõÿ€‡Èÿ¡  ÿ ¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ££¢ÿ¢¢£ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤£ÿ¤¤£ÿ££¤ÿ¤¤¤ÿ¤££ÿ¤¤¤ÿ  ¤ÿ_f¥ÿ+¥ÿ+¥ÿvz¥ÿ¥¥¥ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¦ÿ¥¥¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©¨¨ÿ©¨¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿªª©ÿ©ª©ÿªªªÿ©©ªÿªªªÿªªªÿªªªÿª««ÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ««¬ÿ¬«¬ÿ¬««ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¡¢´ÿ”¾ÿ‚ˆÄÿs|Êÿ&KÚÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿAÜÿH]×ÿ”Æÿ±³¶ÿµµµÿµµµÿµ´µÿµµµÿµµµÿ¶µµÿµ¶µÿµ¶µÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ··¶ÿ··¶ÿ¶··ÿ¶¶·ÿ·¶·ÿ···ÿ···ÿ···ÿ¸¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¹ÿ¹¹¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿº¹¹ÿ¹º¹ÿºººÿºº¹ÿºººÿºº»ÿºººÿºººÿºº»ÿº»ºÿ»»»ÿ»»»ÿºº»ÿ»»»ÿ»»»ÿ»»¼ÿ¼»»ÿ»»¼ÿ»¼»ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ¼½¼ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ¾½¾ÿ¾½½ÿ¾½½ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¾¾ÿ¾¿¾ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿÀ¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÁÀÿÀÁÁÿÁÁÁÿÀÀÀÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÂÁÿÁÁÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÃÃÿÂÂÂÿÂÃÂÿÃÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÄÄÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÅÿÄÄÄÿÄÅÄÿÅÅÄÿÅÅÅÿÅÄÅÿÅÅÅÿÅÅÅÿÅÆÅÿÆÅÅÿÆÅÅÿÆÆÆÿÆÅÆÿÆÆÅÿÆÆÆÿÆÇÆÿÆÆÆÿÇÆÇÿÆÇÆÿ¹ºÉÿt~Òÿ?Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>ÖÿcpÕÿÁÁÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÏÏÐÿÏÏÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÐÿÐÑÐÿÑÐÐÿÑÐÐÿÑÐÑÿÐÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÒÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÒÒÓÿÒÓÒÿÒÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÓÔÿÔÔÔÿÔÓÓÿÔÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÕÔÕÿÕÔÕÿÔÕÕÿÕÕÕÿÕÖÕÿÕÕÖÿÖÖÕÿÕÕÖÿÕÖÖÿÕÖÕÿÖÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖ×ÖÿÖ××ÿ×ÖÖÿ×××ÿ××Öÿ×××ÿ×××ÿØ××ÿ×××ÿØØ×ÿ×××ÿØØØÿ×רÿØØØÿØØØÿØØØÿ¢¤Âÿ+¥ÿ0¥ÿ’•¼ÿÖÖ×ÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÚÙÚÿÚÚÚÿÚÙÙÿÙÚÚÿÙÚÚÿÚÚÙÿÚÚÚÿÚÚÛÿÛÚÚÿÚÚÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÜÿÛÛÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÝÜÝÿÜÝÜÿÝÝÝÿÜÜÝÿÙÙÞÿ\róÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿv†ñÿÛÛàÿàßßÿààßÿààßÿààßÿàààÿàßàÿàààÿàààÿàààÿááàÿààáÿàáàÿáááÿáááÿáááÿáááÿáááÿáâáÿáááÿáââÿáââÿââáÿâââÿâââÿãââÿãââÿâããÿããâÿããâÿâããÿãããÿãããÿããäÿãããÿääãÿãäãÿäääÿäääÿäääÿäääÿåääÿäääÿååäÿääåÿåäåÿäååÿåååÿåååÿåååÿåååÿæååÿåææÿæåæÿæææÿæåæÿæææÿæçæÿççæÿçæçÿçççÿçææÿçæçÿçççÿçççÿçççÿçççÿçèçÿççèÿçèçÿçèèÿçèèÿèèèÿèèèÿèéèÿèèèÿèééÿèéèÿéééÿéééÿéééÿéééÿéééÿéééÿéêéÿééêÿéêéÿééêÿêêêÿëêêÿêêêÿêêêÿêëëÿëêëÿëëëÿëëëÿëëëÿëëëÿëëëÿëëëÿëìëÿëëëÿëëìÿìììÿìììÿìììÿìììÿíìíÿíììÿíííÿììíÿíìíÿíííÿíííÿíííÿîîíÿíííÿîííÿíîîÿííîÿîîîÿîîíÿîîîÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ–—–ÿ——–ÿ–—–ÿ——–ÿ—––ÿ–—–ÿ—––ÿ–—–ÿ–––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–—–ÿ–––ÿ—––ÿ––—ÿ—–—ÿ–––ÿ–––ÿ——–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ—–—ÿ–––ÿ––—ÿ—––ÿ—––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ—–—ÿ–—–ÿ–—–ÿ———ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ—–—ÿ–——ÿ——–ÿ–——ÿ———ÿ———ÿ———ÿ——˜ÿ—˜˜ÿ˜˜˜ÿ——˜ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ˜™™ÿ˜˜™ÿ˜™™ÿ™™™ÿ™™˜ÿ™™™ÿ™ššÿšššÿ™™™ÿš™šÿšššÿšš™ÿš™šÿšššÿšššÿš›šÿš›šÿš››ÿ››šÿš››ÿ›››ÿš››ÿ›››ÿ›››ÿœ››ÿ›œœÿ›œ›ÿœ›œÿ›œœÿœœœÿœœœÿœÿœÿœœÿœœÿÿÿÿÿÿžÿžžÿœŸÿˆŒ¼ÿ+UòÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ-Vòÿ•˜±ÿ¡¡¡ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¢¡¢ÿ¢¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ£££ÿ£££ÿ¢££ÿ¢£¢ÿ£££ÿ¤££ÿ£££ÿ¤¤¤ÿ¤££ÿ£¤¤ÿ£¤¤ÿ¤¤£ÿ£¤¤ÿ¥¥¤ÿ¤ÿJT¥ÿ+¥ÿMW¥ÿ¥¥¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¦¦ÿ¥¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ§¦§ÿ§¦§ÿ§§§ÿ§§¦ÿ¦§¦ÿ¦¦¦ÿ§§§ÿ§§¨ÿ¨§§ÿ§¨§ÿ§¨§ÿ¨§¨ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ¨©©ÿ¨¨¨ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿªª©ÿ©ªªÿ©ªªÿªªªÿªªªÿªªªÿª«ªÿª««ÿª«ªÿ««ªÿ«««ÿ«««ÿ«««ÿ¬««ÿ«««ÿ¬««ÿ¬¬¬ÿ««¬ÿ¬««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­­ÿ¬¬¬ÿ¬¬®ÿ‚ˆÄÿDÚÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ HÚÿ_lÒÿ¤¦½ÿ´´¶ÿ´µµÿ´µµÿµµµÿµµµÿµµµÿµµµÿµµµÿµ¶¶ÿ¶¶¶ÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ·¶·ÿ···ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ··¸ÿ···ÿ··¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¹¹ÿ¸¹¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿºººÿ¹º¹ÿº¹¹ÿº¹ºÿºººÿ»»ºÿºººÿºº»ÿºº»ÿº»»ÿº»»ÿ»»»ÿ»»ºÿ»»»ÿ»¼»ÿ¼»»ÿ»»»ÿ»¼¼ÿ¼¼»ÿ¼»¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½¼ÿ½¼½ÿ½½½ÿ½½½ÿ¾½½ÿ¾½½ÿ½½¾ÿ½¾¾ÿ½¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¿¾¾ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿ¿¿ÀÿÀ¿Àÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÁÁÿÀÀÀÿÁÁÀÿÀÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÁÁÿÁÂÁÿÁÁÁÿÂÁÁÿÂÁÂÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÃÿÂÂÃÿÂÃÂÿÃÃÃÿÃÃÃÿÃÄÃÿÃÃÄÿÃÄÃÿÄÄÄÿÄÄÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÅÿÅÅÅÿÅÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÆÅÿÅÆÅÿÅÅÆÿÆÅÆÿÆÆÆÿÆÅÆÿÆÆÆÿÆÆÆÿÅÆÆÿ®°ÊÿRcÔÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>ÖÿXhÕÿ½¾ÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÐÐÐÿÏÏÐÿÐÐÏÿÐÏÏÿÐÐÐÿÐÐÐÿÐÑÑÿÐÐÐÿÐÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÑÒÿÑÒÑÿÒÒÑÿÒÑÒÿÒÒÒÿÒÒÓÿÒÒÒÿÓÒÓÿÓÓÓÿÓÒÓÿÒÓÓÿÓÒÓÿÓÓÒÿÓÓÓÿÓÓÓÿÔÔÓÿÓÓÔÿÓÔÔÿÓÔÔÿÔÓÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÕÿÔÔÔÿÕÕÕÿÕÕÕÿÔÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÕÖÿÕÖÕÿÖÕÖÿÖÕÕÿÖÖÖÿÖÕÖÿÖÖÖÿ×××ÿ×ÖÖÿÖ××ÿ×××ÿ×××ÿÖ××ÿ×××ÿ×××ÿר×ÿ×××ÿ×××ÿרØÿØØØÿØØ×ÿØØØÿØØØÿns²ÿ+¥ÿR[¬ÿÐÏÔÿØÙØÿØØÙÿØÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÚÚÚÿÙÚÚÿÙÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÚÚÚÿÚÛÚÿÛÚÚÿÛÛÛÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÜÛÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÜÝÜÿÜÝÜÿÜÝÝÿÜÜÜÿ±µçÿP÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿPjôÿÊÌäÿßßßÿßßßÿßàßÿàßàÿààßÿààßÿàààÿàààÿàààÿàààÿààáÿáààÿáááÿààáÿáàáÿáááÿáááÿâááÿáááÿáááÿâââÿâââÿâââÿâââÿâââÿâââÿâââÿãâãÿãâãÿâããÿãããÿâããÿãããÿãããÿäääÿããäÿããäÿääãÿäääÿääãÿãääÿäääÿäääÿäääÿåäåÿåääÿåååÿåäåÿåååÿåååÿåæåÿåæåÿæåæÿååæÿæææÿæåæÿæææÿæææÿçææÿæçæÿçææÿçæçÿçççÿææçÿçççÿçççÿçççÿçççÿçççÿèèèÿèèèÿèèèÿèèèÿèèèÿèéèÿèèèÿééèÿèèéÿéèéÿéééÿéééÿéééÿéêéÿêééÿééêÿêééÿêêêÿêêêÿêêêÿêêêÿêêêÿêêêÿëëêÿêêêÿëëëÿëêëÿëêëÿëëëÿëëëÿëìëÿëëëÿëëëÿëìëÿìëìÿìììÿëììÿìììÿìíìÿíììÿííìÿìììÿíííÿíìíÿíííÿíííÿíîíÿíííÿíííÿîîîÿîîîÿîîîÿîîîÿíîîÿ–––ÿ—––ÿ—––ÿ–––ÿ–––ÿ—–—ÿ——–ÿ–––ÿ–––ÿ–––ÿ—–—ÿ––—ÿ—–—ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ——–ÿ–—–ÿ––—ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ—––ÿ—––ÿ––—ÿ——–ÿ–——ÿ––—ÿ—–—ÿ–—–ÿ—––ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—–—ÿ—–—ÿ–––ÿ––—ÿ—––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–——ÿ–––ÿ—––ÿ–——ÿ–——ÿ——–ÿ—––ÿ–––ÿ———ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ–——ÿ——–ÿ—––ÿ–——ÿ—–—ÿ–——ÿ———ÿ———ÿ——˜ÿ—˜˜ÿ—˜—ÿ˜——ÿ˜˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ˜™™ÿ˜˜™ÿ˜™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿš™šÿšš™ÿ™ššÿšššÿšššÿšššÿšš›ÿšššÿšš›ÿš›šÿ››šÿ›››ÿ›››ÿ›››ÿ›››ÿ›œœÿœœœÿœœ›ÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœÿÿœÿÿÿžÿžžÿžÿžžÿ…‹¿ÿ2XðÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿVkäÿžž¥ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¢ÿ¡¡¢ÿ¡¡¢ÿ¢¢¡ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ££¢ÿ£££ÿ£££ÿ¤££ÿ£££ÿ£¤£ÿ££¤ÿ¤££ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ•–¤ÿ;H¥ÿ6E¥ÿœœ¤ÿ¥¥¤ÿ¥¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ¦¦§ÿ§§§ÿ¦¦§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§§ÿ§¨¨ÿ§§§ÿ¨¨§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨©©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿ©©ªÿ©ªªÿ©ª©ÿ©ª©ÿª©ªÿªª©ÿªªªÿªª«ÿªª«ÿ«««ÿ««ªÿ«ª«ÿ«ªªÿ«««ÿ«««ÿ«««ÿ««¬ÿ««¬ÿ««¬ÿ¬¬¬ÿ¬¬«ÿ¬«¬ÿ¬¬¬ÿ­­¬ÿ¬­¬ÿ­¬¬ÿ­­¬ÿªª¯ÿhsÍÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ@Ûÿ'JÚÿ~†Ëÿ§©¼ÿµ´µÿ´µµÿµµµÿµµµÿµ¶µÿ¶µ¶ÿµµµÿµ¶µÿµ¶µÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶·ÿ¶¶·ÿ¶¶¶ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ¸··ÿ¸¸·ÿ¸··ÿ¸¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¹¹¹ÿ¸¹¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºº¹ÿ¹º¹ÿº¹¹ÿºººÿºººÿºººÿ»ººÿºººÿ»»ºÿº»»ÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»¼»ÿ»»»ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ¼¼½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½½½ÿ¾¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀ¿¿ÿÀÀÀÿ¿¿Àÿ¿ÀÀÿÀÀÀÿÁÀÀÿÀÀÁÿÀÁÀÿÁÀÁÿÀÀÀÿÁÀÀÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÁÿÁÁÂÿÁÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÂÂÂÿÃÂÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÄÃÿÄÃÄÿÃÄÄÿÃÃÃÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÄÿÄÄÅÿÄÅÄÿÄÄÅÿÅÄÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÅÆÅÿÆÅÆÿÅÆÅÿÅÆÆÿÆÆÆÿÃÃÆÿ ¤Ìÿ7QÔÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>ÕÿOaÔÿ¸¹ÐÿÎÎÎÿÎÏÎÿÏÎÏÿÎÏÏÿÏÏÏÿÐÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÏÏÐÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÑÿÐÑÐÿÐÐÐÿÑÑÐÿÑÑÐÿÑÑÐÿÑÑÑÿÑÑÑÿÒÒÑÿÑÑÒÿÑÑÑÿÑÒÒÿÑÒÒÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÔÓÓÿÔÓÓÿÔÔÔÿÔÔÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÕÔÿÕÕÔÿÕÕÕÿÕÔÕÿÕÕÕÿÕÕÖÿÖÕÕÿÖÕÕÿÕÕÖÿÕÖÕÿÕÕÖÿÖÕÕÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿ××Öÿ×Ö×ÿ××ÖÿÖ××ÿ×Ö×ÿ×××ÿ×××ÿØ×Øÿר×ÿרØÿØØ×ÿ×רÿØØ×ÿÔÔÖÿ2C¨ÿ0A¨ÿº»ËÿØØØÿØØØÿØÙÙÿÙØÙÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÚÙÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÛÿÚÛÛÿÛÛÛÿÛÚÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÜÝÜÿØØÞÿsƒñÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿP÷ÿª°êÿßßßÿßßßÿßßßÿàßàÿßßßÿßàßÿàààÿààßÿàààÿàààÿàààÿàáàÿàààÿààáÿáááÿááàÿáááÿáááÿááâÿááâÿâááÿáááÿâááÿââáÿâââÿâââÿâãâÿâââÿãââÿâãâÿããâÿâãâÿãããÿãããÿãããÿãããÿãããÿãääÿãääÿäããÿäääÿäääÿäääÿäääÿäåäÿääåÿååäÿäåäÿåååÿåååÿåååÿååæÿåååÿåååÿæååÿåååÿåææÿæææÿæææÿææçÿçæçÿæçæÿçæçÿçæçÿçççÿççæÿççæÿççèÿçççÿèçèÿèççÿçèçÿèççÿçèèÿèèèÿèèèÿèéèÿéèéÿèèèÿéèéÿéééÿéééÿéééÿéééÿéééÿéééÿêéêÿêééÿêêêÿêéêÿêêêÿêêêÿêêêÿêêêÿêêëÿëêëÿëëêÿëëëÿëëëÿëëëÿëëëÿìëëÿììëÿìëìÿëìëÿììëÿìììÿìììÿìììÿììíÿìíìÿìíìÿìììÿìííÿìííÿíìíÿíííÿíîíÿííîÿííîÿîîîÿíîíÿîîîÿîíîÿ———ÿ–––ÿ—––ÿ–––ÿ—––ÿ––—ÿ–––ÿ–—–ÿ———ÿ––—ÿ——–ÿ–––ÿ––—ÿ––—ÿ–––ÿ—––ÿ–—–ÿ–—–ÿ–––ÿ—––ÿ—–—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ——–ÿ—––ÿ——–ÿ–––ÿ––—ÿ–––ÿ––—ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ–——ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–——ÿ–––ÿ–——ÿ–––ÿ——–ÿ———ÿ—––ÿ–——ÿ–––ÿ–––ÿ––—ÿ–——ÿ——–ÿ–––ÿ—––ÿ—–—ÿ–––ÿ––—ÿ–––ÿ—––ÿ–—–ÿ–—–ÿ––—ÿ––—ÿ–—–ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ——–ÿ——–ÿ———ÿ———ÿ———ÿ———ÿ˜—˜ÿ———ÿ˜˜˜ÿ—˜˜ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ™™˜ÿ™™™ÿ™˜™ÿ˜™™ÿ™˜™ÿ™™™ÿ™™šÿ™™™ÿš™šÿš™šÿšš™ÿšššÿšš™ÿšššÿšššÿšššÿ››šÿ›ššÿš››ÿš›šÿš››ÿ›››ÿ›››ÿœ››ÿ›››ÿ››œÿœœœÿœœ›ÿœœœÿœœœÿœœœÿœœÿÿÿœœÿœœœÿÿÿÿÿÿžžÿžÿ‰Ž»ÿ/WñÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿOõÿ|…ËÿŸŸ¢ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¡¡ÿ¢¢¡ÿ¢¢¢ÿ¡¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ£¢£ÿ£££ÿ££¢ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£¤¤ÿ£¤¤ÿ£¤¤ÿ£££ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿŠ‹¥ÿ2B¥ÿ‘¤ÿ¥¤¤ÿ¥¤¥ÿ¥¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¥ÿ¦¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ§¦¦ÿ¦§§ÿ§§§ÿ§§¦ÿ§§¦ÿ§§§ÿ¨§§ÿ¨¨§ÿ§¨§ÿ¨¨¨ÿ§¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©¨ÿ¨¨¨ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿª©ªÿªªªÿªªªÿª«ªÿª«ªÿ««ªÿªª«ÿ«««ÿª««ÿ«««ÿ«««ÿ¬««ÿ«¬«ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ¬­¬ÿ¥¦±ÿUeÑÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@ÚÿE[ÖÿƒŠÉÿ±²·ÿµµµÿµµµÿµµµÿµµµÿµµµÿ¶µµÿ¶¶¶ÿµ¶¶ÿ¶µ¶ÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ¶¶·ÿ·¶¶ÿ··¶ÿ·¶·ÿ···ÿ···ÿ···ÿ·¸·ÿ¸·¸ÿ¸··ÿ··¸ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¹¸ÿ¹¸¹ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹¹¹ÿºº¹ÿ¹ººÿ¹ººÿºº»ÿºººÿº»ºÿºººÿºººÿ»º»ÿ»»»ÿ»»»ÿ»»¼ÿ»¼»ÿ¼»»ÿ»¼¼ÿ»»»ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼½½ÿ¼¼¼ÿ¼½½ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½½¾ÿ¾½½ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¾¾¾ÿ¾¿¿ÿ¾¿¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿¿¿ÿÀÀÀÿ¿ÀÀÿÀ¿ÀÿÀ¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÁÀÿÀÁÁÿÀÀÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÂÁÂÿÂÁÁÿÁÁÁÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÃÃÂÿÃÃÂÿÃÂÃÿÃÃÂÿÃÃÃÿÃÃÃÿÄÃÃÿÄÃÃÿÄÃÃÿÃÃÃÿÄÄÃÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÅÅÄÿÄÅÅÿÄÄÅÿÄÄÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÆÅÿÅÅÆÿÅÅÅÿÅÅÆÿÅÆÆÿÅÆÅÿÀÀÇÿƒŠÏÿ$HÕÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>ÕÿOaÔÿ¸¹ÐÿÏÎÎÿÎÏÎÿÏÏÏÿÎÏÏÿÏÏÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÐÿÏÐÏÿÏÏÏÿÐÐÐÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÑÿÑÐÐÿÑÐÑÿÐÐÑÿÐÑÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÒÑÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÒÿÒÒÓÿÒÓÒÿÒÓÓÿÓÒÓÿÓÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÔÕÿÔÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÕÿÕÕÕÿÕÖÕÿÕÖÖÿÕÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿ×Ö×ÿÖ××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×רÿ×××ÿØØ×ÿØ××ÿÀÁÎÿ.?§ÿ˜›¿ÿÖÖ×ÿÙØØÿØÙØÿÙÙÙÿÙØÙÿÙØÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÙÙÿÙÚÚÿÙÚÙÿÙÙÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÛÚÿÛÛÛÿÛÛÛÿÚÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÜÛÛÿÛÜÛÿÛÜÜÿÜÛÜÿÜÜÜÿÜÜÛÿÜÜÜÿÜÜÜÿÝÜÜÿÂÄãÿ6[öÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ˜ïÿÜÜàÿßßÞÿßßßÿßßßÿßàßÿßßßÿàßßÿßààÿàààÿßßàÿàààÿàààÿàààÿááàÿááàÿààáÿàááÿàáàÿáááÿáááÿáááÿáááÿâááÿáâáÿâââÿâááÿâââÿâââÿããâÿâââÿâããÿâãâÿââãÿãããÿãããÿããâÿãããÿãããÿããäÿããäÿäääÿãääÿääãÿäääÿäääÿääåÿäåäÿäääÿäåäÿäääÿåäåÿåååÿåååÿåååÿæååÿæååÿæååÿææåÿæææÿåææÿæææÿæææÿæææÿçææÿçææÿæçæÿçæçÿçççÿçççÿçççÿçççÿçèçÿèççÿèççÿèèèÿèèèÿèèèÿèèèÿèèéÿéèèÿèèéÿéèèÿéééÿééèÿééèÿéééÿéééÿêêéÿéééÿéêéÿéêéÿêêéÿêêêÿêêêÿêêêÿêêëÿêëêÿêêëÿëëëÿêêëÿëëëÿëëëÿëëëÿëëìÿììëÿëëëÿìëìÿìììÿìììÿìììÿìììÿìììÿìììÿìíìÿìììÿíííÿíìíÿíííÿîííÿíííÿíííÿíîîÿíîîÿííîÿíîîÿ—–—ÿ—––ÿ–—–ÿ–——ÿ–––ÿ––—ÿ–——ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–——ÿ——–ÿ–——ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ––—ÿ––—ÿ——–ÿ—–—ÿ——–ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ––—ÿ—––ÿ–—–ÿ——–ÿ–—–ÿ——–ÿ——–ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ—––ÿ––—ÿ—––ÿ––—ÿ—––ÿ–––ÿ––—ÿ—–—ÿ—––ÿ––—ÿ–––ÿ—––ÿ—––ÿ—––ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ——–ÿ–——ÿ———ÿ—˜—ÿ———ÿ—˜—ÿ˜˜—ÿ—˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ™˜˜ÿ™˜˜ÿ™™™ÿ˜™™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿš™™ÿ™™šÿšššÿšššÿšššÿš›šÿ›ššÿš›šÿ›ššÿš›šÿ›š›ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ›œÿ›œ›ÿœ››ÿ›œœÿœœœÿœœœÿœœœÿœœœÿœÿœÿÿÿœÿÿžÿžÿžÿžÿžžžÿ‰¹ÿ6ZïÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ4Yðÿ–˜°ÿ  ¡ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¢¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ£¢¢ÿ¢¢¢ÿ¢££ÿ£¢¢ÿ¢£¢ÿ£££ÿ£££ÿ££¤ÿ¤¤£ÿ¤¤£ÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿŠŒ¤ÿޤÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¥¥ÿ¥¦¥ÿ¦¥¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ¦§¦ÿ§¦¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§¨ÿ¨¨§ÿ§§¨ÿ§§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ©¨¨ÿ¨©¨ÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿª©©ÿªªªÿª©ªÿªªªÿªªªÿªªªÿªªªÿª«ªÿª«ªÿ«ªªÿª««ÿªª«ÿª««ÿ«««ÿ«««ÿ¬¬¬ÿ¬«¬ÿ¬««ÿ¬¬«ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ­­­ÿ¬¬­ÿ­­­ÿŸ·ÿ>VÕÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ@Úÿ BÚÿM`Õÿ™Áÿ°±¸ÿµµµÿµµ¶ÿµµµÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ¶¶·ÿ·¶·ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ··¸ÿ·¸¸ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿº¹¹ÿ¹ººÿ¹¹ºÿºº¹ÿ¹º¹ÿºººÿ»ººÿºººÿº»»ÿ»ººÿº»»ÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»¼ÿ¼»»ÿ»»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼½ÿ½¼¼ÿ¼½½ÿ½½½ÿ¼¼½ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ½½¾ÿ½½½ÿ¾½¾ÿ½½¾ÿ½¾¾ÿ¾¾½ÿ¾¾¾ÿ¿¾¾ÿ¿¾¾ÿ¿¿¿ÿ¾¾¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀ¿ÿÀ¿¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÁÁÀÿÁÁÁÿÁÁÀÿÁÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÂÁÁÿÂÁÁÿÁÂÂÿÂÂÂÿÂÃÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÄÃÿÄÄÃÿÄÃÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÅÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÅÅÅÿÄÄÅÿ´¶Èÿ`mÑÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=ÔÿH\Óÿ²µÐÿÎÎÎÿÎÎÎÿÏÏÎÿÎÎÎÿÎÏÎÿÏÏÎÿÏÏÏÿÎÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÐÏÿÏÐÏÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÑÿÐÐÐÿÐÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÑÿÑÑÒÿÑÒÒÿÑÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÓÒÿÒÓÒÿÓÒÓÿÒÒÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÔÔÿÓÓÔÿÔÓÔÿÔÓÔÿÔÓÔÿÓÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÕÔÔÿÕÕÕÿÕÔÕÿÕÕÕÿÔÕÕÿÕÕÕÿÖÕÕÿÕÕÕÿÖÖÕÿÖÖÖÿÕÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿ××Öÿ×××ÿ×××ÿ×××ÿ×Ö×ÿ×××ÿ×××ÿØ×Øÿר×ÿØ××ÿ×רÿ¬®Æÿlr²ÿÐÐÔÿØØØÿÙØØÿÙØØÿØÙØÿÙÙÙÿÙØÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÚÚÚÿÚÚÚÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÛÿÚÛÚÿÛÚÚÿÛÚÚÿÛÚÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÜÜÜÿÜÜÜÿÜÜÛÿÜÜÜÿÛÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÚÛÝÿ™íÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿdwóÿÕÖáÿßÞßÿßßßÿÞßßÿßßßÿßßßÿßààÿààßÿàßàÿààßÿàßßÿßààÿàààÿàáàÿàáàÿàààÿáààÿàààÿáááÿáááÿáááÿááâÿáááÿááâÿââáÿâáâÿâááÿââáÿâââÿâââÿâââÿââãÿãâãÿããâÿââãÿââãÿãããÿãããÿãããÿäãäÿããäÿãããÿäãäÿäääÿäääÿäääÿäääÿäääÿäåäÿäääÿåååÿäååÿäååÿåååÿåååÿååæÿææåÿåææÿåæåÿååæÿæææÿæææÿæçæÿæææÿæææÿæççÿçæçÿçççÿçæçÿæççÿçççÿçèçÿçèçÿèçèÿçèçÿèççÿèèèÿèèèÿèèèÿèèèÿéèéÿèèèÿèèéÿéèéÿèèèÿééèÿéééÿéééÿéêéÿêééÿéêéÿêééÿééêÿêéêÿêêêÿêêêÿêêëÿêêêÿêêêÿëëêÿëëëÿëêëÿëëëÿëëëÿëëìÿëëëÿìëëÿëëëÿìëìÿìììÿìììÿìììÿìíìÿìììÿìííÿìíìÿììíÿíìíÿíííÿíííÿíííÿîíîÿîîîÿîííÿíîîÿîíîÿ––—ÿ–—–ÿ––—ÿ–––ÿ–——ÿ––—ÿ–––ÿ––—ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ––—ÿ–––ÿ——–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ—––ÿ—––ÿ––—ÿ–––ÿ——–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ–—–ÿ—––ÿ—––ÿ–––ÿ–——ÿ–––ÿ–––ÿ–——ÿ—–—ÿ–––ÿ–––ÿ———ÿ–––ÿ–––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ–––ÿ——–ÿ—––ÿ––—ÿ—––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ——–ÿ–––ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ——–ÿ——–ÿ–––ÿ–––ÿ—––ÿ–—–ÿ–—–ÿ———ÿ–—–ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜—˜ÿ˜——ÿ—˜˜ÿ˜˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜™ÿ™˜™ÿ™™™ÿ™˜˜ÿ™™™ÿ™™™ÿšš™ÿ™™™ÿ™™™ÿ™™šÿšššÿšššÿš™šÿšššÿšššÿš›šÿš››ÿ›ššÿš›šÿ››šÿ›››ÿ›››ÿ›››ÿ›››ÿ››œÿœ›œÿœ›œÿœ›œÿ›œœÿ›œœÿœœœÿœœœÿœœœÿÿœÿÿœÿÿÿÿžžÿžžÿžžžÿžžÿ‰»ÿ4YðÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿYmãÿŸŸ¤ÿ¡ ¡ÿ ¡ ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¢¢ÿ¡¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢£¢ÿ¢£¢ÿ¢£¢ÿ¢££ÿ¢££ÿ£££ÿ£££ÿ¤££ÿ¤££ÿ¤¤¤ÿ¤¤£ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¥ÿ¥¤¤ÿ¥¤¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¥ÿ¦¦¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ§§¦ÿ§¦§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§¨ÿ§§§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©©¨ÿ©¨¨ÿ¨©©ÿ©©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿªª©ÿªªªÿª©ªÿª©ªÿªªªÿªªªÿ««ªÿªªªÿ«««ÿªª«ÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ¬««ÿ¬««ÿ¬¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬­­ÿ¬­¬ÿ“¾ÿGØÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@Ùÿ@ÙÿEÙÿdpÐÿ•™Ãÿ³³¶ÿµµ¶ÿ¶µ¶ÿµµµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶·¶ÿ¶··ÿ···ÿ···ÿ···ÿ¸¸·ÿ¸··ÿ¸··ÿ··¸ÿ¸¸¸ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¸¹¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹º¹ÿºº¹ÿ¹º¹ÿºººÿºººÿºººÿ»ººÿºº»ÿ»º»ÿºººÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»»ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ¼½¼ÿ¼½¼ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ¾½½ÿ¾½½ÿ½½¾ÿ½½¾ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¾ÿ¾¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿ¿¿ÀÿÀ¿¿ÿ¿À¿ÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÀÿÀÀÁÿÀÀÁÿÁÀÁÿÀÁÁÿÁÁÀÿÁÁÁÿÂÁÁÿÁÂÁÿÂÁÂÿÂÂÁÿÂÂÂÿÂÁÂÿÂÁÂÿÂÂÂÿÃÂÃÿÂÂÂÿÂÂÃÿÂÂÃÿÃÃÃÿÃÃÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÄÄÿÄÄÄÿÃÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÅÅÄÿÄÄÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÄÄÅÿ˜œÌÿ>UÓÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=ÔÿG[Óÿ²µÐÿÍÎÎÿÎÍÎÿÎÎÎÿÎÎÎÿÏÎÏÿÏÎÎÿÎÎÏÿÎÏÏÿÏÏÏÿÎÏÏÿÏÏÏÿÏÐÐÿÏÏÏÿÐÐÏÿÐÏÏÿÐÏÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÒÿÒÑÒÿÒÒÒÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÓÓÓÿÒÓÓÿÒÒÒÿÓÓÓÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÔÓÿÓÓÓÿÔÔÔÿÔÔÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÔÕÔÿÔÔÔÿÕÕÕÿÕÕÕÿÕÕÔÿÕÕÕÿÖÕÖÿÕÕÕÿÕÕÖÿÖÖÖÿÖÖÕÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ××ÿ×××ÿ×××ÿ××ÖÿÖ×Öÿ×××ÿ×××ÿØ××ÿØ××ÿØ×ØÿØ×Øÿ»¼ÌÿÇÈÑÿØØ×ÿÙÙØÿØØØÿÙØÙÿÙØÙÿØØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÚÿÚÙÙÿÚÙÙÿÚÚÙÿÚÚÙÿÚÚÚÿÚÛÚÿÚÚÚÿÚÛÚÿÚÚÚÿÚÛÚÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÜÛÜÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÏÏàÿ1YöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ2Yöÿ½ÀçÿÞßÞÿßÞÞÿÞßßÿßßßÿßßÞÿßßßÿßßßÿßßßÿßàßÿßßßÿßààÿàßßÿàààÿàààÿàààÿàààÿàààÿáàáÿáàáÿáááÿàààÿáááÿáâáÿááâÿáááÿâááÿáââÿââáÿâââÿâââÿâââÿâãâÿâââÿãããÿâããÿããâÿãããÿãããÿãããÿãäãÿãäãÿääãÿääãÿääãÿãääÿäãäÿäääÿääåÿäääÿåääÿåääÿåååÿäååÿåäåÿåååÿåååÿææåÿåæåÿåååÿåææÿæåæÿææåÿæææÿææçÿçææÿæçæÿæçæÿææçÿçççÿçççÿççæÿççèÿçççÿçèèÿèèèÿçççÿèççÿèèèÿèèèÿèèèÿèèéÿèèèÿéèèÿééèÿéééÿéèéÿéééÿéééÿéééÿéééÿééêÿéêêÿêêêÿêêéÿêêêÿêêêÿêêêÿëêêÿëêêÿêêêÿëêëÿëëëÿëëêÿëëëÿëëëÿëëëÿëëìÿëëìÿëììÿìììÿììëÿìììÿìììÿìììÿìììÿíììÿíììÿííìÿíìíÿíííÿíííÿíííÿíîíÿíííÿíîíÿîîîÿ–––ÿ–——ÿ––—ÿ—––ÿ–——ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–––ÿ––—ÿ–—–ÿ––—ÿ–——ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ—––ÿ———ÿ—––ÿ–—–ÿ–––ÿ––—ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ––—ÿ———ÿ–––ÿ––—ÿ––—ÿ––—ÿ–—–ÿ–––ÿ–––ÿ—––ÿ––—ÿ–––ÿ—–—ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–––ÿ—––ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–—–ÿ––—ÿ—––ÿ—––ÿ–––ÿ––—ÿ––—ÿ–––ÿ––—ÿ—––ÿ–––ÿ—–—ÿ–—–ÿ———ÿ—––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ—–—ÿ—–—ÿ———ÿ———ÿ—˜˜ÿ———ÿ—˜—ÿ˜˜—ÿ˜˜˜ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ˜™™ÿ™™˜ÿ™™˜ÿ™™™ÿ™™™ÿš™™ÿš™šÿ™ššÿšš™ÿšššÿ™ššÿšššÿšššÿšššÿ›ššÿ›ššÿš››ÿš››ÿ›š›ÿ›››ÿ›››ÿ›››ÿœ››ÿ›››ÿœ››ÿ›œœÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœÿœœÿœÿÿÿÿÿÿžÿžžÿžÿŽ‘¶ÿ8[ïÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿPõÿ}†Êÿ¡  ÿ¡¡ ÿ¡¡¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¡¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ££¢ÿ¢¢¢ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ¤££ÿ£¤¤ÿ£¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¤¤¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¦ÿ¦¦¥ÿ¦¦¦ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ¦¦§ÿ¦§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨§§ÿ§§§ÿ¨§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨©¨ÿ¨©¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿªª©ÿ©ªªÿ©ª©ÿªªªÿªªªÿªªªÿªªªÿ«ªªÿª«ªÿ«ª«ÿ«ª«ÿ««ªÿ««ªÿ«««ÿ««¬ÿ«««ÿ¬¬«ÿ¬¬¬ÿ¬««ÿ«¬«ÿ¬««ÿ¬¬«ÿ¬¬¬ÿ¬¬­ÿ¬­¬ÿ­¬¬ÿ­­­ÿ¬«­ÿ„ŠÃÿ AÙÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ?Ùÿ GØÿ[jÒÿ ¢¾ÿ³³·ÿ¶µµÿ¶µµÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ¶·¶ÿ¶¶·ÿ·¶·ÿ·¶·ÿ···ÿ··¸ÿ···ÿ···ÿ·¸¸ÿ·¸·ÿ¸·¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¸¹ÿ¹¸¹ÿ¸¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºººÿ¹ººÿº¹ºÿºººÿº¹ºÿºººÿº»ºÿºº»ÿºº»ÿºº»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ»¼»ÿ»¼¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ¼½½ÿ¼½¼ÿ¼½½ÿ½½½ÿ½½½ÿ¼½½ÿ½½½ÿ¾¾½ÿ½½¾ÿ½¾½ÿ¾¾½ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¿ÿ¿¾¿ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÁÿÁÀÁÿÁÀÁÿÁÁÁÿÀÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÁÿÁÁÁÿÂÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÂÂÂÿÃÂÂÿÃÂÃÿÃÂÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÃÃÿÄÄÃÿÃÄÄÿÃÃÄÿÄÃÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÅÄÿÄÅÄÿÅÅÅÿÄÅÅÿÄÅÅÿÅÅÅÿÄÄÅÿ·¸ÇÿkvÏÿEÓÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=ÓÿDYÓÿ²³ÏÿÎÎÍÿÎÎÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÏÿÎÎÎÿÏÏÎÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÐÿÐÏÐÿÐÏÏÿÐÐÏÿÐÏÐÿÐÏÏÿÐÐÐÿÐÐÏÿÐÐÑÿÐÐÐÿÐÐÑÿÐÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÒÑÿÒÑÑÿÒÒÒÿÒÑÑÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÓÿÒÒÓÿÓÒÒÿÒÓÒÿÒÒÒÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÔÿÔÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÔÕÿÕÔÔÿÔÔÕÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÖÿÖÕÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×Ö×ÿ×Ö×ÿÖ××ÿ×××ÿ×××ÿÖ××ÿ×××ÿ×××ÿ×××ÿ×××ÿ×רÿÖ×Öÿ×××ÿØØ×ÿØØØÿØØØÿØØØÿØØÙÿÙÙÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÚÚÚÿÙÚÙÿÚÚÚÿÚÛÚÿÚÚÚÿÚÛÚÿÚÚÛÿÚÚÚÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÜÛÿÛÛÜÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÛÿ— ìÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ¥ëÿÞÞßÿÞÞÞÿÞÞÞÿÞÞßÿßÞÞÿßßßÿßßßÿßßßÿßßßÿßàßÿààßÿßàßÿàààÿààßÿàßàÿàààÿàààÿààáÿááàÿàááÿááàÿáááÿáááÿáááÿáááÿááâÿâááÿááâÿâáâÿââáÿââáÿâââÿâââÿâââÿâââÿâââÿâââÿâããÿãâãÿãããÿãäãÿããäÿãääÿääãÿääãÿäääÿäãäÿäääÿääåÿääåÿååäÿäääÿåååÿåååÿåååÿåååÿåååÿåååÿååæÿåååÿæææÿåæåÿæååÿæææÿæææÿææçÿæææÿæææÿçææÿææçÿçççÿçççÿçççÿçççÿççèÿçèçÿèèçÿèçèÿèèçÿèçèÿèèèÿèèèÿéèèÿèèéÿèèéÿéèèÿèééÿééèÿéééÿéééÿéééÿéééÿééêÿêêéÿêêêÿéêêÿêêêÿêêêÿêêêÿêêêÿëëêÿëêëÿëëëÿêëêÿëëëÿëëëÿëëëÿëëëÿëëëÿëììÿëìëÿìììÿìììÿììëÿìììÿììíÿííìÿììíÿíííÿííìÿíììÿíííÿíííÿíííÿíîíÿíííÿîíîÿ–––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ——–ÿ––—ÿ–––ÿ–––ÿ——–ÿ———ÿ––—ÿ–––ÿ–––ÿ––—ÿ–——ÿ–––ÿ––—ÿ–—–ÿ––—ÿ–––ÿ––—ÿ–––ÿ—––ÿ—–—ÿ–––ÿ–––ÿ––—ÿ–—–ÿ––—ÿ———ÿ—––ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ—––ÿ–—–ÿ––—ÿ––—ÿ—––ÿ–—–ÿ–––ÿ—––ÿ—––ÿ––—ÿ–––ÿ–——ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ—––ÿ––—ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–––ÿ—–—ÿ–––ÿ––—ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ—––ÿ–—–ÿ———ÿ–——ÿ—––ÿ——–ÿ–––ÿ–——ÿ———ÿ——–ÿ———ÿ—––ÿ———ÿ———ÿ˜——ÿ—˜—ÿ—˜˜ÿ——˜ÿ———ÿ˜˜˜ÿ˜˜—ÿ™˜˜ÿ˜˜™ÿ™˜˜ÿ˜™™ÿ˜˜™ÿ˜˜˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™šÿ™š™ÿšššÿšššÿšššÿšššÿšššÿšššÿšššÿšššÿšššÿ›››ÿ›š›ÿ›››ÿ›››ÿœ››ÿ›››ÿœ›œÿ›œ›ÿœœ›ÿœ›œÿœœœÿœœœÿœœœÿœœœÿœÿœÿœœœÿÿÿÿÿžžžÿžžÿžžÿžÿžžžÿ‹¸ÿ=]íÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿC`ìÿ˜™­ÿ ¡ ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢£¢ÿ¢¢£ÿ£¢¢ÿ£££ÿ£¢¢ÿ£££ÿ££¢ÿ¤££ÿ£££ÿ£¤¤ÿ£¤¤ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤££ÿ¤¤¤ÿ¤¥¤ÿ¥¤¤ÿ¤¥¤ÿ¥¤¤ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¥¦ÿ¦¥¥ÿ¥¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ¦¦§ÿ¦§§ÿ§§§ÿ§¦§ÿ¦¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§§§ÿ¨¨§ÿ¨§¨ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ©©©ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©ªªÿªª©ÿªªªÿªªªÿªªªÿªªªÿªªªÿªªªÿªªªÿ«ª«ÿª««ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ«¬«ÿ«¬«ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ¬¬¬ÿ­­¬ÿ««®ÿqzÈÿBØÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?ØÿCØÿoxÍÿœŸÀÿ³´¶ÿµ¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ···ÿ¶··ÿ···ÿ···ÿ···ÿ¸··ÿ··¸ÿ¸¸¸ÿ¸¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¹¹¸ÿ¸¸¹ÿ¹¹¸ÿ¹¹¹ÿ¸¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹ººÿ¹ººÿºººÿºº¹ÿºººÿºººÿºººÿ»ººÿ»»ºÿº»ºÿ»»»ÿ»»»ÿ»º»ÿ»¼»ÿ»»»ÿ»»»ÿ¼»»ÿ¼¼»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼½ÿ¼½½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½¾ÿ¾½½ÿ½½¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¿ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿Àÿ¿¿¿ÿÀÀ¿ÿÀÀÀÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÁÁÀÿÁÀÀÿÁÁÁÿÁÁÁÿÁÂÁÿÁÂÁÿÂÁÁÿÁÂÂÿÂÂÂÿÁÂÂÿÁÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÃÃÂÿÂÂÂÿÃÃÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÄÄÿÃÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÅÿÅÄÄÿÅÄÅÿÅÄÅÿÀÀÆÿ›ŸËÿFZÒÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=ÓÿG[Òÿ¯±ÏÿÍÎÍÿÎÎÍÿÎÎÎÿÍÎÎÿÎÍÎÿÎÎÎÿÎÎÎÿÎÏÎÿÎÎÏÿÏÏÏÿÏÏÎÿÎÏÏÿÎÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÏÏÿÏÏÐÿÏÏÏÿÏÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÑÑÐÿÐÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÒÑÑÿÒÒÑÿÑÒÒÿÑÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÒÒÿÒÓÒÿÒÓÒÿÒÒÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÓÿÓÓÓÿÔÓÓÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÕÕÔÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÖÕÖÿÕÕÕÿÕÕÖÿÕÖÖÿÖÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×××ÿÖ×Öÿ×××ÿ×××ÿ×××ÿר×ÿ×××ÿ×××ÿØ××ÿרØÿØØØÿØ×ØÿØØØÿØØØÿØØØÿØØØÿÙØØÿÙÙÙÿØÙÙÿØÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÚÙÚÿÙÚÚÿÙÙÙÿÚÙÙÿÚÚÚÿÙÚÚÿÚÚÚÿÛÚÛÿÚÛÚÿÛÚÛÿÚÛÚÿÚÚÛÿÛÛÛÿÛÛÚÿÛÛÛÿÜÛÛÿÛÛÛÿÜÛÜÿÛÜÜÿÛÜÜÿÒÓßÿSlôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿzˆñÿÚÚßÿÞßÞÿÞÞÞÿßÞÞÿÞÞÞÿßÞßÿÞßÞÿßßßÿÞßßÿßßßÿàßàÿßßàÿßßàÿàààÿàààÿàßàÿààßÿàààÿààáÿááàÿàáàÿàááÿáááÿàááÿàááÿáááÿáááÿáâáÿáââÿáââÿâââÿââáÿâââÿâââÿââãÿâââÿâââÿâãâÿãâãÿâããÿãããÿãããÿãããÿãääÿãããÿäãäÿãããÿäääÿäãäÿãääÿäääÿåääÿäåäÿäåäÿäåäÿåååÿääåÿåååÿåæåÿååæÿåææÿååæÿææåÿæææÿæææÿæææÿæææÿææçÿçææÿçææÿççæÿææçÿçææÿçççÿçççÿçççÿçèçÿççèÿççèÿèèçÿèèèÿçèèÿèèèÿèèèÿèèèÿèèéÿèééÿèééÿèééÿéèèÿéééÿéééÿéêéÿéêéÿéééÿéééÿêêêÿêêêÿêêêÿêêêÿëêëÿêêëÿêëêÿëëëÿêëëÿëëêÿëêëÿëëëÿëëìÿëììÿìììÿìëëÿëëëÿìëìÿëììÿìììÿìììÿìííÿìíìÿíííÿíììÿíííÿííìÿíííÿíííÿíííÿîííÿííîÿ–––ÿ–––ÿ––—ÿ–—–ÿ–––ÿ—––ÿ–––ÿ––—ÿ—––ÿ–––ÿ–—–ÿ—–—ÿ—––ÿ——–ÿ–––ÿ—–—ÿ——–ÿ–––ÿ–––ÿ——–ÿ–––ÿ—––ÿ–——ÿ–––ÿ–—–ÿ—––ÿ–––ÿ—––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ–––ÿ——–ÿ–—–ÿ—–—ÿ––—ÿ—––ÿ—–—ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ———ÿ—––ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–——ÿ–––ÿ–––ÿ––—ÿ–––ÿ——–ÿ—––ÿ———ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–——ÿ–––ÿ—–—ÿ––—ÿ–––ÿ–——ÿ———ÿ–——ÿ–––ÿ———ÿ———ÿ———ÿ˜—˜ÿ˜˜—ÿ˜——ÿ˜—˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™˜˜ÿ™˜™ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿš™™ÿ™™™ÿšššÿš™™ÿšš™ÿš™šÿšššÿ›ššÿšššÿ›ššÿ›š›ÿ›ššÿš›šÿšš›ÿ›››ÿ›››ÿ›››ÿ››œÿ›œœÿ›œœÿœ››ÿœœ›ÿœ›œÿœœœÿœœœÿœœÿœœÿÿÿÿÿÿÿžÿÿžžÿžžÿžžžÿ“³ÿ@^ìÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿmy×ÿ¡¡ ÿ  ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢£ÿ£££ÿ£££ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£££ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¤¤ÿ¥¥¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¥ÿ¥¥¥ÿ¦¦¦ÿ¦¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ§¦§ÿ¦§§ÿ¦§§ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ¨§§ÿ¨¨¨ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ©¨©ÿ©©¨ÿ¨©¨ÿ©¨©ÿ©©©ÿ©©©ÿ©ª©ÿ©ª©ÿ©©ªÿ©©ªÿªªªÿª©ªÿªªªÿªªªÿªªªÿª«ªÿª««ÿ««ªÿ«ª«ÿ««ªÿ«««ÿ«««ÿ«««ÿ¬¬«ÿ«¬«ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬­¬ÿ­¬­ÿ§¨±ÿYhÐÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ?Øÿ.MÖÿ_lÐÿ—›Âÿµ´·ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶¶ÿ¶¶¶ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ¸·¸ÿ·¸·ÿ···ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¹¸¹ÿ¸¸¸ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿºººÿ¹¹ºÿºººÿºººÿºº»ÿºººÿ»ººÿ»»ºÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ»»¼ÿ»¼»ÿ»»»ÿ»»»ÿ¼»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ¼¼½ÿ½½½ÿ½¼½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ½½¾ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¾¾ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÀÁÁÿÀÁÁÿÁÁÁÿÀÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÁÂÁÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÃÂÂÿÂÃÂÿÃÂÂÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÃÄÿÄÄÄÿÄÃÄÿÃÃÄÿÄÃÄÿÄÄÅÿÄÄÄÿÄÅÅÿÄÃÅÿ²´ÈÿhtÏÿEÒÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=ÒÿH\Ñÿ³µÎÿÍÍÍÿÎÎÎÿÍÎÎÿÎÍÍÿÎÎÎÿÎÎÎÿÎÍÍÿÎÎÎÿÎÎÏÿÏÎÎÿÏÎÎÿÎÎÎÿÏÏÏÿÏÏÏÿÎÎÏÿÏÏÏÿÏÐÏÿÏÏÏÿÏÏÐÿÏÏÐÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÑÐÑÿÐÐÐÿÑÑÐÿÑÑÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÒÿÒÒÒÿÒÒÑÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÓÒÒÿÒÓÒÿÒÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÔÿÔÔÔÿÔÓÔÿÓÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÕÔÔÿÕÕÕÿÕÔÔÿÕÕÕÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÖÕÿÕÖÕÿÖÕÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿÖ×ÖÿÖ×ÖÿÖ××ÿ×××ÿ××Öÿ×××ÿ×××ÿ×××ÿ×××ÿØØØÿר×ÿØØØÿØØØÿØØØÿØØØÿØØØÿØØÙÿÙØØÿØÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÚÙÿÙÙÚÿÚÙÙÿÙÙÚÿÚÚÚÿÚÙÚÿÚÚÚÿÚÚÛÿÚÛÚÿÚÛÛÿÛÛÚÿÛÚÚÿÛÛÛÿÚÚÛÿÛÛÛÿÛÜÛÿÜÛÛÿÜÛÜÿÛÛÛÿÜÜÛÿ´¸æÿ)VöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿPjôÿÉËäÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿÞÞÞÿÞÞßÿÞßßÿßßßÿßßÞÿßßßÿßßßÿßßßÿßàßÿàßßÿààßÿàààÿàààÿàààÿàààÿáààÿááàÿáàáÿáááÿáààÿàááÿáàáÿáááÿáááÿâááÿáááÿáââÿâââÿâââÿâââÿâââÿâââÿâââÿãââÿãââÿãââÿãããÿãããÿãããÿããäÿãããÿãããÿãããÿããäÿãããÿãääÿäääÿäääÿäååÿäåäÿäääÿåååÿääåÿåååÿäååÿåååÿæååÿåååÿåååÿæåæÿååæÿæææÿæææÿæææÿæææÿæææÿçææÿçæçÿæçæÿçççÿçççÿçççÿçççÿççèÿççèÿèççÿèèèÿèçèÿèçèÿèèèÿèèèÿèèèÿèèéÿèéèÿèèéÿéèèÿéééÿéééÿéééÿéééÿêéêÿéééÿêêêÿêêêÿêêêÿêêêÿêêêÿêêêÿëêêÿêëêÿëëêÿêëëÿëêëÿëëëÿëëëÿëëìÿëëëÿììëÿëëëÿììëÿëìëÿìììÿìììÿììíÿììíÿìììÿííìÿìííÿííìÿíííÿíííÿíííÿííîÿíííÿ–––ÿ–––ÿ–——ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–—–ÿ—–—ÿ––—ÿ–––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ—––ÿ––—ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—–—ÿ––—ÿ––—ÿ–––ÿ–––ÿ——–ÿ––—ÿ——–ÿ––—ÿ–––ÿ–—–ÿ–––ÿ—––ÿ–––ÿ–––ÿ—–—ÿ———ÿ–—–ÿ––—ÿ–––ÿ—–—ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–——ÿ–––ÿ–——ÿ–––ÿ—––ÿ—––ÿ–—–ÿ–––ÿ—––ÿ——–ÿ—–—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ––—ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–——ÿ––—ÿ—–—ÿ——–ÿ––—ÿ–—–ÿ––—ÿ–—–ÿ—––ÿ––—ÿ–——ÿ—––ÿ—–—ÿ———ÿ———ÿ—˜—ÿ˜˜˜ÿ———ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™™ÿ™™˜ÿ™™˜ÿ™™™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿšššÿ™ššÿšššÿšššÿšššÿšš›ÿšššÿ›ššÿ››šÿšššÿ›››ÿ›››ÿ›œ›ÿ›››ÿ›œ›ÿœ››ÿœœœÿœ››ÿœœœÿœœ›ÿœœœÿœœœÿœœœÿœœœÿœœœÿœÿÿœÿÿžžÿÿžÿžžÿžžžÿžžÿ’´ÿA_ìÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿNöÿ‹¾ÿ¡ ¡ÿ¡¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢££ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤£¤ÿ¤£¤ÿ£¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¤ÿ¥¤¤ÿ¥¥¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¥ÿ¥¥¦ÿ¦¦¦ÿ¥¦¥ÿ¥¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§¦§ÿ§¦¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§¨ÿ¨§¨ÿ§¨§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ©©¨ÿ¨¨¨ÿ¨©©ÿ¨¨©ÿ¨©¨ÿ©©©ÿ©©©ÿª©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿªª©ÿªª©ÿªªªÿªªªÿ«ªªÿªª«ÿªª«ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ¬«¬ÿ«««ÿ«¬¬ÿ«««ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬­ÿ¬¬¬ÿ­¬­ÿ¤¥³ÿI]Ñÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ?×ÿ@×ÿTeÑÿ–šÃÿ®¯¹ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶¶·ÿ¶¶·ÿ···ÿ·¶·ÿ···ÿ···ÿ¸¸·ÿ···ÿ¸··ÿ¸··ÿ·¸·ÿ¸¸¸ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¹¸ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹º¹ÿ¹º¹ÿ¹ººÿº¹¹ÿºº¹ÿºººÿºº¹ÿºººÿºººÿº»ºÿºº»ÿ»»ºÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ»¼¼ÿ»¼¼ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ¼½¼ÿ½¼¼ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½¾½ÿ½½½ÿ¾½¾ÿ¾½½ÿ¾½½ÿ¾½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¿¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿÀÀÀÿ¿À¿ÿ¿À¿ÿÀÀÀÿÀ¿Àÿ¿ÀÀÿÀÀÀÿÁÀÀÿÁÀÀÿÀÀÀÿÁÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÂÂÿÂÁÂÿÂÁÁÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÃÿÂÃÂÿÂÂÂÿÃÃÃÿÃÂÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿÃÃÄÿÃÃÄÿÄÄÄÿÃÄÄÿÄÄÄÿÄÄÄÿº»Åÿ•Ëÿ&HÒÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=ÒÿK^Ñÿ²´ÎÿÍÍÍÿÍÍÎÿÍÍÍÿÍÎÎÿÍÍÍÿÍÎÍÿÍÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÎÎÎÿÏÎÏÿÎÏÎÿÎÏÏÿÏÏÏÿÏÏÎÿÏÏÏÿÏÏÐÿÐÐÏÿÐÏÐÿÏÐÏÿÐÏÏÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÑÿÑÑÑÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÒÿÑÑÑÿÒÒÑÿÒÑÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÒÿÒÒÓÿÒÓÓÿÓÓÓÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÔÓÿÔÓÔÿÔÔÓÿÓÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÕÔÕÿÕÕÕÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÕÿÖÕÖÿÖÖÖÿÖÖÖÿÕÖÖÿÖÖ×ÿÖÖÖÿÖ×Öÿ××Öÿ×××ÿÖÖ×ÿ××Öÿ×Ö×ÿ×××ÿ×××ÿר×ÿרØÿØØØÿØ×ØÿØ×ØÿØØØÿØØØÿØØØÿØØØÿØÙÙÿØÙÙÿÙØÙÿÙØÙÿÙÙÙÿØÙÙÿÙÙÙÿÙÙÙÿÚÚÙÿÙÚÚÿÚÚÚÿÚÙÚÿÙÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÛÿÚÚÚÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿØÙÜÿ…îÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿQ÷ÿ¬³éÿÞÞÞÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿßÞßÿÞÞÞÿßßßÿÞßßÿßßßÿßàßÿßßßÿßßßÿßßßÿßàßÿàßßÿàààÿàààÿàààÿàáàÿàààÿàààÿááàÿàááÿààáÿáááÿáááÿáááÿáâáÿááâÿâáâÿáââÿâââÿâââÿâââÿââãÿâââÿââãÿâããÿãââÿâââÿâããÿãããÿäããÿäããÿãããÿäääÿäããÿäãäÿäääÿãääÿäääÿäåäÿäääÿäåäÿäåäÿäåäÿäååÿåååÿåååÿåååÿåååÿåæåÿåææÿæåæÿåææÿæææÿæææÿæææÿææçÿæææÿæææÿæææÿçççÿçççÿçççÿçççÿçççÿçççÿççèÿèèçÿèèçÿèèèÿèèèÿèéèÿèèèÿèèèÿèèéÿèééÿéééÿéééÿéèéÿéééÿêéêÿéééÿêééÿêéêÿêêêÿêéêÿéêêÿêêêÿëêêÿêêêÿëêêÿêêëÿëêëÿëêëÿëëëÿëëëÿëëëÿëëëÿëëìÿëììÿëììÿìëìÿìììÿëììÿìììÿíìíÿìííÿìíìÿííìÿíìíÿíííÿíííÿíííÿííîÿíííÿ—––ÿ––—ÿ—––ÿ–––ÿ—––ÿ–––ÿ––—ÿ–——ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–—–ÿ––—ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–——ÿ–––ÿ—––ÿ––—ÿ–––ÿ–—–ÿ––—ÿ–—–ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ–—–ÿ–––ÿ—–—ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–––ÿ––—ÿ—–—ÿ—–—ÿ–––ÿ———ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ–——ÿ–––ÿ–—–ÿ–––ÿ—––ÿ–––ÿ––—ÿ–—–ÿ––—ÿ–––ÿ–––ÿ––—ÿ—–—ÿ–––ÿ—––ÿ—––ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ——–ÿ–––ÿ—––ÿ–––ÿ––—ÿ—–—ÿ—–—ÿ—––ÿ–––ÿ–—–ÿ——–ÿ—––ÿ——–ÿ———ÿ———ÿ———ÿ——˜ÿ˜˜—ÿ˜—˜ÿ˜——ÿ—˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ™˜™ÿ™˜™ÿ˜™™ÿ™™™ÿ™™™ÿ™ššÿ™™™ÿšš™ÿ™ššÿ™™™ÿ™š™ÿ™ššÿšššÿšššÿšš›ÿšššÿš›šÿ›š›ÿ›ššÿ›š›ÿ›››ÿœ››ÿ›››ÿ›œ›ÿ››œÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœœœÿœœœÿœÿÿÿœÿÿÿžÿžÿÿžžÿžžžÿ“³ÿC`ëÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿPgçÿš›ªÿ¡¡¡ÿ¡  ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢£ÿ¢£¢ÿ££¢ÿ¢£¢ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¤¤ÿ¤¥¤ÿ¤¥¤ÿ¥¥¤ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¥¦ÿ¦¥¥ÿ¥¦¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ¦§§ÿ¦§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨¨ÿ¨¨¨ÿ¨¨§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©©ªÿ©©©ÿ©ª©ÿª©ªÿªªªÿªªªÿªªªÿª«ªÿ««ªÿª«ªÿª««ÿª««ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ«¬¬ÿ¬«¬ÿ¬«¬ÿ«««ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ­­¬ÿ­¬¬ÿšœ¸ÿ:SÓÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿ>×ÿB×ÿVfÑÿ‡Æÿ­¯¹ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ¶·¶ÿ·¶·ÿ···ÿ··¶ÿ···ÿ···ÿ··¸ÿ··¸ÿ¸¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¹¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿº¹¹ÿº¹¹ÿ¹ººÿº¹¹ÿºººÿºººÿºººÿº»ºÿ»º»ÿ»ººÿ»»»ÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ¼»¼ÿ»»¼ÿ¼¼»ÿ¼¼»ÿ»¼»ÿ¼¼¼ÿ½¼½ÿ¼½¼ÿ½½½ÿ½¼¼ÿ½¼½ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½¾ÿ¾½¾ÿ½½¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¾¾ÿ¿¿¾ÿ¿¾¿ÿ¾¿¿ÿ¿¾¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿÀÀ¿ÿ¿¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÀÀÁÿÁÁÁÿÁÀÀÿÀÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÂÿÁÁÁÿÂÂÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÃÿÃÂÂÿÂÃÃÿÃÂÃÿÃÃÃÿÃÂÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÄÄÿÃÃÃÿÃÄÄÿÄÄÄÿÂÂÄÿ˜ÊÿWfÏÿ=Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<ÑÿTdÐÿ¶·ÎÿÍÍÍÿÍÍÍÿÎÍÍÿÍÎÍÿÍÍÍÿÍÎÍÿÍÎÎÿÎÎÎÿÍÍÎÿÎÎÎÿÎÎÏÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÏÏÏÿÏÎÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÐÏÿÐÏÏÿÐÏÏÿÏÐÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÑÐÐÿÑÐÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÒÿÑÑÑÿÒÑÒÿÒÑÑÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÓÒÒÿÓÓÓÿÒÓÓÿÓÓÒÿÓÓÓÿÓÓÓÿÓÔÔÿÓÓÓÿÔÓÔÿÓÔÓÿÔÔÔÿÔÔÔÿÓÔÔÿÔÔÕÿÔÔÕÿÔÕÔÿÔÔÕÿÕÔÔÿÔÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÖÖÿÖÕÖÿÖÖÖÿÖÕÖÿÖÖÖÿÖÖÖÿ×××ÿ×Ö×ÿ×××ÿÖÖÖÿ×Ö×ÿ×Ö×ÿ×××ÿ×××ÿר×ÿ×××ÿ×××ÿר×ÿØ×ØÿØØ×ÿØ×ØÿØØØÿØØØÿÙØØÿØØØÿÙØÙÿØØØÿÙØÙÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÚÿÚÙÚÿÙÙÚÿÚÙÚÿÙÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÚÿÛÚÚÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÍÏßÿ.XöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ“œíÿÜÛÝÿÞÞÞÿÞÝÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞßÿÞßÞÿßßßÿßßßÿßßßÿààßÿààßÿßßßÿààßÿßààÿàààÿàààÿàààÿàààÿàààÿàááÿááàÿáááÿàááÿáááÿáááÿáááÿááâÿáááÿáââÿââáÿââáÿâââÿâââÿãââÿâââÿâãâÿãâãÿâããÿããâÿããâÿãããÿäããÿãããÿäããÿããäÿääãÿãäãÿääãÿäääÿäääÿäääÿäääÿäååÿååäÿåäåÿåååÿåååÿåæåÿæåæÿåæåÿåååÿæææÿåæåÿææåÿæææÿæææÿçææÿæææÿçççÿçææÿçææÿæææÿçççÿçççÿççèÿççèÿçççÿçççÿçèçÿèèèÿèèèÿèèèÿèèèÿèèèÿèéèÿèéèÿéèéÿéééÿéééÿéééÿéééÿéééÿéêêÿêêéÿêéêÿéééÿéêêÿêêêÿêêêÿêëêÿêêëÿêëëÿëëëÿêëëÿëëêÿëëëÿëëëÿëëëÿëìëÿìëëÿìëìÿìëëÿìììÿìììÿìììÿìììÿìíìÿíììÿíííÿíìíÿìííÿíííÿíííÿíííÿíííÿ––—ÿ––—ÿ–––ÿ–––ÿ—–—ÿ––—ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–——ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ———ÿ–––ÿ––—ÿ–––ÿ—––ÿ–—–ÿ––—ÿ–—–ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–——ÿ–—–ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ––—ÿ—–—ÿ—––ÿ–—–ÿ–—–ÿ–––ÿ––—ÿ——–ÿ———ÿ–––ÿ–––ÿ—––ÿ–——ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ–——ÿ———ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ—–—ÿ——–ÿ——–ÿ——–ÿ———ÿ———ÿ—˜—ÿ——˜ÿ—˜—ÿ˜—˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜™˜ÿ˜™™ÿ™™™ÿ™™˜ÿ™˜˜ÿ™˜™ÿ™™™ÿ™™™ÿš™šÿ™™šÿš™šÿš™™ÿšššÿš™šÿšššÿšššÿšššÿ››šÿšššÿ›ššÿ›››ÿ›››ÿ›ššÿ›››ÿ›››ÿ›››ÿœœ›ÿ›œ›ÿ›œœÿœœœÿ›œ›ÿœœœÿœœÿœœœÿœœœÿœÿÿœÿÿÿÿÿžžÿžÿžÿžžžÿžžžÿ’•±ÿFbêÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ Nöÿ€‡Èÿ   ÿ ¡¡ÿ ¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¡¢¡ÿ¡¡¡ÿ¢¢¡ÿ¢¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ¢£¢ÿ£¢¢ÿ¢££ÿ££¢ÿ£¢£ÿ£££ÿ£¤£ÿ¤££ÿ¤££ÿ£££ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¤¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¦ÿ¦¦¦ÿ¥¦¥ÿ¦¦¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ§§¦ÿ§§¦ÿ§§§ÿ§¦¦ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ¨§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨©ÿ¨©¨ÿ©¨¨ÿ©¨©ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿ©©©ÿª©©ÿª©ªÿªªªÿªªªÿªªªÿªª«ÿ«ª«ÿ«ªªÿ«««ÿª««ÿ««ªÿ«««ÿ«««ÿ¬«¬ÿ««¬ÿ««¬ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ¬¬¬ÿ­¬¬ÿ­­­ÿ­­­ÿ¬¬­ÿ“¼ÿ(IÔÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>ÖÿAÖÿ,KÔÿvÊÿ¥§¼ÿ²²¸ÿ¶¶·ÿ¶·¶ÿ·¶¶ÿ¶··ÿ¶··ÿ··¶ÿ···ÿ··¸ÿ·¸·ÿ···ÿ·¸¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¹¹ÿ¹¸¸ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºººÿº¹ºÿ¹¹ºÿº¹ºÿºººÿºººÿ»ººÿº»»ÿ»»»ÿ»»ºÿº»»ÿ»»ºÿ»»»ÿ¼»»ÿ»»»ÿ¼»»ÿ»»»ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾½¾ÿ¾¾½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¾¾ÿ¾¾¿ÿ¾¾¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀÀÀÿ¿À¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÀÁÁÿÁÀÁÿÀÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÁÿÁÂÂÿÁÁÂÿÂÁÁÿÂÁÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÃÂÿÃÂÂÿÃÂÂÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÃÃÿÃÄÃÿÁÀÅÿ®°ÇÿcoÎÿAÑÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<ÑÿTdÐÿ¹¹ÍÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÎÍÿÎÍÎÿÎÍÎÿÎÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÎÏÿÎÏÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÐÏÿÏÏÏÿÐÏÐÿÏÐÏÿÐÏÏÿÐÐÐÿÏÐÐÿÐÐÑÿÐÑÐÿÐÑÑÿÑÑÐÿÑÑÐÿÑÑÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÑÑÿÒÑÑÿÒÑÒÿÒÑÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÓÿÓÓÓÿÓÒÓÿÓÒÓÿÓÓÓÿÓÓÓÿÔÓÓÿÓÓÓÿÔÓÓÿÓÓÔÿÔÔÔÿÓÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÔÕÕÿÕÔÕÿÕÕÕÿÕÔÕÿÕÕÔÿÕÕÕÿÕÕÖÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÕÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿ×Ö×ÿ×ÖÖÿÖ×Öÿ×××ÿ×Ö×ÿ×××ÿ×××ÿØ××ÿØØ×ÿ×רÿØ××ÿØØ×ÿØØØÿרØÿØØØÿÙØØÿØÙØÿÙÙÙÿÙØÙÿØÙÙÿÙÙÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÚÚÿÙÙÙÿÚÚÚÿÙÙÚÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÛÚÛÿÛÛÚÿÚÚÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿœ¤êÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿi{òÿÑÒàÿÞÝÝÿÞÞÞÿÞÝÞÿÝÝÝÿÞÞÞÿÞÞÞÿÞßÞÿßÞÞÿßÞßÿÞßÞÿßßÞÿÞßßÿßßßÿßßßÿßßàÿßßßÿßßßÿßàßÿßààÿàßßÿàààÿàààÿàáàÿáááÿàààÿàààÿàááÿááàÿáááÿáááÿáááÿááâÿáááÿááâÿâááÿáââÿâââÿâááÿâââÿãââÿâââÿâãâÿâãâÿâââÿããâÿãããÿãããÿãããÿããäÿäãäÿääãÿãääÿäääÿäääÿãääÿäääÿåääÿääåÿåååÿäååÿåååÿåååÿåååÿåååÿæååÿåååÿæååÿæåæÿæååÿæææÿæåæÿæææÿæææÿææçÿçææÿçææÿçæçÿççæÿççæÿçççÿçççÿçççÿèççÿèèçÿççèÿèçèÿèèèÿèèèÿèèèÿèèéÿèèèÿéééÿèééÿèéèÿéééÿéééÿêééÿéêêÿéééÿêêéÿêêêÿêêéÿêêêÿêêêÿêêêÿêëêÿêëëÿêëëÿëëëÿëëêÿëëëÿëëëÿëëëÿëëëÿëëëÿììëÿëëëÿìëìÿìììÿìììÿìììÿìììÿìììÿíììÿííìÿíììÿìííÿíííÿíííÿíííÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–——ÿ–––ÿ–––ÿ–—–ÿ–––ÿ—––ÿ——–ÿ–––ÿ––—ÿ––—ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–——ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ—––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ––—ÿ–––ÿ––—ÿ–––ÿ——–ÿ—––ÿ—––ÿ———ÿ–––ÿ–—–ÿ–––ÿ——–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–——ÿ———ÿ––—ÿ–—–ÿ——–ÿ–––ÿ––—ÿ———ÿ——–ÿ———ÿ———ÿ———ÿ——˜ÿ———ÿ˜——ÿ——˜ÿ—˜˜ÿ˜—˜ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ˜™˜ÿ™˜˜ÿ™˜™ÿ™˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™š™ÿ™™™ÿ™™šÿš™šÿ™š™ÿ™ššÿš™™ÿšššÿšššÿ›ššÿ›››ÿš››ÿšš›ÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›œ›ÿ›œœÿ›››ÿœœ›ÿœœœÿœ›œÿœœœÿœœÿœœœÿœœÿœÿœÿœÿÿÿÿžžÿžžÿžžÿžžžÿžžžÿžžžÿ“³ÿKdèÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ<]îÿ™š¬ÿ¡¡ ÿ¡¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¢ÿ¢¡¢ÿ¡¡¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ£¢£ÿ¢¢¢ÿ£££ÿ£££ÿ££¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤¤¤ÿ££¤ÿ¤¤£ÿ£¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¥¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¥ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ¦¦¦ÿ§§§ÿ§¦§ÿ¦§§ÿ§¦§ÿ§§§ÿ§§§ÿ§§¨ÿ§§¨ÿ¨§§ÿ¨¨¨ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ©¨¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿª©©ÿª©ªÿ©ª©ÿªªªÿªªªÿªªªÿªªªÿ«ª«ÿ«ª«ÿ«ªªÿª««ÿª««ÿ«ª«ÿ«««ÿ¬««ÿ«««ÿ«««ÿ«««ÿ¬«¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬¬ÿ­¬­ÿ­­­ÿ­­­ÿ‰¿ÿ"GÕÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>Öÿ>ÖÿDÕÿboÎÿŒ’Åÿ­­»ÿ··¶ÿ¶··ÿ··¶ÿ·¶·ÿ···ÿ···ÿ···ÿ¸¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¹¸ÿ¹¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿº¹ºÿ¹¹¹ÿº¹ºÿº¹¹ÿºº¹ÿºººÿ»ººÿºººÿ»ººÿ»º»ÿ»º»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»¼»ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½¼¼ÿ¼¼½ÿ½½½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½¾½ÿ½½½ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¿¾ÿ¾¾¾ÿ¿¿¾ÿ¿¾¿ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿À¿ÿ¿¿¿ÿ¿ÀÀÿ¿ÀÀÿÀÀÀÿ¿¿ÀÿÀÀÀÿÀÁÀÿÀÀÀÿÀÁÁÿÁÁÁÿÀÀÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÂÂÿÁÁÂÿÂÂÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÃÃÿÂÂÂÿÂÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÃÿÄÃÃÿª¬Çÿy‚Ìÿ!EÐÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<ÐÿgsÐÿ»¼ÍÿÌÌÍÿÍÍÌÿÌÍÍÿÍÍÍÿÌÍÌÿÍÍÍÿÍÍÎÿÍÎÍÿÍÎÍÿÎÎÍÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÎÎÏÿÎÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÏÿÏÐÏÿÏÐÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÐÿÐÐÐÿÐÑÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÒÒÿÒÑÒÿÑÒÒÿÑÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÒÓÒÿÓÓÓÿÒÓÓÿÓÓÓÿÓÓÔÿÓÓÔÿÓÓÔÿÔÔÔÿÔÓÔÿÓÔÔÿÓÓÓÿÔÔÔÿÔÔÔÿÕÔÔÿÔÔÔÿÕÔÔÿÕÕÕÿÕÔÕÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÖÖÿÖÕÕÿÖÕÖÿÖÖÖÿÖÕÖÿÖÖÖÿÖÖÖÿÖÖ×ÿÖ×Öÿ×××ÿÖÖÖÿ×××ÿÖ××ÿ×××ÿ×××ÿר×ÿרØÿ×××ÿØØØÿØØØÿØØ×ÿØØØÿØØØÿØÙØÿØØØÿÙØØÿÙÙØÿØÙØÿÙØÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÙÚÙÿÚÙÙÿÙÚÚÿÙÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÛÿÚÚÛÿÚÛÚÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÖÖÜÿPjôÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ,Wöÿ½ÀåÿÝÞÝÿÞÞÞÿÞÝÝÿÝÝÞÿÝÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞÞÿßßÞÿÞßßÿßßÞÿßÞßÿßÞßÿßßßÿßßßÿßßßÿàßßÿßßàÿßßßÿààßÿßàßÿàßàÿàààÿàààÿàààÿàààÿàààÿààáÿàáàÿáááÿáááÿáááÿáâáÿááâÿâááÿáââÿâáâÿâââÿâââÿâââÿâãâÿããâÿããâÿâââÿãââÿââãÿãããÿãããÿãääÿãããÿãääÿãäãÿäääÿäääÿäääÿäääÿäääÿääåÿäåäÿäåäÿåääÿåååÿåååÿåååÿåååÿåååÿæååÿåææÿåææÿæææÿæææÿåææÿæææÿæçæÿææçÿçææÿæççÿçççÿççæÿçççÿçççÿçççÿèççÿçççÿèçèÿçèèÿçèèÿèèèÿèèèÿèèèÿèéèÿéèèÿééèÿéèéÿéééÿéééÿéééÿéééÿééêÿéêéÿêêéÿêééÿêêêÿêéêÿêêêÿêêêÿêêêÿëêëÿêêêÿêêëÿëêëÿëêëÿëëêÿëëëÿëìëÿëëëÿëëëÿëëìÿìììÿìììÿìììÿìììÿìììÿìììÿíììÿìííÿííìÿíííÿíííÿíîíÿ––—ÿ––—ÿ–––ÿ–—–ÿ——–ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–——ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—–—ÿ—–—ÿ—––ÿ––—ÿ———ÿ—–—ÿ–––ÿ–––ÿ—––ÿ–––ÿ—––ÿ–—–ÿ–——ÿ——–ÿ—––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–—–ÿ—––ÿ—––ÿ––—ÿ–––ÿ——–ÿ–––ÿ—––ÿ—–—ÿ–––ÿ–––ÿ——–ÿ–—–ÿ–––ÿ——–ÿ––—ÿ–––ÿ–——ÿ–—–ÿ–—–ÿ—–—ÿ––—ÿ—––ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ–——ÿ–––ÿ—––ÿ–––ÿ––—ÿ—–—ÿ–––ÿ––—ÿ–—–ÿ–––ÿ––—ÿ––—ÿ——–ÿ———ÿ———ÿ˜——ÿ———ÿ˜——ÿ—˜—ÿ—˜—ÿ———ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ™˜™ÿ˜™™ÿ™™˜ÿ˜™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿš™šÿšššÿšššÿš™šÿšššÿš›šÿšššÿ›š›ÿš››ÿš››ÿš››ÿš››ÿ›››ÿ›œœÿ››œÿ›œ›ÿœœœÿœ›œÿœœœÿœœœÿœœœÿœœœÿÿœÿœÿœÿœÿÿÿÿžÿžÿžžžÿžžžÿžžžÿžÿ”–­ÿLeèÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿhvÚÿ ¡ ÿ¡¡¡ÿ ¡ ÿ¡ ¡ÿ¡ ¡ÿ¡¡¢ÿ¡¡¢ÿ¡¡¡ÿ¢¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ£¢£ÿ¢£¢ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ££¤ÿ£££ÿ£££ÿ¤££ÿ£¤£ÿ£¤£ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¦¥ÿ¥¥¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§¦ÿ¦§¦ÿ§¦§ÿ§§§ÿ§¦§ÿ§§§ÿ¨§§ÿ§§¨ÿ§¨§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©©¨ÿ¨©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿª©©ÿª©ªÿ©ªªÿªªªÿªªªÿªªªÿªªªÿªªªÿªªªÿ«ª«ÿª««ÿ««ªÿ«««ÿ«««ÿ«¬«ÿ««¬ÿ«««ÿ«¬¬ÿ¬««ÿ«¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ­¬­ÿ­­­ÿ­¬­ÿ««®ÿzÃÿCÔÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>ÕÿDÔÿÕÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ>Õÿ^lÎÿ’Äÿ¤¦½ÿ³´¸ÿ···ÿ···ÿ··¸ÿ·¸·ÿ¸··ÿ¸¸¸ÿ·¸¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹º¹ÿ¹ººÿºº¹ÿºººÿºººÿºººÿºººÿºººÿºººÿºººÿ»ººÿ»ººÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ»»¼ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½¼¼ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾½ÿ½¾¾ÿ¾½¾ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¾ÿ¿¿¾ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀ¿Àÿ¿¿ÀÿÀÀ¿ÿÀ¿¿ÿÀÀÀÿÀÀÀÿÁÀÁÿÁÀÀÿÁÁÁÿÁÀÀÿÀÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÂÿÁÂÁÿÂÁÁÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÃÿÂÂÂÿÀ¿Âÿ¨ªÅÿxËÿDÐÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ=ÐÿwÏÿÃÄÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÍÍÍÿÍÍÌÿÍÍÌÿÍÌÍÿÍÍÍÿÍÍÎÿÍÍÍÿÍÎÍÿÍÍÍÿÎÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÏÏÿÏÎÎÿÎÎÏÿÎÏÏÿÏÎÎÿÎÏÏÿÎÏÏÿÏÏÏÿÐÏÏÿÏÏÏÿÐÐÏÿÏÏÐÿÏÏÐÿÐÏÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÐÐÿÐÐÐÿÐÑÑÿÐÐÐÿÐÑÑÿÑÑÑÿÑÐÐÿÑÑÑÿÑÑÑÿÒÑÒÿÑÑÒÿÒÒÒÿÒÒÒÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÓÿÓÒÓÿÒÓÓÿÓÓÓÿÒÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÔÓÓÿÔÔÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÕÔÔÿÔÕÕÿÕÕÕÿÔÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÖÖÿÕÖÖÿÖÖÖÿÖÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿÖ×Öÿ×Ö×ÿ×××ÿ×××ÿ×Ö×ÿ×××ÿ×××ÿ×××ÿ×××ÿØØ×ÿר×ÿ×××ÿØØØÿØØØÿØØØÿØØØÿØØØÿØÙØÿØØØÿÙÙØÿÙÙØÿÙÙÙÿÙÙÙÿÚÙÚÿÙÙÙÿÚÙÚÿÚÙÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÚÛÿÚÛÚÿÛÛÛÿÛÚÛÿÙÙÜÿŠ•íÿ M÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ M÷ÿ}ŠðÿØØÞÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÞÿÝÝÞÿÞÝÝÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞßÿÞÞÞÿßÞßÿÞßÞÿÞßßÿßßßÿßßßÿßßßÿßàßÿßßßÿßßßÿßàßÿßßàÿààßÿàßàÿàààÿàààÿàááÿàáàÿàààÿààáÿááàÿàááÿáááÿáááÿáááÿáááÿááâÿááâÿâááÿâââÿâââÿâããÿâââÿããâÿââãÿãããÿâããÿãããÿãããÿãããÿããäÿãääÿäãäÿääãÿääãÿãääÿäääÿäääÿåääÿåäåÿäååÿäååÿäååÿåäåÿåååÿåååÿåååÿæååÿåææÿæååÿæææÿåæåÿåæåÿæææÿæææÿæææÿæææÿæççÿçæçÿæççÿçççÿçççÿçççÿçççÿçèçÿèçèÿèçèÿèççÿèèèÿèçèÿèéèÿééèÿèèèÿéèèÿéééÿéééÿééèÿéééÿéééÿéééÿééêÿéêéÿééêÿêééÿééêÿêêêÿêêêÿêêêÿêêêÿëêêÿëëêÿëêêÿëëëÿëêëÿêëëÿëëëÿëììÿëëìÿëììÿìììÿìììÿìììÿìììÿìììÿììíÿìíìÿìííÿììíÿíííÿìííÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ—––ÿ––—ÿ—––ÿ—––ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–——ÿ—––ÿ–——ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ—––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ———ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ––—ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ——–ÿ—––ÿ—–—ÿ———ÿ——–ÿ–––ÿ–——ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ—–—ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–——ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–——ÿ–––ÿ–——ÿ—––ÿ–——ÿ———ÿ———ÿ———ÿ—˜—ÿ˜——ÿ——˜ÿ——˜ÿ˜——ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜™ÿ˜™™ÿ™˜™ÿ™˜˜ÿ™™™ÿ™™™ÿ™š™ÿ™™™ÿ™™šÿšššÿšš™ÿšššÿšš™ÿšššÿšššÿ››šÿ›ššÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›œœÿœœ›ÿœ››ÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœÿœÿÿœÿÿÿÿÿžÿÿÿžžžÿžžžÿžžžÿ•—­ÿQhåÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿcsÞÿž¦ÿ   ÿ¡ ¡ÿ¡¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¢¢¢ÿ¢¢¡ÿ¢¡¢ÿ¡¡¢ÿ¢¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢£¢ÿ¢¢£ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ£££ÿ££¤ÿ£££ÿ£££ÿ¤£¤ÿ¤¤£ÿ¤¤¤ÿ£¤£ÿ¤£¤ÿ¤¤¤ÿ¤¥¤ÿ¤¥¤ÿ¥¤¤ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¦ÿ¦¥¥ÿ¦¥¥ÿ¥¥¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¥ÿ§¦¦ÿ§¦¦ÿ¦¦¦ÿ¦§§ÿ¦§§ÿ§¦§ÿ§§§ÿ¦§§ÿ§§¨ÿ§§¨ÿ§§¨ÿ¨§§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ¨©©ÿ¨¨©ÿ¨©¨ÿ©©©ÿª©©ÿ©ª©ÿ©©©ÿ©©©ÿ©ªªÿª©ªÿªªªÿªªªÿª«ªÿªªªÿªªªÿª«ªÿ«««ÿ«««ÿ««ªÿ«««ÿ«««ÿ«¬«ÿ«««ÿ¬¬«ÿ¬«¬ÿ¬¬¬ÿ¬««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ­­­ÿ¬¬¬ÿ¬­­ÿ¨§°ÿjtÈÿ>Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ9QÒÿXfÏÿˆÇÿ¨ª¼ÿ¶··ÿ···ÿ¸¸·ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¸¹ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¹¹ÿº¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿ¹ººÿ¹ººÿ¹ººÿºº¹ÿºººÿ»º»ÿº»ºÿºº»ÿº»ºÿº»ºÿ»»ºÿ»»»ÿ»»¼ÿ¼»»ÿ»»¼ÿ»¼¼ÿ»¼¼ÿ¼»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼½¼ÿ¼¼¼ÿ½¼¼ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ¾½½ÿ½¾½ÿ¾¾¾ÿ½¾¾ÿ¾¾½ÿ¾¾¾ÿ¾½½ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀÀ¿ÿ¿¿¿ÿ¿¿Àÿ¿À¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÁÿÁÁÁÿÀÁÀÿÀÀÁÿÀÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÁÿÁÁÂÿÂÂÁÿÂÂÁÿÂÂÂÿÂÂÃÿÂÂÂÿ¿¿Ãÿž¢Çÿ`lÌÿ.JÎÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;ÏÿAÏÿ„‹ÎÿÅÅËÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÍÍÌÿÌÌÌÿÍÍÍÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÎÎÍÿÍÍÎÿÎÍÍÿÍÎÎÿÍÍÎÿÎÍÎÿÎÎÎÿÎÎÎÿÎÎÏÿÎÏÎÿÎÎÎÿÎÏÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÏÿÐÐÐÿÑÐÐÿÐÑÐÿÑÐÐÿÐÑÐÿÑÑÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÒÑÒÿÒÑÒÿÒÒÑÿÒÒÒÿÒÒÒÿÓÓÒÿÒÒÓÿÓÓÒÿÒÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÔÔÿÔÔÔÿÓÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÕÔÿÕÔÔÿÔÕÕÿÔÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÕÕÿÖÖÖÿÕÖÖÿÖÖÖÿÖÖÕÿÕÖÖÿ××ÖÿÖ×ÖÿÖÖÖÿ×Ö×ÿ××Öÿ××ÖÿÖ××ÿ×××ÿר×ÿ×××ÿ×רÿØØØÿרØÿØØØÿØ×ØÿØØØÿØØØÿØØÙÿØÙØÿØÙØÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÚÙÿÚÚÙÿÚÚÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÛÿÚÚÚÿÚÚÚÿÚÚÚÿÛÛÛÿÎÏßÿXoóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJfõÿÊËâÿÜÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÝÞÝÿÝÞÞÿÞÞÞÿÝÞÝÿÞÞÝÿÞÞÞÿÞÞÞÿÞßÞÿÞÞÞÿÞÞßÿßßßÿÞßßÿßßßÿßßßÿßßßÿßßßÿßßßÿßßàÿßàßÿààßÿßàßÿàààÿàààÿáààÿàààÿáààÿáààÿààáÿáááÿáààÿáááÿáâáÿáââÿáâáÿáââÿââáÿâââÿâââÿââáÿâââÿâââÿâââÿããâÿãââÿãâãÿãããÿãããÿãããÿãäãÿããäÿãããÿãäãÿãäãÿäääÿäääÿäääÿäääÿäääÿäääÿååäÿååäÿååäÿäääÿåååÿåååÿæååÿåæåÿåæåÿåæåÿååæÿææåÿæææÿæææÿçææÿææçÿçæçÿççæÿçææÿççæÿçççÿçççÿçççÿèççÿèèçÿççèÿççèÿèçèÿèèèÿèèèÿèèéÿèèèÿéèéÿèèèÿééèÿéééÿéééÿéééÿéééÿééêÿéêéÿêééÿéêéÿéêêÿéêêÿêêêÿêêêÿêëêÿêëêÿêêëÿëëêÿëêëÿëëëÿëëëÿëëëÿìëëÿëìëÿììëÿììëÿìììÿìëëÿëììÿìììÿíììÿìíìÿììíÿìììÿííìÿììíÿ–––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ——–ÿ—––ÿ–––ÿ–––ÿ—––ÿ——–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ——–ÿ–—–ÿ–—–ÿ—––ÿ–––ÿ–——ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–——ÿ–––ÿ–––ÿ—––ÿ––—ÿ–——ÿ––—ÿ—––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ—––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ––—ÿ—––ÿ–—–ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–——ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ–—–ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–——ÿ––—ÿ–—–ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ—˜—ÿ——˜ÿ—˜˜ÿ˜˜˜ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ™˜™ÿ˜™™ÿ™™˜ÿ™™™ÿ™™™ÿ™š™ÿš™šÿ™™šÿšš™ÿš™šÿ™™šÿšššÿšššÿšššÿ››šÿš›šÿšššÿ›››ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœœÿ›œœÿœœœÿœœœÿœœœÿœœœÿœœœÿœÿÿœœÿÿÿÿÿÿžÿžÿžžÿžžÿžžÿžžžÿžžžÿ•—¬ÿRhåÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿOöÿŽ’¹ÿ ¡ ÿ ¡ ÿ¡¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¢¡ÿ¡¢¢ÿ¡¢¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ¢¢¢ÿ¢££ÿ£¢£ÿ£££ÿ£££ÿ¢££ÿ£££ÿ£¤£ÿ£££ÿ££¤ÿ££¤ÿ¤¤£ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¥¥¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦¦¦ÿ§¦¦ÿ¦§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ§¨§ÿ§¨§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ¨¨©ÿ¨©©ÿ©©©ÿ©¨©ÿ©©©ÿ©ª©ÿ©©©ÿ©©©ÿª©©ÿ©ªªÿª©ªÿ©ª©ÿªªªÿªªªÿªª«ÿªª«ÿ«ªªÿ«ª«ÿª««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ¬««ÿ«««ÿ«««ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ­¬¬ÿ­¬¬ÿ¬­¬ÿ¬­¬ÿ­­­ÿ¥¦²ÿXgÌÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=Ôÿ=ÔÿAÔÿ\iÍÿ‹Äÿ¤¦¾ÿ¯°ºÿ¶··ÿ¸··ÿ¸¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸¹ÿ¹¸¸ÿ¸¹¸ÿ¹¹¹ÿ¸¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹ººÿº¹ºÿº¹ºÿºº¹ÿºººÿºººÿºººÿº»»ÿºº»ÿºº»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ¼¼»ÿ»¼¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼½ÿ¼¼½ÿ½½½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾¾ÿ¾¾½ÿ¾¾¾ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¾ÿ¿¿¾ÿ¾¾¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿À¿ÿÀ¿¿ÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÁÀÿÀÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÀÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÂÿÁÂÂÿÁÂÂÿÀÀÁÿ´µÄÿ•™ÈÿN_Íÿ<Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ;Ïÿ+HÏÿŽ“ÎÿÊÊÌÿËËËÿËËÌÿÌÌÌÿÌÌËÿÌÌÌÿÌÌÍÿÌÌÍÿÌÌÌÿÍÍÌÿÍÍÌÿÍÌÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÎÍÿÎÎÎÿÍÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÎÎÿÎÏÎÿÎÎÏÿÎÎÏÿÏÏÎÿÏÏÎÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÐÿÐÐÏÿÐÏÐÿÐÏÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÑÐÑÿÑÑÐÿÑÑÑÿÑÑÑÿÐÑÐÿÑÑÑÿÑÑÑÿÑÒÑÿÑÑÑÿÒÒÑÿÑÒÒÿÑÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÒÒÿÓÓÒÿÒÓÒÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÔÓÿÓÔÔÿÓÓÔÿÓÓÓÿÓÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÔÔÕÿÕÔÕÿÔÕÕÿÕÕÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÖÿÕÖÕÿÕÖÕÿÕÕÖÿÖÖÖÿÕÕÖÿÖÖÖÿÖ×ÖÿÖÖ×ÿÖÖ×ÿ×××ÿ×××ÿ××Öÿ××Öÿ×××ÿ×××ÿØ××ÿØ×ØÿØ×ØÿØ×ØÿØØØÿØ×ØÿØØØÿØØØÿÙØØÿØØØÿÙØÙÿÙÙØÿØØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÚÙÿÚÚÙÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÚÚÛÿÚÚÛÿº½äÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿR÷ÿ²·èÿÝÜÝÿÝÜÝÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÝÞÝÿÞÝÞÿÞÝÝÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞßÿÞÞÞÿßßßÿÞßÞÿßßÞÿßßßÿßàßÿàßßÿàßàÿßßàÿßàßÿßààÿßßàÿßààÿàààÿààáÿààáÿàáàÿáàáÿáàáÿàááÿááàÿáááÿáááÿáááÿáâáÿâáâÿááâÿâââÿâââÿâââÿããâÿâââÿãâãÿãããÿãâãÿãããÿããâÿãããÿääãÿãããÿääãÿãääÿããäÿäãäÿäääÿãääÿäääÿäåäÿäåäÿäääÿåääÿäååÿääåÿåååÿåååÿåååÿåååÿååæÿæææÿæææÿåææÿæææÿåææÿæææÿçææÿçææÿææçÿçæçÿçççÿççæÿçççÿçççÿçççÿçèçÿççèÿèèèÿèçèÿçèçÿççèÿèèèÿèèèÿèéèÿèèéÿéèéÿéééÿééèÿèééÿéééÿéééÿêééÿêéêÿêéêÿêééÿêêéÿêêêÿêêêÿêêêÿêêëÿêëêÿêêêÿëêêÿëëëÿëëëÿëëëÿëëëÿëëëÿëëìÿìëëÿìëëÿììëÿëììÿììëÿìììÿìììÿíììÿíììÿììíÿíííÿ––—ÿ–––ÿ–—–ÿ––—ÿ–––ÿ——–ÿ––—ÿ–––ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ–——ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—–—ÿ–––ÿ–—–ÿ—––ÿ—––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ——–ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ––—ÿ––—ÿ––—ÿ–––ÿ–——ÿ—–—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ––—ÿ––—ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ—––ÿ––—ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ––—ÿ–—–ÿ––—ÿ—––ÿ––—ÿ—–—ÿ—––ÿ–——ÿ––—ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–—–ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ———ÿ—˜—ÿ—˜—ÿ——˜ÿ———ÿ˜˜—ÿ˜—˜ÿ˜˜˜ÿ˜™˜ÿ˜˜˜ÿ˜˜™ÿ™™˜ÿ˜™™ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™šÿ™š™ÿšš™ÿš™šÿšššÿšššÿšššÿšššÿšš›ÿ››šÿ›š›ÿš›šÿš›šÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœœÿ›œœÿœœ›ÿœœ›ÿœœœÿœœÿœœÿœœœÿœœœÿœÿœÿœœÿœÿÿÿžÿžžÿžÿžÿžžžÿžžÿžžžÿ–—¬ÿWlãÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿOgçÿ  ¢ÿ ¡¡ÿ¡¡ ÿ ¡ ÿ ¡ ÿ¡¡¡ÿ¡¢¢ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ££¢ÿ¢¢£ÿ¢££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ££¤ÿ¤£¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¥¤¤ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¤¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¦ÿ¦¦¥ÿ¥¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¥ÿ¦¦§ÿ¦¦§ÿ§¦§ÿ§¦¦ÿ¦§§ÿ¦§¦ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ¨¨§ÿ¨§¨ÿ¨¨§ÿ¨¨§ÿ§§¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©©¨ÿ©¨¨ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿª©©ÿª©©ÿ©ª©ÿ©ª©ÿªªªÿª©ªÿªªªÿªªªÿª«ªÿªªªÿ««ªÿª««ÿ«««ÿ«ª«ÿ«««ÿ«««ÿ¬«¬ÿ«¬«ÿ«¬¬ÿ¬¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬¬ÿ­­­ÿ¬¬¬ÿ­­¬ÿ£¤³ÿUdÌÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ'HÒÿVeÎÿs|Êÿ•Äÿ¨«¼ÿ¸·¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¸¸ÿ¹¸¹ÿ¸¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹¹¹ÿ¹ººÿ¹¹¹ÿºº¹ÿºººÿºººÿºººÿºººÿº»»ÿºº»ÿ»»ºÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ»»»ÿ¼»¼ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ¼¼¼ÿ¼¼½ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾¾ÿ½½½ÿ½½½ÿ¾½¾ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¿ÿ¾¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿ¿À¿ÿ¿ÀÀÿÀ¿ÀÿÀÀÀÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÁÿÁÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÂÁÁÿÁÁÂÿ½¾ÂÿŸÇÿs|ÊÿEXÍÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ1LÎÿ ¤ÌÿÊËÌÿËÌËÿÌÌËÿÌÌÌÿËÌËÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÍÍÿÌÍÌÿÌÍÌÿÍÍÌÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÍÎÿÎÎÎÿÍÎÎÿÎÎÎÿÍÎÎÿÎÎÎÿÎÎÎÿÎÏÏÿÎÎÎÿÎÎÎÿÎÏÎÿÏÏÎÿÎÏÎÿÏÏÏÿÏÎÏÿÏÏÏÿÐÏÏÿÏÐÏÿÐÐÐÿÐÏÐÿÐÏÏÿÐÐÐÿÐÐÐÿÐÐÑÿÑÐÐÿÐÐÐÿÑÐÐÿÐÐÑÿÑÐÐÿÐÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÒÒÒÿÒÑÒÿÑÑÑÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÓÿÒÓÒÿÓÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÓÓÓÿÓÓÔÿÔÔÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÕÔÿÕÕÔÿÔÕÔÿÔÕÕÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÖÿÕÕÖÿÖÖÕÿÕÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖÖÖÿÖ×ÖÿÖÖÖÿÖ×Öÿ×ÖÖÿ×××ÿ×××ÿ×××ÿר×ÿר×ÿ×××ÿØØØÿר×ÿØØ×ÿØØØÿØØØÿÙÙØÿÙØØÿØØØÿÙØÙÿÙØØÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÚÚÙÿÚÙÚÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÚÚÚÿ…îÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ”žìÿÛÛÝÿÝÜÝÿÝÜÜÿÝÝÝÿÜÝÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßßÿÞÞßÿÞÞÞÿÞÞßÿßÞÞÿÞÞÞÿßßßÿßßßÿßßßÿßßßÿßßàÿßßßÿßààÿààßÿàààÿáààÿàààÿáààÿàààÿàááÿááàÿáàáÿáááÿáááÿáâáÿáâáÿáââÿâââÿâââÿâááÿâââÿâââÿâââÿâããÿâââÿãââÿãããÿããâÿãããÿãããÿäããÿãããÿääãÿäãäÿäããÿäääÿäääÿäääÿåääÿäääÿäåäÿäååÿääåÿäååÿåååÿåååÿåååÿåååÿæåæÿææåÿååæÿæææÿææåÿææåÿæææÿæææÿæææÿçææÿææçÿçææÿççæÿçççÿçççÿèççÿçççÿçççÿçèçÿèèèÿèççÿèèèÿèèèÿèèèÿèèéÿèèéÿèèèÿèèéÿéééÿéééÿéééÿêééÿêééÿéêêÿéêêÿéééÿéééÿéêêÿêêêÿêêêÿêêêÿêêêÿêëëÿêëëÿëêëÿëêëÿëëêÿëëëÿëëëÿëëëÿëëëÿìëìÿììëÿìëìÿìììÿìììÿìììÿíììÿííìÿììíÿìííÿ–—–ÿ——–ÿ–——ÿ–——ÿ–——ÿ–––ÿ––—ÿ–—–ÿ–––ÿ––—ÿ—––ÿ—––ÿ–––ÿ–––ÿ–––ÿ——–ÿ–—–ÿ–––ÿ—––ÿ––—ÿ–——ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ—––ÿ––—ÿ———ÿ——–ÿ–––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ–—–ÿ–—–ÿ—––ÿ——–ÿ—––ÿ—––ÿ––—ÿ––—ÿ–––ÿ–––ÿ—––ÿ—––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–——ÿ—–—ÿ––—ÿ–––ÿ—––ÿ–——ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–——ÿ––—ÿ–—–ÿ–––ÿ—––ÿ–——ÿ–––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—–—ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ——–ÿ—––ÿ——–ÿ———ÿ—–—ÿ———ÿ———ÿ˜——ÿ——˜ÿ˜—˜ÿ—˜—ÿ—˜˜ÿ˜˜—ÿ˜˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ™˜™ÿ™˜™ÿ™™™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™ššÿš™šÿš™™ÿšš™ÿšššÿšššÿ›ššÿšššÿšš›ÿ›››ÿ›š›ÿ›››ÿ›››ÿ›œ›ÿ›œ›ÿ››œÿœœ›ÿœœœÿœœœÿ›œœÿœœœÿœœœÿœœœÿœœÿœÿœÿœœÿÿÿÿžÿžÿžÿžžÿžžžÿžžÿžžžÿžžžÿ—™©ÿXkâÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿPõÿ‚ˆÆÿ   ÿ¡ ¡ÿ¡  ÿ¡¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¡ÿ¡¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ£¢£ÿ£££ÿ£¢£ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ¤£¤ÿ££¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¤¥¤ÿ¤¥¥ÿ¤¤¥ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¥¥ÿ¥¦¥ÿ¦¦¦ÿ¦¥¦ÿ¦¦¦ÿ§¦¦ÿ§¦¦ÿ¦¦¦ÿ§§§ÿ¦§§ÿ¦¦§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ©©¨ÿ©©©ÿ©¨¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿ©ª©ÿªªªÿ©ªªÿ©ª©ÿªªªÿªªªÿªªªÿ«ª«ÿ«««ÿ«ª«ÿ«ª«ÿ«««ÿª««ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬«¬ÿ¬«¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ¬¬­ÿ­­¬ÿ­­¬ÿŸ¡´ÿJ\Íÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ=Óÿ>ÓÿBÓÿ#FÒÿM_Ïÿ}„Èÿœ Àÿ¯°»ÿ²³»ÿ¶¶¹ÿ¹¸¸ÿ¹¹¸ÿ¹¹¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿº¹ºÿºº¹ÿºººÿºººÿºººÿºººÿ»ººÿº»ºÿº»ºÿ»»ºÿºº»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»¼ÿ»¼¼ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼½½ÿ¼½½ÿ¼¼½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ¾½¾ÿ½½½ÿ½¾½ÿ½½½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¾¾¾ÿ¿¾¾ÿ¿¿¿ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿ÀÀÿÀ¿¿ÿ¿¿Àÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÁÀÿÁÀÁÿÀÁÀÿÁÁÁÿ¿¿Áÿº»Âÿ­¯ÅÿˆÉÿ=SÍÿAÎÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ<ÎÿBVÎÿ­¯ÌÿËËËÿËËËÿËËËÿËËËÿËÌËÿÌÌËÿËËËÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÌÌÌÿÌÌÍÿÌÍÍÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÎÿÎÍÎÿÍÍÍÿÎÍÎÿÍÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÏÿÏÎÏÿÏÏÏÿÏÎÎÿÎÏÏÿÎÎÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÏÿÏÐÏÿÐÏÐÿÏÐÏÿÏÏÐÿÐÐÐÿÐÏÐÿÐÑÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÐÑÿÑÐÐÿÑÐÑÿÑÑÑÿÑÑÑÿÒÒÑÿÑÑÑÿÒÒÑÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÓÒÿÒÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÓÔÿÔÓÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÕÔÿÕÔÕÿÕÕÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÖÿÕÕÖÿÕÖÖÿÖÕÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ×Öÿ×ÖÖÿÖ×ÖÿÖ××ÿ×××ÿ×××ÿ×××ÿØ××ÿØ××ÿ×××ÿØ×ØÿØ×ØÿØØ×ÿØØØÿØØØÿØÙØÿÙØØÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÙÚÿÚÚÚÿÚÚÙÿÚÙÚÿÚÚÚÿÚÙÚÿÚÚÚÿÛÛÚÿÓÓÜÿ.XöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿhzòÿÐÑßÿÜÜÜÿÜÜÜÿÜÝÝÿÝÜÝÿÜÝÜÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÞÿÞÝÝÿÞÞÞÿÞÞÝÿÞÞÞÿÝÞÞÿÞÞÞÿÞÞÞÿßÞßÿßÞÞÿÞÞßÿßÞßÿßÞÞÿßßßÿßÞßÿßßßÿßßßÿßßßÿßßßÿààßÿßßàÿààßÿàààÿàààÿàààÿàààÿáááÿàááÿáàáÿáááÿáááÿáááÿááâÿáááÿâáâÿáâáÿâáâÿâââÿâââÿâââÿâãâÿâââÿâãâÿâããÿãââÿããâÿãããÿãããÿãäãÿãããÿãääÿããäÿäããÿäããÿäääÿäääÿäääÿäääÿäääÿääåÿäååÿåääÿäååÿäååÿåååÿåååÿååæÿæååÿæææÿææåÿæææÿæææÿæææÿæçæÿææçÿæçæÿççæÿæççÿæççÿçççÿçççÿçççÿèççÿçèçÿçèçÿççèÿèçèÿèèèÿèèèÿèèèÿéèèÿéèèÿéééÿééèÿééèÿééèÿéééÿéééÿééêÿééêÿéééÿéêêÿêéêÿêêêÿêêêÿêêêÿêêêÿêêëÿêêêÿêëêÿëëëÿêêëÿëëëÿëëëÿëëëÿëìëÿëììÿìëìÿìëìÿììëÿìììÿìììÿìììÿíììÿìíìÿìíìÿ–––ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ———ÿ–—–ÿ–—–ÿ–—–ÿ——–ÿ–—–ÿ–––ÿ–––ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ—––ÿ–—–ÿ––—ÿ––—ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ—––ÿ–––ÿ—––ÿ––—ÿ––—ÿ–——ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ––—ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ——–ÿ––—ÿ–––ÿ——–ÿ–––ÿ—––ÿ–––ÿ——–ÿ—–—ÿ–––ÿ–––ÿ––—ÿ–—–ÿ––—ÿ—––ÿ—––ÿ—–—ÿ–——ÿ———ÿ———ÿ˜——ÿ˜——ÿ˜——ÿ˜—˜ÿ———ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜˜˜ÿ˜˜™ÿ™™™ÿ™™˜ÿ˜™™ÿš™™ÿš™™ÿš™™ÿ™™™ÿ™ššÿšššÿ™ššÿšššÿšššÿšššÿ›ššÿšššÿš››ÿ›››ÿ›››ÿš››ÿ›œ›ÿ››œÿ›œ›ÿœ››ÿ››œÿ›››ÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœÿœœÿÿÿÿÿÿžÿžžÿžÿžžÿžžžÿžžžÿŸžžÿ—˜ªÿ\nàÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿPgçÿš›©ÿ¡  ÿ   ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¢ÿ¡¡¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ¢¢£ÿ£££ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤¤ÿ£¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¥¤¤ÿ¥¥¥ÿ¥¤¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§¨¨ÿ§§§ÿ§¨§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨¨ÿ¨¨¨ÿ©©¨ÿ©©¨ÿ©©©ÿ©©©ÿªª©ÿ©©©ÿªª©ÿ©©ªÿªªªÿª©ªÿªª©ÿªªªÿªªªÿªªªÿªªªÿ««ªÿ«ª«ÿª««ÿ««ªÿ«««ÿ«««ÿ¬«¬ÿ¬««ÿ¬¬«ÿ«¬¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬­ÿ¬¬¬ÿ¬¬­ÿ­¬¬ÿ¬¬­ÿ›¶ÿEYÍÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ=Òÿ'HÑÿ[iÍÿv~Éÿ‹Åÿ›Áÿ©ª½ÿµµºÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿº¹¹ÿº¹ºÿºº¹ÿº¹¹ÿº»ºÿºº»ÿºººÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ¼¼¼ÿ»¼¼ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼½½ÿ½½¼ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾½ÿ¾¾¾ÿ¾½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¿¾ÿ¿¿¾ÿ¿¿¾ÿ¾¾¿ÿ¿¿¿ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿¿ÿ¿À¿ÿÀ¿Àÿ¿ÀÀÿÀÀ¿ÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÁÿ¶·Âÿ¡¤Åÿ…‹ÈÿXfËÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Îÿ;Íÿ`lÍÿ¸¹ÌÿËËËÿËËÊÿËËËÿËËËÿËËÌÿÌËÌÿËËËÿËÌÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÌÌÌÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÎÎÿÎÍÍÿÍÎÎÿÎÍÎÿÍÎÎÿÎÎÎÿÏÎÎÿÎÎÎÿÎÎÏÿÎÎÎÿÏÏÏÿÎÏÏÿÏÏÏÿÏÏÎÿÏÏÏÿÏÏÏÿÐÏÐÿÏÐÏÿÏÐÐÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÑÑÿÐÑÐÿÑÐÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÑÿÒÒÑÿÑÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÓÒÿÓÒÒÿÒÒÓÿÓÒÒÿÒÒÒÿÓÓÒÿÓÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÔÔÓÿÓÓÔÿÔÔÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÕÔÿÕÔÕÿÔÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÖÿÖÕÕÿÖÕÖÿÖÖÕÿÕÖÖÿÖÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿ×ÖÖÿÖ××ÿ××Öÿ×××ÿ×××ÿ×××ÿØ××ÿ×××ÿØ××ÿר×ÿØØ×ÿØØØÿØØØÿØØØÿØØØÿÙØØÿØÙØÿÙÙØÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÙÙÚÿÚÙÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿ¬±çÿ M÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ1Yöÿ¿ÂäÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÝÜÜÿÜÝÜÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÞÿÞÝÞÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞÝÿÞÞÞÿÞÞßÿßßÞÿÞÞÞÿßÞÞÿÞÞßÿÞßÞÿßßßÿßßßÿßßßÿßßßÿààßÿßààÿààßÿàààÿàààÿààßÿàààÿáààÿààáÿáààÿàààÿáááÿáááÿáááÿáááÿáââÿáááÿáâáÿââáÿâââÿâááÿâââÿâââÿâââÿâââÿâãâÿããâÿãâãÿâââÿãããÿãããÿäãäÿäããÿäããÿäããÿääãÿäääÿäãäÿäääÿäääÿåääÿäääÿååäÿäååÿåååÿåååÿåååÿåååÿæååÿæåæÿååæÿæææÿæææÿåæåÿæåæÿæææÿççæÿçææÿæææÿæçæÿçæçÿçççÿçççÿçççÿçççÿççèÿçççÿçççÿèèèÿèèèÿèèèÿèèèÿèèèÿèèèÿèèèÿèèèÿéééÿèééÿéééÿéééÿéééÿééêÿéêêÿéééÿéêêÿêêêÿêêêÿêêêÿêêêÿêêêÿëêêÿêêëÿëëêÿëëêÿêëëÿëëëÿëëëÿëëëÿëëëÿìëìÿìììÿìììÿìëìÿìììÿìììÿìììÿìííÿìííÿ–––ÿ–—–ÿ––—ÿ–—–ÿ—––ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–——ÿ–––ÿ—–—ÿ—–—ÿ–––ÿ–—–ÿ––—ÿ––—ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ——–ÿ––—ÿ–––ÿ—––ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ—––ÿ—––ÿ–—–ÿ——–ÿ———ÿ–––ÿ—–—ÿ—––ÿ–—–ÿ—––ÿ–––ÿ––—ÿ–—–ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ–—–ÿ–—–ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ––—ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ––—ÿ–––ÿ—––ÿ––—ÿ–––ÿ–——ÿ–––ÿ–––ÿ—––ÿ–——ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–——ÿ——–ÿ—––ÿ———ÿ———ÿ———ÿ—˜—ÿ———ÿ˜——ÿ˜—˜ÿ˜˜˜ÿ˜—˜ÿ—˜˜ÿ˜˜˜ÿ˜™™ÿ™˜˜ÿ˜™™ÿ™™˜ÿ™™™ÿ™˜˜ÿ™˜™ÿ™™™ÿ™™™ÿ™™šÿ™š™ÿšš™ÿšššÿšššÿšš™ÿšššÿšššÿ›š›ÿšš›ÿ›››ÿ››šÿšššÿ›š›ÿ››šÿ›œ›ÿ››œÿ›œœÿ››œÿœ››ÿ›œ›ÿ››œÿœœœÿœœœÿœœÿœœÿœœœÿœœÿœÿœœÿÿÿžÿžÿžÿžÿžžÿžÿžžžÿžžžÿžžžÿ˜™¨ÿ]oßÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ Möÿ†ŒÁÿ ¡ ÿ¡  ÿ¡  ÿ   ÿ¡¡ ÿ ¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¢¢ÿ¢¢¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£¢¢ÿ¢£¢ÿ¢££ÿ££¢ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£¤£ÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¥ÿ¥¥¥ÿ¥¤¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ§¦§ÿ§§¦ÿ§§§ÿ§§§ÿ¨§§ÿ§§§ÿ¨§§ÿ§§¨ÿ¨¨§ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©¨¨ÿ©¨©ÿ©©©ÿ©©©ÿ©©¨ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿ©©©ÿªª©ÿªªªÿªªªÿªªªÿªªªÿ««ªÿ«ª«ÿªªªÿ«««ÿ«««ÿª««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ¬«¬ÿ¬«¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ­­­ÿ­­­ÿ­¬­ÿ­­­ÿœžµÿ@UÎÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ<Òÿ >Òÿ(HÑÿ8PÐÿBWÏÿZhÎÿ{‚Èÿ“—Äÿ¥§¿ÿ²³»ÿ··»ÿ¶¸ºÿº¹ºÿ¹ººÿºººÿºººÿºººÿ»ººÿ»»ºÿºº»ÿ»»ºÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ»»»ÿ»¼»ÿ»»»ÿ¼»»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ½½½ÿ½¼½ÿ¼¼½ÿ¼½¼ÿ½½½ÿ½½¾ÿ½½½ÿ½½½ÿ½¾½ÿ½¾½ÿ¾¾½ÿ½¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¿ÿ¿¿¾ÿ¿¾¿ÿ¿¿¾ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿ¾½Àÿ½½Àÿ´µÂÿ”˜ÆÿfqÉÿAUÌÿ(FÍÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ<ÍÿvÍÿÁÂËÿËËÊÿËËËÿËËËÿÊËËÿËËËÿËËÌÿËËËÿËËÌÿÌÌÌÿËÌËÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÍÍÍÿÍÍÌÿÌÍÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÍÍÿÍÍÎÿÎÍÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÏÎÎÿÏÏÏÿÏÎÏÿÏÏÏÿÎÏÏÿÏÏÏÿÐÏÏÿÏÐÐÿÐÏÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÑÿÑÑÐÿÑÑÐÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÒÿÑÑÑÿÑÑÑÿÑÑÒÿÑÒÑÿÒÑÒÿÒÑÒÿÒÒÒÿÒÓÒÿÓÒÓÿÓÒÒÿÒÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÓÓÓÿÔÔÓÿÓÓÓÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÔÔÕÿÔÕÔÿÔÕÔÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÖÿÖÕÕÿÕÕÕÿÕÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿ×Ö×ÿÖÖ×ÿ×××ÿ×Ö×ÿ×××ÿ×××ÿØ××ÿØØØÿØ××ÿØØØÿØØØÿØØØÿרØÿØØØÿØØØÿØØØÿØØØÿØØÙÿÙÙØÿÙÙÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÙÿÚÚÚÿÙÙÚÿÚÚÙÿÚÚÚÿÚÚÚÿÙÙÚÿzˆïÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ©¯èÿÛÚÜÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÝÝÜÿÜÜÜÿÜÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÞÝÞÿÝÞÞÿÞÞÝÿÞÞÞÿÞÞÞÿßßÞÿÞßßÿÞÞÞÿßßßÿÞßßÿßßßÿßßÞÿßßßÿßßßÿßßßÿßàßÿßààÿßààÿàßàÿàààÿàààÿàààÿáààÿááàÿáááÿàààÿáááÿáààÿáááÿáááÿâááÿââáÿââáÿáââÿâââÿâââÿâââÿâââÿâââÿâââÿâââÿâââÿãããÿããâÿãããÿãããÿäããÿãããÿãããÿäããÿäãäÿäääÿäääÿäääÿååäÿäääÿååäÿäååÿååäÿäåäÿåååÿåååÿååæÿåååÿåååÿåææÿåææÿåææÿæææÿæææÿçææÿæçæÿæææÿæççÿæçæÿæççÿçççÿçççÿçççÿçççÿçèçÿèèèÿçççÿçèçÿèèçÿèèèÿèèèÿéèèÿèéèÿèèèÿèèèÿèèéÿéèéÿéééÿéééÿéééÿéééÿééêÿéêéÿéêêÿêêéÿêêêÿêêêÿêêêÿëëêÿëêëÿëëëÿëêêÿëëëÿëëëÿëëëÿëëëÿëëëÿëëëÿììëÿìëëÿìììÿìëìÿìììÿìììÿíììÿìíìÿ——–ÿ–—–ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ––—ÿ––—ÿ——–ÿ–––ÿ–––ÿ——–ÿ–——ÿ–—–ÿ–—–ÿ–––ÿ——–ÿ———ÿ–––ÿ——–ÿ——–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ—––ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ––—ÿ–––ÿ–——ÿ–––ÿ–––ÿ–––ÿ––—ÿ—––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ—––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–—–ÿ——–ÿ–—–ÿ–—–ÿ–—–ÿ——–ÿ––—ÿ–––ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–—–ÿ–——ÿ–––ÿ–––ÿ–––ÿ—––ÿ——–ÿ——–ÿ–——ÿ———ÿ———ÿ—˜˜ÿ——˜ÿ——˜ÿ˜—˜ÿ˜˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™š™ÿš™™ÿšššÿšššÿšššÿšššÿšššÿšš›ÿšššÿ›ššÿš›šÿ›››ÿ›ššÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›œ›ÿ››œÿœ›œÿœœœÿœœœÿœœœÿœœÿÿœœœÿœœÿœÿœÿœÿÿÿžžÿžÿžžÿžžžÿžžÿžžžÿžžžÿŸžžÿ˜š©ÿ\oàÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿLeéÿžž¤ÿ¡  ÿ   ÿ¡¡¡ÿ¡  ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ¤¤£ÿ£¤£ÿ¤¤¤ÿ¤£¤ÿ£¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¥¦¦ÿ¦¦¦ÿ§¦¦ÿ§§¦ÿ§¦¦ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨©©ÿ©©©ÿ¨¨©ÿ©©©ÿ©©©ÿ©ª©ÿ©©ªÿ©©ªÿª©©ÿ©ªªÿ©©ªÿª©©ÿªªªÿªªªÿ«ªªÿªªªÿªªªÿ«««ÿ«««ÿ«««ÿ««ªÿ«««ÿ«««ÿ¬««ÿ¬«¬ÿ«¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­­¬ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ–˜¸ÿ;RÎÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ;RÏÿepËÿ³µ»ÿºººÿºº¹ÿº¹ºÿºººÿºº»ÿºººÿº»ºÿº»ºÿºººÿ»»»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ»»»ÿ»»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿ½¼½ÿ½¼½ÿ¼½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½¾ÿ½½½ÿ½½½ÿ¾½¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¿ÿ¾¿¾ÿ¿¿¾ÿ¿¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ»»Àÿ²³Âÿ©ªÃÿšÅÿ}„ÈÿTcËÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ:Íÿ*GÍÿŽ“ÌÿÇÇÊÿËÊËÿËËËÿËËÊÿËËËÿËËËÿËËËÿËËËÿËÌÌÿËËËÿËËËÿÌÌÌÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÍÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÎÎÿÎÍÍÿÎÍÎÿÍÎÎÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÏÿÎÏÎÿÏÏÎÿÏÏÏÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÐÏÐÿÏÏÐÿÐÐÐÿÏÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÐÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÑÿÑÑÑÿÑÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÓÓÓÿÒÒÓÿÓÒÓÿÓÒÓÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÔÔÔÿÔÔÓÿÔÔÔÿÔÔÔÿÕÔÔÿÔÔÔÿÕÕÔÿÕÔÕÿÔÕÔÿÔÔÔÿÕÕÕÿÕÕÕÿÕÖÕÿÕÖÕÿÖÕÖÿÖÕÖÿÕÕÖÿÕÕÕÿÖÖÖÿÕÖÖÿÖÖÖÿ×ÖÖÿÖ×ÖÿÖÖ×ÿ×××ÿ×××ÿ××Öÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿØ×ØÿØØØÿ×רÿØØØÿØØØÿØÙØÿØØØÿØØØÿØÙØÿØØØÿØÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÙÿÙÙÙÿÚÙÙÿÚÙÙÿÚÚÚÿÚÚÚÿËÍÞÿVnóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ M÷ÿŒïÿÖÖÞÿÜÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÝÝÜÿÝÝÝÿÜÝÜÿÝÝÝÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÞÝÝÿÝÞÝÿÞÝÝÿÞÞÝÿÞÞÝÿÞÞÞÿÞÞÞÿÞßÞÿÞßßÿÞÞßÿÞÞßÿßßßÿßßßÿßßßÿßßßÿààßÿàßàÿààßÿààßÿàààÿàààÿàààÿàààÿàààÿàààÿàáàÿàààÿááàÿáàáÿáááÿáááÿáááÿáááÿâáâÿâââÿâááÿâââÿâââÿâââÿâââÿâããÿâãâÿââãÿãããÿãããÿãããÿãããÿãããÿãäãÿäãäÿäããÿããäÿäääÿäääÿäääÿäääÿäääÿäååÿåååÿäååÿåäåÿäååÿåååÿåæåÿåååÿåååÿåææÿåææÿåååÿæåæÿææåÿæææÿæææÿçææÿæççÿææçÿæççÿçççÿçæçÿçççÿèççÿçççÿèççÿçèçÿèççÿèèçÿèèèÿèèçÿèèèÿèèèÿèèèÿèééÿèééÿéèéÿééèÿéééÿéééÿéééÿéééÿêêéÿééêÿêêéÿêêêÿêêêÿêêêÿêëëÿêêêÿêêêÿëêëÿëêëÿëëëÿêëëÿëëëÿëëëÿëìëÿìëìÿëëìÿìëìÿìëìÿìììÿìììÿìììÿìììÿ–––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ——–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–——ÿ––—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ—–—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ——–ÿ—––ÿ–––ÿ—––ÿ–––ÿ—–—ÿ–—–ÿ—––ÿ––—ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ––—ÿ—––ÿ—––ÿ–—–ÿ–––ÿ—––ÿ–––ÿ–——ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–——ÿ—––ÿ—––ÿ–—–ÿ––—ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ—–—ÿ–––ÿ–—–ÿ—–—ÿ—––ÿ—–—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–––ÿ—––ÿ–——ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–——ÿ–—–ÿ–—–ÿ–––ÿ——–ÿ———ÿ––—ÿ——–ÿ—–—ÿ———ÿ———ÿ———ÿ——˜ÿ˜—˜ÿ˜——ÿ—˜˜ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ™˜™ÿ™™™ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿ™ššÿšššÿ™š™ÿšššÿšššÿšššÿšššÿšš›ÿ››šÿš››ÿ››šÿ›››ÿ›››ÿ›››ÿ›œ›ÿ›œœÿ›œœÿœœ›ÿœœœÿœœœÿœœœÿœœœÿœœœÿœœœÿÿœÿÿÿÿÿžÿžÿžÿžžÿžÿžžžÿžžžÿžžžÿžžžÿ™š¨ÿdtÛÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿM÷ÿˆÇÿ   ÿ¡¡ ÿ¡¡¡ÿ ¡ ÿ  ¡ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¢ÿ¡¡¡ÿ¡¡¡ÿ¢¢¢ÿ¢¡¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£¢£ÿ£¤£ÿ£££ÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤£ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¥¥¥ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¦ÿ¦¥¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦§ÿ§¦¦ÿ§¦¦ÿ§§¦ÿ§§¦ÿ§§§ÿ§§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ¨§¨ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ©¨¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿ©ª©ÿª©©ÿ©©©ÿ©ªªÿ©ªªÿªªªÿªªªÿªªªÿª«ªÿª««ÿ«ªªÿ«««ÿ««ªÿ«««ÿ«««ÿ«««ÿ«««ÿ¬¬«ÿ¬«¬ÿ«¬«ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬­¬ÿ­­­ÿ¬¬¬ÿ­­­ÿ­­­ÿ™›·ÿ;RÎÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ<Ñÿ}„Çÿ·¸¹ÿºººÿºººÿºººÿ¹ººÿºººÿ»ººÿºººÿº»ºÿº»ºÿº»»ÿ»»»ÿ»º»ÿ»»»ÿ¼»»ÿ¼»»ÿ»¼¼ÿ¼»¼ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼¼ÿ½½½ÿ¼½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾½ÿ¾½½ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¾¾ÿ¿¾¾ÿ¿¾¾ÿ¾¾¾ÿ²³Áÿ£¤ÃÿŽ“ÆÿrzÈÿ\iÉÿJ[Êÿ/JËÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ?TÌÿ©¬ÊÿÈÈÊÿÊÊËÿÊÊËÿÊÊËÿÊËÊÿÊËËÿËËËÿËËËÿËËËÿËËËÿËËÌÿËÌÌÿËÌËÿÌËËÿËÌËÿÌÌÌÿÌÌÌÿÌÌÍÿÌÍÌÿÌÌÌÿÍÌÍÿÍÌÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÍÍÿÍÎÎÿÎÍÍÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÎÎÿÏÏÏÿÏÏÎÿÎÏÏÿÏÏÏÿÏÎÏÿÏÏÏÿÐÏÏÿÏÏÏÿÐÏÐÿÏÏÐÿÐÏÏÿÐÐÏÿÐÐÏÿÐÐÐÿÐÐÐÿÑÑÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÑÒÑÿÒÒÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÓÒÓÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÒÓÓÿÓÓÓÿÓÓÓÿÔÔÓÿÔÓÓÿÓÔÓÿÔÓÓÿÔÔÔÿÔÔÓÿÔÔÕÿÔÔÔÿÔÕÔÿÕÔÔÿÕÔÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÕÕÿÕÕÕÿÕÕÖÿÖÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿ×ÖÖÿÖÖ×ÿÖÖ×ÿ×Ö×ÿ××Öÿ×××ÿ×××ÿר×ÿØ××ÿØØ×ÿרØÿרØÿØ×ØÿØØØÿØØØÿØØØÿØØÙÿÙÙØÿØØÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÙÙÿÚÚÙÿÚÚÚÿÚÙÚÿÚÚÚÿº½ãÿ&TöÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ6[öÿÄÇáÿÜÛÜÿÛÜÛÿÜÜÜÿÛÜÛÿÜÜÜÿÜÜÜÿÜÜÝÿÜÜÝÿÜÜÝÿÜÜÝÿÝÝÜÿÜÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÞÝÝÿÞÞÞÿÞÞÝÿÞÞÞÿÝÞÞÿÞÞÞÿÞÞÞÿßÞÞÿÞßÞÿÞÞÞÿÞßÞÿÞßÞÿÞßÞÿßÞßÿßßßÿßßßÿßßßÿßßßÿßßßÿßààÿààßÿàààÿàààÿáààÿàààÿàààÿààáÿàáàÿàááÿààáÿáááÿáááÿáááÿáááÿââáÿââáÿááâÿââáÿââáÿâââÿâââÿâââÿâââÿââãÿâããÿãââÿããâÿãããÿãããÿãããÿäãäÿãääÿãääÿäãäÿäääÿäääÿäääÿåääÿäääÿäåäÿäååÿåääÿåååÿååäÿåååÿææåÿææåÿåæåÿåååÿæææÿæææÿæææÿæææÿæææÿæææÿççæÿçæçÿççæÿçæçÿçççÿçççÿçççÿçççÿèççÿçççÿèèèÿèçèÿèèèÿèèèÿèèèÿèèèÿèèéÿèéèÿéééÿèéèÿèééÿéééÿéééÿéééÿéééÿéééÿêéêÿêééÿêéêÿêêêÿêêêÿêêêÿêëëÿêêêÿëëêÿëêëÿëëëÿëëëÿëëëÿëìëÿëìëÿìëìÿìëëÿìëìÿëììÿìììÿíììÿìíìÿ—–—ÿ–––ÿ—––ÿ––—ÿ–—–ÿ—––ÿ–—–ÿ–——ÿ–––ÿ–––ÿ–––ÿ–——ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ——–ÿ—––ÿ–––ÿ———ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ–—–ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ—––ÿ––—ÿ—––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ––—ÿ–––ÿ–—–ÿ–––ÿ––—ÿ——–ÿ–––ÿ–—–ÿ—–—ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–––ÿ—–—ÿ—––ÿ–—–ÿ–——ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–——ÿ––—ÿ–——ÿ–––ÿ–––ÿ—––ÿ–––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—–—ÿ——–ÿ—––ÿ–——ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜˜˜ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜™ÿ™™™ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿš™™ÿ™™™ÿšššÿš™šÿšš™ÿšššÿšššÿšššÿšš›ÿ›ššÿ›š›ÿš››ÿ››šÿ›››ÿ›œ›ÿœ››ÿ›››ÿ›œ›ÿœœ›ÿ››œÿœœ›ÿœ›œÿœœÿœœœÿœœœÿÿœœÿœÿœœÿÿÿÿžÿžžÿžÿžžÿžžÿžžžÿžžžÿžžžÿžžŸÿšš§ÿ^pßÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿJdéÿ›§ÿ   ÿ¡¡ ÿ ¡ ÿ ¡¡ÿ¡¡ ÿ ¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¡¡¢ÿ¢¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ££¢ÿ£¢¢ÿ£¢£ÿ£¢£ÿ£££ÿ££¢ÿ£¤£ÿ£££ÿ££¤ÿ£¤¤ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¥¥¥ÿ¤¤¤ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¦ÿ¦¦¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ§§¦ÿ¦§§ÿ¦§¦ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨¨ÿ¨¨§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨¨ÿ©¨¨ÿ©©©ÿ¨¨¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿ©©©ÿªªªÿªªªÿªªªÿªªªÿ««ªÿª««ÿª«ªÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ«««ÿ«¬«ÿ««¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬­¬ÿ¬­­ÿ­­­ÿ­­­ÿ—™·ÿ>SÌÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ<Ðÿ@UÎÿ¨ª¾ÿ¹¹¹ÿ¹ººÿ¹¹ºÿ¹ººÿºººÿºººÿºººÿºººÿº»ºÿº»»ÿº»ºÿ»»»ÿ»»ºÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ¼¼¼ÿ¼»¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ»¼¼ÿµ¶¾ÿ´µ¾ÿ´¶¾ÿµ¶¾ÿµ¶¾ÿ´µ¿ÿ³´¿ÿ³´¿ÿ°±Àÿ°±Àÿ®¯Áÿª¬Áÿ £Ãÿ”˜ÄÿˆŒÆÿu|ÈÿWeÊÿ)GËÿ>Ìÿ =Ìÿ;Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ;Ìÿ`mÌÿµ¸ÉÿÊÊÊÿÉÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊËËÿËËÊÿËÊËÿËËËÿËËËÿËËËÿËËËÿËÌËÿËËÌÿËÌËÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÍÍÌÿÍÌÍÿÍÍÌÿÌÌÍÿÍÍÍÿÍÍÍÿÎÍÎÿÍÎÍÿÎÎÎÿÍÍÍÿÍÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÎÏÿÎÎÎÿÏÏÎÿÏÏÏÿÏÏÎÿÏÏÏÿÏÏÏÿÐÏÐÿÐÏÐÿÐÏÏÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÑÿÑÐÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÑÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÒÒÒÿÒÒÓÿÓÓÓÿÓÒÒÿÒÓÒÿÓÓÒÿÓÓÒÿÔÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÓÓÔÿÓÓÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÔÿÔÔÔÿÔÕÕÿÕÕÔÿÕÕÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÖÕÖÿÕÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×××ÿ×ÖÖÿ×××ÿ×××ÿ×רÿØØØÿרØÿØØØÿ×××ÿרØÿØØØÿØØØÿØØØÿØØØÿÙÙÙÿÙÙØÿØØÙÿÙÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÚÿÙÚÚÿÚÚÙÿØØÚÿ˜ ëÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ›£ëÿÜÛÛÿÜÛÛÿÛÛÜÿÛÜÛÿÜÛÜÿÜÜÜÿÜÜÜÿÝÜÜÿÜÜÜÿÜÝÝÿÝÜÜÿÜÜÜÿÜÜÝÿÝÝÝÿÝÝÜÿÝÝÝÿÝÝÝÿÝÝÞÿÝÞÝÿÞÞÞÿÝÞÝÿÞÞÞÿÞÝÞÿÞÞÞÿÞÞÞÿßÞßÿÞßÞÿÞÞÞÿÞßßÿßßßÿßßßÿßßßÿßßßÿßàßÿßàßÿààßÿßßßÿßßßÿàààÿàààÿààáÿàààÿàààÿáàáÿáàáÿáááÿáááÿáááÿáááÿáááÿáâáÿáááÿááâÿâââÿââáÿâââÿâââÿâââÿââãÿââãÿââãÿãããÿâââÿãããÿãããÿãããÿäããÿãäãÿãããÿääãÿãääÿäääÿäääÿäääÿääåÿäåäÿåääÿåäåÿååäÿååäÿåååÿåååÿæååÿæååÿæååÿæååÿæææÿææåÿæææÿæææÿæææÿæææÿææçÿææçÿçççÿçççÿçççÿçççÿèççÿèççÿççèÿçèèÿèèçÿçèèÿèççÿèèèÿèéèÿéèèÿèèéÿèééÿéééÿéèéÿéééÿéééÿéééÿéééÿéééÿéêêÿêééÿêéêÿêéêÿêêêÿêêêÿêêêÿêêêÿêêêÿëëëÿëëëÿëëêÿëëëÿëëìÿìëëÿëëëÿëëëÿìììÿìëìÿìëëÿìëìÿìììÿ—––ÿ–––ÿ—––ÿ––—ÿ––—ÿ–––ÿ——–ÿ–––ÿ–—–ÿ–—–ÿ——–ÿ–—–ÿ–—–ÿ–—–ÿ—––ÿ—––ÿ—––ÿ–—–ÿ—––ÿ––—ÿ—––ÿ—––ÿ–––ÿ––—ÿ––—ÿ—––ÿ—–—ÿ–––ÿ–––ÿ———ÿ—––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ––—ÿ———ÿ–——ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–——ÿ–––ÿ––—ÿ–—–ÿ—––ÿ———ÿ–—–ÿ—–—ÿ–——ÿ–––ÿ––—ÿ––—ÿ–––ÿ—–—ÿ––—ÿ–––ÿ—––ÿ———ÿ–––ÿ—––ÿ––—ÿ–––ÿ——–ÿ–––ÿ–––ÿ—––ÿ—––ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ——–ÿ––—ÿ–—–ÿ–—–ÿ—–—ÿ—––ÿ–—–ÿ––—ÿ–––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ———ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–——ÿ–––ÿ––—ÿ———ÿ———ÿ—–—ÿ˜——ÿ——˜ÿ——˜ÿ—˜—ÿ—˜˜ÿ˜—˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜™ÿ˜˜˜ÿ˜˜™ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿ™™šÿ™š™ÿš™šÿ™š™ÿ™ššÿšššÿšššÿšššÿšššÿš›šÿš›šÿš››ÿšš›ÿš››ÿ›š›ÿ›››ÿ››œÿ›››ÿ›œ›ÿ›œœÿœœœÿœœœÿœœœÿœœÿœœÿœœœÿœœÿœœÿœÿœÿœÿÿÿžÿžÿžÿžžžÿžžÿžžžÿžžžÿžžŸÿžžžÿ˜™¨ÿXkãÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿQõÿ†ŒÂÿ   ÿ¡ ¡ÿ¡  ÿ¡  ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¢¡ÿ¡¢¡ÿ¡¢¡ÿ¢¢¡ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢££ÿ££¢ÿ£££ÿ£££ÿ£££ÿ¤££ÿ£££ÿ££¤ÿ££¤ÿ¤¤£ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ§¦§ÿ§§¦ÿ¦§¦ÿ§¦§ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ§§§ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ¨¨¨ÿ©©¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿ©ªªÿ©©ªÿª©©ÿª©ªÿªªªÿªªªÿªªªÿª«ªÿ««ªÿ««ªÿª«ªÿªªªÿ«««ÿ¬««ÿ««¬ÿ«««ÿ«««ÿ¬«¬ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬­ÿ­­¬ÿ­­­ÿ­­­ÿ–™¸ÿ8PÍÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ;Ðÿ‡Æÿº¹¹ÿ¹¹ºÿº¹¹ÿºº¹ÿºººÿ¹¹ºÿºººÿºººÿºººÿº»ºÿºººÿ»º»ÿ»»»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»¼¼ÿ¼»¼ÿ¼»»ÿ»¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ··½ÿ|„Æÿ[gÉÿ[hÉÿ[gÉÿ[hÉÿVdÉÿP_ÊÿIZÊÿ?TËÿ7OËÿ"CÌÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:ÌÿBÌÿˆŽËÿÀÀÊÿÉÉÉÿÉÉÊÿÊÊÉÿÊÊÉÿÊÊÊÿÊÊËÿÊËÊÿÊÊËÿËÊËÿËËËÿËËËÿËËËÿËËÌÿËËËÿËËËÿÌÌÌÿÌÌÌÿËÌËÿÌËÌÿÌÌÌÿÌÌÌÿÍÌÌÿÌÍÌÿÌÍÌÿÌÌÍÿÌÍÍÿÍÌÍÿÍÌÍÿÍÍÍÿÍÍÍÿÎÎÍÿÎÎÍÿÎÎÎÿÍÎÍÿÎÎÎÿÎÎÍÿÎÎÎÿÎÎÎÿÏÏÎÿÎÏÎÿÎÎÎÿÏÏÏÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÐÐÿÏÏÏÿÏÐÏÿÐÐÐÿÐÐÏÿÐÑÐÿÑÐÐÿÐÐÑÿÐÑÐÿÐÐÑÿÑÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÑÒÿÒÑÒÿÒÒÒÿÒÑÑÿÑÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÓÿÓÒÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÔÿÔÔÓÿÔÓÔÿÔÓÔÿÔÓÔÿÔÔÓÿÔÔÔÿÓÔÔÿÔÔÔÿÕÕÔÿÔÕÕÿÕÔÔÿÕÔÔÿÕÔÔÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÖÿÕÕÕÿÕÕÖÿÕÕÖÿÕÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿ×ÖÖÿ×ÖÖÿÖÖÖÿÖÖÖÿ××Öÿ×××ÿÖ××ÿ×××ÿØ××ÿ×רÿØ×Øÿר×ÿØØØÿØØ×ÿØØ×ÿØØØÿØØÙÿÙØØÿØØØÿÙØØÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÚÙÙÿÙÙÙÿÚÙÙÿ××Ûÿ`uòÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿeyòÿÓÔÝÿÛÛÛÿÛÛÛÿÛÛÜÿÜÛÜÿÜÜÜÿÜÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÝÝÜÿÜÜÜÿÜÜÜÿÝÝÜÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÝÿÞÞÞÿÞÞÞÿßÞÞÿßÞÞÿÞÞßÿÞÞßÿßßßÿßßßÿßßßÿßßßÿßàßÿßßßÿàßàÿßßßÿàààÿßßàÿàßàÿàààÿààáÿáààÿàáàÿááàÿàááÿàááÿàààÿáááÿáááÿáááÿâáâÿâââÿâáâÿâââÿáââÿâââÿâââÿâââÿâââÿâããÿâââÿãããÿãããÿãããÿãããÿãããÿããäÿãããÿäãäÿääãÿääãÿäääÿäääÿåääÿäääÿääåÿäååÿäääÿååäÿäååÿåååÿååæÿåæåÿæåæÿåææÿæææÿæææÿæåæÿæææÿææçÿææçÿæææÿæççÿçæçÿçççÿæççÿçæçÿçççÿçèçÿçççÿçèçÿççèÿèèçÿçèèÿèèèÿèèèÿéèèÿèéèÿèèéÿèééÿéèèÿéééÿéééÿéêéÿéééÿéêêÿêééÿêééÿêéêÿêêêÿêêêÿêêêÿêêêÿêëëÿêëëÿëëëÿëëëÿëêëÿëëëÿëëëÿìëëÿëìëÿëëëÿìëìÿììëÿìëìÿìììÿìììÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ—––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ––—ÿ——–ÿ––—ÿ–—–ÿ––—ÿ–––ÿ–——ÿ——–ÿ––—ÿ–––ÿ––—ÿ–—–ÿ—––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ——–ÿ–—–ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ——–ÿ–––ÿ––—ÿ–——ÿ––—ÿ–––ÿ––—ÿ—––ÿ–——ÿ——–ÿ––—ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ———ÿ–––ÿ––—ÿ–––ÿ—––ÿ——–ÿ—––ÿ——–ÿ–––ÿ––—ÿ—–—ÿ––—ÿ––—ÿ–—–ÿ–—–ÿ—––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ––—ÿ–—–ÿ—––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ––—ÿ–––ÿ—––ÿ–––ÿ———ÿ–—–ÿ–——ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ———ÿ˜—˜ÿ—˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ™™™ÿ˜™™ÿ™™™ÿ™˜˜ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™™™ÿšš™ÿš™šÿšššÿšššÿšššÿšššÿš›šÿšššÿ›››ÿ›››ÿ›š›ÿš››ÿ›››ÿ›œ›ÿ›››ÿ›››ÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœœœÿœœÿœÿœÿœÿÿÿžžžÿžÿžžÿÿžžžÿžžÿžžžÿžžžÿžžžÿŸžžÿ•—¬ÿKdèÿM÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ\náÿžž¤ÿ   ÿ¡  ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¢¢ÿ¢¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢¢ÿ£££ÿ£¢¢ÿ£££ÿ¢££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¥ÿ¥¤¥ÿ¥¥¥ÿ¤¤¤ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¦ÿ¦¦¥ÿ¥¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦§¦ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§¨ÿ§§§ÿ¨¨§ÿ§§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ©©©ÿ¨©¨ÿ¨¨©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿ©ª©ÿ©©©ÿªª©ÿªª©ÿª©©ÿªªªÿªªªÿªª«ÿ«ª«ÿ«ªªÿª«ªÿ«««ÿ«««ÿª««ÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬«¬ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬­¬ÿ¬¬­ÿ¬¬¬ÿ­­­ÿ¬­­ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ™›¶ÿ]íÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿOfèÿšœ¨ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ  ¡ÿ¡¡ ÿ¡¡¡ÿ ¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¢¢ÿ¢¡¢ÿ¡¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ£¢£ÿ¢¢¢ÿ¢££ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ¤¤£ÿ£¤£ÿ¤¤¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¥ÿ¥¤¤ÿ¥¤¤ÿ¥¤¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¥¥ÿ¥¥¦ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ§§§ÿ¦§§ÿ¦§§ÿ§§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©©ÿ©¨¨ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿª©ªÿ©©ªÿ©ªªÿªªªÿª©ªÿªªªÿªªªÿªª«ÿ«««ÿ«ªªÿ«««ÿ«««ÿ«ª«ÿ«««ÿ«««ÿ«¬«ÿ«««ÿ¬««ÿ«««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬¬ÿ¬­¬ÿ¬­­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ®­®ÿ­­­ÿ®®­ÿ¤¥²ÿ`kÄÿ>Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ <Ìÿt|Åÿ¶¶·ÿ¸¸·ÿ·¸·ÿ·¸¸ÿ·¸·ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿº¹¹ÿºº¹ÿ¹¹¹ÿ¹ººÿºººÿºººÿºººÿºººÿºººÿºººÿ»»ºÿº»»ÿº»»ÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»¼¼ÿ»¼¼ÿ»»¼ÿ¼»»ÿ»¼¼ÿ¼¼»ÿ¼¼¼ÿ¼½¼ÿ¼½¼ÿ¼¼½ÿ½½¼ÿ¼½½ÿ¼½¼ÿµ¶¾ÿ}„Æÿ5NËÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ@TÌÿˆÊÿ»¼ÇÿÇÆÇÿÆÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÈÿÈÇÇÿÈÈÈÿÈÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÉÈÉÿÉÉÈÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÊÿÉÊÊÿÉÉÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿÊÊÊÿËÊÊÿËÊËÿËËËÿËËËÿÊËËÿËËËÿËÌËÿËËËÿËÌËÿËËÌÿÌËÌÿÌÌÌÿËÌÌÿÌËËÿÍÌÌÿÌÌÌÿÌÍÌÿÌÍÌÿÌÌÌÿÌÍÌÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÍÿÎÍÍÿÍÍÎÿÍÍÍÿÎÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÏÏÿÎÏÎÿÏÏÎÿÎÏÏÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÐÿÏÐÏÿÐÏÏÿÐÏÐÿÐÏÏÿÐÐÐÿÐÐÑÿÐÑÐÿÑÐÐÿÐÐÑÿÐÑÐÿÑÑÑÿÐÑÐÿÑÐÑÿÑÑÑÿÑÑÒÿÑÑÒÿÑÒÑÿÒÑÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÒÓÿÓÓÓÿÒÒÓÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÓÓÓÿÔÔÓÿÔÔÔÿÓÔÔÿÔÔÓÿÔÔÔÿÔÔÔÿÕÕÔÿÔÔÔÿÕÔÕÿÕÔÕÿÕÕÕÿÕÕÕÿÕÖÕÿÖÕÕÿÕÕÕÿÕÕÕÿÖÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ×Öÿ×ÖÖÿ××Öÿ××Öÿ×××ÿ××Öÿ×××ÿ×××ÿ×××ÿ×××ÿØØØÿØØØÿØØ×ÿØØØÿØ×ØÿØØØÿÙØØÿØÙØÿ¥éÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ.Xöÿ¿ÂáÿÙÙÙÿÙÙÙÿÙÙÚÿÚÚÙÿÚÚÚÿÚÚÚÿÛÚÚÿÛÚÚÿÚÛÛÿÚÚÚÿÛÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÛÜÿÛÛÜÿÜÛÜÿÜÛÜÿÜÜÜÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÜÝÝÿÜÝÝÿÜÝÝÿÜÝÝÿÝÝÝÿÞÝÝÿÝÝÞÿÝÞÞÿÞÞÝÿÞÞÞÿÞÝÞÿÞÞÝÿÞÞÞÿÞÞÞÿÞÞßÿÞÞÞÿÞÞÞÿÞßßÿßßßÿÞÞßÿßßßÿßßßÿßßßÿßßàÿàßßÿàßßÿààßÿßàßÿàààÿàààÿàààÿààáÿáààÿáááÿáááÿááàÿáààÿáááÿáááÿââáÿáááÿâââÿááâÿâââÿâââÿâââÿãââÿãââÿââãÿâããÿããâÿãããÿããâÿãããÿããäÿãããÿãããÿääãÿäãäÿäääÿäãäÿäääÿäääÿäääÿäääÿåååÿääåÿäååÿåååÿåååÿåååÿåæåÿåååÿåæåÿååæÿåååÿåææÿæææÿæææÿæææÿçççÿææçÿçææÿçææÿçææÿçççÿçççÿçççÿçèçÿèèçÿççèÿçèèÿèèçÿèèèÿèèèÿèèèÿèèéÿèèèÿéèèÿèèéÿéèèÿéééÿéééÿéééÿéêéÿéééÿêéêÿééêÿêêêÿééêÿêêêÿêêêÿêêêÿëêêÿêëêÿëëëÿêëëÿëëëÿëëëÿëëëÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ––—ÿ——–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ—––ÿ–—–ÿ——–ÿ—––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—–—ÿ––—ÿ––—ÿ–——ÿ–—–ÿ–––ÿ––—ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—–—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ––—ÿ–——ÿ––—ÿ–––ÿ—––ÿ——–ÿ–––ÿ——–ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ———ÿ–––ÿ–––ÿ–—–ÿ–––ÿ—––ÿ––—ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜˜˜ÿ—˜˜ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™™ÿ˜˜˜ÿ˜˜™ÿ˜™˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™š™ÿš™™ÿ™š™ÿšššÿš™™ÿšššÿš™šÿšššÿšššÿšš›ÿ›š›ÿ››šÿ››šÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ››œÿœœœÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœœÿœœœÿœÿœÿœÿÿÿÿžÿžžÿžžÿžžÿžÿžžžÿžžžÿžŸžÿžŸŸÿžžŸÿŸŸŸÿŒ¹ÿ5ZðÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ&Sóÿ’·ÿ   ÿ   ÿ   ÿ  ¡ÿ ¡ ÿ¡¡ ÿ ¡ ÿ¡ ¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¢¢¢ÿ¢¢¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢£ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ££¤ÿ£¤¤ÿ¤¤¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ§¦¦ÿ¦¦¦ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§§ÿ§¨¨ÿ¨¨§ÿ§¨¨ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ¨¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©©©ÿª©ªÿª©©ÿª©ªÿ©©ªÿª©ªÿªªªÿªªªÿª«ªÿª«ªÿª««ÿ«ª«ÿ«ª«ÿ«««ÿ««ªÿ«««ÿ«««ÿ«¬«ÿ«¬¬ÿ¬«¬ÿ¬««ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬­­ÿ­­­ÿ­­­ÿ­­¬ÿ­­­ÿ®®­ÿ­­®ÿ®®®ÿ®®­ÿ©ª°ÿ{¿ÿ <Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ;ÌÿktÆÿ±²¹ÿ·¸·ÿ¸··ÿ···ÿ·¸·ÿ·¸¸ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¸¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºº¹ÿº¹ºÿºººÿºººÿºººÿºººÿº»ºÿ»»ºÿ»»ºÿ»»»ÿ»»»ÿ»º»ÿ»»»ÿ»¼¼ÿ¼¼¼ÿ»»»ÿ»»¼ÿ»»»ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ½¼¼ÿ½¼½ÿ¼½½ÿ½½¼ÿ½½½ÿ¼¼½ÿ¥§ÁÿcnÈÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ-IÌÿˆŽÉÿ³´ÇÿÅÅÆÿÆÆÆÿÆÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÈÈÇÿÇÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÉÿÊÉÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿËÊËÿÊÊÊÿËÊËÿËËËÿËËËÿËÊËÿËËËÿËËËÿÌËËÿËÌËÿËÌËÿÌËÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÍÌÿÍÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÍÎÿÎÎÎÿÍÎÎÿÎÍÎÿÎÍÍÿÎÎÎÿÏÎÎÿÏÎÎÿÏÏÎÿÏÏÎÿÎÎÏÿÏÏÏÿÎÏÏÿÏÏÏÿÏÐÏÿÏÏÐÿÏÏÏÿÐÏÏÿÐÏÐÿÐÐÐÿÐÐÏÿÐÐÐÿÐÑÐÿÑÐÑÿÑÐÑÿÐÐÐÿÐÑÐÿÑÐÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÑÒÿÒÒÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÒÓÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÔÔÔÿÔÔÓÿÔÔÓÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÕÿÔÔÔÿÔÕÕÿÔÕÕÿÔÕÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÖÿÖÖÕÿÖÖÕÿÖÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿÖ×Öÿ××Öÿ×××ÿ××Öÿ×Ö×ÿ×××ÿ×××ÿØ××ÿØ××ÿרØÿØ×Øÿ×רÿØ×ØÿØØØÿØØØÿÙÙØÿ}ŠîÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿ—Ÿêÿ×ÙÚÿÙÚÚÿÙÚÙÿÚÙÙÿÚÚÚÿÚÚÚÿÚÙÙÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÚÿÚÛÛÿÚÚÚÿÛÛÚÿÛÛÛÿÛÛÛÿÜÛÜÿÛÛÛÿÛÛÛÿÛÜÛÿÜÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÜÜÝÿÜÜÜÿÜÝÝÿÜÜÝÿÜÜÝÿÜÝÝÿÝÞÝÿÝÝÝÿÞÝÝÿÞÝÞÿÝÝÞÿÞÞÞÿÞÝÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞßÿßßÞÿßßßÿßßßÿßßßÿßßßÿßààÿàßßÿßàßÿßßßÿßààÿàààÿàààÿàààÿàààÿàááÿáààÿááàÿáááÿáááÿáááÿáááÿáááÿáááÿâááÿâââÿâáâÿááâÿâââÿâââÿâââÿâââÿâââÿããâÿââãÿãããÿâããÿãããÿãããÿãääÿããäÿäãäÿäãäÿãääÿäääÿäääÿäääÿåääÿåääÿäååÿåäåÿäååÿåäåÿåååÿåååÿåååÿæååÿåæåÿåææÿæææÿæææÿæææÿæææÿæææÿææçÿçæçÿææçÿçççÿççæÿçççÿçççÿçèèÿçèçÿçèèÿçèèÿèèçÿçèèÿçççÿèèèÿéèéÿèèèÿèèèÿéèèÿéèéÿéééÿèééÿéééÿéééÿéééÿéêéÿêêéÿêêêÿêééÿêêéÿêêêÿêêêÿêêêÿêêêÿêëëÿêêêÿëëëÿëëëÿëëëÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ––—ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ——–ÿ–—–ÿ––—ÿ––—ÿ–––ÿ–—–ÿ–——ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ––—ÿ—––ÿ———ÿ—––ÿ–—–ÿ–—–ÿ–—–ÿ——–ÿ—––ÿ––—ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–——ÿ—––ÿ––—ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ——–ÿ——–ÿ––—ÿ–––ÿ——–ÿ–––ÿ—––ÿ–––ÿ—–—ÿ——–ÿ—––ÿ––—ÿ–——ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–——ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ—––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ———ÿ––—ÿ–––ÿ—––ÿ—––ÿ———ÿ———ÿ——˜ÿ———ÿ˜—˜ÿ———ÿ˜˜˜ÿ˜˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ˜™™ÿ˜™™ÿ˜˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿšš™ÿ™™šÿ™š™ÿšššÿšš™ÿš™šÿšššÿš›šÿšššÿšš›ÿ›››ÿ›››ÿ›š›ÿ›››ÿ›››ÿ›››ÿœ››ÿœ›œÿœœ›ÿ››œÿœœœÿœ›œÿœœœÿœœÿœœœÿœœœÿœœœÿœœÿÿœÿÿžÿžÿžžÿžžÿžžÿžÿžžžÿžžžÿžžŸÿžŸŸÿžžŸÿžžžÿŸŸŸÿ‡½ÿ)TóÿL÷ÿL÷ÿL÷ÿL÷ÿL÷ÿxÏÿŸ  ÿ   ÿ  Ÿÿ   ÿ   ÿ¡  ÿ ¡¡ÿ¡  ÿ¡¡ ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ¢¢¢ÿ£¢£ÿ£¢¢ÿ¢££ÿ¢£¢ÿ£££ÿ£££ÿ££¤ÿ£££ÿ£££ÿ¤¤¤ÿ¤£¤ÿ¤£¤ÿ£££ÿ¤¤£ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¤¤ÿ¥¤¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¥¦ÿ¥¥¥ÿ¦¦¦ÿ¦¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ§¦¦ÿ§§§ÿ§¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§¨ÿ§§¨ÿ¨§§ÿ¨§§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ©©¨ÿ©¨¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿ©ª©ÿª©©ÿ©©©ÿªª©ÿªªªÿªª©ÿªªªÿªªªÿªªªÿª««ÿ«««ÿ«ª«ÿªª«ÿ«««ÿ«««ÿ«««ÿ¬««ÿ¬«¬ÿ«¬«ÿ«««ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬­­ÿ­¬¬ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ®­­ÿ­®­ÿ®­­ÿ®®®ÿ­­­ÿ”¹ÿÌÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ;Ìÿ:PÌÿzÊÿ¸¹ÇÿÅÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÇÆÆÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÈÇÿÇÈÇÿÈÇÇÿÈÇÈÿÈÈÈÿÈÇÈÿÈÈÈÿÉÈÈÿÈÈÈÿÉÈÈÿÉÈÉÿÈÉÈÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÉÊÿÉÉÉÿÊÊÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿÊËÊÿËËÊÿÊËËÿËËËÿËËÊÿËÊËÿËËËÿÌÌËÿËÌËÿÌËÌÿËÌËÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÌÿÍÍÍÿÍÍÌÿÍÌÌÿÍÍÍÿÍÌÍÿÎÍÍÿÍÍÍÿÍÍÍÿÎÎÍÿÎÍÎÿÎÎÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÏÿÏÏÎÿÏÏÏÿÎÎÏÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÐÏÐÿÐÏÏÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÐÿÑÐÐÿÑÑÑÿÑÐÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÒÑÑÿÑÑÑÿÒÒÑÿÒÑÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÓÒÿÓÒÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÔÔÿÔÓÔÿÓÔÓÿÔÓÔÿÓÔÓÿÔÔÔÿÔÔÕÿÔÔÕÿÔÔÔÿÔÕÕÿÔÕÕÿÔÕÕÿÕÕÕÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÖÿÖÕÖÿÖÖÕÿÕÕÖÿÖÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖÖ×ÿ××Öÿ××Öÿ×××ÿ×Ö×ÿ×××ÿ×××ÿרØÿ×××ÿØ×ØÿØØØÿ×××ÿרØÿØØØÿNhôÿL÷ÿL÷ÿL÷ÿL÷ÿ[róÿËÍÞÿÙÙÙÿÙÚÙÿÙÙÙÿÚÙÙÿÙÙÚÿÚÚÚÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÚÛÚÿÚÚÚÿÛÛÚÿÛÛÛÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÜÿÜÜÜÿÜÛÜÿÜÛÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÜÜÜÿÜÜÜÿÝÝÝÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÝÿÝÞÞÿÞÝÝÿÞÞÝÿÞÞÞÿÞÞÞÿÞßÞÿÞßßÿÞßÞÿÞßßÿÞÞÞÿßßßÿßÞßÿßßßÿßßßÿßàßÿßàßÿàààÿàßàÿßàßÿàßàÿàààÿàààÿàáàÿàààÿààáÿáááÿáààÿáááÿáááÿáááÿáááÿâááÿáááÿâááÿâââÿâââÿâââÿâââÿââãÿããâÿããâÿããâÿãâãÿãââÿãããÿãããÿãããÿãããÿäããÿäããÿãäãÿäããÿääãÿäääÿäääÿääåÿåääÿååäÿääåÿåäåÿåääÿååäÿåååÿåååÿåååÿæååÿåææÿæææÿæææÿæææÿçææÿææçÿæææÿçæçÿçççÿçççÿçççÿçççÿèççÿèççÿèççÿççèÿçèèÿççèÿçèèÿèèèÿèèèÿèéèÿèéèÿèèèÿéèèÿéèéÿèèéÿéééÿéééÿééêÿéééÿéêêÿéééÿêêêÿêêéÿêéêÿêêêÿêêêÿêêëÿêêëÿêêêÿêëêÿëëêÿêëëÿ——–ÿ–––ÿ–––ÿ—––ÿ––—ÿ——–ÿ–——ÿ——–ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ––—ÿ––—ÿ––—ÿ——–ÿ––—ÿ–—–ÿ––—ÿ–—–ÿ––—ÿ–––ÿ—–—ÿ—–—ÿ–––ÿ–––ÿ—––ÿ—–—ÿ—––ÿ–——ÿ–––ÿ–––ÿ———ÿ––—ÿ–——ÿ––—ÿ–––ÿ—–—ÿ––—ÿ––—ÿ–––ÿ—––ÿ–––ÿ–——ÿ—––ÿ——–ÿ–––ÿ–—–ÿ–––ÿ––—ÿ—––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ—––ÿ—––ÿ––—ÿ—––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ—––ÿ–––ÿ—––ÿ––—ÿ—–—ÿ–––ÿ––—ÿ–—–ÿ–––ÿ–——ÿ–––ÿ—––ÿ–——ÿ—–—ÿ—––ÿ–––ÿ—–—ÿ–——ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ—–—ÿ—–—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–——ÿ——–ÿ––—ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ˜˜—ÿ˜—˜ÿ˜—˜ÿ˜˜—ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ™™˜ÿ™˜˜ÿ™™™ÿ™™™ÿ™™™ÿš™šÿ™š™ÿ™ššÿš™šÿšššÿšššÿšššÿšššÿšš›ÿšš›ÿ›š›ÿš››ÿ›››ÿš››ÿ›š›ÿ›››ÿ››œÿ›œ›ÿ›œ›ÿœ››ÿœ›œÿ›œœÿœœ›ÿœœœÿœœœÿœœœÿœœÿœÿœœÿÿÿÿÿÿÿžžžÿžžÿžžÿžžžÿžžÿžžžÿŸžžÿžžžÿžŸžÿŸŸŸÿ„‰Ãÿ+UòÿL÷ÿL÷ÿL÷ÿL÷ÿNfçÿžŸ¡ÿŸ  ÿ   ÿ   ÿ   ÿ   ÿ¡¡ ÿ  ¡ÿ¡  ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¢¡ÿ¢¡¢ÿ¢¡¢ÿ¡¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ££¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ££¢ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤£¤ÿ¤¤£ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿ¥¤¥ÿ¤¤¤ÿ¤¥¥ÿ¤¥¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¥¦ÿ¥¥¦ÿ¥¥¦ÿ¥¥¥ÿ¦¦¥ÿ¥¥¦ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§¦ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨¨¨ÿ§§§ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªªªÿªªªÿ©ªªÿªªªÿªªªÿªªªÿªªªÿªªªÿªª«ÿ««ªÿª««ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬¬«ÿ¬¬¬ÿ¬«¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ¬¬­ÿ¬­­ÿ­­­ÿ¬¬­ÿ­­­ÿ­­­ÿ®­®ÿ­­­ÿ­®­ÿ­®®ÿ­®­ÿ®®®ÿž ´ÿdnÄÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:ÌÿdnÇÿ®¯¸ÿ¶¶¶ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ···ÿ·¸·ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¹ÿ¸¹¸ÿ¸¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿºººÿ¹ººÿºº¹ÿºººÿºººÿºººÿ»ººÿºº»ÿº»»ÿ»»»ÿº»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼¼»ÿ¼¼¼ÿ¼»»ÿ¼¼¼ÿ¼¼»ÿ¼»¼ÿ¼¼¼ÿ¼¼½ÿ½¼¼ÿ¼¼¼ÿ¼¼½ÿ½¼½ÿ¼½½ÿ½½½ÿ½½½ÿ²³¿ÿŒÅÿK\Êÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:ÌÿEXËÿŠÉÿ´´ÇÿÆÆÆÿÆÆÆÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÇÆÆÿÇÆÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÉÿÉÈÉÿÈÉÈÿÉÈÈÿÉÈÉÿÉÉÉÿÉÉÉÿÊÉÊÿÉÊÉÿÊÉÊÿÉÉÉÿÉÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËËÿËËÊÿËËËÿÌËËÿËËËÿÌËÌÿÌËÌÿËËËÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÍÿÌÌÌÿÍÍÌÿÍÍÍÿÍÍÌÿÍÍÍÿÍÎÍÿÍÍÍÿÎÍÎÿÎÍÍÿÍÍÎÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÏÎÎÿÎÎÎÿÎÏÏÿÏÎÎÿÎÏÏÿÏÏÎÿÏÐÏÿÏÏÏÿÐÐÏÿÐÏÏÿÐÐÐÿÏÏÐÿÐÏÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÐÿÑÑÐÿÑÑÐÿÐÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÒÒÒÿÒÒÑÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÓÒÿÓÓÓÿÓÓÒÿÓÓÒÿÓÒÓÿÓÓÓÿÓÓÓÿÔÓÓÿÓÓÓÿÓÓÔÿÔÓÓÿÔÔÓÿÔÓÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÕÔÿÔÕÔÿÔÔÔÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÖÖÖÿÖÕÕÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿ×Ö×ÿÖÖ×ÿÖ××ÿ×××ÿ×Ö×ÿ×××ÿ×××ÿ×××ÿ×××ÿØØ×ÿרØÿרØÿØØØÿÐÐÛÿ.WöÿL÷ÿL÷ÿL÷ÿL÷ÿ¯µåÿØÙØÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÙÚÚÿÙÚÚÿÚÙÙÿÚÙÚÿÚÙÚÿÚÚÚÿÚÛÛÿÛÚÚÿÚÚÛÿÚÚÚÿÛÛÚÿÚÚÛÿÚÛÛÿÛÛÛÿÛÜÛÿÛÛÜÿÜÜÜÿÛÛÜÿÜÜÜÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÝÝÝÿÝÝÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÞÞÿÝÝÝÿÝÝÝÿÝÝÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßßÿÞßßÿÞÞßÿßßßÿßßßÿßßßÿßßàÿàßßÿßßàÿàßßÿàßßÿàßàÿàààÿàààÿàààÿàáàÿáààÿáààÿàááÿáááÿáááÿáááÿâááÿâââÿáááÿâââÿáááÿâââÿâââÿâââÿâââÿãââÿâââÿããâÿãããÿããâÿããâÿãããÿãããÿãääÿãããÿäããÿãäãÿãäãÿäääÿäääÿäääÿäåäÿååäÿååäÿåääÿåååÿåååÿåååÿåååÿåååÿååæÿåæåÿåæåÿæææÿææåÿæææÿæææÿæææÿæææÿçææÿæææÿççæÿçççÿæææÿçççÿçççÿçèçÿçççÿèèèÿèèèÿèèçÿçèèÿèèèÿèèèÿèèèÿèèéÿèèèÿèèèÿéééÿéééÿéééÿéééÿééêÿéééÿéêéÿêêêÿêéêÿêéêÿêêêÿêêêÿêêëÿêêêÿëêêÿëêëÿêëêÿëêëÿ–––ÿ—––ÿ–——ÿ–––ÿ——–ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ———ÿ—––ÿ–—–ÿ——–ÿ–––ÿ——–ÿ–—–ÿ—–—ÿ––—ÿ–——ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ——–ÿ–––ÿ——–ÿ–––ÿ—–—ÿ–––ÿ–——ÿ——–ÿ—–—ÿ––—ÿ–––ÿ––—ÿ—––ÿ—––ÿ––—ÿ–––ÿ––—ÿ––—ÿ–——ÿ–––ÿ—––ÿ–––ÿ––—ÿ–—–ÿ——–ÿ––—ÿ––—ÿ—––ÿ–––ÿ––—ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ—–—ÿ—–—ÿ–––ÿ———ÿ––—ÿ––—ÿ–—–ÿ—–—ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–—–ÿ——–ÿ——–ÿ–—–ÿ—––ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ———ÿ—˜—ÿ——˜ÿ˜—˜ÿ˜˜—ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™™ÿ˜™˜ÿ˜™˜ÿ˜™˜ÿ™™™ÿ™™˜ÿ™™˜ÿ™™™ÿšš™ÿ™š™ÿšš™ÿš™šÿšššÿšššÿšššÿšššÿšššÿšššÿš›šÿ›š›ÿ›››ÿš››ÿ›››ÿ›››ÿ›››ÿ››œÿ›››ÿœœœÿœ››ÿ››œÿœœœÿœœœÿœœœÿœÿœœÿœÿœœÿœÿÿÿÿÿÿžžÿžžÿžžÿžžÿžžÿžžžÿžžžÿžžžÿŸžžÿŸžžÿž ÿ|„ÊÿQôÿL÷ÿL÷ÿL÷ÿ Nöÿ–—¯ÿŸ  ÿ ŸŸÿ   ÿ   ÿ   ÿ¡ ¡ÿ ¡ ÿ¡¡ ÿ¡  ÿ¡  ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¡ÿ¡¢¡ÿ¢¢¡ÿ¢¡¡ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ££¢ÿ£¢¢ÿ£¢£ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ££¤ÿ££¤ÿ£¤¤ÿ¤¤¤ÿ£¤£ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¤¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¤¥ÿ¦¦¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¥ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ§¦§ÿ¦¦§ÿ§¦¦ÿ§¦§ÿ§§§ÿ¦§§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨¨ÿ¨¨§ÿ§§¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ©©©ÿ¨©¨ÿ©©©ÿ¨©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿª©ªÿª©ªÿ©ªªÿªªªÿªªªÿªªªÿ««ªÿªª«ÿ««ªÿ«««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ««¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬­­ÿ¬¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ­®­ÿ­®­ÿ©©°ÿ~„¾ÿ(FËÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ;Ìÿ\hÇÿ­¯¸ÿ¶··ÿ¶·¶ÿ¶··ÿ¶··ÿ···ÿ···ÿ·¸·ÿ···ÿ···ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¹¹ÿ¸¸¸ÿ¹¹¸ÿ¹¹¹ÿ¹¸¸ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿ¹ººÿ¹º¹ÿ¹¹ºÿ¹¹¹ÿºººÿºººÿºººÿºººÿºº»ÿ»º»ÿº»ºÿ»»ºÿº»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»»ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ»¼¼ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼½½ÿ½¼¼ÿ¼¼¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¼¼½ÿµµ¾ÿ‹Åÿ9PËÿ>Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:ÌÿBÌÿK\Ëÿ™Èÿ¼¼ÆÿÃÃÅÿÅÅÅÿÅÅÆÿÆÅÆÿÆÅÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÆÿÆÆÇÿÆÇÆÿÇÇÇÿÇÇÇÿÇÇÆÿÇÇÇÿÈÇÇÿÈÇÇÿÇÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÉÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÉÉÉÿÉÉÉÿÈÉÉÿÉÉÉÿÊÉÉÿÊÉÉÿÊÊÉÿÉÉÉÿÊÊÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊËËÿËËËÿËËÊÿÊÊÊÿÊÊÊÿÊËËÿËËËÿËËËÿËËÌÿÌËËÿÌËÌÿËËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÌÌÌÿÍÌÌÿÍÍÌÿÍÍÌÿÍÍÍÿÍÍÍÿÎÍÍÿÍÍÎÿÎÎÎÿÎÍÍÿÍÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÏÏÿÏÏÏÿÎÏÏÿÏÎÏÿÏÏÏÿÏÏÏÿÏÏÐÿÐÏÐÿÐÏÐÿÏÐÐÿÐÐÐÿÐÏÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÐÑÿÑÐÐÿÐÐÑÿÑÑÐÿÑÑÑÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÒÿÒÑÑÿÑÒÑÿÒÒÑÿÑÑÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÓÒÿÒÒÒÿÓÒÓÿÓÒÒÿÒÒÓÿÓÓÒÿÒÓÓÿÓÓÓÿÔÓÓÿÔÓÓÿÓÔÓÿÔÔÔÿÔÔÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÖÿÖÖÕÿÕÕÕÿÖÕÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖ×ÖÿÖÖÖÿ×××ÿÖÖ×ÿ×××ÿ×Ö×ÿÖ××ÿØ××ÿ×רÿ×××ÿר×ÿØØ×ÿרØÿØØ×ÿÃÅßÿ(UöÿL÷ÿL÷ÿL÷ÿŠ”ìÿ××ÚÿØÙÙÿÙÙÙÿÙØÙÿÙÙÙÿÙÙÙÿÚÙÚÿÙÚÚÿÙÚÚÿÙÚÚÿÚÚÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÛÿÚÚÛÿÛÚÛÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÜÜÜÿÛÛÛÿÜÜÜÿÜÜÜÿÜÜÛÿÜÜÜÿÝÜÝÿÜÝÜÿÝÜÜÿÝÜÜÿÝÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÞÝÞÿÞÝÝÿÝÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞßÿßßÞÿÞßÞÿßÞßÿßßßÿßßßÿßßßÿàßßÿàßßÿßßßÿàààÿßßàÿàààÿàààÿàààÿààáÿàààÿàááÿááàÿààáÿàááÿáááÿáááÿáâáÿááâÿáááÿâááÿâââÿáââÿâââÿâáâÿâããÿâââÿââãÿâãâÿãââÿãããÿãããÿãããÿãããÿäããÿããäÿãããÿãääÿäääÿäãäÿäääÿäääÿåääÿääåÿäååÿåäåÿåååÿåååÿåååÿåååÿåååÿåååÿåæåÿåææÿææåÿæææÿæææÿæææÿææçÿæææÿæççÿçæçÿæçæÿçæçÿçççÿçççÿçççÿçèçÿççèÿèççÿèçèÿèèçÿèççÿèçèÿèèèÿèèèÿéèéÿéééÿèéèÿéééÿèéèÿéééÿéééÿêêêÿéééÿêéêÿééêÿéêêÿêêêÿêêêÿêêêÿêêêÿêëêÿêêêÿëêëÿêëêÿ–—–ÿ––—ÿ–––ÿ—––ÿ–—–ÿ–––ÿ—––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ———ÿ—––ÿ––—ÿ–––ÿ–—–ÿ–—–ÿ—––ÿ–—–ÿ–––ÿ—––ÿ—––ÿ–––ÿ——–ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ–——ÿ–––ÿ–––ÿ–––ÿ–——ÿ—––ÿ–—–ÿ––—ÿ–––ÿ—––ÿ––—ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–——ÿ—–—ÿ———ÿ–—–ÿ–––ÿ—––ÿ–––ÿ–––ÿ——–ÿ––—ÿ–——ÿ–——ÿ––—ÿ–—–ÿ—–—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ——–ÿ–––ÿ——–ÿ––—ÿ–—–ÿ–––ÿ–––ÿ——–ÿ–––ÿ–––ÿ–——ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–——ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ———ÿ——˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ™˜™ÿ™˜˜ÿ˜™˜ÿ™™™ÿ™š™ÿ™™™ÿš™™ÿšš™ÿ™™™ÿšššÿšššÿšššÿšš›ÿšššÿšš›ÿ›š›ÿ›ššÿ››šÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœœÿœ›œÿœœ›ÿ›œ›ÿ›œœÿœœ›ÿœœœÿœÿœœœÿœœÿœœÿœÿœÿœÿÿžÿÿÿžžžÿžžÿžÿžžžÿžžžÿŸžžÿžžžÿŸŸžÿžŸŸÿŸŸŸÿ{„Ëÿ"RôÿL÷ÿL÷ÿL÷ÿ}…Éÿ Ÿ ÿŸ Ÿÿ  ŸÿŸ  ÿ   ÿ   ÿ¡  ÿ ¡¡ÿ¡ ¡ÿ¡ ¡ÿ ¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¢ÿ¢¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢£¢ÿ££¢ÿ£¢¢ÿ£££ÿ¢££ÿ£££ÿ¤£¤ÿ£¤£ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¤¤ÿ¥¤¥ÿ¥¥¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¥¥¦ÿ¥¥¦ÿ¦¦¦ÿ¦¦¦ÿ¥¦¦ÿ¦¦¦ÿ¦¦§ÿ¦§§ÿ¦§§ÿ¦¦§ÿ§§§ÿ¦§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§§ÿ§¨§ÿ§¨¨ÿ¨§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©©ÿ¨¨©ÿ¨©©ÿ¨¨©ÿ©©©ÿ¨©©ÿ©©©ÿ©©©ÿ©ª©ÿª©ªÿ©©©ÿªªªÿªª©ÿªªªÿªªªÿªªªÿ«ª«ÿªª«ÿ«ªªÿ«ª«ÿ««ªÿ«««ÿª««ÿ«««ÿ«¬«ÿ«««ÿ¬««ÿ¬««ÿ«««ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ­¬­ÿ¬­¬ÿ¬­­ÿ­­­ÿ¬¬­ÿ­¬­ÿ­­­ÿ®­­ÿ­­­ÿ­®­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ”—¸ÿSaÆÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ=ÌÿjtÆÿ¯°¸ÿ·¶¶ÿ¶¶·ÿ·¶¶ÿ¶·¶ÿ···ÿ·¶¶ÿ···ÿ···ÿ·¸¸ÿ¸¸·ÿ¸·¸ÿ¸··ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¹¸¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹º¹ÿºº¹ÿ¹¹¹ÿº¹¹ÿºººÿºººÿº»ºÿºººÿºººÿ»ººÿº»»ÿ»º»ÿ»»»ÿ»º»ÿ»»»ÿ¼»»ÿ»»»ÿ»»»ÿ¼»»ÿ»¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½½ÿ¼½½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ³µÀÿ‹Åÿ[hÉÿ>Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:ÌÿBVËÿu~Êÿ¢¥ÇÿÂÂÅÿÅÅÅÿÅÆÅÿÅÆÆÿÅÆÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÇÇÿÆÆÇÿÆÆÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÇÈÈÿÈÈÈÿÇÇÈÿÈÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÉÿÈÈÈÿÉÉÈÿÈÉÉÿÉÈÈÿÉÈÉÿÉÉÉÿÉÉÉÿÊÊÉÿÉÉÉÿÉÊÉÿÉÉÊÿÉÊÉÿÉÊÊÿÊÊÉÿÊÊÊÿÊÊÊÿËÊÊÿËÊÊÿËËËÿÊÊÊÿËËËÿËËÊÿËËËÿËËËÿËÌÌÿËËËÿÌËËÿËËÌÿÌÌÌÿÌËÌÿÌÌÌÿÌÍÌÿÌÌÌÿÍÌÍÿÍÍÌÿÍÌÌÿÍÌÌÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÍÎÍÿÎÎÎÿÎÎÍÿÎÎÎÿÎÏÎÿÏÎÎÿÎÏÏÿÎÎÏÿÎÎÎÿÏÎÏÿÎÎÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÏÏÿÏÐÏÿÐÏÐÿÐÏÏÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÐÿÐÑÐÿÑÑÐÿÑÐÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÑÿÒÒÒÿÒÒÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÒÓÒÿÓÓÓÿÓÓÓÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÔÓÔÿÓÔÔÿÓÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÕÖÿÖÕÖÿÖÖÕÿÕÕÕÿÕÕÖÿÖÖÖÿÖÖÖÿÖ×Öÿ×Ö×ÿ×ÖÖÿÖ×Öÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿר×ÿØØØÿØØØÿØØØÿµºâÿ"SöÿL÷ÿL÷ÿXoóÿÊÌÝÿÙÙØÿÙÙØÿØÙÙÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÚÿÚÚÙÿÙÙÙÿÙÙÙÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÛÛÚÿÚÚÚÿÚÛÚÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÛÛÛÿÜÜÜÿÜÜÜÿÜÜÛÿÜÜÜÿÜÜÝÿÜÜÝÿÜÝÜÿÜÜÜÿÝÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÞÝÿÞÞÞÿÞÞÝÿÞÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞßÿÞßÞÿßßßÿÞßßÿÞßßÿßßßÿßàßÿßàßÿßßßÿàßàÿßàßÿßààÿàààÿàààÿàààÿàáàÿàààÿàààÿáàáÿààáÿáàáÿáááÿáááÿááâÿáââÿâááÿááâÿââáÿâââÿâââÿâââÿâââÿâââÿãââÿâãâÿãâãÿãâãÿãããÿãããÿãäãÿãäãÿãäãÿäãäÿäãäÿãääÿäääÿäääÿääåÿäääÿåååÿäåäÿäääÿåååÿååäÿåååÿåæåÿåååÿååæÿåæåÿåååÿåæåÿæææÿæææÿæææÿæææÿæçæÿçææÿæææÿçæçÿçççÿçççÿçççÿçççÿçççÿèèçÿèèèÿèèçÿçèèÿèèèÿèèèÿèèèÿéèèÿéèèÿèéèÿéèéÿéèéÿééèÿéèéÿéééÿéééÿêêêÿêééÿééêÿêêéÿêêêÿêêêÿëêêÿêëëÿêêêÿëëëÿëêêÿ–––ÿ———ÿ——–ÿ——–ÿ–—–ÿ——–ÿ—––ÿ–––ÿ—––ÿ–––ÿ——–ÿ–––ÿ–——ÿ—––ÿ—––ÿ––—ÿ–—–ÿ–—–ÿ–—–ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–——ÿ–––ÿ–—–ÿ—––ÿ–––ÿ––—ÿ–––ÿ––—ÿ–——ÿ–—–ÿ—––ÿ—––ÿ–––ÿ––—ÿ–—–ÿ—––ÿ—––ÿ–––ÿ—––ÿ––—ÿ––—ÿ—––ÿ–––ÿ—––ÿ––—ÿ–—–ÿ——–ÿ––—ÿ–––ÿ––—ÿ—––ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–––ÿ—––ÿ–—–ÿ–––ÿ—–—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ——–ÿ–––ÿ———ÿ–—–ÿ–––ÿ—–—ÿ—––ÿ—––ÿ–––ÿ——–ÿ–—–ÿ——–ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ––—ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–——ÿ–—–ÿ——–ÿ–—–ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ––—ÿ—–—ÿ––—ÿ—––ÿ———ÿ———ÿ˜˜˜ÿ——˜ÿ˜—˜ÿ˜˜—ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ˜˜˜ÿ™™™ÿ™™˜ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™™šÿ™š™ÿ™™™ÿ™™šÿš™šÿšš™ÿšššÿšššÿšššÿšš›ÿšš›ÿš››ÿšššÿ›››ÿ›››ÿ›œ›ÿ›››ÿœœœÿ››œÿœœ›ÿ›œœÿœœ›ÿœœœÿœœœÿœœœÿœÿœœœÿœÿœÿœœÿÿÿÿÿžÿžÿÿžžžÿžžžÿžžžÿžžžÿžžŸÿŸžŸÿžžžÿŸžžÿž¡ÿ{ƒÌÿQôÿL÷ÿL÷ÿ^pàÿŸ  ÿ  Ÿÿ Ÿ ÿ   ÿ   ÿ¡  ÿ ¡ ÿ ¡ ÿ¡  ÿ ¡ ÿ  ¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¢¢ÿ¡¡¡ÿ¡¡¢ÿ¡¡¢ÿ¢¢¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ¢¢£ÿ££¢ÿ£¢£ÿ£££ÿ££¢ÿ£££ÿ££¤ÿ££¤ÿ¤¤£ÿ£¤£ÿ£¤¤ÿ¤££ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¥ÿ¥¤¤ÿ¤¤¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¥¦¥ÿ¥¦¦ÿ¦¥¥ÿ¥¦¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦§¦ÿ¦¦§ÿ¦§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ§¨§ÿ§§¨ÿ§§§ÿ¨§§ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿ©ªªÿ©©ªÿªªªÿªª©ÿªªªÿªªªÿªª«ÿ«««ÿª«ªÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ««¬ÿ«¬«ÿ«¬«ÿ««¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ­¬¬ÿ­¬¬ÿ­­¬ÿ¬¬­ÿ­­­ÿ­­­ÿ­®­ÿ­­­ÿ­­­ÿ­®®ÿ­­­ÿ­­®ÿ®­®ÿ®®®ÿ¦§±ÿy¿ÿ?Ëÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ <Ìÿv}Ãÿ°±¸ÿ¶¶¶ÿ¶·¶ÿ¶¶¶ÿ···ÿ¶¶·ÿ··¶ÿ···ÿ··¶ÿ···ÿ···ÿ¸··ÿ·¸·ÿ¸¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¹ÿ¸¸¸ÿ¸¹¹ÿ¹¸¸ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿºººÿ¹¹¹ÿºº¹ÿºººÿºººÿ»ººÿ»º»ÿ»»»ÿº»»ÿº»»ÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ¼»»ÿ¼¼»ÿ»»¼ÿ»¼»ÿ»¼¼ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ½¼½ÿ¼¼¼ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½¾½ÿ½¾¾ÿ½½¾ÿµ¶¾ÿ¢¤ÃÿlvÈÿAÌÿ;Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ;Ìÿ?Ìÿ`lÊÿ›ŸÈÿ¶·ÆÿÁÁÅÿÄÅÄÿÄÄÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÆÆÿÅÆÅÿÆÆÆÿÆÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÇÇÇÿÆÇÇÿÆÇÆÿÇÇÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÈÇÇÿÈÈÈÿÇÇÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÉÿÈÉÈÿÉÉÉÿÉÉÉÿÈÉÉÿÉÉÊÿÉÊÉÿÉÊÊÿÉÉÉÿÉÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿËÊÊÿËÊÊÿËÊËÿÊÊÊÿÊËÊÿÊÊËÿÊËËÿËËËÿËÌËÿÌËËÿËËËÿËËËÿËÌÌÿÌËÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÍÌÌÿÌÍÍÿÍÍÍÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÎÿÎÎÍÿÍÎÍÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÏÎÿÎÏÎÿÎÎÎÿÏÎÏÿÏÏÏÿÏÏÏÿÏÐÏÿÏÏÏÿÏÏÏÿÐÐÐÿÐÐÏÿÏÏÐÿÐÐÏÿÐÏÏÿÐÐÐÿÑÐÐÿÐÑÐÿÑÐÑÿÐÑÑÿÑÐÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÑÑÿÒÒÒÿÒÒÒÿÑÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÒÒÒÿÒÓÓÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÔÿÓÓÔÿÓÔÓÿÔÔÔÿÔÓÔÿÓÔÓÿÔÔÔÿÔÕÕÿÔÔÕÿÕÔÔÿÕÕÔÿÕÕÔÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÖÖÿÕÖÖÿÖÕÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿÖ××ÿÖÖÖÿÖ××ÿ×Ö×ÿ×××ÿ×רÿ×××ÿØ××ÿØØØÿØ××ÿ«±åÿRöÿL÷ÿ"Söÿ¯´äÿØÙØÿØØÙÿÙØØÿØÙÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÙÙÿÚÚÚÿÙÙÚÿÚÚÙÿÚÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÛÚÚÿÛÛÚÿÚÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÜÛÿÛÛÛÿÛÛÜÿÜÜÜÿÜÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÜÜÝÿÝÝÜÿÜÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÞÞÝÿÞÞÞÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßßÿßßÞÿÞÞßÿÞßßÿßßÞÿßßßÿßßßÿàààÿßßßÿßàßÿàààÿààßÿßßàÿàààÿàààÿàààÿááàÿáàáÿàááÿáááÿáááÿáááÿáááÿáááÿáááÿááâÿâáâÿááâÿââáÿâââÿâââÿãââÿâãâÿâãâÿââãÿãââÿãâãÿãããÿãããÿãããÿãäãÿãããÿãããÿãääÿääãÿäääÿäääÿåääÿäääÿäääÿåäåÿåäåÿåääÿåååÿåååÿæååÿåååÿåååÿååæÿåææÿåææÿæåæÿæææÿææçÿæææÿæççÿææçÿççæÿæççÿççæÿçççÿçççÿçèçÿççèÿççèÿçèèÿçççÿçèèÿèèèÿèèèÿéèèÿèèèÿèèèÿèéèÿéèéÿéèèÿéééÿéééÿéééÿéééÿééêÿêêêÿêéêÿéêéÿêêêÿêêêÿêêêÿêëêÿêëêÿëêëÿ––—ÿ—–—ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ—––ÿ—–—ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ——–ÿ–––ÿ—––ÿ—–—ÿ—–—ÿ——–ÿ–——ÿ––—ÿ—––ÿ–—–ÿ–––ÿ—––ÿ—––ÿ——–ÿ–—–ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–—–ÿ——–ÿ–––ÿ———ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ—––ÿ–––ÿ—––ÿ——–ÿ––—ÿ—––ÿ—––ÿ—–—ÿ–––ÿ–—–ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ———ÿ–——ÿ–—–ÿ–––ÿ––—ÿ—––ÿ–––ÿ––—ÿ———ÿ–——ÿ—––ÿ–––ÿ–––ÿ––—ÿ–——ÿ—––ÿ—––ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–——ÿ–––ÿ——–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ—––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ——–ÿ––—ÿ––—ÿ———ÿ———ÿ———ÿ———ÿ——˜ÿ˜˜—ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ™˜™ÿ™™™ÿ˜™™ÿ™™™ÿ˜™˜ÿ™™™ÿš™™ÿ™™™ÿ™™™ÿš™šÿšš™ÿšš™ÿš™šÿšššÿšššÿšššÿ›››ÿ›š›ÿš››ÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿœœœÿ›œ›ÿœ›œÿœœ›ÿœœœÿœœÿœÿœœœÿÿœÿÿœÿÿžÿÿžžÿžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸžžÿžžŸÿžžžÿŸžŸÿy‚Íÿ&SóÿL÷ÿDaëÿž£ÿŸ  ÿŸ  ÿ Ÿ ÿ   ÿ   ÿ   ÿ   ÿ ¡ ÿ  ¡ÿ ¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¡¢¢ÿ¢¢¡ÿ¡¢¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢£ÿ¢¢£ÿ£¢£ÿ¢££ÿ££¢ÿ£¢£ÿ£££ÿ£££ÿ¤££ÿ£££ÿ££¤ÿ¤£¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¥¤ÿ¤¤¤ÿ¥¤¥ÿ¥¤¥ÿ¥¥¤ÿ¥¥¥ÿ¥¦¥ÿ¥¥¥ÿ¦¥¦ÿ¦¥¦ÿ¦¥¥ÿ¥¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦§ÿ¦§¦ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨¨§ÿ§§¨ÿ¨§¨ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ¨©©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿªª©ÿªª©ÿªªªÿªª©ÿ©©ªÿªªªÿª«ªÿ«ªªÿªª«ÿ«««ÿªª«ÿ««ªÿ«ª«ÿ«««ÿ«««ÿ««¬ÿ«¬¬ÿ«««ÿ¬«¬ÿ¬¬«ÿ¬¬«ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ­­¬ÿ­­¬ÿ¬­¬ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­­®ÿ®®®ÿ®­®ÿ®­®ÿ­®®ÿ®®®ÿ®®®ÿ˜›¶ÿTbÆÿ=Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ*GËÿ‡Âÿ´µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶¶ÿ¶¶·ÿ¶··ÿ¶·¶ÿ·¶·ÿ···ÿ···ÿ··¸ÿ¸¸·ÿ···ÿ¸¸·ÿ¸¸¸ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¹ÿ¸¹¹ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹ºÿ¹ººÿºººÿºººÿºººÿºººÿ»º»ÿ»º»ÿºººÿ»»ºÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»»»ÿ»»»ÿ¼¼¼ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼½ÿ¼¼½ÿ¼½½ÿ¼¼½ÿ½¼½ÿ¼½½ÿ½½½ÿ½½½ÿ¾½¾ÿ½¾½ÿ¾½½ÿ½¾½ÿ½½¾ÿ±²ÀÿˆÆÿXeÉÿ4MËÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ;Ìÿ:QËÿ\iÊÿ‰ŽÈÿ±³ÆÿÃÃÄÿÅÄÄÿÄÄÅÿÄÅÅÿÅÄÄÿÅÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÆÅÿÅÆÆÿÅÅÅÿÅÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÇÇÿÇÆÇÿÇÇÆÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÇÿÈÈÇÿÈÇÈÿÈÈÈÿÇÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÈÈÈÿÉÉÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÊÊÊÿÊÊÉÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊËÿËËÊÿÊÊÊÿÊÊËÿËËÊÿËËËÿËËËÿËËÊÿËËËÿÌËÌÿËÌËÿËÌËÿËËËÿÌÌÌÿÌÌÌÿËÌÌÿÌÍÌÿÌÌÌÿÌÌÌÿÍÌÌÿÍÍÍÿÍÌÍÿÍÍÌÿÍÍÍÿÍÍÍÿÎÍÍÿÎÍÎÿÍÍÎÿÎÎÍÿÎÎÎÿÍÎÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÏÏÎÿÏÎÏÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÐÿÏÐÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÑÐÿÐÐÐÿÑÑÑÿÑÐÐÿÐÑÐÿÐÑÑÿÑÑÑÿÒÑÑÿÑÑÑÿÑÑÒÿÑÑÒÿÒÑÒÿÑÑÒÿÑÒÑÿÒÒÒÿÓÒÒÿÒÒÒÿÒÓÓÿÓÒÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÔÓÓÿÓÓÔÿÔÓÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÕÕÕÿÔÕÕÿÕÔÕÿÕÕÕÿÕÖÕÿÖÕÕÿÖÕÕÿÕÕÖÿÕÖÖÿÖÖÖÿÖÖÕÿÖÕÖÿÖ×ÖÿÖÖÖÿÖÖ×ÿ××ÖÿÖ×Öÿ×ÖÖÿ×××ÿ×××ÿ×××ÿ×××ÿרØÿר×ÿØØØÿ£©çÿP÷ÿL÷ÿ—ìÿØØÙÿØØØÿØØØÿØØØÿÙØØÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÚÿÚÚÙÿÙÚÚÿÙÚÚÿÚÚÚÿÛÚÚÿÚÚÚÿÚÚÛÿÛÚÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÜÛÿÜÛÜÿÜÜÛÿÛÛÜÿÛÜÜÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÝÿÝÜÜÿÜÝÜÿÜÜÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÞÿÞÝÞÿÝÝÞÿÞÝÞÿÝÝÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿßÞßÿßßßÿßÞßÿßßßÿßßßÿßßßÿßßßÿàßàÿàßàÿàààÿàààÿààßÿàààÿàààÿààáÿàáàÿáàáÿààáÿáááÿáááÿáááÿáááÿáâáÿáááÿâââÿâááÿâââÿáâáÿâââÿâââÿââãÿãâãÿãâãÿãâãÿãããÿãããÿãããÿãããÿãããÿãäãÿääãÿäääÿãäãÿäããÿãääÿäääÿäääÿååäÿååäÿäääÿåäåÿåååÿåååÿåååÿæååÿåååÿåååÿæææÿååæÿæææÿåææÿæææÿæçæÿæææÿçæçÿæççÿçæçÿççæÿçççÿçççÿçççÿçççÿçèçÿèçèÿèççÿèççÿèèèÿèèèÿèèèÿèèèÿèèèÿéèèÿéèèÿééèÿéééÿéééÿéééÿéééÿéêéÿêêéÿêêêÿêéêÿêêêÿêêêÿêêêÿêêëÿëêêÿêëêÿ—––ÿ––—ÿ––—ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ––—ÿ–—–ÿ–——ÿ–––ÿ——–ÿ—––ÿ–——ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ––—ÿ–——ÿ–—–ÿ–––ÿ––—ÿ–—–ÿ–––ÿ—––ÿ––—ÿ––—ÿ——–ÿ––—ÿ––—ÿ—––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ——–ÿ—––ÿ––—ÿ––—ÿ–—–ÿ–––ÿ—––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ———ÿ–—–ÿ—––ÿ––—ÿ–––ÿ—–—ÿ——–ÿ–—–ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ——–ÿ–—–ÿ–——ÿ———ÿ–––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ––—ÿ––—ÿ–––ÿ–––ÿ—––ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ——–ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ˜˜˜ÿ———ÿ˜˜—ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™™™ÿ™™˜ÿ™˜˜ÿ™™™ÿ˜™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿš™™ÿ™™™ÿš™™ÿšššÿšššÿšššÿš›šÿ›››ÿšš›ÿ››šÿ›ššÿ›ššÿ›››ÿ›››ÿ›››ÿ›››ÿœ››ÿ›œ›ÿœœ›ÿœœœÿ›œ›ÿœœœÿœœœÿœœÿœœÿÿœœÿÿÿœÿÿÿÿžžÿžÿÿžžÿžžÿžžžÿžžžÿžžžÿžžŸÿŸŸžÿŸžŸÿŸŸ ÿˆÅÿ+Uòÿ;\îÿ–˜­ÿŸ Ÿÿ  Ÿÿ   ÿ   ÿŸ  ÿ   ÿ  ¡ÿ  ¡ÿ¡  ÿ  ¡ÿ ¡ ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¢ÿ¡¢¢ÿ¡¢¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ£££ÿ£££ÿ£¢¢ÿ£££ÿ£¤£ÿ¤££ÿ£££ÿ£¤£ÿ£¤£ÿ¤££ÿ¤£¤ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¥ÿ¤¤¥ÿ¤¥¤ÿ¥¤¥ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¦¦¦ÿ¥¦¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ¦§¦ÿ¦¦¦ÿ§¦§ÿ§¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§¨§ÿ§¨¨ÿ¨§§ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨¨ÿ¨¨¨ÿ¨¨©ÿ¨¨©ÿ¨¨©ÿ©©¨ÿ©©©ÿ©©©ÿª©©ÿª©©ÿ©©©ÿ©©©ÿªªªÿªªªÿªªªÿªªªÿªªªÿ«ª«ÿªª«ÿ«ªªÿ«««ÿªª«ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ¬««ÿ¬««ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ­¬­ÿ­­­ÿ­­­ÿ­¬¬ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­®®ÿ­­®ÿ®­®ÿ®­®ÿ­®®ÿ®®®ÿ®®®ÿ®¯®ÿ§©²ÿ…‹¼ÿ;PÉÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ;QÊÿ˜›½ÿµ´µÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ¶¶·ÿ···ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ¸¸¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¸¸ÿ¸¹¹ÿ¸¹¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿº¹ºÿ¹ººÿºº¹ÿ¹ººÿ¹ººÿºººÿºººÿºººÿºººÿºººÿºººÿº»»ÿº»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ»»»ÿ¼¼¼ÿ»»¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½¼½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ¾¾½ÿ¾¾¾ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¹¹¿ÿ¨«Âÿ’–ÅÿluÈÿ'FÌÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ@TËÿx€ÉÿšŸÇÿ¯°Åÿ¾¿ÃÿÃÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÅÿÅÆÅÿÅÆÆÿÆÆÆÿÅÆÆÿÅÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÇÇÿÇÆÇÿÆÇÇÿÆÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÈÇÇÿÇÈÇÿÇÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÉÈÿÉÉÈÿÉÈÉÿÉÉÉÿÉÈÉÿÉÈÉÿÉÉÉÿÉÊÉÿÊÊÉÿÉÊÉÿÊÊÉÿÊÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊËÊÿËÊÊÿÊÊËÿÊËÊÿËËËÿÊËËÿËËËÿËËËÿËËËÿËËËÿËËËÿÌËËÿËÌÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÌÿÌÌÍÿÌÍÍÿÌÍÍÿÍÌÌÿÍÍÌÿÍÍÍÿÍÍÍÿÎÎÍÿÎÍÍÿÍÎÎÿÎÎÍÿÎÎÎÿÎÎÍÿÎÎÎÿÎÎÎÿÏÎÎÿÎÎÏÿÎÏÏÿÏÎÏÿÎÏÎÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÏÐÏÿÏÏÐÿÐÐÐÿÐÐÏÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÑÐÿÐÑÐÿÑÑÑÿÐÑÑÿÑÑÐÿÑÐÑÿÑÑÒÿÑÑÑÿÑÒÑÿÑÑÑÿÑÑÒÿÒÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÓÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÔÿÓÓÓÿÔÓÓÿÓÔÓÿÔÔÓÿÓÔÔÿÓÔÔÿÔÔÕÿÕÔÔÿÔÔÔÿÔÔÔÿÕÕÔÿÕÕÔÿÕÕÕÿÕÕÕÿÕÖÖÿÕÕÕÿÕÕÕÿÖÕÕÿÕÖÖÿÖÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿ×××ÿ××ÖÿÖ××ÿ×ÖÖÿ×××ÿ×××ÿ×××ÿ×××ÿØ×ØÿØØ×ÿר×ÿ §çÿP÷ÿqðÿÐÐÛÿØØØÿØØØÿØØØÿØÙØÿÙØÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÙÿÙÙÙÿÙÙÙÿÙÚÚÿÚÙÚÿÚÚÚÿÚÚÙÿÚÚÚÿÛÛÚÿÚÚÚÿÛÛÚÿÛÛÚÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÚÿÛÛÛÿÜÛÜÿÛÛÛÿÜÜÛÿÛÛÜÿÜÜÛÿÜÛÜÿÜÜÜÿÜÜÜÿÜÜÝÿÜÜÜÿÝÜÝÿÜÜÝÿÜÝÜÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÞÿÝÝÞÿÝÞÝÿÝÝÞÿÝÞÞÿÞÞÞÿÞÞÞÿÝÞÞÿÞÞÞÿÞÞßÿßßÞÿßÞßÿßßßÿßßßÿÞßßÿßßßÿßßßÿßàßÿßßàÿßßàÿßààÿàààÿàààÿàààÿàààÿàààÿààáÿàááÿàááÿááàÿáàáÿáááÿáááÿáááÿâáâÿáááÿáááÿâââÿââáÿâââÿâââÿãââÿâââÿãââÿâããÿãããÿãâãÿãããÿâããÿãããÿãããÿäããÿãäãÿäääÿääãÿäääÿäääÿåääÿäåäÿäåäÿåäåÿäååÿäååÿäååÿåååÿåååÿååæÿåååÿåååÿåæåÿåæåÿåæåÿæææÿæææÿææçÿæææÿæçæÿæææÿçæçÿæççÿçææÿçççÿçççÿçççÿèçèÿèèçÿèèçÿççèÿèèçÿèçèÿèèèÿèèèÿèèèÿèèèÿéééÿéééÿèéèÿéééÿêééÿéêéÿêêéÿêééÿééêÿêêêÿéééÿêêêÿêêêÿêêêÿëêêÿ––—ÿ—––ÿ–——ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ––—ÿ——–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–——ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–——ÿ–—–ÿ–––ÿ–––ÿ———ÿ––—ÿ––—ÿ–——ÿ–——ÿ–—–ÿ–——ÿ——–ÿ–––ÿ––—ÿ–—–ÿ—––ÿ—––ÿ–––ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ——–ÿ–––ÿ––—ÿ——–ÿ—–—ÿ–——ÿ–—–ÿ–––ÿ–––ÿ——–ÿ–––ÿ–—–ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–——ÿ–—–ÿ–––ÿ–—–ÿ—––ÿ—–—ÿ–——ÿ——–ÿ–––ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–——ÿ––—ÿ––—ÿ–––ÿ––—ÿ—––ÿ—––ÿ–—–ÿ——–ÿ–––ÿ––—ÿ——–ÿ—––ÿ–——ÿ–––ÿ——–ÿ–––ÿ–—–ÿ–––ÿ——–ÿ–––ÿ–—–ÿ——–ÿ—–—ÿ––—ÿ———ÿ———ÿ˜——ÿ——˜ÿ—˜—ÿ—˜˜ÿ—˜—ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™™ÿ™™™ÿ˜™™ÿ™™™ÿ™™™ÿ™™šÿ™™šÿ™ššÿšššÿ™ššÿ™ššÿšššÿšššÿšš›ÿšš›ÿšš›ÿ›››ÿ›››ÿ›ššÿ››šÿ›››ÿ››œÿœ››ÿœœœÿœœœÿœ›œÿ›œœÿœœœÿœœœÿœœœÿœÿœÿœœœÿœÿÿÿÿÿžÿžžÿžžÿžÿÿžžÿžžžÿžžžÿžžŸÿžžŸÿžžžÿžŸŸÿŸŸŸÿŸŸŸÿŒ‘¹ÿTiåÿ•—®ÿŸŸ ÿ ŸŸÿŸ  ÿ   ÿŸ Ÿÿ   ÿ   ÿ   ÿ   ÿ¡ ¡ÿ ¡¡ÿ ¡¡ÿ ¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¢ÿ¡¢¡ÿ¡¢¢ÿ¢¢¢ÿ¡¡¡ÿ¢¢¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ£££ÿ£¢¢ÿ£¢¢ÿ£££ÿ££¢ÿ£££ÿ£££ÿ¤¤£ÿ¤££ÿ£££ÿ£££ÿ¤¤£ÿ¤¤£ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¥ÿ¥¤¤ÿ¤¥¥ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¥¥ÿ¥¥¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ¦§¦ÿ¦¦¦ÿ¦¦¦ÿ§§§ÿ¦§§ÿ§§§ÿ§¨§ÿ§§¨ÿ§§¨ÿ§¨§ÿ§¨¨ÿ¨§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ¨¨¨ÿ©¨©ÿ©©©ÿ©¨©ÿ©¨©ÿ©©©ÿ©ªªÿ©©©ÿ©ª©ÿ©©ªÿ©©©ÿªª©ÿªªªÿªªªÿªª«ÿªªªÿª«ªÿªª«ÿ«ªªÿ«««ÿ«««ÿ«««ÿ¬««ÿ¬««ÿ¬«¬ÿ«¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬­¬ÿ¬­­ÿ¬­­ÿ­­¬ÿ­­­ÿ­­­ÿ®­­ÿ­­­ÿ®­­ÿ­®­ÿ®®®ÿ­®®ÿ­®®ÿ®®®ÿ®®®ÿ®®®ÿ®­®ÿ¤¤³ÿhrÃÿ(FËÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ>Ìÿ\hÇÿ©«¸ÿµ¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ·¶¶ÿ¶¶·ÿ···ÿ···ÿ···ÿ··¸ÿ·¸¸ÿ·¸¸ÿ¸¸·ÿ¸··ÿ¸··ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹¹ÿº¹¹ÿºººÿ¹ººÿºººÿº¹¹ÿºººÿºººÿ»ººÿºº»ÿ»º»ÿ»ººÿ»»»ÿº»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ¼»»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½½¼ÿ½½¼ÿ¼¼½ÿ¼½¼ÿ½½¼ÿ½½½ÿ½½½ÿ¾¾¾ÿ½½¾ÿ¾½½ÿ¾½½ÿ¾¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾½¾ÿ¼¼¾ÿ¶¸¿ÿ ÃÿzÇÿM^Êÿ9PËÿ'FÌÿ =Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ;Ìÿ!CÌÿ4MËÿAUËÿbnÊÿŽ“Èÿ®°Åÿ¾¿ÄÿÁÁÃÿÄÃÃÿÃÃÃÿÄÄÄÿÄÄÄÿÃÃÃÿÃÄÄÿÄÄÄÿÄÄÄÿÅÄÅÿÄÄÄÿÄÅÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÆÅÆÿÅÅÆÿÅÆÅÿÆÆÆÿÆÆÆÿÆÅÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÆÆÿÇÇÆÿÆÇÆÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÉÿÉÈÉÿÈÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿÊÊÊÿÊÊËÿÊÊÊÿËËËÿËËËÿËÊÊÿËËËÿÌËËÿËËËÿÌËÌÿËËËÿËËÌÿÌËËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÍÌÿÌÌÌÿÌÍÍÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÎÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÎÏÎÿÎÎÎÿÏÎÎÿÏÎÎÿÏÏÎÿÎÏÏÿÏÏÏÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÐÏÿÐÐÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÑÑÐÿÑÑÐÿÑÑÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÒÒÿÑÑÒÿÑÑÑÿÒÑÑÿÒÑÑÿÒÑÒÿÒÒÒÿÒÓÒÿÒÓÒÿÓÒÒÿÓÒÓÿÒÒÓÿÓÒÓÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÔÔÓÿÓÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÕÕÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÖÖÿÕÖÕÿÕÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿ×ÖÖÿ×Ö×ÿÖÖÖÿ×Ö×ÿ××Öÿ×××ÿ×××ÿ×××ÿ×××ÿ×××ÿ©¯æÿZpóÿÄÇÞÿØ×ØÿØØØÿØØØÿØØÙÿÙØØÿÙÙÙÿØÙÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÙÿÚÙÙÿÙÚÚÿÙÚÙÿÚÚÚÿÚÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÚÿÛÛÛÿÚÛÚÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÛÛÛÿÛÜÜÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÝÝÜÿÜÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÝÝÝÿÝÞÝÿÞÞÞÿÞÝÞÿÞÞÞÿÞÞÞÿßÞÞÿßÞßÿßÞÞÿßßßÿÞßÞÿßßßÿßßßÿßßßÿßßßÿàßßÿßßàÿàààÿààßÿàààÿàààÿàààÿáààÿàààÿààáÿáàáÿáááÿáááÿáááÿáááÿáááÿáááÿáááÿáâáÿââáÿâââÿáââÿâââÿâââÿââãÿãâãÿââãÿãããÿããâÿãããÿâããÿãããÿãããÿääãÿãããÿäääÿãääÿäãäÿäãäÿäääÿäääÿäääÿäåäÿåääÿåååÿåååÿåååÿåååÿåååÿææåÿåæåÿæææÿåæåÿæåæÿæåæÿæææÿæææÿæææÿæçæÿæææÿææçÿæççÿçççÿçççÿçççÿçççÿçççÿçèçÿèçèÿèèèÿèèèÿèèèÿèèèÿèèèÿèèéÿèèéÿéèèÿéééÿèèèÿéééÿéééÿéééÿéééÿééêÿêéêÿêéêÿêêêÿéêéÿêêêÿêêêÿêêêÿ—––ÿ–—–ÿ—––ÿ–––ÿ––—ÿ–—–ÿ–——ÿ–––ÿ–—–ÿ–––ÿ—–—ÿ–—–ÿ–—–ÿ–––ÿ——–ÿ––—ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ—––ÿ––—ÿ–––ÿ–––ÿ—–—ÿ———ÿ—––ÿ—–—ÿ––—ÿ–—–ÿ——–ÿ–––ÿ—––ÿ–—–ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ—–—ÿ–––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ–——ÿ—–—ÿ–––ÿ–––ÿ–—–ÿ———ÿ–––ÿ–—–ÿ–––ÿ—––ÿ–—–ÿ—–—ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ——–ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ—––ÿ——–ÿ–––ÿ––—ÿ–——ÿ–––ÿ—––ÿ–——ÿ——–ÿ–––ÿ–——ÿ——–ÿ–––ÿ—––ÿ–––ÿ–––ÿ––—ÿ—––ÿ—––ÿ—––ÿ–––ÿ–––ÿ–––ÿ———ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–––ÿ–––ÿ——–ÿ—–—ÿ———ÿ———ÿ˜——ÿ——˜ÿ˜˜—ÿ——˜ÿ˜˜˜ÿ——˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ™˜™ÿ˜˜˜ÿ˜™˜ÿ˜™˜ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿšššÿšššÿšš™ÿšš™ÿšššÿšššÿšššÿšššÿšššÿš››ÿ›››ÿ›ššÿ››šÿ›š›ÿšš›ÿ›››ÿ›œ›ÿ›œ›ÿ›œ›ÿ›œ›ÿœ›œÿœ›œÿœœœÿœœœÿœœœÿœÿœÿœÿœÿÿœÿÿÿžžÿÿžžÿžžÿžžžÿžžžÿžžžÿžŸžÿžžžÿŸžŸÿŸžŸÿžžŸÿžžŸÿŸŸŸÿ¢ÿžž ÿŸŸŸÿ ŸŸÿ ŸŸÿ   ÿŸ  ÿ   ÿ   ÿ   ÿ¡  ÿ ¡ ÿ  ¡ÿ¡  ÿ ¡¡ÿ¡¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¢¢¡ÿ¡¡¢ÿ¢¡¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢££ÿ££¢ÿ£¢¢ÿ£¢£ÿ£££ÿ££¢ÿ£££ÿ£££ÿ£¤£ÿ££¤ÿ£¤£ÿ£¤¤ÿ¤¤¤ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¤¤ÿ¥¥¤ÿ¥¤¤ÿ¤¥¥ÿ¥¤¥ÿ¥¥¤ÿ¥¥¤ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¥¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦¦ÿ¦§§ÿ¦¦¦ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ¨§§ÿ¨§¨ÿ§§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ§¨¨ÿ¨¨¨ÿ¨©©ÿ¨©¨ÿ©©©ÿ©©¨ÿ©¨¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©ªÿ©©ªÿ©©ªÿª©ªÿªªªÿªªªÿªªªÿªªªÿªªªÿªª«ÿ«ª«ÿªª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ««¬ÿ«««ÿ¬¬¬ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ­¬­ÿ­­­ÿ¬¬­ÿ¬­¬ÿ­­­ÿ­­­ÿ­­­ÿ®®®ÿ­®­ÿ®®­ÿ­­­ÿ®­­ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ¯¯®ÿ®®®ÿ•˜·ÿfpÄÿ=Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ7NÊÿ†‹Áÿ°°·ÿµµ¶ÿµµµÿ¶¶¶ÿ¶¶µÿ¶¶µÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶·¶ÿ·¶¶ÿ¶·¶ÿ¶··ÿ·¶·ÿ···ÿ¶··ÿ···ÿ···ÿ···ÿ·¸¸ÿ··¸ÿ·¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¸¹ÿ¸¹¹ÿ¹¹¸ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿ¹º¹ÿ¹ººÿ¹ººÿºººÿºººÿºººÿºººÿºººÿ»»ºÿ»ººÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»¼ÿ»»»ÿ»¼»ÿ¼»»ÿ¼¼¼ÿ¼¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼½¼ÿ¼¼½ÿ½¼½ÿ½½½ÿ½½½ÿ¾½¾ÿ½¾¾ÿ¾½¾ÿ½½¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¾ÿ¿¾¿ÿ¾½¿ÿ±²Áÿ ¢Ãÿ•Æÿ€‡ÇÿpyÈÿZhÊÿ?TËÿ CÌÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ=Ìÿ;QËÿVdÊÿjtÉÿ|„Èÿ’Çÿœ Æÿ®¯Äÿ»¼ÄÿÂÂÂÿÂÃÂÿÂÂÃÿÃÃÃÿÄÃÃÿÃÃÃÿÃÃÃÿÃÄÃÿÃÃÄÿÄÄÃÿÃÄÃÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÅÿÄÄÄÿÄÄÅÿÄÅÅÿÅÄÅÿÅÄÅÿÅÅÅÿÅÅÅÿÆÅÅÿÆÅÆÿÆÆÅÿÆÅÆÿÅÆÆÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÇÆÿÇÇÆÿÇÇÆÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÈÈÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÉÈÈÿÉÈÈÿÉÈÈÿÈÈÈÿÉÉÈÿÉÉÉÿÉÉÉÿÊÊÉÿÉÊÉÿÊÉÉÿÉÉÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿÊÊÊÿÊËÊÿÊÊÊÿËËËÿÊËËÿËÊËÿËËËÿËËËÿËËËÿÌËËÿËËÌÿËÌÌÿËÌÌÿÌÌËÿÌËÌÿÌÌÌÿÌÌÌÿÍÌÍÿÍÌÍÿÌÌÌÿÌÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÎÍÍÿÍÍÎÿÍÎÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÏÏÎÿÎÎÎÿÎÎÎÿÏÎÏÿÎÏÏÿÏÏÏÿÏÎÏÿÏÏÏÿÏÏÏÿÐÏÏÿÐÐÐÿÏÐÏÿÏÏÏÿÐÐÏÿÐÏÐÿÐÐÐÿÑÐÐÿÐÐÐÿÑÐÑÿÐÐÐÿÑÑÑÿÐÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÑÿÒÑÒÿÑÒÑÿÒÑÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÓÿÓÓÒÿÓÒÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÓÿÓÓÓÿÔÓÓÿÔÓÓÿÓÔÔÿÔÓÓÿÔÔÔÿÓÔÔÿÔÔÔÿÔÔÔÿÔÕÕÿÔÔÕÿÕÕÕÿÕÕÔÿÔÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÖÿÕÕÕÿÖÕÕÿÕÕÖÿÖÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖÖÖÿ×××ÿ×××ÿ×××ÿ××Öÿ××Öÿ×××ÿ×××ÿ×××ÿËËÜÿÅÆÞÿר×ÿØ××ÿØØØÿØØØÿØØØÿØÙØÿØÙØÿÙÙÙÿÙØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÚÙÿÚÚÙÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÛÛÚÿÛÛÚÿÛÚÚÿÛÛÛÿÚÛÛÿÛÛÛÿÛÛÜÿÛÛÛÿÛÛÛÿÛÜÜÿÜÜÛÿÜÜÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÝÜÝÿÝÝÜÿÜÝÜÿÝÝÝÿÝÝÝÿÝÞÝÿÝÝÞÿÝÞÝÿÞÝÝÿÞÝÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿÞÞßÿÞÞßÿßßßÿÞÞÞÿÞÞßÿßßÞÿßßßÿßßßÿßàßÿßßßÿßààÿàßàÿàààÿàààÿàààÿàáàÿáààÿáààÿàááÿáààÿáàáÿáááÿáááÿáááÿááâÿáááÿááâÿááâÿâââÿâââÿâââÿâââÿâââÿãââÿããâÿâãâÿãããÿããâÿãããÿäããÿãããÿãäãÿããäÿããäÿäääÿãäãÿäääÿäääÿäääÿäääÿåääÿåäåÿäååÿåäåÿåååÿåååÿæååÿåååÿæååÿææåÿææåÿæåæÿæææÿæææÿæææÿæçæÿæçæÿæææÿçççÿæççÿçççÿçççÿçççÿçèçÿçççÿèèèÿèèèÿèèçÿèèèÿèèèÿèèèÿéèèÿèèèÿééèÿèèéÿèèèÿéééÿèééÿéééÿééêÿééêÿêêêÿêêêÿêêêÿêêêÿêêêÿêêêÿêêêÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—–—ÿ——–ÿ–––ÿ–––ÿ–——ÿ–—–ÿ–––ÿ——–ÿ——–ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–——ÿ–––ÿ––—ÿ––—ÿ—––ÿ–—–ÿ––—ÿ–––ÿ–——ÿ–—–ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–——ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ——–ÿ–—–ÿ–—–ÿ–——ÿ–——ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ—––ÿ–––ÿ––—ÿ—––ÿ–––ÿ—––ÿ–––ÿ—––ÿ—––ÿ—––ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–––ÿ—––ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—–—ÿ––—ÿ––—ÿ—––ÿ–——ÿ—––ÿ–––ÿ——–ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ––—ÿ——–ÿ–––ÿ—–—ÿ—––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ—––ÿ—––ÿ–——ÿ––—ÿ———ÿ———ÿ———ÿ———ÿ˜——ÿ———ÿ˜—˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜™ÿ˜˜™ÿ˜˜˜ÿ™˜˜ÿ™˜˜ÿ™™˜ÿ™™™ÿ™™™ÿš™šÿ™™šÿšš™ÿšš™ÿš™šÿš™šÿš™šÿšššÿ›ššÿšššÿ›š›ÿš›šÿš››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿœ›œÿ››œÿœœœÿœœœÿœœœÿœœœÿœœœÿœÿœÿœœœÿœÿœÿœÿÿÿÿÿžÿžžÿžžÿžžžÿžžžÿžžžÿŸžžÿŸŸŸÿŸžŸÿžŸžÿŸŸžÿŸŸŸÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿ ŸŸÿŸ Ÿÿ Ÿ ÿ Ÿ ÿ  Ÿÿ   ÿ   ÿ¡ ¡ÿ¡  ÿ¡  ÿ¡ ¡ÿ ¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¢¡¢ÿ¡¡¡ÿ¢¢¢ÿ¡¢¡ÿ¢¢¢ÿ£¢¢ÿ£¢¢ÿ££¢ÿ£££ÿ£¢£ÿ££¢ÿ£££ÿ£££ÿ££¤ÿ£££ÿ££¤ÿ££¤ÿ£¤£ÿ¤¤£ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¥¥¤ÿ¤¤¥ÿ¥¤¥ÿ¤¥¤ÿ¤¥¥ÿ¥¥¥ÿ¦¥¦ÿ¥¥¦ÿ¥¥¥ÿ¦¦¥ÿ¦¦¦ÿ¥¦¥ÿ¥¦¦ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ¦¦§ÿ§¦§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§§ÿ§§¨ÿ¨§¨ÿ¨¨¨ÿ§¨¨ÿ¨§¨ÿ§¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨¨ÿ©¨¨ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿªª©ÿ©ª©ÿ©ªªÿª©©ÿ©ªªÿª©ªÿªªªÿªªªÿª«ªÿ««ªÿ«ª«ÿªª«ÿª«ªÿª«ªÿ«««ÿ«««ÿ«««ÿ¬««ÿ««¬ÿ«¬¬ÿ¬««ÿ««¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬¬ÿ­¬­ÿ¬¬¬ÿ­­­ÿ­¬­ÿ­­­ÿ­­­ÿ­®­ÿ­®­ÿ­®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®¯®ÿ®¯¯ÿ®®¯ÿª¬±ÿ˜›·ÿUcÆÿ@Ëÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ@Ìÿ\hÇÿ¤¦ºÿ³´µÿµµµÿµµµÿµµµÿµµµÿ¶µµÿ¶¶µÿ¶µµÿ¶µ¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ·¶·ÿ·¶¶ÿ¶··ÿ···ÿ···ÿ···ÿ···ÿ¸¸·ÿ··¸ÿ¸¸·ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹ººÿº¹ºÿ¹¹¹ÿºººÿ¹ººÿº»ºÿ»ººÿºººÿ»º»ÿ»º»ÿ»ººÿ»»ºÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼»ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ½½¼ÿ½¼½ÿ¼½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾¾¾ÿ½½¾ÿ½½¾ÿ½¾½ÿ½½½ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¿¾¿ÿ¾¾¿ÿ¿¾¿ÿ¿¿¿ÿ¾¾Àÿ»¼Àÿ¹¹Àÿ¶¶Áÿµ¶Âÿ±²Âÿ©«ÃÿŸ¢Äÿ–šÅÿ’—Æÿ‘•Æÿ‘–Çÿ‘•Çÿ‘•Çÿ—›Æÿ¡Åÿ¦§Äÿ¯±Äÿ¶¶Ãÿ¸¸Âÿ»ºÂÿ½½ÃÿÀÀÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÂÂÿÂÂÂÿÂÃÂÿÂÃÃÿÃÃÂÿÃÃÂÿÃÃÃÿÃÃÄÿÃÄÄÿÃÃÄÿÄÃÃÿÄÃÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÅÿÄÄÅÿÅÄÅÿÅÅÄÿÄÅÅÿÅÅÄÿÅÅÅÿÅÅÅÿÅÆÅÿÆÆÅÿÅÆÅÿÅÆÅÿÆÆÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÇÿÇÇÇÿÇÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÈÿÇÇÇÿÈÇÇÿÇÈÇÿÇÇÈÿÈÈÈÿÇÈÇÿÈÈÈÿÈÈÈÿÈÉÉÿÈÈÈÿÉÈÈÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÊÿÊÉÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÉÊÿÊÊÊÿÊÊÊÿÊËËÿÊÊÊÿÊÊËÿËÊËÿÊËÊÿËËËÿËËËÿÌËËÿÌËËÿËËËÿËËÌÿËÌËÿËÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÍÌÌÿÌÍÍÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÎÿÍÍÍÿÎÎÍÿÎÍÍÿÍÍÍÿÎÍÍÿÎÎÍÿÎÎÎÿÎÎÎÿÎÏÏÿÎÎÎÿÎÎÎÿÏÏÎÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÏÿÐÐÏÿÏÏÐÿÏÏÐÿÐÏÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÑÿÐÐÐÿÑÐÑÿÑÐÑÿÑÑÑÿÐÐÐÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÑÿÒÑÑÿÒÒÒÿÑÑÑÿÒÑÒÿÒÒÒÿÒÒÒÿÒÒÓÿÒÒÓÿÓÒÓÿÒÒÒÿÓÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÓÔÿÔÓÔÿÔÓÔÿÓÓÔÿÓÓÔÿÔÓÔÿÔÓÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÕÕÿÕÔÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÕÕÿÕÖÕÿÕÕÖÿÕÕÖÿÕÖÕÿÖÖÖÿÖÖÖÿ×ÖÖÿÖÖÖÿÖÖÖÿ××ÖÿÖ××ÿ×Ö×ÿ×××ÿ×××ÿØ×Øÿ×רÿØ××ÿר×ÿØ××ÿØØØÿØØØÿØØØÿÙØØÿÙØØÿØØØÿØØÙÿØØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÙÚÚÿÙÚÙÿÙÚÙÿÙÚÚÿÚÚÚÿÚÚÚÿÚÚÚÿÛÚÛÿÛÚÛÿÚÛÚÿÛÛÛÿÛÚÛÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÛÛÛÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÝÜÿÜÝÜÿÝÝÜÿÝÝÜÿÝÝÝÿÜÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÞÝÞÿÞÝÝÿÝÞÞÿÞÝÞÿÝÞÞÿÞÞÞÿÝÞÞÿÞÞÞÿÞßßÿÞÞÞÿÞÞÞÿÞßßÿÞßÞÿßßÞÿßßßÿßßßÿßßßÿàßßÿàßàÿàààÿàààÿààßÿàààÿàáàÿááàÿàààÿààáÿàááÿáàáÿáàáÿáááÿáááÿáááÿáááÿâááÿáâáÿáâáÿâââÿâââÿâââÿâââÿâââÿâââÿâããÿãâãÿâããÿãããÿãããÿãããÿãäãÿäãäÿãããÿäääÿããäÿäääÿäääÿäääÿäääÿäääÿäåäÿååäÿåååÿåååÿåååÿåååÿåååÿåååÿåææÿåææÿåææÿæåæÿæåæÿæææÿææçÿæææÿæççÿæææÿææçÿæçæÿçççÿæççÿçèçÿçççÿçççÿèèèÿçèçÿèèèÿçèèÿèèèÿèèèÿèèéÿèèèÿèèéÿèéèÿèèéÿééèÿéééÿéééÿéêéÿéêéÿêééÿêêêÿêêêÿêêéÿêêêÿêêêÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ–——ÿ——–ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ—–—ÿ–––ÿ——–ÿ––—ÿ–——ÿ–––ÿ–––ÿ—––ÿ––—ÿ—––ÿ—–—ÿ–––ÿ–––ÿ––—ÿ–—–ÿ——–ÿ–––ÿ—––ÿ–——ÿ—––ÿ–—–ÿ–—–ÿ——–ÿ–––ÿ—––ÿ––—ÿ–––ÿ–—–ÿ––—ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ––—ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ—––ÿ——–ÿ–––ÿ—––ÿ–––ÿ—––ÿ–——ÿ–––ÿ——–ÿ––—ÿ–––ÿ–––ÿ——–ÿ—–—ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ––—ÿ—–—ÿ–––ÿ–——ÿ—–—ÿ–––ÿ–––ÿ——–ÿ–––ÿ––—ÿ–––ÿ––—ÿ–––ÿ—––ÿ——–ÿ–––ÿ—–—ÿ——–ÿ——–ÿ———ÿ———ÿ———ÿ—˜—ÿ———ÿ˜˜˜ÿ˜˜˜ÿ—˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜˜˜ÿ˜™˜ÿ™™™ÿ˜˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿš™™ÿš™šÿšš™ÿ™ššÿšš™ÿšššÿšš›ÿ›››ÿšš›ÿ››šÿ›š›ÿ›››ÿ›››ÿ›››ÿ›››ÿœœ›ÿœ›œÿœœ›ÿœ›œÿœœœÿœœœÿœœœÿœœœÿœœœÿœœÿœœÿœÿœœÿœÿÿÿžÿÿžžÿžÿžžÿžžžÿžžžÿžžŸÿžžžÿžžžÿžŸžÿžžŸÿžžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ  ÿ   ÿ Ÿ ÿŸ Ÿÿ   ÿ   ÿ   ÿ ¡ ÿ ¡¡ÿ ¡¡ÿ¡¡ ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¢¢ÿ¢¡¡ÿ¡¢¢ÿ¢¡¢ÿ¢¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢¢ÿ¢££ÿ¢££ÿ¢¢£ÿ£££ÿ£¢£ÿ£££ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤£¤ÿ¤¤¤ÿ¤¤¤ÿ¤££ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¥ÿ¤¥¤ÿ¥¤¥ÿ¤¥¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¦¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¥¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦¦§ÿ§§§ÿ§¦¦ÿ§§§ÿ¨§§ÿ§¨§ÿ§§¨ÿ§§§ÿ¨¨¨ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨¨©ÿ©©¨ÿ¨©©ÿ©©©ÿ©©©ÿ©©ªÿ©©©ÿ©ªªÿªª©ÿª©©ÿªª©ÿªªªÿªªªÿªªªÿªªªÿ«ªªÿªªªÿªª«ÿª««ÿ«ª«ÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ«««ÿ¬«¬ÿ«««ÿ¬¬¬ÿ«¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬­ÿ­­¬ÿ­¬­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ®®­ÿ­®­ÿ®®®ÿ­®®ÿ­­®ÿ®®®ÿ®¯¯ÿ®®¯ÿ®¯¯ÿ®¯®ÿ¯¯®ÿ­®¯ÿ“–¹ÿ`kÅÿ'FËÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:ÌÿQ`Èÿ‘¾ÿ²³µÿµ´´ÿµµµÿµ´µÿµµµÿµµµÿµµ¶ÿ¶µµÿ¶µµÿ¶¶¶ÿ¶µ¶ÿµ¶µÿ¶¶¶ÿ¶·¶ÿ·¶¶ÿ¶·¶ÿ¶¶·ÿ···ÿ·¶·ÿ···ÿ···ÿ···ÿ·¸·ÿ¸··ÿ¸¸¸ÿ·¸¸ÿ··¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¹ÿ¸¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹¹ºÿ¹º¹ÿºº¹ÿºººÿºººÿºººÿºººÿ»»ºÿ»ººÿ»º»ÿ»ººÿ»»ºÿ»»»ÿ»»»ÿ»¼»ÿ»»¼ÿ»»¼ÿ»¼»ÿ¼¼¼ÿ»¼»ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ¼½½ÿ½¼¼ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½¾½ÿ½½½ÿ¾¾½ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¿ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿Àÿ¿¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÁÁÿÀÀÁÿÁÀÁÿÁÁÀÿÁÁÁÿÁÁÁÿÂÁÁÿÂÁÁÿÁÂÁÿÁÂÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÃÂÃÿÂÃÃÿÃÂÃÿÃÃÂÿÃÃÃÿÃÄÃÿÃÃÃÿÄÃÃÿÃÄÃÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÄÅÅÿÄÄÅÿÄÄÄÿÄÄÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÆÿÅÅÆÿÆÅÅÿÆÆÆÿÅÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÇÿÆÆÇÿÆÇÆÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÈÇÈÿÈÈÇÿÈÈÈÿÇÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÉÈÈÿÉÉÉÿÈÈÉÿÉÈÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÊÉÉÿÊÉÉÿÉÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊËÿÊÊÊÿÊËÊÿÊËÊÿËÊËÿËËËÿËËËÿËËËÿËËËÿÌËËÿËËÌÿÌÌÌÿÌËËÿÌÌÌÿÌÌËÿÌÌÌÿÌÍÌÿÌÍÌÿÌÌÌÿÍÍÌÿÍÍÍÿÍÌÍÿÍÍÍÿÍÍÍÿÍÎÍÿÍÎÎÿÍÎÍÿÎÍÎÿÎÍÍÿÎÎÎÿÎÎÎÿÎÎÎÿÎÎÏÿÏÎÎÿÎÎÏÿÏÏÎÿÎÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÐÏÐÿÏÏÏÿÐÏÐÿÐÏÏÿÐÐÏÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÑÿÑÑÑÿÑÑÐÿÑÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÒÿÑÑÒÿÑÑÑÿÑÑÒÿÒÑÑÿÒÒÒÿÒÒÒÿÒÒÒÿÓÒÒÿÒÒÒÿÓÓÒÿÓÓÒÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÓÓÿÓÓÓÿÓÔÔÿÔÔÔÿÔÔÓÿÔÔÕÿÔÔÔÿÔÕÔÿÕÔÔÿÕÔÕÿÕÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÕÕÿÕÖÕÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿ×××ÿ×××ÿÖÖ×ÿ×××ÿ×××ÿ×××ÿ×××ÿ×רÿר×ÿØ××ÿØØØÿ×רÿØØØÿØØØÿØØØÿØÙØÿØØÙÿÙÙÙÿÙØÙÿÙÙÙÿØÙÙÿÙÙÙÿÙÚÙÿÙÚÙÿÙÙÙÿÙÚÚÿÙÚÚÿÚÚÙÿÙÙÚÿÚÚÚÿÚÚÚÿÛÛÚÿÛÚÛÿÛÚÛÿÛÛÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÛÜÜÿÜÛÛÿÛÜÛÿÛÜÛÿÜÜÜÿÜÛÜÿÜÜÜÿÜÝÜÿÝÜÜÿÝÜÜÿÜÝÝÿÝÝÝÿÝÜÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÞÝÿÞÞÞÿÝÝÞÿÞÝÝÿÝÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞßÿÞÞßÿßßßÿßßßÿßßßÿßßßÿßààÿßßßÿàààÿàààÿàààÿàààÿàààÿàààÿàààÿààáÿàààÿàááÿáààÿááàÿáááÿáááÿáááÿááâÿâááÿááâÿââáÿáâáÿâââÿâââÿâââÿâãâÿãââÿãâãÿâããÿâããÿãããÿãããÿãããÿäãäÿãäãÿäããÿãääÿäããÿäääÿäääÿåääÿåääÿäääÿääåÿäåäÿåååÿåäåÿåååÿåææÿåååÿåæåÿæææÿåææÿææåÿåææÿæææÿæææÿæææÿæçæÿçæçÿæææÿæçæÿæçæÿçççÿçççÿèççÿçççÿèçèÿèèèÿçççÿèèèÿèçèÿèèèÿèèèÿèèèÿééèÿèèèÿéèèÿèéèÿéééÿéééÿéééÿééêÿêééÿêêêÿéêêÿéêéÿêêêÿêêêÿ–––ÿ——–ÿ––—ÿ——–ÿ–––ÿ–––ÿ—––ÿ–––ÿ—––ÿ—––ÿ—––ÿ–—–ÿ–—–ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–—–ÿ–—–ÿ——–ÿ–—–ÿ––—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ–––ÿ––—ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–—–ÿ–––ÿ———ÿ——–ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ—–—ÿ—––ÿ—–—ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ——–ÿ––—ÿ–––ÿ—–—ÿ–––ÿ–––ÿ––—ÿ—––ÿ–—–ÿ––—ÿ–––ÿ—––ÿ––—ÿ–––ÿ––—ÿ––—ÿ–––ÿ––—ÿ–––ÿ——–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ—––ÿ——–ÿ–––ÿ—––ÿ–—–ÿ–—–ÿ–––ÿ–—–ÿ–—–ÿ––—ÿ–—–ÿ—––ÿ––—ÿ—–—ÿ—––ÿ—––ÿ—––ÿ—–—ÿ———ÿ———ÿ———ÿ———ÿ———ÿ˜˜—ÿ—˜˜ÿ——˜ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜™™ÿ˜™˜ÿ˜˜˜ÿ™˜™ÿ™™™ÿ™™™ÿš™™ÿ™™™ÿ™™™ÿ™™™ÿšššÿšš™ÿ™š™ÿšššÿšššÿšššÿšššÿšššÿš››ÿ›››ÿ›››ÿš››ÿ›››ÿ›››ÿ››œÿ›››ÿ›œœÿ›œœÿœœœÿ›œœÿœœœÿœœœÿœœÿœœÿœœœÿœœÿœÿÿÿÿÿžÿžÿžžÿžžžÿžžžÿžžžÿžžžÿžŸŸÿžžžÿžžžÿŸžŸÿžžžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿ Ÿ ÿ Ÿ ÿŸ  ÿŸ Ÿÿ   ÿ   ÿ¡¡ ÿ   ÿ  ¡ÿ  ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¢ÿ¢¡¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢£¢ÿ¢¢£ÿ¢¢¢ÿ¢¢¢ÿ¢££ÿ££¢ÿ££¢ÿ£££ÿ£££ÿ£¤£ÿ£¤£ÿ££¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¥¤ÿ¤¤¤ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¦¥ÿ¦¦¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§§¦ÿ¦§§ÿ§§§ÿ§§§ÿ§¦§ÿ§§§ÿ§§§ÿ§¨§ÿ§§¨ÿ§§§ÿ¨¨§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ¨©©ÿ¨©¨ÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©©ªÿª©©ÿª©©ÿªª©ÿª©ªÿªªªÿªªªÿªªªÿªª«ÿ«ªªÿ«ª«ÿ«ª«ÿª«ªÿ««ªÿ«««ÿ«««ÿ«««ÿ««¬ÿ«¬«ÿ«¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬­­ÿ­­¬ÿ­­­ÿ¬¬­ÿ­¬­ÿ¬­­ÿ­­­ÿ­­®ÿ®®­ÿ®®­ÿ®­®ÿ­®®ÿ®®­ÿ®­®ÿ®®®ÿ®®®ÿ¯®®ÿ®¯®ÿ®®¯ÿ¯®®ÿ®¯®ÿ««±ÿ›¶ÿt{Áÿ)GËÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:ÌÿBUÉÿ‹¿ÿ«¬·ÿ´´µÿµµ´ÿ´´´ÿ´´´ÿµµµÿµµµÿµµµÿµ¶µÿµµµÿµµ¶ÿµµµÿµµ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶¶¶ÿ¶·¶ÿ¶·¶ÿ···ÿ···ÿ···ÿ···ÿ¸··ÿ·¸¸ÿ¸·¸ÿ¸¸·ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¹¹¸ÿ¹¹¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹ºÿ¹¹¹ÿº¹ºÿ¹¹ºÿ¹ººÿºººÿºººÿº¹ºÿºººÿº»ºÿºººÿº»ºÿºººÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»¼¼ÿ»»»ÿ¼»¼ÿ»»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼½ÿ¼¼¼ÿ¼½½ÿ¼¼½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ¾¾½ÿ½¾¾ÿ½½¾ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¿¾ÿ¿¿¾ÿ¾¾¾ÿ¾¾¿ÿ¿¿¾ÿ¿¾¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀÀ¿ÿ¿¿Àÿ¿¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÁÀÀÿÀÀÀÿÀÁÁÿÁÁÀÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÂÿÁÁÁÿÁÁÂÿÁÂÁÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÂÿÃÃÃÿÃÂÂÿÂÂÂÿÂÃÂÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÃÃÃÿÄÃÃÿÄÃÃÿÃÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÅÿÄÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÅÅÅÿÅÆÆÿÆÅÅÿÆÆÅÿÆÆÆÿÅÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÇÆÿÇÇÇÿÆÆÇÿÇÇÇÿÇÇÆÿÇÇÇÿÇÈÇÿÇÇÈÿÇÈÈÿÇÇÇÿÇÈÈÿÇÈÇÿÈÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÉÈÉÿÈÉÉÿÉÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÊÿÉÊÉÿÊÉÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿËËËÿÊÊËÿËËÊÿËËËÿËËËÿËËËÿËËËÿËËËÿÌËÌÿËËËÿËËËÿËËÌÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÍÌÌÿÍÌÍÿÌÌÍÿÍÍÍÿÍÍÍÿÍÍÍÿÍÍÎÿÍÍÍÿÎÍÎÿÎÍÎÿÎÎÍÿÍÎÍÿÎÎÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÏÿÎÏÏÿÏÏÎÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÐÏÿÏÐÏÿÐÏÏÿÏÏÏÿÐÏÏÿÐÏÐÿÐÐÏÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÑÿÐÑÑÿÑÐÑÿÐÑÑÿÐÐÑÿÑÑÑÿÒÑÑÿÑÒÑÿÑÒÑÿÑÑÑÿÑÒÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÓÿÓÒÒÿÒÓÒÿÒÒÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÔÔÓÿÓÔÓÿÔÔÔÿÔÓÔÿÔÔÓÿÓÓÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÔÔÕÿÕÔÕÿÔÕÕÿÔÕÕÿÕÕÕÿÕÕÕÿÖÖÖÿÖÕÕÿÖÕÕÿÕÕÕÿÕÖÖÿÖÕÖÿÖÖÖÿÖÖÖÿ×Ö×ÿÖÖÖÿÖÖ×ÿ×ÖÖÿ×××ÿÖ××ÿ×××ÿ×××ÿ×רÿ×רÿ×רÿØ××ÿØØØÿØØØÿØØØÿØØØÿØØØÿÙÙÙÿØÙØÿÙØÙÿØÙØÿÙÙÙÿØØÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÚÿÚÚÙÿÚÙÚÿÙÚÙÿÚÚÚÿÚÚÚÿÚÚÚÿÚÚÛÿÛÚÚÿÛÚÚÿÛÛÚÿÛÚÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÛÿÜÜÜÿÜÜÛÿÛÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÝÿÜÝÝÿÝÜÜÿÜÝÝÿÝÜÝÿÜÝÝÿÝÝÝÿÝÞÝÿÝÞÞÿÝÞÞÿÝÞÞÿÝÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßßÿÞßßÿßßÞÿßßßÿßßßÿßßßÿßßßÿßàßÿàßßÿßàßÿààßÿàààÿàààÿàààÿàààÿààáÿàààÿààáÿàààÿàáàÿááàÿáááÿâááÿáááÿááâÿááâÿáááÿâââÿâââÿâââÿââãÿãââÿââãÿãââÿâãâÿãâãÿãããÿãããÿãããÿãããÿãããÿääãÿäãäÿãääÿäãäÿäääÿäääÿäääÿäääÿääåÿääåÿäååÿäåäÿåååÿåååÿåååÿååæÿåæåÿåååÿåæåÿææåÿåååÿæææÿæææÿççæÿæçæÿæçæÿææçÿçççÿçççÿççæÿçççÿçççÿçèçÿèèèÿçèèÿçèçÿèççÿèèèÿèèèÿèèèÿèèéÿèèèÿèééÿéèéÿéééÿéééÿéééÿéééÿéêéÿéêêÿêééÿêêêÿêêêÿêêêÿ––—ÿ–––ÿ–—–ÿ––—ÿ—–—ÿ–––ÿ–––ÿ–––ÿ—–—ÿ––—ÿ––—ÿ—––ÿ–—–ÿ–—–ÿ——–ÿ——–ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–—–ÿ——–ÿ–––ÿ–––ÿ––—ÿ—––ÿ—––ÿ—––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ—––ÿ——–ÿ––—ÿ–—–ÿ––—ÿ––—ÿ–––ÿ—––ÿ—––ÿ—––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ––—ÿ––—ÿ–—–ÿ––—ÿ–––ÿ–––ÿ—–—ÿ––—ÿ–––ÿ–—–ÿ———ÿ––—ÿ–––ÿ––—ÿ–––ÿ–——ÿ—––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–——ÿ———ÿ—–—ÿ–––ÿ—––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–––ÿ–––ÿ–––ÿ—–—ÿ––—ÿ–––ÿ———ÿ–—–ÿ–—–ÿ—–—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ—––ÿ–––ÿ–——ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ——–ÿ———ÿ˜——ÿ———ÿ———ÿ—˜—ÿ—˜—ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ™™˜ÿ™˜™ÿ™™™ÿ™˜™ÿ™™™ÿ™™šÿ™™™ÿ™™šÿšš™ÿš™šÿš™šÿšš™ÿšššÿšššÿšššÿš›šÿ›š›ÿ›ššÿ››šÿ›››ÿ›š›ÿ›››ÿ›œ›ÿ››œÿ›œ›ÿœ››ÿœœœÿ›œœÿ›œœÿœœœÿœœœÿœœÿœœœÿœœÿœœÿœœÿÿÿÿÿÿžÿžÿžžÿžžžÿžžžÿžžžÿžžžÿžžžÿžžžÿŸŸžÿŸŸžÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸ ÿ Ÿ ÿŸŸŸÿ ŸŸÿŸŸ ÿ  Ÿÿ   ÿ   ÿ   ÿ¡  ÿ  ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¡¡¡ÿ¢¢¡ÿ¡¡¢ÿ¡¢¢ÿ¢¡¡ÿ¡¢¢ÿ¡¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢£ÿ£¢£ÿ¢££ÿ£££ÿ£££ÿ£££ÿ£¤£ÿ¤¤£ÿ¤££ÿ¤££ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¤ÿ¥¥¥ÿ¥¤¥ÿ¤¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¦ÿ¥¦¥ÿ¦¥¥ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦§§ÿ¦¦¦ÿ¦§¦ÿ§§¦ÿ§§¦ÿ§§§ÿ§§§ÿ¨¨§ÿ§§§ÿ§§¨ÿ¨¨¨ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨©¨ÿ©©©ÿ©¨¨ÿ©©©ÿ©¨©ÿ©¨©ÿ©¨©ÿ©©©ÿ©©©ÿª©ªÿªª©ÿªªªÿ©©ªÿªªªÿªªªÿªªªÿªªªÿªªªÿªª«ÿª«ªÿªªªÿ«««ÿ«««ÿ«««ÿ««¬ÿ«¬«ÿ«««ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬­­ÿ­¬­ÿ­¬­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­­®ÿ®­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®¯ÿ®®¯ÿ¯¯¯ÿ¯¯®ÿ®®®ÿ¯¯¯ÿ¯®¯ÿ®®¯ÿ¦§³ÿ…¿ÿN]Çÿ,HÊÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ"CËÿN^ÈÿŠ¿ÿ®®¶ÿ´´´ÿ´´´ÿ´µ´ÿµ´µÿ´´´ÿ´µ´ÿµ´µÿµ´µÿ´´´ÿµµµÿµµµÿµ¶µÿµ¶µÿ¶µ¶ÿ¶¶¶ÿµ¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶··ÿ·¶·ÿ···ÿ···ÿ···ÿ···ÿ··¸ÿ···ÿ¸¸¸ÿ¸·¸ÿ·¸·ÿ¸·¸ÿ¸¸¸ÿ¸¸¸ÿ¹¸¸ÿ¸¸¹ÿ¹¸¹ÿ¸¸¹ÿ¸¹¸ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹ººÿ¹¹ºÿ¹¹ºÿ¹ººÿºººÿº¹ºÿºººÿºººÿº»»ÿ»º»ÿº»»ÿº»»ÿº»ºÿº»»ÿ»»»ÿ»¼»ÿ¼»¼ÿ»¼»ÿ»¼»ÿ»»¼ÿ¼»¼ÿ¼»¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ½¼¼ÿ½¼¼ÿ¼¼¼ÿ½¼½ÿ½¼½ÿ½½½ÿ½½½ÿ½½½ÿ½½½ÿ¾½½ÿ½½½ÿ½½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¿ÿ¾¾¾ÿ¿¾¾ÿ¿¿¾ÿ¿¿¾ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿À¿ÿ¿¿¿ÿ¿ÀÀÿÀÀÀÿÀÀÀÿ¿¿ÀÿÀ¿ÀÿÀÀÀÿÀÀÀÿÀÀÀÿÁÀÁÿÀÀÀÿÁÁÁÿÁÀÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÁÿÂÁÂÿÂÁÁÿÁÂÂÿÁÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÃÃÂÿÃÃÃÿÂÃÃÿÃÂÃÿÃÃÃÿÂÃÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÄÄÿÄÄÄÿÃÄÄÿÄÄÄÿÄÄÃÿÄÄÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÅÄÿÅÅÄÿÅÅÅÿÅÅÅÿÅÅÅÿÅÅÅÿÅÆÅÿÆÅÅÿÆÅÅÿÆÆÆÿÅÅÅÿÆÆÆÿÆÆÆÿÆÆÆÿÆÇÆÿÆÇÇÿÆÆÇÿÇÆÇÿÆÇÆÿÇÇÇÿÇÇÇÿÇÇÇÿÇÇÇÿÇÈÇÿÇÇÇÿÈÈÇÿÇÈÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÉÿÈÈÈÿÉÉÈÿÈÉÉÿÈÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÉÉÿÉÊÉÿÊÉÊÿÊÉÊÿÉÊÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊËÊÿËÊÊÿÊËËÿËËÊÿËÊËÿËËÊÿËËÊÿËËËÿËËËÿËËËÿÌËËÿËËËÿËËÌÿÌËÌÿËÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÍÿÌÌÌÿÍÍÌÿÍÍÍÿÍÍÍÿÍÍÌÿÍÍÍÿÍÍÍÿÍÎÍÿÎÎÎÿÎÍÎÿÎÍÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÏÎÿÎÏÏÿÏÎÏÿÎÎÏÿÏÏÎÿÏÎÎÿÏÏÏÿÏÏÏÿÏÐÏÿÐÏÏÿÏÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÑÐÿÐÐÐÿÐÐÐÿÐÑÐÿÑÑÑÿÐÑÑÿÑÐÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÒÿÑÑÑÿÑÑÒÿÑÑÒÿÒÒÑÿÒÒÒÿÒÒÒÿÒÒÒÿÒÓÒÿÒÒÓÿÓÓÒÿÒÓÓÿÓÓÒÿÓÒÒÿÓÓÓÿÓÓÓÿÔÓÔÿÓÓÓÿÓÓÔÿÓÔÓÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÕÿÕÕÕÿÕÕÕÿÔÔÕÿÕÕÕÿÕÕÕÿÕÕÕÿÖÕÕÿÕÕÖÿÖÖÕÿÖÖÖÿÖÖÕÿÖÖÖÿÖÖÖÿÖ×ÖÿÖ××ÿÖÖÖÿ×ÖÖÿÖ××ÿ×××ÿ×××ÿ×××ÿ×××ÿר×ÿ×רÿר×ÿ×רÿØØØÿØØØÿØØØÿØØÙÿØØØÿØØØÿØØØÿÙÙÙÿÙÙÙÿØÙØÿÙÙÙÿÙÙÙÿÚÙÙÿÚÙÚÿÙÚÚÿÙÚÙÿÚÚÚÿÙÙÚÿÚÚÚÿÚÚÚÿÚÚÚÿÚÛÛÿÚÚÛÿÚÚÚÿÛÚÛÿÚÛÛÿÛÛÛÿÛÛÛÿÛÜÛÿÜÛÛÿÛÛÜÿÛÜÛÿÛÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÝÝÝÿÜÝÜÿÜÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÞÞÿÝÞÝÿÞÝÝÿÞÝÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞßßÿßÞÞÿÞÞÞÿßßßÿÞßßÿßÞßÿßßßÿßßßÿßßßÿßßßÿàßàÿßàßÿßßàÿßßàÿàààÿàßàÿàààÿàààÿáááÿáààÿàááÿáààÿáááÿáááÿáááÿááâÿâááÿâááÿááâÿáââÿâââÿâââÿâââÿâââÿâââÿãâãÿâââÿãããÿãããÿãããÿãããÿãããÿãããÿãäãÿäããÿääãÿääãÿäääÿäääÿäääÿåääÿåääÿäååÿååäÿåååÿäååÿåäåÿåååÿåååÿæåæÿæååÿåååÿææåÿæææÿæåæÿæææÿççæÿæçæÿæææÿççæÿççæÿçççÿççæÿçççÿçèçÿçççÿçççÿèççÿèèèÿçèèÿèèçÿèèèÿèèèÿèéèÿéèéÿèèèÿèééÿéèèÿéèéÿééèÿêééÿééêÿéééÿééêÿééêÿéêéÿéêêÿ–––ÿ–––ÿ–––ÿ—––ÿ——–ÿ––—ÿ––—ÿ–—–ÿ––—ÿ—–—ÿ–––ÿ—–—ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–——ÿ–––ÿ–––ÿ—––ÿ–—–ÿ–––ÿ—––ÿ———ÿ–—–ÿ—––ÿ—––ÿ——–ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–——ÿ––—ÿ––—ÿ––—ÿ–––ÿ—––ÿ–––ÿ—––ÿ–––ÿ–––ÿ—––ÿ–––ÿ—–—ÿ———ÿ––—ÿ—––ÿ–—–ÿ—––ÿ––—ÿ–––ÿ–——ÿ—–—ÿ–––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ––—ÿ——–ÿ–––ÿ—––ÿ––—ÿ–––ÿ—––ÿ–––ÿ–––ÿ——–ÿ–—–ÿ––—ÿ–––ÿ—––ÿ––—ÿ–––ÿ–——ÿ–––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ—–—ÿ–—–ÿ––—ÿ–––ÿ–—–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ–—–ÿ–––ÿ———ÿ——–ÿ——–ÿ–—–ÿ———ÿ—––ÿ—–—ÿ––—ÿ—––ÿ–––ÿ——–ÿ–––ÿ–——ÿ—––ÿ––—ÿ———ÿ——–ÿ—–—ÿ———ÿ——˜ÿ˜——ÿ———ÿ˜——ÿ˜˜˜ÿ˜˜˜ÿ˜˜—ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ˜˜˜ÿ˜˜™ÿ˜˜˜ÿ™™˜ÿ™™˜ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿ™™™ÿšš™ÿšššÿš™šÿšššÿšššÿšššÿšššÿš››ÿš››ÿš››ÿ›››ÿ›››ÿš››ÿ›››ÿ›››ÿœ›œÿœœœÿ›œ›ÿœœœÿ››œÿœ›œÿœœÿœœœÿœœœÿœÿœÿœœÿÿœœÿÿžÿžÿžÿžÿžžžÿžžÿžžžÿžŸžÿžžžÿžŸžÿŸžžÿžŸŸÿŸžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸŸ ÿ   ÿŸ ŸÿŸ  ÿ   ÿ   ÿ   ÿ¡ ¡ÿ ¡ ÿ ¡¡ÿ   ÿ¡¡ ÿ¡ ¡ÿ¡¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¡ÿ¢¡¡ÿ¡¡¢ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢£ÿ££¢ÿ£££ÿ£££ÿ¤££ÿ¤££ÿ£¤¤ÿ¤££ÿ£¤¤ÿ¤¤£ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¥¤¤ÿ¥¤¤ÿ¥¤¥ÿ¥¤¥ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¦¥ÿ¦¦¦ÿ¦¦¥ÿ¥¦¦ÿ¦¦¥ÿ§¦¦ÿ¦§¦ÿ¦§§ÿ§¦§ÿ§¦¦ÿ§¦§ÿ¦¦§ÿ§¦§ÿ§§§ÿ§§¨ÿ§§§ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨§§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ©¨¨ÿ©©©ÿ©©©ÿ©¨©ÿ©©©ÿ©©©ÿ©©©ÿ©©©ÿ©ª©ÿªªªÿª©ªÿª©ªÿªªªÿªªªÿªªªÿªªªÿ«ª«ÿ«ªªÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ«««ÿ«¬«ÿ¬¬¬ÿ«¬¬ÿ¬«¬ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ¬¬¬ÿ­¬¬ÿ¬¬­ÿ­­¬ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­­ÿ­­®ÿ­®®ÿ®®®ÿ®®­ÿ®®®ÿ®®®ÿ®®¯ÿ®®¯ÿ¯®®ÿ®®¯ÿ¯¯¯ÿ®¯®ÿ¯¯¯ÿ¯¯¯ÿ°¯¯ÿ««±ÿ˜›·ÿ‡¾ÿYeÆÿ;Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ@TÉÿv}Ãÿ—š¼ÿ®¯¶ÿ´³´ÿ³´³ÿ´´´ÿ´´´ÿ´´´ÿµ´´ÿ´µµÿ´µ´ÿ´´´ÿµµµÿ´µµÿµµµÿµµµÿµµµÿµµ¶ÿ¶µ¶ÿµµµÿ¶¶µÿ¶µ¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ··¶ÿ··¶ÿ·¶·ÿ¶¶¶ÿ···ÿ···ÿ¸¸·ÿ···ÿ·¸·ÿ··¸ÿ¸¸¸ÿ¸¸¸ÿ¸·¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¸¸¹ÿ¹¹¹ÿ¸¸¹ÿ¹¹¸ÿ¹¹¹ÿ¹¸¹ÿ¹¹¹ÿ¹¹¹ÿºº¹ÿº¹ºÿº¹ºÿºººÿ¹ººÿºººÿºººÿºººÿºººÿ»º»ÿ»ººÿ»º»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»¼¼ÿ¼»¼ÿ»»»ÿ¼¼»ÿ»¼»ÿ»¼¼ÿ¼¼¼ÿ¼½¼ÿ¼¼¼ÿ¼¼¼ÿ¼½¼ÿ½½½ÿ½½½ÿ½½¼ÿ½½½ÿ½½½ÿ½½½ÿ½½¾ÿ½¾½ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¿¿¾ÿ¿¾¾ÿ¿¿¿ÿ¾¿¾ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿÀ¿ÀÿÀÀ¿ÿÀÀÀÿ¿À¿ÿÀÀ¿ÿÀÀÀÿÀÀÀÿÁÀÀÿÀÁÁÿÀÁÁÿÁÀÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÂÁÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÂÿÂÂÃÿÂÂÃÿÃÂÃÿÃÃÃÿÃÂÃÿÂÃÃÿÃÃÃÿÃÃÄÿÄÄÄÿÃÃÄÿÃÃÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÅÿÄÄÄÿÅÅÄÿÅÅÄÿÅÄÅÿÅÄÅÿÄÅÅÿÅÅÅÿÅÅÅÿÆÆÆÿÅÅÅÿÅÅÆÿÆÆÆÿÅÆÅÿÆÅÆÿÆÆÆÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÆÇÆÿÆÆÇÿÆÇÇÿÇÇÇÿÇÆÇÿÇÇÇÿÇÇÇÿÇÇÈÿÈÇÈÿÈÇÇÿÈÇÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÉÈÿÈÈÈÿÉÉÈÿÉÉÈÿÈÉÉÿÉÉÉÿÉÉÈÿÉÉÉÿÉÉÉÿÊÉÊÿÉÉÊÿÉÊÉÿÊÊÊÿÉÊÉÿÊÊÊÿÊÊÊÿÊÊÊÿÊËÊÿÊÊÊÿÊËÊÿËËÊÿËËËÿÊËËÿËËËÿËËËÿËÌËÿËËËÿËÌÌÿÌÌËÿÌÌËÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÌÌÌÿÍÌÍÿÍÌÍÿÍÍÍÿÍÍÍÿÌÍÍÿÍÍÍÿÍÍÍÿÍÍÍÿÎÎÍÿÍÎÎÿÍÎÍÿÍÎÎÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÎÿÎÎÏÿÎÏÏÿÎÎÎÿÏÏÏÿÏÏÎÿÏÏÏÿÏÏÏÿÐÐÐÿÏÐÏÿÏÏÐÿÐÏÏÿÐÐÏÿÐÐÏÿÐÏÐÿÐÐÐÿÐÐÐÿÐÑÑÿÑÐÑÿÐÐÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÑÿÑÑÑÿÒÒÒÿÒÑÒÿÒÒÒÿÒÑÒÿÒÒÒÿÒÒÒÿÒÓÒÿÒÒÓÿÓÒÒÿÓÓÓÿÓÒÓÿÒÓÒÿÓÓÓÿÔÓÓÿÓÓÓÿÓÔÔÿÔÓÓÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÕÔÔÿÔÔÕÿÕÕÕÿÕÔÕÿÕÔÕÿÕÕÕÿÕÖÕÿÕÕÕÿÖÕÕÿÖÖÖÿÕÖÖÿÖÖÖÿÖÕÖÿÖÖ×ÿ×ÖÖÿÖ×Öÿ×ÖÖÿÖ×Öÿ×××ÿÖ××ÿ××Öÿ×××ÿ×××ÿØ××ÿ×רÿØ××ÿר×ÿØØ×ÿØØØÿØØØÿØÙØÿÙØØÿØØØÿØÙØÿÙØØÿÙÙÙÿØÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÙÙÙÿÚÙÚÿÚÚÚÿÚÙÚÿÚÙÚÿÚÙÚÿÚÚÚÿÚÚÛÿÛÚÚÿÚÛÚÿÛÛÛÿÛÛÛÿÛÛÚÿÛÛÚÿÛÛÛÿÛÛÛÿÛÛÛÿÛÛÛÿÜÛÜÿÛÜÜÿÜÛÜÿÜÛÜÿÜÜÜÿÝÜÜÿÜÜÜÿÜÝÜÿÜÜÝÿÝÝÝÿÜÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÝÝÝÿÞÞÝÿÝÞÞÿÝÞÝÿÞÞÞÿÞÞÞÿÞÞÞÿÞÞÞÿÞßÞÿÞßßÿÞßßÿßÞßÿÞßßÿßßßÿßßàÿßßßÿßßßÿßßßÿßßàÿàßàÿàààÿßààÿàààÿàààÿààáÿààáÿááàÿàáàÿáááÿáááÿáááÿâááÿáááÿáââÿáâáÿáâáÿâââÿâââÿâââÿâââÿâââÿããâÿãââÿãâãÿââãÿããâÿãâãÿãããÿãããÿääãÿãããÿääãÿãääÿäãäÿääãÿäääÿäääÿääåÿåääÿåääÿäååÿåååÿåååÿåååÿåæåÿåååÿåææÿæååÿåæåÿæææÿææåÿæææÿæææÿæææÿææçÿçææÿçææÿççæÿçççÿçççÿèçèÿçççÿèççÿçèçÿèçèÿçèèÿèèèÿèèèÿèèèÿèèèÿéèèÿèéèÿèééÿèèéÿéééÿéééÿéééÿéêéÿéééÿêéêÿééêÿêêêÿ–––ÿ—––ÿ–––ÿ—––ÿ—––ÿ–––ÿ——–ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–—–ÿ——–ÿ–––ÿ––—ÿ––—ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ—––ÿ–––ÿ––—ÿ–——ÿ––—ÿ–––ÿ–––ÿ–——ÿ–––ÿ––—ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–——ÿ–——ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–––ÿ–––ÿ——–ÿ–––ÿ––—ÿ——–ÿ——–ÿ–––ÿ——–ÿ–––ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ–——ÿ–––ÿ—––ÿ—––ÿ––—ÿ———ÿ–––ÿ––—ÿ—––ÿ–––ÿ–—–ÿ–——ÿ–––ÿ–––ÿ–—–ÿ—–—ÿ––—ÿ––—ÿ––—ÿ—––ÿ–––ÿ––—ÿ——–ÿ–—–ÿ—–—ÿ—–—ÿ––—ÿ–—–ÿ–––ÿ–––ÿ––—ÿ——–ÿ––—ÿ–—–ÿ––—ÿ——–ÿ–––ÿ—––ÿ——–ÿ–––ÿ–—–ÿ–––ÿ–—–ÿ–––ÿ—–—ÿ—––ÿ–—–ÿ—––ÿ–––ÿ–––ÿ—––ÿ—––ÿ–——ÿ–——ÿ–—–ÿ——–ÿ———ÿ———ÿ———ÿ———ÿ˜˜—ÿ˜—˜ÿ—˜—ÿ˜——ÿ˜˜—ÿ˜˜˜ÿ˜˜˜ÿ˜™˜ÿ˜˜˜ÿ˜˜™ÿ™™™ÿ˜™™ÿ™˜˜ÿ™™™ÿ™™™ÿš™™ÿ™ššÿš™™ÿšš™ÿš™šÿšššÿ™™šÿšššÿ›š›ÿšššÿ›ššÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›››ÿ›œ›ÿœ››ÿœœ›ÿœœ›ÿ››œÿœœ›ÿœœœÿœœœÿœœÿœœÿœœÿœÿœÿœÿÿÿžÿžžžÿžžÿžÿžžžÿžžÿžžžÿžžžÿžŸžÿŸžŸÿŸžŸÿžžŸÿžŸŸÿŸŸŸÿŸŸžÿŸŸŸÿ   ÿŸŸŸÿ  ŸÿŸŸ ÿŸ Ÿÿ Ÿ ÿ   ÿ   ÿ¡ ¡ÿ   ÿ  ¡ÿ¡¡¡ÿ¡ ¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¢¡ÿ¢¡¢ÿ¢¢¢ÿ¢¢¡ÿ¢¢¡ÿ¡¢¢ÿ¡¡¢ÿ¢¢¢ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ£¢£ÿ¢£¢ÿ£££ÿ£££ÿ£££ÿ£££ÿ¤££ÿ¤¤£ÿ£££ÿ¤£¤ÿ£¤¤ÿ¤£¤ÿ¤¤£ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¤¤ÿ¤¥¤ÿ¤¥¤ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¥ÿ¥¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ§¦¦ÿ¦§¦ÿ¦¦¦ÿ§§§ÿ§§§ÿ§¦§ÿ¨§§ÿ¨¨§ÿ§§§ÿ¨¨§ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©¨©ÿ¨¨©ÿ¨¨¨ÿ¨©¨ÿ©©¨ÿ©©©ÿ©©©ÿ©©©ÿª©©ÿª©©ÿª©©ÿª©ªÿªª©ÿªªªÿªªªÿªªªÿªªªÿªªªÿªªªÿ«««ÿ«««ÿ«««ÿ«««ÿ«««ÿ¬««ÿ«¬«ÿ«¬«ÿ««¬ÿ«««ÿ¬¬¬ÿ¬¬¬ÿ¬­¬ÿ¬¬¬ÿ­¬¬ÿ¬­­ÿ¬­¬ÿ­­­ÿ¬­­ÿ­­­ÿ­­­ÿ­­­ÿ­®­ÿ­®®ÿ­®­ÿ­­®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯¯®ÿ¯®¯ÿ®¯¯ÿ¯¯®ÿ¯¯®ÿ¯°¯ÿ¯¯¯ÿ¯¯¯ÿ°°¯ÿ®¯¯ÿ­¬°ÿ¤¥µÿ‡Œ½ÿ[gÆÿ4LÊÿ)GËÿ@Ëÿ;Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ:Ìÿ@Ëÿ*GËÿ=RÊÿjtÄÿ˜›»ÿ®®µÿ±±´ÿ³³³ÿ³´³ÿ´³´ÿ´³³ÿ´³³ÿ´´´ÿ´´´ÿ´´´ÿ´´´ÿ´´µÿ´´µÿ´´´ÿµµµÿµµ´ÿµµµÿµµµÿµ¶¶ÿµ¶¶ÿµ¶¶ÿ¶¶¶ÿµ¶¶ÿ¶¶µÿ¶¶¶ÿ¶¶¶ÿ¶¶¶ÿ¶¶·ÿ¶·¶ÿ¶·¶ÿ···ÿ·¶·ÿ··¶ÿ···ÿ···ÿ···ÿ···ÿ¸·¸ÿ·¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¸¸ÿ¸¹¸ÿ¸¸¸ÿ¸¸¹ÿ¸¸¸ÿ¹¸¹ÿ¹¹¹ÿ¹¹¸ÿ¹¹¹ÿ¹¹¹ÿ¹¹¹ÿ¹º¹ÿ¹º¹ÿ¹¹¹ÿºººÿ¹ººÿº¹ºÿºº»ÿºººÿ»ººÿºº»ÿºº»ÿ»ººÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ»»»ÿ¼»¼ÿ¼¼¼ÿ¼¼¼ÿ¼¼¼ÿ»¼¼ÿ¼¼¼ÿ¼¼¼ÿ½¼¼ÿ¼¼¼ÿ¼½½ÿ½½½ÿ¼½½ÿ½½¼ÿ½½½ÿ¾½½ÿ½½¾ÿ½½¾ÿ½¾¾ÿ¾¾¾ÿ¾½¾ÿ¾¾¾ÿ¾¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¾¾ÿ¿¾¾ÿ¾¿¾ÿ¾¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿¿ÿ¿¿ÀÿÀ¿ÀÿÀÀ¿ÿ¿¿¿ÿÀÀÀÿÀÀÀÿÀÀÁÿÀÀÀÿÀÀÀÿÁÀÀÿÁÀÁÿÀÁÀÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÁÁÿÁÂÁÿÂÁÂÿÂÁÂÿÂÁÂÿÂÂÂÿÂÂÂÿÂÃÂÿÂÂÂÿÂÃÂÿÂÂÂÿÃÂÂÿÂÃÂÿÃÂÃÿÃÃÃÿÃÃÃÿÃÃÄÿÄÃÃÿÃÃÃÿÄÄÄÿÄÃÄÿÄÄÄÿÄÄÄÿÄÄÄÿÅÄÄÿÄÄÄÿÄÄÅÿÄÅÅÿÅÅÄÿÅÅÅÿÄÅÅÿÅÅÅÿÅÅÅÿÅÆÆÿÆÆÅÿÅÆÅÿÅÅÅÿÆÆÅÿÆÆÆÿÆÆÆÿÆÆÆÿÇÆÆÿÇÇÆÿÇÆÇÿÇÆÆÿÇÇÆÿÇÆÇÿÇÇÇÿÇÇÈÿÇÇÇÿÇÈÈÿÈÇÇÿÈÇÇÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÈÈÈÿÉÈÈÿÈÈÈÿÉÈÉÿÈÈÉÿÉÉÉÿÉÉÉÿÉÉÉÿÊÉÉÿÉÉÊÿÉÉÊÿÉÊÉÿÊÊÉÿÊÊÊÿÊÊÊÿÊËËÿÊÊÊÿÊÊÊÿÊËËÿËËÊÿËÊËÿËËËÿËËËÿËÌËÿÌÌËÿËËËÿÌÌÌÿÌÌÌÿÌËÌÿËÌÌÿÌÌÌÿÌÍÌÿÌÍÌÿÌÍÍÿÌÍÍÿÍÌÍÿÌÍÌÿÌÍÍÿÍÍÍÿÍÍÍÿÍÎÍÿÍÎÎÿÍÍÍÿÍÍÎÿÎÎÍÿÎÎÎÿÎÎÎÿÎÎÎÿÏÎÏÿÎÎÎÿÎÏÎÿÎÎÏÿÏÏÏÿÎÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÏÿÏÏÐÿÐÐÐÿÏÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÐÐÐÿÑÐÐÿÐÐÑÿÑÑÐÿÑÑÐÿÑÑÑÿÑÑÑÿÑÑÑÿÑÒÒÿÑÑÑÿÑÑÑÿÑÑÑÿÒÒÒÿÑÑÑÿÒÒÒÿÒÑÒÿÒÒÓÿÒÒÒÿÒÓÓÿÒÒÒÿÒÓÒÿÒÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÓÓÿÓÔÓÿÓÔÓÿÓÓÔÿÔÔÓÿÔÔÔÿÔÔÔÿÔÔÔÿÔÔÔÿÔÕÔÿÕÔÕÿÔÕÕÿÔÔÕÿÕÕÕÿÕÕÕÿÕÕÖÿÕÕÕÿÖÕÕÿÕÕÕÿÖÖÖÿÕÖÖÿÖÖÖÿÖÖÖÿÖÖÖÿÖÖ×ÿÖÖÖÿÖÖÖÿ×ÖÖÿ×Ö×ÿ×××ÿ×××ÿØ××ÿ×××ÿ×××ÿØ××ÿØ×Øÿר×ÿØØØÿØØØÿØØØÿØØØÿØÙÙÿÙØØÿÙØØÿØÙØÿÙØØÿÙÙÙÿÙÙÙÿÙÚÙÿÙÙÚÿÚÚÙÿÚÚÙÿÙÚÚÿÚÚÙÿÚÚÚÿÚÙÚÿÚÚÚÿÛÚÛÿÚÚÚÿÛÛÛÿÛÛÛÿÛÛÛÿÚÛÛÿÛÛÛÿÛÛÜÿÛÛÜÿÛÜÛÿÛÜÛÿÛÛÜÿÛÛÜÿÜÜÜÿÜÜÜÿÜÜÜÿÝÜÜÿÜÜÜÿÜÜÜÿÜÝÝÿÝÝÝÿÝÝÜÿÝÝÝÿÝÝÝÿÝÝÝÿÞÝÝÿÞÝÝÿÞÞÝÿÞÝÝÿÞÞÞÿÞÝÞÿÞÞÞÿÞÞÞÿßÞÞÿÞßÞÿßßßÿßßßÿßßßÿßßßÿßßßÿßßßÿààßÿààßÿàßàÿßßßÿàààÿàààÿàààÿàààÿàààÿááàÿáàáÿáááÿááàÿáááÿáááÿáááÿáááÿááâÿáâáÿâââÿáâáÿâââÿâââÿâââÿâââÿãââÿâããÿãããÿâãâÿãããÿâãâÿãããÿãããÿäããÿãäãÿääãÿãääÿäääÿãääÿäääÿäääÿäääÿäåäÿåäåÿääåÿååäÿåååÿåååÿåååÿåååÿææåÿåååÿåååÿæææÿæåæÿæææÿæææÿççæÿææçÿçææÿæçæÿçæçÿççæÿçççÿçççÿçèçÿçççÿçèçÿçèèÿçççÿèèèÿçççÿèèèÿèèèÿéèèÿèèèÿééèÿééèÿééèÿéééÿéééÿéééÿéééÿêéêÿêêêÿéêêÿ––—ÿ––—ÿ––—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ–—–ÿ––—ÿ–——ÿ–––ÿ–—–ÿ–––ÿ—––ÿ––—ÿ—––ÿ–––ÿ––—ÿ–––ÿ–––ÿ––—ÿ—––ÿ—–—ÿ—–—ÿ–—–ÿ—––ÿ–––ÿ–––ÿ––—ÿ–––ÿ–––ÿ–––ÿ––—ÿ—––ÿ––—ÿ––—ÿ–––ÿ–––ÿ–——ÿ–—–ÿ–——ÿ——–ÿ–—–ÿ–––ÿ–––ÿ–––ÿ––—ÿ––—ÿ–––ÿ–––ÿ—––ÿ–——ÿ—–—ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–––ÿ–––ÿ–—–ÿ––—ÿ—––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–—–ÿ–––ÿ–––ÿ—––ÿ–––ÿ––—ÿ–——ÿ–—–ÿ–––ÿ–––ÿ–––ÿ–––ÿ—––ÿ–––ÿ–––ÿ–——ÿ––—ÿ––—ÿ–––ÿ—––ÿ–––ÿ–—–ÿ—––ÿ––—ÿ—––ÿ–––ÿ—–—ÿ–––ÿ–––ÿ–——ÿ–—–ÿ–—–ÿ–––ÿ––—ÿ–––ÿ–—–ÿ––—ÿ—––ÿ––—ÿ—––ÿ—––ÿ–––ÿ–——ÿ–——ÿ––—ÿ———ÿ——–ÿ–——ÿ———ÿ———ÿ—˜—ÿ—˜—ÿ˜——ÿ—˜˜ÿ—˜˜ÿ˜˜˜ÿ˜˜˜ÿ˜˜˜ÿ™˜˜ÿ˜™™ÿ™™˜ÿ˜™˜ÿ™™˜ÿ™˜™ÿ™™™ÿ™™™ÿ™™™ÿ™™šÿ™™šÿš™šÿšš™ÿšššÿšššÿšššÿšš›ÿ›š›ÿ››šÿš››ÿ›››ÿ›››ÿ›››ÿœ››ÿ›››ÿœ››ÿ›œ›ÿœœ›ÿ››œÿœ›œÿœœœÿœœœÿœœÿœœœÿœœÿœœœÿœÿÿÿÿÿžÿžÿžžÿžžÿžžžÿžžžÿžžžÿžžžÿžŸžÿžŸŸÿŸŸžÿžžŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸŸŸÿŸ ŸÿŸ  ÿŸŸŸÿ  Ÿÿ  ŸÿŸ  ÿ   ÿ   ÿ  ¡ÿ ¡ ÿ  ¡ÿ¡¡ ÿ ¡ ÿ ¡¡ÿ¡¡ ÿ¡¡¡ÿ¡¡¡ÿ¡¡¡ÿ¢¢¡ÿ¡¢¢ÿ¢¡¡ÿ¢¢¡ÿ¢¢¢ÿ¢¢¢ÿ£¢¢ÿ¢¢¢ÿ¢¢£ÿ¢£¢ÿ¢¢£ÿ¢¢£ÿ¢££ÿ£££ÿ£££ÿ£¤¤ÿ£££ÿ£¤£ÿ¤¤¤ÿ¤¤¤ÿ£¤¤ÿ¤¤¤ÿ¤¤¤ÿ¤¤¤ÿ¥¥¥ÿ¥¥¤ÿ¤¤¥ÿ¤¥¤ÿ¥¤¥ÿ¥¥¥ÿ¥¥¥ÿ¦¥¥ÿ¦¥¥ÿ¥¦¦ÿ¦¥¥ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦¦ÿ¦¦§ÿ§§¦ÿ§¦§ÿ§¦§ÿ§§§ÿ§¦§ÿ§¦¦ÿ§§§ÿ§¨¨ÿ§§§ÿ§¨¨ÿ§¨§ÿ§¨¨ÿ§¨¨ÿ¨§¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ¨¨¨ÿ©©©ÿ©¨¨ÿ©©©ÿ©©©ÿ©©©ÿ©ªªÿ©ª©ÿªª©ÿ©©©ÿ©ª©ÿ©ª©ÿªªªÿªªªÿªªªÿªª«ÿª«ªÿª«ªÿª««ÿ«ªªÿ«««ÿ«««ÿ«««ÿ«««ÿ«¬«ÿ«¬«ÿ««¬ÿ¬¬¬ÿ¬¬«ÿ¬¬¬ÿ¬¬¬ÿ¬¬¬ÿ¬¬­ÿ¬¬­ÿ¬¬­ÿ­­¬ÿ¬­­ÿ­­­ÿ­­­ÿ­®­ÿ­­®ÿ­­®ÿ®­®ÿ®®®ÿ®®­ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ®®®ÿ¯®¯ÿ¯®¯ÿ®¯¯ÿ¯¯¯ÿ¯¯¯ÿ¯¯°ÿ¯¯°ÿ¯°°ÿ°¯°ÿ°¯°ÿ¯°°ÿ¯°¯ÿ°°¯ÿª«³ÿš¸ÿ‰½ÿy€ÁÿksÄÿ[gÆÿM]Èÿ Date: Tue, 21 May 2024 23:41:45 +0200 Subject: rp/pwm: rename channel->slice in args, misc fix. --- examples/rp/src/bin/interrupt.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/interrupt.rs b/examples/rp/src/bin/interrupt.rs index d334d35d7..5b9d7027e 100644 --- a/examples/rp/src/bin/interrupt.rs +++ b/examples/rp/src/bin/interrupt.rs @@ -15,7 +15,6 @@ use embassy_executor::Spawner; use embassy_rp::adc::{self, Adc, Blocking}; use embassy_rp::gpio::Pull; use embassy_rp::interrupt; -use embassy_rp::peripherals::PWM_SLICE4; use embassy_rp::pwm::{Config, Pwm}; use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; use embassy_sync::blocking_mutex::Mutex; @@ -26,7 +25,7 @@ use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; static COUNTER: AtomicU32 = AtomicU32::new(0); -static PWM: Mutex>>> = Mutex::new(RefCell::new(None)); +static PWM: Mutex>> = Mutex::new(RefCell::new(None)); static ADC: Mutex, adc::Channel)>>> = Mutex::new(RefCell::new(None)); static ADC_VALUES: Channel = Channel::new(); -- cgit From ec321595765ee63f1c14b72fb62d9d02344fa8dd Mon Sep 17 00:00:00 2001 From: René Herrero Date: Tue, 21 May 2024 17:14:31 -0500 Subject: added CAN example --- examples/stm32l4/src/bin/can.rs | 68 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 examples/stm32l4/src/bin/can.rs (limited to 'examples') diff --git a/examples/stm32l4/src/bin/can.rs b/examples/stm32l4/src/bin/can.rs new file mode 100644 index 000000000..3c4cdac24 --- /dev/null +++ b/examples/stm32l4/src/bin/can.rs @@ -0,0 +1,68 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::can::filter::Mask32; +use embassy_stm32::can::{ + Can, Fifo, Frame, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, TxInterruptHandler, +}; +use embassy_stm32::peripherals::CAN1; +use embassy_stm32::{bind_interrupts, Config}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + CAN1_RX0 => Rx0InterruptHandler; + CAN1_RX1 => Rx1InterruptHandler; + CAN1_SCE => SceInterruptHandler; + CAN1_TX => TxInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Config::default()); + + let mut can = Can::new(p.CAN1, p.PA11, p.PA12, Irqs); + + can.modify_filters().enable_bank(0, Fifo::Fifo0, Mask32::accept_all()); + + can.modify_config() + .set_loopback(true) // Receive own frames + .set_silent(true) + .set_bitrate(250_000); + + can.enable().await; + println!("CAN enabled"); + + let mut i = 0; + let mut last_read_ts = embassy_time::Instant::now(); + loop { + let frame = Frame::new_extended(0x123456F, &[i; 8]).unwrap(); + info!("Writing frame"); + + _ = can.write(&frame).await; + + match can.read().await { + Ok(envelope) => { + let (ts, rx_frame) = (envelope.ts, envelope.frame); + let delta = (ts - last_read_ts).as_millis(); + last_read_ts = ts; + info!( + "Rx: {} {:02x} --- {}ms", + rx_frame.header().len(), + rx_frame.data()[0..rx_frame.header().len() as usize], + delta, + ) + } + Err(err) => error!("Error in frame: {}", err), + } + + Timer::after_millis(250).await; + + i += 1; + if i > 2 { + break; + } + } +} -- cgit From e7161aa085bb145df6607eff5b2c2d0ed06acda1 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Wed, 22 May 2024 00:23:14 +0200 Subject: stm32/qspi: remove DMA generic param. --- examples/stm32f7/src/bin/qspi.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/stm32f7/src/bin/qspi.rs b/examples/stm32f7/src/bin/qspi.rs index 005694db3..90d319b7a 100644 --- a/examples/stm32f7/src/bin/qspi.rs +++ b/examples/stm32f7/src/bin/qspi.rs @@ -4,8 +4,9 @@ use defmt::info; use embassy_executor::Spawner; +use embassy_stm32::mode::Async; use embassy_stm32::qspi::enums::{AddressSize, ChipSelectHighTime, FIFOThresholdLevel, MemorySize, *}; -use embassy_stm32::qspi::{Config as QspiCfg, Instance, Qspi, QuadDma, TransferConfig}; +use embassy_stm32::qspi::{Config as QspiCfg, Instance, Qspi, TransferConfig}; use embassy_stm32::time::mhz; use embassy_stm32::Config as StmCfg; use {defmt_rtt as _, panic_probe as _}; @@ -43,12 +44,12 @@ const MEMORY_ADDR: u32 = 0x00000000u32; /// Implementation of access to flash chip. /// Chip commands are hardcoded as it depends on used chip. /// This implementation is using chip GD25Q64C from Giga Device -pub struct FlashMemory> { - qspi: Qspi<'static, I, D>, +pub struct FlashMemory { + qspi: Qspi<'static, I, Async>, } -impl> FlashMemory { - pub fn new(qspi: Qspi<'static, I, D>) -> Self { +impl FlashMemory { + pub fn new(qspi: Qspi<'static, I, Async>) -> Self { let mut memory = Self { qspi }; memory.reset_memory(); @@ -279,7 +280,7 @@ async fn main(_spawner: Spawner) -> ! { cs_high_time: ChipSelectHighTime::_1Cycle, fifo_threshold: FIFOThresholdLevel::_16Bytes, }; - let driver = Qspi::new_bk1( + let driver = Qspi::new_bank1( p.QUADSPI, p.PF8, p.PF9, p.PE2, p.PF6, p.PF10, p.PB10, p.DMA2_CH7, config, ); let mut flash = FlashMemory::new(driver); -- cgit From 183f2f6913032600d74ea058b50a1fcedbebe719 Mon Sep 17 00:00:00 2001 From: Jan Å paÄek Date: Thu, 18 Apr 2024 18:50:30 +0200 Subject: stm32/usart: remove instance generic params --- examples/stm32h5/src/bin/usart_split.rs | 3 +-- examples/stm32h7/src/bin/usart_split.rs | 3 +-- examples/stm32h7rs/src/bin/usart_split.rs | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/stm32h5/src/bin/usart_split.rs b/examples/stm32h5/src/bin/usart_split.rs index 77b4caa9e..d26c5003c 100644 --- a/examples/stm32h5/src/bin/usart_split.rs +++ b/examples/stm32h5/src/bin/usart_split.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::mode::Async; -use embassy_stm32::peripherals::UART7; use embassy_stm32::usart::{Config, Uart, UartRx}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; @@ -38,7 +37,7 @@ async fn main(spawner: Spawner) -> ! { } #[embassy_executor::task] -async fn reader(mut rx: UartRx<'static, UART7, Async>) { +async fn reader(mut rx: UartRx<'static, Async>) { let mut buf = [0; 8]; loop { info!("reading..."); diff --git a/examples/stm32h7/src/bin/usart_split.rs b/examples/stm32h7/src/bin/usart_split.rs index 4ad8e77ce..2bb58be5e 100644 --- a/examples/stm32h7/src/bin/usart_split.rs +++ b/examples/stm32h7/src/bin/usart_split.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::mode::Async; -use embassy_stm32::peripherals::UART7; use embassy_stm32::usart::{Config, Uart, UartRx}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; @@ -38,7 +37,7 @@ async fn main(spawner: Spawner) -> ! { } #[embassy_executor::task] -async fn reader(mut rx: UartRx<'static, UART7, Async>) { +async fn reader(mut rx: UartRx<'static, Async>) { let mut buf = [0; 8]; loop { info!("reading..."); diff --git a/examples/stm32h7rs/src/bin/usart_split.rs b/examples/stm32h7rs/src/bin/usart_split.rs index 77b4caa9e..d26c5003c 100644 --- a/examples/stm32h7rs/src/bin/usart_split.rs +++ b/examples/stm32h7rs/src/bin/usart_split.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::mode::Async; -use embassy_stm32::peripherals::UART7; use embassy_stm32::usart::{Config, Uart, UartRx}; use embassy_stm32::{bind_interrupts, peripherals, usart}; use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; @@ -38,7 +37,7 @@ async fn main(spawner: Spawner) -> ! { } #[embassy_executor::task] -async fn reader(mut rx: UartRx<'static, UART7, Async>) { +async fn reader(mut rx: UartRx<'static, Async>) { let mut buf = [0; 8]; loop { info!("reading..."); -- cgit From 201b5c6ec1eee12b34a2a2102263849d21ae8e7f Mon Sep 17 00:00:00 2001 From: Joël Schulz-Andres Date: Fri, 24 May 2024 14:03:27 +0200 Subject: Add NRF52810 example --- examples/nrf52810/.cargo/config.toml | 9 +++++++++ examples/nrf52810/Cargo.toml | 24 ++++++++++++++++++++++++ examples/nrf52810/build.rs | 35 +++++++++++++++++++++++++++++++++++ examples/nrf52810/memory.x | 7 +++++++ examples/nrf52810/src/bin/blinky.rs | 20 ++++++++++++++++++++ 5 files changed, 95 insertions(+) create mode 100644 examples/nrf52810/.cargo/config.toml create mode 100644 examples/nrf52810/Cargo.toml create mode 100644 examples/nrf52810/build.rs create mode 100644 examples/nrf52810/memory.x create mode 100644 examples/nrf52810/src/bin/blinky.rs (limited to 'examples') diff --git a/examples/nrf52810/.cargo/config.toml b/examples/nrf52810/.cargo/config.toml new file mode 100644 index 000000000..47647db91 --- /dev/null +++ b/examples/nrf52810/.cargo/config.toml @@ -0,0 +1,9 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +# replace nRF82840_xxAA with your chip as listed in `probe-rs chip list` +runner = "probe-rs run --chip nRF52810_xxAA" + +[build] +target = "thumbv7em-none-eabi" + +[env] +DEFMT_LOG = "trace" diff --git a/examples/nrf52810/Cargo.toml b/examples/nrf52810/Cargo.toml new file mode 100644 index 000000000..8ed8f54d7 --- /dev/null +++ b/examples/nrf52810/Cargo.toml @@ -0,0 +1,24 @@ +[package] +edition = "2021" +name = "embassy-nrf52810-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } +embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } + +defmt = "0.3" +defmt-rtt = "0.4" + +fixed = "1.10.0" +static_cell = { version = "2" } +cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } +cortex-m-rt = "0.7.0" +panic-probe = { version = "0.3", features = ["print-defmt"] } + +[profile.release] +debug = 2 diff --git a/examples/nrf52810/build.rs b/examples/nrf52810/build.rs new file mode 100644 index 000000000..30691aa97 --- /dev/null +++ b/examples/nrf52810/build.rs @@ -0,0 +1,35 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory -- wherever `Cargo.toml` is. However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! updating `memory.x` ensures a rebuild of the application with the +//! new memory settings. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); + + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/nrf52810/memory.x b/examples/nrf52810/memory.x new file mode 100644 index 000000000..7cf560e44 --- /dev/null +++ b/examples/nrf52810/memory.x @@ -0,0 +1,7 @@ +MEMORY +{ + /* NOTE 1 K = 1 KiBi = 1024 bytes */ + FLASH : ORIGIN = 0x00000000, LENGTH = 256K + RAM : ORIGIN = 0x20000000, LENGTH = 24K + +} diff --git a/examples/nrf52810/src/bin/blinky.rs b/examples/nrf52810/src/bin/blinky.rs new file mode 100644 index 000000000..1da039f7d --- /dev/null +++ b/examples/nrf52810/src/bin/blinky.rs @@ -0,0 +1,20 @@ +#![no_std] +#![no_main] + +use embassy_executor::Spawner; +use embassy_nrf::gpio::{Level, Output, OutputDrive}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_nrf::init(Default::default()); + let mut led = Output::new(p.P0_18, Level::Low, OutputDrive::Standard); + + loop { + led.set_high(); + Timer::after_millis(300).await; + led.set_low(); + Timer::after_millis(300).await; + } +} -- cgit From 92988a39397b8d016fbd6ec3783530da1bb43ae4 Mon Sep 17 00:00:00 2001 From: Joël Schulz-Andres Date: Fri, 24 May 2024 14:22:30 +0200 Subject: Correct chip in comment --- examples/nrf52810/.cargo/config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/nrf52810/.cargo/config.toml b/examples/nrf52810/.cargo/config.toml index 47647db91..917a5364a 100644 --- a/examples/nrf52810/.cargo/config.toml +++ b/examples/nrf52810/.cargo/config.toml @@ -1,5 +1,5 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] -# replace nRF82840_xxAA with your chip as listed in `probe-rs chip list` +# replace nRF82810_xxAA with your chip as listed in `probe-rs chip list` runner = "probe-rs run --chip nRF52810_xxAA" [build] -- cgit From 25cc5241b1e7c4a35c427626cd8f2f8721948830 Mon Sep 17 00:00:00 2001 From: Alexandros Liarokapis Date: Mon, 20 May 2024 16:15:41 +0300 Subject: Add i2s support for spi_v3. --- examples/stm32f4/src/bin/i2s_dma.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/i2s_dma.rs b/examples/stm32f4/src/bin/i2s_dma.rs index 97a04b2aa..27b165f1b 100644 --- a/examples/stm32f4/src/bin/i2s_dma.rs +++ b/examples/stm32f4/src/bin/i2s_dma.rs @@ -15,14 +15,13 @@ async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); info!("Hello World!"); - let mut i2s = I2S::new( + let mut i2s = I2S::new_txonly( p.SPI2, p.PC3, // sd p.PB12, // ws p.PB10, // ck p.PC6, // mck p.DMA1_CH4, - p.DMA1_CH3, Hertz(1_000_000), Config::default(), ); -- cgit From 642465a7da64333b9339283f3b3a14cb04bd349e Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Tue, 28 May 2024 20:20:15 -0400 Subject: add stm32f446 files --- examples/stm32f4/.cargo/config.toml | 6 ++++-- examples/stm32f4/.vscode/launch.json | 33 +++++++++++++++++++++++++++++ examples/stm32f4/.vscode/tasks.json | 21 +++++++++++++++++++ examples/stm32f4/Cargo.toml | 2 +- examples/stm32f4/openocd.cfg | 5 +++++ examples/stm32f4/openocd.gdb | 40 ++++++++++++++++++++++++++++++++++++ 6 files changed, 104 insertions(+), 3 deletions(-) create mode 100644 examples/stm32f4/.vscode/launch.json create mode 100644 examples/stm32f4/.vscode/tasks.json create mode 100644 examples/stm32f4/openocd.cfg create mode 100644 examples/stm32f4/openocd.gdb (limited to 'examples') diff --git a/examples/stm32f4/.cargo/config.toml b/examples/stm32f4/.cargo/config.toml index 16efa8e6f..f5a4af51a 100644 --- a/examples/stm32f4/.cargo/config.toml +++ b/examples/stm32f4/.cargo/config.toml @@ -1,9 +1,11 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] # replace STM32F429ZITx with your chip as listed in `probe-rs chip list` -runner = "probe-rs run --chip STM32F429ZITx" +# runner = "probe-rs run --chip STM32F429ZITx" +runner = "arm-none-eabi-gdb -q -x openocd.gdb" [build] -target = "thumbv7em-none-eabi" +# target = "thumbv7em-none-eabi" +target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) [env] DEFMT_LOG = "trace" diff --git a/examples/stm32f4/.vscode/launch.json b/examples/stm32f4/.vscode/launch.json new file mode 100644 index 000000000..59f98070d --- /dev/null +++ b/examples/stm32f4/.vscode/launch.json @@ -0,0 +1,33 @@ +{ + /* + * Requires the Rust Language Server (rust-analyzer) and Cortex-Debug extensions + * https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer + * https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug + */ + "version": "0.2.0", + "configurations": [ + { + /* Configuration for the STM32F446 Discovery board */ + "type": "cortex-debug", + "request": "launch", + "name": "Debug (OpenOCD)", + "servertype": "openocd", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Cargo Build (debug)", + "runToEntryPoint": "main", + "executable": "./target/thumbv7em-none-eabihf/debug/multiprio", + /* Run `cargo build --example itm` and uncomment this line to run itm example */ + // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", + "device": "STM32F446RET6", + "configFiles": [ + "interface/stlink.cfg", + "target/stm32f4x.cfg" + ], + "postLaunchCommands": [ + "monitor arm semihosting enable" + ], + "postRestartCommands": [], + "postResetCommands": [], + } + ] +} \ No newline at end of file diff --git a/examples/stm32f4/.vscode/tasks.json b/examples/stm32f4/.vscode/tasks.json new file mode 100644 index 000000000..3cbed84b4 --- /dev/null +++ b/examples/stm32f4/.vscode/tasks.json @@ -0,0 +1,21 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "cargo", + "command": "build", + "problemMatcher": [ + "$rustc" + ], + "args": [ + "--bin", + "multiprio" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "label": "Cargo Build (debug)", + } + ] +} \ No newline at end of file diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 1eb1ae6db..ee7594c95 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32f429zi to your chip name, if necessary. -embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f446re", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32f4/openocd.cfg b/examples/stm32f4/openocd.cfg new file mode 100644 index 000000000..e41d52b1a --- /dev/null +++ b/examples/stm32f4/openocd.cfg @@ -0,0 +1,5 @@ +# Sample OpenOCD configuration for the STM32F3DISCOVERY development board + +source [find interface/stlink.cfg] + +source [find target/stm32f4x.cfg] diff --git a/examples/stm32f4/openocd.gdb b/examples/stm32f4/openocd.gdb new file mode 100644 index 000000000..7795319fb --- /dev/null +++ b/examples/stm32f4/openocd.gdb @@ -0,0 +1,40 @@ +target extended-remote :3333 + +# print demangled symbols +set print asm-demangle on + +# set backtrace limit to not have infinite backtrace loops +set backtrace limit 32 + +# detect unhandled exceptions, hard faults and panics +break DefaultHandler +break HardFault +break rust_begin_unwind +# # run the next few lines so the panic message is printed immediately +# # the number needs to be adjusted for your panic handler +# commands $bpnum +# next 4 +# end + +# *try* to stop at the user entry point (it might be gone due to inlining) +break main + +monitor arm semihosting enable + +# # send captured ITM to the file itm.fifo +# # (the microcontroller SWO pin must be connected to the programmer SWO pin) +# # 8000000 must match the core clock frequency +# monitor tpiu config internal itm.txt uart off 8000000 + +# # OR: make the microcontroller SWO pin output compatible with UART (8N1) +# # 8000000 must match the core clock frequency +# # 2000000 is the frequency of the SWO pin +# monitor tpiu config external uart off 8000000 2000000 + +# # enable ITM port 0 +# monitor itm port 0 on + +load + +# start the process but immediately halt the processor +stepi -- cgit From 41b9a12574f9ad992ca986b87926838fbe1f1775 Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Tue, 28 May 2024 20:36:23 -0400 Subject: compile pwm_input example --- examples/stm32f4/.vscode/launch.json | 2 +- examples/stm32f4/.vscode/tasks.json | 2 +- examples/stm32f4/src/bin/pwm_input.rs | 52 +++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 examples/stm32f4/src/bin/pwm_input.rs (limited to 'examples') diff --git a/examples/stm32f4/.vscode/launch.json b/examples/stm32f4/.vscode/launch.json index 59f98070d..a9849e0da 100644 --- a/examples/stm32f4/.vscode/launch.json +++ b/examples/stm32f4/.vscode/launch.json @@ -15,7 +15,7 @@ "cwd": "${workspaceRoot}", "preLaunchTask": "Cargo Build (debug)", "runToEntryPoint": "main", - "executable": "./target/thumbv7em-none-eabihf/debug/multiprio", + "executable": "./target/thumbv7em-none-eabihf/debug/pwm_input", /* Run `cargo build --example itm` and uncomment this line to run itm example */ // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", "device": "STM32F446RET6", diff --git a/examples/stm32f4/.vscode/tasks.json b/examples/stm32f4/.vscode/tasks.json index 3cbed84b4..de7013b12 100644 --- a/examples/stm32f4/.vscode/tasks.json +++ b/examples/stm32f4/.vscode/tasks.json @@ -9,7 +9,7 @@ ], "args": [ "--bin", - "multiprio" + "pwm_input" ], "group": { "kind": "build", diff --git a/examples/stm32f4/src/bin/pwm_input.rs b/examples/stm32f4/src/bin/pwm_input.rs new file mode 100644 index 000000000..49de33d2b --- /dev/null +++ b/examples/stm32f4/src/bin/pwm_input.rs @@ -0,0 +1,52 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Pull, Speed}; +use embassy_stm32::time::khz; +use embassy_stm32::timer::input_capture::{CapturePin, InputCapture}; +use embassy_stm32::timer::{self, Channel}; +use embassy_stm32::{bind_interrupts, peripherals}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +/// Connect PB2 and PB10 with a 1k Ohm resistor + +#[embassy_executor::task] +async fn blinky(led: peripherals::PB2) { + let mut led = Output::new(led, Level::High, Speed::Low); + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(300).await; + + info!("low"); + led.set_low(); + Timer::after_millis(300).await; + } +} + +bind_interrupts!(struct Irqs { + TIM2 => timer::CaptureCompareInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + unwrap!(spawner.spawn(blinky(p.PB2))); + + let ch3 = CapturePin::new_ch3(p.PB10, Pull::None); + let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, Irqs, khz(1000), Default::default()); + + loop { + info!("wait for risign edge"); + ic.wait_for_rising_edge(Channel::Ch3).await; + + let capture_value = ic.get_capture_value(Channel::Ch3); + info!("new capture! {}", capture_value); + } +} -- cgit From 7c1e1ee288bc46dbf030749c242d60e222d1fbe5 Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Tue, 28 May 2024 22:30:10 -0400 Subject: example is working now --- examples/stm32f4/.vscode/launch.json | 2 +- examples/stm32f4/.vscode/tasks.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/.vscode/launch.json b/examples/stm32f4/.vscode/launch.json index a9849e0da..20cd4d2e8 100644 --- a/examples/stm32f4/.vscode/launch.json +++ b/examples/stm32f4/.vscode/launch.json @@ -15,7 +15,7 @@ "cwd": "${workspaceRoot}", "preLaunchTask": "Cargo Build (debug)", "runToEntryPoint": "main", - "executable": "./target/thumbv7em-none-eabihf/debug/pwm_input", + "executable": "./target/thumbv7em-none-eabihf/debug/input_capture", /* Run `cargo build --example itm` and uncomment this line to run itm example */ // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", "device": "STM32F446RET6", diff --git a/examples/stm32f4/.vscode/tasks.json b/examples/stm32f4/.vscode/tasks.json index de7013b12..e153722da 100644 --- a/examples/stm32f4/.vscode/tasks.json +++ b/examples/stm32f4/.vscode/tasks.json @@ -9,7 +9,7 @@ ], "args": [ "--bin", - "pwm_input" + "input_capture" ], "group": { "kind": "build", -- cgit From a6c419d096bf2a4d14243fe90a7e2c1881b33fdf Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Tue, 28 May 2024 23:12:08 -0400 Subject: add f103 example for input_capture --- examples/stm32f1/.vscode/launch.json | 33 ++++++++++++++++++++ examples/stm32f1/.vscode/tasks.json | 21 +++++++++++++ examples/stm32f1/openocd.cfg | 5 +++ examples/stm32f1/openocd.gdb | 40 ++++++++++++++++++++++++ examples/stm32f1/src/bin/input_capture.rs | 52 +++++++++++++++++++++++++++++++ examples/stm32f4/src/bin/pwm_input.rs | 52 ------------------------------- 6 files changed, 151 insertions(+), 52 deletions(-) create mode 100644 examples/stm32f1/.vscode/launch.json create mode 100644 examples/stm32f1/.vscode/tasks.json create mode 100644 examples/stm32f1/openocd.cfg create mode 100644 examples/stm32f1/openocd.gdb create mode 100644 examples/stm32f1/src/bin/input_capture.rs delete mode 100644 examples/stm32f4/src/bin/pwm_input.rs (limited to 'examples') diff --git a/examples/stm32f1/.vscode/launch.json b/examples/stm32f1/.vscode/launch.json new file mode 100644 index 000000000..7d1504a39 --- /dev/null +++ b/examples/stm32f1/.vscode/launch.json @@ -0,0 +1,33 @@ +{ + /* + * Requires the Rust Language Server (rust-analyzer) and Cortex-Debug extensions + * https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer + * https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug + */ + "version": "0.2.0", + "configurations": [ + { + /* Configuration for the STM32F446 Discovery board */ + "type": "cortex-debug", + "request": "launch", + "name": "Debug (OpenOCD)", + "servertype": "openocd", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Cargo Build (debug)", + "runToEntryPoint": "main", + "executable": "./target/thumbv7m-none-eabi/debug/input_capture", + /* Run `cargo build --example itm` and uncomment this line to run itm example */ + // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", + "device": "STM32F103TB", + "configFiles": [ + "interface/stlink.cfg", + "target/stm32f1x.cfg" + ], + "postLaunchCommands": [ + "monitor arm semihosting enable" + ], + "postRestartCommands": [], + "postResetCommands": [], + } + ] +} \ No newline at end of file diff --git a/examples/stm32f1/.vscode/tasks.json b/examples/stm32f1/.vscode/tasks.json new file mode 100644 index 000000000..e153722da --- /dev/null +++ b/examples/stm32f1/.vscode/tasks.json @@ -0,0 +1,21 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "cargo", + "command": "build", + "problemMatcher": [ + "$rustc" + ], + "args": [ + "--bin", + "input_capture" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "label": "Cargo Build (debug)", + } + ] +} \ No newline at end of file diff --git a/examples/stm32f1/openocd.cfg b/examples/stm32f1/openocd.cfg new file mode 100644 index 000000000..0325cd651 --- /dev/null +++ b/examples/stm32f1/openocd.cfg @@ -0,0 +1,5 @@ +# Sample OpenOCD configuration for the STM32F3DISCOVERY development board + +source [find interface/stlink.cfg] + +source [find target/stm32f1x.cfg] diff --git a/examples/stm32f1/openocd.gdb b/examples/stm32f1/openocd.gdb new file mode 100644 index 000000000..7795319fb --- /dev/null +++ b/examples/stm32f1/openocd.gdb @@ -0,0 +1,40 @@ +target extended-remote :3333 + +# print demangled symbols +set print asm-demangle on + +# set backtrace limit to not have infinite backtrace loops +set backtrace limit 32 + +# detect unhandled exceptions, hard faults and panics +break DefaultHandler +break HardFault +break rust_begin_unwind +# # run the next few lines so the panic message is printed immediately +# # the number needs to be adjusted for your panic handler +# commands $bpnum +# next 4 +# end + +# *try* to stop at the user entry point (it might be gone due to inlining) +break main + +monitor arm semihosting enable + +# # send captured ITM to the file itm.fifo +# # (the microcontroller SWO pin must be connected to the programmer SWO pin) +# # 8000000 must match the core clock frequency +# monitor tpiu config internal itm.txt uart off 8000000 + +# # OR: make the microcontroller SWO pin output compatible with UART (8N1) +# # 8000000 must match the core clock frequency +# # 2000000 is the frequency of the SWO pin +# monitor tpiu config external uart off 8000000 2000000 + +# # enable ITM port 0 +# monitor itm port 0 on + +load + +# start the process but immediately halt the processor +stepi diff --git a/examples/stm32f1/src/bin/input_capture.rs b/examples/stm32f1/src/bin/input_capture.rs new file mode 100644 index 000000000..417830231 --- /dev/null +++ b/examples/stm32f1/src/bin/input_capture.rs @@ -0,0 +1,52 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Pull, Speed}; +use embassy_stm32::time::khz; +use embassy_stm32::timer::input_capture::{CapturePin, InputCapture}; +use embassy_stm32::timer::{self, Channel}; +use embassy_stm32::{bind_interrupts, peripherals}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +/// Connect PA2 and PC13 with a 1k Ohm resistor + +#[embassy_executor::task] +async fn blinky(led: peripherals::PC13) { + let mut led = Output::new(led, Level::High, Speed::Low); + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(300).await; + + info!("low"); + led.set_low(); + Timer::after_millis(300).await; + } +} + +bind_interrupts!(struct Irqs { + TIM2 => timer::CaptureCompareInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + unwrap!(spawner.spawn(blinky(p.PC13))); + + let ch3 = CapturePin::new_ch3(p.PA2, Pull::None); + let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, Irqs, khz(1000), Default::default()); + + loop { + info!("wait for risign edge"); + ic.wait_for_rising_edge(Channel::Ch3).await; + + let capture_value = ic.get_capture_value(Channel::Ch3); + info!("new capture! {}", capture_value); + } +} diff --git a/examples/stm32f4/src/bin/pwm_input.rs b/examples/stm32f4/src/bin/pwm_input.rs deleted file mode 100644 index 49de33d2b..000000000 --- a/examples/stm32f4/src/bin/pwm_input.rs +++ /dev/null @@ -1,52 +0,0 @@ -#![no_std] -#![no_main] - -use defmt::*; -use embassy_executor::Spawner; -use embassy_stm32::gpio::{Level, Output, Pull, Speed}; -use embassy_stm32::time::khz; -use embassy_stm32::timer::input_capture::{CapturePin, InputCapture}; -use embassy_stm32::timer::{self, Channel}; -use embassy_stm32::{bind_interrupts, peripherals}; -use embassy_time::Timer; -use {defmt_rtt as _, panic_probe as _}; - -/// Connect PB2 and PB10 with a 1k Ohm resistor - -#[embassy_executor::task] -async fn blinky(led: peripherals::PB2) { - let mut led = Output::new(led, Level::High, Speed::Low); - - loop { - info!("high"); - led.set_high(); - Timer::after_millis(300).await; - - info!("low"); - led.set_low(); - Timer::after_millis(300).await; - } -} - -bind_interrupts!(struct Irqs { - TIM2 => timer::CaptureCompareInterruptHandler; -}); - -#[embassy_executor::main] -async fn main(spawner: Spawner) { - let p = embassy_stm32::init(Default::default()); - info!("Hello World!"); - - unwrap!(spawner.spawn(blinky(p.PB2))); - - let ch3 = CapturePin::new_ch3(p.PB10, Pull::None); - let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, Irqs, khz(1000), Default::default()); - - loop { - info!("wait for risign edge"); - ic.wait_for_rising_edge(Channel::Ch3).await; - - let capture_value = ic.get_capture_value(Channel::Ch3); - info!("new capture! {}", capture_value); - } -} -- cgit From 521332bdd1d682b1d43ab7896b54e280c17b9771 Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Wed, 29 May 2024 00:28:26 -0400 Subject: pwm_input is working on F446 --- examples/stm32f1/.vscode/launch.json | 2 +- examples/stm32f1/.vscode/tasks.json | 2 +- examples/stm32f1/src/bin/pwm_input.rs | 50 +++++++++++++++++++++++++++++++++ examples/stm32f4/.vscode/launch.json | 2 +- examples/stm32f4/.vscode/tasks.json | 2 +- examples/stm32f4/src/bin/pwm_input.rs | 52 +++++++++++++++++++++++++++++++++++ 6 files changed, 106 insertions(+), 4 deletions(-) create mode 100644 examples/stm32f1/src/bin/pwm_input.rs create mode 100644 examples/stm32f4/src/bin/pwm_input.rs (limited to 'examples') diff --git a/examples/stm32f1/.vscode/launch.json b/examples/stm32f1/.vscode/launch.json index 7d1504a39..998508867 100644 --- a/examples/stm32f1/.vscode/launch.json +++ b/examples/stm32f1/.vscode/launch.json @@ -15,7 +15,7 @@ "cwd": "${workspaceRoot}", "preLaunchTask": "Cargo Build (debug)", "runToEntryPoint": "main", - "executable": "./target/thumbv7m-none-eabi/debug/input_capture", + "executable": "./target/thumbv7m-none-eabi/debug/pwm_input", /* Run `cargo build --example itm` and uncomment this line to run itm example */ // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", "device": "STM32F103TB", diff --git a/examples/stm32f1/.vscode/tasks.json b/examples/stm32f1/.vscode/tasks.json index e153722da..de7013b12 100644 --- a/examples/stm32f1/.vscode/tasks.json +++ b/examples/stm32f1/.vscode/tasks.json @@ -9,7 +9,7 @@ ], "args": [ "--bin", - "input_capture" + "pwm_input" ], "group": { "kind": "build", diff --git a/examples/stm32f1/src/bin/pwm_input.rs b/examples/stm32f1/src/bin/pwm_input.rs new file mode 100644 index 000000000..14978f817 --- /dev/null +++ b/examples/stm32f1/src/bin/pwm_input.rs @@ -0,0 +1,50 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Pull, Speed}; +use embassy_stm32::time::khz; +use embassy_stm32::timer::{self, pwm_input::PwmInput}; +use embassy_stm32::{bind_interrupts, peripherals}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +/// Connect PB2 and PB10 with a 1k Ohm resistor + +#[embassy_executor::task] +async fn blinky(led: peripherals::PC13) { + let mut led = Output::new(led, Level::High, Speed::Low); + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(300).await; + + info!("low"); + led.set_low(); + Timer::after_millis(300).await; + } +} + +bind_interrupts!(struct Irqs { + TIM2 => timer::CaptureCompareInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + unwrap!(spawner.spawn(blinky(p.PC13))); + + let pwm_input = PwmInput::new(p.TIM2, p.PA0, Pull::None, khz(1000)); + + loop { + Timer::after_millis(500).await; + let _per = pwm_input.get_period_ticks(); + let _dc = pwm_input.get_duty_ticks(); + let _pc = pwm_input.get_duty_cycle(); + asm::nop(); + } +} diff --git a/examples/stm32f4/.vscode/launch.json b/examples/stm32f4/.vscode/launch.json index 20cd4d2e8..a9849e0da 100644 --- a/examples/stm32f4/.vscode/launch.json +++ b/examples/stm32f4/.vscode/launch.json @@ -15,7 +15,7 @@ "cwd": "${workspaceRoot}", "preLaunchTask": "Cargo Build (debug)", "runToEntryPoint": "main", - "executable": "./target/thumbv7em-none-eabihf/debug/input_capture", + "executable": "./target/thumbv7em-none-eabihf/debug/pwm_input", /* Run `cargo build --example itm` and uncomment this line to run itm example */ // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", "device": "STM32F446RET6", diff --git a/examples/stm32f4/.vscode/tasks.json b/examples/stm32f4/.vscode/tasks.json index e153722da..de7013b12 100644 --- a/examples/stm32f4/.vscode/tasks.json +++ b/examples/stm32f4/.vscode/tasks.json @@ -9,7 +9,7 @@ ], "args": [ "--bin", - "input_capture" + "pwm_input" ], "group": { "kind": "build", diff --git a/examples/stm32f4/src/bin/pwm_input.rs b/examples/stm32f4/src/bin/pwm_input.rs new file mode 100644 index 000000000..e57e58c22 --- /dev/null +++ b/examples/stm32f4/src/bin/pwm_input.rs @@ -0,0 +1,52 @@ +#![no_std] +#![no_main] + +use cortex_m::asm; +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Pull, Speed}; +use embassy_stm32::time::khz; +use embassy_stm32::timer::{self, pwm_input::PwmInput}; +use embassy_stm32::{bind_interrupts, peripherals}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +/// Connect PB2 and PB10 with a 1k Ohm resistor + +#[embassy_executor::task] +async fn blinky(led: peripherals::PB2) { + let mut led = Output::new(led, Level::High, Speed::Low); + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(300).await; + + info!("low"); + led.set_low(); + Timer::after_millis(300).await; + } +} + +bind_interrupts!(struct Irqs { + TIM2 => timer::CaptureCompareInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + unwrap!(spawner.spawn(blinky(p.PB2))); + + let mut pwm_input = PwmInput::new(p.TIM3, p.PA6, Pull::None, khz(10)); + pwm_input.enable(); + + loop { + Timer::after_millis(500).await; + let _per = pwm_input.get_period_ticks(); + let _dc = pwm_input.get_duty_ticks(); + let _pc = pwm_input.get_duty_cycle(); + asm::nop(); + } +} -- cgit From 50039b17a78bbefeca1a3dd6b689ea478079ea6b Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Wed, 29 May 2024 00:33:35 -0400 Subject: fix F103 example --- examples/stm32f1/.vscode/launch.json | 2 +- examples/stm32f1/src/bin/pwm_input.rs | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/.vscode/launch.json b/examples/stm32f1/.vscode/launch.json index 998508867..71f203614 100644 --- a/examples/stm32f1/.vscode/launch.json +++ b/examples/stm32f1/.vscode/launch.json @@ -18,7 +18,7 @@ "executable": "./target/thumbv7m-none-eabi/debug/pwm_input", /* Run `cargo build --example itm` and uncomment this line to run itm example */ // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", - "device": "STM32F103TB", + "device": "STM32F103T8", "configFiles": [ "interface/stlink.cfg", "target/stm32f1x.cfg" diff --git a/examples/stm32f1/src/bin/pwm_input.rs b/examples/stm32f1/src/bin/pwm_input.rs index 14978f817..718bf0fcf 100644 --- a/examples/stm32f1/src/bin/pwm_input.rs +++ b/examples/stm32f1/src/bin/pwm_input.rs @@ -1,6 +1,7 @@ #![no_std] #![no_main] +use cortex_m::asm; use defmt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; @@ -38,7 +39,8 @@ async fn main(spawner: Spawner) { unwrap!(spawner.spawn(blinky(p.PC13))); - let pwm_input = PwmInput::new(p.TIM2, p.PA0, Pull::None, khz(1000)); + let mut pwm_input = PwmInput::new(p.TIM2, p.PA0, Pull::None, khz(10)); + pwm_input.enable(); loop { Timer::after_millis(500).await; -- cgit From 69badfb845c0fb43b4e4c1c2e9f74a535fcd317a Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Wed, 29 May 2024 00:37:50 -0400 Subject: remove dev files --- examples/stm32f1/.vscode/launch.json | 33 ----------------------------- examples/stm32f1/.vscode/tasks.json | 21 ------------------- examples/stm32f1/openocd.cfg | 5 ----- examples/stm32f1/openocd.gdb | 40 ------------------------------------ examples/stm32f4/.cargo/config.toml | 6 ++---- examples/stm32f4/.vscode/launch.json | 33 ----------------------------- examples/stm32f4/.vscode/tasks.json | 21 ------------------- examples/stm32f4/Cargo.toml | 2 +- examples/stm32f4/openocd.cfg | 5 ----- examples/stm32f4/openocd.gdb | 40 ------------------------------------ 10 files changed, 3 insertions(+), 203 deletions(-) delete mode 100644 examples/stm32f1/.vscode/launch.json delete mode 100644 examples/stm32f1/.vscode/tasks.json delete mode 100644 examples/stm32f1/openocd.cfg delete mode 100644 examples/stm32f1/openocd.gdb delete mode 100644 examples/stm32f4/.vscode/launch.json delete mode 100644 examples/stm32f4/.vscode/tasks.json delete mode 100644 examples/stm32f4/openocd.cfg delete mode 100644 examples/stm32f4/openocd.gdb (limited to 'examples') diff --git a/examples/stm32f1/.vscode/launch.json b/examples/stm32f1/.vscode/launch.json deleted file mode 100644 index 71f203614..000000000 --- a/examples/stm32f1/.vscode/launch.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - /* - * Requires the Rust Language Server (rust-analyzer) and Cortex-Debug extensions - * https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer - * https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug - */ - "version": "0.2.0", - "configurations": [ - { - /* Configuration for the STM32F446 Discovery board */ - "type": "cortex-debug", - "request": "launch", - "name": "Debug (OpenOCD)", - "servertype": "openocd", - "cwd": "${workspaceRoot}", - "preLaunchTask": "Cargo Build (debug)", - "runToEntryPoint": "main", - "executable": "./target/thumbv7m-none-eabi/debug/pwm_input", - /* Run `cargo build --example itm` and uncomment this line to run itm example */ - // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", - "device": "STM32F103T8", - "configFiles": [ - "interface/stlink.cfg", - "target/stm32f1x.cfg" - ], - "postLaunchCommands": [ - "monitor arm semihosting enable" - ], - "postRestartCommands": [], - "postResetCommands": [], - } - ] -} \ No newline at end of file diff --git a/examples/stm32f1/.vscode/tasks.json b/examples/stm32f1/.vscode/tasks.json deleted file mode 100644 index de7013b12..000000000 --- a/examples/stm32f1/.vscode/tasks.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "type": "cargo", - "command": "build", - "problemMatcher": [ - "$rustc" - ], - "args": [ - "--bin", - "pwm_input" - ], - "group": { - "kind": "build", - "isDefault": true - }, - "label": "Cargo Build (debug)", - } - ] -} \ No newline at end of file diff --git a/examples/stm32f1/openocd.cfg b/examples/stm32f1/openocd.cfg deleted file mode 100644 index 0325cd651..000000000 --- a/examples/stm32f1/openocd.cfg +++ /dev/null @@ -1,5 +0,0 @@ -# Sample OpenOCD configuration for the STM32F3DISCOVERY development board - -source [find interface/stlink.cfg] - -source [find target/stm32f1x.cfg] diff --git a/examples/stm32f1/openocd.gdb b/examples/stm32f1/openocd.gdb deleted file mode 100644 index 7795319fb..000000000 --- a/examples/stm32f1/openocd.gdb +++ /dev/null @@ -1,40 +0,0 @@ -target extended-remote :3333 - -# print demangled symbols -set print asm-demangle on - -# set backtrace limit to not have infinite backtrace loops -set backtrace limit 32 - -# detect unhandled exceptions, hard faults and panics -break DefaultHandler -break HardFault -break rust_begin_unwind -# # run the next few lines so the panic message is printed immediately -# # the number needs to be adjusted for your panic handler -# commands $bpnum -# next 4 -# end - -# *try* to stop at the user entry point (it might be gone due to inlining) -break main - -monitor arm semihosting enable - -# # send captured ITM to the file itm.fifo -# # (the microcontroller SWO pin must be connected to the programmer SWO pin) -# # 8000000 must match the core clock frequency -# monitor tpiu config internal itm.txt uart off 8000000 - -# # OR: make the microcontroller SWO pin output compatible with UART (8N1) -# # 8000000 must match the core clock frequency -# # 2000000 is the frequency of the SWO pin -# monitor tpiu config external uart off 8000000 2000000 - -# # enable ITM port 0 -# monitor itm port 0 on - -load - -# start the process but immediately halt the processor -stepi diff --git a/examples/stm32f4/.cargo/config.toml b/examples/stm32f4/.cargo/config.toml index f5a4af51a..16efa8e6f 100644 --- a/examples/stm32f4/.cargo/config.toml +++ b/examples/stm32f4/.cargo/config.toml @@ -1,11 +1,9 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] # replace STM32F429ZITx with your chip as listed in `probe-rs chip list` -# runner = "probe-rs run --chip STM32F429ZITx" -runner = "arm-none-eabi-gdb -q -x openocd.gdb" +runner = "probe-rs run --chip STM32F429ZITx" [build] -# target = "thumbv7em-none-eabi" -target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) +target = "thumbv7em-none-eabi" [env] DEFMT_LOG = "trace" diff --git a/examples/stm32f4/.vscode/launch.json b/examples/stm32f4/.vscode/launch.json deleted file mode 100644 index a9849e0da..000000000 --- a/examples/stm32f4/.vscode/launch.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - /* - * Requires the Rust Language Server (rust-analyzer) and Cortex-Debug extensions - * https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer - * https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug - */ - "version": "0.2.0", - "configurations": [ - { - /* Configuration for the STM32F446 Discovery board */ - "type": "cortex-debug", - "request": "launch", - "name": "Debug (OpenOCD)", - "servertype": "openocd", - "cwd": "${workspaceRoot}", - "preLaunchTask": "Cargo Build (debug)", - "runToEntryPoint": "main", - "executable": "./target/thumbv7em-none-eabihf/debug/pwm_input", - /* Run `cargo build --example itm` and uncomment this line to run itm example */ - // "executable": "./target/thumbv7em-none-eabihf/debug/examples/itm", - "device": "STM32F446RET6", - "configFiles": [ - "interface/stlink.cfg", - "target/stm32f4x.cfg" - ], - "postLaunchCommands": [ - "monitor arm semihosting enable" - ], - "postRestartCommands": [], - "postResetCommands": [], - } - ] -} \ No newline at end of file diff --git a/examples/stm32f4/.vscode/tasks.json b/examples/stm32f4/.vscode/tasks.json deleted file mode 100644 index de7013b12..000000000 --- a/examples/stm32f4/.vscode/tasks.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "type": "cargo", - "command": "build", - "problemMatcher": [ - "$rustc" - ], - "args": [ - "--bin", - "pwm_input" - ], - "group": { - "kind": "build", - "isDefault": true - }, - "label": "Cargo Build (debug)", - } - ] -} \ No newline at end of file diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index ee7594c95..1eb1ae6db 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32f429zi to your chip name, if necessary. -embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f446re", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32f4/openocd.cfg b/examples/stm32f4/openocd.cfg deleted file mode 100644 index e41d52b1a..000000000 --- a/examples/stm32f4/openocd.cfg +++ /dev/null @@ -1,5 +0,0 @@ -# Sample OpenOCD configuration for the STM32F3DISCOVERY development board - -source [find interface/stlink.cfg] - -source [find target/stm32f4x.cfg] diff --git a/examples/stm32f4/openocd.gdb b/examples/stm32f4/openocd.gdb deleted file mode 100644 index 7795319fb..000000000 --- a/examples/stm32f4/openocd.gdb +++ /dev/null @@ -1,40 +0,0 @@ -target extended-remote :3333 - -# print demangled symbols -set print asm-demangle on - -# set backtrace limit to not have infinite backtrace loops -set backtrace limit 32 - -# detect unhandled exceptions, hard faults and panics -break DefaultHandler -break HardFault -break rust_begin_unwind -# # run the next few lines so the panic message is printed immediately -# # the number needs to be adjusted for your panic handler -# commands $bpnum -# next 4 -# end - -# *try* to stop at the user entry point (it might be gone due to inlining) -break main - -monitor arm semihosting enable - -# # send captured ITM to the file itm.fifo -# # (the microcontroller SWO pin must be connected to the programmer SWO pin) -# # 8000000 must match the core clock frequency -# monitor tpiu config internal itm.txt uart off 8000000 - -# # OR: make the microcontroller SWO pin output compatible with UART (8N1) -# # 8000000 must match the core clock frequency -# # 2000000 is the frequency of the SWO pin -# monitor tpiu config external uart off 8000000 2000000 - -# # enable ITM port 0 -# monitor itm port 0 on - -load - -# start the process but immediately halt the processor -stepi -- cgit From 61f1f80e90c3fd8ec505936f3bab0a50d2ba9b79 Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Wed, 29 May 2024 00:52:55 -0400 Subject: fix fmt --- examples/stm32f1/src/bin/pwm_input.rs | 3 ++- examples/stm32f4/src/bin/pwm_input.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/pwm_input.rs b/examples/stm32f1/src/bin/pwm_input.rs index 718bf0fcf..9ca44d048 100644 --- a/examples/stm32f1/src/bin/pwm_input.rs +++ b/examples/stm32f1/src/bin/pwm_input.rs @@ -6,7 +6,8 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; use embassy_stm32::time::khz; -use embassy_stm32::timer::{self, pwm_input::PwmInput}; +use embassy_stm32::timer; +use embassy_stm32::timer::pwm_input::PwmInput; use embassy_stm32::{bind_interrupts, peripherals}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; diff --git a/examples/stm32f4/src/bin/pwm_input.rs b/examples/stm32f4/src/bin/pwm_input.rs index e57e58c22..98ea50df4 100644 --- a/examples/stm32f4/src/bin/pwm_input.rs +++ b/examples/stm32f4/src/bin/pwm_input.rs @@ -6,7 +6,8 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; use embassy_stm32::time::khz; -use embassy_stm32::timer::{self, pwm_input::PwmInput}; +use embassy_stm32::timer; +use embassy_stm32::timer::pwm_input::PwmInput; use embassy_stm32::{bind_interrupts, peripherals}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -- cgit From 7f4803ddaf8f6eeeec45418f23b092bff95222d2 Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Wed, 29 May 2024 00:55:49 -0400 Subject: fix fmt again --- examples/stm32f1/src/bin/pwm_input.rs | 3 +-- examples/stm32f4/src/bin/pwm_input.rs | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/pwm_input.rs b/examples/stm32f1/src/bin/pwm_input.rs index 9ca44d048..c051d1328 100644 --- a/examples/stm32f1/src/bin/pwm_input.rs +++ b/examples/stm32f1/src/bin/pwm_input.rs @@ -6,9 +6,8 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; use embassy_stm32::time::khz; -use embassy_stm32::timer; use embassy_stm32::timer::pwm_input::PwmInput; -use embassy_stm32::{bind_interrupts, peripherals}; +use embassy_stm32::{bind_interrupts, peripherals, timer}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; diff --git a/examples/stm32f4/src/bin/pwm_input.rs b/examples/stm32f4/src/bin/pwm_input.rs index 98ea50df4..eb1e7cb87 100644 --- a/examples/stm32f4/src/bin/pwm_input.rs +++ b/examples/stm32f4/src/bin/pwm_input.rs @@ -6,9 +6,8 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; use embassy_stm32::time::khz; -use embassy_stm32::timer; use embassy_stm32::timer::pwm_input::PwmInput; -use embassy_stm32::{bind_interrupts, peripherals}; +use embassy_stm32::{bind_interrupts, peripherals, timer}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -- cgit From cf0d227cca92a80e85575154d380d1ff73fb32cf Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Wed, 29 May 2024 12:09:55 +0200 Subject: Prepare for embassy-sync 0.6.0 release --- examples/boot/application/nrf/Cargo.toml | 2 +- examples/boot/application/rp/Cargo.toml | 2 +- examples/boot/application/stm32f3/Cargo.toml | 2 +- examples/boot/application/stm32f7/Cargo.toml | 2 +- examples/boot/application/stm32h7/Cargo.toml | 2 +- examples/boot/application/stm32l0/Cargo.toml | 2 +- examples/boot/application/stm32l1/Cargo.toml | 2 +- examples/boot/application/stm32l4/Cargo.toml | 2 +- examples/boot/application/stm32wb-dfu/Cargo.toml | 2 +- examples/boot/application/stm32wl/Cargo.toml | 2 +- examples/boot/bootloader/nrf/Cargo.toml | 2 +- examples/boot/bootloader/rp/Cargo.toml | 2 +- examples/boot/bootloader/stm32-dual-bank/Cargo.toml | 2 +- examples/boot/bootloader/stm32/Cargo.toml | 2 +- examples/boot/bootloader/stm32wb-dfu/Cargo.toml | 2 +- examples/nrf-rtos-trace/Cargo.toml | 2 +- examples/nrf52810/Cargo.toml | 2 +- examples/nrf52840-rtic/Cargo.toml | 2 +- examples/nrf52840/Cargo.toml | 2 +- examples/nrf5340/Cargo.toml | 2 +- examples/rp/Cargo.toml | 2 +- examples/std/Cargo.toml | 2 +- examples/stm32c0/Cargo.toml | 2 +- examples/stm32f0/Cargo.toml | 2 +- examples/stm32f1/Cargo.toml | 2 +- examples/stm32f2/Cargo.toml | 2 +- examples/stm32f3/Cargo.toml | 2 +- examples/stm32f334/Cargo.toml | 2 +- examples/stm32f4/Cargo.toml | 2 +- examples/stm32f7/Cargo.toml | 2 +- examples/stm32g0/Cargo.toml | 2 +- examples/stm32g4/Cargo.toml | 2 +- examples/stm32h5/Cargo.toml | 2 +- examples/stm32h7/Cargo.toml | 2 +- examples/stm32h7rs/Cargo.toml | 2 +- examples/stm32l0/Cargo.toml | 2 +- examples/stm32l1/Cargo.toml | 2 +- examples/stm32l4/Cargo.toml | 2 +- examples/stm32l5/Cargo.toml | 2 +- examples/stm32u0/Cargo.toml | 2 +- examples/stm32u5/Cargo.toml | 2 +- examples/stm32wb/Cargo.toml | 2 +- examples/stm32wba/Cargo.toml | 2 +- examples/stm32wl/Cargo.toml | 2 +- examples/wasm/Cargo.toml | 2 +- 45 files changed, 45 insertions(+), 45 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml index 86f6676cb..f0a710335 100644 --- a/examples/boot/application/nrf/Cargo.toml +++ b/examples/boot/application/nrf/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [] } embassy-nrf = { version = "0.1.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } diff --git a/examples/boot/application/rp/Cargo.toml b/examples/boot/application/rp/Cargo.toml index 70741a0ce..2ddcbffee 100644 --- a/examples/boot/application/rp/Cargo.toml +++ b/examples/boot/application/rp/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [] } embassy-rp = { version = "0.1.0", path = "../../../../embassy-rp", features = ["time-driver", ] } diff --git a/examples/boot/application/stm32f3/Cargo.toml b/examples/boot/application/stm32f3/Cargo.toml index 1cb143820..fe1a6f5b1 100644 --- a/examples/boot/application/stm32f3/Cargo.toml +++ b/examples/boot/application/stm32f3/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32f303re", "time-driver-any", "exti"] } diff --git a/examples/boot/application/stm32f7/Cargo.toml b/examples/boot/application/stm32f7/Cargo.toml index c4ae461a5..37e362824 100644 --- a/examples/boot/application/stm32f7/Cargo.toml +++ b/examples/boot/application/stm32f7/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32f767zi", "time-driver-any", "exti"] } diff --git a/examples/boot/application/stm32h7/Cargo.toml b/examples/boot/application/stm32h7/Cargo.toml index 995487cdd..52cd0b546 100644 --- a/examples/boot/application/stm32h7/Cargo.toml +++ b/examples/boot/application/stm32h7/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32h743zi", "time-driver-any", "exti"] } diff --git a/examples/boot/application/stm32l0/Cargo.toml b/examples/boot/application/stm32l0/Cargo.toml index b2abc005c..0f3cbe654 100644 --- a/examples/boot/application/stm32l0/Cargo.toml +++ b/examples/boot/application/stm32l0/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l072cz", "time-driver-any", "exti", "memory-x"] } diff --git a/examples/boot/application/stm32l1/Cargo.toml b/examples/boot/application/stm32l1/Cargo.toml index 7203e6350..3e964df9c 100644 --- a/examples/boot/application/stm32l1/Cargo.toml +++ b/examples/boot/application/stm32l1/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l151cb-a", "time-driver-any", "exti"] } diff --git a/examples/boot/application/stm32l4/Cargo.toml b/examples/boot/application/stm32l4/Cargo.toml index ec134f394..b154403ac 100644 --- a/examples/boot/application/stm32l4/Cargo.toml +++ b/examples/boot/application/stm32l4/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l475vg", "time-driver-any", "exti"] } diff --git a/examples/boot/application/stm32wb-dfu/Cargo.toml b/examples/boot/application/stm32wb-dfu/Cargo.toml index 84d6d04c1..bb83ae049 100644 --- a/examples/boot/application/stm32wb-dfu/Cargo.toml +++ b/examples/boot/application/stm32wb-dfu/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] } diff --git a/examples/boot/application/stm32wl/Cargo.toml b/examples/boot/application/stm32wl/Cargo.toml index e38e9f3af..93ead617c 100644 --- a/examples/boot/application/stm32wl/Cargo.toml +++ b/examples/boot/application/stm32wl/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wl55jc-cm4", "time-driver-any", "exti"] } diff --git a/examples/boot/bootloader/nrf/Cargo.toml b/examples/boot/bootloader/nrf/Cargo.toml index 3e41d1479..980149bea 100644 --- a/examples/boot/bootloader/nrf/Cargo.toml +++ b/examples/boot/bootloader/nrf/Cargo.toml @@ -12,7 +12,7 @@ defmt-rtt = { version = "0.4", optional = true } embassy-nrf = { path = "../../../../embassy-nrf", features = [] } embassy-boot-nrf = { path = "../../../../embassy-boot-nrf" } cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } cortex-m-rt = { version = "0.7" } cfg-if = "1.0.0" diff --git a/examples/boot/bootloader/rp/Cargo.toml b/examples/boot/bootloader/rp/Cargo.toml index 3cf61a002..7eec3df1b 100644 --- a/examples/boot/bootloader/rp/Cargo.toml +++ b/examples/boot/bootloader/rp/Cargo.toml @@ -11,7 +11,7 @@ defmt-rtt = { version = "0.4", optional = true } embassy-rp = { path = "../../../../embassy-rp", features = [] } embassy-boot-rp = { path = "../../../../embassy-boot-rp" } -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-time = { path = "../../../../embassy-time", features = [] } cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } diff --git a/examples/boot/bootloader/stm32-dual-bank/Cargo.toml b/examples/boot/bootloader/stm32-dual-bank/Cargo.toml index 313187adc..55adf84d7 100644 --- a/examples/boot/bootloader/stm32-dual-bank/Cargo.toml +++ b/examples/boot/bootloader/stm32-dual-bank/Cargo.toml @@ -15,7 +15,7 @@ cortex-m = { version = "0.7.6", features = [ "inline-asm", "critical-section-single-core", ] } -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } cortex-m-rt = { version = "0.7" } embedded-storage = "0.3.1" embedded-storage-async = "0.4.0" diff --git a/examples/boot/bootloader/stm32/Cargo.toml b/examples/boot/bootloader/stm32/Cargo.toml index 74c01b0f4..ef2b99404 100644 --- a/examples/boot/bootloader/stm32/Cargo.toml +++ b/examples/boot/bootloader/stm32/Cargo.toml @@ -12,7 +12,7 @@ defmt-rtt = { version = "0.4", optional = true } embassy-stm32 = { path = "../../../../embassy-stm32", features = [] } embassy-boot-stm32 = { path = "../../../../embassy-boot-stm32" } cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } cortex-m-rt = { version = "0.7" } embedded-storage = "0.3.1" embedded-storage-async = "0.4.0" diff --git a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml index 27b6b46df..93b5d8b34 100644 --- a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml +++ b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml @@ -12,7 +12,7 @@ defmt-rtt = { version = "0.4", optional = true } embassy-stm32 = { path = "../../../../embassy-stm32", features = [] } embassy-boot-stm32 = { path = "../../../../embassy-boot-stm32" } cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } -embassy-sync = { version = "0.5.0", path = "../../../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } cortex-m-rt = { version = "0.7" } embedded-storage = "0.3.1" embedded-storage-async = "0.4.0" diff --git a/examples/nrf-rtos-trace/Cargo.toml b/examples/nrf-rtos-trace/Cargo.toml index f3a3f64af..147bb40dc 100644 --- a/examples/nrf-rtos-trace/Cargo.toml +++ b/examples/nrf-rtos-trace/Cargo.toml @@ -15,7 +15,7 @@ log = [ ] [dependencies] -embassy-sync = { version = "0.5.0", path = "../../embassy-sync" } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "rtos-trace", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time" } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac"] } diff --git a/examples/nrf52810/Cargo.toml b/examples/nrf52810/Cargo.toml index 8ed8f54d7..faec9a263 100644 --- a/examples/nrf52810/Cargo.toml +++ b/examples/nrf52810/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } diff --git a/examples/nrf52840-rtic/Cargo.toml b/examples/nrf52840-rtic/Cargo.toml index a0687fa1e..041c779a5 100644 --- a/examples/nrf52840-rtic/Cargo.toml +++ b/examples/nrf52840-rtic/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" rtic = { version = "2", features = ["thumbv7-backend"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = [ "defmt", "defmt-timestamp-uptime", "generic-queue"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = [ "defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index d693c5a02..79d9e4e1a 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index 0d3e39fe5..e560a3dbb 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] } diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 5178a690f..726df29cb 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal", features = ["defmt"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } diff --git a/examples/std/Cargo.toml b/examples/std/Cargo.toml index f05565e84..77c479d3b 100644 --- a/examples/std/Cargo.toml +++ b/examples/std/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["log"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["log"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-std", "executor-thread", "log", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["log", "std", ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features=[ "std", "log", "medium-ethernet", "medium-ip", "tcp", "udp", "dns", "dhcpv4", "proto-ipv6"] } diff --git a/examples/stm32c0/Cargo.toml b/examples/stm32c0/Cargo.toml index aaca857ae..6fdcdce5f 100644 --- a/examples/stm32c0/Cargo.toml +++ b/examples/stm32c0/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32c031c6 to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32c031c6", "memory-x", "unstable-pac", "exti"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32f0/Cargo.toml b/examples/stm32f0/Cargo.toml index cabeca687..5b648e58a 100644 --- a/examples/stm32f0/Cargo.toml +++ b/examples/stm32f0/Cargo.toml @@ -12,7 +12,7 @@ cortex-m-rt = "0.7.0" defmt = "0.3" defmt-rtt = "0.4" panic-probe = { version = "0.3", features = ["print-defmt"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } static_cell = "2" diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml index 55051703b..51723ac6d 100644 --- a/examples/stm32f1/Cargo.toml +++ b/examples/stm32f1/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32f103c8 to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f103c8", "unstable-pac", "memory-x", "time-driver-any" ] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32f2/Cargo.toml b/examples/stm32f2/Cargo.toml index 86921580a..5d07b0e04 100644 --- a/examples/stm32f2/Cargo.toml +++ b/examples/stm32f2/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32f207zg to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f207zg", "unstable-pac", "memory-x", "time-driver-any", "exti"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml index 2cfb19c42..848a6b331 100644 --- a/examples/stm32f3/Cargo.toml +++ b/examples/stm32f3/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32f303ze to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f303ze", "unstable-pac", "memory-x", "time-driver-any", "exti"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32f334/Cargo.toml b/examples/stm32f334/Cargo.toml index 7c067e140..50046de56 100644 --- a/examples/stm32f334/Cargo.toml +++ b/examples/stm32f334/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f334r8", "unstable-pac", "memory-x", "time-driver-any", "exti"] } diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 1eb1ae6db..52b7ce9e8 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32f429zi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt" ] } diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index 37bec1bfa..b55c4e127 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32f777zi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f777zi", "memory-x", "unstable-pac", "time-driver-any", "exti"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml index 803d0ae0e..122a996e5 100644 --- a/examples/stm32g0/Cargo.toml +++ b/examples/stm32g0/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32g0b1re to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32g0b1re", "memory-x", "unstable-pac", "exti"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index 7f51631c0..9a34ba19d 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32g491re to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32g491re", "memory-x", "unstable-pac", "exti"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml index 82760db64..87de9f3a4 100644 --- a/examples/stm32h5/Cargo.toml +++ b/examples/stm32h5/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32h563zi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h563zi", "memory-x", "time-driver-any", "exti", "unstable-pac", "low-power"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] } diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index c6c2d1354..14125f819 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32h743bi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32h7rs/Cargo.toml b/examples/stm32h7rs/Cargo.toml index 192a6ca61..f8c49f3d1 100644 --- a/examples/stm32h7rs/Cargo.toml +++ b/examples/stm32h7rs/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32h743bi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7s3l8", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } diff --git a/examples/stm32l0/Cargo.toml b/examples/stm32l0/Cargo.toml index 8831f9aaf..b6de182e1 100644 --- a/examples/stm32l0/Cargo.toml +++ b/examples/stm32l0/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32l072cz to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32l072cz", "time-driver-any", "exti", "memory-x"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml index 24d61043d..17887bc14 100644 --- a/examples/stm32l1/Cargo.toml +++ b/examples/stm32l1/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml index a8c6aa0e9..37f09bbcc 100644 --- a/examples/stm32l4/Cargo.toml +++ b/examples/stm32l4/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32l4s5vi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l4s5qi", "memory-x", "time-driver-any", "exti", "chrono"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml index 2c6c125dc..910b8e6d1 100644 --- a/examples/stm32l5/Cargo.toml +++ b/examples/stm32l5/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32l552ze to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l552ze", "time-driver-any", "exti", "memory-x", "low-power"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml index e9a215589..e67856853 100644 --- a/examples/stm32u0/Cargo.toml +++ b/examples/stm32u0/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32u083rc to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32u083rc", "memory-x", "unstable-pac", "exti", "chrono"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml index 93127bcb7..24c9263a3 100644 --- a/examples/stm32u5/Cargo.toml +++ b/examples/stm32u5/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32u585ai to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "unstable-pac", "stm32u585ai", "time-driver-any", "memory-x" ] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32wb/Cargo.toml b/examples/stm32wb/Cargo.toml index 82419ed10..92865b41c 100644 --- a/examples/stm32wb/Cargo.toml +++ b/examples/stm32wb/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32wb55rg to your chip name in both dependencies, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wb55rg", "time-driver-any", "memory-x", "exti"] } embassy-stm32-wpan = { version = "0.1.0", path = "../../embassy-stm32-wpan", features = ["defmt", "stm32wb55rg"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true } diff --git a/examples/stm32wba/Cargo.toml b/examples/stm32wba/Cargo.toml index ca55cbe92..60f6e9201 100644 --- a/examples/stm32wba/Cargo.toml +++ b/examples/stm32wba/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba52cg", "time-driver-any", "memory-x", "exti"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true } diff --git a/examples/stm32wl/Cargo.toml b/examples/stm32wl/Cargo.toml index b467b97a9..29cd4d466 100644 --- a/examples/stm32wl/Cargo.toml +++ b/examples/stm32wl/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32wl55jc-cm4 to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32wl55jc-cm4", "time-driver-any", "memory-x", "unstable-pac", "exti", "chrono"] } -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } diff --git a/examples/wasm/Cargo.toml b/examples/wasm/Cargo.toml index 3d2300b59..e7840d52e 100644 --- a/examples/wasm/Cargo.toml +++ b/examples/wasm/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" crate-type = ["cdylib"] [dependencies] -embassy-sync = { version = "0.5.0", path = "../../embassy-sync", features = ["log"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["log"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-wasm", "executor-thread", "log", "integrated-timers"] } embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["log", "wasm", ] } -- cgit From a23fa8dcb2e22ed2d8bac15fd875dfe53af43eda Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Wed, 29 May 2024 09:14:05 -0400 Subject: Apply suggestions from code review Co-authored-by: Romain Reignier --- examples/stm32f1/src/bin/input_capture.rs | 2 +- examples/stm32f1/src/bin/pwm_input.rs | 2 +- examples/stm32f4/src/bin/pwm_input.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/input_capture.rs b/examples/stm32f1/src/bin/input_capture.rs index 417830231..5e2dab9e6 100644 --- a/examples/stm32f1/src/bin/input_capture.rs +++ b/examples/stm32f1/src/bin/input_capture.rs @@ -43,7 +43,7 @@ async fn main(spawner: Spawner) { let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, Irqs, khz(1000), Default::default()); loop { - info!("wait for risign edge"); + info!("wait for rising edge"); ic.wait_for_rising_edge(Channel::Ch3).await; let capture_value = ic.get_capture_value(Channel::Ch3); diff --git a/examples/stm32f1/src/bin/pwm_input.rs b/examples/stm32f1/src/bin/pwm_input.rs index c051d1328..de6949eb4 100644 --- a/examples/stm32f1/src/bin/pwm_input.rs +++ b/examples/stm32f1/src/bin/pwm_input.rs @@ -11,7 +11,7 @@ use embassy_stm32::{bind_interrupts, peripherals, timer}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -/// Connect PB2 and PB10 with a 1k Ohm resistor +/// Connect PA0 and PC13 with a 1k Ohm resistor #[embassy_executor::task] async fn blinky(led: peripherals::PC13) { diff --git a/examples/stm32f4/src/bin/pwm_input.rs b/examples/stm32f4/src/bin/pwm_input.rs index eb1e7cb87..30cefac3a 100644 --- a/examples/stm32f4/src/bin/pwm_input.rs +++ b/examples/stm32f4/src/bin/pwm_input.rs @@ -11,7 +11,7 @@ use embassy_stm32::{bind_interrupts, peripherals, timer}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -/// Connect PB2 and PB10 with a 1k Ohm resistor +/// Connect PB2 and PA6 with a 1k Ohm resistor #[embassy_executor::task] async fn blinky(led: peripherals::PB2) { -- cgit From 292c1dd0b858fe8dde74edd2f60a96f4c9e588da Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Wed, 29 May 2024 09:58:46 -0400 Subject: rename get_width_ticks and add info!() in examples --- examples/stm32f1/src/bin/pwm_input.rs | 9 ++++----- examples/stm32f4/src/bin/pwm_input.rs | 9 ++++----- 2 files changed, 8 insertions(+), 10 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/pwm_input.rs b/examples/stm32f1/src/bin/pwm_input.rs index de6949eb4..9883280cf 100644 --- a/examples/stm32f1/src/bin/pwm_input.rs +++ b/examples/stm32f1/src/bin/pwm_input.rs @@ -1,7 +1,6 @@ #![no_std] #![no_main] -use cortex_m::asm; use defmt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; @@ -44,9 +43,9 @@ async fn main(spawner: Spawner) { loop { Timer::after_millis(500).await; - let _per = pwm_input.get_period_ticks(); - let _dc = pwm_input.get_duty_ticks(); - let _pc = pwm_input.get_duty_cycle(); - asm::nop(); + let period = pwm_input.get_period_ticks(); + let width = pwm_input.get_width_ticks(); + let duty_cycle = pwm_input.get_duty_cycle(); + info!("period ticks: {} width ticks: {} duty cycle: {}", period, width, duty_cycle); } } diff --git a/examples/stm32f4/src/bin/pwm_input.rs b/examples/stm32f4/src/bin/pwm_input.rs index 30cefac3a..8fe1fdb5b 100644 --- a/examples/stm32f4/src/bin/pwm_input.rs +++ b/examples/stm32f4/src/bin/pwm_input.rs @@ -1,7 +1,6 @@ #![no_std] #![no_main] -use cortex_m::asm; use defmt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; @@ -44,9 +43,9 @@ async fn main(spawner: Spawner) { loop { Timer::after_millis(500).await; - let _per = pwm_input.get_period_ticks(); - let _dc = pwm_input.get_duty_ticks(); - let _pc = pwm_input.get_duty_cycle(); - asm::nop(); + let period = pwm_input.get_period_ticks(); + let width = pwm_input.get_width_ticks(); + let duty_cycle = pwm_input.get_duty_cycle(); + info!("period ticks: {} width ticks: {} duty cycle: {}", period, width, duty_cycle); } } -- cgit From a87b33303403ba3601d0c631b9efe1cb3853c73b Mon Sep 17 00:00:00 2001 From: Bruno Bousquet <21108660+brunob45@users.noreply.github.com> Date: Wed, 29 May 2024 10:02:54 -0400 Subject: fix fmt --- examples/stm32f1/src/bin/pwm_input.rs | 5 ++++- examples/stm32f4/src/bin/pwm_input.rs | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f1/src/bin/pwm_input.rs b/examples/stm32f1/src/bin/pwm_input.rs index 9883280cf..f74853d4e 100644 --- a/examples/stm32f1/src/bin/pwm_input.rs +++ b/examples/stm32f1/src/bin/pwm_input.rs @@ -46,6 +46,9 @@ async fn main(spawner: Spawner) { let period = pwm_input.get_period_ticks(); let width = pwm_input.get_width_ticks(); let duty_cycle = pwm_input.get_duty_cycle(); - info!("period ticks: {} width ticks: {} duty cycle: {}", period, width, duty_cycle); + info!( + "period ticks: {} width ticks: {} duty cycle: {}", + period, width, duty_cycle + ); } } diff --git a/examples/stm32f4/src/bin/pwm_input.rs b/examples/stm32f4/src/bin/pwm_input.rs index 8fe1fdb5b..ce200549d 100644 --- a/examples/stm32f4/src/bin/pwm_input.rs +++ b/examples/stm32f4/src/bin/pwm_input.rs @@ -46,6 +46,9 @@ async fn main(spawner: Spawner) { let period = pwm_input.get_period_ticks(); let width = pwm_input.get_width_ticks(); let duty_cycle = pwm_input.get_duty_cycle(); - info!("period ticks: {} width ticks: {} duty cycle: {}", period, width, duty_cycle); + info!( + "period ticks: {} width ticks: {} duty cycle: {}", + period, width, duty_cycle + ); } } -- cgit From 7fd79857c339ccc55a4df606e25b432ada8f43a1 Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Thu, 30 May 2024 22:00:02 +1000 Subject: Fix example. --- examples/stm32f7/src/bin/can.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32f7/src/bin/can.rs b/examples/stm32f7/src/bin/can.rs index e32b4d3df..f4d6d8c19 100644 --- a/examples/stm32f7/src/bin/can.rs +++ b/examples/stm32f7/src/bin/can.rs @@ -24,7 +24,7 @@ bind_interrupts!(struct Irqs { }); #[embassy_executor::task] -pub async fn send_can_message(tx: &'static mut CanTx<'static, CAN3>) { +pub async fn send_can_message(tx: &'static mut CanTx<'static>) { loop { let frame = Frame::new_data(unwrap!(StandardId::new(0 as _)), &[0]).unwrap(); tx.write(&frame).await; @@ -62,7 +62,7 @@ async fn main(spawner: Spawner) { let (tx, mut rx) = can.split(); - static CAN_TX: StaticCell> = StaticCell::new(); + static CAN_TX: StaticCell> = StaticCell::new(); let tx = CAN_TX.init(tx); spawner.spawn(send_can_message(tx)).unwrap(); -- cgit From 999a2ad829d05b2a34797cf43d625d09bd796a58 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 31 May 2024 21:41:42 +0200 Subject: Fix all check-cfg errors in the entire repo. the main ci.sh now passes if running with nightly. --- examples/boot/application/nrf/Cargo.toml | 7 +++++++ examples/boot/application/stm32f3/Cargo.toml | 1 + examples/boot/application/stm32f3/src/bin/a.rs | 2 +- examples/boot/application/stm32f3/src/bin/b.rs | 2 +- examples/boot/application/stm32f7/Cargo.toml | 1 + examples/boot/application/stm32f7/src/bin/a.rs | 2 +- examples/boot/application/stm32f7/src/bin/b.rs | 2 +- examples/boot/application/stm32h7/Cargo.toml | 1 + examples/boot/application/stm32h7/src/bin/a.rs | 2 +- examples/boot/application/stm32h7/src/bin/b.rs | 2 +- examples/boot/application/stm32l0/Cargo.toml | 1 + examples/boot/application/stm32l0/src/bin/a.rs | 2 +- examples/boot/application/stm32l0/src/bin/b.rs | 2 +- examples/boot/application/stm32l1/Cargo.toml | 1 + examples/boot/application/stm32l1/src/bin/a.rs | 2 +- examples/boot/application/stm32l1/src/bin/b.rs | 2 +- examples/boot/application/stm32l4/Cargo.toml | 1 + examples/boot/application/stm32l4/src/bin/a.rs | 2 +- examples/boot/application/stm32l4/src/bin/b.rs | 2 +- examples/boot/application/stm32wb-dfu/src/main.rs | 2 +- examples/boot/application/stm32wl/Cargo.toml | 1 + examples/boot/application/stm32wl/src/bin/a.rs | 2 +- examples/boot/application/stm32wl/src/bin/b.rs | 2 +- examples/boot/bootloader/nrf/Cargo.toml | 2 +- examples/boot/bootloader/rp/Cargo.toml | 2 +- examples/boot/bootloader/stm32-dual-bank/Cargo.toml | 3 +-- examples/boot/bootloader/stm32/Cargo.toml | 2 +- examples/boot/bootloader/stm32wb-dfu/Cargo.toml | 2 +- 28 files changed, 34 insertions(+), 21 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml index f0a710335..cf34bb7cf 100644 --- a/examples/boot/application/nrf/Cargo.toml +++ b/examples/boot/application/nrf/Cargo.toml @@ -25,3 +25,10 @@ cortex-m-rt = "0.7.0" ed25519-dalek = ["embassy-boot/ed25519-dalek"] ed25519-salty = ["embassy-boot/ed25519-salty"] skip-include = [] +defmt = [ + "dep:defmt", + "dep:defmt-rtt", + "embassy-nrf/defmt", + "embassy-boot-nrf/defmt", + "embassy-sync/defmt", +] diff --git a/examples/boot/application/stm32f3/Cargo.toml b/examples/boot/application/stm32f3/Cargo.toml index fe1a6f5b1..9b79b01ce 100644 --- a/examples/boot/application/stm32f3/Cargo.toml +++ b/examples/boot/application/stm32f3/Cargo.toml @@ -23,6 +23,7 @@ cortex-m-rt = "0.7.0" [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-stm32/defmt", "embassy-boot-stm32/defmt", "embassy-sync/defmt", diff --git a/examples/boot/application/stm32f3/src/bin/a.rs b/examples/boot/application/stm32f3/src/bin/a.rs index 8858ae3da..b608b2e01 100644 --- a/examples/boot/application/stm32f3/src/bin/a.rs +++ b/examples/boot/application/stm32f3/src/bin/a.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_boot_stm32::{AlignedBuffer, FirmwareUpdater, FirmwareUpdaterConfig}; use embassy_embedded_hal::adapter::BlockingAsync; diff --git a/examples/boot/application/stm32f3/src/bin/b.rs b/examples/boot/application/stm32f3/src/bin/b.rs index 22ba82d5e..b1a505631 100644 --- a/examples/boot/application/stm32f3/src/bin/b.rs +++ b/examples/boot/application/stm32f3/src/bin/b.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Speed}; diff --git a/examples/boot/application/stm32f7/Cargo.toml b/examples/boot/application/stm32f7/Cargo.toml index 37e362824..0167dfb76 100644 --- a/examples/boot/application/stm32f7/Cargo.toml +++ b/examples/boot/application/stm32f7/Cargo.toml @@ -24,6 +24,7 @@ cortex-m-rt = "0.7.0" [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-stm32/defmt", "embassy-boot-stm32/defmt", "embassy-sync/defmt", diff --git a/examples/boot/application/stm32f7/src/bin/a.rs b/examples/boot/application/stm32f7/src/bin/a.rs index d3df11fe4..172b4c235 100644 --- a/examples/boot/application/stm32f7/src/bin/a.rs +++ b/examples/boot/application/stm32f7/src/bin/a.rs @@ -3,7 +3,7 @@ use core::cell::RefCell; -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_boot_stm32::{AlignedBuffer, BlockingFirmwareUpdater, FirmwareUpdaterConfig}; use embassy_executor::Spawner; diff --git a/examples/boot/application/stm32f7/src/bin/b.rs b/examples/boot/application/stm32f7/src/bin/b.rs index 190477204..6bc9c9ab8 100644 --- a/examples/boot/application/stm32f7/src/bin/b.rs +++ b/examples/boot/application/stm32f7/src/bin/b.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Speed}; diff --git a/examples/boot/application/stm32h7/Cargo.toml b/examples/boot/application/stm32h7/Cargo.toml index 52cd0b546..61643d485 100644 --- a/examples/boot/application/stm32h7/Cargo.toml +++ b/examples/boot/application/stm32h7/Cargo.toml @@ -24,6 +24,7 @@ cortex-m-rt = "0.7.0" [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-stm32/defmt", "embassy-boot-stm32/defmt", "embassy-sync/defmt", diff --git a/examples/boot/application/stm32h7/src/bin/a.rs b/examples/boot/application/stm32h7/src/bin/a.rs index f61ac1f71..c1b1a267a 100644 --- a/examples/boot/application/stm32h7/src/bin/a.rs +++ b/examples/boot/application/stm32h7/src/bin/a.rs @@ -3,7 +3,7 @@ use core::cell::RefCell; -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_boot_stm32::{AlignedBuffer, BlockingFirmwareUpdater, FirmwareUpdaterConfig}; use embassy_executor::Spawner; diff --git a/examples/boot/application/stm32h7/src/bin/b.rs b/examples/boot/application/stm32h7/src/bin/b.rs index 5f3f35207..13bdae1f1 100644 --- a/examples/boot/application/stm32h7/src/bin/b.rs +++ b/examples/boot/application/stm32h7/src/bin/b.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Speed}; diff --git a/examples/boot/application/stm32l0/Cargo.toml b/examples/boot/application/stm32l0/Cargo.toml index 0f3cbe654..2990089ac 100644 --- a/examples/boot/application/stm32l0/Cargo.toml +++ b/examples/boot/application/stm32l0/Cargo.toml @@ -23,6 +23,7 @@ cortex-m-rt = "0.7.0" [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-stm32/defmt", "embassy-boot-stm32/defmt", "embassy-sync/defmt", diff --git a/examples/boot/application/stm32l0/src/bin/a.rs b/examples/boot/application/stm32l0/src/bin/a.rs index f066c1139..dcc10e5c6 100644 --- a/examples/boot/application/stm32l0/src/bin/a.rs +++ b/examples/boot/application/stm32l0/src/bin/a.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_boot_stm32::{AlignedBuffer, FirmwareUpdater, FirmwareUpdaterConfig}; use embassy_embedded_hal::adapter::BlockingAsync; diff --git a/examples/boot/application/stm32l0/src/bin/b.rs b/examples/boot/application/stm32l0/src/bin/b.rs index 6bf00f41a..a59c6f540 100644 --- a/examples/boot/application/stm32l0/src/bin/b.rs +++ b/examples/boot/application/stm32l0/src/bin/b.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Speed}; diff --git a/examples/boot/application/stm32l1/Cargo.toml b/examples/boot/application/stm32l1/Cargo.toml index 3e964df9c..c07d71591 100644 --- a/examples/boot/application/stm32l1/Cargo.toml +++ b/examples/boot/application/stm32l1/Cargo.toml @@ -23,6 +23,7 @@ cortex-m-rt = "0.7.0" [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-stm32/defmt", "embassy-boot-stm32/defmt", "embassy-sync/defmt", diff --git a/examples/boot/application/stm32l1/src/bin/a.rs b/examples/boot/application/stm32l1/src/bin/a.rs index f066c1139..dcc10e5c6 100644 --- a/examples/boot/application/stm32l1/src/bin/a.rs +++ b/examples/boot/application/stm32l1/src/bin/a.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_boot_stm32::{AlignedBuffer, FirmwareUpdater, FirmwareUpdaterConfig}; use embassy_embedded_hal::adapter::BlockingAsync; diff --git a/examples/boot/application/stm32l1/src/bin/b.rs b/examples/boot/application/stm32l1/src/bin/b.rs index 6bf00f41a..a59c6f540 100644 --- a/examples/boot/application/stm32l1/src/bin/b.rs +++ b/examples/boot/application/stm32l1/src/bin/b.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Speed}; diff --git a/examples/boot/application/stm32l4/Cargo.toml b/examples/boot/application/stm32l4/Cargo.toml index b154403ac..72b937ca7 100644 --- a/examples/boot/application/stm32l4/Cargo.toml +++ b/examples/boot/application/stm32l4/Cargo.toml @@ -23,6 +23,7 @@ cortex-m-rt = "0.7.0" [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-stm32/defmt", "embassy-boot-stm32/defmt", "embassy-sync/defmt", diff --git a/examples/boot/application/stm32l4/src/bin/a.rs b/examples/boot/application/stm32l4/src/bin/a.rs index a0079ee33..7f8015c04 100644 --- a/examples/boot/application/stm32l4/src/bin/a.rs +++ b/examples/boot/application/stm32l4/src/bin/a.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_boot_stm32::{AlignedBuffer, FirmwareUpdater, FirmwareUpdaterConfig}; use embassy_embedded_hal::adapter::BlockingAsync; diff --git a/examples/boot/application/stm32l4/src/bin/b.rs b/examples/boot/application/stm32l4/src/bin/b.rs index 22ba82d5e..b1a505631 100644 --- a/examples/boot/application/stm32l4/src/bin/b.rs +++ b/examples/boot/application/stm32l4/src/bin/b.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Speed}; diff --git a/examples/boot/application/stm32wb-dfu/src/main.rs b/examples/boot/application/stm32wb-dfu/src/main.rs index 929d6802c..0ab99ff90 100644 --- a/examples/boot/application/stm32wb-dfu/src/main.rs +++ b/examples/boot/application/stm32wb-dfu/src/main.rs @@ -3,7 +3,7 @@ use core::cell::RefCell; -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_boot_stm32::{AlignedBuffer, BlockingFirmwareState, FirmwareUpdaterConfig}; use embassy_executor::Spawner; diff --git a/examples/boot/application/stm32wl/Cargo.toml b/examples/boot/application/stm32wl/Cargo.toml index 93ead617c..a5160b797 100644 --- a/examples/boot/application/stm32wl/Cargo.toml +++ b/examples/boot/application/stm32wl/Cargo.toml @@ -23,6 +23,7 @@ cortex-m-rt = "0.7.0" [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-stm32/defmt", "embassy-boot-stm32/defmt", "embassy-sync/defmt", diff --git a/examples/boot/application/stm32wl/src/bin/a.rs b/examples/boot/application/stm32wl/src/bin/a.rs index 2fb16bdc4..9f4f0b238 100644 --- a/examples/boot/application/stm32wl/src/bin/a.rs +++ b/examples/boot/application/stm32wl/src/bin/a.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_boot_stm32::{AlignedBuffer, FirmwareUpdater, FirmwareUpdaterConfig}; use embassy_embedded_hal::adapter::BlockingAsync; diff --git a/examples/boot/application/stm32wl/src/bin/b.rs b/examples/boot/application/stm32wl/src/bin/b.rs index 8dd15d8cd..e954d8b91 100644 --- a/examples/boot/application/stm32wl/src/bin/b.rs +++ b/examples/boot/application/stm32wl/src/bin/b.rs @@ -1,7 +1,7 @@ #![no_std] #![no_main] -#[cfg(feature = "defmt-rtt")] +#[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Speed}; diff --git a/examples/boot/bootloader/nrf/Cargo.toml b/examples/boot/bootloader/nrf/Cargo.toml index 980149bea..9d5d51a13 100644 --- a/examples/boot/bootloader/nrf/Cargo.toml +++ b/examples/boot/bootloader/nrf/Cargo.toml @@ -19,13 +19,13 @@ cfg-if = "1.0.0" [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-boot-nrf/defmt", "embassy-nrf/defmt", ] softdevice = [ "embassy-boot-nrf/softdevice", ] -debug = ["defmt-rtt", "defmt"] [profile.dev] debug = 2 diff --git a/examples/boot/bootloader/rp/Cargo.toml b/examples/boot/bootloader/rp/Cargo.toml index 7eec3df1b..c15c980ca 100644 --- a/examples/boot/bootloader/rp/Cargo.toml +++ b/examples/boot/bootloader/rp/Cargo.toml @@ -23,10 +23,10 @@ cfg-if = "1.0.0" [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-boot-rp/defmt", "embassy-rp/defmt", ] -debug = ["defmt-rtt", "defmt"] [profile.release] debug = true diff --git a/examples/boot/bootloader/stm32-dual-bank/Cargo.toml b/examples/boot/bootloader/stm32-dual-bank/Cargo.toml index 55adf84d7..b91b05412 100644 --- a/examples/boot/bootloader/stm32-dual-bank/Cargo.toml +++ b/examples/boot/bootloader/stm32-dual-bank/Cargo.toml @@ -22,8 +22,7 @@ embedded-storage-async = "0.4.0" cfg-if = "1.0.0" [features] -defmt = ["dep:defmt", "embassy-boot-stm32/defmt", "embassy-stm32/defmt"] -debug = ["defmt-rtt", "defmt"] +defmt = ["dep:defmt", "dep:defmt-rtt", "embassy-boot-stm32/defmt", "embassy-stm32/defmt"] [profile.dev] debug = 2 diff --git a/examples/boot/bootloader/stm32/Cargo.toml b/examples/boot/bootloader/stm32/Cargo.toml index ef2b99404..541186949 100644 --- a/examples/boot/bootloader/stm32/Cargo.toml +++ b/examples/boot/bootloader/stm32/Cargo.toml @@ -21,10 +21,10 @@ cfg-if = "1.0.0" [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-boot-stm32/defmt", "embassy-stm32/defmt", ] -debug = ["defmt-rtt", "defmt"] [profile.dev] debug = 2 diff --git a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml index 93b5d8b34..9950ed7b6 100644 --- a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml +++ b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml @@ -24,12 +24,12 @@ embassy-futures = { version = "0.1.1", path = "../../../../embassy-futures" } [features] defmt = [ "dep:defmt", + "dep:defmt-rtt", "embassy-boot-stm32/defmt", "embassy-stm32/defmt", "embassy-usb/defmt", "embassy-usb-dfu/defmt" ] -debug = ["defmt-rtt", "defmt"] [profile.dev] debug = 2 -- cgit From 339dd859686caee4ed55ed1f3cba0320e085db39 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 31 May 2024 22:16:30 +0200 Subject: stm32/spi: restrict txonly_nosck to SPIv1, it hangs in other versions. --- examples/stm32g0/src/bin/spi_neopixel.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32g0/src/bin/spi_neopixel.rs b/examples/stm32g0/src/bin/spi_neopixel.rs index 2deee271d..edcae74f7 100644 --- a/examples/stm32g0/src/bin/spi_neopixel.rs +++ b/examples/stm32g0/src/bin/spi_neopixel.rs @@ -76,7 +76,7 @@ async fn main(_spawner: Spawner) { let mut config = Config::default(); config.frequency = Hertz(4_000_000); - let mut spi = Spi::new_txonly_nosck(p.SPI1, p.PB5, p.DMA1_CH3, config); + let mut spi = Spi::new_txonly(p.SPI1, p.PB3, p.PB5, p.DMA1_CH3, config); // SCK is unused. let mut neopixels = Ws2812::new(); -- cgit From 58ef2594e511bd5147aae504b8ff723152ab1d1b Mon Sep 17 00:00:00 2001 From: Corey Schuhen Date: Sun, 2 Jun 2024 20:16:57 +1000 Subject: Fix F7 example. --- examples/stm32f7/src/bin/can.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32f7/src/bin/can.rs b/examples/stm32f7/src/bin/can.rs index f4d6d8c19..a82e335a9 100644 --- a/examples/stm32f7/src/bin/can.rs +++ b/examples/stm32f7/src/bin/can.rs @@ -45,7 +45,7 @@ async fn main(spawner: Spawner) { let rx_pin = Input::new(&mut p.PA15, Pull::Up); core::mem::forget(rx_pin); - static CAN: StaticCell> = StaticCell::new(); + static CAN: StaticCell> = StaticCell::new(); let can = CAN.init(Can::new(p.CAN3, p.PA8, p.PA15, Irqs)); can.modify_filters().enable_bank(0, Fifo::Fifo0, Mask32::accept_all()); -- cgit From d2045be9f322be29fc3ac3240e11dd4a6b34e784 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Mon, 3 Jun 2024 08:45:05 +0200 Subject: fix broken links to embassy book --- examples/stm32f4/src/bin/usb_ethernet.rs | 2 +- examples/stm32f4/src/bin/usb_hid_keyboard.rs | 2 +- examples/stm32f4/src/bin/usb_hid_mouse.rs | 2 +- examples/stm32f4/src/bin/usb_raw.rs | 2 +- examples/stm32f4/src/bin/usb_serial.rs | 2 +- examples/stm32f7/src/bin/usb_serial.rs | 2 +- examples/stm32h7/src/bin/usb_serial.rs | 2 +- examples/stm32l4/src/bin/usb_serial.rs | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs index 19ae16e8b..b398c35da 100644 --- a/examples/stm32f4/src/bin/usb_ethernet.rs +++ b/examples/stm32f4/src/bin/usb_ethernet.rs @@ -43,7 +43,7 @@ bind_interrupts!(struct Irqs { // If you are trying this and your USB device doesn't connect, the most // common issues are the RCC config and vbus_detection // -// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// See https://embassy.dev/book/#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information. #[embassy_executor::main] async fn main(spawner: Spawner) { diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index 537ff63ea..1270995c4 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs @@ -24,7 +24,7 @@ bind_interrupts!(struct Irqs { // If you are trying this and your USB device doesn't connect, the most // common issues are the RCC config and vbus_detection // -// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// See https://embassy.dev/book/#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index df4b7426c..45136f965 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs @@ -21,7 +21,7 @@ bind_interrupts!(struct Irqs { // If you are trying this and your USB device doesn't connect, the most // common issues are the RCC config and vbus_detection // -// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// See https://embassy.dev/book/#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { diff --git a/examples/stm32f4/src/bin/usb_raw.rs b/examples/stm32f4/src/bin/usb_raw.rs index 1452e7c5f..b2d706208 100644 --- a/examples/stm32f4/src/bin/usb_raw.rs +++ b/examples/stm32f4/src/bin/usb_raw.rs @@ -72,7 +72,7 @@ bind_interrupts!(struct Irqs { // If you are trying this and your USB device doesn't connect, the most // common issues are the RCC config and vbus_detection // -// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// See https://embassy.dev/book/#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { diff --git a/examples/stm32f4/src/bin/usb_serial.rs b/examples/stm32f4/src/bin/usb_serial.rs index b2bd390b6..328b5effe 100644 --- a/examples/stm32f4/src/bin/usb_serial.rs +++ b/examples/stm32f4/src/bin/usb_serial.rs @@ -19,7 +19,7 @@ bind_interrupts!(struct Irqs { // If you are trying this and your USB device doesn't connect, the most // common issues are the RCC config and vbus_detection // -// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// See https://embassy.dev/book/#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { diff --git a/examples/stm32f7/src/bin/usb_serial.rs b/examples/stm32f7/src/bin/usb_serial.rs index 0e5cc7c5c..1906b28ed 100644 --- a/examples/stm32f7/src/bin/usb_serial.rs +++ b/examples/stm32f7/src/bin/usb_serial.rs @@ -19,7 +19,7 @@ bind_interrupts!(struct Irqs { // If you are trying this and your USB device doesn't connect, the most // common issues are the RCC config and vbus_detection // -// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// See https://embassy.dev/book/#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { diff --git a/examples/stm32h7/src/bin/usb_serial.rs b/examples/stm32h7/src/bin/usb_serial.rs index 1c50fc1c8..65ae597d4 100644 --- a/examples/stm32h7/src/bin/usb_serial.rs +++ b/examples/stm32h7/src/bin/usb_serial.rs @@ -18,7 +18,7 @@ bind_interrupts!(struct Irqs { // If you are trying this and your USB device doesn't connect, the most // common issues are the RCC config and vbus_detection // -// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// See https://embassy.dev/book/#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs index ed9671d0f..c3b1211d8 100644 --- a/examples/stm32l4/src/bin/usb_serial.rs +++ b/examples/stm32l4/src/bin/usb_serial.rs @@ -19,7 +19,7 @@ bind_interrupts!(struct Irqs { // If you are trying this and your USB device doesn't connect, the most // common issues are the RCC config and vbus_detection // -// See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// See https://embassy.dev/book/#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure // for more information. #[embassy_executor::main] async fn main(_spawner: Spawner) { -- cgit From 03d8f99aa57d71c27745972f2bcd9ba3450bd8c3 Mon Sep 17 00:00:00 2001 From: kalkyl Date: Tue, 4 Jun 2024 00:38:51 +0200 Subject: rp: Add zerocopy channel example --- examples/rp/src/bin/zerocopy.rs | 90 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 examples/rp/src/bin/zerocopy.rs (limited to 'examples') diff --git a/examples/rp/src/bin/zerocopy.rs b/examples/rp/src/bin/zerocopy.rs new file mode 100644 index 000000000..b5bd11512 --- /dev/null +++ b/examples/rp/src/bin/zerocopy.rs @@ -0,0 +1,90 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::adc::{self, Adc, Async, Config, InterruptHandler}; +use embassy_rp::bind_interrupts; +use embassy_rp::gpio::Pull; +use embassy_rp::peripherals::DMA_CH0; +use embassy_sync::blocking_mutex::raw::NoopRawMutex; +use embassy_sync::zerocopy_channel::{Channel, Receiver, Sender}; +use embassy_time::{Duration, Ticker, Timer}; +use portable_atomic::{AtomicU16, Ordering}; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +type SampleBuffer = [u16; 512]; + +bind_interrupts!(struct Irqs { + ADC_IRQ_FIFO => InterruptHandler; +}); + +const BLOCK_SIZE: usize = 512; +const NUM_BLOCKS: usize = 2; +static MAX: AtomicU16 = AtomicU16::new(0); + +struct AdcParts { + adc: Adc<'static, Async>, + pin: adc::Channel<'static>, + dma: DMA_CH0, +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Here we go!"); + + let adc_parts = AdcParts { + adc: Adc::new(p.ADC, Irqs, Config::default()), + pin: adc::Channel::new_pin(p.PIN_29, Pull::None), + dma: p.DMA_CH0, + }; + + static BUF: StaticCell<[SampleBuffer; NUM_BLOCKS]> = StaticCell::new(); + let buf = BUF.init([[0; BLOCK_SIZE]; NUM_BLOCKS]); + + static CHANNEL: StaticCell> = StaticCell::new(); + let channel = CHANNEL.init(Channel::new(buf)); + let (sender, receiver) = channel.split(); + + spawner.must_spawn(consumer(receiver)); + spawner.must_spawn(producer(sender, adc_parts)); + + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + ticker.next().await; + let max = MAX.load(Ordering::Relaxed); + info!("latest block's max value: {:?}", max); + } +} + +#[embassy_executor::task] +async fn producer(mut sender: Sender<'static, NoopRawMutex, SampleBuffer>, mut adc: AdcParts) { + loop { + // Obtain a free buffer from the channel + let buf = sender.send().await; + + // Fill it with data + adc.adc.read_many(&mut adc.pin, buf, 1, &mut adc.dma).await.unwrap(); + + // Notify the channel that the buffer is now ready to be received + sender.send_done(); + } +} + +#[embassy_executor::task] +async fn consumer(mut receiver: Receiver<'static, NoopRawMutex, SampleBuffer>) { + loop { + // Receive a buffer from the channel + let buf = receiver.receive().await; + + // Simulate using the data, while the producer is filling up the next buffer + Timer::after_micros(1000).await; + let max = buf.iter().max().unwrap(); + MAX.store(*max, Ordering::Relaxed); + + // Notify the channel that the buffer is now ready to be reused + receiver.receive_done(); + } +} -- cgit From 874d5f7c65f2af21e4666bf92800d304c2d9e01d Mon Sep 17 00:00:00 2001 From: kalkyl Date: Tue, 4 Jun 2024 00:53:51 +0200 Subject: core atomic --- examples/rp/src/bin/zerocopy.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/src/bin/zerocopy.rs b/examples/rp/src/bin/zerocopy.rs index b5bd11512..730a3ae0c 100644 --- a/examples/rp/src/bin/zerocopy.rs +++ b/examples/rp/src/bin/zerocopy.rs @@ -1,6 +1,8 @@ #![no_std] #![no_main] +use core::sync::atomic::{AtomicU16, Ordering}; + use defmt::*; use embassy_executor::Spawner; use embassy_rp::adc::{self, Adc, Async, Config, InterruptHandler}; @@ -10,7 +12,6 @@ use embassy_rp::peripherals::DMA_CH0; use embassy_sync::blocking_mutex::raw::NoopRawMutex; use embassy_sync::zerocopy_channel::{Channel, Receiver, Sender}; use embassy_time::{Duration, Ticker, Timer}; -use portable_atomic::{AtomicU16, Ordering}; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; -- cgit From f9d8c68fc8ed490e72e61b74d2b3b26bbbd0434c Mon Sep 17 00:00:00 2001 From: kalkyl Date: Tue, 4 Jun 2024 01:20:19 +0200 Subject: Add description --- examples/rp/src/bin/zerocopy.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'examples') diff --git a/examples/rp/src/bin/zerocopy.rs b/examples/rp/src/bin/zerocopy.rs index 730a3ae0c..39f03c8e4 100644 --- a/examples/rp/src/bin/zerocopy.rs +++ b/examples/rp/src/bin/zerocopy.rs @@ -1,3 +1,6 @@ +//! This example shows how to use `zerocopy_channel` from `embassy_sync` for +//! sending large values between two tasks without copying. +//! The example also shows how to use the RP2040 ADC with DMA. #![no_std] #![no_main] -- cgit From 30918c355b5777715f9d5c8019ce8a8dd1f69715 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Tue, 4 Jun 2024 08:57:16 +0200 Subject: prepare for embassy-time 0.3.1 release --- examples/boot/application/nrf/Cargo.toml | 2 +- examples/boot/application/rp/Cargo.toml | 2 +- examples/boot/application/stm32f3/Cargo.toml | 2 +- examples/boot/application/stm32f7/Cargo.toml | 2 +- examples/boot/application/stm32h7/Cargo.toml | 2 +- examples/boot/application/stm32l0/Cargo.toml | 2 +- examples/boot/application/stm32l1/Cargo.toml | 2 +- examples/boot/application/stm32l4/Cargo.toml | 2 +- examples/boot/application/stm32wb-dfu/Cargo.toml | 2 +- examples/boot/application/stm32wl/Cargo.toml | 2 +- examples/nrf-rtos-trace/Cargo.toml | 2 +- examples/nrf51/Cargo.toml | 2 +- examples/nrf52810/Cargo.toml | 2 +- examples/nrf52840-rtic/Cargo.toml | 2 +- examples/nrf52840/Cargo.toml | 2 +- examples/nrf5340/Cargo.toml | 2 +- examples/nrf9160/Cargo.toml | 2 +- examples/rp/Cargo.toml | 2 +- examples/std/Cargo.toml | 2 +- examples/stm32c0/Cargo.toml | 2 +- examples/stm32f0/Cargo.toml | 2 +- examples/stm32f1/Cargo.toml | 2 +- examples/stm32f2/Cargo.toml | 2 +- examples/stm32f3/Cargo.toml | 2 +- examples/stm32f334/Cargo.toml | 2 +- examples/stm32f4/Cargo.toml | 2 +- examples/stm32f469/Cargo.toml | 2 +- examples/stm32f7/Cargo.toml | 2 +- examples/stm32g0/Cargo.toml | 2 +- examples/stm32g4/Cargo.toml | 2 +- examples/stm32h5/Cargo.toml | 2 +- examples/stm32h7/Cargo.toml | 2 +- examples/stm32h7rs/Cargo.toml | 2 +- examples/stm32l0/Cargo.toml | 2 +- examples/stm32l1/Cargo.toml | 2 +- examples/stm32l4/Cargo.toml | 2 +- examples/stm32l5/Cargo.toml | 2 +- examples/stm32u0/Cargo.toml | 2 +- examples/stm32u5/Cargo.toml | 2 +- examples/stm32wb/Cargo.toml | 2 +- examples/stm32wba/Cargo.toml | 2 +- examples/stm32wl/Cargo.toml | 2 +- examples/wasm/Cargo.toml | 2 +- 43 files changed, 43 insertions(+), 43 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml index cf34bb7cf..dbbe0fddc 100644 --- a/examples/boot/application/nrf/Cargo.toml +++ b/examples/boot/application/nrf/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } -embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [] } +embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [] } embassy-nrf = { version = "0.1.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } embassy-boot = { version = "0.2.0", path = "../../../../embassy-boot", features = [] } embassy-boot-nrf = { version = "0.2.0", path = "../../../../embassy-boot-nrf", features = [] } diff --git a/examples/boot/application/rp/Cargo.toml b/examples/boot/application/rp/Cargo.toml index 2ddcbffee..d4341e8f6 100644 --- a/examples/boot/application/rp/Cargo.toml +++ b/examples/boot/application/rp/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } -embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [] } +embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [] } embassy-rp = { version = "0.1.0", path = "../../../../embassy-rp", features = ["time-driver", ] } embassy-boot-rp = { version = "0.2.0", path = "../../../../embassy-boot-rp", features = [] } embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32f3/Cargo.toml b/examples/boot/application/stm32f3/Cargo.toml index 9b79b01ce..c203ffc9f 100644 --- a/examples/boot/application/stm32f3/Cargo.toml +++ b/examples/boot/application/stm32f3/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32f303re", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32" } embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32f7/Cargo.toml b/examples/boot/application/stm32f7/Cargo.toml index 0167dfb76..ed13eab65 100644 --- a/examples/boot/application/stm32f7/Cargo.toml +++ b/examples/boot/application/stm32f7/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32f767zi", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32h7/Cargo.toml b/examples/boot/application/stm32h7/Cargo.toml index 61643d485..f25e9815d 100644 --- a/examples/boot/application/stm32h7/Cargo.toml +++ b/examples/boot/application/stm32h7/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32h743zi", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32l0/Cargo.toml b/examples/boot/application/stm32l0/Cargo.toml index 2990089ac..c1a47dfe4 100644 --- a/examples/boot/application/stm32l0/Cargo.toml +++ b/examples/boot/application/stm32l0/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l072cz", "time-driver-any", "exti", "memory-x"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32l1/Cargo.toml b/examples/boot/application/stm32l1/Cargo.toml index c07d71591..1e83d3113 100644 --- a/examples/boot/application/stm32l1/Cargo.toml +++ b/examples/boot/application/stm32l1/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l151cb-a", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32l4/Cargo.toml b/examples/boot/application/stm32l4/Cargo.toml index 72b937ca7..bca292681 100644 --- a/examples/boot/application/stm32l4/Cargo.toml +++ b/examples/boot/application/stm32l4/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l475vg", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32wb-dfu/Cargo.toml b/examples/boot/application/stm32wb-dfu/Cargo.toml index bb83ae049..0484e6ceb 100644 --- a/examples/boot/application/stm32wb-dfu/Cargo.toml +++ b/examples/boot/application/stm32wb-dfu/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32wl/Cargo.toml b/examples/boot/application/stm32wl/Cargo.toml index a5160b797..b785a1968 100644 --- a/examples/boot/application/stm32wl/Cargo.toml +++ b/examples/boot/application/stm32wl/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wl55jc-cm4", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/nrf-rtos-trace/Cargo.toml b/examples/nrf-rtos-trace/Cargo.toml index 147bb40dc..70a89bb30 100644 --- a/examples/nrf-rtos-trace/Cargo.toml +++ b/examples/nrf-rtos-trace/Cargo.toml @@ -17,7 +17,7 @@ log = [ [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "rtos-trace", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time" } +embassy-time = { version = "0.3.1", path = "../../embassy-time" } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac"] } cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } diff --git a/examples/nrf51/Cargo.toml b/examples/nrf51/Cargo.toml index 06c3d20cb..c52256d8e 100644 --- a/examples/nrf51/Cargo.toml +++ b/examples/nrf51/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf51", "gpiote", "time-driver-rtc1", "unstable-pac", "time", "rt"] } defmt = "0.3" diff --git a/examples/nrf52810/Cargo.toml b/examples/nrf52810/Cargo.toml index faec9a263..2031b253f 100644 --- a/examples/nrf52810/Cargo.toml +++ b/examples/nrf52810/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" diff --git a/examples/nrf52840-rtic/Cargo.toml b/examples/nrf52840-rtic/Cargo.toml index 041c779a5..731cee843 100644 --- a/examples/nrf52840-rtic/Cargo.toml +++ b/examples/nrf52840-rtic/Cargo.toml @@ -9,7 +9,7 @@ rtic = { version = "2", features = ["thumbv7-backend"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = [ "defmt", "defmt-timestamp-uptime", "generic-queue"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = [ "defmt", "defmt-timestamp-uptime", "generic-queue"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = [ "defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index 79d9e4e1a..000857821 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index e560a3dbb..02f6190f0 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/nrf9160/Cargo.toml b/examples/nrf9160/Cargo.toml index af2385960..2ff692b24 100644 --- a/examples/nrf9160/Cargo.toml +++ b/examples/nrf9160/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf9160-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 726df29cb..bb91969bc 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal", features = ["defmt"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet"] } diff --git a/examples/std/Cargo.toml b/examples/std/Cargo.toml index 77c479d3b..58ea894f3 100644 --- a/examples/std/Cargo.toml +++ b/examples/std/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["log"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-std", "executor-thread", "log", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["log", "std", ] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["log", "std", ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features=[ "std", "log", "medium-ethernet", "medium-ip", "tcp", "udp", "dns", "dhcpv4", "proto-ipv6"] } embassy-net-tuntap = { version = "0.1.0", path = "../../embassy-net-tuntap" } embassy-net-ppp = { version = "0.1.0", path = "../../embassy-net-ppp", features = ["log"]} diff --git a/examples/stm32c0/Cargo.toml b/examples/stm32c0/Cargo.toml index 6fdcdce5f..331046a80 100644 --- a/examples/stm32c0/Cargo.toml +++ b/examples/stm32c0/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32c031c6", "memory-x", "unstable-pac", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32f0/Cargo.toml b/examples/stm32f0/Cargo.toml index 5b648e58a..15fb55ca7 100644 --- a/examples/stm32f0/Cargo.toml +++ b/examples/stm32f0/Cargo.toml @@ -14,7 +14,7 @@ defmt-rtt = "0.4" panic-probe = { version = "0.3", features = ["print-defmt"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } static_cell = "2" portable-atomic = { version = "1.5", features = ["unsafe-assume-single-core"] } diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml index 51723ac6d..38b615795 100644 --- a/examples/stm32f1/Cargo.toml +++ b/examples/stm32f1/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f103c8", "unstable-pac", "memory-x", "time-driver-any" ] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f2/Cargo.toml b/examples/stm32f2/Cargo.toml index 5d07b0e04..ec9b54920 100644 --- a/examples/stm32f2/Cargo.toml +++ b/examples/stm32f2/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f207zg", "unstable-pac", "memory-x", "time-driver-any", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml index 848a6b331..62c0fed16 100644 --- a/examples/stm32f3/Cargo.toml +++ b/examples/stm32f3/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f303ze", "unstable-pac", "memory-x", "time-driver-any", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f334/Cargo.toml b/examples/stm32f334/Cargo.toml index 50046de56..84c44a7b7 100644 --- a/examples/stm32f334/Cargo.toml +++ b/examples/stm32f334/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f334r8", "unstable-pac", "memory-x", "time-driver-any", "exti"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 52b7ce9e8..ecc1afe78 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt" ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f469/Cargo.toml b/examples/stm32f469/Cargo.toml index 7718a46c1..634f13f4e 100644 --- a/examples/stm32f469/Cargo.toml +++ b/examples/stm32f469/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Specific examples only for stm32f469 embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f469ni", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index b55c4e127..7fc7d6f42 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f777zi", "memory-x", "unstable-pac", "time-driver-any", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embedded-io-async = { version = "0.6.1" } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml index 122a996e5..15e58d5d1 100644 --- a/examples/stm32g0/Cargo.toml +++ b/examples/stm32g0/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32g0b1re", "memory-x", "unstable-pac", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index 9a34ba19d..ac6010f5f 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32g491re", "memory-x", "unstable-pac", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } usbd-hid = "0.7.0" diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml index 87de9f3a4..59d3a9759 100644 --- a/examples/stm32h5/Cargo.toml +++ b/examples/stm32h5/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h563zi", "memory-x", "time-driver-any", "exti", "unstable-pac", "low-power"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 14125f819..0584f3916 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [" embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32h7rs/Cargo.toml b/examples/stm32h7rs/Cargo.toml index f8c49f3d1..13d33320f 100644 --- a/examples/stm32h7rs/Cargo.toml +++ b/examples/stm32h7rs/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7s3l8", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32l0/Cargo.toml b/examples/stm32l0/Cargo.toml index b6de182e1..2c599e7a3 100644 --- a/examples/stm32l0/Cargo.toml +++ b/examples/stm32l0/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32l072cz", "time-driver-any", "exti", "memory-x"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml index 17887bc14..9e4ceac6a 100644 --- a/examples/stm32l1/Cargo.toml +++ b/examples/stm32l1/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml index 37f09bbcc..de2b2bd4d 100644 --- a/examples/stm32l4/Cargo.toml +++ b/examples/stm32l4/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l4s5qi", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net-adin1110 = { version = "0.2.0", path = "../../embassy-net-adin1110" } diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml index 910b8e6d1..e4a3c8e9c 100644 --- a/examples/stm32l5/Cargo.toml +++ b/examples/stm32l5/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l552ze", "time-driver-any", "exti", "memory-x", "low-power"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml index e67856853..afeb4dc34 100644 --- a/examples/stm32u0/Cargo.toml +++ b/examples/stm32u0/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32u083rc", "memory-x", "unstable-pac", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml index 24c9263a3..d0134b972 100644 --- a/examples/stm32u5/Cargo.toml +++ b/examples/stm32u5/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "unstable-pac", "stm32u585ai", "time-driver-any", "memory-x" ] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32wb/Cargo.toml b/examples/stm32wb/Cargo.toml index 92865b41c..c3a11b14b 100644 --- a/examples/stm32wb/Cargo.toml +++ b/examples/stm32wb/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-stm32-wpan = { version = "0.1.0", path = "../../embassy-stm32-wpan", features = ["defmt", "stm32wb55rg"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true } defmt = "0.3" diff --git a/examples/stm32wba/Cargo.toml b/examples/stm32wba/Cargo.toml index 60f6e9201..dc788e15b 100644 --- a/examples/stm32wba/Cargo.toml +++ b/examples/stm32wba/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba52cg", "time-driver-any", "memory-x", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true } defmt = "0.3" diff --git a/examples/stm32wl/Cargo.toml b/examples/stm32wl/Cargo.toml index 29cd4d466..3ea7d0cbe 100644 --- a/examples/stm32wl/Cargo.toml +++ b/examples/stm32wl/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32wl55jc-cm4", "time-driver-any", "memory-x", "unstable-pac", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } defmt = "0.3" diff --git a/examples/wasm/Cargo.toml b/examples/wasm/Cargo.toml index e7840d52e..9d7acc175 100644 --- a/examples/wasm/Cargo.toml +++ b/examples/wasm/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["cdylib"] [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["log"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-wasm", "executor-thread", "log", "integrated-timers"] } -embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["log", "wasm", ] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["log", "wasm", ] } wasm-logger = "0.2.0" wasm-bindgen = "0.2" -- cgit From bf36bec9bb85caea613687ab9e0c1652f414b95c Mon Sep 17 00:00:00 2001 From: kalkyl Date: Wed, 5 Jun 2024 09:42:08 +0200 Subject: rp: Add multichannel ADC --- examples/rp/src/bin/adc_dma.rs | 54 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 examples/rp/src/bin/adc_dma.rs (limited to 'examples') diff --git a/examples/rp/src/bin/adc_dma.rs b/examples/rp/src/bin/adc_dma.rs new file mode 100644 index 000000000..f755cf5bf --- /dev/null +++ b/examples/rp/src/bin/adc_dma.rs @@ -0,0 +1,54 @@ +//! This example shows how to use the RP2040 ADC with DMA, both single- and multichannel reads. +//! For multichannel, the samples are interleaved in the buffer: +//! `[ch1, ch2, ch3, ch4, ch1, ch2, ch3, ch4, ...]` +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler}; +use embassy_rp::bind_interrupts; +use embassy_rp::gpio::Pull; +use embassy_time::{Duration, Ticker}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + ADC_IRQ_FIFO => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Here we go!"); + + let mut adc = Adc::new(p.ADC, Irqs, Config::default()); + let mut dma = p.DMA_CH0; + let mut pin = Channel::new_pin(p.PIN_26, Pull::Up); + let mut pins = [ + Channel::new_pin(p.PIN_27, Pull::Down), + Channel::new_pin(p.PIN_28, Pull::None), + Channel::new_pin(p.PIN_29, Pull::Up), + Channel::new_temp_sensor(p.ADC_TEMP_SENSOR), + ]; + + const BLOCK_SIZE: usize = 100; + const NUM_CHANNELS: usize = 4; + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + // Read 100 samples from a single channel + let mut buf = [0_u16; BLOCK_SIZE]; + let div = 479; // 100kHz sample rate (48Mhz / 100kHz - 1) + adc.read_many(&mut pin, &mut buf, div, &mut dma).await.unwrap(); + info!("single: {:?} ...etc", buf[..8]); + + // Read 100 samples from 4 channels interleaved + let mut buf = [0_u16; { BLOCK_SIZE * NUM_CHANNELS }]; + let div = 119; // 100kHz sample rate (48Mhz / 100kHz * 4ch - 1) + adc.read_many_multichannel(&mut pins, &mut buf, div, &mut dma) + .await + .unwrap(); + info!("multi: {:?} ...etc", buf[..NUM_CHANNELS * 2]); + + ticker.next().await; + } +} -- cgit From 1812ccd276a6c277e7c99191c0aa5ce3d1c90e84 Mon Sep 17 00:00:00 2001 From: dvdsk Date: Fri, 7 Jun 2024 23:46:59 +0200 Subject: Adds an example for using the w5500 with an stm32f4 This example takes into account the lower memory on the stm32f4. That should prevent anyone wanting to use the w5500 on any stm from adapting the w5500 example for the rp which uses a lot more RAM. --- examples/stm32f4/Cargo.toml | 2 + examples/stm32f4/src/bin/eth_w5500.rs | 139 ++++++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 examples/stm32f4/src/bin/eth_w5500.rs (limited to 'examples') diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 52b7ce9e8..11cb4cb3c 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -12,6 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt" ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } +embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" @@ -20,6 +21,7 @@ defmt-rtt = "0.4" cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } cortex-m-rt = "0.7.0" embedded-hal = "0.2.6" +embedded-hal-bus = { version = "0.2", features = ["async"] } embedded-io = { version = "0.6.0" } embedded-io-async = { version = "0.6.1" } panic-probe = { version = "0.3", features = ["print-defmt"] } diff --git a/examples/stm32f4/src/bin/eth_w5500.rs b/examples/stm32f4/src/bin/eth_w5500.rs new file mode 100644 index 000000000..827e74c51 --- /dev/null +++ b/examples/stm32f4/src/bin/eth_w5500.rs @@ -0,0 +1,139 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_net::tcp::TcpSocket; +use embassy_net::{Ipv4Address, Stack, StackResources}; +use embassy_net_wiznet::{chip::W5500, Device, Runner, State}; +use embassy_stm32::gpio::{Level, Output, Pull, Speed}; +use embassy_stm32::exti::ExtiInput; +use embassy_stm32::rng::Rng; +use embassy_stm32::spi::Spi; +use embassy_stm32::mode::Async; +use embassy_stm32::time::Hertz; +use embassy_stm32::{bind_interrupts, peripherals, rng, spi, Config}; +use embassy_time::{Timer, Delay}; +use embedded_io_async::Write; +use embedded_hal_bus::spi::ExclusiveDevice; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + HASH_RNG => rng::InterruptHandler; +}); + +type EthernetSPI = ExclusiveDevice, Output<'static>, Delay>; +#[embassy_executor::task] +async fn ethernet_task( + runner: Runner<'static, W5500, EthernetSPI, ExtiInput<'static>, Output<'static>>, +) -> ! { + runner.run().await +} + +#[embassy_executor::task] +async fn net_task(stack: &'static Stack>) -> ! { + stack.run().await +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) -> ! { + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hse = Some(Hse { + freq: Hertz(8_000_000), + mode: HseMode::Bypass, + }); + config.rcc.pll_src = PllSource::HSE; + config.rcc.pll = Some(Pll { + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL180, + divp: Some(PllPDiv::DIV2), // 8mhz / 4 * 180 / 2 = 180Mhz. + divq: None, + divr: None, + }); + config.rcc.ahb_pre = AHBPrescaler::DIV1; + config.rcc.apb1_pre = APBPrescaler::DIV4; + config.rcc.apb2_pre = APBPrescaler::DIV2; + config.rcc.sys = Sysclk::PLL1_P; + } + let p = embassy_stm32::init(config); + + info!("Hello World!"); + + // Generate random seed + let mut rng = Rng::new(p.RNG, Irqs); + let mut seed = [0; 8]; + unwrap!(rng.async_fill_bytes(&mut seed).await); + let seed = u64::from_le_bytes(seed); + + let mut spi_cfg = spi::Config::default(); + spi_cfg.frequency = Hertz(50_000_000); // up to 50m works + let (miso, mosi, clk) = (p.PA6, p.PA7, p.PA5); + let spi = Spi::new(p.SPI1, clk, mosi, miso, p.DMA2_CH3, p.DMA2_CH0, spi_cfg); + let cs = Output::new(p.PA4, Level::High, Speed::VeryHigh); + let spi = unwrap!(ExclusiveDevice::new(spi, cs, Delay)); + + let w5500_int = ExtiInput::new(p.PB0, p.EXTI0, Pull::Up); + let w5500_reset = Output::new(p.PB1, Level::High, Speed::VeryHigh); + + let mac_addr = [0x02, 234, 3, 4, 82, 231]; + static STATE: StaticCell> = StaticCell::new(); + let state = STATE.init(State::<2, 2>::new()); + let (device, runner) = embassy_net_wiznet::new(mac_addr, state, spi, w5500_int, w5500_reset).await; + unwrap!(spawner.spawn(ethernet_task(runner))); + + let config = embassy_net::Config::dhcpv4(Default::default()); + //let config = embassy_net::Config::ipv4_static(embassy_net::StaticConfigV4 { + // address: Ipv4Cidr::new(Ipv4Address::new(10, 42, 0, 61), 24), + // dns_servers: Vec::new(), + // gateway: Some(Ipv4Address::new(10, 42, 0, 1)), + //}); + + static STACK: StaticCell> = StaticCell::new(); + static RESOURCES: StaticCell> = StaticCell::new(); + let stack = &*STACK.init(Stack::new( + device, + config, + RESOURCES.init(StackResources::<2>::new()), + seed, + )); + + // Launch network task + unwrap!(spawner.spawn(net_task(stack))); + + // Ensure DHCP configuration is up before trying connect + stack.wait_config_up().await; + + info!("Network task initialized"); + + // Then we can use it! + let mut rx_buffer = [0; 1024]; + let mut tx_buffer = [0; 1024]; + + loop { + let mut socket = TcpSocket::new(stack, &mut rx_buffer, &mut tx_buffer); + + socket.set_timeout(Some(embassy_time::Duration::from_secs(10))); + + let remote_endpoint = (Ipv4Address::new(10, 42, 0, 1), 8000); + info!("connecting..."); + let r = socket.connect(remote_endpoint).await; + if let Err(e) = r { + info!("connect error: {:?}", e); + Timer::after_secs(1).await; + continue; + } + info!("connected!"); + let buf = [0; 1024]; + loop { + let r = socket.write_all(&buf).await; + if let Err(e) = r { + info!("write error: {:?}", e); + break; + } + Timer::after_secs(1).await; + } + } +} -- cgit From ab31a02e17b812a965842c1b14dc44b96a57932a Mon Sep 17 00:00:00 2001 From: dvdsk Date: Sat, 8 Jun 2024 00:30:52 +0200 Subject: cargo fmt --- examples/stm32f4/src/bin/eth_w5500.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/eth_w5500.rs b/examples/stm32f4/src/bin/eth_w5500.rs index 827e74c51..c51111110 100644 --- a/examples/stm32f4/src/bin/eth_w5500.rs +++ b/examples/stm32f4/src/bin/eth_w5500.rs @@ -5,17 +5,18 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; use embassy_net::{Ipv4Address, Stack, StackResources}; -use embassy_net_wiznet::{chip::W5500, Device, Runner, State}; -use embassy_stm32::gpio::{Level, Output, Pull, Speed}; +use embassy_net_wiznet::chip::W5500; +use embassy_net_wiznet::{Device, Runner, State}; use embassy_stm32::exti::ExtiInput; +use embassy_stm32::gpio::{Level, Output, Pull, Speed}; +use embassy_stm32::mode::Async; use embassy_stm32::rng::Rng; use embassy_stm32::spi::Spi; -use embassy_stm32::mode::Async; use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, peripherals, rng, spi, Config}; -use embassy_time::{Timer, Delay}; -use embedded_io_async::Write; +use embassy_time::{Delay, Timer}; use embedded_hal_bus::spi::ExclusiveDevice; +use embedded_io_async::Write; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; @@ -25,9 +26,7 @@ bind_interrupts!(struct Irqs { type EthernetSPI = ExclusiveDevice, Output<'static>, Delay>; #[embassy_executor::task] -async fn ethernet_task( - runner: Runner<'static, W5500, EthernetSPI, ExtiInput<'static>, Output<'static>>, -) -> ! { +async fn ethernet_task(runner: Runner<'static, W5500, EthernetSPI, ExtiInput<'static>, Output<'static>>) -> ! { runner.run().await } -- cgit From 453aa58b7f9496faa699dd3bb88cb31e80fad1ad Mon Sep 17 00:00:00 2001 From: Krzysztof Królczyk Date: Mon, 10 Jun 2024 11:50:20 +0200 Subject: stm32/boot: update linker file in example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Krzysztof Królczyk --- examples/boot/bootloader/stm32/memory.x | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/boot/bootloader/stm32/memory.x b/examples/boot/bootloader/stm32/memory.x index b6f185ef7..198290520 100644 --- a/examples/boot/bootloader/stm32/memory.x +++ b/examples/boot/bootloader/stm32/memory.x @@ -2,7 +2,7 @@ MEMORY { /* NOTE 1 K = 1 KiBi = 1024 bytes */ FLASH : ORIGIN = 0x08000000, LENGTH = 24K - BOOTLOADER_STATE : ORIGIN = 0x08006000, LENGTH = 4K + BOOTLOADER_STATE : ORIGIN = 0x08006000, LENGTH = 8K ACTIVE : ORIGIN = 0x08008000, LENGTH = 32K DFU : ORIGIN = 0x08010000, LENGTH = 36K RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 16K -- cgit From 8b0cfde9a6c42ae45463eea42d4749bf919e3ffc Mon Sep 17 00:00:00 2001 From: Daniel Philipp <95503587+Duesentrieb71@users.noreply.github.com> Date: Wed, 12 Jun 2024 19:40:28 +0200 Subject: Clarified comments about the cortex_m::asm::delay functionality in al… (#3064) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Clarified comments about the cortex_m::asm::delay functionality in all multiprio.rs examples * fixed formatting * Changed to using embassy_time::block_for() * removed my formatting scripts * specify embassy_time::Duration --- examples/nrf52840/src/bin/multiprio.rs | 4 ++-- examples/rp/src/bin/multiprio.rs | 4 ++-- examples/stm32f0/src/bin/multiprio.rs | 4 ++-- examples/stm32f3/src/bin/multiprio.rs | 4 ++-- examples/stm32f4/src/bin/multiprio.rs | 4 ++-- examples/stm32h7/src/bin/multiprio.rs | 4 ++-- examples/stm32h7rs/src/bin/multiprio.rs | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) (limited to 'examples') diff --git a/examples/nrf52840/src/bin/multiprio.rs b/examples/nrf52840/src/bin/multiprio.rs index b634d8569..797be93a7 100644 --- a/examples/nrf52840/src/bin/multiprio.rs +++ b/examples/nrf52840/src/bin/multiprio.rs @@ -80,7 +80,7 @@ async fn run_med() { info!(" [med] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(32_000_000); // ~1 second + embassy_time::block_for(embassy_time::Duration::from_secs(1)); // ~1 second let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; @@ -97,7 +97,7 @@ async fn run_low() { info!("[low] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(64_000_000); // ~2 seconds + embassy_time::block_for(embassy_time::Duration::from_secs(2)); // ~2 seconds let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; diff --git a/examples/rp/src/bin/multiprio.rs b/examples/rp/src/bin/multiprio.rs index 26b80c11d..2b397f97d 100644 --- a/examples/rp/src/bin/multiprio.rs +++ b/examples/rp/src/bin/multiprio.rs @@ -80,7 +80,7 @@ async fn run_med() { info!(" [med] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(125_000_000); // ~1 second + embassy_time::block_for(embassy_time::Duration::from_secs(1)); // ~1 second let end = Instant::now(); let ms = end.duration_since(start).as_ticks() * 1000 / TICK_HZ; @@ -97,7 +97,7 @@ async fn run_low() { info!("[low] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(250_000_000); // ~2 seconds + embassy_time::block_for(embassy_time::Duration::from_secs(2)); // ~2 seconds let end = Instant::now(); let ms = end.duration_since(start).as_ticks() * 1000 / TICK_HZ; diff --git a/examples/stm32f0/src/bin/multiprio.rs b/examples/stm32f0/src/bin/multiprio.rs index 1c3f3991a..84e4077ef 100644 --- a/examples/stm32f0/src/bin/multiprio.rs +++ b/examples/stm32f0/src/bin/multiprio.rs @@ -80,7 +80,7 @@ async fn run_med() { info!(" [med] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(8_000_000); // ~1 second + embassy_time::block_for(embassy_time::Duration::from_secs(1)); // ~1 second let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; @@ -97,7 +97,7 @@ async fn run_low() { info!("[low] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(16_000_000); // ~2 seconds + embassy_time::block_for(embassy_time::Duration::from_secs(2)); // ~2 seconds let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; diff --git a/examples/stm32f3/src/bin/multiprio.rs b/examples/stm32f3/src/bin/multiprio.rs index 87830b416..b4620888f 100644 --- a/examples/stm32f3/src/bin/multiprio.rs +++ b/examples/stm32f3/src/bin/multiprio.rs @@ -80,7 +80,7 @@ async fn run_med() { info!(" [med] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(8_000_000); // ~1 second + embassy_time::block_for(embassy_time::Duration::from_secs(1)); // ~1 second let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; @@ -97,7 +97,7 @@ async fn run_low() { info!("[low] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(16_000_000); // ~2 seconds + embassy_time::block_for(embassy_time::Duration::from_secs(2)); // ~2 seconds let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; diff --git a/examples/stm32f4/src/bin/multiprio.rs b/examples/stm32f4/src/bin/multiprio.rs index 87830b416..b4620888f 100644 --- a/examples/stm32f4/src/bin/multiprio.rs +++ b/examples/stm32f4/src/bin/multiprio.rs @@ -80,7 +80,7 @@ async fn run_med() { info!(" [med] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(8_000_000); // ~1 second + embassy_time::block_for(embassy_time::Duration::from_secs(1)); // ~1 second let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; @@ -97,7 +97,7 @@ async fn run_low() { info!("[low] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(16_000_000); // ~2 seconds + embassy_time::block_for(embassy_time::Duration::from_secs(2)); // ~2 seconds let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; diff --git a/examples/stm32h7/src/bin/multiprio.rs b/examples/stm32h7/src/bin/multiprio.rs index fcbb6c653..b4620888f 100644 --- a/examples/stm32h7/src/bin/multiprio.rs +++ b/examples/stm32h7/src/bin/multiprio.rs @@ -80,7 +80,7 @@ async fn run_med() { info!(" [med] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(128_000_000); // ~1 second + embassy_time::block_for(embassy_time::Duration::from_secs(1)); // ~1 second let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; @@ -97,7 +97,7 @@ async fn run_low() { info!("[low] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(256_000_000); // ~2 seconds + embassy_time::block_for(embassy_time::Duration::from_secs(2)); // ~2 seconds let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; diff --git a/examples/stm32h7rs/src/bin/multiprio.rs b/examples/stm32h7rs/src/bin/multiprio.rs index fcbb6c653..b4620888f 100644 --- a/examples/stm32h7rs/src/bin/multiprio.rs +++ b/examples/stm32h7rs/src/bin/multiprio.rs @@ -80,7 +80,7 @@ async fn run_med() { info!(" [med] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(128_000_000); // ~1 second + embassy_time::block_for(embassy_time::Duration::from_secs(1)); // ~1 second let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; @@ -97,7 +97,7 @@ async fn run_low() { info!("[low] Starting long computation"); // Spin-wait to simulate a long CPU computation - cortex_m::asm::delay(256_000_000); // ~2 seconds + embassy_time::block_for(embassy_time::Duration::from_secs(2)); // ~2 seconds let end = Instant::now(); let ms = end.duration_since(start).as_ticks() / 33; -- cgit From 54fa33cbaefa7b934aa600238cbc808ecf0b5f5b Mon Sep 17 00:00:00 2001 From: Karun Date: Thu, 13 Jun 2024 13:36:05 -0400 Subject: Add example for touch sensitive controller --- examples/stm32u5/src/bin/tsc.rs | 89 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 examples/stm32u5/src/bin/tsc.rs (limited to 'examples') diff --git a/examples/stm32u5/src/bin/tsc.rs b/examples/stm32u5/src/bin/tsc.rs new file mode 100644 index 000000000..f5593d1c4 --- /dev/null +++ b/examples/stm32u5/src/bin/tsc.rs @@ -0,0 +1,89 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_stm32::tsc::{self, *}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[cortex_m_rt::exception] +unsafe fn HardFault(_: &cortex_m_rt::ExceptionFrame) -> ! { + cortex_m::peripheral::SCB::sys_reset(); +} + +#[embassy_executor::main] +async fn main(_spawner: embassy_executor::Spawner) { + let device_config = embassy_stm32::Config::default(); + let context = embassy_stm32::init(device_config); + + let config = tsc::Config { + ct_pulse_high_length: ChargeTransferPulseCycle::_2, + ct_pulse_low_length: ChargeTransferPulseCycle::_2, + spread_spectrum: false, + spread_spectrum_deviation: SSDeviation::new(2).unwrap(), + spread_spectrum_prescaler: false, + pulse_generator_prescaler: PGPrescalerDivider::_4, + max_count_value: MaxCount::_8191, + io_default_mode: false, + synchro_pin_polarity: false, + acquisition_mode: false, + max_count_interrupt: false, + channel_ios: TscIOPin::Group2Io2 | TscIOPin::Group7Io3, + shield_ios: TscIOPin::Group1Io3.into(), + sampling_ios: TscIOPin::Group1Io2 | TscIOPin::Group2Io1 | TscIOPin::Group7Io2, + }; + + let mut g1: PinGroup = PinGroup::new(); + g1.set_io2(context.PB13, PinType::Sample); + g1.set_io3(context.PB14, PinType::Shield); + + let mut g2: PinGroup = PinGroup::new(); + g2.set_io1(context.PB4, PinType::Sample); + g2.set_io2(context.PB5, PinType::Channel); + + let mut g7: PinGroup = PinGroup::new(); + g7.set_io2(context.PE3, PinType::Sample); + g7.set_io3(context.PE4, PinType::Channel); + + let mut touch_controller = tsc::Tsc::new( + context.TSC, + Some(g1), + Some(g2), + None, + None, + None, + None, + Some(g7), + None, + config, + ); + + touch_controller.discharge_io(true); + Timer::after_millis(1).await; + + touch_controller.start(); + + let mut group_two_val = 0; + let mut group_seven_val = 0; + info!("Starting touch_controller interface"); + loop { + touch_controller.poll_for_acquisition(); + touch_controller.discharge_io(true); + Timer::after_millis(1).await; + + if touch_controller.group_get_status(Group::Two) == GroupStatus::Complete { + group_two_val = touch_controller.group_get_value(Group::Two); + } + + if touch_controller.group_get_status(Group::Seven) == GroupStatus::Complete { + group_seven_val = touch_controller.group_get_value(Group::Seven); + } + + info!( + "Group Two value: {}, Group Seven value: {},", + group_two_val, group_seven_val + ); + + touch_controller.start(); + } +} -- cgit From 597b5d63379e42bad42f626b6bd409c55936a438 Mon Sep 17 00:00:00 2001 From: rafael Date: Thu, 13 Jun 2024 22:47:24 +0200 Subject: probe-rs download 43439A0.bin --format bin --chip RP2040 --base-address 0x10100000 yields: Error: --format has been renamed to --binary-format. Please use --binary-format bin instead of --format bin --- examples/rp/src/bin/wifi_ap_tcp_server.rs | 4 ++-- examples/rp/src/bin/wifi_blinky.rs | 4 ++-- examples/rp/src/bin/wifi_scan.rs | 4 ++-- examples/rp/src/bin/wifi_tcp_server.rs | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/wifi_ap_tcp_server.rs b/examples/rp/src/bin/wifi_ap_tcp_server.rs index b60852359..dd0ca61a4 100644 --- a/examples/rp/src/bin/wifi_ap_tcp_server.rs +++ b/examples/rp/src/bin/wifi_ap_tcp_server.rs @@ -46,8 +46,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin --format bin --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin --format bin --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin ---binary-format --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin ---binary-format --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; diff --git a/examples/rp/src/bin/wifi_blinky.rs b/examples/rp/src/bin/wifi_blinky.rs index 18eefe41f..7af6c8c5f 100644 --- a/examples/rp/src/bin/wifi_blinky.rs +++ b/examples/rp/src/bin/wifi_blinky.rs @@ -33,8 +33,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin --format bin --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin --format bin --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin ---binary-format --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin ---binary-format --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; diff --git a/examples/rp/src/bin/wifi_scan.rs b/examples/rp/src/bin/wifi_scan.rs index e0f85a6b0..41ad7492f 100644 --- a/examples/rp/src/bin/wifi_scan.rs +++ b/examples/rp/src/bin/wifi_scan.rs @@ -43,8 +43,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin --format bin --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin --format bin --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin ---binary-format --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin ---binary-format --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; diff --git a/examples/rp/src/bin/wifi_tcp_server.rs b/examples/rp/src/bin/wifi_tcp_server.rs index f1afc4a00..272978efc 100644 --- a/examples/rp/src/bin/wifi_tcp_server.rs +++ b/examples/rp/src/bin/wifi_tcp_server.rs @@ -49,8 +49,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin --format bin --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin --format bin --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin ---binary-format --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin ---binary-format --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; -- cgit From a8581e242b165cdfce8518d2ba87a1cf572e80e6 Mon Sep 17 00:00:00 2001 From: rafael Date: Fri, 14 Jun 2024 21:43:12 +0200 Subject: typo: was missing "bin" --- examples/rp/src/bin/wifi_ap_tcp_server.rs | 4 ++-- examples/rp/src/bin/wifi_blinky.rs | 4 ++-- examples/rp/src/bin/wifi_scan.rs | 4 ++-- examples/rp/src/bin/wifi_tcp_server.rs | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/wifi_ap_tcp_server.rs b/examples/rp/src/bin/wifi_ap_tcp_server.rs index dd0ca61a4..8bf60ca48 100644 --- a/examples/rp/src/bin/wifi_ap_tcp_server.rs +++ b/examples/rp/src/bin/wifi_ap_tcp_server.rs @@ -46,8 +46,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin ---binary-format --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin ---binary-format --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin ---binary-format bin --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin ---binary-format bin --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; diff --git a/examples/rp/src/bin/wifi_blinky.rs b/examples/rp/src/bin/wifi_blinky.rs index 7af6c8c5f..7c0f9eef8 100644 --- a/examples/rp/src/bin/wifi_blinky.rs +++ b/examples/rp/src/bin/wifi_blinky.rs @@ -33,8 +33,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin ---binary-format --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin ---binary-format --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin ---binary-format bin --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin ---binary-format bin --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; diff --git a/examples/rp/src/bin/wifi_scan.rs b/examples/rp/src/bin/wifi_scan.rs index 41ad7492f..1e535e266 100644 --- a/examples/rp/src/bin/wifi_scan.rs +++ b/examples/rp/src/bin/wifi_scan.rs @@ -43,8 +43,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin ---binary-format --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin ---binary-format --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin ---binary-format bin --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin ---binary-format bin --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; diff --git a/examples/rp/src/bin/wifi_tcp_server.rs b/examples/rp/src/bin/wifi_tcp_server.rs index 272978efc..4246115f9 100644 --- a/examples/rp/src/bin/wifi_tcp_server.rs +++ b/examples/rp/src/bin/wifi_tcp_server.rs @@ -49,8 +49,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin ---binary-format --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin ---binary-format --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin ---binary-format bin --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin ---binary-format bin --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; -- cgit From 8b903e88736a2cb8906d216a4e7a291b670968b3 Mon Sep 17 00:00:00 2001 From: rafael Date: Sat, 15 Jun 2024 14:39:41 +0200 Subject: --binary-format bin in rp examples --- examples/rp/src/bin/wifi_ap_tcp_server.rs | 4 ++-- examples/rp/src/bin/wifi_blinky.rs | 4 ++-- examples/rp/src/bin/wifi_scan.rs | 4 ++-- examples/rp/src/bin/wifi_tcp_server.rs | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/wifi_ap_tcp_server.rs b/examples/rp/src/bin/wifi_ap_tcp_server.rs index 8bf60ca48..69ce4e8be 100644 --- a/examples/rp/src/bin/wifi_ap_tcp_server.rs +++ b/examples/rp/src/bin/wifi_ap_tcp_server.rs @@ -46,8 +46,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin ---binary-format bin --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin ---binary-format bin --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin --binary-format bin --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin --binary-format bin --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; diff --git a/examples/rp/src/bin/wifi_blinky.rs b/examples/rp/src/bin/wifi_blinky.rs index 7c0f9eef8..471349639 100644 --- a/examples/rp/src/bin/wifi_blinky.rs +++ b/examples/rp/src/bin/wifi_blinky.rs @@ -33,8 +33,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin ---binary-format bin --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin ---binary-format bin --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin --binary-format bin --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin --binary-format bin --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; diff --git a/examples/rp/src/bin/wifi_scan.rs b/examples/rp/src/bin/wifi_scan.rs index 1e535e266..5f4c848a2 100644 --- a/examples/rp/src/bin/wifi_scan.rs +++ b/examples/rp/src/bin/wifi_scan.rs @@ -43,8 +43,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin ---binary-format bin --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin ---binary-format bin --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin --binary-format bin --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin --binary-format bin --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; diff --git a/examples/rp/src/bin/wifi_tcp_server.rs b/examples/rp/src/bin/wifi_tcp_server.rs index 4246115f9..bbb531807 100644 --- a/examples/rp/src/bin/wifi_tcp_server.rs +++ b/examples/rp/src/bin/wifi_tcp_server.rs @@ -49,8 +49,8 @@ async fn main(spawner: Spawner) { // To make flashing faster for development, you may want to flash the firmwares independently // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: - // probe-rs download 43439A0.bin ---binary-format bin --chip RP2040 --base-address 0x10100000 - // probe-rs download 43439A0_clm.bin ---binary-format bin --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0.bin --binary-format bin --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin --binary-format bin --chip RP2040 --base-address 0x10140000 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; -- cgit From 94007ce6e0fc59e374902eadcc31616e56068e43 Mon Sep 17 00:00:00 2001 From: Jan Å paÄek Date: Sat, 1 Jun 2024 18:16:40 +0200 Subject: stm32/gpio: refactor AfType --- examples/stm32h7/src/bin/low_level_timer_api.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/low_level_timer_api.rs b/examples/stm32h7/src/bin/low_level_timer_api.rs index a95b44b74..b796996ea 100644 --- a/examples/stm32h7/src/bin/low_level_timer_api.rs +++ b/examples/stm32h7/src/bin/low_level_timer_api.rs @@ -3,7 +3,7 @@ use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::gpio::{AFType, Flex, Pull, Speed}; +use embassy_stm32::gpio::{AfType, Flex, OutputType, Speed}; use embassy_stm32::time::{khz, Hertz}; use embassy_stm32::timer::low_level::{OutputCompareMode, Timer as LLTimer}; use embassy_stm32::timer::{Channel, Channel1Pin, Channel2Pin, Channel3Pin, Channel4Pin, GeneralInstance32bit4Channel}; @@ -83,10 +83,10 @@ impl<'d, T: GeneralInstance32bit4Channel> SimplePwm32<'d, T> { let mut ch2 = Flex::new(ch2); let mut ch3 = Flex::new(ch3); let mut ch4 = Flex::new(ch4); - ch1.set_as_af_unchecked(af1, AFType::OutputPushPull, Pull::None, Speed::VeryHigh); - ch2.set_as_af_unchecked(af2, AFType::OutputPushPull, Pull::None, Speed::VeryHigh); - ch3.set_as_af_unchecked(af3, AFType::OutputPushPull, Pull::None, Speed::VeryHigh); - ch4.set_as_af_unchecked(af4, AFType::OutputPushPull, Pull::None, Speed::VeryHigh); + ch1.set_as_af_unchecked(af1, AfType::output(OutputType::PushPull, Speed::VeryHigh)); + ch2.set_as_af_unchecked(af2, AfType::output(OutputType::PushPull, Speed::VeryHigh)); + ch3.set_as_af_unchecked(af3, AfType::output(OutputType::PushPull, Speed::VeryHigh)); + ch4.set_as_af_unchecked(af4, AfType::output(OutputType::PushPull, Speed::VeryHigh)); let mut this = Self { tim: LLTimer::new(tim), -- cgit From bbe8d3d38a03c66b9c8e2bb70ae067f8ad674059 Mon Sep 17 00:00:00 2001 From: Chen Yuheng <1016867898@qq.com> Date: Tue, 18 Jun 2024 17:01:37 +0800 Subject: Add stm32g0 examples --- examples/stm32g0/Cargo.toml | 2 ++ examples/stm32g0/src/bin/adc.rs | 34 ++++++++++++++++++++++++++++++ examples/stm32g0/src/bin/rtc.rs | 31 +++++++++++++++++++++++++++ examples/stm32g0/src/bin/usart.rs | 25 ++++++++++++++++++++++ examples/stm32g0/src/bin/usart_buffered.rs | 34 ++++++++++++++++++++++++++++++ examples/stm32g0/src/bin/usart_dma.rs | 27 ++++++++++++++++++++++++ 6 files changed, 153 insertions(+) create mode 100644 examples/stm32g0/src/bin/adc.rs create mode 100644 examples/stm32g0/src/bin/rtc.rs create mode 100644 examples/stm32g0/src/bin/usart.rs create mode 100644 examples/stm32g0/src/bin/usart_buffered.rs create mode 100644 examples/stm32g0/src/bin/usart_dma.rs (limited to 'examples') diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml index 15e58d5d1..b9d710ca7 100644 --- a/examples/stm32g0/Cargo.toml +++ b/examples/stm32g0/Cargo.toml @@ -23,5 +23,7 @@ panic-probe = { version = "0.3", features = ["print-defmt"] } heapless = { version = "0.8", default-features = false } portable-atomic = { version = "1.5", features = ["unsafe-assume-single-core"] } +embedded-io-async = { version = "0.6.1" } + [profile.release] debug = 2 diff --git a/examples/stm32g0/src/bin/adc.rs b/examples/stm32g0/src/bin/adc.rs new file mode 100644 index 000000000..a35119e3d --- /dev/null +++ b/examples/stm32g0/src/bin/adc.rs @@ -0,0 +1,34 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::adc::{Adc, SampleTime}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut adc = Adc::new(p.ADC1); + adc.set_sample_time(SampleTime::CYCLES79_5); + let mut pin = p.PA1; + + let mut vrefint = adc.enable_vrefint(); + let vrefint_sample = adc.read(&mut vrefint); + let convert_to_millivolts = |sample| { + // From https://www.st.com/resource/en/datasheet/stm32g031g8.pdf + // 6.3.3 Embedded internal reference voltage + const VREFINT_MV: u32 = 1212; // mV + + (u32::from(sample) * VREFINT_MV / u32::from(vrefint_sample)) as u16 + }; + + loop { + let v = adc.read(&mut pin); + info!("--> {} - {} mV", v, convert_to_millivolts(v)); + Timer::after_millis(100).await; + } +} diff --git a/examples/stm32g0/src/bin/rtc.rs b/examples/stm32g0/src/bin/rtc.rs new file mode 100644 index 000000000..c02c1ecd7 --- /dev/null +++ b/examples/stm32g0/src/bin/rtc.rs @@ -0,0 +1,31 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::rtc::{DateTime, DayOfWeek, Rtc, RtcConfig}; +use embassy_stm32::Config; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let config = Config::default(); + let p = embassy_stm32::init(config); + + info!("Hello World!"); + + let now = DateTime::from(2023, 6, 14, DayOfWeek::Friday, 15, 59, 10); + + let mut rtc = Rtc::new(p.RTC, RtcConfig::default()); + + rtc.set_datetime(now.unwrap()).expect("datetime not set"); + + loop { + let now: DateTime = rtc.now().unwrap().into(); + + info!("{}:{}:{}", now.hour(), now.minute(), now.second()); + + Timer::after_millis(1000).await; + } +} diff --git a/examples/stm32g0/src/bin/usart.rs b/examples/stm32g0/src/bin/usart.rs new file mode 100644 index 000000000..037a5c833 --- /dev/null +++ b/examples/stm32g0/src/bin/usart.rs @@ -0,0 +1,25 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_stm32::usart::{Config, Uart}; +use {defmt_rtt as _, panic_probe as _}; + +#[cortex_m_rt::entry] +fn main() -> ! { + info!("Hello World!"); + + let p = embassy_stm32::init(Default::default()); + + let config = Config::default(); + let mut usart = Uart::new_blocking(p.USART2, p.PA3, p.PA2, config).unwrap(); + + unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); + info!("wrote Hello, starting echo"); + + let mut buf = [0u8; 1]; + loop { + unwrap!(usart.blocking_read(&mut buf)); + unwrap!(usart.blocking_write(&buf)); + } +} diff --git a/examples/stm32g0/src/bin/usart_buffered.rs b/examples/stm32g0/src/bin/usart_buffered.rs new file mode 100644 index 000000000..c097a0c5a --- /dev/null +++ b/examples/stm32g0/src/bin/usart_buffered.rs @@ -0,0 +1,34 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::usart::{BufferedUart, Config}; +use embassy_stm32::{bind_interrupts, peripherals, usart}; +use embedded_io_async::{Read, Write}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + USART1 => usart::BufferedInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hi!"); + + let mut config = Config::default(); + config.baudrate = 115200; + let mut tx_buf = [0u8; 256]; + let mut rx_buf = [0u8; 256]; + let mut usart = BufferedUart::new(p.USART1, Irqs, p.PB7, p.PB6, &mut tx_buf, &mut rx_buf, config).unwrap(); + + usart.write_all(b"Hello Embassy World!\r\n").await.unwrap(); + info!("wrote Hello, starting echo"); + + let mut buf = [0; 4]; + loop { + usart.read_exact(&mut buf[..]).await.unwrap(); + usart.write_all(&buf[..]).await.unwrap(); + } +} diff --git a/examples/stm32g0/src/bin/usart_dma.rs b/examples/stm32g0/src/bin/usart_dma.rs new file mode 100644 index 000000000..8212153ab --- /dev/null +++ b/examples/stm32g0/src/bin/usart_dma.rs @@ -0,0 +1,27 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::usart::{Config, Uart}; +use embassy_stm32::{bind_interrupts, peripherals, usart}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + USART1 => usart::InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + let mut usart = Uart::new(p.USART1, p.PB7, p.PB6, Irqs, p.DMA1_CH2, p.DMA1_CH3, Config::default()).unwrap(); + + usart.write(b"Hello Embassy World!\r\n").await.unwrap(); + info!("wrote Hello, starting echo"); + + let mut buf = [0; 5]; + loop { + usart.read(&mut buf[..]).await.unwrap(); + usart.write(&buf[..]).await.unwrap(); + } +} -- cgit From a44ee963ef65be41a9354b4e7e70b02d30fadd70 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Tue, 18 Jun 2024 13:00:28 +0200 Subject: add HAL and example for using nRF EGU peripheral --- examples/nrf52840/src/bin/egu.rs | 55 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 examples/nrf52840/src/bin/egu.rs (limited to 'examples') diff --git a/examples/nrf52840/src/bin/egu.rs b/examples/nrf52840/src/bin/egu.rs new file mode 100644 index 000000000..df96f7e56 --- /dev/null +++ b/examples/nrf52840/src/bin/egu.rs @@ -0,0 +1,55 @@ +//! This example shows the use of the EGU peripheral combined with PPI. +//! +//! It chains events from button -> egu0-trigger0 -> egu0-trigger1 -> led +#![no_std] +#![no_main] + +use embassy_executor::Spawner; +use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; +use embassy_nrf::gpiote::{InputChannel, InputChannelPolarity, OutputChannel, OutputChannelPolarity}; +use embassy_nrf::peripherals::{PPI_CH0, PPI_CH1, PPI_CH2}; +use embassy_nrf::ppi::Ppi; +use embassy_nrf::egu::{Egu, TriggerNumber}; +use embassy_time::{Duration, Timer}; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_nrf::init(Default::default()); + + let led1 = Output::new(p.P0_13, Level::High, OutputDrive::Standard); + let btn1 = Input::new(p.P0_11, Pull::Up); + + let mut egu1 = Egu::new(p.EGU0); + let led1 = OutputChannel::new(p.GPIOTE_CH0, led1, OutputChannelPolarity::Toggle); + let btn1 = InputChannel::new(p.GPIOTE_CH1, btn1, InputChannelPolarity::LoToHi); + + let trigger0 = egu1.trigger(TriggerNumber::Trigger0); + let trigger1 = egu1.trigger(TriggerNumber::Trigger1); + + let mut ppi1: Ppi = Ppi::new_one_to_one( + p.PPI_CH0, + btn1.event_in(), + trigger0.task(), + ); + ppi1.enable(); + + let mut ppi2: Ppi = Ppi::new_one_to_one( + p.PPI_CH1, + trigger0.event(), + trigger1.task(), + ); + ppi2.enable(); + + let mut ppi3: Ppi = Ppi::new_one_to_one( + p.PPI_CH2, + trigger1.event(), + led1.task_out(), + ); + ppi3.enable(); + + defmt::info!("Push the button to toggle the LED"); + loop { + Timer::after(Duration::from_secs(60)).await; + } +} -- cgit From 91476eea12998aa3a622710962e0d1b0f60819e1 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Tue, 18 Jun 2024 13:22:38 +0200 Subject: cargo fmt --- examples/nrf52840/src/bin/egu.rs | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) (limited to 'examples') diff --git a/examples/nrf52840/src/bin/egu.rs b/examples/nrf52840/src/bin/egu.rs index df96f7e56..8bf712697 100644 --- a/examples/nrf52840/src/bin/egu.rs +++ b/examples/nrf52840/src/bin/egu.rs @@ -5,11 +5,11 @@ #![no_main] use embassy_executor::Spawner; +use embassy_nrf::egu::{Egu, TriggerNumber}; use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; use embassy_nrf::gpiote::{InputChannel, InputChannelPolarity, OutputChannel, OutputChannelPolarity}; use embassy_nrf::peripherals::{PPI_CH0, PPI_CH1, PPI_CH2}; use embassy_nrf::ppi::Ppi; -use embassy_nrf::egu::{Egu, TriggerNumber}; use embassy_time::{Duration, Timer}; use {defmt_rtt as _, panic_probe as _}; @@ -27,25 +27,13 @@ async fn main(_spawner: Spawner) { let trigger0 = egu1.trigger(TriggerNumber::Trigger0); let trigger1 = egu1.trigger(TriggerNumber::Trigger1); - let mut ppi1: Ppi = Ppi::new_one_to_one( - p.PPI_CH0, - btn1.event_in(), - trigger0.task(), - ); + let mut ppi1: Ppi = Ppi::new_one_to_one(p.PPI_CH0, btn1.event_in(), trigger0.task()); ppi1.enable(); - let mut ppi2: Ppi = Ppi::new_one_to_one( - p.PPI_CH1, - trigger0.event(), - trigger1.task(), - ); + let mut ppi2: Ppi = Ppi::new_one_to_one(p.PPI_CH1, trigger0.event(), trigger1.task()); ppi2.enable(); - let mut ppi3: Ppi = Ppi::new_one_to_one( - p.PPI_CH2, - trigger1.event(), - led1.task_out(), - ); + let mut ppi3: Ppi = Ppi::new_one_to_one(p.PPI_CH2, trigger1.event(), led1.task_out()); ppi3.enable(); defmt::info!("Push the button to toggle the LED"); -- cgit From 0579d248efc1ee78f039fbfabcf2e0272e32ee53 Mon Sep 17 00:00:00 2001 From: Chen Yuheng <1016867898@qq.com> Date: Wed, 19 Jun 2024 10:57:18 +0800 Subject: Add PWM examples for stm32g0 --- examples/stm32g0/src/bin/input_capture.rs | 67 +++++++++++++++++++++++++++ examples/stm32g0/src/bin/pwm_complementary.rs | 58 +++++++++++++++++++++++ examples/stm32g0/src/bin/pwm_input.rs | 65 ++++++++++++++++++++++++++ 3 files changed, 190 insertions(+) create mode 100644 examples/stm32g0/src/bin/input_capture.rs create mode 100644 examples/stm32g0/src/bin/pwm_complementary.rs create mode 100644 examples/stm32g0/src/bin/pwm_input.rs (limited to 'examples') diff --git a/examples/stm32g0/src/bin/input_capture.rs b/examples/stm32g0/src/bin/input_capture.rs new file mode 100644 index 000000000..69fdae96d --- /dev/null +++ b/examples/stm32g0/src/bin/input_capture.rs @@ -0,0 +1,67 @@ +//! Input capture example +//! +//! This example showcases how to use the input capture feature of the timer peripheral. +//! Connect PB1 and PA6 with a 1k Ohm resistor or Connect PB1 and PA8 with a 1k Ohm resistor +//! to see the output. +//! When connecting PB1 (software pwm) and PA6 the output is around 10000 (it will be a bit bigger, around 10040) +//! Output is 1000 when connecting PB1 (PWMOUT) and PA6. +//! +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, OutputType, Pull, Speed}; +use embassy_stm32::time::khz; +use embassy_stm32::timer::input_capture::{CapturePin, InputCapture}; +use embassy_stm32::timer::simple_pwm::{PwmPin, SimplePwm}; +use embassy_stm32::timer::Channel; +use embassy_stm32::{bind_interrupts, peripherals, timer}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +// Connect PB1 and PA6 with a 1k Ohm resistor + +#[embassy_executor::task] +async fn blinky(led: peripherals::PB1) { + let mut led = Output::new(led, Level::High, Speed::Low); + + loop { + led.set_high(); + Timer::after_millis(50).await; + + led.set_low(); + Timer::after_millis(50).await; + } +} + +bind_interrupts!(struct Irqs { + TIM2 => timer::CaptureCompareInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + unwrap!(spawner.spawn(blinky(p.PB1))); + + // Connect PB1 and PA8 with a 1k Ohm resistor + let ch1 = PwmPin::new_ch1(p.PA8, OutputType::PushPull); + let mut pwm = SimplePwm::new(p.TIM1, Some(ch1), None, None, None, khz(1), Default::default()); + pwm.enable(Channel::Ch1); + pwm.set_duty(Channel::Ch1, 50); + + let ch1 = CapturePin::new_ch1(p.PA0, Pull::None); + let mut ic = InputCapture::new(p.TIM2, Some(ch1), None, None, None, Irqs, khz(1000), Default::default()); + + let mut old_capture = 0; + + loop { + ic.wait_for_rising_edge(Channel::Ch1).await; + + let capture_value = ic.get_capture_value(Channel::Ch1); + info!("{}", capture_value - old_capture); + old_capture = capture_value; + } +} diff --git a/examples/stm32g0/src/bin/pwm_complementary.rs b/examples/stm32g0/src/bin/pwm_complementary.rs new file mode 100644 index 000000000..98305ae42 --- /dev/null +++ b/examples/stm32g0/src/bin/pwm_complementary.rs @@ -0,0 +1,58 @@ +//! PWM complementary example +//! +//! This example uses two complementary pwm outputs from TIM1 with different duty cycles +//! ___ ___ +//! |_________| |_________| PA8 +//! _________ _________ +//! ___| |___| | PA7 +//! _________ _________ +//! |___| |___| PB3 +//! ___ ___ +//! _________| |_________| | PB0 + +#![no_std] +#![no_main] + +use defmt::info; +use embassy_executor::Spawner; +use embassy_stm32::gpio::OutputType; +use embassy_stm32::time::khz; +use embassy_stm32::timer::complementary_pwm::{ComplementaryPwm, ComplementaryPwmPin}; +use embassy_stm32::timer::simple_pwm::PwmPin; +use embassy_stm32::timer::Channel; +use embassy_stm32::Config as PeripheralConfig; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + + let ch1 = PwmPin::new_ch1(p.PA8, OutputType::PushPull); + let ch1n = ComplementaryPwmPin::new_ch1(p.PA7, OutputType::PushPull); + let ch2 = PwmPin::new_ch2(p.PB3, OutputType::PushPull); + let ch2n = ComplementaryPwmPin::new_ch2(p.PB0, OutputType::PushPull); + + let mut pwm = ComplementaryPwm::new( + p.TIM1, + Some(ch1), + Some(ch1n), + Some(ch2), + Some(ch2n), + None, + None, + None, + None, + khz(100), + Default::default(), + ); + + let max = pwm.get_max_duty(); + info!("Max duty: {}", max); + + pwm.set_duty(Channel::Ch1, max / 4); + pwm.enable(Channel::Ch1); + pwm.set_duty(Channel::Ch2, max * 3 / 4); + pwm.enable(Channel::Ch2); + + loop {} +} diff --git a/examples/stm32g0/src/bin/pwm_input.rs b/examples/stm32g0/src/bin/pwm_input.rs new file mode 100644 index 000000000..152ecda86 --- /dev/null +++ b/examples/stm32g0/src/bin/pwm_input.rs @@ -0,0 +1,65 @@ +//! PWM input example +//! +//! This program demonstrates how to capture the parameters of the input waveform (frequency, width and duty cycle) +//! Connect PB1 and PA6 with a 1k Ohm resistor or Connect PB1 and PA8 with a 1k Ohm resistor +//! to see the output. +//! + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, OutputType, Pull, Speed}; +use embassy_stm32::time::khz; +use embassy_stm32::timer::pwm_input::PwmInput; +use embassy_stm32::timer::simple_pwm::{PwmPin, SimplePwm}; +use embassy_stm32::timer::Channel; +use embassy_stm32::{bind_interrupts, peripherals, timer}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +// Connect PB1 and PA6 with a 1k Ohm resistor +#[embassy_executor::task] +async fn blinky(led: peripherals::PB1) { + let mut led = Output::new(led, Level::High, Speed::Low); + + loop { + led.set_high(); + Timer::after_millis(50).await; + + led.set_low(); + Timer::after_millis(50).await; + } +} + +bind_interrupts!(struct Irqs { + TIM2 => timer::CaptureCompareInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + + unwrap!(spawner.spawn(blinky(p.PB1))); + // Connect PA8 and PA6 with a 1k Ohm resistor + let ch1 = PwmPin::new_ch1(p.PA8, OutputType::PushPull); + let mut pwm = SimplePwm::new(p.TIM1, Some(ch1), None, None, None, khz(1), Default::default()); + let max = pwm.get_max_duty(); + pwm.set_duty(Channel::Ch1, max / 4); + pwm.enable(Channel::Ch1); + + let mut pwm_input = PwmInput::new(p.TIM2, p.PA0, Pull::None, khz(1000)); + pwm_input.enable(); + + loop { + Timer::after_millis(500).await; + let period = pwm_input.get_period_ticks(); + let width = pwm_input.get_width_ticks(); + let duty_cycle = pwm_input.get_duty_cycle(); + info!( + "period ticks: {} width ticks: {} duty cycle: {}", + period, width, duty_cycle + ); + } +} -- cgit From a3c6626f4058c6cde6c27dd559d0b4d2b7d746ac Mon Sep 17 00:00:00 2001 From: Chen Yuheng <1016867898@qq.com> Date: Wed, 19 Jun 2024 11:04:40 +0800 Subject: Update pwm_complementary.rs --- examples/stm32g0/src/bin/pwm_complementary.rs | 1 - 1 file changed, 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32g0/src/bin/pwm_complementary.rs b/examples/stm32g0/src/bin/pwm_complementary.rs index 98305ae42..97b163c40 100644 --- a/examples/stm32g0/src/bin/pwm_complementary.rs +++ b/examples/stm32g0/src/bin/pwm_complementary.rs @@ -20,7 +20,6 @@ use embassy_stm32::time::khz; use embassy_stm32::timer::complementary_pwm::{ComplementaryPwm, ComplementaryPwmPin}; use embassy_stm32::timer::simple_pwm::PwmPin; use embassy_stm32::timer::Channel; -use embassy_stm32::Config as PeripheralConfig; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] -- cgit From c65ee20cdd7ce20b6dd3a2792dc048dbe87131f6 Mon Sep 17 00:00:00 2001 From: Romain Reignier Date: Thu, 20 Jun 2024 14:06:44 +0200 Subject: examples: stm32wb: remove comment about memory.x file File removed in commit https://github.com/embassy-rs/embassy/commit/c19967dcf24d5223de5fd9b390371dc24aeccc1d --- examples/stm32wb/src/bin/eddystone_beacon.rs | 1 - examples/stm32wb/src/bin/gatt_server.rs | 1 - examples/stm32wb/src/bin/mac_ffd.rs | 1 - examples/stm32wb/src/bin/mac_ffd_net.rs | 1 - examples/stm32wb/src/bin/mac_rfd.rs | 1 - examples/stm32wb/src/bin/tl_mbox.rs | 1 - examples/stm32wb/src/bin/tl_mbox_ble.rs | 1 - examples/stm32wb/src/bin/tl_mbox_mac.rs | 1 - 8 files changed, 8 deletions(-) (limited to 'examples') diff --git a/examples/stm32wb/src/bin/eddystone_beacon.rs b/examples/stm32wb/src/bin/eddystone_beacon.rs index d3b3c15ca..3bd8b4a63 100644 --- a/examples/stm32wb/src/bin/eddystone_beacon.rs +++ b/examples/stm32wb/src/bin/eddystone_beacon.rs @@ -46,7 +46,6 @@ async fn main(_spawner: Spawner) { - Select that file, the memory address, "verify download", and then "Firmware Upgrade". - Select "Start Wireless Stack". - Disconnect from the device. - - In the examples folder for stm32wb, modify the memory.x file to match your target device. - Run this example. Note: extended stack versions are not supported at this time. Do not attempt to install a stack with "extended" in the name. diff --git a/examples/stm32wb/src/bin/gatt_server.rs b/examples/stm32wb/src/bin/gatt_server.rs index 3b50d6c31..1cc50e134 100644 --- a/examples/stm32wb/src/bin/gatt_server.rs +++ b/examples/stm32wb/src/bin/gatt_server.rs @@ -57,7 +57,6 @@ async fn main(_spawner: Spawner) { - Select that file, the memory address, "verify download", and then "Firmware Upgrade". - Select "Start Wireless Stack". - Disconnect from the device. - - In the examples folder for stm32wb, modify the memory.x file to match your target device. - Run this example. Note: extended stack versions are not supported at this time. Do not attempt to install a stack with "extended" in the name. diff --git a/examples/stm32wb/src/bin/mac_ffd.rs b/examples/stm32wb/src/bin/mac_ffd.rs index 5cd660543..d139aa61b 100644 --- a/examples/stm32wb/src/bin/mac_ffd.rs +++ b/examples/stm32wb/src/bin/mac_ffd.rs @@ -43,7 +43,6 @@ async fn main(spawner: Spawner) { - Select that file, the memory address, "verify download", and then "Firmware Upgrade". - Select "Start Wireless Stack". - Disconnect from the device. - - In the examples folder for stm32wb, modify the memory.x file to match your target device. - Run this example. Note: extended stack versions are not supported at this time. Do not attempt to install a stack with "extended" in the name. diff --git a/examples/stm32wb/src/bin/mac_ffd_net.rs b/examples/stm32wb/src/bin/mac_ffd_net.rs index 7a42bf577..6a97daf4d 100644 --- a/examples/stm32wb/src/bin/mac_ffd_net.rs +++ b/examples/stm32wb/src/bin/mac_ffd_net.rs @@ -49,7 +49,6 @@ async fn main(spawner: Spawner) { - Select that file, the memory address, "verify download", and then "Firmware Upgrade". - Select "Start Wireless Stack". - Disconnect from the device. - - In the examples folder for stm32wb, modify the memory.x file to match your target device. - Run this example. Note: extended stack versions are not supported at this time. Do not attempt to install a stack with "extended" in the name. diff --git a/examples/stm32wb/src/bin/mac_rfd.rs b/examples/stm32wb/src/bin/mac_rfd.rs index 7949211fb..9062bdcd2 100644 --- a/examples/stm32wb/src/bin/mac_rfd.rs +++ b/examples/stm32wb/src/bin/mac_rfd.rs @@ -45,7 +45,6 @@ async fn main(spawner: Spawner) { - Select that file, the memory address, "verify download", and then "Firmware Upgrade". - Select "Start Wireless Stack". - Disconnect from the device. - - In the examples folder for stm32wb, modify the memory.x file to match your target device. - Run this example. Note: extended stack versions are not supported at this time. Do not attempt to install a stack with "extended" in the name. diff --git a/examples/stm32wb/src/bin/tl_mbox.rs b/examples/stm32wb/src/bin/tl_mbox.rs index cb92d462d..4e7f2304d 100644 --- a/examples/stm32wb/src/bin/tl_mbox.rs +++ b/examples/stm32wb/src/bin/tl_mbox.rs @@ -35,7 +35,6 @@ async fn main(_spawner: Spawner) { - Select that file, the memory address, "verify download", and then "Firmware Upgrade". - Select "Start Wireless Stack". - Disconnect from the device. - - In the examples folder for stm32wb, modify the memory.x file to match your target device. - Run this example. Note: extended stack versions are not supported at this time. Do not attempt to install a stack with "extended" in the name. diff --git a/examples/stm32wb/src/bin/tl_mbox_ble.rs b/examples/stm32wb/src/bin/tl_mbox_ble.rs index 2599e1151..72a4c18e6 100644 --- a/examples/stm32wb/src/bin/tl_mbox_ble.rs +++ b/examples/stm32wb/src/bin/tl_mbox_ble.rs @@ -34,7 +34,6 @@ async fn main(_spawner: Spawner) { - Select that file, the memory address, "verify download", and then "Firmware Upgrade". - Select "Start Wireless Stack". - Disconnect from the device. - - In the examples folder for stm32wb, modify the memory.x file to match your target device. - Run this example. Note: extended stack versions are not supported at this time. Do not attempt to install a stack with "extended" in the name. diff --git a/examples/stm32wb/src/bin/tl_mbox_mac.rs b/examples/stm32wb/src/bin/tl_mbox_mac.rs index 5d868412a..9224e626d 100644 --- a/examples/stm32wb/src/bin/tl_mbox_mac.rs +++ b/examples/stm32wb/src/bin/tl_mbox_mac.rs @@ -40,7 +40,6 @@ async fn main(spawner: Spawner) { - Select that file, the memory address, "verify download", and then "Firmware Upgrade". - Select "Start Wireless Stack". - Disconnect from the device. - - In the examples folder for stm32wb, modify the memory.x file to match your target device. - Run this example. Note: extended stack versions are not supported at this time. Do not attempt to install a stack with "extended" in the name. -- cgit From 2655426cd80b828593c8cd60930da3ebbd60e85c Mon Sep 17 00:00:00 2001 From: Eekle <96976531+Eekle@users.noreply.github.com> Date: Sun, 23 Jun 2024 16:43:12 +0200 Subject: Add async wait to TSC --- examples/stm32u5/src/bin/tsc.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32u5/src/bin/tsc.rs b/examples/stm32u5/src/bin/tsc.rs index f5593d1c4..642bbeaca 100644 --- a/examples/stm32u5/src/bin/tsc.rs +++ b/examples/stm32u5/src/bin/tsc.rs @@ -2,10 +2,17 @@ #![no_main] use defmt::*; -use embassy_stm32::tsc::{self, *}; +use embassy_stm32::{ + bind_interrupts, + tsc::{self, *}, +}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; +bind_interrupts!(struct Irqs { + TSC => InterruptHandler; +}); + #[cortex_m_rt::exception] unsafe fn HardFault(_: &cortex_m_rt::ExceptionFrame) -> ! { cortex_m::peripheral::SCB::sys_reset(); @@ -47,6 +54,7 @@ async fn main(_spawner: embassy_executor::Spawner) { let mut touch_controller = tsc::Tsc::new( context.TSC, + Irqs, Some(g1), Some(g2), None, @@ -67,7 +75,7 @@ async fn main(_spawner: embassy_executor::Spawner) { let mut group_seven_val = 0; info!("Starting touch_controller interface"); loop { - touch_controller.poll_for_acquisition(); + touch_controller.pend_for_acquisition().await; touch_controller.discharge_io(true); Timer::after_millis(1).await; -- cgit From 7eb605d1165eaf4cdf90453d1ed2d6976dd514af Mon Sep 17 00:00:00 2001 From: Eekle <96976531+Eekle@users.noreply.github.com> Date: Sun, 23 Jun 2024 16:54:10 +0200 Subject: fmt --- examples/stm32u5/src/bin/tsc.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/stm32u5/src/bin/tsc.rs b/examples/stm32u5/src/bin/tsc.rs index 642bbeaca..db85fb158 100644 --- a/examples/stm32u5/src/bin/tsc.rs +++ b/examples/stm32u5/src/bin/tsc.rs @@ -2,10 +2,8 @@ #![no_main] use defmt::*; -use embassy_stm32::{ - bind_interrupts, - tsc::{self, *}, -}; +use embassy_stm32::bind_interrupts; +use embassy_stm32::tsc::{self, *}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -- cgit From b05217b3566e17cd10eb52c714aa53fc6d52dd91 Mon Sep 17 00:00:00 2001 From: rafael Date: Sun, 23 Jun 2024 23:04:47 +0200 Subject: add wifi_webrequest example --- examples/rp/Cargo.toml | 9 +- examples/rp/src/bin/wifi_webrequest.rs | 197 +++++++++++++++++++++++++++++++++ 2 files changed, 204 insertions(+), 2 deletions(-) create mode 100644 examples/rp/src/bin/wifi_webrequest.rs (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index bb91969bc..041506a50 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -8,11 +8,11 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal", features = ["defmt"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } -embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet"] } +embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns"] } embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-usb-logger = { version = "0.2.0", path = "../../embassy-usb-logger" } @@ -24,6 +24,11 @@ defmt-rtt = "0.4" fixed = "1.23.1" fixed-macro = "1.2" +# for web request example +reqwless = { version = "0.12.0", features = ["defmt"] } +serde = { version = "1.0.203", default-features = false, features = ["derive"] } +serde-json-core = "0.5.1" + #cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } cortex-m = { version = "0.7.6", features = ["inline-asm"] } cortex-m-rt = "0.7.0" diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs new file mode 100644 index 000000000..350e11bf1 --- /dev/null +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -0,0 +1,197 @@ +//! This example uses the RP Pico W board Wifi chip (cyw43). +//! Connects to Wifi network and makes a web request to get the current time. + +#![no_std] +#![no_main] +#![allow(async_fn_in_trait)] + +use core::str::from_utf8; + +use serde::Deserialize; +use serde_json_core; + +use cyw43_pio::PioSpi; +use defmt::*; +use embassy_executor::Spawner; +use embassy_net::{Config, Stack, StackResources}; +use embassy_net::tcp::client::{TcpClientState, TcpClient}; +use embassy_net::dns::DnsSocket; +use embassy_rp::bind_interrupts; +use embassy_rp::gpio::{Level, Output}; +use embassy_rp::peripherals::{DMA_CH0, PIO0}; +use embassy_rp::pio::{InterruptHandler, Pio}; +use embassy_time::{Duration, Timer}; +use static_cell::StaticCell; +use reqwless::client::{HttpClient, TlsConfig, TlsVerify}; +use reqwless::request::Method; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +const WIFI_NETWORK: &str = "ssid"; // change to your network SSID +const WIFI_PASSWORD: &str = "pwd"; // change to your network password + +#[embassy_executor::task] +async fn wifi_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { + runner.run().await +} + +#[embassy_executor::task] +async fn net_task(stack: &'static Stack>) -> ! { + stack.run().await +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + info!("Hello World!"); + + let p = embassy_rp::init(Default::default()); + + let fw = include_bytes!("../../../../cyw43-firmware/43439A0.bin"); + let clm = include_bytes!("../../../../cyw43-firmware/43439A0_clm.bin"); + // To make flashing faster for development, you may want to flash the firmwares independently + // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: + // probe-rs download 43439A0.bin --binary-format bin --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin --binary-format bin --chip RP2040 --base-address 0x10140000 + // let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 230321) }; + // let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; + + let pwr = Output::new(p.PIN_23, Level::Low); + let cs = Output::new(p.PIN_25, Level::High); + let mut pio = Pio::new(p.PIO0, Irqs); + let spi = PioSpi::new(&mut pio.common, pio.sm0, pio.irq0, cs, p.PIN_24, p.PIN_29, p.DMA_CH0); + + static STATE: StaticCell = StaticCell::new(); + let state = STATE.init(cyw43::State::new()); + let (net_device, mut control, runner) = cyw43::new(state, pwr, spi, fw).await; + unwrap!(spawner.spawn(wifi_task(runner))); + + control.init(clm).await; + control + .set_power_management(cyw43::PowerManagementMode::PowerSave) + .await; + + let config = Config::dhcpv4(Default::default()); + //let config = embassy_net::Config::ipv4_static(embassy_net::StaticConfigV4 { + // address: Ipv4Cidr::new(Ipv4Address::new(192, 168, 69, 2), 24), + // dns_servers: Vec::new(), + // gateway: Some(Ipv4Address::new(192, 168, 69, 1)), + //}); + + // Generate random seed + let seed = 0x0123_4567_89ab_cdef; // chosen by fair dice roll. guarenteed to be random. + + // Init network stack + static STACK: StaticCell>> = StaticCell::new(); + static RESOURCES: StaticCell> = StaticCell::new(); + let stack = &*STACK.init(Stack::new( + net_device, + config, + RESOURCES.init(StackResources::<5>::new()), + seed, + )); + + unwrap!(spawner.spawn(net_task(stack))); + + loop { + //control.join_open(WIFI_NETWORK).await; + match control.join_wpa2(WIFI_NETWORK, WIFI_PASSWORD).await { + Ok(_) => break, + Err(err) => { + info!("join failed with status={}", err.status); + } + } + } + + // Wait for DHCP, not necessary when using static IP + info!("waiting for DHCP..."); + while !stack.is_config_up() { + Timer::after_millis(100).await; + } + info!("DHCP is now up!"); + + info!("waiting for link up..."); + while !stack.is_link_up() { + Timer::after_millis(500).await; + } + info!("Link is up!"); + + info!("waiting for stack to be up..."); + stack.wait_config_up().await; + info!("Stack is up!"); + + // And now we can use it! + + + loop { + + let mut rx_buffer = [0; 8192]; + let mut tls_read_buffer = [0; 16640]; + let mut tls_write_buffer = [0; 16640]; + + let client_state = TcpClientState::<1, 1024, 1024>::new(); + let tcp_client = TcpClient::new(stack, &client_state); + let dns_client = DnsSocket::new(stack); + let tls_config = TlsConfig::new( + seed, + &mut tls_read_buffer, + &mut tls_write_buffer, + TlsVerify::None, + ); + + let mut http_client = HttpClient::new_with_tls(&tcp_client, &dns_client, tls_config); + let url = "https://worldtimeapi.org/api/timezone/Europe/Berlin"; + // let mut http_client = HttpClient::new(&tcp_client, &dns_client); // for non-TLS requests + // let url = "http://worldtimeapi.org/api/timezone/Europe/Berlin"; + + info!("connecting to {}", &url); + + let mut request = match http_client.request(Method::GET, &url).await { + Ok(req) => req, + Err(e) => { + error!("Failed to make HTTP request: {:?}", e); + return; // handle the error + } + }; + + let response = match request.send(&mut rx_buffer).await { + Ok(resp) => resp, + Err(_e) => { + error!("Failed to send HTTP request"); + return // handle the error; + } + }; + + let body = match from_utf8(response.body().read_to_end().await.unwrap()) { + Ok(b) => b, + Err(_e) => { + error!("Failed to read response body"); + return // handle the error + } + }; + info!("Response body: {:?}", &body); + + // parse the response body and update the RTC + + #[derive(Deserialize)] + struct ApiResponse<'a> { + datetime: &'a str, + // other fields as needed + } + + let bytes = body.as_bytes(); + match serde_json_core::de::from_slice::(bytes) { + Ok((output, _used)) => { + info!("Datetime: {:?}", output.datetime); + } + Err(_e) => { + error!("Failed to parse response body"); + return; // handle the error + } + } + + Timer::after(Duration::from_secs(5)).await; + } +} -- cgit From 32e9867b4e23042fcbc4ec252c60b0af55cc59d7 Mon Sep 17 00:00:00 2001 From: rafael Date: Mon, 24 Jun 2024 20:51:31 +0200 Subject: need to bring down binary size or flashing will corrupt the device --- examples/rp/Cargo.toml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 041506a50..0610be0a0 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -25,7 +25,7 @@ fixed = "1.23.1" fixed-macro = "1.2" # for web request example -reqwless = { version = "0.12.0", features = ["defmt"] } +reqwless = { git = "https://github.com/drogue-iot/reqwless", features = ["defmt",]} serde = { version = "1.0.203", default-features = false, features = ["derive"] } serde-json-core = "0.5.1" @@ -58,3 +58,7 @@ embedded-sdmmc = "0.7.0" [profile.release] debug = 2 + +[profile.dev] +lto = true +opt-level = "z" -- cgit From 67e7532b4aa61fef52762861084a1a05944db4ea Mon Sep 17 00:00:00 2001 From: rafael Date: Mon, 24 Jun 2024 21:16:56 +0200 Subject: rustfmt --- examples/rp/src/bin/wifi_webrequest.rs | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs index 350e11bf1..ae3b1e26c 100644 --- a/examples/rp/src/bin/wifi_webrequest.rs +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -13,17 +13,17 @@ use serde_json_core; use cyw43_pio::PioSpi; use defmt::*; use embassy_executor::Spawner; -use embassy_net::{Config, Stack, StackResources}; -use embassy_net::tcp::client::{TcpClientState, TcpClient}; use embassy_net::dns::DnsSocket; +use embassy_net::tcp::client::{TcpClient, TcpClientState}; +use embassy_net::{Config, Stack, StackResources}; use embassy_rp::bind_interrupts; use embassy_rp::gpio::{Level, Output}; use embassy_rp::peripherals::{DMA_CH0, PIO0}; use embassy_rp::pio::{InterruptHandler, Pio}; use embassy_time::{Duration, Timer}; -use static_cell::StaticCell; use reqwless::client::{HttpClient, TlsConfig, TlsVerify}; use reqwless::request::Method; +use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs { @@ -124,9 +124,7 @@ async fn main(spawner: Spawner) { // And now we can use it! - loop { - let mut rx_buffer = [0; 8192]; let mut tls_read_buffer = [0; 16640]; let mut tls_write_buffer = [0; 16640]; @@ -134,17 +132,12 @@ async fn main(spawner: Spawner) { let client_state = TcpClientState::<1, 1024, 1024>::new(); let tcp_client = TcpClient::new(stack, &client_state); let dns_client = DnsSocket::new(stack); - let tls_config = TlsConfig::new( - seed, - &mut tls_read_buffer, - &mut tls_write_buffer, - TlsVerify::None, - ); - + let tls_config = TlsConfig::new(seed, &mut tls_read_buffer, &mut tls_write_buffer, TlsVerify::None); + let mut http_client = HttpClient::new_with_tls(&tcp_client, &dns_client, tls_config); let url = "https://worldtimeapi.org/api/timezone/Europe/Berlin"; // let mut http_client = HttpClient::new(&tcp_client, &dns_client); // for non-TLS requests - // let url = "http://worldtimeapi.org/api/timezone/Europe/Berlin"; + // let url = "http://worldtimeapi.org/api/timezone/Europe/Berlin"; info!("connecting to {}", &url); @@ -160,7 +153,7 @@ async fn main(spawner: Spawner) { Ok(resp) => resp, Err(_e) => { error!("Failed to send HTTP request"); - return // handle the error; + return; // handle the error; } }; @@ -168,13 +161,13 @@ async fn main(spawner: Spawner) { Ok(b) => b, Err(_e) => { error!("Failed to read response body"); - return // handle the error + return; // handle the error } }; info!("Response body: {:?}", &body); // parse the response body and update the RTC - + #[derive(Deserialize)] struct ApiResponse<'a> { datetime: &'a str, -- cgit From d05817f89d1d5c0e663cda1710d2eaed4cc8fa53 Mon Sep 17 00:00:00 2001 From: rafael Date: Mon, 24 Jun 2024 21:33:42 +0200 Subject: rustfmt again --- examples/rp/src/bin/wifi_webrequest.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs index ae3b1e26c..65b1af055 100644 --- a/examples/rp/src/bin/wifi_webrequest.rs +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -7,9 +7,6 @@ use core::str::from_utf8; -use serde::Deserialize; -use serde_json_core; - use cyw43_pio::PioSpi; use defmt::*; use embassy_executor::Spawner; @@ -23,8 +20,9 @@ use embassy_rp::pio::{InterruptHandler, Pio}; use embassy_time::{Duration, Timer}; use reqwless::client::{HttpClient, TlsConfig, TlsVerify}; use reqwless::request::Method; +use serde::Deserialize; use static_cell::StaticCell; -use {defmt_rtt as _, panic_probe as _}; +use {defmt_rtt as _, panic_probe as _, serde_json_core}; bind_interrupts!(struct Irqs { PIO0_IRQ_0 => InterruptHandler; -- cgit From 6dae3c02c02ae25cd2fdb46673948a1c90b14944 Mon Sep 17 00:00:00 2001 From: rafael Date: Mon, 24 Jun 2024 22:08:59 +0200 Subject: comment the comments --- examples/rp/src/bin/wifi_webrequest.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs index 65b1af055..50136da32 100644 --- a/examples/rp/src/bin/wifi_webrequest.rs +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -72,6 +72,7 @@ async fn main(spawner: Spawner) { .await; let config = Config::dhcpv4(Default::default()); + // Use static IP configuration instead of DHCP //let config = embassy_net::Config::ipv4_static(embassy_net::StaticConfigV4 { // address: Ipv4Cidr::new(Ipv4Address::new(192, 168, 69, 2), 24), // dns_servers: Vec::new(), @@ -94,7 +95,7 @@ async fn main(spawner: Spawner) { unwrap!(spawner.spawn(net_task(stack))); loop { - //control.join_open(WIFI_NETWORK).await; + //match control.join_open(WIFI_NETWORK).await { // for open networks match control.join_wpa2(WIFI_NETWORK, WIFI_PASSWORD).await { Ok(_) => break, Err(err) => { @@ -134,7 +135,8 @@ async fn main(spawner: Spawner) { let mut http_client = HttpClient::new_with_tls(&tcp_client, &dns_client, tls_config); let url = "https://worldtimeapi.org/api/timezone/Europe/Berlin"; - // let mut http_client = HttpClient::new(&tcp_client, &dns_client); // for non-TLS requests + // for non-TLS requests, use this instead: + // let mut http_client = HttpClient::new(&tcp_client, &dns_client); // let url = "http://worldtimeapi.org/api/timezone/Europe/Berlin"; info!("connecting to {}", &url); -- cgit From b927c22ac0af570674315da9a8b77d3e7a7e10ea Mon Sep 17 00:00:00 2001 From: rafael Date: Mon, 24 Jun 2024 22:12:18 +0200 Subject: rustfmt --- examples/rp/src/bin/wifi_webrequest.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs index 50136da32..e0c91df53 100644 --- a/examples/rp/src/bin/wifi_webrequest.rs +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -95,7 +95,7 @@ async fn main(spawner: Spawner) { unwrap!(spawner.spawn(net_task(stack))); loop { - //match control.join_open(WIFI_NETWORK).await { // for open networks + //match control.join_open(WIFI_NETWORK).await { // for open networks match control.join_wpa2(WIFI_NETWORK, WIFI_PASSWORD).await { Ok(_) => break, Err(err) => { @@ -136,7 +136,7 @@ async fn main(spawner: Spawner) { let mut http_client = HttpClient::new_with_tls(&tcp_client, &dns_client, tls_config); let url = "https://worldtimeapi.org/api/timezone/Europe/Berlin"; // for non-TLS requests, use this instead: - // let mut http_client = HttpClient::new(&tcp_client, &dns_client); + // let mut http_client = HttpClient::new(&tcp_client, &dns_client); // let url = "http://worldtimeapi.org/api/timezone/Europe/Berlin"; info!("connecting to {}", &url); -- cgit From f64dd8228b7b8a570546ffa9b522ae85145cfdef Mon Sep 17 00:00:00 2001 From: seth Date: Mon, 24 Jun 2024 17:09:43 -0700 Subject: new PR, taking Dirbao's advice to make the DMA impl in a separate struct that consumes Adc to make RingBufferedAdc. Handling overrun similar to RingBufferedUart --- examples/stm32f4/src/bin/adc_dma.rs | 59 +++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 examples/stm32f4/src/bin/adc_dma.rs (limited to 'examples') diff --git a/examples/stm32f4/src/bin/adc_dma.rs b/examples/stm32f4/src/bin/adc_dma.rs new file mode 100644 index 000000000..a2611bb6f --- /dev/null +++ b/examples/stm32f4/src/bin/adc_dma.rs @@ -0,0 +1,59 @@ +#![no_std] +#![no_main] +use cortex_m::singleton; +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::adc::RingBufferedAdc; +use embassy_stm32::adc::{Adc, SampleTime, Sequence}; +use embassy_time::{Instant, Timer}; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + const ADC_BUF_SIZE: usize = 1024; + let mut p = embassy_stm32::init(Default::default()); + + let adc_data: &mut [u16; ADC_BUF_SIZE] = singleton!(ADCDAT : [u16; ADC_BUF_SIZE] = [0u16; ADC_BUF_SIZE]).unwrap(); + + let adc = Adc::new(p.ADC1); + + let mut adc: RingBufferedAdc = adc.into_ring_buffered(p.DMA2_CH0, adc_data); + + adc.set_sample_sequence(Sequence::One, &mut p.PA0, SampleTime::CYCLES112); + adc.set_sample_sequence(Sequence::Two, &mut p.PA2, SampleTime::CYCLES112); + adc.set_sample_sequence(Sequence::Three, &mut p.PA1, SampleTime::CYCLES112); + adc.set_sample_sequence(Sequence::Four, &mut p.PA3, SampleTime::CYCLES112); + + // Note that overrun is a big consideration in this implementation. Whatever task is running the adc.read() calls absolutely must circle back around + // to the adc.read() call before the DMA buffer is wrapped around > 1 time. At this point, the overrun is so significant that the context of + // what channel is at what index is lost. The buffer must be cleared and reset. This *is* handled here, but allowing this to happen will cause + // a reduction of performance as each time the buffer is reset, the adc & dma buffer must be restarted. + + // An interrupt executor with a higher priority than other tasks may be a good approach here, allowing this task to wake and read the buffer most + // frequently. + let mut tic = Instant::now(); + let mut buffer1: [u16; 256] = [0u16; 256]; + let _ = adc.start(); + loop { + match adc.read(&mut buffer1).await { + Ok(_data) => { + let toc = Instant::now(); + info!( + "\n adc1: {} dt = {}, n = {}", + buffer1[0..16], + (toc - tic).as_micros(), + _data + ); + tic = toc; + } + Err(e) => { + warn!("Error: {:?}", e); + buffer1 = [0u16; 256]; + let _ = adc.start(); + continue; + } + } + + Timer::after_micros(300).await; + } +} -- cgit From 27b83fdbcfe7e9e64a8b65fdcb8dc82d6dc3e58c Mon Sep 17 00:00:00 2001 From: seth Date: Mon, 24 Jun 2024 17:15:16 -0700 Subject: fmt --- examples/stm32f4/src/bin/adc_dma.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/adc_dma.rs b/examples/stm32f4/src/bin/adc_dma.rs index a2611bb6f..88822a507 100644 --- a/examples/stm32f4/src/bin/adc_dma.rs +++ b/examples/stm32f4/src/bin/adc_dma.rs @@ -3,8 +3,7 @@ use cortex_m::singleton; use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::adc::RingBufferedAdc; -use embassy_stm32::adc::{Adc, SampleTime, Sequence}; +use embassy_stm32::adc::{Adc, RingBufferedAdc, SampleTime, Sequence}; use embassy_time::{Instant, Timer}; use {defmt_rtt as _, panic_probe as _}; @@ -14,7 +13,7 @@ async fn main(_spawner: Spawner) { let mut p = embassy_stm32::init(Default::default()); let adc_data: &mut [u16; ADC_BUF_SIZE] = singleton!(ADCDAT : [u16; ADC_BUF_SIZE] = [0u16; ADC_BUF_SIZE]).unwrap(); - + let adc = Adc::new(p.ADC1); let mut adc: RingBufferedAdc = adc.into_ring_buffered(p.DMA2_CH0, adc_data); -- cgit From 7056783fa23eb25629e1e57da0021916a073a432 Mon Sep 17 00:00:00 2001 From: seth Date: Mon, 24 Jun 2024 17:53:59 -0700 Subject: second adc added to example + API todos completed --- examples/stm32f4/src/bin/adc_dma.rs | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/adc_dma.rs b/examples/stm32f4/src/bin/adc_dma.rs index 88822a507..dd19caf1d 100644 --- a/examples/stm32f4/src/bin/adc_dma.rs +++ b/examples/stm32f4/src/bin/adc_dma.rs @@ -13,15 +13,18 @@ async fn main(_spawner: Spawner) { let mut p = embassy_stm32::init(Default::default()); let adc_data: &mut [u16; ADC_BUF_SIZE] = singleton!(ADCDAT : [u16; ADC_BUF_SIZE] = [0u16; ADC_BUF_SIZE]).unwrap(); + let adc_data2: &mut [u16; ADC_BUF_SIZE] = singleton!(ADCDAT2 : [u16; ADC_BUF_SIZE] = [0u16; ADC_BUF_SIZE]).unwrap(); let adc = Adc::new(p.ADC1); + let adc2 = Adc::new(p.ADC2); let mut adc: RingBufferedAdc = adc.into_ring_buffered(p.DMA2_CH0, adc_data); + let mut adc2: RingBufferedAdc = adc2.into_ring_buffered(p.DMA2_CH2, adc_data2); adc.set_sample_sequence(Sequence::One, &mut p.PA0, SampleTime::CYCLES112); adc.set_sample_sequence(Sequence::Two, &mut p.PA2, SampleTime::CYCLES112); - adc.set_sample_sequence(Sequence::Three, &mut p.PA1, SampleTime::CYCLES112); - adc.set_sample_sequence(Sequence::Four, &mut p.PA3, SampleTime::CYCLES112); + adc2.set_sample_sequence(Sequence::One, &mut p.PA1, SampleTime::CYCLES112); + adc2.set_sample_sequence(Sequence::Two, &mut p.PA3, SampleTime::CYCLES112); // Note that overrun is a big consideration in this implementation. Whatever task is running the adc.read() calls absolutely must circle back around // to the adc.read() call before the DMA buffer is wrapped around > 1 time. At this point, the overrun is so significant that the context of @@ -31,10 +34,12 @@ async fn main(_spawner: Spawner) { // An interrupt executor with a higher priority than other tasks may be a good approach here, allowing this task to wake and read the buffer most // frequently. let mut tic = Instant::now(); - let mut buffer1: [u16; 256] = [0u16; 256]; + let mut buffer1 = [0u16; 256]; + let mut buffer2 = [0u16; 256]; let _ = adc.start(); + let _ = adc2.start(); loop { - match adc.read(&mut buffer1).await { + match adc.read_exact(&mut buffer1).await { Ok(_data) => { let toc = Instant::now(); info!( @@ -49,10 +54,25 @@ async fn main(_spawner: Spawner) { warn!("Error: {:?}", e); buffer1 = [0u16; 256]; let _ = adc.start(); - continue; } } - Timer::after_micros(300).await; + match adc2.read_exact(&mut buffer2).await { + Ok(_data) => { + let toc = Instant::now(); + info!( + "\n adc2: {} dt = {}, n = {}", + buffer2[0..16], + (toc - tic).as_micros(), + _data + ); + tic = toc; + } + Err(e) => { + warn!("Error: {:?}", e); + buffer2 = [0u16; 256]; + let _ = adc2.start(); + } + } } } -- cgit From 6926e9e07154c72d68ef099d5f28178274f86032 Mon Sep 17 00:00:00 2001 From: seth Date: Mon, 24 Jun 2024 23:15:00 -0700 Subject: CI --- examples/stm32f4/src/bin/adc_dma.rs | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/adc_dma.rs b/examples/stm32f4/src/bin/adc_dma.rs index dd19caf1d..992bed573 100644 --- a/examples/stm32f4/src/bin/adc_dma.rs +++ b/examples/stm32f4/src/bin/adc_dma.rs @@ -4,14 +4,19 @@ use cortex_m::singleton; use defmt::*; use embassy_executor::Spawner; use embassy_stm32::adc::{Adc, RingBufferedAdc, SampleTime, Sequence}; -use embassy_time::{Instant, Timer}; +use embassy_stm32::Peripherals; +use embassy_time::Instant; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] -async fn main(_spawner: Spawner) { - const ADC_BUF_SIZE: usize = 1024; - let mut p = embassy_stm32::init(Default::default()); +async fn main(spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + spawner.must_spawn(adc_task(p)); +} +#[embassy_executor::task] +async fn adc_task(mut p: Peripherals) { + const ADC_BUF_SIZE: usize = 1024; let adc_data: &mut [u16; ADC_BUF_SIZE] = singleton!(ADCDAT : [u16; ADC_BUF_SIZE] = [0u16; ADC_BUF_SIZE]).unwrap(); let adc_data2: &mut [u16; ADC_BUF_SIZE] = singleton!(ADCDAT2 : [u16; ADC_BUF_SIZE] = [0u16; ADC_BUF_SIZE]).unwrap(); @@ -34,8 +39,8 @@ async fn main(_spawner: Spawner) { // An interrupt executor with a higher priority than other tasks may be a good approach here, allowing this task to wake and read the buffer most // frequently. let mut tic = Instant::now(); - let mut buffer1 = [0u16; 256]; - let mut buffer2 = [0u16; 256]; + let mut buffer1 = [0u16; 512]; + let mut buffer2 = [0u16; 512]; let _ = adc.start(); let _ = adc2.start(); loop { @@ -52,7 +57,7 @@ async fn main(_spawner: Spawner) { } Err(e) => { warn!("Error: {:?}", e); - buffer1 = [0u16; 256]; + buffer1 = [0u16; 512]; let _ = adc.start(); } } @@ -70,7 +75,7 @@ async fn main(_spawner: Spawner) { } Err(e) => { warn!("Error: {:?}", e); - buffer2 = [0u16; 256]; + buffer2 = [0u16; 512]; let _ = adc2.start(); } } -- cgit From 7b9215c8b91a9001d72a2f218b0f9265d82dd3cf Mon Sep 17 00:00:00 2001 From: 9names <60134748+9names@users.noreply.github.com> Date: Tue, 25 Jun 2024 20:33:55 +1000 Subject: Use published version of reqwless --- examples/rp/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 0610be0a0..9bd403f02 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -25,7 +25,7 @@ fixed = "1.23.1" fixed-macro = "1.2" # for web request example -reqwless = { git = "https://github.com/drogue-iot/reqwless", features = ["defmt",]} +reqwless = { version = "0.12.0", features = ["defmt",]} serde = { version = "1.0.203", default-features = false, features = ["derive"] } serde-json-core = "0.5.1" -- cgit From 14569002816f23d20f7a651ebcfab0a51333aff8 Mon Sep 17 00:00:00 2001 From: 9names <60134748+9names@users.noreply.github.com> Date: Tue, 25 Jun 2024 20:47:27 +1000 Subject: Replace joke seed with best RNG available --- examples/rp/src/bin/usb_ethernet.rs | 5 ++++- examples/rp/src/bin/wifi_ap_tcp_server.rs | 3 ++- examples/rp/src/bin/wifi_tcp_server.rs | 3 ++- examples/rp/src/bin/wifi_webrequest.rs | 3 ++- 4 files changed, 10 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/usb_ethernet.rs b/examples/rp/src/bin/usb_ethernet.rs index f1b124efa..22dc88d28 100644 --- a/examples/rp/src/bin/usb_ethernet.rs +++ b/examples/rp/src/bin/usb_ethernet.rs @@ -9,6 +9,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; use embassy_net::{Stack, StackResources}; +use embassy_rp::clocks::RoscRng; use embassy_rp::peripherals::USB; use embassy_rp::usb::{Driver, InterruptHandler}; use embassy_rp::{bind_interrupts, peripherals}; @@ -16,6 +17,7 @@ use embassy_usb::class::cdc_ncm::embassy_net::{Device, Runner, State as NetState use embassy_usb::class::cdc_ncm::{CdcNcmClass, State}; use embassy_usb::{Builder, Config, UsbDevice}; use embedded_io_async::Write; +use rand::RngCore; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; @@ -45,6 +47,7 @@ async fn net_task(stack: &'static Stack>) -> ! { #[embassy_executor::main] async fn main(spawner: Spawner) { let p = embassy_rp::init(Default::default()); + let mut rng = RoscRng; // Create the driver, from the HAL. let driver = Driver::new(p.USB, Irqs); @@ -102,7 +105,7 @@ async fn main(spawner: Spawner) { //}); // Generate random seed - let seed = 1234; // guaranteed random, chosen by a fair dice roll + let seed = rng.next_u64(); // Init network stack static STACK: StaticCell>> = StaticCell::new(); diff --git a/examples/rp/src/bin/wifi_ap_tcp_server.rs b/examples/rp/src/bin/wifi_ap_tcp_server.rs index 69ce4e8be..a870a6308 100644 --- a/examples/rp/src/bin/wifi_ap_tcp_server.rs +++ b/examples/rp/src/bin/wifi_ap_tcp_server.rs @@ -40,6 +40,7 @@ async fn main(spawner: Spawner) { info!("Hello World!"); let p = embassy_rp::init(Default::default()); + let mut rng = RoscRng; let fw = include_bytes!("../../../../cyw43-firmware/43439A0.bin"); let clm = include_bytes!("../../../../cyw43-firmware/43439A0_clm.bin"); @@ -74,7 +75,7 @@ async fn main(spawner: Spawner) { }); // Generate random seed - let seed = 0x0123_4567_89ab_cdef; // chosen by fair dice roll. guarenteed to be random. + let seed = rng.next_u64(); // Init network stack static STACK: StaticCell>> = StaticCell::new(); diff --git a/examples/rp/src/bin/wifi_tcp_server.rs b/examples/rp/src/bin/wifi_tcp_server.rs index bbb531807..d77f09290 100644 --- a/examples/rp/src/bin/wifi_tcp_server.rs +++ b/examples/rp/src/bin/wifi_tcp_server.rs @@ -43,6 +43,7 @@ async fn main(spawner: Spawner) { info!("Hello World!"); let p = embassy_rp::init(Default::default()); + let mut rng = RoscRng; let fw = include_bytes!("../../../../cyw43-firmware/43439A0.bin"); let clm = include_bytes!("../../../../cyw43-firmware/43439A0_clm.bin"); @@ -77,7 +78,7 @@ async fn main(spawner: Spawner) { //}); // Generate random seed - let seed = 0x0123_4567_89ab_cdef; // chosen by fair dice roll. guarenteed to be random. + let seed = rng.next_u64(); // Init network stack static STACK: StaticCell>> = StaticCell::new(); diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs index e0c91df53..319785923 100644 --- a/examples/rp/src/bin/wifi_webrequest.rs +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -46,6 +46,7 @@ async fn main(spawner: Spawner) { info!("Hello World!"); let p = embassy_rp::init(Default::default()); + let mut rng = RoscRng; let fw = include_bytes!("../../../../cyw43-firmware/43439A0.bin"); let clm = include_bytes!("../../../../cyw43-firmware/43439A0_clm.bin"); @@ -80,7 +81,7 @@ async fn main(spawner: Spawner) { //}); // Generate random seed - let seed = 0x0123_4567_89ab_cdef; // chosen by fair dice roll. guarenteed to be random. + let seed = rng.next_u64(); // Init network stack static STACK: StaticCell>> = StaticCell::new(); -- cgit From 080b5869dad3d2eca9b290c11cdbf4c0e38b6463 Mon Sep 17 00:00:00 2001 From: 9names <60134748+9names@users.noreply.github.com> Date: Tue, 25 Jun 2024 21:07:09 +1000 Subject: Fix rngcore imports in examples --- examples/rp/src/bin/wifi_ap_tcp_server.rs | 2 ++ examples/rp/src/bin/wifi_tcp_server.rs | 2 ++ examples/rp/src/bin/wifi_webrequest.rs | 2 ++ 3 files changed, 6 insertions(+) (limited to 'examples') diff --git a/examples/rp/src/bin/wifi_ap_tcp_server.rs b/examples/rp/src/bin/wifi_ap_tcp_server.rs index a870a6308..4fc2690e3 100644 --- a/examples/rp/src/bin/wifi_ap_tcp_server.rs +++ b/examples/rp/src/bin/wifi_ap_tcp_server.rs @@ -13,11 +13,13 @@ use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; use embassy_net::{Config, Stack, StackResources}; use embassy_rp::bind_interrupts; +use embassy_rp::clocks::RoscRng; use embassy_rp::gpio::{Level, Output}; use embassy_rp::peripherals::{DMA_CH0, PIO0}; use embassy_rp::pio::{InterruptHandler, Pio}; use embassy_time::Duration; use embedded_io_async::Write; +use rand::RngCore; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; diff --git a/examples/rp/src/bin/wifi_tcp_server.rs b/examples/rp/src/bin/wifi_tcp_server.rs index d77f09290..5575df677 100644 --- a/examples/rp/src/bin/wifi_tcp_server.rs +++ b/examples/rp/src/bin/wifi_tcp_server.rs @@ -13,11 +13,13 @@ use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; use embassy_net::{Config, Stack, StackResources}; use embassy_rp::bind_interrupts; +use embassy_rp::clocks::RoscRng; use embassy_rp::gpio::{Level, Output}; use embassy_rp::peripherals::{DMA_CH0, PIO0}; use embassy_rp::pio::{InterruptHandler, Pio}; use embassy_time::{Duration, Timer}; use embedded_io_async::Write; +use rand::RngCore; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs index 319785923..70b6f0949 100644 --- a/examples/rp/src/bin/wifi_webrequest.rs +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -14,10 +14,12 @@ use embassy_net::dns::DnsSocket; use embassy_net::tcp::client::{TcpClient, TcpClientState}; use embassy_net::{Config, Stack, StackResources}; use embassy_rp::bind_interrupts; +use embassy_rp::clocks::RoscRng; use embassy_rp::gpio::{Level, Output}; use embassy_rp::peripherals::{DMA_CH0, PIO0}; use embassy_rp::pio::{InterruptHandler, Pio}; use embassy_time::{Duration, Timer}; +use rand::RngCore; use reqwless::client::{HttpClient, TlsConfig, TlsVerify}; use reqwless::request::Method; use serde::Deserialize; -- cgit From a0799bf270010f4e91b0c3eebe487d8bc6fb54fc Mon Sep 17 00:00:00 2001 From: Chen Yuheng <1016867898@qq.com> Date: Thu, 27 Jun 2024 17:04:26 +0800 Subject: Add adc oversampling support --- examples/stm32g0/src/bin/adc_oversampling.rs | 43 ++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 examples/stm32g0/src/bin/adc_oversampling.rs (limited to 'examples') diff --git a/examples/stm32g0/src/bin/adc_oversampling.rs b/examples/stm32g0/src/bin/adc_oversampling.rs new file mode 100644 index 000000000..3c31eb206 --- /dev/null +++ b/examples/stm32g0/src/bin/adc_oversampling.rs @@ -0,0 +1,43 @@ +//! adc oversampling example +//! +//! This example uses adc oversampling to achieve 16bit data + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::adc::{Adc, SampleTime}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Adc oversample test"); + + let mut adc = Adc::new(p.ADC1); + adc.set_sample_time(SampleTime::CYCLES1_5); + let mut pin = p.PA1; + + // From https://www.st.com/resource/en/reference_manual/rm0444-stm32g0x1-advanced-armbased-32bit-mcus-stmicroelectronics.pdf + // page373 15.8 Oversampler + // Table 76. Maximum output results vs N and M. Grayed values indicates truncation + // 0x00 oversampling ratio X2 + // 0x01 oversampling ratio X4 + // 0x02 oversampling ratio X8 + // 0x03 oversampling ratio X16 + // 0x04 oversampling ratio X32 + // 0x05 oversampling ratio X64 + // 0x06 oversampling ratio X128 + // 0x07 oversampling ratio X256 + adc.set_oversampling_ratio(0x03); + adc.set_oversampling_shift(0b0000); + adc.oversampling_enable(true); + + loop { + let v = adc.read(&mut pin); + info!("--> {} ", v); //max 65520 = 0xFFF0 + Timer::after_millis(100).await; + } +} -- cgit From 0e84bd8a91095c035b1b2fdf0c0d8d95b736cc9f Mon Sep 17 00:00:00 2001 From: David Haig Date: Thu, 27 Jun 2024 20:13:20 +0100 Subject: Add support for the stm32 ltdc display peripheral --- examples/stm32h7/Cargo.toml | 2 + examples/stm32h7/src/bin/ferris.bmp | Bin 0 -> 6794 bytes examples/stm32h7/src/bin/ltdc.rs | 484 ++++++++++++++++++++++++++++++++++++ 3 files changed, 486 insertions(+) create mode 100644 examples/stm32h7/src/bin/ferris.bmp create mode 100644 examples/stm32h7/src/bin/ltdc.rs (limited to 'examples') diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 0584f3916..6f3007492 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -34,6 +34,8 @@ stm32-fmc = "0.3.0" embedded-storage = "0.3.1" static_cell = "2" chrono = { version = "^0.4", default-features = false } +embedded-graphics = { version = "0.8.1" } +tinybmp = { version = "0.5" } # cargo build/run [profile.dev] diff --git a/examples/stm32h7/src/bin/ferris.bmp b/examples/stm32h7/src/bin/ferris.bmp new file mode 100644 index 000000000..7a222ab84 Binary files /dev/null and b/examples/stm32h7/src/bin/ferris.bmp differ diff --git a/examples/stm32h7/src/bin/ltdc.rs b/examples/stm32h7/src/bin/ltdc.rs new file mode 100644 index 000000000..3bd307012 --- /dev/null +++ b/examples/stm32h7/src/bin/ltdc.rs @@ -0,0 +1,484 @@ +#![no_std] +#![no_main] +#![macro_use] +#![allow(static_mut_refs)] + +/// This example demonstrates the LTDC lcd display peripheral and was tested to run on an stm32h735g-dk (embassy-stm32 feature "stm32h735ig" and probe-rs chip "STM32H735IGKx") +/// Even though the dev kit has 16MB of attached PSRAM this example uses the 320KB of internal AXIS RAM found on the mcu itself to make the example more standalone and portable. +/// For this reason a 256 color lookup table had to be used to keep the memory requirement down to an acceptable level. +/// The example bounces a ferris crab bitmap around the screen while blinking an led on another task +/// +use bouncy_box::BouncyBox; +use defmt::{info, unwrap}; +use embassy_executor::Spawner; +use embassy_stm32::{ + bind_interrupts, + gpio::{Level, Output, Speed}, + ltdc::{self, Ltdc, LtdcConfiguration, LtdcLayer, LtdcLayerConfig, PolarityActive, PolarityEdge}, + peripherals, +}; +use embassy_time::{Duration, Timer}; +use embedded_graphics::{ + draw_target::DrawTarget, + geometry::{OriginDimensions, Point, Size}, + image::Image, + pixelcolor::{raw::RawU24, Rgb888}, + prelude::*, + primitives::Rectangle, + Pixel, +}; +use heapless::{Entry, FnvIndexMap}; +use tinybmp::Bmp; +use {defmt_rtt as _, panic_probe as _}; + +const DISPLAY_WIDTH: usize = 480; +const DISPLAY_HEIGHT: usize = 272; +const MY_TASK_POOL_SIZE: usize = 2; + +// the following two display buffers consume 261120 bytes that just about fits into axis ram found on the mcu +// see memory.x linker script +pub static mut FB1: [TargetPixelType; DISPLAY_WIDTH * DISPLAY_HEIGHT] = [0; DISPLAY_WIDTH * DISPLAY_HEIGHT]; +pub static mut FB2: [TargetPixelType; DISPLAY_WIDTH * DISPLAY_HEIGHT] = [0; DISPLAY_WIDTH * DISPLAY_HEIGHT]; + +// a basic memory.x linker script for the stm32h735g-dk is as follows: +/* +MEMORY +{ + FLASH : ORIGIN = 0x08000000, LENGTH = 1024K + RAM : ORIGIN = 0x24000000, LENGTH = 320K +} +*/ + +bind_interrupts!(struct Irqs { + LTDC => ltdc::InterruptHandler; +}); + +const NUM_COLORS: usize = 256; + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = rcc_setup::stm32h735g_init(); + + // blink the led on another task + let led = Output::new(p.PC3, Level::High, Speed::Low); + unwrap!(spawner.spawn(led_task(led))); + + // numbers from STMicroelectronics/STM32CubeH7 STM32H735G-DK C-based example + const RK043FN48H_HSYNC: u16 = 41; // Horizontal synchronization + const RK043FN48H_HBP: u16 = 13; // Horizontal back porch + const RK043FN48H_HFP: u16 = 32; // Horizontal front porch + const RK043FN48H_VSYNC: u16 = 10; // Vertical synchronization + const RK043FN48H_VBP: u16 = 2; // Vertical back porch + const RK043FN48H_VFP: u16 = 2; // Vertical front porch + + let ltdc_config = LtdcConfiguration { + active_width: DISPLAY_WIDTH as _, + active_height: DISPLAY_HEIGHT as _, + h_back_porch: RK043FN48H_HBP - 11, // -11 from MX_LTDC_Init + h_front_porch: RK043FN48H_HFP, + v_back_porch: RK043FN48H_VBP, + v_front_porch: RK043FN48H_VFP, + h_sync: RK043FN48H_HSYNC, + v_sync: RK043FN48H_VSYNC, + h_sync_polarity: PolarityActive::ActiveLow, + v_sync_polarity: PolarityActive::ActiveLow, + data_enable_polarity: PolarityActive::ActiveHigh, + pixel_clock_polarity: PolarityEdge::FallingEdge, + }; + + info!("init ltdc"); + let mut ltdc = Ltdc::new( + p.LTDC, Irqs, p.PG7, p.PC6, p.PA4, p.PG14, p.PD0, p.PD6, p.PA8, p.PE12, p.PA3, p.PB8, p.PB9, p.PB1, p.PB0, + p.PA6, p.PE11, p.PH15, p.PH4, p.PC7, p.PD3, p.PE0, p.PH3, p.PH8, p.PH9, p.PH10, p.PH11, p.PE1, p.PE15, + ); + ltdc.init(<dc_config); + + // we only need to draw on one layer for this example (not to be confused with the double buffer) + info!("enable bottom layer"); + let layer_config = LtdcLayerConfig { + pixel_format: ltdc::PixelFormat::L8, // 1 byte per pixel + layer: LtdcLayer::Layer1, + window_x0: 0, + window_x1: DISPLAY_WIDTH as _, + window_y0: 0, + window_y1: DISPLAY_HEIGHT as _, + }; + + let ferris_bmp: Bmp = Bmp::from_slice(include_bytes!("./ferris.bmp")).unwrap(); + let color_map = build_color_lookup_map(&ferris_bmp); + let clut = build_clut(&color_map); + + // enable the bottom layer with a 256 color lookup table + ltdc.enable_layer(&layer_config, Some(&clut)); + + // Safety: the DoubleBuffer controls access to the statically allocated frame buffers + // and it is the only thing that mutates their content + let mut double_buffer = DoubleBuffer::new( + unsafe { FB1.as_mut() }, + unsafe { FB2.as_mut() }, + layer_config, + color_map, + ); + + // this allows us to perform some simple animation for every frame + let mut bouncy_box = BouncyBox::new( + ferris_bmp.bounding_box(), + Rectangle::new(Point::zero(), Size::new(DISPLAY_WIDTH as u32, DISPLAY_HEIGHT as u32)), + 2, + ); + + loop { + // cpu intensive drawing to the buffer that is NOT currently being copied to the LCD screen + double_buffer.clear(); + let position = bouncy_box.next_point(); + let ferris = Image::new(&ferris_bmp, position); + unwrap!(ferris.draw(&mut double_buffer)); + + // perform async dma data transfer to the lcd screen + unwrap!(double_buffer.swap(&mut ltdc).await); + } +} + +/// builds the color look-up table from all unique colors found in the bitmap. This should be a 256 color indexed bitmap to work. +fn build_color_lookup_map(bmp: &Bmp) -> FnvIndexMap { + let mut color_map: FnvIndexMap = heapless::FnvIndexMap::new(); + let mut counter: u8 = 0; + + // add black to position 0 + color_map.insert(Rgb888::new(0, 0, 0).into_storage(), counter).unwrap(); + counter += 1; + + for Pixel(_point, color) in bmp.pixels() { + let raw = color.into_storage(); + if let Entry::Vacant(v) = color_map.entry(raw) { + v.insert(counter).expect("more than 256 colors detected"); + counter += 1; + } + } + color_map +} + +/// builds the color look-up table from the color map provided +fn build_clut(color_map: &FnvIndexMap) -> [ltdc::RgbColor; NUM_COLORS] { + let mut clut = [ltdc::RgbColor::default(); NUM_COLORS]; + for (color, index) in color_map.iter() { + let color = Rgb888::from(RawU24::new(*color)); + clut[*index as usize] = ltdc::RgbColor { + red: color.r(), + green: color.g(), + blue: color.b(), + }; + } + + clut +} + +#[embassy_executor::task(pool_size = MY_TASK_POOL_SIZE)] +async fn led_task(mut led: Output<'static>) { + let mut counter = 0; + loop { + info!("blink: {}", counter); + counter += 1; + + // on + led.set_low(); + Timer::after(Duration::from_millis(50)).await; + + // off + led.set_high(); + Timer::after(Duration::from_millis(450)).await; + } +} + +pub type TargetPixelType = u8; + +// A simple double buffer +pub struct DoubleBuffer { + buf0: &'static mut [TargetPixelType], + buf1: &'static mut [TargetPixelType], + is_buf0: bool, + layer_config: LtdcLayerConfig, + color_map: FnvIndexMap, +} + +impl DoubleBuffer { + pub fn new( + buf0: &'static mut [TargetPixelType], + buf1: &'static mut [TargetPixelType], + layer_config: LtdcLayerConfig, + color_map: FnvIndexMap, + ) -> Self { + Self { + buf0, + buf1, + is_buf0: true, + layer_config, + color_map, + } + } + + pub fn current(&mut self) -> (&FnvIndexMap, &mut [TargetPixelType]) { + if self.is_buf0 { + (&self.color_map, self.buf0) + } else { + (&self.color_map, self.buf1) + } + } + + pub async fn swap(&mut self, ltdc: &mut Ltdc<'_, T>) -> Result<(), ltdc::Error> { + let (_, buf) = self.current(); + let frame_buffer = buf.as_ptr(); + self.is_buf0 = !self.is_buf0; + ltdc.set_buffer(self.layer_config.layer, frame_buffer as *const _).await + } + + /// Clears the buffer + pub fn clear(&mut self) { + let (color_map, buf) = self.current(); + let black = Rgb888::new(0, 0, 0).into_storage(); + let color_index = color_map.get(&black).expect("no black found in the color map"); + + for a in buf.iter_mut() { + *a = *color_index; // solid black + } + } +} + +// Implement DrawTarget for +impl DrawTarget for DoubleBuffer { + type Color = Rgb888; + type Error = (); + + /// Draw a pixel + fn draw_iter(&mut self, pixels: I) -> Result<(), Self::Error> + where + I: IntoIterator>, + { + let size = self.size(); + let width = size.width as i32; + let height = size.height as i32; + let (color_map, buf) = self.current(); + + for pixel in pixels { + let Pixel(point, color) = pixel; + + if point.x >= 0 && point.y >= 0 && point.x < width && point.y < height { + let index = point.y * width + point.x; + let raw_color = color.into_storage(); + + match color_map.get(&raw_color) { + Some(x) => { + buf[index as usize] = *x; + } + None => panic!("color not found in color map: {}", raw_color), + }; + } else { + // Ignore invalid points + } + } + + Ok(()) + } +} + +impl OriginDimensions for DoubleBuffer { + /// Return the size of the display + fn size(&self) -> Size { + Size::new( + (self.layer_config.window_x1 - self.layer_config.window_x0) as _, + (self.layer_config.window_y1 - self.layer_config.window_y0) as _, + ) + } +} + +mod rcc_setup { + + use embassy_stm32::{rcc::*, Peripherals}; + use embassy_stm32::{ + rcc::{Hse, HseMode}, + time::Hertz, + Config, + }; + + /// Sets up clocks for the stm32h735g mcu + /// change this if you plan to use a different microcontroller + pub fn stm32h735g_init() -> Peripherals { + /* + https://github.com/STMicroelectronics/STM32CubeH7/blob/master/Projects/STM32H735G-DK/Examples/GPIO/GPIO_EXTI/Src/main.c + @brief System Clock Configuration + The system Clock is configured as follow : + System Clock source = PLL (HSE) + SYSCLK(Hz) = 520000000 (CPU Clock) + HCLK(Hz) = 260000000 (AXI and AHBs Clock) + AHB Prescaler = 2 + D1 APB3 Prescaler = 2 (APB3 Clock 130MHz) + D2 APB1 Prescaler = 2 (APB1 Clock 130MHz) + D2 APB2 Prescaler = 2 (APB2 Clock 130MHz) + D3 APB4 Prescaler = 2 (APB4 Clock 130MHz) + HSE Frequency(Hz) = 25000000 + PLL_M = 5 + PLL_N = 104 + PLL_P = 1 + PLL_Q = 4 + PLL_R = 2 + VDD(V) = 3.3 + Flash Latency(WS) = 3 + */ + + // setup power and clocks for an stm32h735g-dk run from an external 25 Mhz external oscillator + let mut config = Config::default(); + config.rcc.hse = Some(Hse { + freq: Hertz::mhz(25), + mode: HseMode::Oscillator, + }); + config.rcc.hsi = None; + config.rcc.csi = false; + config.rcc.pll1 = Some(Pll { + source: PllSource::HSE, + prediv: PllPreDiv::DIV5, // PLL_M + mul: PllMul::MUL104, // PLL_N + divp: Some(PllDiv::DIV1), + divq: Some(PllDiv::DIV4), + divr: Some(PllDiv::DIV2), + }); + // numbers adapted from Drivers/BSP/STM32H735G-DK/stm32h735g_discovery_ospi.c + // MX_OSPI_ClockConfig + config.rcc.pll2 = Some(Pll { + source: PllSource::HSE, + prediv: PllPreDiv::DIV5, // PLL_M + mul: PllMul::MUL80, // PLL_N + divp: Some(PllDiv::DIV5), + divq: Some(PllDiv::DIV2), + divr: Some(PllDiv::DIV2), + }); + // numbers adapted from Drivers/BSP/STM32H735G-DK/stm32h735g_discovery_lcd.c + // MX_LTDC_ClockConfig + config.rcc.pll3 = Some(Pll { + source: PllSource::HSE, + prediv: PllPreDiv::DIV5, // PLL_M + mul: PllMul::MUL160, // PLL_N + divp: Some(PllDiv::DIV2), + divq: Some(PllDiv::DIV2), + divr: Some(PllDiv::DIV83), + }); + config.rcc.voltage_scale = VoltageScale::Scale0; + config.rcc.supply_config = SupplyConfig::DirectSMPS; + config.rcc.sys = Sysclk::PLL1_P; + config.rcc.ahb_pre = AHBPrescaler::DIV2; + config.rcc.apb1_pre = APBPrescaler::DIV2; + config.rcc.apb2_pre = APBPrescaler::DIV2; + config.rcc.apb3_pre = APBPrescaler::DIV2; + config.rcc.apb4_pre = APBPrescaler::DIV2; + let p = embassy_stm32::init(config); + p + } +} + +mod bouncy_box { + use embedded_graphics::{geometry::Point, primitives::Rectangle}; + + enum Direction { + DownLeft, + DownRight, + UpLeft, + UpRight, + } + + pub struct BouncyBox { + direction: Direction, + child_rect: Rectangle, + parent_rect: Rectangle, + current_point: Point, + move_by: usize, + } + + // This calculates the coordinates of a chile rectangle bounced around inside a parent bounded box + impl BouncyBox { + pub fn new(child_rect: Rectangle, parent_rect: Rectangle, move_by: usize) -> Self { + let center_box = parent_rect.center(); + let center_img = child_rect.center(); + let current_point = Point::new(center_box.x - center_img.x / 2, center_box.y - center_img.y / 2); + Self { + direction: Direction::DownRight, + child_rect, + parent_rect, + current_point, + move_by, + } + } + + pub fn next_point(&mut self) -> Point { + let direction = &self.direction; + let img_height = self.child_rect.size.height as i32; + let box_height = self.parent_rect.size.height as i32; + let img_width = self.child_rect.size.width as i32; + let box_width = self.parent_rect.size.width as i32; + let move_by = self.move_by as i32; + + match direction { + Direction::DownLeft => { + self.current_point.x -= move_by; + self.current_point.y += move_by; + + let x_out_of_bounds = self.current_point.x < 0; + let y_out_of_bounds = (self.current_point.y + img_height) > box_height; + + if x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::UpRight + } else if x_out_of_bounds && !y_out_of_bounds { + self.direction = Direction::DownRight + } else if !x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::UpLeft + } + } + Direction::DownRight => { + self.current_point.x += move_by; + self.current_point.y += move_by; + + let x_out_of_bounds = (self.current_point.x + img_width) > box_width; + let y_out_of_bounds = (self.current_point.y + img_height) > box_height; + + if x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::UpLeft + } else if x_out_of_bounds && !y_out_of_bounds { + self.direction = Direction::DownLeft + } else if !x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::UpRight + } + } + Direction::UpLeft => { + self.current_point.x -= move_by; + self.current_point.y -= move_by; + + let x_out_of_bounds = self.current_point.x < 0; + let y_out_of_bounds = self.current_point.y < 0; + + if x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::DownRight + } else if x_out_of_bounds && !y_out_of_bounds { + self.direction = Direction::UpRight + } else if !x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::DownLeft + } + } + Direction::UpRight => { + self.current_point.x += move_by; + self.current_point.y -= move_by; + + let x_out_of_bounds = (self.current_point.x + img_width) > box_width; + let y_out_of_bounds = self.current_point.y < 0; + + if x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::DownLeft + } else if x_out_of_bounds && !y_out_of_bounds { + self.direction = Direction::UpLeft + } else if !x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::DownRight + } + } + } + + self.current_point + } + } +} -- cgit From 8a6b71b0bba450687c48b36c60273f825c3f6d4b Mon Sep 17 00:00:00 2001 From: nerwalt Date: Thu, 27 Jun 2024 14:07:26 -0600 Subject: Adding initial support for nrf9151 s and ns Adding s and ns examples, including a reference TFM --- examples/nrf9151/ns/.cargo/config.toml | 9 + examples/nrf9151/ns/Cargo.toml | 20 + examples/nrf9151/ns/README.md | 4 + examples/nrf9151/ns/build.rs | 35 + examples/nrf9151/ns/flash_tfm.sh | 2 + examples/nrf9151/ns/memory.x | 7 + examples/nrf9151/ns/src/bin/blinky.rs | 24 + examples/nrf9151/ns/tfm.hex | 1543 ++++++++++++++++++++++++++++++++ examples/nrf9151/s/.cargo/config.toml | 9 + examples/nrf9151/s/Cargo.toml | 20 + examples/nrf9151/s/build.rs | 35 + examples/nrf9151/s/memory.x | 5 + examples/nrf9151/s/src/bin/blinky.rs | 24 + 13 files changed, 1737 insertions(+) create mode 100644 examples/nrf9151/ns/.cargo/config.toml create mode 100644 examples/nrf9151/ns/Cargo.toml create mode 100644 examples/nrf9151/ns/README.md create mode 100644 examples/nrf9151/ns/build.rs create mode 100644 examples/nrf9151/ns/flash_tfm.sh create mode 100644 examples/nrf9151/ns/memory.x create mode 100644 examples/nrf9151/ns/src/bin/blinky.rs create mode 100644 examples/nrf9151/ns/tfm.hex create mode 100644 examples/nrf9151/s/.cargo/config.toml create mode 100644 examples/nrf9151/s/Cargo.toml create mode 100644 examples/nrf9151/s/build.rs create mode 100644 examples/nrf9151/s/memory.x create mode 100644 examples/nrf9151/s/src/bin/blinky.rs (limited to 'examples') diff --git a/examples/nrf9151/ns/.cargo/config.toml b/examples/nrf9151/ns/.cargo/config.toml new file mode 100644 index 000000000..1444b0cd1 --- /dev/null +++ b/examples/nrf9151/ns/.cargo/config.toml @@ -0,0 +1,9 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +# replace nRF82840_xxAA with your chip as listed in `probe-rs chip list` +runner = "probe-rs run --chip nRF9160_xxAA" + +[build] +target = "thumbv8m.main-none-eabihf" + +[env] +DEFMT_LOG = "trace" diff --git a/examples/nrf9151/ns/Cargo.toml b/examples/nrf9151/ns/Cargo.toml new file mode 100644 index 000000000..0765d52d1 --- /dev/null +++ b/examples/nrf9151/ns/Cargo.toml @@ -0,0 +1,20 @@ +[package] +edition = "2021" +name = "embassy-nrf9151-non-secure-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +embassy-executor = { version = "0.5.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.1", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-nrf = { version = "0.1.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9151-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } + +defmt = "0.3" +defmt-rtt = "0.4" + +cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } +cortex-m-rt = "0.7.0" +panic-probe = { version = "0.3", features = ["print-defmt"] } + +[profile.release] +debug = 2 diff --git a/examples/nrf9151/ns/README.md b/examples/nrf9151/ns/README.md new file mode 100644 index 000000000..a413dab85 --- /dev/null +++ b/examples/nrf9151/ns/README.md @@ -0,0 +1,4 @@ +You must flash the TFM before running any non-secure examples. The TFM +configures the secure and non-secure execution environments. After +configuration, the TFM loads the non-secure application. A reference TFM is +included, and you can use the provided helper script to flash it. diff --git a/examples/nrf9151/ns/build.rs b/examples/nrf9151/ns/build.rs new file mode 100644 index 000000000..30691aa97 --- /dev/null +++ b/examples/nrf9151/ns/build.rs @@ -0,0 +1,35 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory -- wherever `Cargo.toml` is. However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! updating `memory.x` ensures a rebuild of the application with the +//! new memory settings. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); + + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/nrf9151/ns/flash_tfm.sh b/examples/nrf9151/ns/flash_tfm.sh new file mode 100644 index 000000000..29e4e0ed5 --- /dev/null +++ b/examples/nrf9151/ns/flash_tfm.sh @@ -0,0 +1,2 @@ +nrfjprog --family NRF91 --recover +nrfjprog --family NRF91 --chiperase --verify --program tfm.hex diff --git a/examples/nrf9151/ns/memory.x b/examples/nrf9151/ns/memory.x new file mode 100644 index 000000000..8d7b66fcc --- /dev/null +++ b/examples/nrf9151/ns/memory.x @@ -0,0 +1,7 @@ +MEMORY +{ + /* Trusted Firmware-M (TF-M) is flashed at the start */ + FLASH : ORIGIN = 0x00008000, LENGTH = 0xf8000 + RAM (rwx) : ORIGIN = 0x2000C568, LENGTH = 0x33a98 +} + diff --git a/examples/nrf9151/ns/src/bin/blinky.rs b/examples/nrf9151/ns/src/bin/blinky.rs new file mode 100644 index 000000000..5e3cc8ac0 --- /dev/null +++ b/examples/nrf9151/ns/src/bin/blinky.rs @@ -0,0 +1,24 @@ +#![no_std] +#![no_main] + +use embassy_executor::Spawner; +use embassy_nrf::gpio::{Level, Output, OutputDrive}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +use defmt; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_nrf::init(Default::default()); + let mut led = Output::new(p.P0_00, Level::Low, OutputDrive::Standard); + + loop { + led.set_high(); + defmt::info!("high"); + Timer::after_millis(500).await; + led.set_low(); + defmt::info!("low"); + Timer::after_millis(1000).await; + } +} diff --git a/examples/nrf9151/ns/tfm.hex b/examples/nrf9151/ns/tfm.hex new file mode 100644 index 000000000..9864a1849 --- /dev/null +++ b/examples/nrf9151/ns/tfm.hex @@ -0,0 +1,1543 @@ +:10000000F80B0020690600000D070000255A0000CB +:10001000455A0000655A0000A55A0000855A0000A4 +:100020000000000000000000000000001D2700008C +:100030000D070000000000000D0700000D07000084 +:10004000000000000000000000000000F13200008D +:10005000000000000D07000000000000000000008C +:100060000D0700000D0700000D0700000D07000040 +:10007000000000000D0700000D0700000D07000044 +:100080000D0700000D070000000000000000000048 +:100090000D0700000D070000000000000000000038 +:1000A0000D07000000000000000000000D07000028 +:1000B0000D0700000D0700000D0700000D070000F0 +:1000C0000D0700000D0700000D0700000D070000E0 +:1000D0000D070000000000000D07000000000000F8 +:1000E0000D070000000000000D07000000000000E8 +:1000F0000D070000000000000000000000000000EC +:10010000000000000D0700000000000000000000DB +:1001100000000000000000000000000000000000DF +:10012000000000000D0700000000000000000000BB +:1001300000000000000000000000000000000000BF +:100140000D07000000015F5F00000000FE0B0000D3 +:10015000F9270000800600000000000000000000F9 +:10016000000000000000000000000000401200201D +:100170000000000001015F5F030100001F0100009B +:1001800085040000000000000000000001000000E5 +:10019000010000000000000000000000000000005E +:1001A0000000000070000000CC5E00008000000035 +:1001B000000F000001000000D102000001015F5F9C +:1001C000040100001F010000F30500000000000012 +:1001D000000000000000000001000000000000001E +:1001E000000000000000000000000000D75E0000DA +:1001F000400000000507000001000000DF040000CF +:1002000038B50025054C29462046D4F80024C4F80A +:10021000045405F0B0FCC4F8005438BD200C002094 +:1002200013B511460022CDE9002242680346382A60 +:10023000046844D194F82820022A19D01AB900F091 +:1002400047F902B010BD21482468D0F80404013AEF +:10025000CDE90040082A35D8DFE802F0050A0E1380 +:10026000181D22272C006A46184600F02EF9E8E7F0 +:10027000184600F018F9E4E76A46184600F016F947 +:10028000DFE76A46184600F00BF9DAE76A461846D7 +:1002900000F00FF9D5E76A46184600F00DF9D0E7EF +:1002A0006A46184600F00BF9CBE76A46184600F09C +:1002B00009F9C6E76A46184600F00EF9C1E76FF083 +:1002C0008000BEE76FF08500BBE700BF200C002078 +:1002D0002DE9F04F05680446A1B0002D40F0AA803A +:1002E0002022294602A805F046FC12AF202229460A +:1002F0000AA805F040FC38222946384605F03BFCA8 +:10030000E26904F11C039846B2B10426E26A04F1E2 +:100310002C03EAB10425EEB96FF08306304621B014 +:10032000BDE8F08F002EF1D053F8041D3246013E97 +:100330000029F7D01646E9E70326F5E7002DEAD0B5 +:1003400053F8041D2A46013D0029F7D01546E2E77F +:100350000325F5E738233A460021606805F048FC9C +:100360003828D9D14FF00109CDE90270334F0DF192 +:10037000080A04F1100B4E45D7F800141CD10DF1FA +:1003800028094B46002008EB850EC64533D108B13D +:10039000C7F80014A3683146C7F804340AAA2B46EC +:1003A00002A8FFF73DFF00270646BD4209F10809F4 +:1003B00038D1FFF725FFB1E75BF8043FC1F5806254 +:1003C000D81C20F00300904204D9FFF719FF6FF00A +:1003D0008C06A3E70844CA19C7F8000449466068B8 +:1003E000019205F005FC019ACAF80C0009F1010917 +:1003F0004AF8082FBFE758F804CFC1F5806A0CF11E +:10040000030222F00302524503F1080305D87818CD +:1004100043E9020C11440120B7E70028D5D0C7F802 +:100420000014D2E7394659E90223606805F0F5FB6C +:100430000137BAE76FF0850670E700BF200C002097 +:1004400008B528220021024805F095FB002008BDD0 +:100450002810002010B5044C0F222046034905F057 +:1004600065FB204610BD00BF51100020F6050000BE +:1004700008B50121024803F011FB002008BD00BFB0 +:100480005010002008B5FFF7DBFF40B9FFF7E2FF8F +:10049000FFF7EEFF18B9BDE8084003F06DBB08BDDB +:1004A0006FF0850070476FF0850070476FF0850032 +:1004B00070476FF0850070476FF0850070476FF0F0 +:1004C000850070476FF0850070476FF085007047BA +:1004D000D1E9000103F030BB6FF085007047F0B543 +:1004E00003680546B3F57D7FA7B007D040F2F5322B +:1004F000934207D06FF0850027B0F0BD01F08EFC6D +:100500000020F9E700243C22214607A8CDE9024457 +:10051000CDE90444069405F02EFB3C22214617A8A1 +:10052000169405F028FBEA69019405F11C0302B357 +:100530000426EA6A05F12C033AB30424731E012B46 +:1005400052D8012C50D80423002168680DEB030217 +:1005500005F04EFB04281AD06FF08000CCE7002E87 +:10056000E7D053F8041D3246013E0029F7D0164665 +:10057000DFE70326F5E7002CE0D053F8041D224600 +:10058000013C0029F7D01446D8E70324F5E7022EF2 +:1005900016D16E69402E29D806AF33463A4601215E +:1005A000686805F025FB8642D6D1CDE9027602A91E +:1005B00044B92246019801F01AFE044620469BE702 +:1005C0000021F5E72B6A402BC6D816AACDE90423F3 +:1005D000019804AA01F00BFEDDE904230446002182 +:1005E000686805F01AFBE9E7012085E76FF08900EC +:1005F00082E7002070474D62656420544C532033DD +:100600002E352E3000000000000000000000000029 +:1006100000000000000000000000000000000000DA +:100620005431000001000000407C000080100020D8 +:100630004A000000407C0000200C00200000000068 +:10064000407C0000000C002000000000A8110020E9 +:10065000C4050000200C002018010000000C002040 +:100660000800000002F07ABC08B572B61E4A1F4BA3 +:100670009A601F4B83F309881E4B83F30A8883F328 +:100680000B881D4B16A1D1E90001C3E9000100F060 +:1006900089F81A4B1A498B4212D30020194B1A4978 +:1006A0008B4218D303F06AF8186850F82240586853 +:1006B00040F82240013298688242F5D30C33EAE7D1 +:1006C0000022F8E71C6844F8220001325C68A2426C +:1006D000F8D30833E4E70022F8E700BFAFF3008067 +:1006E000A5EDF5FEA5EDF5FE0000000000ED00E033 +:1006F000F80B002000040020F80B00202806000062 +:100700004C0600004C06000064060000EFF3088071 +:10071000EFF309812DE9F00F6B46724600F038F9CE +:1007200008B0FFF79FFFFEE708B5EFF31083012B3A +:100730000C4A07D1126ABFF34F8F511C4A424A41FB +:10074000104608BD01F0BEFB00B172B6126ABFF3DD +:100750004F8F531C5A425A4101F0B4FB0028EFD08E +:1007600062B6EDE70080FF0008B5EFF31083012BC0 +:100770000B4A06D1D269BFF34F8F02F00102104637 +:1007800008BD01F09FFB00B172B6D269BFF34F8F75 +:1007900002F0010201F096FB0028F0D062B6EEE70D +:1007A0000080FF006F4A10B5D2F8D03043F002034A +:1007B000C2F8D03001F086FB30B14FF05023002258 +:1007C000C3F81421C3F8182101F08BFB28B10122D2 +:1007D000654BC3F8382AC3F878254FF47F02D2F866 +:1007E0003031D2F83421BFF34F8FC3F30B03092B01 +:1007F00005D1012A1EBF01225B4BC3F8782501F009 +:1008000070FB18B10E22594BC3F8E42E01F05AFBCD +:1008100030B10022544BC3F80C270122C3F8102733 +:100820000022D30003F57F03D3F80013BFF34F8FEB +:10083000013108D0D3F800130132D3F80433B2F5F4 +:10084000807F0B60EDD1EFF31084FFF78DFF002860 +:100850004DD0BFF34F8F464BD3F80024012AFBD174 +:10086000C3F80425D3F80024012AFBD1012C03D0BE +:1008700001F028FB00B172B6FFF776FF58B13D4A90 +:10088000D36923F00103D361BFF34F8F384AD2F805 +:100890000034012BFBD1FFF747FF68B1354A136ADB +:1008A00023F0FF0343F020031362BFF34F8F304A5E +:1008B000D2F80034012BFBD1012C03D001F002FB54 +:1008C00000B162B600222A4BC3F80425D3F80024F5 +:1008D000012AFBD1BFF34F8F2249274BCA6802F48C +:1008E000E0621343CB60BFF34F8F00BFFDE7FFF71C +:1008F0001BFF0028ADD11B4AD2F88C3043F4406373 +:10090000C2F88C304FF47F03D3F83021D3F8343160 +:10091000BFF34F8FC2F30B02092A16D1013B022B02 +:1009200002D8164AD35C83B1124815490368104AAD +:100930008B420CBF5A230023C2F8103EC36A8B427D +:100940000CBF5A230023C2F8003E064AD2F8883072 +:1009500043F47003C2F88830BFF34F8FBFF36F8F3B +:1009600010BD00BF00ED00E00040005000A00350AB +:10097000009003500080FF000400FA05C43300001B +:10098000FA50FA507C22014905F0D0B8DC1800205A +:1009900038B51D46374B384C5B68C3F308032360FA +:1009A000EFF30383C4E901206365C2F3801302F00F +:1009B0000C020C2AE16038D10BB9EFF389812022B7 +:1009C0002E48216105F0B2F825B1202229462C4895 +:1009D00005F0ACF8274B9A6AA265D96AE165986B75 +:1009E000206602F400406066586BA06602F080004A +:1009F000E0669A62D962D3F8E4202267D3F8E8105F +:100A0000616702F04001A167C3F8E42000F06AF8D2 +:100A10000E211C4801F077FA2268D31E042B1CD843 +:100A2000DFE803F0090F1215180013B9EFF38881FE +:100A3000C5E70146C3E70C211348BDE8384001F083 +:100A400062BA12211148F8E70B211148F5E70D2190 +:100A50001048F2E70E211048EFE70F2A98BF142143 +:100A6000BDE8384089BF25210C480D48103A01F0F7 +:100A7000F5BB00BF00ED00E0DC180020F0180020FE +:100A800010190020C7330000D5330000E133000007 +:100A9000F3330000FE3300000B3400001934000073 +:100AA0002D3400002DE9F34106460F460C4DD5F8D4 +:100AB0002C80C04710F00104FBD1394630466B69E9 +:100AC000984740B9C047C307FCD42B6A019302B0D2 +:100AD000BDE8F0411847204602B0BDE8F08100BFF4 +:100AE0005434000010B5094C0020A36898472369CE +:100AF00002209847A46A4FF4E1310120A047234621 +:100B0000BDE8104001211520184700BF54340000F3 +:100B100010B5044C002023699847E368BDE81040F5 +:100B2000184700BF54340000064B82B018680023F9 +:100B300082B262F30F03000C60F31F43184602B049 +:100B4000704700BF9C340000014B1869704700BF1C +:100B500084100020014B5869704700BF84100020AA +:100B600038B50C4D0C4695F8203013B94FF0FF30D6 +:100B700038BD0A460146284600F06CFF064B9842F5 +:100B800005D00B3B9842F1D100206C61F0E76FF08B +:100B90000100EDE7841000200B00AD0BF0B51B4EFB +:100BA000054696F820300C4691B01BB94FF0FF3047 +:100BB00011B0F0BD00F06043B3F1005F21D100231C +:100BC0000A460146304600F031FC114B98421AD0DB +:100BD0000B3B9842EAD1346111E0A71B402F28BF9C +:100BE0004027A9193A46684604F0A0FF39466846EE +:100BF000FFF7D4FF0028DBD14036B442EDD8002007 +:100C0000D6E70026F9E76FF00100D1E78410002055 +:100C10000B00AD0BC3B2012B10B540F096804DF622 +:100C2000C023994270D028D8B1F5615F6FD011D838 +:100C3000B1F5965F6DD008D8B1F5966F6BD0B1F570 +:100C4000166F6BD06FF007005DE0B1F5165FF9D15C +:100C5000454B33E047F61223994262D007D8B1F5ED +:100C6000964F61D0B1F5E14FECD1404B26E0B1F5A4 +:100C7000164FE7D14FF41D0320E03D4B994255D06C +:100C800011D8B1F5E13F54D007D8B1F5614F53D039 +:100C9000B1F5963FD6D1374B10E0B1F5613FD1D1D8 +:100CA0004FF06C730AE0B1F5612F48D0324B994296 +:100CB00048D0B1F5E12FC5D14FF0E86310F4E06FF3 +:100CC00046D110F4404103D0B1F5804F43D11021FB +:100CD00010F4405203D0B2F5805F3FD10E2210F4E1 +:100CE000403003D0B0F5403F3BD10120234C20766B +:100CF0006276E361A1760A4324681043C4F8243580 +:100D0000C4F86C05002010BD4FF46503D6E71C4BFA +:100D1000D4E71C4BD2E74FF49E23CFE74FF41D23BB +:100D2000CCE74FF40003C9E7174BC7E74FF08063E8 +:100D3000C4E74FF0EB73C1E74FF46B03BEE74FF02E +:100D40007063BBE74FF08053B8E76FF00300DAE75A +:100D50006FF00800D7E76FF00A00D4E76FF00900E2 +:100D6000D1E76FF00B00CEE70050270000C0750000 +:100D700090D0030000903A0140420F008410002000 +:100D800000F03A0000B0130000A04E0010B5114C66 +:100D9000204600F0D5FD0021206884F8201000F0E6 +:100DA00047FF226842F30732002A11DB0121530971 +:100DB0009B0003F1604303F56143D3F8800202F026 +:100DC0001F0201FA02F20243C3F88022D3F88032F4 +:100DD000002010BD8410002010B5264C0021206892 +:100DE0008EB000F017FF226842F30732002A12DBB0 +:100DF000012053099B0003F1604303F56143D3F8DD +:100E0000801202F01F0200FA02F221EA0202C3F885 +:100E10008022D3F880322422002105A804F0ABFE02 +:100E2000D4E902124FF0FF33CDE90133CDE90333AA +:100E30004FF0EB730B93072301A88DF8363001F0C8 +:100E400080F8014600220B4800F03AFA0A4B98421B +:100E50000DD10C9B002023831B0CA3760B9BC4E9B4 +:100E60000400E361012384F820300EB010BD6FF060 +:100E70000100FAE7841000200000AD0B7FB50025CB +:100E80000C46C0F808511646D0F80821D0F80022C8 +:100E900022F02002C0F80022104AC0F8082301F016 +:100EA000A0F8A560256104F14C03D3E8EF1F21F4FD +:100EB0007F0121F47041C3E8E21F002AF5D110221E +:100EC0002946684604F057FE042368468DF8003032 +:100ED0000196D4E90013984704B070BD10020A00CF +:100EE00000F01F03400909D1074A02EB8303D3F83E +:100EF0000012064A0A40C3F80022704700228033DD +:100F000052F82330FFDE00BF00258450F0F8FCFFCC +:100F10002DE9F04F804690F804A05020664F0E4611 +:100F200000FB0A70416885B049B113F0020304D098 +:100F3000836B002B00F0B2800123009300E000914E +:100F40004FF0500909FB0A73DB6CD90600F1A6804B +:100F50004FF0010BB3180293029BB34200F0A7803D +:100F600006F06043039398F80450D8F8004009FB5A +:100F700005739A6B9AB9039BB3F1005F40F09980B7 +:100F8000019200F0A1FD09FB0572D16C204601F031 +:100F9000010100F0F4FF28B900F09EFDE3E7012312 +:100FA0000193EEE7516C33460029BCBFD4F84C15D1 +:100FB0005164019A42B109FB05713078D1E90E23E1 +:100FC000D054D1E90E3213441BB1C4F84435C4F8EF +:100FD00048B50022C4F82021D4F82011C4F85821C3 +:100FE000D4F85811C4F85021D4F850210822C4F87C +:100FF0000025009AE2B14FF48003C4F80433C4F82A +:1010000008B000F069FD502303FB0A725168002903 +:101010004BD1D26C120748D503FB0A734C33D3E88B +:10102000EF1F21F00801C3E8E21F002A36D0F6E7DF +:10103000C4F808B0019300F04FFD09FB0572D16CB4 +:10104000019B01F001012046019300F098FF8446C6 +:10105000019BD4F84C05D4F84425BCF1000F0DD108 +:101060009342F0D005EB850507EB0515D1B100F0F3 +:101070002BFD2946204600F0F9FFC2E705EB850568 +:10108000934207EB0515F1D10028EFD100F01CFDCC +:101090002946204600F0EAFF00F01EFD074805B093 +:1010A000BDE8F08FC4F80CB0E1E7013654E704481E +:1010B000F5E70448F3E700BF581900200800AD0B1E +:1010C0000000AD0B0400AD0B430904D10123034A1A +:1010D00083409360704700239B60FFDE00258450AF +:1010E00000F01F0340090BD1084A02EB8302D2F83B +:1010F0000012074B0B4043F00303C2F80032704765 +:101100000022803352F82330FFDE00BF00258450D8 +:10111000F0F8FCFF2DE9F84391F8303005460C4615 +:1011200090F804800F6853BB5023DFF85091781C6F +:1011300003FB0893DE6C46F00072DA6404D0384694 +:10114000FFF7C2FFFFF7CCFF6068411C01D0FFF73B +:10115000C7FE94F82C30012B11D1502303FB0893C8 +:10116000E06846F02066421CDE6401D0FFF7B8FE5E +:10117000A068431C03D0FFF7A7FFFFF7B1FF94F867 +:101180002F0038B950223D4B02FB0833DA6C42F095 +:101190008072DA6494F82CC094F82D1094F82EE044 +:1011A000A26A2B6841EA0C01E668D4E90198C3F809 +:1011B00024254EEA0102C3F86C2550B9BCF1010F99 +:1011C000C3F80C75C3F8149504BFC3F80885C3F8B9 +:1011D0001065D3F8682503F26458012A08BFDA6065 +:1011E000D3F86425012A13D1082149F64046244F3B +:1011F000C3F8001547F001075A60D8F800309BBBD0 +:101200002B68D3F88024C3F880240022C3F800257B +:1012100000212B6894F83220C3F81011D3F8100184 +:10122000C3F82011D3F82001C3F82411D3F8240106 +:10123000C3F84411D3F84401C3F85811D3F8581136 +:1012400043F307335201002BD2B212DB0D49C81809 +:1012500080F800230122580903F01F0302FA03F368 +:1012600041F82030BDE8F8834020B847013EC4D1A2 +:10127000C6E7054903F00F03CA54F3E758190020E5 +:10128000A034000000E100E014ED00E000F01F03D6 +:1012900040090BD1084A02EB8302D2F80012074B37 +:1012A0000B4043F00203C2F8003270470022803343 +:1012B00052F82330FFDE00BF00258450F0F8FCFF19 +:1012C0002DE9F3479046502290F80490514C02FBD0 +:1012D00009FA04EB0A070D4697F84810064600295C +:1012E00040F0858009EB890004EB001004F043FC1A +:1012F0002B69AA6944F80A306B69BB6302B1013AF1 +:10130000502303FB0943DA632A6A042A81BFEA698E +:101310009A610022DA6195F83130B8F1000F37D0C8 +:1013200083F001073F0233B1502303FB0943DA6C1A +:1013300042F00102DA64502303FB09440123C4F89C +:10134000048084F848303468D4F84C2112BB294614 +:101350003046FFF7DFFE0822002334688DF807309F +:10136000C4F800250DF10702C4F84425C4F8483537 +:1013700001230A25A360E360D4F85831002B38D14B +:10138000254B402043F001039847013DF4D128E06C +:101390004746C8E708224FF06409C4F80025636097 +:1013A0001D4B43F0010AD4F84431F3B9D4F8243189 +:1013B000DBB94FF42070D047B9F10109F3D14B46A6 +:1013C0000022C4F84C21D4F84C11C4F81021D4F8F0 +:1013D0001011C4F84421D4F84411C4F80025002B9E +:1013E000B5D10E4802B0BDE8F0870123E8E70C480C +:1013F000F8E70023C4F820319845D4F82021C4F838 +:101400000035084B08BF00231F4333680648C3F864 +:101410000473E7E758190020A03400000100AD0B69 +:101420000C00AD0B10020A000000AD0B2DE9F047D7 +:1014300084460F469E4616460579002A51D04FF045 +:10144000500ADFF8BC80D0F800900AFB058ADAF871 +:10145000044074B96BB9DAF82C50002D43D1CAF8A6 +:101460002C20FFF755FD0446CAF82C502046BDE855 +:10147000F0871EF0030F07D0734632463946BDE8A9 +:10148000F0476046FFF744BD07F06043B3F1005FEB +:101490004FF0500414D104FB058400F015FBE26A00 +:1014A0001AB1134C00F018FBE0E7C4E90A7605EB2B +:1014B0008505484608EB051100F0E3FD0D4CF1E70A +:1014C00004FB0584A36B83B100F0FEFAE36A002BF2 +:1014D000E7D1E36C012243F00203C4E90A76E36436 +:1014E000E5E7054CC2E7024CC0E7044CBEE700BF8D +:1014F0000B00AD0B0000AD0B0600AD0B0A00AD0BF1 +:10150000581900202DE9F84350230679284D046826 +:1015100003FB0653D4F80473DA6AC4F8087322B9DB +:101520002448C4F80473BDE8F88306EB860005F18F +:101530004C024FEA001802EB0012D2E8EFCF4CF059 +:10154000080CC2E8E0CF0028F7D10122E26031B3F5 +:10155000D96C01EA02094946204600F010FD002836 +:10156000FAD000F0B1FAB9F1000F1CD1D4F8203153 +:1015700053B10123E360D4F85831002BFBD020464F +:1015800005EB080100F072FD00F0A6FA0023C4F894 +:101590002031D4F82021502202FB0655EB62064888 +:1015A000C4F80473BFE7D4F85831002BE7D1EBE758 +:1015B000581900200500AD0B0000AD0B2DE9F843D4 +:1015C00090F80480484F08EB8806360106F14C0578 +:1015D00004683D44D5E8EF3F43F48052C5E8E02F6E +:1015E0000028F7D1DB047BD4480705D5502303FB43 +:1015F00008739B69002B75D03C4B3E44C4F80833FC +:101600000823C4F800350023C4F81031D4F81021A1 +:10161000C4F84C31D4F84C21C4F844310A03D4F84E +:1016200044318B0303F4804302F400524903134313 +:1016300001F400410B43D5E8EF2F1A43C5E8E12F31 +:101640000029F8D14FF0500909FB0879D9F8083082 +:10165000BBB9D9F8043063B9D5E8EF3F23F47F0371 +:1016600023F47043C5E8E23F002AF5D12048BDE8E5 +:10167000F8830321304600F08FFCD9F80830002BA6 +:10168000EAD0D4F80433590713D5502303FB087369 +:101690005A6872B1DB6C1A030BD5D5E8EF3F23F41F +:1016A0000023C5E8E23F002AF7D10621304600F0CA +:1016B00073FC502303FB0873DB6CDB0401D40D487F +:1016C000D5E7D4F84C310BB901232360502303FB39 +:1016D00008735B68002BF2D0044BC4F80433EEE7C8 +:1016E0000548C4E70548C2E75819002010020A005F +:1016F0000200AD0B0000AD0B0B00AD0B0800AD0BF5 +:101700002DE9F84F056801F06043D5F804A3B3F163 +:10171000005F90F804B089461746C5F808A37CD14D +:101720005023404E03FB0B639A6852B15B68002B59 +:101730005ED1D5F81021002A5AD0C5F81031D5F85D +:101740001031502404FB0B64E269C4E90297002ABB +:101750003CD00BEB8B0897424FEA081824D24FF08D +:10176000000B3A46A1694846C4E902BB04F0DEF921 +:10177000E269A069D21BC119E26104F0A1F96368B2 +:101780006BB1B04449463A46404600F016FCE36C63 +:10179000990404D55A4641462846FFF76FFB224874 +:1017A000C5F804A3BDE8F88F4846A16904F0BEF966 +:1017B000E36963620023E3611C4B9844D8E8EF3F80 +:1017C00043F40023C8E8E23F002AF7D1502303FB8B +:1017D0000B63586ADA689968DB6C121A0144C5F821 +:1017E0003415C5F83825DA04D9D501232B60D6E79E +:1017F000502303FB0B6633698BB9F36CC5F8349542 +:101800005B04C6E90497C5F83875C8D5D5F8003229 +:1018100043F02003C5F80032C1E70548C0E705489A +:10182000BEE700BF581900200000AD0BA41900202E +:101830000A00AD0B0B00AD0B50232DE9F0413C4DE0 +:1018400090F80480046803FB0853DB6CD4F80002B2 +:1018500003F48223B3F5805F68D1D4F80463C4F83D +:10186000086309B9830656D4D4F8003223F0200364 +:10187000C4F800324FF4842308EB8801090101F118 +:101880004C072F44D7E8EF0F1843C7E8EC0FBCF123 +:10189000000FF7D12AB9502303FB08535B68002BD4 +:1018A00041D1244BC4F8083301236360D4F8443198 +:1018B000002BFBD00023C4F84C31D4F84C21C4F8E1 +:1018C0001031D4F81021C4F84431D4F844315023F5 +:1018D00003FB0853DA6C12F400421FD1DA61204690 +:1018E00000F07FFB502303FB08550023AB602B6106 +:1018F000D7E8EF3F23F47F0323F47043C7E8E23FC8 +:10190000002AF5D126F4202626F404760A48C4F8E5 +:101910000463BDE8F0814FF48033ADE720462944ED +:1019200000F071FBDBE701236360EFE70348F0E7BA +:101930005819002010020A000000AD0B0500AD0B85 +:101940002DE9F8432F4A03680679C3F8082343F3C7 +:101950000733002B04460DDB01215A0903F01F0356 +:10196000994002F12003284A42F82310BFF34F8F19 +:10197000BFF36F8F012220461146FFF75DFF012163 +:101980002046FFF7BFFD50212279204D236801FB3F +:101990000252D46CD3F80C05E201D3F81495D3F8B5 +:1019A0000875D3F8108509D54FF0FF32C3F80C2520 +:1019B000C3F81425C3F80825C3F81025A30116D5CC +:1019C000411C01D0FFF762FCB9F1FF3F02D048464D +:1019D000FFF75CFC22010AD5B8F1FF3F02D0404678 +:1019E000FFF754FC7B1C02D03846FFF74FFC502316 +:1019F000002203FB0653DA6483F848205A60BDE8EE +:101A0000F88300BF10034A0000E100E058190020ED +:101A100010B5502402790B4B04FB02335B686BB9A1 +:101A20000368D3F810211AB9D3F80025082A07D083 +:101A300011B1D3F83C350B60034810BD0348FCE7F7 +:101A40000348FAE7581900200000AD0B0800AD0B61 +:101A50000B00AD0BF7B505461646FFF751FE164BCA +:101A60000446984222D1032128462F79FFF7A6FD8C +:101A7000124B984201D0A0421BD15022104B02FBC6 +:101A800007335B6893B90C4C284601A9FFF7C0FFE8 +:101A9000A042F9D1019BB34207D301222846114647 +:101AA00003B0BDE8F040FFF7C7BE064C204603B0C8 +:101AB000F0BD0446FAE700BF0000AD0B0B00AD0B14 +:101AC000581900200800AD0B72B6024A13680133A2 +:101AD00013607047A8190020034A1368013B136084 +:101AE00003B962B6704700BFA81900200722024B55 +:101AF000C3F80423704700BF00300050084BD3F8F0 +:101B00000801D3F80021003818BF012080000AB175 +:101B100040F00100D3F804310BB140F002007047EF +:101B2000003000500022074BC3F80021D3F8001109 +:101B3000C3F80421D3F80411C3F80821D3F80831FD +:101B4000704700BF0030005000231720094A03F5FA +:101B5000C0710133202B42F82100F8D10023172057 +:101B6000044A03F5E0710133202B42F82100F8D13B +:101B7000704700BF0030005010B59DF80840C00B02 +:101B800043EA0423064CC90B43EA0213884200D9F6 +:101B900010BDC2B202F5C07244F822300130F5E740 +:101BA0000030005010B59DF8084000F1604043EA55 +:101BB000042301F16041074C400B490B43EA021337 +:101BC000884200D910BDC2B202F5E07244F822305A +:101BD0000130F5E700300050C0F30E03C3F50043B9 +:101BE000B3FA83F3C3F11B03064AC0F3C730DBB279 +:101BF00040F4807043F48073C2F80005C2F80435E5 +:101C0000704700BF0030005043030148184470473C +:101C1000FF1FF81F054BC0F30730090241F03001E8 +:101C200000F5007043F82010704700BF00300050EE +:101C3000044BC0F30730090200F5007043F8201090 +:101C4000704700BF00300050003A18BF0122003931 +:101C500018BF012103688900074841EA420118635F +:101C600059605A6842F001025A60BFF34F8FBFF3C8 +:101C70006F8F0020704700BF04AAFF0008B5FFF770 +:101C80003DFF044B162118600348BDE8084000F0F2 +:101C90003AB900BFEC1F0020A63400000C22014915 +:101CA00003F044BFEC1F002010B501F006FB044612 +:101CB00090B901F097FF044680B90A4A2E21D368F3 +:101CC000094823F008031B041B0C43F0BF6343F4D3 +:101CD0000033D36000F017F9204610BD45F22354BD +:101CE000FAE700BF00ED00E0BC340000024B1860D2 +:101CF000024B002019607047FC1F0020F81F0020D5 +:101D00001FB5374C426923685A6282699A62C26978 +:101D1000DA62026A1A63426A5A63826A9A63C26A20 +:101D2000DA63026B1A64426B5A60826B9A60C26B10 +:101D3000DA60026C1A61426C5A61826C9A61C26C00 +:101D4000DA61026D1A62826D5A65C26D9A65026F20 +:101D5000DA65026E1A66826E5A66426F9A66EFF311 +:101D600088825A64EFF389829A644268DA64EFF3F6 +:101D700094821A65026801A81A67FFF78FFF23682B +:101D8000019ADA6601221A70164B1C686408640016 +:101D90002046214622462346B7EE000AF7EE000A07 +:101DA000B7EE001AF7EE001AB7EE002AF7EE002A97 +:101DB000B7EE003AF7EE003AB7EE004AF7EE004A07 +:101DC000B7EE005AF7EE005AB7EE006AF7EE006A77 +:101DD000B7EE007AF7EE007A03F081FF04B010BD91 +:101DE000FC1F0020F81F002000B5A1B001A8FEF7DD +:101DF000C9FD029B63B15B060AD4019B23F0020379 +:101E0000052B05D1044B1B6813B101A8FFF778FF20 +:101E100021B05DF804FB00BFF81F0020BFF34F8F17 +:101E20000549064BCA6802F4E0621343CB60BFF376 +:101E30004F8F00BFFDE700BF00ED00E00400FA0592 +:101E400038B543680C2B30D14B68042B2DD14FF0A3 +:101E5000FF3304680D6821682B6031B3A26822B398 +:101E60000623012001F081F9F8B96168104B99420D +:101E70000DD9A2680F485318834202D9F43883421F +:101E800010D8206803F052FE0020286038BD0A4BAD +:101E900099420AD9A26809488B188342F1D90730C0 +:101EA000814202D906488342EBD90220EEE700BF07 +:101EB000FF01FF002C02FF002F01FF003801FF008F +:101EC0004C01FF004FF47F03D3F83001D3F83431D5 +:101ED000BFF34F8FC0F30B00A0F1090358425841E4 +:101EE00070474FF47F02D2F83031D2F83401BFF39B +:101EF0004F8FC3F30B03092B03D1431E58425841A4 +:101F0000704700207047FEF7CDBD012070476FF08D +:101F100003007047002382B00193019802B070471C +:101F20006FF003007047002382B00193019802B064 +:101F30007047022814BF6FF0030000207047FEF7BF +:101F40002DBE30B501EB8202914200D130BD51F877 +:101F5000044B04F07F037F2B4FEA144408BF4FF07B +:101F6000FF33032CF0D8DFE804F002040608036016 +:101F7000EAE74360E8E78360E6E7C360E4E7034637 +:101F8000D0F8580130B931B9D3F82001003818BF62 +:101F9000012070470120704730B504460D4685B0DA +:101FA00010220021684603F0E6FDD4E900136846DC +:101FB0008DF80050984705B030BD7FB504460E46F9 +:101FC000154600211022684603F0D5FD012368461E +:101FD0008DF80030CDE90165D4E90013984704B0CD +:101FE00070BD10B50446FFF76FFDD4F8583133B11A +:101FF000D4F8043313F4800308BFC4F80035BDE8F7 +:102000001040FFF769BD70B50D4604460522AA21B0 +:10201000D0F83C65A86903F0AEFD0522AB69C4F8B1 +:102020003435C4F838250022C4F81021D4F8101132 +:102030000121E162D4F810110029FBD0C4F84C2131 +:10204000D4F84C11C4F81021D4F81021D4F83C2550 +:102050009642EA6109D15A1E043312F8011FAA29D7 +:1020600003D19A42F9D10023EB6170BDD0F8583109 +:1020700033B1CB6CC3F30032DB0458BFC0F800258A +:10208000704770B5CE6C0D4606F001010446FFF7AF +:1020900076FF38B94FF4800346F00406EE64C4F8C6 +:1020A000043370BDD5E90A365AB1296CEA6B761A49 +:1020B000964228BF164619443246A86B03F036FDF7 +:1020C000AB6B4FF0FF326A641BB1C4F84435C4F8FF +:1020D00048650023C4F82031D4F82021C4F85831D1 +:1020E000D4F85821C4F85031D4F850310823C4F83A +:1020F00000354FF48003C4F804330123A360D0E714 +:10210000C0037047C00300F5FF407F3070470020D8 +:1021100070471F2070474FF40040704700F57F4024 +:10212000C03040037047402070475F2070474FF435 +:10213000005070474B6830B513F01F052DD1026871 +:102140000C681068C0F30720844226D2506855609E +:1021500094600C7C23F01F0304F001041C438B7C6F +:10216000DB0003F018031C434B7C5B0003F0060309 +:102170002343D3608B68013B23F01F04CB685B00D3 +:1021800003F00E03234343F0010313615060BFF3D8 +:102190004F8FBFF36F8F284630BD0120FCE70368E7 +:1021A00000205A68C9B258609960D86018615A60B6 +:1021B000704770B50546002403681E68C6F30726FD +:1021C000B44201D1002070BD21462846FFF7E7FF49 +:1021D0000134F5E70020704708B5FFF705FE72B639 +:1021E00020BFFDE7002070470020704770470B4676 +:1021F00070B5114618B1032806D0032070BD1846EB +:10220000BDE87040FFF71CBE5A68082A01D00220C2 +:10221000F4E74C68042CFAD11D684FF0FF330E68C8 +:10222000296833600029F2D06B68002BEFD0262399 +:102230007422012000F099FF0028E8D122462323D0 +:102240000120696800F091FF04460028DFD1D5E93C +:102250000001FFF74BFD30602046CFE730B50C465C +:10226000154685B038B139B1FFF74DFE041E03DACB +:10227000204605B030BD044640F60D23ADF80E30C3 +:1022800009230B4901A805F00F028A5C2D091A5495 +:10229000013B012BF7D147F630030C21ADF8043098 +:1022A000FFF731FE0028B4BF04462418E0E700BF62 +:1022B000EA34000008B5194B83F30A88184800F087 +:1022C000E7FF40BBFFF7F0FC28BBFFF783FF10BB25 +:1022D000FFF788FFD8B9FFF789FF00F067FA3521CB +:1022E0001048FFF710FE17210F48FFF70CFE1821CA +:1022F0000E48FFF708FE00F03FFC21210C48FFF7D5 +:1023000002FE00F03FFA00F0CDFE002008BDFFF70E +:102310006BFF0028DFD000F021FEEEE70004002074 +:10232000AC190020FA3400002F35000046350000BB +:102330005E3500002DE9F04F93B00093574B814676 +:10234000D3F800B00BB2002B0D461646C1F302685D +:10235000C1F3024A04DA6FF0800013B0BDE8F08FD9 +:102360008B42C36001D10020F7E708EB0A03042B7E +:10237000F1D8CC0F64014FEAC80731463A46DBF882 +:10238000080044F0020300F0F0FE01460028E2D10C +:10239000202202A803F0EFFB3A46314602A84FEA9A +:1023A000CA0603F0C3FB32460099DBF8080044F08C +:1023B000060300F0DAFE07460028CCD101462022B1 +:1023C0000AA803F0D8FB324600990AA802AE03F02F +:1023D000ADFB33460137B84514D91A46BC460DE06B +:1023E000D2F808E0D16818687144884203D259686D +:1023F00008448645AFD30CF1010C0832C445EFD137 +:102400000833E7E715F0006F18BF202409F118071B +:1024100007EB880844F00203474513D1202C26D14E +:10242000002D02DBC5F3C0456C0109F128050AAE99 +:1024300005EB8A0A44F0060455451AD1009BC9F8F9 +:102440007C3090E77268DBF8080056F8081B0193AF +:1024500000F08BFE00287FF47EAF56F8042C019B21 +:1024600047F8042F56F8082C38633A62D4E7002462 +:10247000DBE77268234656F8081BDBF8080000F01B +:1024800074FE00287FF467AF56F8043C45F8043F1B +:1024900056F8083C28642B63CEE700BFB019002033 +:1024A0002DE9F0411F461A4B0D461646D3F8008021 +:1024B00000F051FF044608B900F050FDE368002B1E +:1024C00001DA00F04BFD032D01D900F047FD04EBCC +:1024D0008504E569E36CED1A16D006233A463146C9 +:1024E000D8F8080000F041FE08B100F037FDBD4209 +:1024F00028BF3D46E36CE16B2A461944304603F0A1 +:1025000015FBE36C2B44E3642846BDE8F08100BF73 +:10251000B01900202DE9F0411D461A4B0F46164612 +:10252000D3F8008000F017FF044608B900F016FD4C +:10253000E368002B01DA00F011FD032F01D900F050 +:102540000DFD04EB8704E36AE26E9B1AAB4201D2F5 +:1025500000F004FD02232A463146D8F8080000F0B6 +:1025600004FE08B100F0FAFCE36EE06D2A46314645 +:10257000184403F0DBFAE36E00202B44E366BDE869 +:10258000F08100BFB01900202DE9F04105464FF061 +:1025900001080E4E0E4B37685C681CB92846376040 +:1025A000BDE8F0812268936813F400700CD1A36930 +:1025B000012B09D0D368346023B19847002801DA91 +:1025C00000F0CCFCC4F81880246AE6E7B0190020BB +:1025D000B419002038B5044610B96FF0800038BD3A +:1025E0008368002BF9D01A68002AF6D05D68002DA8 +:1025F000F3D00B4BE861A8691D6020B92B68DB683C +:1026000053B90123AB61A36804F10C001B681B697B +:10261000984701232360E2E798470028F1DADCE7D6 +:10262000B01900204268024B08461A60704700BF8C +:10263000B0190020002330B505680446AA68C0E937 +:10264000063312F4406F85B01CD012F4006202D041 +:1026500000F0C2F90246A96A2B6968460B440731AB +:1026600023F0070321F00701CDE9021300930023B3 +:1026700005490193EB6800F09FFA684600F04EFEB2 +:10268000024B1C6005B030BD89250000B019002048 +:1026900001F00C0370B50C2B0CBF154605464A061D +:1026A0000C461ED58B0658BF2835AB6913F8026C53 +:1026B00084F00803C3F3C003C6F38012934201D031 +:1026C00000F04CFC16F0A00F1ED176B1032E17D0EF +:1026D00032461C210E48FFF7C1FD6FF083032B60CB +:1026E0000CE000F03BFC2026E2E700F03BFB044658 +:1026F000FEF70EFA2146074800F00AFE204670BD9C +:10270000284600F03FFAF9E732461F210248E2E787 +:102710007F350000F80B00209B350000EFF30880A8 +:102720007146EFF30982EFF30B830CB406B4FFF7A5 +:10273000AFFF8646009900F0080001F00801401A3A +:1027400002DC12DB04B070471EF020031CBF2DE931 +:10275000F00FBDF1080D0A4C254626462746A04637 +:10276000A146A246A34630B4704704B030BC1EF068 +:1027700020031CBF1DF1080DBDE8F00F04B0704729 +:10278000A5EDF5FE084BDA6882F07F4282F47F0205 +:1027900042F48042DA6000221A765A76DA76DA77E4 +:1027A000602283F82220704700ED00E0114BD3F83F +:1027B000882042F47002C3F88820BFF34F8FBFF324 +:1027C0006F8FD3F88C2042F44062C3F88C20D3F88A +:1027D000342242F08042C3F83422D3F8342242F04B +:1027E0003C42C3F834224FF0E022D36843F4200384 +:1027F000D360704700ED00E0009A164B9A4227D153 +:1028000001229043014641EC100B41EC110B41ECCD +:10281000120B41EC130B41EC140B41EC150B41EC8A +:10282000160B41EC170BEFF3148222F0040282F333 +:102830001488BFF36F8F02460346044605460646DA +:10284000074680468146824683468446864604473C +:10285000FEE70000A5EDF5FE2DE9F041044618B9AC +:1028600043F6DA30BDE8F0810029F9D0836800250D +:1028700013F4406F14BF01230023134F43F00203EE +:10288000DFF848800B6000F13006236AAB4201D8C4 +:102890000020E7E71421A369E26906EB830301FB4B +:1028A00002330C226A4399188968090709D59B5895 +:1028B000BB4201D04345D3D1186810B10121FFF7C5 +:1028C000A9F90135E1E700BFB4100020AC100020E9 +:1028D00070B5324C86B03248FFF76BFC2368012597 +:1028E0005A1C01932F4B2260DA681B694FF4407623 +:1028F000039300232A4801A902920495ADF81460BD +:102900008DF81630FFF716FC18B143F6DA3006B032 +:1029100070BD23688DF816005A1C0193224B204885 +:102920000293224B01A9CDE903352260ADF8146072 +:10293000FFF700FC0028E8D123688DF816005A1C28 +:1029400001931B4B164802931A4B01A9CDE903359D +:102950002260ADF81460FFF7EDFB0028D5D12368A5 +:102960008DF816005A1C0193134B0D480293134B1C +:1029700001A903930223049340F201132260ADF8EE +:102980001430FFF7D7FB04460028BED12A4629465B +:102990000348FFF759F92046B9E700BFBC190020EA +:1029A000A81000202C36000060360000005F0000F8 +:1029B0002006000020060000000C0020200C002053 +:1029C000014B1868704700BF2C360000014B1B6894 +:1029D000186870472C360000014B1B685868704718 +:1029E0002C36000008B5FFF749F9FFF79BF80A4BB2 +:1029F0005A68103AD3B2120609D401215A0903F0D9 +:102A00001F03994002F16003044A42F82310BDE815 +:102A1000084000F0A3BA00BF00ED00E000E100E0D4 +:102A20000020034BD8765A6A42F470225A627047EB +:102A300000ED00E00349044BCA68002092B2134342 +:102A4000CB60704700ED00E00800FA0500224FF06F +:102A5000FF300D4B02F1A0010132102A43F8210092 +:102A6000F8D1D3F88022002022F00802C3F8802297 +:102A7000D3F88022D3F8802222F40072C3F8802297 +:102A8000D3F88032704700BF00E100E008B5FFF7DF +:102A90002DF80822024BC3F880211A60002008BDDF +:102AA00000E100E0064BD3F8D02022F00102C3F889 +:102AB000D020D3F8D02042F00202C3F8D0207047D3 +:102AC00000ED00E037B50124FFF73EF8134D224634 +:102AD000052347F6FF7100200094FFF74DF82246CA +:102AE00007234FF000500E490094FFF75BF8D5E93B +:102AF0000101072300220094FFF73EF8072300227C +:102B0000084909480094FFF74DF82969E868013938 +:102B1000FFF762F8002003B030BD00BF2C36000084 +:102B2000FF7F0020FFFF03200080002038B5002435 +:102B30000E4D002155F8040B0134FFF779F81C2CD9 +:102B4000F7D10020012240F20111094BC3F88004A3 +:102B5000C3F88424C3F8C004C3F8C424054AC2F8E7 +:102B600040154FF48072C3F8402438BDBC350000D6 +:102B700000300050009003500122014B1A60704752 +:102B8000C019002010B50446094B228918686168F5 +:102B90000623806800F0E9FA28B9064B1B68012B70 +:102BA00001D100F087F86FF08603236010BD00BFED +:102BB000B0190020C01900202DE9F84305461E4633 +:102BC0000068134B9046AA68A0F1080440E902335C +:102BD000503890420F4601D200F0C0F9A4F14809E4 +:102BE00048220021484602F0C6FF002344E907338B +:102BF00044F8143C4FF0807344F8043C6FF0020337 +:102C000044E9036744F8208CC5E90093BDE8F883E4 +:102C1000A5EDF5FE30B5094C024661680023084673 +:102C200040B105686D68954205D11BB1826860604E +:102C30009A60816030BD03468068F1E7441A002045 +:102C400038B504462AB10B689B68DB0512D5002015 +:102C500038BD0B4B1D680DB900F080F900222B68C0 +:102C600099692C338A4203D053F8040FA04204D14F +:102C70009142ECD16FF0FC00EAE70132F2E700BFCD +:102C8000B019002070B504460E46154600213022CA +:102C90000C3002F070FF064B20461B68A660636094 +:102CA000656100F001FA00232061236070BD00BF60 +:102CB000B0190020044B1B681BB11B680BB158688E +:102CC00070474FF0FF307047B0190020064B10B529 +:102CD0001C680CB900F042F923689B6813F4406F3C +:102CE00014BF0120002010BDB01900202DE9F843C9 +:102CF000904607460C46FFF7E9FF024624B96FF0FD +:102D000080042046BDE8F8836300F8D5144B04F036 +:102D10001F0153F82150002DF1D02B682946586827 +:102D2000FFF78EFFB0B9C4F30721284600F001FB7E +:102D300004460028E3D1EFF3108972B600F0C1F920 +:102D4000064689F3108840B142462946FFF79AFFAC +:102D50003E60D6E76FF08104D3E76FF08204D0E7DE +:102D6000C41900202DE9F04100F0AAF90023134E08 +:102D7000134F73607B6000F0E5F8DFF84880304661 +:102D800000F022F80446A8B139468023424600F0FC +:102D90007FF80546204600F011FB206804F1080189 +:102DA000FFF75AFD08B100F0D9F829462046FFF791 +:102DB00041FCE4E7BDE8F04100F071B9B41900202E +:102DC000441A0020C4190020F8B5054608B900F0DF +:102DD000C5F82A4E346814F1290F4CD8284B1968CD +:102DE00004F128038B4246D2236AA26903EB430312 +:102DF0000C321344606AE269024402EB820213441B +:102E00009B00E31801D2994201D200F0A7F8236891 +:102E10001C4A1B0C1B04934201D000F09FF823882E +:102E2000B3F5817F01D300F099F86368002B01DAD4 +:102E300000F094F8144A176807F124031360134A4A +:102E40001268934201D900F089F8236AA26903EB62 +:102E500043030C32616A1344E2693C600A4402EBAA +:102E600082021344326802EB83026B6832603B6279 +:102E70006F603846F8BD0027FBE700BFC410002094 +:102E80004836000000005F5FC0100020443600009C +:102E90002DE9F74F0F4690460646009300B109B959 +:102EA00000F05CF8D6F800A0DAF818200AF1300338 +:102EB00003EB820BDAF81C40204B1D6854B10C2246 +:102EC00002FB04541C601E4B1B689C4201D900F09D +:102ED00045F82C4625464FF00009DAF81C204A45F3 +:102EE00000D91CB9002003B0BDE8F08F142303FB08 +:102EF00009B20023C5E900269268AB60930516D598 +:102F0000B8F1000F02D0009B802B03D0019200F09B +:102F100025F8019A12F0E00FD0B202D158F8202023 +:102F20001AB1019000F01AF8019848F820507A6818 +:102F300009F10109AA607D600C35CEE7BC100020C4 +:102F40004036000008B5FFF73BFD034B9860FFF7E4 +:102F50003DFD80F3888808BD00ED02E0FFF73CB935 +:102F60008230012808B506D8FFF7B0FE18B9BDE8D1 +:102F70000840FFF7F3BF08BDF8B506460D4600F060 +:102F8000EAF9044608B9FFF7E9FFA7680FB9FFF7A8 +:102F9000E5FFE368991C20D05A1C21D1A5B315F197 +:102FA000820F13D102232360EFF3108672B62946F5 +:102FB0002046FFF737FB054686F310882368022B6F +:102FC00024D1204600F086F82846F8BD15F1830F7D +:102FD000EAD0FFF7C3FF0025E6E702232360FAE704 +:102FE000002BF6DB204600F0DAF93B689B689B0576 +:102FF00001D50223236015F1810FD5D16369002B20 +:10300000D2DBFFF7ABFFCFE73546F4E700232360C1 +:10301000DAE708B5FFF7E0F86FF0830008BD2DE9A7 +:10302000F3410E46174698460546FFF74FFE00F05F +:10303000A6F92946024601A8FFF758FE044660B9E2 +:1030400043463A4631460198FFF774F9044640B1C9 +:103050006B0002D5019800F03DF8204602B0BDE8B3 +:10306000F0810198FFF7B6FA0446F6E740F2011046 +:10307000704770B50546FFF729FE06462846FFF75C +:10308000C9FD044608B9002070BD014632462846F5 +:10309000FFF7D6FD0028F6D12368D868F4E76FF073 +:1030A0000200704700DF70474FF480507047B0F562 +:1030B000805F03D1EFF30B808038704700207047AA +:1030C0007047EFF30B8000F1800383F30B887047A8 +:1030D00000207047EFF30B83803B83F30B8870472E +:1030E00080EA0000E1EE100A00EE100A00EE900AFD +:1030F00001EE100A01EE900A02EE100A02EE900AAA +:1031000003EE100A03EE900A04EE100A04EE900A91 +:1031100005EE100A05EE900A06EE100A06EE900A79 +:1031200007EE100A07EE900A08EE100A08EE900A61 +:1031300009EE100A09EE900A0AEE100A0AEE900A49 +:103140000BEE100A0BEE900A0CEE100A0CEE900A31 +:103150000DEE100A0DEE900A0EEE100A0EEE900A19 +:103160000FEE100A0FEE900A70472DE9F0410E465F +:103170001546002A4AD0C4074BD480F00204C4F399 +:103180004004A40003F00602062A4AD144F00104D8 +:1031900022462946304602F077FBB8BB46E800F2EB +:1031A00005EB0608100E120208F1FF3747E800F39E +:1031B0004FEA136166D51B0264D5884262D046E8A7 +:1031C00000F547E800F7FEF7A2FF2D0E85424FEA13 +:1031D000176734D3FEF79DFF874230D82846FEF7A5 +:1031E00091FF2246C6F101010144304602F04CFB3A +:1031F000002847D00135AF4218D83846FEF780FF87 +:103200002246A8EB000102F03FFBD8B30020BDE846 +:10321000F081EFF39484A40004F0040444F0120459 +:10322000B0E7990731D544F00804B1E72846FEF726 +:1032300067FF0646FEF76FFF22460146D5E7FEF719 +:1032400072FF85421ED3FEF770FF87421AD82846C8 +:10325000FEF7DAFC2246C6F101010144304602F0D5 +:1032600013FB78B10135AF4203D83846FEF756FF5D +:10327000C6E72846FEF752FF0646FEF758FF2246ED +:103280000146EBE76FF07F00C1E74CF2DA20BEE7C2 +:1032900010B50446FFF706FCFFF714FC10B143F627 +:1032A000DA3010BDFFF742FC0028F8D1FFF710FB21 +:1032B0000028F4D102232360F3E708B5FFF7B0FB41 +:1032C00010B143F6DA3008BDFFF7B4FB0028F8D19F +:1032D00000F01CF80028F4D162B6FDF703FCFFF7FC +:1032E000B5FB0028EDD1FFF7D1FB0028EBD0E8E7D4 +:1032F000EFF30880EFF309812DE9F00F6B4672467A +:10330000FDF746FB08B0FFF76DFBFEE700207047B6 +:1033100004460D46FFF7E4FEA54628470368283318 +:1033200083F30988836883F30B88BFF36F8F40684A +:10333000704703689A68DB6812F4806F05D18B428E +:103340002CBF00206FF0FA0070478B420CBF0020AA +:103350006FF0FA00704710B5FFF7A9FE0446FFF7BB +:10336000B7FE50B9FFF7A6FCA3685B681B685B68F3 +:10337000834218BF0024204610BD0024FBE738B567 +:10338000054648B100F01BF8B5EBD07F044601D0EC +:10339000FFF7E4FD204638BDFFF78CFCF4E700237F +:1033A00010B500F1280252F8041F19B1C16F146C56 +:1033B00019444C600833202BF5D110BD70474FF0F5 +:1033C000FF307047000001464154414C20455252A5 +:1033D0004F523A2000486172644661756C740D0A60 +:1033E000004D656D4D616E616765206661756C7439 +:1033F0000D0A004275734661756C740D0A005573B1 +:103400006167654661756C740D0A0053656375727A +:10341000654661756C740D0A005265736572766558 +:103420006420457863657074696F6E2000506C612C +:1034300074666F726D2065787465726E616C206958 +:103440006E7465727275707420284952516E293AF3 +:1034500020000000290B00000B1F0000D90D000008 +:103460008D0D0000331F00003F1F0000610B0000A6 +:103470000F1F0000490B0000550B0000150C000049 +:10348000151F0000211F0000271F00001D00000065 +:10349000100004001C0002001100060003020202DA +:1034A0000338FDD87047506C6174666F726D2045AB +:1034B0007863657074696F6E3A0D0A00416C6C2018 +:1034C00070696E732068617665206265656E206341 +:1034D0006F6E66696775726564206173206E6F6ECA +:1034E0002D7365637572650D0A00303132333435E2 +:1034F000363738394142434445461B5B313B333410 +:103500006D5B536563205468726561645D2053652B +:103510006375726520696D61676520696E6974699C +:10352000616C697A696E67211B5B306D0D0A00540E +:10353000462D4D20466C6F6174204142493A204827 +:103540006172640D0A004C617A7920737461636B57 +:10355000696E6720656E61626C65640D0A001B5BB5 +:10356000313B33346D426F6F74696E672054462D62 +:103570004D2076322E302E301B5B306D0D0A0055FB +:103580006E6B6E6F776E2053504D205356432072F2 +:1035900065717565737465643A2000556E6B6E6F66 +:1035A000776E20535643206E756D6265722072658A +:1035B000717565737465643A200000000040005026 +:1035C000005000500080005000A0005000B000509B +:1035D00000E0005000F000500000015000100150C9 +:1035E0000040015000500150007001500080015017 +:1035F00000B0015000C0015000D0015000E0015067 +:1036000000F0015000000250001002500020025053 +:103610000030025000400250006002500080025012 +:1036200000A002500090035000258450008000004C +:1036300000800000FFFF0F00007C00000080000001 +:0C3640002C1200201412002000020000D8 +:10366000009A204B9A4208D110B502F0A7FA02F056 +:10367000A9F906BC96460C46744702F0E3FA009A94 +:10368000184B9A4208D110B502F0A4FA02F09AF948 +:1036900006BC96460C46744702F0D4FA0CB4029A63 +:1036A000104B9A420CD14FF0004319430CBC10B59B +:1036B00000F09EF802F086F906BC96460C46744768 +:1036C00002F0C0FA009A074B9A4202D106490868F4 +:1036D000744702F0B7FA009A024B9A4200D174473D +:1036E00002F0B0FAA5EDF5FE801000200348044B6F +:1036F000834202D0034B03B118477047A811002042 +:10370000A8110020000000000548064B1B1AD90F25 +:1037100001EBA301491002D0034B03B118477047D6 +:10372000A8110020A81100200000000010B5064CD0 +:10373000237843B9FFF7DAFF044B13B10448AFF322 +:1037400000800123237010BDC0180020000000007D +:10375000EC5E000008B5044B1BB104490448AFF30C +:103760000080BDE80840CFE700000000C41800203A +:10377000EC5E0000A3F5803A704700BF174B002BAA +:1037800008BF134B9D46FFF7F5FF00218B460F4600 +:103790001348144A121A02F0EEF90E4B002B00D017 +:1037A00098470D4B002B00D09847002000210400C3 +:1037B0000D000D48002802D00C48AFF3008002F045 +:1037C000DBF820002900FEF775FD02F0C1F800BF0C +:1037D000000008000000000000000000F80B0020BE +:1037E000A8110020B8280020000000000000000000 +:1037F0002DE9F84304460D4616461F46EFF30583B0 +:10380000C3F308030BB1FFF7A9FBDFF834903B4685 +:10381000204632462946D9F80080FFF700FCD9F847 +:1038200000300446984506D0DB6901461869BDE8BA +:10383000F843FFF7A1BBFFF793FB2046BDE8F883F1 +:10384000B019002001680E4A0346914215D1C169A2 +:10385000A2F11022A2F1EF1291420ED18268012A48 +:103860000BD8C26812B101698A4206D0586928B1E2 +:103870009B691B1A5842584170470120704700BF8E +:1038800055AA00FF0D4B70B59E68A6B13046FFF7F4 +:10389000D9FF044678B9F3686BB935690DB920468C +:1038A00070BD2846FFF7CEFF28B9EB68B34202D1BE +:1038B0002E462D69F2E70124F1E700BF4C1A0020E3 +:1038C0002DE9F041394E3468F368D4B1B468C4B11D +:1038D000002861D000295FD001FB00F5B5FBF0F0B6 +:1038E000884259D1291D57D8AA070DD025F00302C7 +:1038F00004321C4603E0616891424FD2A469002C57 +:10390000F9D12046BDE8F0812A46F2E7891A232939 +:1039100004F12007D4E9050C1AD80123A360A0B153 +:10392000C0F818C0A36903B158610023C4E9053386 +:103930003369DB0702D5FFF7A5FFA0BB2A460021AC +:1039400038463C4602F017F9DBE7C6F80CC0E9E759 +:1039500002F1200804EB08032039C3E9011E2169A4 +:10396000DFF84CE0DC60196144F808E0AEF1102E9D +:10397000AEF1EF1EC3F81CE001B1CB60C3E9050C4A +:1039800040B18361996901B14B6101212361C4E9AF +:103990000121CAE7F360F5E70024B2E7D4F808E0B4 +:1039A000BEF1000FB2D0012001F0D2FF4C1A00206E +:1039B00055AA00FFF8B5054600283AD0364E3368C0 +:1039C000002B36D0B268002A33D0834203D8726805 +:1039D0001344984202D3012001F0BAFFA0F1200461 +:1039E0002046FFF72FFF0028F5D155F8183C012B92 +:1039F000F1D145F8180C55E90570DFB1BB68CBB9BA +:103A000055F81C2C7B68203213447B60386100B170 +:103A1000C76020220021204602F0ADF8386908B1C5 +:103A200083682BB333699B0703D5FFF72BFF00286F +:103A3000D1D1F8BD40B3836833BB42686368134497 +:103A4000203363600369D4E90521236192B9B9B9D0 +:103A5000426981696261A161A2B19461A26902B106 +:103A6000546103B1DC602022002102F084F8D9E720 +:103A70003C46E2E79161A1690029E9D04A61E7E7A4 +:103A8000F160F8E7F460E9E7F36845F8083C03B152 +:103A90005C61F460C6E700BF4C1A002038B50D46E3 +:103AA000142200210446124802F065F81149124818 +:103AB00000F02CF8232D1AD914F003031FBF043D86 +:103AC000ED18C3F10403E4182A460021204602F051 +:103AD00052F8074B094AC3E900459C602260A2F1F5 +:103AE0001022203DA2F1EF126560E261DC6038BD7A +:103AF0004C1A0020B5390000C138000055AA00FF5B +:103B0000014B1B68184700BFC8100020024B18600B +:103B1000024B002019607047CC100020C810002014 +:103B200010B50A46044619B1024B00211B6898479C +:103B300010BD00BFD0100020054B0A46197819B1FE +:103B40000146181D02F0B8B86FF08800704700BF3A +:103B5000601A002010B5074C00F032F8204602F041 +:103B6000BCF8201F0821FFF7DBFFBDE8104002F082 +:103B7000A0B800BF641A002070B50C4D2B787BB93B +:103B800002F095F8044670B90126281D6E7002F007 +:103B900091F8044638B900F00BF8044618B92E70B5 +:103BA0000024204670BDFFF7D5FFFAE7601A002019 +:103BB0000122024B002083F880257047681A0020FC +:103BC000F8B5074C2025264601272046276202F03B +:103BD0005DF8013D04F12C04F7D186F88055F8BD5D +:103BE000681A002010B50C4C236813B10B4B1B68EE +:103BF0002BB900F089FC30B90122084B1A6001236F +:103C00002360002010BD0138062801D9044810BDEA +:103C1000044B53F8200010BD042000200020002099 +:103C2000FE8FFFFF545D0000144B2DE9F043002888 +:103C300014BF04461C46124F236883B0BB4219D000 +:103C400016460D4620464FF4147104F1040900F0A5 +:103C500047F804F58E78484600F0CEF8404600F06C +:103C600019FA2B464A4640460649009600F034FBB6 +:103C700008B92760002003B0BDE8F08308200020C9 +:103C8000A5BCC95A7D3E000070B50D4C1D460028EC +:103C900014BF064626460B4B306882B098420DD1C1 +:103CA00006F58E70002633460096144600F03EFB63 +:103CB000002818BF34462C6002B070BD0248FBE7F4 +:103CC00008200020A5BCC95AE88FFFFF38B131B1E8 +:103CD000002201440346013081421A70FAD1704734 +:103CE00038B131B1002201440346013088421A70D4 +:103CF000FAD170472DE9F043202B1D460646884631 +:103D000091468BB026D8DBB202AF8DF80480B04666 +:103D100058F8041B8DF8053021B9404601F038F9F8 +:103D2000044640B9012302224046336001A901F054 +:103D300043F9044638B138462021FFF7D1FF204629 +:103D40000BB0BDE8F0832A464946404601F034F9FD +:103D50000446F0E702AF1946104600233A4601F048 +:103D6000B1FA04460028E6D12023B9461D46CCE727 +:103D70002DE9F041D0F8F830A6B0002BD8BF02AE44 +:103D800031DD05460027D0F80C4102AEA4F1010850 +:103D90009022D5F8FC403146D0F8000101AB0197E4 +:103DA000B8FA88F8A0474FEA5818044620B9019B92 +:103DB00053B9B8F1000F16D030469021FFF790FFAD +:103DC000204626B0BDE8F081014632462846FFF77E +:103DD00091FF58B9D5F80431019A1344C5F804315C +:103DE000B8F1000FE8D16FF03C04E5E70446204647 +:103DF00026B0BDE8F08100BF70B50025044614224E +:103E000004F588762946C0F8F850FC3001F0B3FE7E +:103E100008222946304601F0AEFE144B30461B689E +:103E20009847204640F8045B01F098F8104B304664 +:103E30001B689847C8B9D4F8F830AB420FDC03EBE5 +:103E4000830204EB82022021C2F800010120C2E9B2 +:103E5000421008490133C2F8FC10C4F8F830064B90 +:103E60003046BDE870401B68184770BDF010002058 +:103E7000EC100020614E0000E81000202DE9F04712 +:103E8000202A88B07AD83F4B00F5887904461B6811 +:103E900048461746884698470546F8B940F2011645 +:103EA000D4F8F830002B65D02046FFF761FF0546B7 +:103EB00038B9D4F8F830002B14DC013EF2D16FF0A1 +:103EC0003B056E4620213046FFF70AFF2E4B484641 +:103ED0001B689847002818BF6FF01D05284608B0DA +:103EE000BDE8F087D4E94132934203D3D4F80C21E2 +:103EF000012A02D0013ED7D1E1E71F2BFAD96E4645 +:103F000001462022304604F1040A01F034FE314615 +:103F1000504601F07BF805460028D3D1504601F009 +:103F200031F8504601F01AF82946504601F030F8B1 +:103F300005460028C6D150462022314601F03CF803 +:103F400005460028BED1034632462021304601F006 +:103F5000B9F905460028B5D1D4F8F8303A46002B17 +:103F6000C8BF002340463146C8BFC4F8043101F041 +:103F7000DDFDA7E76FF03F056E46A3E76FF03B0559 +:103F8000ACE700BFEC100020E810002070B590B046 +:103F900000287AD03E4C0D46402236210646204667 +:103FA00001F0E9FD40225C21A01801F0E4FD2B1D89 +:103FB000A34203D904F144039D4252D32B682268E3 +:103FC000534023602B68226C534023646B68626803 +:103FD000534063606B68626C53406364AB68A26873 +:103FE0005340A360AB68A26C5340A364EB68E268E3 +:103FF0005340E360EB68E26C5340E3642B69226951 +:1040000053402361226D2B695340236562696B69BC +:10401000534063616B69626D53406365AB69A2692C +:104020005340A361AB69A26D5340A365EB69E2699C +:104030005340E361EB69E26D5340E3650021304694 +:1040400000F0A6FF044628B940223046104900F08F +:10405000B3FF044640216846FFF742FE204610B0F9 +:1040600070BD631E04F13F01013D1F3415F8010FBF +:1040700013F8012F42401A7011F8012F2878A3423B +:1040800082EA00020A70F1D1D8E76FF07304E5E725 +:104090005822002010B54FF49A720021044601F016 +:1040A0006AFD42F21072044BC4F8202104F59670A8 +:1040B0001B68BDE810401847F01000202DE9F04FB4 +:1040C00004468846914695B0002900F0A780002A52 +:1040D0000CBF0126022600238DF80C30002C00F0C6 +:1040E0009F80DFF844A104AF0AF1400B0021204675 +:1040F00000F04EFF034648B1384620210193FFF7F8 +:10410000EFFD019B184615B0BDE8F08F40225146E7 +:10411000204600F051FF03460028EDD104F1F405DC +:1041200020222946204600F047FF03460028E3D11D +:104130000122204603A900F03FFF03460028DBD1FF +:10414000022E62D020460CA900F060FF0346002832 +:10415000D2D10146204600F01BFF03460028CBD1F8 +:1041600040225946204600F027FF03460028C3D1CD +:10417000202220460CA900F01FFF03460028BBD1D7 +:104180003946204600F042FF03460028B4D13946A4 +:104190002046FFF7FBFE03460028ADD1202229462A +:1041A000204600F009FF03460028A5D120460CA9AF +:1041B00000F02CFF034600289ED10146204600F067 +:1041C000E7FE0346002897D140225946204600F0DA +:1041D000F3FE034600288FD1202220460CA900F0D0 +:1041E000EBFE0346002887D12946204600F00EFF4B +:1041F0000346002880D19DF80C200132D2B2B24291 +:104200008DF80C20FFF472AF76E74A46414620460F +:1042100000F0D2FE0346002894D06DE701265AE74D +:104220006FF0730304AF67E7582200202DE9F041D7 +:104230000446884615461F46D0F81801E0B013B171 +:1042400000EB40004008B5F5807F3ED82844B0F52B +:10425000C07F3AD84FF4C0720021684601F08BFC51 +:104260006946D4F82431D4F81821D4F828019847A5 +:1042700070BBD4F8186157B1D4E9493072080DEB1E +:104280000601984720BBD4F8183106EB5306B8F165 +:10429000000F00D08DB9324669462046FFF70EFF69 +:1042A000054610B90123C4F8143131466846FFF7BA +:1042B00017FD284660B0BDE8F0810DEB06004146D1 +:1042C0002A462E4401F032FCE5E76FF00405F0E7E2 +:1042D0006FF00805EDE700BF2DE9F047044604F153 +:1042E000F4050F4691461E46DDF8208000F036FEAC +:1042F00029462046FFF74AFE08B1BDE8F087284668 +:104300002022012101F037FCD4F81831C4F82471BF +:10431000C4F8289113B92023C4F818314246314615 +:104320002046BDE8F0470123FFF780BFB2F5806F5C +:1043300000F295802DE9F04F89B09A46129BB3F5B3 +:10434000807F00F29080D0F82431164604460F4654 +:104350004BB3D0F81C31012B05D0D0F81421D0F884 +:1043600020319A421FDD514600232046129AFFF762 +:104370005DFF014698B900231293002E5ED0DFF84E +:10438000EC9009F1400B0021204600F001FE202EA8 +:104390003546014628BF202504F1F40890B10846AF +:1043A00009B0BDE8F08FBAF1000FE6D0129B002BE8 +:1043B000E1D051461A462046FFF780FE014600280C +:1043C000DBD0ECE749464022204600F0F5FD0146EF +:1043D0000028E4D141462022204600F0EDFD0146B0 +:1043E0000028DCD16946204600F010FE0146002876 +:1043F000D5D1204600F0CCFD01460028CFD159464A +:104400004022204600F0D8FD01460028C7D1694669 +:104410002022204600F0D0FD01460028BFD14146B1 +:10442000204600F0F3FD01460028B8D138462A4660 +:10443000414601F07BFB761B2F44A4D15146204618 +:10444000129AFFF73BFE01460028A8D10846D4F88F +:1044500014310133C4F8143109B0BDE8F08F6FF0A6 +:104460000201084670476FF0040198E758220020C7 +:10447000002130B58DB0282202A8019101F07BFB0C +:1044800002A800F047FF044610B120460DB030BD31 +:10449000174D4FF0FF31286800F042F9044620B173 +:1044A000144800F0D3F9012C18D0002000F068F96E +:1044B000D0B9114A02A901A800F0C4FC04460120A9 +:1044C00000F05EF960B9286800F032F90028DCD00D +:1044D0000A4800F0BBF920460DB030BD0524F2E7D4 +:1044E000074800F0B3F9EEE7064800F0AFF9E0E75F +:1044F000D4100020705D0000D8220020C85D0000AC +:10450000A85D0000885D000030B583B000F05CF865 +:1045100028B100F0ABF80324204603B030BD00F012 +:1045200077F8D8B900F02CF9E0B9224CD4F8283942 +:104530001B0EF02B0AD1D4F8242A1F4B9A4231D0FB +:1045400000F044F8072400F091F8E5E7062400F0B5 +:104550003DF800F08BF8204603B030BD042420461F +:1045600003B030BD00F032F800F080F8FFF780FFB4 +:10457000044698B9114D2B68002BCDD10246014657 +:10458000FFF752FB50B968220D4901ABFFF77CFBE6 +:1045900020B920460B4B2B6003B030BD05242046CC +:1045A00003B030BD012000F0EBF80028DAD1C4F8E8 +:1045B0000C0ADBE7001084500000E020F824002003 +:1045C000FC2400205AEA5A5A002070470020704705 +:1045D000430504D54FF0FF32034BC3F80821024BCB +:1045E000C3F8080A704700BF00108450014BC3F89D +:1045F000040A70470010845008B100F06BB84FF403 +:104600007500704708B100F04FB84FF4750070475F +:1046100010B5114800F070F800B110BD0F4800F05F +:104620006BF80028F9D10E4C204600F065F8002800 +:10463000F3D10C4B0C481C6000F05EF801460028DA +:10464000EBD100F02DF8044608B1204610BD00F073 +:1046500079F82046FAE700BFE4100020E0100020BF +:10466000DC100020D4100020D810002008B5084825 +:1046700000F04CF8074800F049F8074800F046F809 +:10468000064800F043F8BDE8084000F00BB800BF52 +:10469000E4100020E0100020DC100020D8100020E2 +:1046A00000207047704700BF024610B4084CD4F891 +:1046B000003A1342FBD021B1D4F804310B60C4F8A6 +:1046C0000831034B0020C3F8082A5DF8044B7047FB +:1046D00000108450044AD2F8003A1842FBD0C2F8C5 +:1046E000080A0020704700BF0010845001F0E8B9AC +:1046F0000A46002101F03FBA08B5034B02681B6867 +:1047000010689847002008BD1011002008B5034B21 +:1047100002685B6810689847002008BD10110020EF +:10472000024B02689B681068184700BF10110020F8 +:1047300008B5034B0268DB6810689847002008BD85 +:104740001011002070B5094C094D2069AB689847DD +:1047500018B1084B08485B6898470021074AEB6886 +:1047600011602069BDE87040184700BFFC100020B0 +:1047700010110020F4100020E05D000064250020EE +:10478000F8B51A4D1A4E0446B26828699047E8B940 +:10479000184F3B684CB1A3B1012B19D0013B3B60D2 +:1047A0002869F36898470020F8BD43B90121124AEF +:1047B000C2F800151149D1F81029002AFBD10133A4 +:1047C0003B60F368286998470020F8BD0C48F8BDA5 +:1047D0000A4AD2F81039002BFBD1074A6FF07E400D +:1047E000C2F80035FFF702FF3B68D7E7FC10002056 +:1047F0001011002064250020000084500010845017 +:10480000E98FFFFF014B1B68184700BF1011002004 +:10481000014B9B68184700BF10110020014BDB685B +:10482000184700BF10110020BFF34F8F0549064BFA +:10483000CA6802F4E0621343CB60BFF34F8F00BF3E +:10484000FDE700BF00ED00E00400FA0530B44FF0D2 +:10485000FE320025074B084C08494968C3F800247C +:10486000C3F80424C3F80824C3F80C24C4F8005582 +:1048700030BC08470010845000008450F410002021 +:1048800010B5044650B1636813F0685F05D0064A5E +:10489000934202D000236260236010BD034B0448A2 +:1048A0005B689847EFE700BF2C5F5CA9F41000201D +:1048B000005E0000C8B143680D4A934213D013F064 +:1048C000685F0ED0012350E8002F194640E8001C15 +:1048D0009CF0000FF7D1012AF5D0BFF35F8F0020C5 +:1048E000704704487047044870476FF4E0407047D1 +:1048F0002C5F5CA9E98FFFFFEA8FFFFF034680B1C1 +:10490000426809498A420AD012F0685F05D0BFF3B5 +:104910005F8F002210461A607047044870470448B1 +:1049200070476FF4E04070472C5F5CA9E98FFFFF90 +:10493000EA8FFFFF10B5044620B10023034A23602D +:10494000626010BD0248FFF781FFF6E73A00003AC7 +:10495000285E00002DE9F047002878D00C46002999 +:1049600075D01D46002B72D007461AB101220023D4 +:104970002A6003602B68002B64D02946204600F093 +:10498000B7FD804600285FD12146286800F096FDDB +:104990008046002858D12B68082B6CD0042B6DD092 +:1049A000A3F10209B9FA89F94FEA59190121354EE3 +:1049B000C6F8C411C6F84011C6F8C411636AC6F837 +:1049C0003031D6F830219342F6D14FF0000A4FF043 +:1049D000FF30C6F82CA1FFF7FBFD6FF01B0350461C +:1049E000C6F80031FFF702FEC6F80C91D6F8040AAB +:1049F00040F48060FFF7FAFD0A23C6F83831089BBF +:104A0000012B29D02369204AA2FB03231B09626AD8 +:104A1000404602FB03F303EB43031A4ADB039B0903 +:104A2000C2F8D8310123C2F82C313B682A6823F040 +:104A30007F4343EA02633B602A6843EA02233B6008 +:104A4000BDE8F087DFF844804046BDE8F087DFF836 +:104A500040804046BDE8F0874FF47F03D3F80C2C2C +:104A6000013206D0D3F80C3C074AA2FB03231B09F2 +:104A7000CDE71623CBE74FF0030997E74FF0020984 +:104A800094E700BF00108450ABAAAAAA310CF10031 +:104A9000350CF10058B34B1EB3F5047F27D230B567 +:104AA0004FF0000ECD00744671464B0901F01F0C0B +:104AB00050F82330BCF11F0F23FA0CF306D003F09B +:104AC000010319B901211C468E46EEE79C4201F113 +:104AD000010106D01C464FF0010EA942E5D100208D +:104AE00030BD0EF1010E9645F7D1024830BD0148A8 +:104AF000704700BF360CF100C0B32DE9F0434C1EE7 +:104B0000B4F5047F1DD2E3B1DAB100252E46A846E4 +:104B10002C46CF0003F1FF394FEA541C04F01F0E5E +:104B200050F82C10BEF11F0F21FA0EFC0CD00CF027 +:104B3000010C4CB90126E04634463546ECE7964276 +:104B400016D90C48BDE8F083AB420BD0C44508BF72 +:104B50000136A945F3D001350134BC42DCD1002037 +:104B6000BDE8F0830125E0462E46F5E70148704791 +:104B70001D46F1E7370CF1002DE9F04F91B0834667 +:104B8000DDE91B460D46002E6ED10F691C60002327 +:104B90001A990B60002A00F02F819D4B6A6AD3F8A6 +:104BA0003811D3F830319A4269D10A2967D19BF87C +:104BB0000330089304F10803079304230593954BEE +:104BC000934CA3FB07239B0803EB4303A7EB43038F +:104BD000039306971A9B069E1E60002E00F0EA8043 +:104BE00000F096FC00230993BBF1000F00F0D58084 +:104BF00098464FF0010ADDF81C90002D00F0CD80A2 +:104C0000089B002B3DD0284608A900F071FC002825 +:104C100039D0814B984220D0089B082B00F0E480CB +:104C200000225B000893294608AB58460092FFF724 +:104C300091FE7A4B984200F0D38070B9DBF80020E7 +:104C4000130A03F47F03134323F07F43CBF80030B0 +:104C5000059B013B0593BDD10020039000F058FC5B +:104C6000039811B0BDE8F08F4FF47F01D1F80C0C20 +:104C700001300CBF4FF40477D1F80C7C86E768480C +:104C8000EBE76648C5E72946089800F017FC0028BE +:104C9000BFD1089B082B00F0A980042B00F0A9804D +:104CA000A3F10203B3FA83F35B090493C4F8C4A12C +:104CB000C4F840A1C4F8C4A16B6AC4F83031D4F878 +:104CC00030219342F6D100234FF0FF30C4F82C314D +:104CD000FFF77EFC002318466FF01B03C4F8003179 +:104CE000FFF784FC049B4B4FC4F80C31D4F8040A42 +:104CF00040F48060FFF77AFC0A23C4F838312B694E +:104D000009A8A7FB03236A6A1B0902FB03F303EB51 +:104D10004303DB039B09C4F8D831C4F82CA1DBF8AA +:104D20000030089923F07F420B0243EA01631343EA +:104D3000CBF8003000F0B2FB099B03F01A030343E9 +:104D40007FF46AAFA7FB0637D4F81431B8EB970F9E +:104D50000A93D4F818310B93D4F81C310C93D4F87F +:104D600020310D93D4F824310E93D4F828310F93C9 +:104D700001D1039B9BB9484618220AA9183EFFF7A8 +:104D8000B5FC09F1180908F101089EB100F0C0FB5B +:104D900000230993002D7FF433AF224839E74846BA +:104DA0001A46F61A0AA9994408F10108FFF79EFC71 +:104DB000002EEBD1069F079E6A6939463046FFF701 +:104DC00069FEAA6940B94FF4806339463046FFF75F +:104DD00093FE00283FF440AF00231A9A136018E7AF +:104DE0002B6A002B3FF439AF0F4836E703230493B7 +:104DF0005CE70223049359E70122294658460096AE +:104E000008ABFFF7A7FD00283FF4D4AE25E700BFAD +:104E100000108450ABAAAAAA020CF100310CF100D8 +:104E2000300CF100350CF100320CF10030B4DDE94A +:104E3000023402940024049DCDE9035430BCFFF7F2 +:104E40009BBE00BF30B51546012487B005AB00936B +:104E50000022CDE9015404ABFFF78EFE07B030BD50 +:104E6000F0B587B0002966D01E46002B63D01446EB +:104E7000002A60D0314F0D4638684FF0FF31FFF700 +:104E80004FFC00284DD10020FFF77AFC002844D1C8 +:104E90002B4800F03FFAD8B101204FF0FF35FFF763 +:104EA0006FFC002835D14FF408712648FEF70EFF3D +:104EB00004212548FEF70AFF21482821FEF706FFB6 +:104EC0003868FFF735FC00282FD1284607B0F0BD21 +:104ED0001C4A0346029205AA019204AA039000927A +:104EE000174902461848FFF7A1FF03460028D3D10F +:104EF00028461D46059B22469C4228BF1A46049917 +:104F000032600831FFF7F2FB0120FFF739FC00287F +:104F1000C9D00E48FFF79AFCC5E70D48FFF796FC8D +:104F2000B6E70C48FFF792FCADE70B48FFF78EFCA5 +:104F3000284607B0F0BD4FF0FF35C6E7D41000207B +:104F40007C250020A425002078250020A85D0000F5 +:104F5000885D0000705D00004C5E000010B50446E6 +:104F600028B12046BDE81040F421FFF7C1BB04483A +:104F7000FFF76CFC2046BDE81040F421FFF7B8BBFA +:104F8000645E000010B1F421FEF7A0BE704700BFC0 +:104F900008B521B1012908D06FF0360008BD012104 +:104FA00000F058F80028F7D108BD022100F052F8AF +:104FB0000028F9D0F0E700BF30B505468818B0F5F5 +:104FC000801F0B461446A1B001D8802A0CD9B3F536 +:104FD000801F17D922461946284600F07DF804465E +:104FE00084B9204621B030BD6846FFF77FFB2246DA +:104FF0006946284600F070F8802104466846FFF7AD +:1050000077FBEDE76FF03604EBE700BF70B5E8B172 +:105010000E46D9B1044600F031F80546B0B9236810 +:10502000012B0BD0022B01D0284670BD1C2230462C +:1050300004F10801FFF75AFB284670BD20223046D4 +:1050400004F10801FFF752FB284670BD6FF03605EA +:10505000EAE700BF78B138B50D46F0210446FFF706 +:1050600047FB402320462560E36500F091FA0038B5 +:1050700018BF012038BD0120704700BFF0B5056E94 +:10508000A5B0044604AEE5B90023012701933046DC +:105090006760294602AA009300F046FA10B1012089 +:1050A00025B0F0BD2A46204602A900F099FA002852 +:1050B000F5D1204600F0AAFB0028F0D1206625B0EB +:1050C000F0BD802D2A46304628BF802204F16401BD +:1050D000FFF70CFB256ED7E7002800F0AE802DE926 +:1050E000F04F1446A5B0002A3DD00F46002949D004 +:1050F000B2F5803F0546006E20D34FF6FF7805F1EC +:10510000640AEB6D1A1AB2FBF3F103FB1122002AB9 +:1051100065D18342B9464FF6FF7672D0B6FBF3FBFA +:1051200003FB0BFBBBF1000F30D1002E45D1A4F5E2 +:105130007F44FF3CB4F5803F4744E2D2EA6D161A43 +:10514000B6FBF2F302FB1366A64228BF2646002EEA +:1051500075D1824200F08D80B4FBF2F602FB06F6B8 +:105160002EB9002C79D1002025B0BDE8F08F0023A6 +:1051700031463846CDE9003302AA00F0D5F90028BF +:1051800000F09580012025B0BDE8F08F002359463E +:105190004846CDE9003302AA00F0C6F90028F1D153 +:1051A0005A46284602A900F01BFA0028EAD1A6EBCD +:1051B0000B06286ED944002EB9D019304946324624 +:1051C00005EB8000FFF792FAA4F57F44286EFF3CC0 +:1051D0003044B4F5803F4744286692D2AEE742455A +:1051E00028BF4246164639465044FFF77FFA286EDC +:1051F000EB6D3044834207EB06092866A8EB0606F0 +:105200008CD1802B28BF802351461A4604A8FFF773 +:105210006DFA0023E96D02AACDE9003304A800F07D +:1052200083F90028AED12846EA6D02A900F0D8F92A +:105230000028A7D1EB6D286670E70120704705F1C3 +:105240006403394632461844FFF750FA286EEA6D77 +:105250003044A41B374428667BE72B6E2246193363 +:1052600005EB83003946FFF741FA2B6E23442B668A +:1052700079E7802A28BF802205F1640104A8FFF79E +:1052800035FA0023E96D04A8CDE9003302AA00F045 +:105290004BF900287FF476AF2846EA6D02A900F0AA +:1052A0009FF900287FF46EAFEA6D286654E7324616 +:1052B000284602A900F094F900287FF463AF374430 +:1052C000A41B4EE7F8B51C460546114816460F4686 +:1052D000FFF744FE21460E48FFF75AFE044620B170 +:1052E0000B48FFF74FFE2046F8BD3A4629460848CE +:1052F000FFF762FE04460028F2D131460448FFF76A +:1053000085FE04460248FFF73DFE2046F8BD00BF7B +:10531000C42700201C2370B582B001A90546019363 +:1053200000F032F8044638B9019B1C2B07D0144C0E +:105330001C212846FFF7DCF9204602B070BDD5E9F4 +:105340000112131E18BF0123003918BF01210126C5 +:1053500028689B00EA6843EA4103002818BF43F02D +:105360000103EE612AB9C5E90834002BE4D1054CEC +:10537000DEE7204643F00803C5E9083402B070BDFB +:10538000370CF0000E0CF0000346002866D0002910 +:1053900064D00A681C2A61D14FF47F023B49D2F8DD +:1053A000100C88425CD0D2F8101C013158D0D2F8D1 +:1053B000101C4FF47F021960D2F8140C3449884253 +:1053C00060D0D2F8141C01315CD0D2F8141C4FF418 +:1053D0007F025960D2F8181C11F5947F4FD0D2F893 +:1053E000181C01314BD0D2F8181C4FF47F02996081 +:1053F000D2F81C0C274988423ED0D2F81C1C01313F +:105400003AD0D2F81C1C4FF47F02D960D2F8001CAD +:1054100070312FD0D2F8001C01312BD0D2F8001CF3 +:105420004FF47F021961D2F8041CAF3120D0D2F8BA +:10543000041C01311CD0D2F8041C4FF47F025961C6 +:10544000D2F8080C144988420DD0D2F8081C01315A +:1054500009D0D2F8082C00209A61704701207047CB +:1054600040F6FC01A5E740F2373200209A61704710 +:105470005121E2E79021D3E742F60411C3E740F659 +:10548000D861B2E742F2D001A1E700BFFCF8FFFF0C +:10549000D020FFFF0429FFFF37F3FFFF014608B5C7 +:1054A0004FF48060FFF7AEF80022034BC3F8C82129 +:1054B000C3F82C2108BD00BF001084500138072814 +:1054C00005D8DFE800F0100E040A040404060748BB +:1054D0007047CB6800204B6270478B6800204B629E +:1054E00070474B68F6E70B68F4E700BF310CF1003A +:1054F0000B6802E0082B0B6006D8026A13424FEAE1 +:105500004303F7D00020704700487047310CF1008A +:105510000022044B4FF48060C3F82C21C3F8C4214F +:10552000FFF756B800108450F0B5002483B0B0F1F6 +:10553000005F8DF8074025D38C468444BCF1804F32 +:1055400004461FD817461D4601220DF1070300F03F +:1055500097F90646B0B99DF80730099A3C603B714F +:1055600092B14DB10246089928460DF1070300F0AB +:1055700087F938B99DF807303046099A15601371DC +:1055800003B0F0BD4FF47506304603B0F0BD00BF68 +:10559000D8B108B50368012B04D0022B0FD043B15A +:1055A0000B4808BD20220B490830FFF79FF8002068 +:1055B00008BD142208490830FFF798F8F7E72022C1 +:1055C00006490830FFF792F8F1E74FF4730070478F +:1055D0000100F300745E0000B45E0000945E000001 +:1055E0002DE9F843002900F0F9800446002800F076 +:1055F000F98003680F469046002B00F0C380013B02 +:10560000012B00F2D7804FF0FF3178484FF00209AC +:10561000FFF786F8002840F0BF800020FFF7B0F8C1 +:105620000646002840F0C280714AD2F81C39002B8F +:10563000FBD16F4DD5F8203C002BFBD14FF0FF3054 +:10564000FEF7C6FFD5F8040A20F04000FEF7CEFFB3 +:1056500001230722C5F81838C5F80029C5F8C43752 +:10566000A36CC5F8CC37E36CC5F8D037C5F8C09744 +:1056700023685BB1013B012B18D8636AC5F85C361F +:10568000236AC5F85836E369C5F85436A269584B01 +:10569000C3F850266269C3F84C262269C3F848262D +:1056A000E268C3F84426A268C3F84026504AD2F8FC +:1056B0001039002BFBD1B8F1000F5FD06368402098 +:1056C000012B08BFC2F884363A68494BC3F8282C2E +:1056D000C3F82C8CFEF790FF0646454AD2F81039E5 +:1056E000002BFBD1424AD2F8203C002BFBD123688F +:1056F0005BB1013B012B18D8D2F85C366362D2F85B +:1057000058362362D2F85436E361394BD3F8502629 +:10571000A261D3F84C266261D3F848262261D3F8FF +:105720004426E260D3F84036A36000230121304ACA +:10573000D2F8CC07A064D2F8D007E064C2F8C4174E +:10574000C2F88436C2F8C837D2F81039002BFBD122 +:10575000C2F81838002E3BD1254BD3F8040A40F08C +:105760004000FEF743FF0120FFF70AF860BB1F4827 +:10577000FEF7DEFF10BB3046BDE8F8830423C2F815 +:10578000C837AAE74FF0FF3118484FF00109FEF77C +:10579000C7FF00283FF441AF1648FFF757F8002035 +:1057A000FEF7EEFF064600283FF43EAF1248FFF733 +:1057B0004DF839E7114E3046BDE8F8831048FFF741 +:1057C00045F83046BDE8F8830E48FFF73FF8CEE7CE +:1057D000102104F10800FEF78BFFBDE70A4E3046AA +:1057E000BDE8F8834FF47306C5E700BFE41000205E +:1057F00000108450705D0000885D00000100F3001F +:10580000C85D0000A85D00000300F300A0B30346DC +:1058100070B4D0E90240D3E9041226BA05BA0CBA32 +:1058200010BAC3E90440D3E90612986A09BAC3E979 +:10583000026512BA996100BAD3E9084125BA0CBAD7 +:10584000C3E90725D3E90B12C3E9094009BAD86BAC +:1058500012BAD962D3E90D4125BAC3E90C250CBAB5 +:1058600000BAD3E9101209BA12BAC3E90E4019649A +:1058700000205A6470BC70474FF47300704700BF3B +:1058800000201870704700BF431810B501D21F2ABE +:1058900001D9002010BD013902F014030144102B7E +:1058A00080EA01043CD009DC8BB1042BF1D11F2C20 +:1058B00040E840F315D941E840F10EE0142BE8D15F +:1058C0001F2C40E8C0F30CD941E8C0F105E01F2CC3 +:1058D00040E800F305D941E800F11C460B468C4234 +:1058E000D7D122F01402013A0A2AD2D801A151F8E4 +:1058F00022F000BF435900003D5900002F5900001D +:1059000093580000935800009358000093580000EB +:105910004959000043590000375900002F59000031 +:105920001F2C40E880F3DCD941E880F1D5E713F47F +:10593000001FAFD1ADE713F4801FFAE75B02A9D5D2 +:10594000A7E713F4002FF4E713F4802FF1E700BF6B +:1059500008B5074B044613B10021AFF30080054B97 +:105960001868836A03B19847204600F029F800BF01 +:1059700000000000C85E000070B50D4D00260D4C03 +:10598000641BA410A64209D10B4D00260B4C00F05D +:10599000D5F9641BA410A64205D170BD55F8043B8F +:1059A00001369847EEE755F8043B01369847F2E791 +:1059B000A0110020A0110020A0110020A41100209F +:1059C000FEE700BFB7EE000AF7EE000AB7EE001AD6 +:1059D000F7EE001AB7EE002AF7EE002AB7EE003A0B +:1059E000F7EE003AB7EE004AF7EE004AB7EE005A7B +:1059F000F7EE005AB7EE006AF7EE006AB7EE007AEB +:105A0000F7EE007AF1EE10CA40F29F01CFF20001EA +:105A10003CEA010CE1EE10CA002383F300887047D2 +:105A2000FDF79CBAEFF30880EFF309812DE9F00F41 +:105A30006B467246FAF7ACFF08B0FFF7F1FFFEE7DE +:105A4000FDF78CBAEFF30880EFF309812DE9F00F31 +:105A50006B467246FAF79CFF08B0FFF7F1FFFEE7CE +:105A6000FDF77CBAEFF30880EFF309812DE9F00F21 +:105A70006B467246FAF78CFF08B0FFF7F1FFFEE7BE +:105A8000FDF76CBAEFF30880EFF309812DE9F00F11 +:105A90006B467246FAF77CFF08B0FFF7F1FFFEE7AE +:105AA000FDF75CBAEFF30880EFF309812DE9F00F01 +:105AB0006B467246FAF76CFF08B0FFF7F1FFFEE79E +:105AC000814270B40546144602D370BC00F02EB873 +:105AD000821821443CB141EA020313F003030FD1C1 +:105AE000E018032812D86FF00300A30843430020F6 +:105AF00019441A442344984210D1284670BC704778 +:105B000011F8013D013C02F8013DE3E7581850F857 +:105B1000046C981840F8046C043BE1E70C1A14F884 +:105B2000016C141A04F8016C0130E4E770B5044606 +:105B30003AB141EA040313F003030CD1D518032D45 +:105B40000FD822F003031C441944002302F003027F +:105B500093420CD170BD11F8013B013A04F8013BAE +:105B6000E6E7CD1A2E68E51A2E60043BE6E75D5C99 +:105B7000E5540133ECE7F0B5044662B922F00303C3 +:105B8000234402F003021A44934214D1F0BD04F8F6 +:105B9000011B013AF1E7A307F9D115460B0443EACB +:105BA00001630B4343EA01231619032DE6D9771B42 +:105BB0003B60043DF9E703F8011BE5E708B5EFF3A7 +:105BC0000583C3F308030BB1FDF7C8F9BDE808402E +:105BD000FDF74CBA10B50446EFF30583C3F3080391 +:105BE0000BB1FDF7BBF92046BDE81040FDF741BA07 +:105BF0002DE9F04104460D4616461F46EFF3058396 +:105C0000C3F308030BB1FDF7A9F93B463246294619 +:105C10002046BDE8F041FCF743BC2DE9F0410446C5 +:105C20000D4616461F46EFF30583C3F308030BB179 +:105C3000FDF794F93B46324629462046BDE8F0413F +:105C4000FCF768BC08B5EFF30583C3F308030BB199 +:105C5000FDF784F9BDE80840FDF7DBB90020704787 +:105C6000704710B5044608B1FDF75AFF2046BDE85D +:105C70001040FDF745BF10B50446406A10B1A16A57 +:105C8000FFF7EFFF0020C4E9090010BD38B5044656 +:105C9000FFF7F1FF236A2C22012B0CBF05466FF0A2 +:105CA000960500212046FFF766FF284638BD0020F4 +:105CB000704770470020704713B5002001AB1446B1 +:105CC000FDF7E2FF30B9019BA34218BF6FF09300CC +:105CD00002B010BD6FF09200FAE7002070472DE986 +:105CE000E04F2746A046A146A246A346A4462DED76 +:105CF000108B4FF0000545EC185B45EC195A45EC4C +:105D00001A5A45EC1B5A45EC1C5A45EC1D5A45ECF9 +:105D10001E5A45EC1F5AF1EE105A4FF66076C0F647 +:105D2000FF763540E1EE105A84F30088254626467A +:105D3000A447BDEC108BBDE8E08F0000F8B500BFB4 +:105D4000F8BC08BC9E467047F8B500BFF8BC08BC5C +:105D50009E467047FF8FFFFFFF8FFFFFFE8FFFFF05 +:105D6000FE8FFFFFFD8FFFFFFC8FFFFFFC8FFFFF0C +:105D70004661696C20746F2061637175697265207A +:105D80006D757465780A00004661696C20746F2037 +:105D9000696E63726561736520504D20636F756E27 +:105DA0007465720A000000004661696C20746F20FF +:105DB000646563726561736520504D20636F756E15 +:105DC0007465720A000000004661696C20746F20DF +:105DD00072656C65617365206D757465780A000085 +:105DE000436F756C64206E6F74206C6F636B2070F2 +:105DF0006F7765722073617665206D7574657800C4 +:105E00006D757465785F667265652063616C6C653D +:105E1000642077697468204E554C4C207061726123 +:105E20006D6574657200000043616E277420696EB1 +:105E3000697469616C697A65206D757465782C2068 +:105E4000776173204E554C4C0D0A00004661696C19 +:105E500020746F20756E6C6F636B206D7574657840 +:105E60000A0000000A637478206973204E554C4C78 +:105E70000A00000067E6096A85AE67BB72F36E3CF4 +:105E80003AF54FA57F520E518C68059BABD9831F05 +:105E900019CDE05BD89E05C107D57C3617DD703083 +:105EA00039590EF7310BC0FF11155868A78FF964E7 +:105EB000A44FFABE0123456789ABCDEFFEDCBA984B +:105EC00076543210F0E1D2C34011002054464D5FA9 +:105ED00043525950544F0054464D5F504C41544624 +:105EE0004F524D5F53455256494345000000000054 +:105EF00000000000000000000000000000000000A2 +:107C00007FE97FE9FBF72CBD7FE97FE9FBF737BD13 +:107C10007FE97FE9FBF75FBD7FE97FE9FBF752BDB5 +:107C20007FE97FE9FBF73ABD00000000000000009B +:107C30000000000000000000000000000000000044 +:107C40007AFFFFFF00900050000000008C3400001D +:107C50000400000000000000000000000000000020 +:107C6000000000000000000090ED00E000A00350C4 +:107C70007FA60350009000506F9500501412002012 +:107C8000A811002044010000615C00005D5C000060 +:107C9000775B0000DC1000200C1100200411002094 +:107CA00000110020FC1000201D48000011480000B9 +:107CB000054800000000000029480000381100209D +:107CC00030110020281100200000000020110020A9 +:107CD0003549000081480000B5480000FD4800001B +:107CE000682500203A00003A6C2500203A00003A4E +:107CF000702500203A00003A742500203A00003A2E +:107D00000000000000000000000000000000000073 +:107D10000000000000000000000000000000000063 +:107D20000000000000000000000000000000000053 +:107D30000000000000000000000000000000000043 +:107D40000000000000000000000000000000000033 +:107D50000000000000000000000000000000000023 +:087D6000553700002D3700002B +:00000001FF diff --git a/examples/nrf9151/s/.cargo/config.toml b/examples/nrf9151/s/.cargo/config.toml new file mode 100644 index 000000000..1444b0cd1 --- /dev/null +++ b/examples/nrf9151/s/.cargo/config.toml @@ -0,0 +1,9 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +# replace nRF82840_xxAA with your chip as listed in `probe-rs chip list` +runner = "probe-rs run --chip nRF9160_xxAA" + +[build] +target = "thumbv8m.main-none-eabihf" + +[env] +DEFMT_LOG = "trace" diff --git a/examples/nrf9151/s/Cargo.toml b/examples/nrf9151/s/Cargo.toml new file mode 100644 index 000000000..0299002a0 --- /dev/null +++ b/examples/nrf9151/s/Cargo.toml @@ -0,0 +1,20 @@ +[package] +edition = "2021" +name = "embassy-nrf9151-secure-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +embassy-executor = { version = "0.5.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.1", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-nrf = { version = "0.1.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9151-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } + +defmt = "0.3" +defmt-rtt = "0.4" + +cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } +cortex-m-rt = "0.7.0" +panic-probe = { version = "0.3", features = ["print-defmt"] } + +[profile.release] +debug = 2 diff --git a/examples/nrf9151/s/build.rs b/examples/nrf9151/s/build.rs new file mode 100644 index 000000000..30691aa97 --- /dev/null +++ b/examples/nrf9151/s/build.rs @@ -0,0 +1,35 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory -- wherever `Cargo.toml` is. However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! updating `memory.x` ensures a rebuild of the application with the +//! new memory settings. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); + + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/nrf9151/s/memory.x b/examples/nrf9151/s/memory.x new file mode 100644 index 000000000..4c7d4ebf0 --- /dev/null +++ b/examples/nrf9151/s/memory.x @@ -0,0 +1,5 @@ +MEMORY +{ + FLASH : ORIGIN = 0x00000000, LENGTH = 1024K + RAM : ORIGIN = 0x20018000, LENGTH = 160K +} diff --git a/examples/nrf9151/s/src/bin/blinky.rs b/examples/nrf9151/s/src/bin/blinky.rs new file mode 100644 index 000000000..5e3cc8ac0 --- /dev/null +++ b/examples/nrf9151/s/src/bin/blinky.rs @@ -0,0 +1,24 @@ +#![no_std] +#![no_main] + +use embassy_executor::Spawner; +use embassy_nrf::gpio::{Level, Output, OutputDrive}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +use defmt; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_nrf::init(Default::default()); + let mut led = Output::new(p.P0_00, Level::Low, OutputDrive::Standard); + + loop { + led.set_high(); + defmt::info!("high"); + Timer::after_millis(500).await; + led.set_low(); + defmt::info!("low"); + Timer::after_millis(1000).await; + } +} -- cgit From ece6203a996207f25db737032d3e0dae3df80b64 Mon Sep 17 00:00:00 2001 From: shufps Date: Fri, 28 Jun 2024 14:42:19 +0200 Subject: added DDS example --- examples/stm32l0/Cargo.toml | 2 +- examples/stm32l0/src/bin/dds.rs | 117 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 examples/stm32l0/src/bin/dds.rs (limited to 'examples') diff --git a/examples/stm32l0/Cargo.toml b/examples/stm32l0/Cargo.toml index 2c599e7a3..5b0519ac4 100644 --- a/examples/stm32l0/Cargo.toml +++ b/examples/stm32l0/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Change stm32l072cz to your chip name, if necessary. -embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32l072cz", "time-driver-any", "exti", "memory-x"] } +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32l072cz", "unstable-pac", "time-driver-any", "exti", "memory-x"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } diff --git a/examples/stm32l0/src/bin/dds.rs b/examples/stm32l0/src/bin/dds.rs new file mode 100644 index 000000000..9759fc8f3 --- /dev/null +++ b/examples/stm32l0/src/bin/dds.rs @@ -0,0 +1,117 @@ +#![no_std] +#![no_main] + +use core::option::Option::Some; +use defmt::info; +use defmt_rtt as _; // global logger +use embassy_executor::Spawner; +use embassy_stm32::gpio::OutputType; +use embassy_stm32::interrupt; +use embassy_stm32::pac; +use embassy_stm32::rcc::*; +use embassy_stm32::time::hz; +use embassy_stm32::timer::low_level::Timer as LLTimer; +use embassy_stm32::timer::low_level::*; +use embassy_stm32::timer::simple_pwm::PwmPin; +use embassy_stm32::timer::Channel; +use embassy_stm32::Config; +use panic_probe as _; + +const DDS_SINE_DATA: [u8; 256] = [ + 0x80, 0x83, 0x86, 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98, 0x9c, 0x9f, 0xa2, 0xa5, 0xa8, 0xab, 0xae, 0xb0, 0xb3, 0xb6, + 0xb9, 0xbc, 0xbf, 0xc1, 0xc4, 0xc7, 0xc9, 0xcc, 0xce, 0xd1, 0xd3, 0xd5, 0xd8, 0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, + 0xe6, 0xe8, 0xea, 0xec, 0xed, 0xef, 0xf0, 0xf2, 0xf3, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfc, 0xfd, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, + 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf3, 0xf2, 0xf0, 0xef, 0xed, 0xec, 0xea, 0xe8, 0xe6, 0xe4, 0xe2, 0xe0, 0xde, + 0xdc, 0xda, 0xd8, 0xd5, 0xd3, 0xd1, 0xce, 0xcc, 0xc9, 0xc7, 0xc4, 0xc1, 0xbf, 0xbc, 0xb9, 0xb6, 0xb3, 0xb0, 0xae, + 0xab, 0xa8, 0xa5, 0xa2, 0x9f, 0x9c, 0x98, 0x95, 0x92, 0x8f, 0x8c, 0x89, 0x86, 0x83, 0x80, 0x7c, 0x79, 0x76, 0x73, + 0x70, 0x6d, 0x6a, 0x67, 0x63, 0x60, 0x5d, 0x5a, 0x57, 0x54, 0x51, 0x4f, 0x4c, 0x49, 0x46, 0x43, 0x40, 0x3e, 0x3b, + 0x38, 0x36, 0x33, 0x31, 0x2e, 0x2c, 0x2a, 0x27, 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1b, 0x19, 0x17, 0x15, 0x13, 0x12, + 0x10, 0x0f, 0x0d, 0x0c, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x03, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, + 0x0a, 0x0c, 0x0d, 0x0f, 0x10, 0x12, 0x13, 0x15, 0x17, 0x19, 0x1b, 0x1d, 0x1f, 0x21, 0x23, 0x25, 0x27, 0x2a, 0x2c, + 0x2e, 0x31, 0x33, 0x36, 0x38, 0x3b, 0x3e, 0x40, 0x43, 0x46, 0x49, 0x4c, 0x4f, 0x51, 0x54, 0x57, 0x5a, 0x5d, 0x60, + 0x63, 0x67, 0x6a, 0x6d, 0x70, 0x73, 0x76, 0x79, 0x7c, +]; + +// frequency: 15625/(256/(DDS_INCR/2**24)) = 999,99999Hz +static mut DDS_INCR: u32 = 0x10624DD2; + +// fractional phase accumulator +static mut DDS_AKKU: u32 = 0x00000000; + +#[interrupt] +fn TIM2() { + unsafe { + // get next value of DDS + DDS_AKKU = DDS_AKKU.wrapping_add(DDS_INCR); + let value = (DDS_SINE_DATA[(DDS_AKKU >> 24) as usize] as u16) << 3; + + // set new output compare value + pac::TIM2.ccr(2).modify(|w| w.set_ccr(value)); + + // reset interrupt flag + pac::TIM2.sr().modify(|r| r.set_uif(false)); + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + info!("Hello World!"); + + // configure for 32MHz (HSI16 * 6 / 3) + let mut config = Config::default(); + config.rcc.sys = Sysclk::PLL1_R; + config.rcc.hsi = true; + config.rcc.pll = Some(Pll { + source: PllSource::HSI, + div: PllDiv::DIV3, + mul: PllMul::MUL6, + }); + + let p = embassy_stm32::init(config); + + // setup PWM pin in AF mode + let _ch3 = PwmPin::new_ch3(p.PA2, OutputType::PushPull); + + // initialize timer + let timer = LLTimer::new(p.TIM2); + + // set counting mode + timer.set_counting_mode(CountingMode::EdgeAlignedUp); + + // set pwm sample frequency + timer.set_frequency(hz(15625)); + + // enable outputs + timer.enable_outputs(); + + // start timer + timer.start(); + + // set output compare mode + timer.set_output_compare_mode(Channel::Ch3, OutputCompareMode::PwmMode1); + + // set output compare preload + timer.set_output_compare_preload(Channel::Ch3, true); + + // set output polarity + timer.set_output_polarity(Channel::Ch3, OutputPolarity::ActiveHigh); + + // set compare value + timer.set_compare_value(Channel::Ch3, timer.get_max_compare_value() / 2); + + // enable pwm channel + timer.enable_channel(Channel::Ch3, true); + + // enable timer interrupts + timer.enable_update_interrupt(true); + unsafe { cortex_m::peripheral::NVIC::unmask(interrupt::TIM2) }; + + async { + loop { + embassy_time::Timer::after_millis(5000).await; + } + } + .await; +} -- cgit From b2a0eb3cb4b9d0f9b4ecc12b6e5437e4616b4aa6 Mon Sep 17 00:00:00 2001 From: shufps Date: Fri, 28 Jun 2024 14:43:39 +0200 Subject: added comment --- examples/stm32l0/src/bin/dds.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'examples') diff --git a/examples/stm32l0/src/bin/dds.rs b/examples/stm32l0/src/bin/dds.rs index 9759fc8f3..21647a68d 100644 --- a/examples/stm32l0/src/bin/dds.rs +++ b/examples/stm32l0/src/bin/dds.rs @@ -75,6 +75,7 @@ async fn main(_spawner: Spawner) { let _ch3 = PwmPin::new_ch3(p.PA2, OutputType::PushPull); // initialize timer + // we cannot use SimplePWM here because the Time is privately encapsulated let timer = LLTimer::new(p.TIM2); // set counting mode -- cgit From 2462a22140834e80e63465dabcf8a783e1adb94f Mon Sep 17 00:00:00 2001 From: shufps Date: Fri, 28 Jun 2024 14:52:21 +0200 Subject: format --- examples/stm32l0/src/bin/dds.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/stm32l0/src/bin/dds.rs b/examples/stm32l0/src/bin/dds.rs index 21647a68d..a54b28a93 100644 --- a/examples/stm32l0/src/bin/dds.rs +++ b/examples/stm32l0/src/bin/dds.rs @@ -2,19 +2,17 @@ #![no_main] use core::option::Option::Some; + use defmt::info; use defmt_rtt as _; // global logger use embassy_executor::Spawner; use embassy_stm32::gpio::OutputType; -use embassy_stm32::interrupt; -use embassy_stm32::pac; use embassy_stm32::rcc::*; use embassy_stm32::time::hz; -use embassy_stm32::timer::low_level::Timer as LLTimer; -use embassy_stm32::timer::low_level::*; +use embassy_stm32::timer::low_level::{Timer as LLTimer, *}; use embassy_stm32::timer::simple_pwm::PwmPin; use embassy_stm32::timer::Channel; -use embassy_stm32::Config; +use embassy_stm32::{interrupt, pac, Config}; use panic_probe as _; const DDS_SINE_DATA: [u8; 256] = [ -- cgit From 5e1a6a97535f86f74495dafc1f75db73689ddad5 Mon Sep 17 00:00:00 2001 From: nerwalt Date: Fri, 28 Jun 2024 07:11:50 -0600 Subject: Adding support for 9120 --- examples/nrf9151/ns/Cargo.toml | 2 +- examples/nrf9151/s/.cargo/config.toml | 1 - examples/nrf9151/s/Cargo.toml | 2 +- examples/nrf9160/.cargo/config.toml | 1 - 4 files changed, 2 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/nrf9151/ns/Cargo.toml b/examples/nrf9151/ns/Cargo.toml index 0765d52d1..d73f17e87 100644 --- a/examples/nrf9151/ns/Cargo.toml +++ b/examples/nrf9151/ns/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-nrf = { version = "0.1.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9151-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } +embassy-nrf = { version = "0.1.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/nrf9151/s/.cargo/config.toml b/examples/nrf9151/s/.cargo/config.toml index 1444b0cd1..f64c63966 100644 --- a/examples/nrf9151/s/.cargo/config.toml +++ b/examples/nrf9151/s/.cargo/config.toml @@ -1,5 +1,4 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] -# replace nRF82840_xxAA with your chip as listed in `probe-rs chip list` runner = "probe-rs run --chip nRF9160_xxAA" [build] diff --git a/examples/nrf9151/s/Cargo.toml b/examples/nrf9151/s/Cargo.toml index 0299002a0..164f9c94e 100644 --- a/examples/nrf9151/s/Cargo.toml +++ b/examples/nrf9151/s/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-nrf = { version = "0.1.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9151-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } +embassy-nrf = { version = "0.1.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/nrf9160/.cargo/config.toml b/examples/nrf9160/.cargo/config.toml index 1444b0cd1..f64c63966 100644 --- a/examples/nrf9160/.cargo/config.toml +++ b/examples/nrf9160/.cargo/config.toml @@ -1,5 +1,4 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] -# replace nRF82840_xxAA with your chip as listed in `probe-rs chip list` runner = "probe-rs run --chip nRF9160_xxAA" [build] -- cgit From 1123e3fd41e7b23dd0507816f1ff67fc0de6b5d1 Mon Sep 17 00:00:00 2001 From: David Haig Date: Fri, 28 Jun 2024 15:12:17 +0100 Subject: Get dsi_bsp example to compile again --- examples/stm32h7/src/bin/ltdc.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/ltdc.rs b/examples/stm32h7/src/bin/ltdc.rs index 3bd307012..3b56bbb6c 100644 --- a/examples/stm32h7/src/bin/ltdc.rs +++ b/examples/stm32h7/src/bin/ltdc.rs @@ -87,7 +87,7 @@ async fn main(spawner: Spawner) { }; info!("init ltdc"); - let mut ltdc = Ltdc::new( + let mut ltdc = Ltdc::new_with_pins( p.LTDC, Irqs, p.PG7, p.PC6, p.PA4, p.PG14, p.PD0, p.PD6, p.PA8, p.PE12, p.PA3, p.PB8, p.PB9, p.PB1, p.PB0, p.PA6, p.PE11, p.PH15, p.PH4, p.PC7, p.PD3, p.PE0, p.PH3, p.PH8, p.PH9, p.PH10, p.PH11, p.PE1, p.PE15, ); @@ -109,7 +109,7 @@ async fn main(spawner: Spawner) { let clut = build_clut(&color_map); // enable the bottom layer with a 256 color lookup table - ltdc.enable_layer(&layer_config, Some(&clut)); + ltdc.init_layer(&layer_config, Some(&clut)); // Safety: the DoubleBuffer controls access to the statically allocated frame buffers // and it is the only thing that mutates their content -- cgit From 317e06551744f1584f0d001fa48787735c2ca1b8 Mon Sep 17 00:00:00 2001 From: nerwalt Date: Fri, 28 Jun 2024 08:59:22 -0600 Subject: Adding uart example to 9151-ns Updated README --- examples/nrf9151/ns/README.md | 6 +++--- examples/nrf9151/ns/src/bin/uart.rs | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 examples/nrf9151/ns/src/bin/uart.rs (limited to 'examples') diff --git a/examples/nrf9151/ns/README.md b/examples/nrf9151/ns/README.md index a413dab85..a3f81d24e 100644 --- a/examples/nrf9151/ns/README.md +++ b/examples/nrf9151/ns/README.md @@ -1,4 +1,4 @@ You must flash the TFM before running any non-secure examples. The TFM -configures the secure and non-secure execution environments. After -configuration, the TFM loads the non-secure application. A reference TFM is -included, and you can use the provided helper script to flash it. +configures the secure and non-secure execution environments and then loads the +non-secure application. A reference TFM is included, and you can use the +provided helper script to flash it. diff --git a/examples/nrf9151/ns/src/bin/uart.rs b/examples/nrf9151/ns/src/bin/uart.rs new file mode 100644 index 000000000..2220dccfb --- /dev/null +++ b/examples/nrf9151/ns/src/bin/uart.rs @@ -0,0 +1,37 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_nrf::{bind_interrupts, peripherals, uarte}; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + SPIM0_SPIS0_TWIM0_TWIS0_UARTE0 => uarte::InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_nrf::init(Default::default()); + let mut config = uarte::Config::default(); + config.parity = uarte::Parity::EXCLUDED; + config.baudrate = uarte::Baudrate::BAUD115200; + + let mut uart = uarte::Uarte::new(p.SERIAL0, Irqs, p.P0_26, p.P0_27, config); + + info!("uarte initialized!"); + + // Message must be in SRAM + let mut buf = [0; 8]; + buf.copy_from_slice(b"Hello!\r\n"); + + unwrap!(uart.write(&buf).await); + info!("wrote hello in uart!"); + + loop { + info!("reading..."); + unwrap!(uart.read(&mut buf).await); + info!("writing..."); + unwrap!(uart.write(&buf).await); + } +} -- cgit From 79f00e54cc4d13a28c7ccc9a13345bf2f3730f42 Mon Sep 17 00:00:00 2001 From: David Haig Date: Fri, 28 Jun 2024 18:11:34 +0100 Subject: Moved ltdc example to its own crate --- examples/stm32h7/Cargo.toml | 2 - examples/stm32h7/src/bin/ferris.bmp | Bin 6794 -> 0 bytes examples/stm32h7/src/bin/ltdc.rs | 484 ---------------------------------- examples/stm32h735/.cargo/config.toml | 8 + examples/stm32h735/Cargo.toml | 61 +++++ examples/stm32h735/build.rs | 35 +++ examples/stm32h735/memory.x | 5 + examples/stm32h735/src/bin/ferris.bmp | Bin 0 -> 6794 bytes examples/stm32h735/src/bin/ltdc.rs | 473 +++++++++++++++++++++++++++++++++ 9 files changed, 582 insertions(+), 486 deletions(-) delete mode 100644 examples/stm32h7/src/bin/ferris.bmp delete mode 100644 examples/stm32h7/src/bin/ltdc.rs create mode 100644 examples/stm32h735/.cargo/config.toml create mode 100644 examples/stm32h735/Cargo.toml create mode 100644 examples/stm32h735/build.rs create mode 100644 examples/stm32h735/memory.x create mode 100644 examples/stm32h735/src/bin/ferris.bmp create mode 100644 examples/stm32h735/src/bin/ltdc.rs (limited to 'examples') diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 6f3007492..0584f3916 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -34,8 +34,6 @@ stm32-fmc = "0.3.0" embedded-storage = "0.3.1" static_cell = "2" chrono = { version = "^0.4", default-features = false } -embedded-graphics = { version = "0.8.1" } -tinybmp = { version = "0.5" } # cargo build/run [profile.dev] diff --git a/examples/stm32h7/src/bin/ferris.bmp b/examples/stm32h7/src/bin/ferris.bmp deleted file mode 100644 index 7a222ab84..000000000 Binary files a/examples/stm32h7/src/bin/ferris.bmp and /dev/null differ diff --git a/examples/stm32h7/src/bin/ltdc.rs b/examples/stm32h7/src/bin/ltdc.rs deleted file mode 100644 index 3b56bbb6c..000000000 --- a/examples/stm32h7/src/bin/ltdc.rs +++ /dev/null @@ -1,484 +0,0 @@ -#![no_std] -#![no_main] -#![macro_use] -#![allow(static_mut_refs)] - -/// This example demonstrates the LTDC lcd display peripheral and was tested to run on an stm32h735g-dk (embassy-stm32 feature "stm32h735ig" and probe-rs chip "STM32H735IGKx") -/// Even though the dev kit has 16MB of attached PSRAM this example uses the 320KB of internal AXIS RAM found on the mcu itself to make the example more standalone and portable. -/// For this reason a 256 color lookup table had to be used to keep the memory requirement down to an acceptable level. -/// The example bounces a ferris crab bitmap around the screen while blinking an led on another task -/// -use bouncy_box::BouncyBox; -use defmt::{info, unwrap}; -use embassy_executor::Spawner; -use embassy_stm32::{ - bind_interrupts, - gpio::{Level, Output, Speed}, - ltdc::{self, Ltdc, LtdcConfiguration, LtdcLayer, LtdcLayerConfig, PolarityActive, PolarityEdge}, - peripherals, -}; -use embassy_time::{Duration, Timer}; -use embedded_graphics::{ - draw_target::DrawTarget, - geometry::{OriginDimensions, Point, Size}, - image::Image, - pixelcolor::{raw::RawU24, Rgb888}, - prelude::*, - primitives::Rectangle, - Pixel, -}; -use heapless::{Entry, FnvIndexMap}; -use tinybmp::Bmp; -use {defmt_rtt as _, panic_probe as _}; - -const DISPLAY_WIDTH: usize = 480; -const DISPLAY_HEIGHT: usize = 272; -const MY_TASK_POOL_SIZE: usize = 2; - -// the following two display buffers consume 261120 bytes that just about fits into axis ram found on the mcu -// see memory.x linker script -pub static mut FB1: [TargetPixelType; DISPLAY_WIDTH * DISPLAY_HEIGHT] = [0; DISPLAY_WIDTH * DISPLAY_HEIGHT]; -pub static mut FB2: [TargetPixelType; DISPLAY_WIDTH * DISPLAY_HEIGHT] = [0; DISPLAY_WIDTH * DISPLAY_HEIGHT]; - -// a basic memory.x linker script for the stm32h735g-dk is as follows: -/* -MEMORY -{ - FLASH : ORIGIN = 0x08000000, LENGTH = 1024K - RAM : ORIGIN = 0x24000000, LENGTH = 320K -} -*/ - -bind_interrupts!(struct Irqs { - LTDC => ltdc::InterruptHandler; -}); - -const NUM_COLORS: usize = 256; - -#[embassy_executor::main] -async fn main(spawner: Spawner) { - let p = rcc_setup::stm32h735g_init(); - - // blink the led on another task - let led = Output::new(p.PC3, Level::High, Speed::Low); - unwrap!(spawner.spawn(led_task(led))); - - // numbers from STMicroelectronics/STM32CubeH7 STM32H735G-DK C-based example - const RK043FN48H_HSYNC: u16 = 41; // Horizontal synchronization - const RK043FN48H_HBP: u16 = 13; // Horizontal back porch - const RK043FN48H_HFP: u16 = 32; // Horizontal front porch - const RK043FN48H_VSYNC: u16 = 10; // Vertical synchronization - const RK043FN48H_VBP: u16 = 2; // Vertical back porch - const RK043FN48H_VFP: u16 = 2; // Vertical front porch - - let ltdc_config = LtdcConfiguration { - active_width: DISPLAY_WIDTH as _, - active_height: DISPLAY_HEIGHT as _, - h_back_porch: RK043FN48H_HBP - 11, // -11 from MX_LTDC_Init - h_front_porch: RK043FN48H_HFP, - v_back_porch: RK043FN48H_VBP, - v_front_porch: RK043FN48H_VFP, - h_sync: RK043FN48H_HSYNC, - v_sync: RK043FN48H_VSYNC, - h_sync_polarity: PolarityActive::ActiveLow, - v_sync_polarity: PolarityActive::ActiveLow, - data_enable_polarity: PolarityActive::ActiveHigh, - pixel_clock_polarity: PolarityEdge::FallingEdge, - }; - - info!("init ltdc"); - let mut ltdc = Ltdc::new_with_pins( - p.LTDC, Irqs, p.PG7, p.PC6, p.PA4, p.PG14, p.PD0, p.PD6, p.PA8, p.PE12, p.PA3, p.PB8, p.PB9, p.PB1, p.PB0, - p.PA6, p.PE11, p.PH15, p.PH4, p.PC7, p.PD3, p.PE0, p.PH3, p.PH8, p.PH9, p.PH10, p.PH11, p.PE1, p.PE15, - ); - ltdc.init(<dc_config); - - // we only need to draw on one layer for this example (not to be confused with the double buffer) - info!("enable bottom layer"); - let layer_config = LtdcLayerConfig { - pixel_format: ltdc::PixelFormat::L8, // 1 byte per pixel - layer: LtdcLayer::Layer1, - window_x0: 0, - window_x1: DISPLAY_WIDTH as _, - window_y0: 0, - window_y1: DISPLAY_HEIGHT as _, - }; - - let ferris_bmp: Bmp = Bmp::from_slice(include_bytes!("./ferris.bmp")).unwrap(); - let color_map = build_color_lookup_map(&ferris_bmp); - let clut = build_clut(&color_map); - - // enable the bottom layer with a 256 color lookup table - ltdc.init_layer(&layer_config, Some(&clut)); - - // Safety: the DoubleBuffer controls access to the statically allocated frame buffers - // and it is the only thing that mutates their content - let mut double_buffer = DoubleBuffer::new( - unsafe { FB1.as_mut() }, - unsafe { FB2.as_mut() }, - layer_config, - color_map, - ); - - // this allows us to perform some simple animation for every frame - let mut bouncy_box = BouncyBox::new( - ferris_bmp.bounding_box(), - Rectangle::new(Point::zero(), Size::new(DISPLAY_WIDTH as u32, DISPLAY_HEIGHT as u32)), - 2, - ); - - loop { - // cpu intensive drawing to the buffer that is NOT currently being copied to the LCD screen - double_buffer.clear(); - let position = bouncy_box.next_point(); - let ferris = Image::new(&ferris_bmp, position); - unwrap!(ferris.draw(&mut double_buffer)); - - // perform async dma data transfer to the lcd screen - unwrap!(double_buffer.swap(&mut ltdc).await); - } -} - -/// builds the color look-up table from all unique colors found in the bitmap. This should be a 256 color indexed bitmap to work. -fn build_color_lookup_map(bmp: &Bmp) -> FnvIndexMap { - let mut color_map: FnvIndexMap = heapless::FnvIndexMap::new(); - let mut counter: u8 = 0; - - // add black to position 0 - color_map.insert(Rgb888::new(0, 0, 0).into_storage(), counter).unwrap(); - counter += 1; - - for Pixel(_point, color) in bmp.pixels() { - let raw = color.into_storage(); - if let Entry::Vacant(v) = color_map.entry(raw) { - v.insert(counter).expect("more than 256 colors detected"); - counter += 1; - } - } - color_map -} - -/// builds the color look-up table from the color map provided -fn build_clut(color_map: &FnvIndexMap) -> [ltdc::RgbColor; NUM_COLORS] { - let mut clut = [ltdc::RgbColor::default(); NUM_COLORS]; - for (color, index) in color_map.iter() { - let color = Rgb888::from(RawU24::new(*color)); - clut[*index as usize] = ltdc::RgbColor { - red: color.r(), - green: color.g(), - blue: color.b(), - }; - } - - clut -} - -#[embassy_executor::task(pool_size = MY_TASK_POOL_SIZE)] -async fn led_task(mut led: Output<'static>) { - let mut counter = 0; - loop { - info!("blink: {}", counter); - counter += 1; - - // on - led.set_low(); - Timer::after(Duration::from_millis(50)).await; - - // off - led.set_high(); - Timer::after(Duration::from_millis(450)).await; - } -} - -pub type TargetPixelType = u8; - -// A simple double buffer -pub struct DoubleBuffer { - buf0: &'static mut [TargetPixelType], - buf1: &'static mut [TargetPixelType], - is_buf0: bool, - layer_config: LtdcLayerConfig, - color_map: FnvIndexMap, -} - -impl DoubleBuffer { - pub fn new( - buf0: &'static mut [TargetPixelType], - buf1: &'static mut [TargetPixelType], - layer_config: LtdcLayerConfig, - color_map: FnvIndexMap, - ) -> Self { - Self { - buf0, - buf1, - is_buf0: true, - layer_config, - color_map, - } - } - - pub fn current(&mut self) -> (&FnvIndexMap, &mut [TargetPixelType]) { - if self.is_buf0 { - (&self.color_map, self.buf0) - } else { - (&self.color_map, self.buf1) - } - } - - pub async fn swap(&mut self, ltdc: &mut Ltdc<'_, T>) -> Result<(), ltdc::Error> { - let (_, buf) = self.current(); - let frame_buffer = buf.as_ptr(); - self.is_buf0 = !self.is_buf0; - ltdc.set_buffer(self.layer_config.layer, frame_buffer as *const _).await - } - - /// Clears the buffer - pub fn clear(&mut self) { - let (color_map, buf) = self.current(); - let black = Rgb888::new(0, 0, 0).into_storage(); - let color_index = color_map.get(&black).expect("no black found in the color map"); - - for a in buf.iter_mut() { - *a = *color_index; // solid black - } - } -} - -// Implement DrawTarget for -impl DrawTarget for DoubleBuffer { - type Color = Rgb888; - type Error = (); - - /// Draw a pixel - fn draw_iter(&mut self, pixels: I) -> Result<(), Self::Error> - where - I: IntoIterator>, - { - let size = self.size(); - let width = size.width as i32; - let height = size.height as i32; - let (color_map, buf) = self.current(); - - for pixel in pixels { - let Pixel(point, color) = pixel; - - if point.x >= 0 && point.y >= 0 && point.x < width && point.y < height { - let index = point.y * width + point.x; - let raw_color = color.into_storage(); - - match color_map.get(&raw_color) { - Some(x) => { - buf[index as usize] = *x; - } - None => panic!("color not found in color map: {}", raw_color), - }; - } else { - // Ignore invalid points - } - } - - Ok(()) - } -} - -impl OriginDimensions for DoubleBuffer { - /// Return the size of the display - fn size(&self) -> Size { - Size::new( - (self.layer_config.window_x1 - self.layer_config.window_x0) as _, - (self.layer_config.window_y1 - self.layer_config.window_y0) as _, - ) - } -} - -mod rcc_setup { - - use embassy_stm32::{rcc::*, Peripherals}; - use embassy_stm32::{ - rcc::{Hse, HseMode}, - time::Hertz, - Config, - }; - - /// Sets up clocks for the stm32h735g mcu - /// change this if you plan to use a different microcontroller - pub fn stm32h735g_init() -> Peripherals { - /* - https://github.com/STMicroelectronics/STM32CubeH7/blob/master/Projects/STM32H735G-DK/Examples/GPIO/GPIO_EXTI/Src/main.c - @brief System Clock Configuration - The system Clock is configured as follow : - System Clock source = PLL (HSE) - SYSCLK(Hz) = 520000000 (CPU Clock) - HCLK(Hz) = 260000000 (AXI and AHBs Clock) - AHB Prescaler = 2 - D1 APB3 Prescaler = 2 (APB3 Clock 130MHz) - D2 APB1 Prescaler = 2 (APB1 Clock 130MHz) - D2 APB2 Prescaler = 2 (APB2 Clock 130MHz) - D3 APB4 Prescaler = 2 (APB4 Clock 130MHz) - HSE Frequency(Hz) = 25000000 - PLL_M = 5 - PLL_N = 104 - PLL_P = 1 - PLL_Q = 4 - PLL_R = 2 - VDD(V) = 3.3 - Flash Latency(WS) = 3 - */ - - // setup power and clocks for an stm32h735g-dk run from an external 25 Mhz external oscillator - let mut config = Config::default(); - config.rcc.hse = Some(Hse { - freq: Hertz::mhz(25), - mode: HseMode::Oscillator, - }); - config.rcc.hsi = None; - config.rcc.csi = false; - config.rcc.pll1 = Some(Pll { - source: PllSource::HSE, - prediv: PllPreDiv::DIV5, // PLL_M - mul: PllMul::MUL104, // PLL_N - divp: Some(PllDiv::DIV1), - divq: Some(PllDiv::DIV4), - divr: Some(PllDiv::DIV2), - }); - // numbers adapted from Drivers/BSP/STM32H735G-DK/stm32h735g_discovery_ospi.c - // MX_OSPI_ClockConfig - config.rcc.pll2 = Some(Pll { - source: PllSource::HSE, - prediv: PllPreDiv::DIV5, // PLL_M - mul: PllMul::MUL80, // PLL_N - divp: Some(PllDiv::DIV5), - divq: Some(PllDiv::DIV2), - divr: Some(PllDiv::DIV2), - }); - // numbers adapted from Drivers/BSP/STM32H735G-DK/stm32h735g_discovery_lcd.c - // MX_LTDC_ClockConfig - config.rcc.pll3 = Some(Pll { - source: PllSource::HSE, - prediv: PllPreDiv::DIV5, // PLL_M - mul: PllMul::MUL160, // PLL_N - divp: Some(PllDiv::DIV2), - divq: Some(PllDiv::DIV2), - divr: Some(PllDiv::DIV83), - }); - config.rcc.voltage_scale = VoltageScale::Scale0; - config.rcc.supply_config = SupplyConfig::DirectSMPS; - config.rcc.sys = Sysclk::PLL1_P; - config.rcc.ahb_pre = AHBPrescaler::DIV2; - config.rcc.apb1_pre = APBPrescaler::DIV2; - config.rcc.apb2_pre = APBPrescaler::DIV2; - config.rcc.apb3_pre = APBPrescaler::DIV2; - config.rcc.apb4_pre = APBPrescaler::DIV2; - let p = embassy_stm32::init(config); - p - } -} - -mod bouncy_box { - use embedded_graphics::{geometry::Point, primitives::Rectangle}; - - enum Direction { - DownLeft, - DownRight, - UpLeft, - UpRight, - } - - pub struct BouncyBox { - direction: Direction, - child_rect: Rectangle, - parent_rect: Rectangle, - current_point: Point, - move_by: usize, - } - - // This calculates the coordinates of a chile rectangle bounced around inside a parent bounded box - impl BouncyBox { - pub fn new(child_rect: Rectangle, parent_rect: Rectangle, move_by: usize) -> Self { - let center_box = parent_rect.center(); - let center_img = child_rect.center(); - let current_point = Point::new(center_box.x - center_img.x / 2, center_box.y - center_img.y / 2); - Self { - direction: Direction::DownRight, - child_rect, - parent_rect, - current_point, - move_by, - } - } - - pub fn next_point(&mut self) -> Point { - let direction = &self.direction; - let img_height = self.child_rect.size.height as i32; - let box_height = self.parent_rect.size.height as i32; - let img_width = self.child_rect.size.width as i32; - let box_width = self.parent_rect.size.width as i32; - let move_by = self.move_by as i32; - - match direction { - Direction::DownLeft => { - self.current_point.x -= move_by; - self.current_point.y += move_by; - - let x_out_of_bounds = self.current_point.x < 0; - let y_out_of_bounds = (self.current_point.y + img_height) > box_height; - - if x_out_of_bounds && y_out_of_bounds { - self.direction = Direction::UpRight - } else if x_out_of_bounds && !y_out_of_bounds { - self.direction = Direction::DownRight - } else if !x_out_of_bounds && y_out_of_bounds { - self.direction = Direction::UpLeft - } - } - Direction::DownRight => { - self.current_point.x += move_by; - self.current_point.y += move_by; - - let x_out_of_bounds = (self.current_point.x + img_width) > box_width; - let y_out_of_bounds = (self.current_point.y + img_height) > box_height; - - if x_out_of_bounds && y_out_of_bounds { - self.direction = Direction::UpLeft - } else if x_out_of_bounds && !y_out_of_bounds { - self.direction = Direction::DownLeft - } else if !x_out_of_bounds && y_out_of_bounds { - self.direction = Direction::UpRight - } - } - Direction::UpLeft => { - self.current_point.x -= move_by; - self.current_point.y -= move_by; - - let x_out_of_bounds = self.current_point.x < 0; - let y_out_of_bounds = self.current_point.y < 0; - - if x_out_of_bounds && y_out_of_bounds { - self.direction = Direction::DownRight - } else if x_out_of_bounds && !y_out_of_bounds { - self.direction = Direction::UpRight - } else if !x_out_of_bounds && y_out_of_bounds { - self.direction = Direction::DownLeft - } - } - Direction::UpRight => { - self.current_point.x += move_by; - self.current_point.y -= move_by; - - let x_out_of_bounds = (self.current_point.x + img_width) > box_width; - let y_out_of_bounds = self.current_point.y < 0; - - if x_out_of_bounds && y_out_of_bounds { - self.direction = Direction::DownLeft - } else if x_out_of_bounds && !y_out_of_bounds { - self.direction = Direction::UpLeft - } else if !x_out_of_bounds && y_out_of_bounds { - self.direction = Direction::DownRight - } - } - } - - self.current_point - } - } -} diff --git a/examples/stm32h735/.cargo/config.toml b/examples/stm32h735/.cargo/config.toml new file mode 100644 index 000000000..95536c6a8 --- /dev/null +++ b/examples/stm32h735/.cargo/config.toml @@ -0,0 +1,8 @@ +[target.thumbv7em-none-eabihf] +runner = 'probe-rs run --chip STM32H735IGKx' + +[build] +target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) + +[env] +DEFMT_LOG = "trace" diff --git a/examples/stm32h735/Cargo.toml b/examples/stm32h735/Cargo.toml new file mode 100644 index 000000000..fc21cc894 --- /dev/null +++ b/examples/stm32h735/Cargo.toml @@ -0,0 +1,61 @@ +[package] +edition = "2021" +name = "embassy-stm32h735-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h735ig", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } +embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } + +defmt = "0.3" +defmt-rtt = "0.4" + +cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } +cortex-m-rt = "0.7.0" +panic-probe = { version = "0.3", features = ["print-defmt"] } +heapless = { version = "0.8", default-features = false } +embedded-graphics = { version = "0.8.1" } +tinybmp = { version = "0.5" } + +# cargo build/run +[profile.dev] +codegen-units = 1 +debug = 2 +debug-assertions = true # <- +incremental = false +opt-level = 3 # <- +overflow-checks = true # <- + +# cargo test +[profile.test] +codegen-units = 1 +debug = 2 +debug-assertions = true # <- +incremental = false +opt-level = 3 # <- +overflow-checks = true # <- + +# cargo build/run --release +[profile.release] +codegen-units = 1 +debug = 2 +debug-assertions = false # <- +incremental = false +lto = 'fat' +opt-level = 3 # <- +overflow-checks = false # <- + +# cargo test --release +[profile.bench] +codegen-units = 1 +debug = 2 +debug-assertions = false # <- +incremental = false +lto = 'fat' +opt-level = 3 # <- +overflow-checks = false # <- diff --git a/examples/stm32h735/build.rs b/examples/stm32h735/build.rs new file mode 100644 index 000000000..30691aa97 --- /dev/null +++ b/examples/stm32h735/build.rs @@ -0,0 +1,35 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory -- wherever `Cargo.toml` is. However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! updating `memory.x` ensures a rebuild of the application with the +//! new memory settings. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); + + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/stm32h735/memory.x b/examples/stm32h735/memory.x new file mode 100644 index 000000000..3a70d24d2 --- /dev/null +++ b/examples/stm32h735/memory.x @@ -0,0 +1,5 @@ +MEMORY +{ + FLASH : ORIGIN = 0x08000000, LENGTH = 1024K + RAM : ORIGIN = 0x24000000, LENGTH = 320K +} \ No newline at end of file diff --git a/examples/stm32h735/src/bin/ferris.bmp b/examples/stm32h735/src/bin/ferris.bmp new file mode 100644 index 000000000..7a222ab84 Binary files /dev/null and b/examples/stm32h735/src/bin/ferris.bmp differ diff --git a/examples/stm32h735/src/bin/ltdc.rs b/examples/stm32h735/src/bin/ltdc.rs new file mode 100644 index 000000000..5c75a7db1 --- /dev/null +++ b/examples/stm32h735/src/bin/ltdc.rs @@ -0,0 +1,473 @@ +#![no_std] +#![no_main] +#![macro_use] +#![allow(static_mut_refs)] + +/// This example demonstrates the LTDC lcd display peripheral and was tested to run on an stm32h735g-dk (embassy-stm32 feature "stm32h735ig" and probe-rs chip "STM32H735IGKx") +/// Even though the dev kit has 16MB of attached PSRAM this example uses the 320KB of internal AXIS RAM found on the mcu itself to make the example more standalone and portable. +/// For this reason a 256 color lookup table had to be used to keep the memory requirement down to an acceptable level. +/// The example bounces a ferris crab bitmap around the screen while blinking an led on another task +/// +use bouncy_box::BouncyBox; +use defmt::{info, unwrap}; +use embassy_executor::Spawner; +use embassy_stm32::{ + bind_interrupts, + gpio::{Level, Output, Speed}, + ltdc::{self, Ltdc, LtdcConfiguration, LtdcLayer, LtdcLayerConfig, PolarityActive, PolarityEdge}, + peripherals, +}; +use embassy_time::{Duration, Timer}; +use embedded_graphics::{ + draw_target::DrawTarget, + geometry::{OriginDimensions, Point, Size}, + image::Image, + pixelcolor::{raw::RawU24, Rgb888}, + prelude::*, + primitives::Rectangle, + Pixel, +}; +use heapless::{Entry, FnvIndexMap}; +use tinybmp::Bmp; +use {defmt_rtt as _, panic_probe as _}; + +const DISPLAY_WIDTH: usize = 480; +const DISPLAY_HEIGHT: usize = 272; +const MY_TASK_POOL_SIZE: usize = 2; + +// the following two display buffers consume 261120 bytes that just about fits into axis ram found on the mcu +pub static mut FB1: [TargetPixelType; DISPLAY_WIDTH * DISPLAY_HEIGHT] = [0; DISPLAY_WIDTH * DISPLAY_HEIGHT]; +pub static mut FB2: [TargetPixelType; DISPLAY_WIDTH * DISPLAY_HEIGHT] = [0; DISPLAY_WIDTH * DISPLAY_HEIGHT]; + +bind_interrupts!(struct Irqs { + LTDC => ltdc::InterruptHandler; +}); + +const NUM_COLORS: usize = 256; + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = rcc_setup::stm32h735g_init(); + + // blink the led on another task + let led = Output::new(p.PC3, Level::High, Speed::Low); + unwrap!(spawner.spawn(led_task(led))); + + // numbers from STMicroelectronics/STM32CubeH7 STM32H735G-DK C-based example + const RK043FN48H_HSYNC: u16 = 41; // Horizontal synchronization + const RK043FN48H_HBP: u16 = 13; // Horizontal back porch + const RK043FN48H_HFP: u16 = 32; // Horizontal front porch + const RK043FN48H_VSYNC: u16 = 10; // Vertical synchronization + const RK043FN48H_VBP: u16 = 2; // Vertical back porch + const RK043FN48H_VFP: u16 = 2; // Vertical front porch + + let ltdc_config = LtdcConfiguration { + active_width: DISPLAY_WIDTH as _, + active_height: DISPLAY_HEIGHT as _, + h_back_porch: RK043FN48H_HBP - 11, // -11 from MX_LTDC_Init + h_front_porch: RK043FN48H_HFP, + v_back_porch: RK043FN48H_VBP, + v_front_porch: RK043FN48H_VFP, + h_sync: RK043FN48H_HSYNC, + v_sync: RK043FN48H_VSYNC, + h_sync_polarity: PolarityActive::ActiveLow, + v_sync_polarity: PolarityActive::ActiveLow, + data_enable_polarity: PolarityActive::ActiveHigh, + pixel_clock_polarity: PolarityEdge::FallingEdge, + }; + + info!("init ltdc"); + let mut ltdc = Ltdc::new_with_pins( + p.LTDC, Irqs, p.PG7, p.PC6, p.PA4, p.PG14, p.PD0, p.PD6, p.PA8, p.PE12, p.PA3, p.PB8, p.PB9, p.PB1, p.PB0, + p.PA6, p.PE11, p.PH15, p.PH4, p.PC7, p.PD3, p.PE0, p.PH3, p.PH8, p.PH9, p.PH10, p.PH11, p.PE1, p.PE15, + ); + ltdc.init(<dc_config); + + // we only need to draw on one layer for this example (not to be confused with the double buffer) + info!("enable bottom layer"); + let layer_config = LtdcLayerConfig { + pixel_format: ltdc::PixelFormat::L8, // 1 byte per pixel + layer: LtdcLayer::Layer1, + window_x0: 0, + window_x1: DISPLAY_WIDTH as _, + window_y0: 0, + window_y1: DISPLAY_HEIGHT as _, + }; + + let ferris_bmp: Bmp = Bmp::from_slice(include_bytes!("./ferris.bmp")).unwrap(); + let color_map = build_color_lookup_map(&ferris_bmp); + let clut = build_clut(&color_map); + + // enable the bottom layer with a 256 color lookup table + ltdc.init_layer(&layer_config, Some(&clut)); + + // Safety: the DoubleBuffer controls access to the statically allocated frame buffers + // and it is the only thing that mutates their content + let mut double_buffer = DoubleBuffer::new( + unsafe { FB1.as_mut() }, + unsafe { FB2.as_mut() }, + layer_config, + color_map, + ); + + // this allows us to perform some simple animation for every frame + let mut bouncy_box = BouncyBox::new( + ferris_bmp.bounding_box(), + Rectangle::new(Point::zero(), Size::new(DISPLAY_WIDTH as u32, DISPLAY_HEIGHT as u32)), + 2, + ); + + loop { + // cpu intensive drawing to the buffer that is NOT currently being copied to the LCD screen + double_buffer.clear(); + let position = bouncy_box.next_point(); + let ferris = Image::new(&ferris_bmp, position); + unwrap!(ferris.draw(&mut double_buffer)); + + // perform async dma data transfer to the lcd screen + unwrap!(double_buffer.swap(&mut ltdc).await); + } +} + +/// builds the color look-up table from all unique colors found in the bitmap. This should be a 256 color indexed bitmap to work. +fn build_color_lookup_map(bmp: &Bmp) -> FnvIndexMap { + let mut color_map: FnvIndexMap = heapless::FnvIndexMap::new(); + let mut counter: u8 = 0; + + // add black to position 0 + color_map.insert(Rgb888::new(0, 0, 0).into_storage(), counter).unwrap(); + counter += 1; + + for Pixel(_point, color) in bmp.pixels() { + let raw = color.into_storage(); + if let Entry::Vacant(v) = color_map.entry(raw) { + v.insert(counter).expect("more than 256 colors detected"); + counter += 1; + } + } + color_map +} + +/// builds the color look-up table from the color map provided +fn build_clut(color_map: &FnvIndexMap) -> [ltdc::RgbColor; NUM_COLORS] { + let mut clut = [ltdc::RgbColor::default(); NUM_COLORS]; + for (color, index) in color_map.iter() { + let color = Rgb888::from(RawU24::new(*color)); + clut[*index as usize] = ltdc::RgbColor { + red: color.r(), + green: color.g(), + blue: color.b(), + }; + } + + clut +} + +#[embassy_executor::task(pool_size = MY_TASK_POOL_SIZE)] +async fn led_task(mut led: Output<'static>) { + let mut counter = 0; + loop { + info!("blink: {}", counter); + counter += 1; + + // on + led.set_low(); + Timer::after(Duration::from_millis(50)).await; + + // off + led.set_high(); + Timer::after(Duration::from_millis(450)).await; + } +} + +pub type TargetPixelType = u8; + +// A simple double buffer +pub struct DoubleBuffer { + buf0: &'static mut [TargetPixelType], + buf1: &'static mut [TargetPixelType], + is_buf0: bool, + layer_config: LtdcLayerConfig, + color_map: FnvIndexMap, +} + +impl DoubleBuffer { + pub fn new( + buf0: &'static mut [TargetPixelType], + buf1: &'static mut [TargetPixelType], + layer_config: LtdcLayerConfig, + color_map: FnvIndexMap, + ) -> Self { + Self { + buf0, + buf1, + is_buf0: true, + layer_config, + color_map, + } + } + + pub fn current(&mut self) -> (&FnvIndexMap, &mut [TargetPixelType]) { + if self.is_buf0 { + (&self.color_map, self.buf0) + } else { + (&self.color_map, self.buf1) + } + } + + pub async fn swap(&mut self, ltdc: &mut Ltdc<'_, T>) -> Result<(), ltdc::Error> { + let (_, buf) = self.current(); + let frame_buffer = buf.as_ptr(); + self.is_buf0 = !self.is_buf0; + ltdc.set_buffer(self.layer_config.layer, frame_buffer as *const _).await + } + + /// Clears the buffer + pub fn clear(&mut self) { + let (color_map, buf) = self.current(); + let black = Rgb888::new(0, 0, 0).into_storage(); + let color_index = color_map.get(&black).expect("no black found in the color map"); + + for a in buf.iter_mut() { + *a = *color_index; // solid black + } + } +} + +// Implement DrawTarget for +impl DrawTarget for DoubleBuffer { + type Color = Rgb888; + type Error = (); + + /// Draw a pixel + fn draw_iter(&mut self, pixels: I) -> Result<(), Self::Error> + where + I: IntoIterator>, + { + let size = self.size(); + let width = size.width as i32; + let height = size.height as i32; + let (color_map, buf) = self.current(); + + for pixel in pixels { + let Pixel(point, color) = pixel; + + if point.x >= 0 && point.y >= 0 && point.x < width && point.y < height { + let index = point.y * width + point.x; + let raw_color = color.into_storage(); + + match color_map.get(&raw_color) { + Some(x) => { + buf[index as usize] = *x; + } + None => panic!("color not found in color map: {}", raw_color), + }; + } else { + // Ignore invalid points + } + } + + Ok(()) + } +} + +impl OriginDimensions for DoubleBuffer { + /// Return the size of the display + fn size(&self) -> Size { + Size::new( + (self.layer_config.window_x1 - self.layer_config.window_x0) as _, + (self.layer_config.window_y1 - self.layer_config.window_y0) as _, + ) + } +} + +mod rcc_setup { + + use embassy_stm32::{rcc::*, Peripherals}; + use embassy_stm32::{ + rcc::{Hse, HseMode}, + time::Hertz, + Config, + }; + + /// Sets up clocks for the stm32h735g mcu + /// change this if you plan to use a different microcontroller + pub fn stm32h735g_init() -> Peripherals { + /* + https://github.com/STMicroelectronics/STM32CubeH7/blob/master/Projects/STM32H735G-DK/Examples/GPIO/GPIO_EXTI/Src/main.c + @brief System Clock Configuration + The system Clock is configured as follow : + System Clock source = PLL (HSE) + SYSCLK(Hz) = 520000000 (CPU Clock) + HCLK(Hz) = 260000000 (AXI and AHBs Clock) + AHB Prescaler = 2 + D1 APB3 Prescaler = 2 (APB3 Clock 130MHz) + D2 APB1 Prescaler = 2 (APB1 Clock 130MHz) + D2 APB2 Prescaler = 2 (APB2 Clock 130MHz) + D3 APB4 Prescaler = 2 (APB4 Clock 130MHz) + HSE Frequency(Hz) = 25000000 + PLL_M = 5 + PLL_N = 104 + PLL_P = 1 + PLL_Q = 4 + PLL_R = 2 + VDD(V) = 3.3 + Flash Latency(WS) = 3 + */ + + // setup power and clocks for an stm32h735g-dk run from an external 25 Mhz external oscillator + let mut config = Config::default(); + config.rcc.hse = Some(Hse { + freq: Hertz::mhz(25), + mode: HseMode::Oscillator, + }); + config.rcc.hsi = None; + config.rcc.csi = false; + config.rcc.pll1 = Some(Pll { + source: PllSource::HSE, + prediv: PllPreDiv::DIV5, // PLL_M + mul: PllMul::MUL104, // PLL_N + divp: Some(PllDiv::DIV1), + divq: Some(PllDiv::DIV4), + divr: Some(PllDiv::DIV2), + }); + // numbers adapted from Drivers/BSP/STM32H735G-DK/stm32h735g_discovery_ospi.c + // MX_OSPI_ClockConfig + config.rcc.pll2 = Some(Pll { + source: PllSource::HSE, + prediv: PllPreDiv::DIV5, // PLL_M + mul: PllMul::MUL80, // PLL_N + divp: Some(PllDiv::DIV5), + divq: Some(PllDiv::DIV2), + divr: Some(PllDiv::DIV2), + }); + // numbers adapted from Drivers/BSP/STM32H735G-DK/stm32h735g_discovery_lcd.c + // MX_LTDC_ClockConfig + config.rcc.pll3 = Some(Pll { + source: PllSource::HSE, + prediv: PllPreDiv::DIV5, // PLL_M + mul: PllMul::MUL160, // PLL_N + divp: Some(PllDiv::DIV2), + divq: Some(PllDiv::DIV2), + divr: Some(PllDiv::DIV83), + }); + config.rcc.voltage_scale = VoltageScale::Scale0; + config.rcc.supply_config = SupplyConfig::DirectSMPS; + config.rcc.sys = Sysclk::PLL1_P; + config.rcc.ahb_pre = AHBPrescaler::DIV2; + config.rcc.apb1_pre = APBPrescaler::DIV2; + config.rcc.apb2_pre = APBPrescaler::DIV2; + config.rcc.apb3_pre = APBPrescaler::DIV2; + config.rcc.apb4_pre = APBPrescaler::DIV2; + embassy_stm32::init(config) + } +} + +mod bouncy_box { + use embedded_graphics::{geometry::Point, primitives::Rectangle}; + + enum Direction { + DownLeft, + DownRight, + UpLeft, + UpRight, + } + + pub struct BouncyBox { + direction: Direction, + child_rect: Rectangle, + parent_rect: Rectangle, + current_point: Point, + move_by: usize, + } + + // This calculates the coordinates of a chile rectangle bounced around inside a parent bounded box + impl BouncyBox { + pub fn new(child_rect: Rectangle, parent_rect: Rectangle, move_by: usize) -> Self { + let center_box = parent_rect.center(); + let center_img = child_rect.center(); + let current_point = Point::new(center_box.x - center_img.x / 2, center_box.y - center_img.y / 2); + Self { + direction: Direction::DownRight, + child_rect, + parent_rect, + current_point, + move_by, + } + } + + pub fn next_point(&mut self) -> Point { + let direction = &self.direction; + let img_height = self.child_rect.size.height as i32; + let box_height = self.parent_rect.size.height as i32; + let img_width = self.child_rect.size.width as i32; + let box_width = self.parent_rect.size.width as i32; + let move_by = self.move_by as i32; + + match direction { + Direction::DownLeft => { + self.current_point.x -= move_by; + self.current_point.y += move_by; + + let x_out_of_bounds = self.current_point.x < 0; + let y_out_of_bounds = (self.current_point.y + img_height) > box_height; + + if x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::UpRight + } else if x_out_of_bounds && !y_out_of_bounds { + self.direction = Direction::DownRight + } else if !x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::UpLeft + } + } + Direction::DownRight => { + self.current_point.x += move_by; + self.current_point.y += move_by; + + let x_out_of_bounds = (self.current_point.x + img_width) > box_width; + let y_out_of_bounds = (self.current_point.y + img_height) > box_height; + + if x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::UpLeft + } else if x_out_of_bounds && !y_out_of_bounds { + self.direction = Direction::DownLeft + } else if !x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::UpRight + } + } + Direction::UpLeft => { + self.current_point.x -= move_by; + self.current_point.y -= move_by; + + let x_out_of_bounds = self.current_point.x < 0; + let y_out_of_bounds = self.current_point.y < 0; + + if x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::DownRight + } else if x_out_of_bounds && !y_out_of_bounds { + self.direction = Direction::UpRight + } else if !x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::DownLeft + } + } + Direction::UpRight => { + self.current_point.x += move_by; + self.current_point.y -= move_by; + + let x_out_of_bounds = (self.current_point.x + img_width) > box_width; + let y_out_of_bounds = self.current_point.y < 0; + + if x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::DownLeft + } else if x_out_of_bounds && !y_out_of_bounds { + self.direction = Direction::UpLeft + } else if !x_out_of_bounds && y_out_of_bounds { + self.direction = Direction::DownRight + } + } + } + + self.current_point + } + } +} -- cgit From 6edf7b4688361e165c2ea9af03df9725a89a853e Mon Sep 17 00:00:00 2001 From: David Haig Date: Fri, 28 Jun 2024 18:17:17 +0100 Subject: Applied formatting --- examples/stm32h735/src/bin/ltdc.rs | 42 ++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 24 deletions(-) (limited to 'examples') diff --git a/examples/stm32h735/src/bin/ltdc.rs b/examples/stm32h735/src/bin/ltdc.rs index 5c75a7db1..a36fdef2c 100644 --- a/examples/stm32h735/src/bin/ltdc.rs +++ b/examples/stm32h735/src/bin/ltdc.rs @@ -11,22 +11,18 @@ use bouncy_box::BouncyBox; use defmt::{info, unwrap}; use embassy_executor::Spawner; -use embassy_stm32::{ - bind_interrupts, - gpio::{Level, Output, Speed}, - ltdc::{self, Ltdc, LtdcConfiguration, LtdcLayer, LtdcLayerConfig, PolarityActive, PolarityEdge}, - peripherals, -}; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::ltdc::{self, Ltdc, LtdcConfiguration, LtdcLayer, LtdcLayerConfig, PolarityActive, PolarityEdge}; +use embassy_stm32::{bind_interrupts, peripherals}; use embassy_time::{Duration, Timer}; -use embedded_graphics::{ - draw_target::DrawTarget, - geometry::{OriginDimensions, Point, Size}, - image::Image, - pixelcolor::{raw::RawU24, Rgb888}, - prelude::*, - primitives::Rectangle, - Pixel, -}; +use embedded_graphics::draw_target::DrawTarget; +use embedded_graphics::geometry::{OriginDimensions, Point, Size}; +use embedded_graphics::image::Image; +use embedded_graphics::pixelcolor::raw::RawU24; +use embedded_graphics::pixelcolor::Rgb888; +use embedded_graphics::prelude::*; +use embedded_graphics::primitives::Rectangle; +use embedded_graphics::Pixel; use heapless::{Entry, FnvIndexMap}; use tinybmp::Bmp; use {defmt_rtt as _, panic_probe as _}; @@ -100,7 +96,7 @@ async fn main(spawner: Spawner) { // enable the bottom layer with a 256 color lookup table ltdc.init_layer(&layer_config, Some(&clut)); - + // Safety: the DoubleBuffer controls access to the statically allocated frame buffers // and it is the only thing that mutates their content let mut double_buffer = DoubleBuffer::new( @@ -283,12 +279,9 @@ impl OriginDimensions for DoubleBuffer { mod rcc_setup { - use embassy_stm32::{rcc::*, Peripherals}; - use embassy_stm32::{ - rcc::{Hse, HseMode}, - time::Hertz, - Config, - }; + use embassy_stm32::rcc::{Hse, HseMode, *}; + use embassy_stm32::time::Hertz; + use embassy_stm32::{Config, Peripherals}; /// Sets up clocks for the stm32h735g mcu /// change this if you plan to use a different microcontroller @@ -359,12 +352,13 @@ mod rcc_setup { config.rcc.apb2_pre = APBPrescaler::DIV2; config.rcc.apb3_pre = APBPrescaler::DIV2; config.rcc.apb4_pre = APBPrescaler::DIV2; - embassy_stm32::init(config) + embassy_stm32::init(config) } } mod bouncy_box { - use embedded_graphics::{geometry::Point, primitives::Rectangle}; + use embedded_graphics::geometry::Point; + use embedded_graphics::primitives::Rectangle; enum Direction { DownLeft, -- cgit From 96cdf9c9e046300b76969c39ac950d512e0184ce Mon Sep 17 00:00:00 2001 From: Krzysztof Królczyk Date: Thu, 27 Jun 2024 21:22:16 +0200 Subject: rp/i2c: add address flexibility and example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previous i2c examples are using either blocking Embassy API or e-h traits, this example uses Embassy pub API directly. Signed-off-by: Krzysztof Królczyk --- examples/rp/src/bin/i2c_async_embassy.rs | 85 ++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 examples/rp/src/bin/i2c_async_embassy.rs (limited to 'examples') diff --git a/examples/rp/src/bin/i2c_async_embassy.rs b/examples/rp/src/bin/i2c_async_embassy.rs new file mode 100644 index 000000000..a65b71b9f --- /dev/null +++ b/examples/rp/src/bin/i2c_async_embassy.rs @@ -0,0 +1,85 @@ +//! This example shows how to communicate asynchronous using i2c with external chip. +//! +//! It's using embassy's functions directly instead of traits from embedded_hal_async::i2c::I2c. +//! While most of i2c devices are addressed using 7 bits, an extension allows 10 bits too. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_rp::i2c::InterruptHandler; +use {defmt_rtt as _, panic_probe as _}; + +// Our anonymous hypotetical temperature sensor could be: +// a 12-bit sensor, with 100ms startup time, range of -40*C - 125*C, and precision 0.25*C +// It requires no configuration or calibration, works with all i2c bus speeds, +// never stretches clock or does anything complicated. Replies with one u16. +// It requires only one write to take it out of suspend mode, and stays on. +// Often result would be just on 12 bits, but here we'll simplify it to 16. + +enum UncomplicatedSensorId { + A(UncomplicatedSensorU8), + B(UncomplicatedSensorU16), +} +enum UncomplicatedSensorU8 { + First = 0x48, +} +enum UncomplicatedSensorU16 { + Other = 0x0049, +} + +impl Into for UncomplicatedSensorU16 { + fn into(self) -> u16 { + self as u16 + } +} +impl Into for UncomplicatedSensorU8 { + fn into(self) -> u16 { + 0x48 + } +} +impl From for u16 { + fn from(t: UncomplicatedSensorId) -> Self { + match t { + UncomplicatedSensorId::A(x) => x.into(), + UncomplicatedSensorId::B(x) => x.into(), + } + } +} + +embassy_rp::bind_interrupts!(struct Irqs { + I2C1_IRQ => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_task_spawner: embassy_executor::Spawner) { + let p = embassy_rp::init(Default::default()); + let sda = p.PIN_14; + let scl = p.PIN_15; + let config = embassy_rp::i2c::Config::default(); + let mut bus = embassy_rp::i2c::I2c::new_async(p.I2C1, scl, sda, Irqs, config); + + const WAKEYWAKEY: u16 = 0xBABE; + let mut result: [u8; 2] = [0, 0]; + // wait for sensors to initialize + embassy_time::Timer::after(embassy_time::Duration::from_millis(100)).await; + + let _res_1 = bus + .write_async(UncomplicatedSensorU8::First, WAKEYWAKEY.to_be_bytes()) + .await; + let _res_2 = bus + .write_async(UncomplicatedSensorU16::Other, WAKEYWAKEY.to_be_bytes()) + .await; + + loop { + let s1 = UncomplicatedSensorId::A(UncomplicatedSensorU8::First); + let s2 = UncomplicatedSensorId::B(UncomplicatedSensorU16::Other); + let sensors = [s1, s2]; + for sensor in sensors { + if bus.read_async(sensor, &mut result).await.is_ok() { + info!("Result {}", u16::from_be_bytes(result.into())); + } + } + embassy_time::Timer::after(embassy_time::Duration::from_millis(200)).await; + } +} -- cgit From 67f5b8d974c23854676cff3a6797cf4aaf41a402 Mon Sep 17 00:00:00 2001 From: Eekle <96976531+Eekle@users.noreply.github.com> Date: Sun, 30 Jun 2024 11:06:32 +0200 Subject: Update example --- examples/stm32u5/src/bin/tsc.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32u5/src/bin/tsc.rs b/examples/stm32u5/src/bin/tsc.rs index db85fb158..eb15d275a 100644 --- a/examples/stm32u5/src/bin/tsc.rs +++ b/examples/stm32u5/src/bin/tsc.rs @@ -50,9 +50,8 @@ async fn main(_spawner: embassy_executor::Spawner) { g7.set_io2(context.PE3, PinType::Sample); g7.set_io3(context.PE4, PinType::Channel); - let mut touch_controller = tsc::Tsc::new( + let mut touch_controller = tsc::Tsc::new_async( context.TSC, - Irqs, Some(g1), Some(g2), None, @@ -62,6 +61,7 @@ async fn main(_spawner: embassy_executor::Spawner) { Some(g7), None, config, + Irqs, ); touch_controller.discharge_io(true); -- cgit From c4b88b57812da85b6952300509736fd02a4640fa Mon Sep 17 00:00:00 2001 From: Josh Junon Date: Sat, 29 Jun 2024 01:17:27 +0200 Subject: wiznet: add version check to initialization sequence --- examples/rp/src/bin/ethernet_w5500_multisocket.rs | 3 ++- examples/rp/src/bin/ethernet_w5500_tcp_client.rs | 3 ++- examples/rp/src/bin/ethernet_w5500_tcp_server.rs | 3 ++- examples/rp/src/bin/ethernet_w5500_udp.rs | 3 ++- examples/stm32f4/src/bin/eth_w5500.rs | 4 +++- 5 files changed, 11 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/ethernet_w5500_multisocket.rs b/examples/rp/src/bin/ethernet_w5500_multisocket.rs index bd52cadca..def26b53d 100644 --- a/examples/rp/src/bin/ethernet_w5500_multisocket.rs +++ b/examples/rp/src/bin/ethernet_w5500_multisocket.rs @@ -63,7 +63,8 @@ async fn main(spawner: Spawner) { w5500_int, w5500_reset, ) - .await; + .await + .unwrap(); unwrap!(spawner.spawn(ethernet_task(runner))); // Generate random seed diff --git a/examples/rp/src/bin/ethernet_w5500_tcp_client.rs b/examples/rp/src/bin/ethernet_w5500_tcp_client.rs index 3e4fbd2e6..6c4a78361 100644 --- a/examples/rp/src/bin/ethernet_w5500_tcp_client.rs +++ b/examples/rp/src/bin/ethernet_w5500_tcp_client.rs @@ -66,7 +66,8 @@ async fn main(spawner: Spawner) { w5500_int, w5500_reset, ) - .await; + .await + .unwrap(); unwrap!(spawner.spawn(ethernet_task(runner))); // Generate random seed diff --git a/examples/rp/src/bin/ethernet_w5500_tcp_server.rs b/examples/rp/src/bin/ethernet_w5500_tcp_server.rs index 5532851f3..30a3a7463 100644 --- a/examples/rp/src/bin/ethernet_w5500_tcp_server.rs +++ b/examples/rp/src/bin/ethernet_w5500_tcp_server.rs @@ -65,7 +65,8 @@ async fn main(spawner: Spawner) { w5500_int, w5500_reset, ) - .await; + .await + .unwrap(); unwrap!(spawner.spawn(ethernet_task(runner))); // Generate random seed diff --git a/examples/rp/src/bin/ethernet_w5500_udp.rs b/examples/rp/src/bin/ethernet_w5500_udp.rs index adb1d8941..1613ed887 100644 --- a/examples/rp/src/bin/ethernet_w5500_udp.rs +++ b/examples/rp/src/bin/ethernet_w5500_udp.rs @@ -63,7 +63,8 @@ async fn main(spawner: Spawner) { w5500_int, w5500_reset, ) - .await; + .await + .unwrap(); unwrap!(spawner.spawn(ethernet_task(runner))); // Generate random seed diff --git a/examples/stm32f4/src/bin/eth_w5500.rs b/examples/stm32f4/src/bin/eth_w5500.rs index c51111110..3c770a873 100644 --- a/examples/stm32f4/src/bin/eth_w5500.rs +++ b/examples/stm32f4/src/bin/eth_w5500.rs @@ -80,7 +80,9 @@ async fn main(spawner: Spawner) -> ! { let mac_addr = [0x02, 234, 3, 4, 82, 231]; static STATE: StaticCell> = StaticCell::new(); let state = STATE.init(State::<2, 2>::new()); - let (device, runner) = embassy_net_wiznet::new(mac_addr, state, spi, w5500_int, w5500_reset).await; + let (device, runner) = embassy_net_wiznet::new(mac_addr, state, spi, w5500_int, w5500_reset) + .await + .unwrap(); unwrap!(spawner.spawn(ethernet_task(runner))); let config = embassy_net::Config::dhcpv4(Default::default()); -- cgit From 70061e74b2b4e4ca513bcefa5c3bebbb52538e5d Mon Sep 17 00:00:00 2001 From: Alexandros Liarokapis Date: Wed, 26 Jun 2024 19:06:20 +0300 Subject: add async dma read example --- examples/stm32h7/src/bin/adc_dma.rs | 76 +++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 examples/stm32h7/src/bin/adc_dma.rs (limited to 'examples') diff --git a/examples/stm32h7/src/bin/adc_dma.rs b/examples/stm32h7/src/bin/adc_dma.rs new file mode 100644 index 000000000..6c0240453 --- /dev/null +++ b/examples/stm32h7/src/bin/adc_dma.rs @@ -0,0 +1,76 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::adc::{Adc, AdcChannel as _, SampleTime}; +use embassy_stm32::Config; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[link_section = ".ram_d3"] +static mut DMA_BUF: [u16; 2] = [0; 2]; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut read_buffer = unsafe { &mut DMA_BUF[..] }; + + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hsi = Some(HSIPrescaler::DIV1); + config.rcc.csi = true; + config.rcc.pll1 = Some(Pll { + source: PllSource::HSI, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL50, + divp: Some(PllDiv::DIV2), + divq: Some(PllDiv::DIV8), // SPI1 cksel defaults to pll1_q + divr: None, + }); + config.rcc.pll2 = Some(Pll { + source: PllSource::HSI, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL50, + divp: Some(PllDiv::DIV8), // 100mhz + divq: None, + divr: None, + }); + config.rcc.sys = Sysclk::PLL1_P; // 400 Mhz + config.rcc.ahb_pre = AHBPrescaler::DIV2; // 200 Mhz + config.rcc.apb1_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb2_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb3_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb4_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.voltage_scale = VoltageScale::Scale1; + config.rcc.mux.adcsel = mux::Adcsel::PLL2_P; + } + let p = embassy_stm32::init(config); + + info!("Hello World!"); + + let mut adc = Adc::new(p.ADC3); + + let mut dma = p.DMA1_CH1; + let mut vrefint_channel = adc.enable_vrefint().degrade_adc(); + let mut pc0 = p.PC0.degrade_adc(); + + loop { + adc.read_async( + &mut dma, + [ + (&mut vrefint_channel, SampleTime::CYCLES387_5), + (&mut pc0, SampleTime::CYCLES810_5), + ] + .into_iter(), + &mut read_buffer, + ) + .await; + + let vrefint = read_buffer[0]; + let measured = read_buffer[1]; + info!("vrefint: {}", vrefint); + info!("measured: {}", measured); + Timer::after_millis(500).await; + } +} -- cgit From 09cfa28a218a65cf756ffde4403806aa7e2613ed Mon Sep 17 00:00:00 2001 From: Andres Vahter Date: Wed, 3 Jul 2024 10:59:20 +0300 Subject: stm32g0: add adc_dma example --- examples/stm32g0/src/bin/adc_dma.rs | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 examples/stm32g0/src/bin/adc_dma.rs (limited to 'examples') diff --git a/examples/stm32g0/src/bin/adc_dma.rs b/examples/stm32g0/src/bin/adc_dma.rs new file mode 100644 index 000000000..42d1e729b --- /dev/null +++ b/examples/stm32g0/src/bin/adc_dma.rs @@ -0,0 +1,44 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::adc::{Adc, AdcChannel as _, SampleTime}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +static mut DMA_BUF: [u16; 2] = [0; 2]; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut read_buffer = unsafe { &mut DMA_BUF[..] }; + + let p = embassy_stm32::init(Default::default()); + + info!("Hello World!"); + + let mut adc = Adc::new(p.ADC1); + + let mut dma = p.DMA1_CH1; + let mut vrefint_channel = adc.enable_vrefint().degrade_adc(); + let mut pa0 = p.PA0.degrade_adc(); + + loop { + adc.read_async( + &mut dma, + [ + (&mut vrefint_channel, SampleTime::CYCLES160_5), + (&mut pa0, SampleTime::CYCLES160_5), + ] + .into_iter(), + &mut read_buffer, + ) + .await; + + let vrefint = read_buffer[0]; + let measured = read_buffer[1]; + info!("vrefint: {}", vrefint); + info!("measured: {}", measured); + Timer::after_millis(500).await; + } +} -- cgit From f851081e09982a3edefd23082bb23143a0172464 Mon Sep 17 00:00:00 2001 From: Andres Vahter Date: Wed, 3 Jul 2024 14:39:10 +0300 Subject: stm32 adc: introduce blocking_read --- examples/stm32f4/src/bin/adc.rs | 8 ++++---- examples/stm32f4/src/bin/adc_dma.rs | 4 ++-- examples/stm32f7/src/bin/adc.rs | 4 ++-- examples/stm32g0/src/bin/adc.rs | 4 ++-- examples/stm32g0/src/bin/adc_dma.rs | 2 +- examples/stm32g0/src/bin/adc_oversampling.rs | 2 +- examples/stm32g4/src/bin/adc.rs | 2 +- examples/stm32h7/src/bin/adc.rs | 4 ++-- examples/stm32h7/src/bin/adc_dma.rs | 2 +- examples/stm32l4/src/bin/adc.rs | 2 +- examples/stm32u0/src/bin/adc.rs | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) (limited to 'examples') diff --git a/examples/stm32f4/src/bin/adc.rs b/examples/stm32f4/src/bin/adc.rs index 9473b7b7f..423d29225 100644 --- a/examples/stm32f4/src/bin/adc.rs +++ b/examples/stm32f4/src/bin/adc.rs @@ -23,7 +23,7 @@ async fn main(_spawner: Spawner) { // Startup delay can be combined to the maximum of either delay.delay_us(Temperature::start_time_us().max(VrefInt::start_time_us())); - let vrefint_sample = adc.read(&mut vrefint); + let vrefint_sample = adc.blocking_read(&mut vrefint); let convert_to_millivolts = |sample| { // From http://www.st.com/resource/en/datasheet/DM00071990.pdf @@ -50,16 +50,16 @@ async fn main(_spawner: Spawner) { loop { // Read pin - let v = adc.read(&mut pin); + let v = adc.blocking_read(&mut pin); info!("PC1: {} ({} mV)", v, convert_to_millivolts(v)); // Read internal temperature - let v = adc.read(&mut temp); + let v = adc.blocking_read(&mut temp); let celcius = convert_to_celcius(v); info!("Internal temp: {} ({} C)", v, celcius); // Read internal voltage reference - let v = adc.read(&mut vrefint); + let v = adc.blocking_read(&mut vrefint); info!("VrefInt: {}", v); Timer::after_millis(100).await; diff --git a/examples/stm32f4/src/bin/adc_dma.rs b/examples/stm32f4/src/bin/adc_dma.rs index 992bed573..43a761e6d 100644 --- a/examples/stm32f4/src/bin/adc_dma.rs +++ b/examples/stm32f4/src/bin/adc_dma.rs @@ -44,7 +44,7 @@ async fn adc_task(mut p: Peripherals) { let _ = adc.start(); let _ = adc2.start(); loop { - match adc.read_exact(&mut buffer1).await { + match adc.read(&mut buffer1).await { Ok(_data) => { let toc = Instant::now(); info!( @@ -62,7 +62,7 @@ async fn adc_task(mut p: Peripherals) { } } - match adc2.read_exact(&mut buffer2).await { + match adc2.read(&mut buffer2).await { Ok(_data) => { let toc = Instant::now(); info!( diff --git a/examples/stm32f7/src/bin/adc.rs b/examples/stm32f7/src/bin/adc.rs index 641157960..6689e3b5d 100644 --- a/examples/stm32f7/src/bin/adc.rs +++ b/examples/stm32f7/src/bin/adc.rs @@ -16,7 +16,7 @@ async fn main(_spawner: Spawner) { let mut pin = p.PA3; let mut vrefint = adc.enable_vrefint(); - let vrefint_sample = adc.read(&mut vrefint); + let vrefint_sample = adc.blocking_read(&mut vrefint); let convert_to_millivolts = |sample| { // From http://www.st.com/resource/en/datasheet/DM00273119.pdf // 6.3.27 Reference voltage @@ -26,7 +26,7 @@ async fn main(_spawner: Spawner) { }; loop { - let v = adc.read(&mut pin); + let v = adc.blocking_read(&mut pin); info!("--> {} - {} mV", v, convert_to_millivolts(v)); Timer::after_millis(100).await; } diff --git a/examples/stm32g0/src/bin/adc.rs b/examples/stm32g0/src/bin/adc.rs index a35119e3d..6c7f3b48a 100644 --- a/examples/stm32g0/src/bin/adc.rs +++ b/examples/stm32g0/src/bin/adc.rs @@ -17,7 +17,7 @@ async fn main(_spawner: Spawner) { let mut pin = p.PA1; let mut vrefint = adc.enable_vrefint(); - let vrefint_sample = adc.read(&mut vrefint); + let vrefint_sample = adc.blocking_read(&mut vrefint); let convert_to_millivolts = |sample| { // From https://www.st.com/resource/en/datasheet/stm32g031g8.pdf // 6.3.3 Embedded internal reference voltage @@ -27,7 +27,7 @@ async fn main(_spawner: Spawner) { }; loop { - let v = adc.read(&mut pin); + let v = adc.blocking_read(&mut pin); info!("--> {} - {} mV", v, convert_to_millivolts(v)); Timer::after_millis(100).await; } diff --git a/examples/stm32g0/src/bin/adc_dma.rs b/examples/stm32g0/src/bin/adc_dma.rs index 42d1e729b..3713e5a21 100644 --- a/examples/stm32g0/src/bin/adc_dma.rs +++ b/examples/stm32g0/src/bin/adc_dma.rs @@ -24,7 +24,7 @@ async fn main(_spawner: Spawner) { let mut pa0 = p.PA0.degrade_adc(); loop { - adc.read_async( + adc.read( &mut dma, [ (&mut vrefint_channel, SampleTime::CYCLES160_5), diff --git a/examples/stm32g0/src/bin/adc_oversampling.rs b/examples/stm32g0/src/bin/adc_oversampling.rs index 3c31eb206..9c5dd872a 100644 --- a/examples/stm32g0/src/bin/adc_oversampling.rs +++ b/examples/stm32g0/src/bin/adc_oversampling.rs @@ -36,7 +36,7 @@ async fn main(_spawner: Spawner) { adc.oversampling_enable(true); loop { - let v = adc.read(&mut pin); + let v = adc.blocking_read(&mut pin); info!("--> {} ", v); //max 65520 = 0xFFF0 Timer::after_millis(100).await; } diff --git a/examples/stm32g4/src/bin/adc.rs b/examples/stm32g4/src/bin/adc.rs index 3de38cbd6..adca846d8 100644 --- a/examples/stm32g4/src/bin/adc.rs +++ b/examples/stm32g4/src/bin/adc.rs @@ -32,7 +32,7 @@ async fn main(_spawner: Spawner) { adc.set_sample_time(SampleTime::CYCLES24_5); loop { - let measured = adc.read(&mut p.PA7); + let measured = adc.blocking_read(&mut p.PA7); info!("measured: {}", measured); Timer::after_millis(500).await; } diff --git a/examples/stm32h7/src/bin/adc.rs b/examples/stm32h7/src/bin/adc.rs index e9a857a74..98504ddf6 100644 --- a/examples/stm32h7/src/bin/adc.rs +++ b/examples/stm32h7/src/bin/adc.rs @@ -51,9 +51,9 @@ async fn main(_spawner: Spawner) { let mut vrefint_channel = adc.enable_vrefint(); loop { - let vrefint = adc.read(&mut vrefint_channel); + let vrefint = adc.blocking_read(&mut vrefint_channel); info!("vrefint: {}", vrefint); - let measured = adc.read(&mut p.PC0); + let measured = adc.blocking_read(&mut p.PC0); info!("measured: {}", measured); Timer::after_millis(500).await; } diff --git a/examples/stm32h7/src/bin/adc_dma.rs b/examples/stm32h7/src/bin/adc_dma.rs index 6c0240453..0b905d227 100644 --- a/examples/stm32h7/src/bin/adc_dma.rs +++ b/examples/stm32h7/src/bin/adc_dma.rs @@ -56,7 +56,7 @@ async fn main(_spawner: Spawner) { let mut pc0 = p.PC0.degrade_adc(); loop { - adc.read_async( + adc.read( &mut dma, [ (&mut vrefint_channel, SampleTime::CYCLES387_5), diff --git a/examples/stm32l4/src/bin/adc.rs b/examples/stm32l4/src/bin/adc.rs index 7a89334e0..c557ac6d7 100644 --- a/examples/stm32l4/src/bin/adc.rs +++ b/examples/stm32l4/src/bin/adc.rs @@ -23,7 +23,7 @@ fn main() -> ! { let mut channel = p.PC0; loop { - let v = adc.read(&mut channel); + let v = adc.blocking_read(&mut channel); info!("--> {}", v); } } diff --git a/examples/stm32u0/src/bin/adc.rs b/examples/stm32u0/src/bin/adc.rs index 4410448f1..c8252e4e1 100644 --- a/examples/stm32u0/src/bin/adc.rs +++ b/examples/stm32u0/src/bin/adc.rs @@ -23,7 +23,7 @@ fn main() -> ! { let mut channel = p.PC0; loop { - let v = adc.read(&mut channel); + let v = adc.blocking_read(&mut channel); info!("--> {}", v); embassy_time::block_for(Duration::from_millis(200)); } -- cgit From 4ecdf31f9b887c4427ff06b70744ef438502f989 Mon Sep 17 00:00:00 2001 From: Dickless <37750743+Dicklessgreat@users.noreply.github.com> Date: Fri, 5 Jul 2024 02:33:30 +0900 Subject: add SAI example --- examples/stm32h7/Cargo.toml | 1 + examples/stm32h7/src/bin/sai.rs | 189 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 190 insertions(+) create mode 100644 examples/stm32h7/src/bin/sai.rs (limited to 'examples') diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 0584f3916..78343b74f 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -34,6 +34,7 @@ stm32-fmc = "0.3.0" embedded-storage = "0.3.1" static_cell = "2" chrono = { version = "^0.4", default-features = false } +grounded = "0.2.0" # cargo build/run [profile.dev] diff --git a/examples/stm32h7/src/bin/sai.rs b/examples/stm32h7/src/bin/sai.rs new file mode 100644 index 000000000..ef8479979 --- /dev/null +++ b/examples/stm32h7/src/bin/sai.rs @@ -0,0 +1,189 @@ +//! Daisy Seed rev.7(with PCM3060 codec) +//! https://electro-smith.com/products/daisy-seed +#![no_std] +#![no_main] + +use defmt_rtt as _; +use embassy_executor::Spawner; +use embassy_stm32 as hal; +use grounded::uninit::GroundedArrayCell; +use hal::rcc::*; +use hal::sai::*; +use hal::time::Hertz; +use panic_probe as _; + +const BLOCK_LENGTH: usize = 32; // 32 samples +const HALF_DMA_BUFFER_LENGTH: usize = BLOCK_LENGTH * 2; // 2 channels +const DMA_BUFFER_LENGTH: usize = HALF_DMA_BUFFER_LENGTH * 2; // 2 half-blocks +const SAMPLE_RATE: u32 = 48000; + +//DMA buffer must be in special region. Refer https://embassy.dev/book/#_stm32_bdma_only_working_out_of_some_ram_regions +#[link_section = ".sram1_bss"] +static mut TX_BUFFER: GroundedArrayCell = GroundedArrayCell::uninit(); +#[link_section = ".sram1_bss"] +static mut RX_BUFFER: GroundedArrayCell = GroundedArrayCell::uninit(); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = hal::Config::default(); + config.rcc.pll1 = Some(Pll { + source: PllSource::HSE, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL200, + divp: Some(PllDiv::DIV2), + divq: Some(PllDiv::DIV5), + divr: Some(PllDiv::DIV2), + }); + config.rcc.pll3 = Some(Pll { + source: PllSource::HSE, + prediv: PllPreDiv::DIV6, + mul: PllMul::MUL295, + divp: Some(PllDiv::DIV16), + divq: Some(PllDiv::DIV4), + divr: Some(PllDiv::DIV32), + }); + config.rcc.sys = Sysclk::PLL1_P; + config.rcc.mux.sai1sel = hal::pac::rcc::vals::Saisel::PLL3_P; + config.rcc.ahb_pre = AHBPrescaler::DIV2; // 200 Mhz + config.rcc.apb1_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb2_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb3_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb4_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.hse = Some(Hse { + freq: Hertz::mhz(16), + mode: HseMode::Oscillator, + }); + + let p = hal::init(config); + + let (sub_block_tx, sub_block_rx) = hal::sai::split_subblocks(p.SAI1); + let kernel_clock = hal::rcc::frequency::().0; + let mclk_div = mclk_div_from_u8((kernel_clock / (SAMPLE_RATE * 256)) as u8); + + let mut tx_config = hal::sai::Config::default(); + tx_config.mode = Mode::Master; + tx_config.tx_rx = TxRx::Transmitter; + tx_config.sync_output = true; + tx_config.clock_strobe = ClockStrobe::Falling; + tx_config.master_clock_divider = mclk_div; + tx_config.stereo_mono = StereoMono::Stereo; + tx_config.data_size = DataSize::Data24; + tx_config.bit_order = BitOrder::MsbFirst; + tx_config.frame_sync_polarity = FrameSyncPolarity::ActiveHigh; + tx_config.frame_sync_offset = FrameSyncOffset::OnFirstBit; + tx_config.frame_length = 64; + tx_config.frame_sync_active_level_length = embassy_stm32::sai::word::U7(32); + tx_config.fifo_threshold = FifoThreshold::Quarter; + + let mut rx_config = tx_config.clone(); + rx_config.mode = Mode::Slave; + rx_config.tx_rx = TxRx::Receiver; + rx_config.sync_input = SyncInput::Internal; + rx_config.clock_strobe = ClockStrobe::Rising; + rx_config.sync_output = false; + + let tx_buffer: &mut [u32] = unsafe { + TX_BUFFER.initialize_all_copied(0); + let (ptr, len) = TX_BUFFER.get_ptr_len(); + core::slice::from_raw_parts_mut(ptr, len) + }; + + let mut sai_transmitter = Sai::new_asynchronous_with_mclk( + sub_block_tx, + p.PE5, + p.PE6, + p.PE4, + p.PE2, + p.DMA1_CH0, + tx_buffer, + tx_config, + ); + + let rx_buffer: &mut [u32] = unsafe { + RX_BUFFER.initialize_all_copied(0); + let (ptr, len) = RX_BUFFER.get_ptr_len(); + core::slice::from_raw_parts_mut(ptr, len) + }; + + let mut sai_receiver = + Sai::new_synchronous(sub_block_rx, p.PE3, p.DMA1_CH1, rx_buffer, rx_config); + + sai_receiver.start(); + sai_transmitter.start(); + + let mut buf = [0u32; HALF_DMA_BUFFER_LENGTH]; + + loop { + sai_receiver.read(&mut buf).await.unwrap(); + sai_transmitter.write(&buf).await.unwrap(); + } +} + +const fn mclk_div_from_u8(v: u8) -> MasterClockDivider { + match v { + 1 => MasterClockDivider::Div1, + 2 => MasterClockDivider::Div2, + 3 => MasterClockDivider::Div3, + 4 => MasterClockDivider::Div4, + 5 => MasterClockDivider::Div5, + 6 => MasterClockDivider::Div6, + 7 => MasterClockDivider::Div7, + 8 => MasterClockDivider::Div8, + 9 => MasterClockDivider::Div9, + 10 => MasterClockDivider::Div10, + 11 => MasterClockDivider::Div11, + 12 => MasterClockDivider::Div12, + 13 => MasterClockDivider::Div13, + 14 => MasterClockDivider::Div14, + 15 => MasterClockDivider::Div15, + 16 => MasterClockDivider::Div16, + 17 => MasterClockDivider::Div17, + 18 => MasterClockDivider::Div18, + 19 => MasterClockDivider::Div19, + 20 => MasterClockDivider::Div20, + 21 => MasterClockDivider::Div21, + 22 => MasterClockDivider::Div22, + 23 => MasterClockDivider::Div23, + 24 => MasterClockDivider::Div24, + 25 => MasterClockDivider::Div25, + 26 => MasterClockDivider::Div26, + 27 => MasterClockDivider::Div27, + 28 => MasterClockDivider::Div28, + 29 => MasterClockDivider::Div29, + 30 => MasterClockDivider::Div30, + 31 => MasterClockDivider::Div31, + 32 => MasterClockDivider::Div32, + 33 => MasterClockDivider::Div33, + 34 => MasterClockDivider::Div34, + 35 => MasterClockDivider::Div35, + 36 => MasterClockDivider::Div36, + 37 => MasterClockDivider::Div37, + 38 => MasterClockDivider::Div38, + 39 => MasterClockDivider::Div39, + 40 => MasterClockDivider::Div40, + 41 => MasterClockDivider::Div41, + 42 => MasterClockDivider::Div42, + 43 => MasterClockDivider::Div43, + 44 => MasterClockDivider::Div44, + 45 => MasterClockDivider::Div45, + 46 => MasterClockDivider::Div46, + 47 => MasterClockDivider::Div47, + 48 => MasterClockDivider::Div48, + 49 => MasterClockDivider::Div49, + 50 => MasterClockDivider::Div50, + 51 => MasterClockDivider::Div51, + 52 => MasterClockDivider::Div52, + 53 => MasterClockDivider::Div53, + 54 => MasterClockDivider::Div54, + 55 => MasterClockDivider::Div55, + 56 => MasterClockDivider::Div56, + 57 => MasterClockDivider::Div57, + 58 => MasterClockDivider::Div58, + 59 => MasterClockDivider::Div59, + 60 => MasterClockDivider::Div60, + 61 => MasterClockDivider::Div61, + 62 => MasterClockDivider::Div62, + 63 => MasterClockDivider::Div63, + _ => panic!(), + } +} -- cgit From 49546abfec8dd8a9a610c82ec5ef11adba8b5f04 Mon Sep 17 00:00:00 2001 From: Dickless <37750743+Dicklessgreat@users.noreply.github.com> Date: Fri, 5 Jul 2024 03:17:04 +0900 Subject: rustfmt --- examples/stm32h7/src/bin/sai.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/sai.rs b/examples/stm32h7/src/bin/sai.rs index ef8479979..7f57c4949 100644 --- a/examples/stm32h7/src/bin/sai.rs +++ b/examples/stm32h7/src/bin/sai.rs @@ -105,8 +105,7 @@ async fn main(_spawner: Spawner) { core::slice::from_raw_parts_mut(ptr, len) }; - let mut sai_receiver = - Sai::new_synchronous(sub_block_rx, p.PE3, p.DMA1_CH1, rx_buffer, rx_config); + let mut sai_receiver = Sai::new_synchronous(sub_block_rx, p.PE3, p.DMA1_CH1, rx_buffer, rx_config); sai_receiver.start(); sai_transmitter.start(); -- cgit From 4f649caa8155c5031592d74c2b5e94f400332a88 Mon Sep 17 00:00:00 2001 From: Dickless <37750743+Dicklessgreat@users.noreply.github.com> Date: Fri, 5 Jul 2024 03:29:25 +0900 Subject: cargo +nightly fmt --- examples/stm32h7/src/bin/sai.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/sai.rs b/examples/stm32h7/src/bin/sai.rs index 7f57c4949..f6735e235 100644 --- a/examples/stm32h7/src/bin/sai.rs +++ b/examples/stm32h7/src/bin/sai.rs @@ -3,14 +3,12 @@ #![no_std] #![no_main] -use defmt_rtt as _; use embassy_executor::Spawner; -use embassy_stm32 as hal; use grounded::uninit::GroundedArrayCell; use hal::rcc::*; use hal::sai::*; use hal::time::Hertz; -use panic_probe as _; +use {defmt_rtt as _, embassy_stm32 as hal, panic_probe as _}; const BLOCK_LENGTH: usize = 32; // 32 samples const HALF_DMA_BUFFER_LENGTH: usize = BLOCK_LENGTH * 2; // 2 channels -- cgit From b90eef293ba36bfeaba85ec5f8396021fd282130 Mon Sep 17 00:00:00 2001 From: Dickless <37750743+Dicklessgreat@users.noreply.github.com> Date: Sat, 6 Jul 2024 17:36:22 +0900 Subject: [#2905 #2904] Replaced static raw array with GroundedArrayCell --- examples/stm32h7/src/bin/spi_bdma.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/spi_bdma.rs b/examples/stm32h7/src/bin/spi_bdma.rs index b2e941078..65f498506 100644 --- a/examples/stm32h7/src/bin/spi_bdma.rs +++ b/examples/stm32h7/src/bin/spi_bdma.rs @@ -10,18 +10,24 @@ use embassy_executor::Executor; use embassy_stm32::mode::Async; use embassy_stm32::time::mhz; use embassy_stm32::{spi, Config}; +use grounded::uninit::GroundedArrayCell; use heapless::String; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; // Defined in memory.x #[link_section = ".ram_d3"] -static mut RAM_D3: [u8; 64 * 1024] = [0u8; 64 * 1024]; +static mut RAM_D3: GroundedArrayCell = GroundedArrayCell::uninit(); #[embassy_executor::task] async fn main_task(mut spi: spi::Spi<'static, Async>) { - let read_buffer = unsafe { &mut RAM_D3[0..128] }; - let write_buffer = unsafe { &mut RAM_D3[128..256] }; + let (read_buffer, write_buffer) = unsafe { + RAM_D3.initialize_all_copied(0); + ( + RAM_D3.get_subslice_mut_unchecked(0, 128), + RAM_D3.get_subslice_mut_unchecked(128, 128), + ) + }; for n in 0u32.. { let mut write: String<128> = String::new(); -- cgit From 3408e1ddbf7076e119307ae04dce4a9ddf922f34 Mon Sep 17 00:00:00 2001 From: Dickless <37750743+Dicklessgreat@users.noreply.github.com> Date: Sun, 7 Jul 2024 04:39:39 +0900 Subject: Fixed to reserve as much space as it uses. --- examples/stm32h7/src/bin/spi_bdma.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/spi_bdma.rs b/examples/stm32h7/src/bin/spi_bdma.rs index 65f498506..43fb6b41c 100644 --- a/examples/stm32h7/src/bin/spi_bdma.rs +++ b/examples/stm32h7/src/bin/spi_bdma.rs @@ -17,7 +17,7 @@ use {defmt_rtt as _, panic_probe as _}; // Defined in memory.x #[link_section = ".ram_d3"] -static mut RAM_D3: GroundedArrayCell = GroundedArrayCell::uninit(); +static mut RAM_D3: GroundedArrayCell = GroundedArrayCell::uninit(); #[embassy_executor::task] async fn main_task(mut spi: spi::Spi<'static, Async>) { -- cgit From b1ea90a87e5ce6b16bbc155ad30d6d3473a998bb Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Mon, 8 Jul 2024 13:32:23 +0200 Subject: Add H755 examples --- examples/stm32h755cm4/.cargo/config.toml | 8 ++++ examples/stm32h755cm4/Cargo.toml | 75 ++++++++++++++++++++++++++++++++ examples/stm32h755cm4/build.rs | 35 +++++++++++++++ examples/stm32h755cm4/memory.x | 14 ++++++ examples/stm32h755cm4/src/bin/blinky.rs | 26 +++++++++++ examples/stm32h755cm7/.cargo/config.toml | 8 ++++ examples/stm32h755cm7/Cargo.toml | 75 ++++++++++++++++++++++++++++++++ examples/stm32h755cm7/build.rs | 35 +++++++++++++++ examples/stm32h755cm7/memory.x | 14 ++++++ examples/stm32h755cm7/src/bin/blinky.rs | 48 ++++++++++++++++++++ 10 files changed, 338 insertions(+) create mode 100644 examples/stm32h755cm4/.cargo/config.toml create mode 100644 examples/stm32h755cm4/Cargo.toml create mode 100644 examples/stm32h755cm4/build.rs create mode 100644 examples/stm32h755cm4/memory.x create mode 100644 examples/stm32h755cm4/src/bin/blinky.rs create mode 100644 examples/stm32h755cm7/.cargo/config.toml create mode 100644 examples/stm32h755cm7/Cargo.toml create mode 100644 examples/stm32h755cm7/build.rs create mode 100644 examples/stm32h755cm7/memory.x create mode 100644 examples/stm32h755cm7/src/bin/blinky.rs (limited to 'examples') diff --git a/examples/stm32h755cm4/.cargo/config.toml b/examples/stm32h755cm4/.cargo/config.toml new file mode 100644 index 000000000..f9ae6f2e7 --- /dev/null +++ b/examples/stm32h755cm4/.cargo/config.toml @@ -0,0 +1,8 @@ +[target.thumbv7em-none-eabihf] +runner = 'probe-rs run --chip STM32H755ZITx' + +[build] +target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) + +[env] +DEFMT_LOG = "trace" diff --git a/examples/stm32h755cm4/Cargo.toml b/examples/stm32h755cm4/Cargo.toml new file mode 100644 index 000000000..c366bc3d2 --- /dev/null +++ b/examples/stm32h755cm4/Cargo.toml @@ -0,0 +1,75 @@ +[package] +edition = "2021" +name = "embassy-stm32h7-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +# Change stm32h755zi-cm4 to your chip name, if necessary. +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm4", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } +embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } + +defmt = "0.3" +defmt-rtt = "0.4" + +cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } +cortex-m-rt = "0.7.0" +embedded-hal = "0.2.6" +embedded-hal-1 = { package = "embedded-hal", version = "1.0" } +embedded-hal-async = { version = "1.0" } +embedded-nal-async = { version = "0.7.1" } +embedded-io-async = { version = "0.6.1" } +panic-probe = { version = "0.3", features = ["print-defmt"] } +heapless = { version = "0.8", default-features = false } +rand_core = "0.6.3" +critical-section = "1.1" +micromath = "2.0.0" +stm32-fmc = "0.3.0" +embedded-storage = "0.3.1" +static_cell = "2" +chrono = { version = "^0.4", default-features = false } +grounded = "0.2.0" + +# cargo build/run +[profile.dev] +codegen-units = 1 +debug = 2 +debug-assertions = true # <- +incremental = false +opt-level = 3 # <- +overflow-checks = true # <- + +# cargo test +[profile.test] +codegen-units = 1 +debug = 2 +debug-assertions = true # <- +incremental = false +opt-level = 3 # <- +overflow-checks = true # <- + +# cargo build/run --release +[profile.release] +codegen-units = 1 +debug = 2 +debug-assertions = false # <- +incremental = false +lto = 'fat' +opt-level = 3 # <- +overflow-checks = false # <- + +# cargo test --release +[profile.bench] +codegen-units = 1 +debug = 2 +debug-assertions = false # <- +incremental = false +lto = 'fat' +opt-level = 3 # <- +overflow-checks = false # <- diff --git a/examples/stm32h755cm4/build.rs b/examples/stm32h755cm4/build.rs new file mode 100644 index 000000000..30691aa97 --- /dev/null +++ b/examples/stm32h755cm4/build.rs @@ -0,0 +1,35 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory -- wherever `Cargo.toml` is. However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! updating `memory.x` ensures a rebuild of the application with the +//! new memory settings. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); + + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/stm32h755cm4/memory.x b/examples/stm32h755cm4/memory.x new file mode 100644 index 000000000..f946b6210 --- /dev/null +++ b/examples/stm32h755cm4/memory.x @@ -0,0 +1,14 @@ +MEMORY +{ + FLASH : ORIGIN = 0x08100000, LENGTH = 1024K /* BANK_2 */ + RAM : ORIGIN = 0x30000000, LENGTH = 128K /* SRAM1 */ + RAM_D3 : ORIGIN = 0x38000000, LENGTH = 64K /* SRAM4 */ +} + +SECTIONS +{ + .ram_d3 : + { + *(.ram_d3) + } > RAM_D3 +} \ No newline at end of file diff --git a/examples/stm32h755cm4/src/bin/blinky.rs b/examples/stm32h755cm4/src/bin/blinky.rs new file mode 100644 index 000000000..765be5ba1 --- /dev/null +++ b/examples/stm32h755cm4/src/bin/blinky.rs @@ -0,0 +1,26 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_stm32::init(Default::default()); + info!("Hello World!"); + + let mut led = Output::new(p.PE1, Level::High, Speed::Low); + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(500).await; + + info!("low"); + led.set_low(); + Timer::after_millis(500).await; + } +} diff --git a/examples/stm32h755cm7/.cargo/config.toml b/examples/stm32h755cm7/.cargo/config.toml new file mode 100644 index 000000000..f9ae6f2e7 --- /dev/null +++ b/examples/stm32h755cm7/.cargo/config.toml @@ -0,0 +1,8 @@ +[target.thumbv7em-none-eabihf] +runner = 'probe-rs run --chip STM32H755ZITx' + +[build] +target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) + +[env] +DEFMT_LOG = "trace" diff --git a/examples/stm32h755cm7/Cargo.toml b/examples/stm32h755cm7/Cargo.toml new file mode 100644 index 000000000..a97a8a5c5 --- /dev/null +++ b/examples/stm32h755cm7/Cargo.toml @@ -0,0 +1,75 @@ +[package] +edition = "2021" +name = "embassy-stm32h7-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +# Change stm32h743bi to your chip name, if necessary. +embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm7", "time-driver-tim3", "exti", "memory-x", "unstable-pac", "chrono"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } +embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } +embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } + +defmt = "0.3" +defmt-rtt = "0.4" + +cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } +cortex-m-rt = "0.7.0" +embedded-hal = "0.2.6" +embedded-hal-1 = { package = "embedded-hal", version = "1.0" } +embedded-hal-async = { version = "1.0" } +embedded-nal-async = { version = "0.7.1" } +embedded-io-async = { version = "0.6.1" } +panic-probe = { version = "0.3", features = ["print-defmt"] } +heapless = { version = "0.8", default-features = false } +rand_core = "0.6.3" +critical-section = "1.1" +micromath = "2.0.0" +stm32-fmc = "0.3.0" +embedded-storage = "0.3.1" +static_cell = "2" +chrono = { version = "^0.4", default-features = false } +grounded = "0.2.0" + +# cargo build/run +[profile.dev] +codegen-units = 1 +debug = 2 +debug-assertions = true # <- +incremental = false +opt-level = 3 # <- +overflow-checks = true # <- + +# cargo test +[profile.test] +codegen-units = 1 +debug = 2 +debug-assertions = true # <- +incremental = false +opt-level = 3 # <- +overflow-checks = true # <- + +# cargo build/run --release +[profile.release] +codegen-units = 1 +debug = 2 +debug-assertions = false # <- +incremental = false +lto = 'fat' +opt-level = 3 # <- +overflow-checks = false # <- + +# cargo test --release +[profile.bench] +codegen-units = 1 +debug = 2 +debug-assertions = false # <- +incremental = false +lto = 'fat' +opt-level = 3 # <- +overflow-checks = false # <- diff --git a/examples/stm32h755cm7/build.rs b/examples/stm32h755cm7/build.rs new file mode 100644 index 000000000..30691aa97 --- /dev/null +++ b/examples/stm32h755cm7/build.rs @@ -0,0 +1,35 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory -- wherever `Cargo.toml` is. However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! updating `memory.x` ensures a rebuild of the application with the +//! new memory settings. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); + + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/stm32h755cm7/memory.x b/examples/stm32h755cm7/memory.x new file mode 100644 index 000000000..ab2afc216 --- /dev/null +++ b/examples/stm32h755cm7/memory.x @@ -0,0 +1,14 @@ +MEMORY +{ + FLASH : ORIGIN = 0x08000000, LENGTH = 1024K /* BANK_1 */ + RAM : ORIGIN = 0x24000000, LENGTH = 512K /* AXIRAM */ + RAM_D3 : ORIGIN = 0x38000000, LENGTH = 64K /* SRAM4 */ +} + +SECTIONS +{ + .ram_d3 : + { + *(.ram_d3) + } > RAM_D3 +} \ No newline at end of file diff --git a/examples/stm32h755cm7/src/bin/blinky.rs b/examples/stm32h755cm7/src/bin/blinky.rs new file mode 100644 index 000000000..396b8c718 --- /dev/null +++ b/examples/stm32h755cm7/src/bin/blinky.rs @@ -0,0 +1,48 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = embassy_stm32::Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hsi = Some(HSIPrescaler::DIV1); + config.rcc.csi = true; + config.rcc.pll1 = Some(Pll { + source: PllSource::HSI, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL50, + divp: Some(PllDiv::DIV2), + divq: Some(PllDiv::DIV8), // 100mhz + divr: None, + }); + config.rcc.sys = Sysclk::PLL1_P; // 400 Mhz + config.rcc.ahb_pre = AHBPrescaler::DIV2; // 200 Mhz + config.rcc.apb1_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb2_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb3_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.apb4_pre = APBPrescaler::DIV2; // 100 Mhz + config.rcc.voltage_scale = VoltageScale::Scale1; + config.rcc.supply_config = SupplyConfig::DirectSMPS; + } + let p = embassy_stm32::init(config); + info!("Hello World!"); + + let mut led = Output::new(p.PB14, Level::High, Speed::Low); + + loop { + info!("high"); + led.set_high(); + Timer::after_millis(500).await; + + info!("low"); + led.set_low(); + Timer::after_millis(500).await; + } +} -- cgit From 87f66343493a5ae99f0f9b27602b96524111c94a Mon Sep 17 00:00:00 2001 From: kalkyl Date: Mon, 8 Jul 2024 13:58:36 +0200 Subject: Add example for sharing things between tasks --- examples/rp/src/bin/sharing.rs | 140 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 examples/rp/src/bin/sharing.rs (limited to 'examples') diff --git a/examples/rp/src/bin/sharing.rs b/examples/rp/src/bin/sharing.rs new file mode 100644 index 000000000..0761500ef --- /dev/null +++ b/examples/rp/src/bin/sharing.rs @@ -0,0 +1,140 @@ +//! This example shows some common strategies for sharing resources between tasks. + +#![no_std] +#![no_main] + +use core::cell::{Cell, RefCell}; +use core::sync::atomic::{AtomicU32, Ordering}; + +use cortex_m_rt::entry; +use defmt::info; +use embassy_executor::{Executor, InterruptExecutor}; +use embassy_rp::clocks::RoscRng; +use embassy_rp::interrupt::{InterruptExt, Priority}; +use embassy_rp::peripherals::UART0; +use embassy_rp::uart::{self, InterruptHandler, UartTx}; +use embassy_rp::{bind_interrupts, interrupt}; +use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; +use embassy_sync::{blocking_mutex, mutex}; +use embassy_time::{Duration, Ticker}; +use rand::RngCore; +use static_cell::{ConstStaticCell, StaticCell}; +use {defmt_rtt as _, panic_probe as _}; + +type UartMutex = mutex::Mutex>; + +struct MyType { + inner: u32, +} + +static EXECUTOR_HI: InterruptExecutor = InterruptExecutor::new(); +static EXECUTOR_LOW: StaticCell = StaticCell::new(); + +// Use Atomics for simple values +static ATOMIC: AtomicU32 = AtomicU32::new(0); + +// Use blocking Mutex with Cell/RefCell for sharing non-async things +static MUTEX_BLOCKING: blocking_mutex::Mutex> = + blocking_mutex::Mutex::new(RefCell::new(MyType { inner: 0 })); + +bind_interrupts!(struct Irqs { + UART0_IRQ => InterruptHandler; +}); + +#[interrupt] +unsafe fn SWI_IRQ_0() { + EXECUTOR_HI.on_interrupt() +} + +#[entry] +fn main() -> ! { + let p = embassy_rp::init(Default::default()); + info!("Here we go!"); + + let uart = UartTx::new(p.UART0, p.PIN_0, p.DMA_CH0, uart::Config::default()); + // Use the async Mutex for sharing async things (built-in interior mutability) + static UART: StaticCell = StaticCell::new(); + let uart = UART.init(mutex::Mutex::new(uart)); + + // High-priority executor: runs in interrupt mode + interrupt::SWI_IRQ_0.set_priority(Priority::P3); + let spawner = EXECUTOR_HI.start(interrupt::SWI_IRQ_0); + spawner.must_spawn(task_a(uart)); + + // Low priority executor: runs in thread mode + let executor = EXECUTOR_LOW.init(Executor::new()); + executor.run(|spawner| { + // No Mutex needed when sharing between tasks running on the same executor + + // Use Cell for Copy-types + static CELL: ConstStaticCell> = ConstStaticCell::new(Cell::new([0; 4])); + let cell = CELL.take(); + + // Use RefCell for &mut access + static REF_CELL: ConstStaticCell> = ConstStaticCell::new(RefCell::new(MyType { inner: 0 })); + let ref_cell = REF_CELL.take(); + + spawner.must_spawn(task_b(uart, cell, ref_cell)); + spawner.must_spawn(task_c(cell, ref_cell)); + }); +} + +#[embassy_executor::task] +async fn task_a(uart: &'static UartMutex) { + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + let random = RoscRng.next_u32(); + + { + let mut uart = uart.lock().await; + uart.write(b"task a").await.unwrap(); + // The uart lock is released when it goes out of scope + } + + ATOMIC.store(random, Ordering::Relaxed); + + MUTEX_BLOCKING.lock(|x| x.borrow_mut().inner = random); + + ticker.next().await; + } +} + +#[embassy_executor::task] +async fn task_b(uart: &'static UartMutex, cell: &'static Cell<[u8; 4]>, ref_cell: &'static RefCell) { + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + let random = RoscRng.next_u32(); + + uart.lock().await.write(b"task b").await.unwrap(); + + cell.set(random.to_be_bytes()); + + ref_cell.borrow_mut().inner = random; + + ticker.next().await; + } +} + +#[embassy_executor::task] +async fn task_c(cell: &'static Cell<[u8; 4]>, ref_cell: &'static RefCell) { + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + info!("======================="); + + let atomic = ATOMIC.load(Ordering::Relaxed); + info!("atomic: {}", atomic); + + MUTEX_BLOCKING.lock(|x| { + let val = x.borrow().inner; + info!("blocking mutex: {}", val); + }); + + let cell_val = cell.get(); + info!("cell: {:?}", cell_val); + + let ref_cell_val = ref_cell.borrow().inner; + info!("ref_cell: {:?}", ref_cell_val); + + ticker.next().await; + } +} -- cgit From 203297b56912c05d2dd6a009ffeb433fb2ffbea6 Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Mon, 8 Jul 2024 16:54:06 +0200 Subject: Make clocks repr C. Add shared data. Modify freq functions to use shared data. Modify examples to use new init/ --- examples/stm32h755cm4/.cargo/config.toml | 2 +- examples/stm32h755cm4/memory.x | 2 +- examples/stm32h755cm4/src/bin/blinky.rs | 16 ++++++++++++---- examples/stm32h755cm7/.cargo/config.toml | 2 +- examples/stm32h755cm7/src/bin/blinky.rs | 12 ++++++++++-- 5 files changed, 25 insertions(+), 9 deletions(-) (limited to 'examples') diff --git a/examples/stm32h755cm4/.cargo/config.toml b/examples/stm32h755cm4/.cargo/config.toml index f9ae6f2e7..193e6bbc3 100644 --- a/examples/stm32h755cm4/.cargo/config.toml +++ b/examples/stm32h755cm4/.cargo/config.toml @@ -1,5 +1,5 @@ [target.thumbv7em-none-eabihf] -runner = 'probe-rs run --chip STM32H755ZITx' +runner = 'probe-rs run --chip STM32H755ZITx --catch-hardfault --always-print-stacktrace' [build] target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) diff --git a/examples/stm32h755cm4/memory.x b/examples/stm32h755cm4/memory.x index f946b6210..538bac586 100644 --- a/examples/stm32h755cm4/memory.x +++ b/examples/stm32h755cm4/memory.x @@ -1,7 +1,7 @@ MEMORY { FLASH : ORIGIN = 0x08100000, LENGTH = 1024K /* BANK_2 */ - RAM : ORIGIN = 0x30000000, LENGTH = 128K /* SRAM1 */ + RAM : ORIGIN = 0x10000000, LENGTH = 128K /* SRAM1 */ RAM_D3 : ORIGIN = 0x38000000, LENGTH = 64K /* SRAM4 */ } diff --git a/examples/stm32h755cm4/src/bin/blinky.rs b/examples/stm32h755cm4/src/bin/blinky.rs index 765be5ba1..52db326b0 100644 --- a/examples/stm32h755cm4/src/bin/blinky.rs +++ b/examples/stm32h755cm4/src/bin/blinky.rs @@ -1,15 +1,23 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::{ + gpio::{Level, Output, Speed}, + SharedData, +}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; +#[link_section = ".ram_d3"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + #[embassy_executor::main] async fn main(_spawner: Spawner) { - let p = embassy_stm32::init(Default::default()); + let p = embassy_stm32::init_secondary(&SHARED_DATA); info!("Hello World!"); let mut led = Output::new(p.PE1, Level::High, Speed::Low); @@ -17,10 +25,10 @@ async fn main(_spawner: Spawner) { loop { info!("high"); led.set_high(); - Timer::after_millis(500).await; + Timer::after_millis(250).await; info!("low"); led.set_low(); - Timer::after_millis(500).await; + Timer::after_millis(250).await; } } diff --git a/examples/stm32h755cm7/.cargo/config.toml b/examples/stm32h755cm7/.cargo/config.toml index f9ae6f2e7..193e6bbc3 100644 --- a/examples/stm32h755cm7/.cargo/config.toml +++ b/examples/stm32h755cm7/.cargo/config.toml @@ -1,5 +1,5 @@ [target.thumbv7em-none-eabihf] -runner = 'probe-rs run --chip STM32H755ZITx' +runner = 'probe-rs run --chip STM32H755ZITx --catch-hardfault --always-print-stacktrace' [build] target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) diff --git a/examples/stm32h755cm7/src/bin/blinky.rs b/examples/stm32h755cm7/src/bin/blinky.rs index 396b8c718..f76395326 100644 --- a/examples/stm32h755cm7/src/bin/blinky.rs +++ b/examples/stm32h755cm7/src/bin/blinky.rs @@ -1,12 +1,20 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::{ + gpio::{Level, Output, Speed}, + SharedData, +}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; +#[link_section = ".ram_d3"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = embassy_stm32::Config::default(); @@ -31,7 +39,7 @@ async fn main(_spawner: Spawner) { config.rcc.voltage_scale = VoltageScale::Scale1; config.rcc.supply_config = SupplyConfig::DirectSMPS; } - let p = embassy_stm32::init(config); + let p = embassy_stm32::init_primary(config, &SHARED_DATA); info!("Hello World!"); let mut led = Output::new(p.PB14, Level::High, Speed::Low); -- cgit From 028ca55f9ca3bfa2e4aa99b16bc0e0e29241fe70 Mon Sep 17 00:00:00 2001 From: kalkyl Date: Mon, 8 Jul 2024 17:16:35 +0200 Subject: Add more docs and cross-links --- examples/rp/src/bin/sharing.rs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/sharing.rs b/examples/rp/src/bin/sharing.rs index 0761500ef..5416e20ce 100644 --- a/examples/rp/src/bin/sharing.rs +++ b/examples/rp/src/bin/sharing.rs @@ -1,4 +1,14 @@ //! This example shows some common strategies for sharing resources between tasks. +//! +//! We demonstrate five different ways of sharing, covering different use cases: +//! - Atomics: This method is used for simple values, such as bool and u8..u32 +//! - Blocking Mutex: This is used for sharing non-async things, using Cell/RefCell for interior mutability. +//! - Async Mutex: This is used for sharing async resources, where you need to hold the lock across await points. +//! The async Mutex has interior mutability built-in, so no RefCell is needed. +//! - Cell: For sharing Copy types between tasks running on the same executor. +//! - RefCell: When you want &mut access to a value shared between tasks running on the same executor. +//! +//! More information: https://embassy.dev/book/#_sharing_peripherals_between_tasks #![no_std] #![no_main] @@ -21,7 +31,7 @@ use rand::RngCore; use static_cell::{ConstStaticCell, StaticCell}; use {defmt_rtt as _, panic_probe as _}; -type UartMutex = mutex::Mutex>; +type UartAsyncMutex = mutex::Mutex>; struct MyType { inner: u32, @@ -53,7 +63,7 @@ fn main() -> ! { let uart = UartTx::new(p.UART0, p.PIN_0, p.DMA_CH0, uart::Config::default()); // Use the async Mutex for sharing async things (built-in interior mutability) - static UART: StaticCell = StaticCell::new(); + static UART: StaticCell = StaticCell::new(); let uart = UART.init(mutex::Mutex::new(uart)); // High-priority executor: runs in interrupt mode @@ -80,7 +90,7 @@ fn main() -> ! { } #[embassy_executor::task] -async fn task_a(uart: &'static UartMutex) { +async fn task_a(uart: &'static UartAsyncMutex) { let mut ticker = Ticker::every(Duration::from_secs(1)); loop { let random = RoscRng.next_u32(); @@ -100,7 +110,7 @@ async fn task_a(uart: &'static UartMutex) { } #[embassy_executor::task] -async fn task_b(uart: &'static UartMutex, cell: &'static Cell<[u8; 4]>, ref_cell: &'static RefCell) { +async fn task_b(uart: &'static UartAsyncMutex, cell: &'static Cell<[u8; 4]>, ref_cell: &'static RefCell) { let mut ticker = Ticker::every(Duration::from_secs(1)); loop { let random = RoscRng.next_u32(); @@ -121,8 +131,8 @@ async fn task_c(cell: &'static Cell<[u8; 4]>, ref_cell: &'static RefCell loop { info!("======================="); - let atomic = ATOMIC.load(Ordering::Relaxed); - info!("atomic: {}", atomic); + let atomic_val = ATOMIC.load(Ordering::Relaxed); + info!("atomic: {}", atomic_val); MUTEX_BLOCKING.lock(|x| { let val = x.borrow().inner; -- cgit From 03f3a3389d0691492e5d60cd243f3287a4ab42b8 Mon Sep 17 00:00:00 2001 From: kalkyl Date: Mon, 8 Jul 2024 21:48:19 +0200 Subject: Add example for shared I2C and SPI buses --- examples/rp/src/bin/shared_bus.rs | 115 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 examples/rp/src/bin/shared_bus.rs (limited to 'examples') diff --git a/examples/rp/src/bin/shared_bus.rs b/examples/rp/src/bin/shared_bus.rs new file mode 100644 index 000000000..dad8b812f --- /dev/null +++ b/examples/rp/src/bin/shared_bus.rs @@ -0,0 +1,115 @@ +//! This example shows how to share (async) I2C and SPI buses between multiple devices. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_embedded_hal::shared_bus::asynch::i2c::I2cDevice; +use embassy_embedded_hal::shared_bus::asynch::spi::SpiDevice; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::gpio::{AnyPin, Level, Output}; +use embassy_rp::i2c::{self, I2c, InterruptHandler}; +use embassy_rp::peripherals::{I2C1, SPI1}; +use embassy_rp::spi::{self, Spi}; +use embassy_sync::blocking_mutex::raw::NoopRawMutex; +use embassy_sync::mutex::Mutex; +use embassy_time::Timer; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +type Spi1Bus = Mutex>; +type I2c1Bus = Mutex>; + +bind_interrupts!(struct Irqs { + I2C1_IRQ => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Here we go!"); + + // Shared I2C bus + let i2c = I2c::new_async(p.I2C1, p.PIN_15, p.PIN_14, Irqs, i2c::Config::default()); + static I2C_BUS: StaticCell = StaticCell::new(); + let i2c_bus = I2C_BUS.init(Mutex::new(i2c)); + + spawner.must_spawn(i2c_task_a(i2c_bus)); + spawner.must_spawn(i2c_task_b(i2c_bus)); + + // Shared SPI bus + let spi_cfg = spi::Config::default(); + let spi = Spi::new(p.SPI1, p.PIN_10, p.PIN_11, p.PIN_12, p.DMA_CH0, p.DMA_CH1, spi_cfg); + static SPI_BUS: StaticCell = StaticCell::new(); + let spi_bus = SPI_BUS.init(Mutex::new(spi)); + + // Chip select pins for the SPI devices + let cs_a = Output::new(AnyPin::from(p.PIN_0), Level::High); + let cs_b = Output::new(AnyPin::from(p.PIN_1), Level::High); + + spawner.must_spawn(spi_task_a(spi_bus, cs_a)); + spawner.must_spawn(spi_task_b(spi_bus, cs_b)); +} + +#[embassy_executor::task] +async fn i2c_task_a(i2c_bus: &'static I2c1Bus) { + let i2c_dev = I2cDevice::new(i2c_bus); + let _sensor = DummyI2cDeviceDriver::new(i2c_dev, 0xC0); + loop { + info!("i2c task A"); + Timer::after_secs(1).await; + } +} + +#[embassy_executor::task] +async fn i2c_task_b(i2c_bus: &'static I2c1Bus) { + let i2c_dev = I2cDevice::new(i2c_bus); + let _sensor = DummyI2cDeviceDriver::new(i2c_dev, 0xDE); + loop { + info!("i2c task B"); + Timer::after_secs(1).await; + } +} + +#[embassy_executor::task] +async fn spi_task_a(spi_bus: &'static Spi1Bus, cs: Output<'static>) { + let spi_dev = SpiDevice::new(spi_bus, cs); + let _sensor = DummySpiDeviceDriver::new(spi_dev); + loop { + info!("spi task A"); + Timer::after_secs(1).await; + } +} + +#[embassy_executor::task] +async fn spi_task_b(spi_bus: &'static Spi1Bus, cs: Output<'static>) { + let spi_dev = SpiDevice::new(spi_bus, cs); + let _sensor = DummySpiDeviceDriver::new(spi_dev); + loop { + info!("spi task B"); + Timer::after_secs(1).await; + } +} + +// Dummy I2C device driver, implementing `embedded-hal-async` +struct DummyI2cDeviceDriver { + _i2c: I2C, +} + +impl DummyI2cDeviceDriver { + fn new(i2c_dev: I2C, _address: u8) -> Self { + Self { _i2c: i2c_dev } + } +} + +// Dummy SPI device driver, implementing `embedded-hal-async` +struct DummySpiDeviceDriver { + _spi: SPI, +} + +impl DummySpiDeviceDriver { + fn new(spi_dev: SPI) -> Self { + Self { _spi: spi_dev } + } +} -- cgit From 376f65e1d388a7eff83e0c12deeb4d556daefea5 Mon Sep 17 00:00:00 2001 From: rafael Date: Mon, 8 Jul 2024 22:07:38 +0200 Subject: add assign_resources example --- examples/rp/Cargo.toml | 3 ++ examples/rp/src/bin/assign_resources.rs | 82 +++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 examples/rp/src/bin/assign_resources.rs (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 9bd403f02..d06ab5e5a 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -29,6 +29,9 @@ reqwless = { version = "0.12.0", features = ["defmt",]} serde = { version = "1.0.203", default-features = false, features = ["derive"] } serde-json-core = "0.5.1" +# for assign resources example +assign-resources = { git = "https://github.com/adamgreig/assign-resources", rev = "94ad10e2729afdf0fd5a77cd12e68409a982f58a" } + #cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } cortex-m = { version = "0.7.6", features = ["inline-asm"] } cortex-m-rt = "0.7.0" diff --git a/examples/rp/src/bin/assign_resources.rs b/examples/rp/src/bin/assign_resources.rs new file mode 100644 index 000000000..38e730498 --- /dev/null +++ b/examples/rp/src/bin/assign_resources.rs @@ -0,0 +1,82 @@ +//! This example demonstrates how to assign resources to multiple tasks by splitting up the peripherals. +//! It is not about sharing the same resources between tasks, see sharing.rs for that or head to https://embassy.dev/book/#_sharing_peripherals_between_tasks) +//! Of course splitting up resources and sharing resources can be combined, yet this example is only about splitting up resources. +//! +//! There are basically two ways we demonstrate here: +//! 1) Assigning resources to a task by passing parts of the peripherals +//! 2) Assigning resources to a task by passing a struct with the split up peripherals, using the assign-resources macro +//! +//! using four LEDs on Pins 10, 11, 20 and 21 + +#![no_std] +#![no_main] + +use assign_resources::assign_resources; +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::{ + gpio, + peripherals::{self, PIN_20, PIN_21}, +}; +use embassy_time::Timer; +use gpio::{Level, Output}; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + // initialize the peripherals + let p = embassy_rp::init(Default::default()); + + // 1) Assigning a resource to a task by passing parts of the peripherals. + spawner + .spawn(double_blinky_manually_assigned(spawner, p.PIN_20, p.PIN_21)) + .unwrap(); + + // 2) Using the assign-resources macro to assign resources to a task. + // we perform the split, see further below for the definition of the resources struct + let r = split_resources!(p); + // and then we can use them + spawner.spawn(double_blinky_macro_assigned(spawner, r.leds)).unwrap(); +} + +// 1) Assigning a resource to a task by passing parts of the peripherals. +#[embassy_executor::task] +async fn double_blinky_manually_assigned(_spawner: Spawner, pin_20: PIN_20, pin_21: PIN_21) { + let mut led_20 = Output::new(pin_20, Level::Low); + let mut led_21 = Output::new(pin_21, Level::High); + + loop { + info!("toggling leds"); + led_20.toggle(); + led_21.toggle(); + Timer::after_secs(1).await; + } +} + +// 2) Using the assign-resources macro to assign resources to a task. +// first we define the resources we want to assign to the task using the assign_resources! macro +// basically this will split up the peripherals struct into smaller structs, that we define here +// naming is up to you, make sure your future self understands what you did here +assign_resources! { + leds: Leds{ + led_10: PIN_10, + led_11: PIN_11, + } + // add more resources to more structs if needed, for example defining one struct for each task +} +// this could be done in another file and imported here, but for the sake of simplicity we do it here +// see https://github.com/adamgreig/assign-resources for more information + +// 2) Using the split resources in a task +#[embassy_executor::task] +async fn double_blinky_macro_assigned(_spawner: Spawner, r: Leds) { + let mut led_10 = Output::new(r.led_10, Level::Low); + let mut led_11 = Output::new(r.led_11, Level::High); + + loop { + info!("toggling leds"); + led_10.toggle(); + led_11.toggle(); + Timer::after_secs(1).await; + } +} -- cgit From 91e6aa31660d89de0b8a7f382d807e66907aceaa Mon Sep 17 00:00:00 2001 From: rafael Date: Mon, 8 Jul 2024 22:20:23 +0200 Subject: rustfmt --- examples/rp/src/bin/assign_resources.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/src/bin/assign_resources.rs b/examples/rp/src/bin/assign_resources.rs index 38e730498..37b2c20bc 100644 --- a/examples/rp/src/bin/assign_resources.rs +++ b/examples/rp/src/bin/assign_resources.rs @@ -5,7 +5,7 @@ //! There are basically two ways we demonstrate here: //! 1) Assigning resources to a task by passing parts of the peripherals //! 2) Assigning resources to a task by passing a struct with the split up peripherals, using the assign-resources macro -//! +//! //! using four LEDs on Pins 10, 11, 20 and 21 #![no_std] -- cgit From 52c43f024939956d3b8d45cada70aaaa35dfbebd Mon Sep 17 00:00:00 2001 From: rafael Date: Mon, 8 Jul 2024 22:26:32 +0200 Subject: rustfmt --- examples/rp/src/bin/assign_resources.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/assign_resources.rs b/examples/rp/src/bin/assign_resources.rs index 37b2c20bc..ff6eff4a2 100644 --- a/examples/rp/src/bin/assign_resources.rs +++ b/examples/rp/src/bin/assign_resources.rs @@ -14,12 +14,9 @@ use assign_resources::assign_resources; use defmt::*; use embassy_executor::Spawner; -use embassy_rp::{ - gpio, - peripherals::{self, PIN_20, PIN_21}, -}; +use embassy_rp::gpio::{Level, Output}; +use embassy_rp::peripherals::{self, PIN_20, PIN_21}; use embassy_time::Timer; -use gpio::{Level, Output}; use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] -- cgit From af9c7379f99b309a99b0b573ebfb8ea1bebecaf9 Mon Sep 17 00:00:00 2001 From: kalkyl Date: Mon, 8 Jul 2024 22:53:50 +0200 Subject: Add link to example in book --- examples/rp/src/bin/shared_bus.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/shared_bus.rs b/examples/rp/src/bin/shared_bus.rs index dad8b812f..c6cb5d64c 100644 --- a/examples/rp/src/bin/shared_bus.rs +++ b/examples/rp/src/bin/shared_bus.rs @@ -92,7 +92,7 @@ async fn spi_task_b(spi_bus: &'static Spi1Bus, cs: Output<'static>) { } } -// Dummy I2C device driver, implementing `embedded-hal-async` +// Dummy I2C device driver, using `embedded-hal-async` struct DummyI2cDeviceDriver { _i2c: I2C, } @@ -103,7 +103,7 @@ impl DummyI2cDeviceDriver { } } -// Dummy SPI device driver, implementing `embedded-hal-async` +// Dummy SPI device driver, using `embedded-hal-async` struct DummySpiDeviceDriver { _spi: SPI, } -- cgit From f6f312270f9b2c42b0112545ac356cd6f595505b Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Tue, 9 Jul 2024 09:37:49 +0200 Subject: fmt --- examples/stm32h755cm4/src/bin/blinky.rs | 6 ++---- examples/stm32h755cm7/src/bin/blinky.rs | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/stm32h755cm4/src/bin/blinky.rs b/examples/stm32h755cm4/src/bin/blinky.rs index 52db326b0..f750c5db6 100644 --- a/examples/stm32h755cm4/src/bin/blinky.rs +++ b/examples/stm32h755cm4/src/bin/blinky.rs @@ -5,10 +5,8 @@ use core::mem::MaybeUninit; use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::{ - gpio::{Level, Output, Speed}, - SharedData, -}; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::SharedData; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; diff --git a/examples/stm32h755cm7/src/bin/blinky.rs b/examples/stm32h755cm7/src/bin/blinky.rs index f76395326..f76a136aa 100644 --- a/examples/stm32h755cm7/src/bin/blinky.rs +++ b/examples/stm32h755cm7/src/bin/blinky.rs @@ -5,10 +5,8 @@ use core::mem::MaybeUninit; use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::{ - gpio::{Level, Output, Speed}, - SharedData, -}; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::SharedData; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -- cgit From 52f40b9c9d4ee3dc47693648a77ffa45421c58ca Mon Sep 17 00:00:00 2001 From: michel Date: Tue, 9 Jul 2024 23:11:25 +0200 Subject: add blocking TSC examples --- examples/stm32f3/src/bin/blocking-tsc.rs | 98 ++++++++++++++++++++++++++ examples/stm32l0/src/bin/blocking-tsc.rs | 116 +++++++++++++++++++++++++++++++ 2 files changed, 214 insertions(+) create mode 100644 examples/stm32f3/src/bin/blocking-tsc.rs create mode 100644 examples/stm32l0/src/bin/blocking-tsc.rs (limited to 'examples') diff --git a/examples/stm32f3/src/bin/blocking-tsc.rs b/examples/stm32f3/src/bin/blocking-tsc.rs new file mode 100644 index 000000000..5c8dac94f --- /dev/null +++ b/examples/stm32f3/src/bin/blocking-tsc.rs @@ -0,0 +1,98 @@ +// Example of polling TSC (Touch Sensing Controller) that lights an LED when touch is detected. +// +// Suggested physical setup on STM32F303ZE Nucleo board: +// - Connect a 1000pF capacitor between pin A0 and GND. This is your sampling capacitor. +// - Connect one end of a 1K resistor to pin A1 and leave the other end loose. +// The loose end will act as touch sensor which will register your touch. +// +// Troubleshooting the setup: +// - If no touch seems to be registered, then try to disconnect the sampling capacitor from GND momentarily, +// now the led should light up. Next try using a different value for the sampling capacitor. +// Also experiment with increasing the values for `ct_pulse_high_length`, `ct_pulse_low_length`, `pulse_generator_prescaler`, `max_count_value` and `discharge_delay`. +// +// All configuration values and sampling capacitor value have been determined experimentally. +// Suitable configuration and discharge delay values are highly dependent on the value of the sample capacitor. For example, a shorter discharge delay can be used with smaller capacitor values. +// +#![no_std] +#![no_main] + +use defmt::*; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::tsc::{self, *}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +/// This example is written for the nucleo-stm32f303ze, with a stm32f303ze chip. +/// +/// Make sure you check/update the following (whether you use the F303ZE or another board): +/// +/// * [ ] Update .cargo/config.toml with the correct `probe-rs run --chip STM32F303ZETx`chip name. +/// * [ ] Update Cargo.toml to have the correct `embassy-stm32` feature, for F303ZE it should be `stm32f303ze`. +/// * [ ] If your board has a special clock or power configuration, make sure that it is +/// set up appropriately. +/// * [ ] If your board has different pin mapping, update any pin numbers or peripherals +/// to match your schematic +/// +/// If you are unsure, please drop by the Embassy Matrix chat for support, and let us know: +/// +/// * Which example you are trying to run +/// * Which chip and board you are using +/// +/// Embassy Chat: https://matrix.to/#/#embassy-rs:matrix.org +#[embassy_executor::main] +async fn main(_spawner: embassy_executor::Spawner) { + let device_config = embassy_stm32::Config::default(); + let context = embassy_stm32::init(device_config); + + let tsc_conf = Config { + ct_pulse_high_length: ChargeTransferPulseCycle::_8, + ct_pulse_low_length: ChargeTransferPulseCycle::_8, + spread_spectrum: false, + spread_spectrum_deviation: SSDeviation::new(2).unwrap(), + spread_spectrum_prescaler: false, + pulse_generator_prescaler: PGPrescalerDivider::_32, + max_count_value: MaxCount::_255, + io_default_mode: false, + synchro_pin_polarity: false, + acquisition_mode: false, + max_count_interrupt: false, + channel_ios: TscIOPin::Group1Io1.into(), + shield_ios: 0, // no shield + sampling_ios: TscIOPin::Group1Io2.into(), + }; + + let mut g1: PinGroup = PinGroup::new(); + g1.set_io1(context.PA0, PinType::Sample); + g1.set_io2(context.PA1, PinType::Channel); + + let mut touch_controller = tsc::Tsc::new_blocking(context.TSC, Some(g1), None, None, None, None, None, tsc_conf); + + // LED2 on the STM32F303ZE nucleo-board + let mut led = Output::new(context.PB7, Level::High, Speed::Low); + + // smaller sample capacitor discharge faster and can be used with shorter delay. + let discharge_delay = 5; // ms + + // the interval at which the loop polls for new touch sensor values + let polling_interval = 100; // ms + + info!("polling for touch"); + loop { + touch_controller.start(); + touch_controller.poll_for_acquisition(); + touch_controller.discharge_io(true); + Timer::after_millis(discharge_delay).await; + + let grp1_status = touch_controller.group_get_status(Group::One); + match grp1_status { + GroupStatus::Complete => { + let group_one_val = touch_controller.group_get_value(Group::One); + info!("{}", group_one_val); + led.set_high(); + } + GroupStatus::Ongoing => led.set_low(), + } + + Timer::after_millis(polling_interval).await; + } +} diff --git a/examples/stm32l0/src/bin/blocking-tsc.rs b/examples/stm32l0/src/bin/blocking-tsc.rs new file mode 100644 index 000000000..7e4f40946 --- /dev/null +++ b/examples/stm32l0/src/bin/blocking-tsc.rs @@ -0,0 +1,116 @@ +// Example of polling TSC (Touch Sensing Controller) that lights an LED when touch is detected. +// +// Suggested physical setup on STM32L073RZ Nucleo board: +// - Connect a 1000pF capacitor between pin A0 and GND. This is your sampling capacitor. +// - Connect one end of a 1K resistor to pin A1 and leave the other end loose. +// The loose end will act as touch sensor which will register your touch. +// +// Troubleshooting the setup: +// - If no touch seems to be registered, then try to disconnect the sampling capacitor from GND momentarily, +// now the led should light up. Next try using a different value for the sampling capacitor. +// Also experiment with increasing the values for `ct_pulse_high_length`, `ct_pulse_low_length`, `pulse_generator_prescaler`, `max_count_value` and `discharge_delay`. +// +// All configuration values and sampling capacitor value have been determined experimentally. +// Suitable configuration and discharge delay values are highly dependent on the value of the sample capacitor. For example, a shorter discharge delay can be used with smaller capacitor values. +// +#![no_std] +#![no_main] + +use defmt::*; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::tsc::{self, *}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +/// This example is written for the nucleo-stm32l073rz, with a stm32l073rz chip. +/// +/// Make sure you check/update the following (whether you use the L073RZ or another board): +/// +/// * [ ] Update .cargo/config.toml with the correct `probe-rs run --chip STM32L073RZTx`chip name. +/// * [ ] Update Cargo.toml to have the correct `embassy-stm32` feature, for L073RZ it should be `stm32l073rz`. +/// * [ ] If your board has a special clock or power configuration, make sure that it is +/// set up appropriately. +/// * [ ] If your board has different pin mapping, update any pin numbers or peripherals +/// to match your schematic +/// +/// If you are unsure, please drop by the Embassy Matrix chat for support, and let us know: +/// +/// * Which example you are trying to run +/// * Which chip and board you are using +/// +/// Embassy Chat: https://matrix.to/#/#embassy-rs:matrix.org +#[embassy_executor::main] +async fn main(_spawner: embassy_executor::Spawner) { + let device_config = embassy_stm32::Config::default(); + let context = embassy_stm32::init(device_config); + + let tsc_conf = Config { + ct_pulse_high_length: ChargeTransferPulseCycle::_4, + ct_pulse_low_length: ChargeTransferPulseCycle::_4, + spread_spectrum: false, + spread_spectrum_deviation: SSDeviation::new(2).unwrap(), + spread_spectrum_prescaler: false, + pulse_generator_prescaler: PGPrescalerDivider::_16, + max_count_value: MaxCount::_255, + io_default_mode: false, + synchro_pin_polarity: false, + acquisition_mode: false, + max_count_interrupt: false, + channel_ios: TscIOPin::Group1Io1.into(), + shield_ios: 0, // no shield + sampling_ios: TscIOPin::Group1Io2.into(), + }; + + let mut g1: PinGroup = PinGroup::new(); + g1.set_io1(context.PA0, PinType::Sample); + g1.set_io2(context.PA1, PinType::Channel); + + let mut touch_controller = tsc::Tsc::new_blocking( + context.TSC, + Some(g1), + None, + None, + None, + None, + None, + None, + None, + tsc_conf, + ); + + // Check if TSC is ready + if touch_controller.get_state() != State::Ready { + info!("TSC not ready!"); + loop {} // Halt execution + } + info!("TSC initialized successfully"); + + // LED2 on the STM32L073RZ nucleo-board (PA5) + let mut led = Output::new(context.PA5, Level::High, Speed::Low); + + // smaller sample capacitor discharge faster and can be used with shorter delay. + let discharge_delay = 5; // ms + + // the interval at which the loop polls for new touch sensor values + let polling_interval = 100; // ms + + info!("polling for touch"); + loop { + touch_controller.start(); + touch_controller.poll_for_acquisition(); + touch_controller.discharge_io(true); + Timer::after_millis(discharge_delay).await; + + let grp1_status = touch_controller.group_get_status(Group::One); + match grp1_status { + GroupStatus::Complete => { + let group_one_val = touch_controller.group_get_value(Group::One); + info!("{}", group_one_val); + led.set_high(); + } + GroupStatus::Ongoing => led.set_low(), + } + + Timer::after_millis(polling_interval).await; + } +} -- cgit From 10a1a27cc3ee9d2b445e86882d89633ec3de5f57 Mon Sep 17 00:00:00 2001 From: michel Date: Wed, 10 Jul 2024 14:08:52 +0200 Subject: add async TSC example for STM32L073 --- examples/stm32l0/src/bin/async-tsc.rs | 122 ++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 examples/stm32l0/src/bin/async-tsc.rs (limited to 'examples') diff --git a/examples/stm32l0/src/bin/async-tsc.rs b/examples/stm32l0/src/bin/async-tsc.rs new file mode 100644 index 000000000..c40b86af9 --- /dev/null +++ b/examples/stm32l0/src/bin/async-tsc.rs @@ -0,0 +1,122 @@ +// Example of async TSC (Touch Sensing Controller) that lights an LED when touch is detected. +// +// Suggested physical setup on STM32L073RZ Nucleo board: +// - Connect a 1000pF capacitor between pin A0 and GND. This is your sampling capacitor. +// - Connect one end of a 1K resistor to pin A1 and leave the other end loose. +// The loose end will act as touch sensor which will register your touch. +// +// Troubleshooting the setup: +// - If no touch seems to be registered, then try to disconnect the sampling capacitor from GND momentarily, +// now the led should light up. Next try using a different value for the sampling capacitor. +// Also experiment with increasing the values for `ct_pulse_high_length`, `ct_pulse_low_length`, `pulse_generator_prescaler`, `max_count_value` and `discharge_delay`. +// +// All configuration values and sampling capacitor value have been determined experimentally. +// Suitable configuration and discharge delay values are highly dependent on the value of the sample capacitor. For example, a shorter discharge delay can be used with smaller capacitor values. +// +#![no_std] +#![no_main] + +use defmt::*; +use embassy_stm32::bind_interrupts; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::tsc::{self, *}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + TSC => InterruptHandler; +}); + +#[cortex_m_rt::exception] +unsafe fn HardFault(_: &cortex_m_rt::ExceptionFrame) -> ! { + cortex_m::peripheral::SCB::sys_reset(); +} + +/// This example is written for the nucleo-stm32l073rz, with a stm32l073rz chip. +/// +/// Make sure you check/update the following (whether you use the L073RZ or another board): +/// +/// * [ ] Update .cargo/config.toml with the correct `probe-rs run --chip STM32L073RZTx`chip name. +/// * [ ] Update Cargo.toml to have the correct `embassy-stm32` feature, for L073RZ it should be `stm32l073rz`. +/// * [ ] If your board has a special clock or power configuration, make sure that it is +/// set up appropriately. +/// * [ ] If your board has different pin mapping, update any pin numbers or peripherals +/// to match your schematic +/// +/// If you are unsure, please drop by the Embassy Matrix chat for support, and let us know: +/// +/// * Which example you are trying to run +/// * Which chip and board you are using +/// +/// Embassy Chat: https://matrix.to/#/#embassy-rs:matrix.org +#[embassy_executor::main] +async fn main(_spawner: embassy_executor::Spawner) { + let device_config = embassy_stm32::Config::default(); + let context = embassy_stm32::init(device_config); + + let config = tsc::Config { + ct_pulse_high_length: ChargeTransferPulseCycle::_4, + ct_pulse_low_length: ChargeTransferPulseCycle::_4, + spread_spectrum: false, + spread_spectrum_deviation: SSDeviation::new(2).unwrap(), + spread_spectrum_prescaler: false, + pulse_generator_prescaler: PGPrescalerDivider::_16, + max_count_value: MaxCount::_255, + io_default_mode: false, + synchro_pin_polarity: false, + acquisition_mode: false, + max_count_interrupt: false, + channel_ios: TscIOPin::Group1Io1.into(), + shield_ios: 0, // no shield + sampling_ios: TscIOPin::Group1Io2.into(), + }; + + let mut g1: PinGroup = PinGroup::new(); + g1.set_io1(context.PA0, PinType::Sample); + g1.set_io2(context.PA1, PinType::Channel); + + let mut touch_controller = tsc::Tsc::new_async( + context.TSC, + Some(g1), + None, + None, + None, + None, + None, + None, + None, + config, + Irqs, + ); + + // Check if TSC is ready + if touch_controller.get_state() != State::Ready { + info!("TSC not ready!"); + loop {} // Halt execution + } + info!("TSC initialized successfully"); + + // LED2 on the STM32L073RZ nucleo-board (PA5) + let mut led = Output::new(context.PA5, Level::High, Speed::Low); + + // smaller sample capacitor discharge faster and can be used with shorter delay. + let discharge_delay = 5; // ms + + info!("Starting touch_controller interface"); + loop { + touch_controller.start(); + touch_controller.pend_for_acquisition().await; + touch_controller.discharge_io(true); + Timer::after_millis(discharge_delay).await; + + let grp1_status = touch_controller.group_get_status(Group::One); + match grp1_status { + GroupStatus::Complete => { + let group_one_val = touch_controller.group_get_value(Group::One); + info!("{}", group_one_val); + led.set_high(); + } + GroupStatus::Ongoing => led.set_low(), + } + } +} -- cgit From f01ffbcc12c40c68a57bc2daffdfad697bc28921 Mon Sep 17 00:00:00 2001 From: Chen Yuheng <1016867898@qq.com> Date: Thu, 11 Jul 2024 10:33:43 +0800 Subject: Add oversampling and differential for g4 --- examples/stm32g4/src/bin/adc_differential.rs | 47 +++++++++++++++++++++++ examples/stm32g4/src/bin/adc_oversampling.rs | 57 ++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 examples/stm32g4/src/bin/adc_differential.rs create mode 100644 examples/stm32g4/src/bin/adc_oversampling.rs (limited to 'examples') diff --git a/examples/stm32g4/src/bin/adc_differential.rs b/examples/stm32g4/src/bin/adc_differential.rs new file mode 100644 index 000000000..78d071d45 --- /dev/null +++ b/examples/stm32g4/src/bin/adc_differential.rs @@ -0,0 +1,47 @@ +//! adc differential mode example +//! +//! This example uses adc1 in differential mode +//! p:pa0 n:pa1 + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::adc::{Adc, SampleTime}; +use embassy_stm32::Config; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.pll = Some(Pll { + source: PllSource::HSI, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL85, + divp: None, + divq: None, + // Main system clock at 170 MHz + divr: Some(PllRDiv::DIV2), + }); + config.rcc.mux.adc12sel = mux::Adcsel::SYS; + config.rcc.sys = Sysclk::PLL1_R; + } + let mut p = embassy_stm32::init(config); + + let mut adc = Adc::new(p.ADC1); + adc.set_sample_time(SampleTime::CYCLES247_5); + adc.set_differential(&mut p.PA0, true); //p:pa0,n:pa1 + + // can also use + // adc.set_differential_channel(1, true); + info!("adc initialized"); + loop { + let measured = adc.blocking_read(&mut p.PA0); + info!("data: {}", measured); + Timer::after_millis(500).await; + } +} diff --git a/examples/stm32g4/src/bin/adc_oversampling.rs b/examples/stm32g4/src/bin/adc_oversampling.rs new file mode 100644 index 000000000..d31eb20f8 --- /dev/null +++ b/examples/stm32g4/src/bin/adc_oversampling.rs @@ -0,0 +1,57 @@ +//! adc oversampling example +//! +//! This example uses adc oversampling to achieve 16bit data + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::adc::vals::{Rovsm, Trovs}; +use embassy_stm32::adc::{Adc, SampleTime}; +use embassy_stm32::Config; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.pll = Some(Pll { + source: PllSource::HSI, + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL85, + divp: None, + divq: None, + // Main system clock at 170 MHz + divr: Some(PllRDiv::DIV2), + }); + config.rcc.mux.adc12sel = mux::Adcsel::SYS; + config.rcc.sys = Sysclk::PLL1_R; + } + let mut p = embassy_stm32::init(config); + + let mut adc = Adc::new(p.ADC1); + adc.set_sample_time(SampleTime::CYCLES6_5); + // From https://www.st.com/resource/en/reference_manual/rm0440-stm32g4-series-advanced-armbased-32bit-mcus-stmicroelectronics.pdf + // page652 Oversampler + // Table 172. Maximum output results vs N and M. Grayed values indicates truncation + // 0x00 oversampling ratio X2 + // 0x01 oversampling ratio X4 + // 0x02 oversampling ratio X8 + // 0x03 oversampling ratio X16 + // 0x04 oversampling ratio X32 + // 0x05 oversampling ratio X64 + // 0x06 oversampling ratio X128 + // 0x07 oversampling ratio X256 + adc.set_oversampling_ratio(0x03); // ratio X3 + adc.set_oversampling_shift(0b0000); // no shift + adc.enable_regular_oversampling_mode(Rovsm::RESUMED, Trovs::AUTOMATIC, true); + + loop { + let measured = adc.blocking_read(&mut p.PA0); + info!("data: 0x{:X}", measured); //max 0xFFF0 -> 65520 + Timer::after_millis(500).await; + } +} -- cgit From 0dd0e593c22dc2ba4fc862ff958663e69b8bafc3 Mon Sep 17 00:00:00 2001 From: nerwalt Date: Mon, 15 Jul 2024 13:35:21 -0600 Subject: cargo fmt examples --- examples/nrf9151/ns/src/bin/blinky.rs | 2 -- examples/nrf9151/s/src/bin/blinky.rs | 2 -- 2 files changed, 4 deletions(-) (limited to 'examples') diff --git a/examples/nrf9151/ns/src/bin/blinky.rs b/examples/nrf9151/ns/src/bin/blinky.rs index 5e3cc8ac0..7457a95a3 100644 --- a/examples/nrf9151/ns/src/bin/blinky.rs +++ b/examples/nrf9151/ns/src/bin/blinky.rs @@ -6,8 +6,6 @@ use embassy_nrf::gpio::{Level, Output, OutputDrive}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -use defmt; - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_nrf::init(Default::default()); diff --git a/examples/nrf9151/s/src/bin/blinky.rs b/examples/nrf9151/s/src/bin/blinky.rs index 5e3cc8ac0..7457a95a3 100644 --- a/examples/nrf9151/s/src/bin/blinky.rs +++ b/examples/nrf9151/s/src/bin/blinky.rs @@ -6,8 +6,6 @@ use embassy_nrf::gpio::{Level, Output, OutputDrive}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -use defmt; - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_nrf::init(Default::default()); -- cgit From 2571e0416f5f592cc92f5c72550dcdad6063823b Mon Sep 17 00:00:00 2001 From: JuliDi <20155974+JuliDi@users.noreply.github.com> Date: Tue, 16 Jul 2024 12:26:51 +0200 Subject: bump usbd-hid from 0.7.0 to 0.8.1 --- examples/rp/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index d06ab5e5a..604112546 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -44,7 +44,7 @@ display-interface = "0.4.1" byte-slice-cast = { version = "1.2.0", default-features = false } smart-leds = "0.3.0" heapless = "0.8" -usbd-hid = "0.7.0" +usbd-hid = "0.8.1" embedded-hal-1 = { package = "embedded-hal", version = "1.0" } embedded-hal-async = "1.0" -- cgit From d78ce3c6ab46825a18a6ee6086bea08270aa8076 Mon Sep 17 00:00:00 2001 From: JuliDi <20155974+JuliDi@users.noreply.github.com> Date: Tue, 16 Jul 2024 12:38:16 +0200 Subject: bump more udbd-hid usages to 0.8.1 --- examples/nrf52840/Cargo.toml | 2 +- examples/nrf5340/Cargo.toml | 2 +- examples/stm32f4/Cargo.toml | 2 +- examples/stm32g4/Cargo.toml | 2 +- examples/stm32l5/Cargo.toml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index 000857821..ff90d13af 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml @@ -27,7 +27,7 @@ cortex-m-rt = "0.7.0" panic-probe = { version = "0.3", features = ["print-defmt"] } rand = { version = "0.8.4", default-features = false } embedded-storage = "0.3.1" -usbd-hid = "0.7.0" +usbd-hid = "0.8.1" serde = { version = "1.0.136", default-features = false } embedded-hal = { version = "1.0" } embedded-hal-async = { version = "1.0" } diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index 02f6190f0..aeed39b3d 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml @@ -23,7 +23,7 @@ cortex-m-rt = "0.7.0" panic-probe = { version = "0.3", features = ["print-defmt"] } rand = { version = "0.8.4", default-features = false } embedded-storage = "0.3.1" -usbd-hid = "0.7.0" +usbd-hid = "0.8.1" serde = { version = "1.0.136", default-features = false } [profile.release] diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index d909c7e68..dbfaecb5e 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -30,7 +30,7 @@ heapless = { version = "0.8", default-features = false } nb = "1.0.0" embedded-storage = "0.3.1" micromath = "2.0.0" -usbd-hid = "0.7.0" +usbd-hid = "0.8.1" static_cell = "2" chrono = { version = "^0.4", default-features = false} diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index ac6010f5f..8837ca52e 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -12,7 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } -usbd-hid = "0.7.0" +usbd-hid = "0.8.1" defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml index e4a3c8e9c..e32714cc6 100644 --- a/examples/stm32l5/Cargo.toml +++ b/examples/stm32l5/Cargo.toml @@ -13,7 +13,7 @@ embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["de embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } -usbd-hid = "0.7.0" +usbd-hid = "0.8.1" defmt = "0.3" defmt-rtt = "0.4" -- cgit From d1207706c0dcf684f9350f956c155d8874fc2550 Mon Sep 17 00:00:00 2001 From: Mathias Date: Wed, 17 Jul 2024 12:07:58 +0200 Subject: Fix example after swapping bufferedUart rx and tx in split fn --- examples/rp/src/bin/uart_buffered_split.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/src/bin/uart_buffered_split.rs b/examples/rp/src/bin/uart_buffered_split.rs index fac61aa04..468d2b61a 100644 --- a/examples/rp/src/bin/uart_buffered_split.rs +++ b/examples/rp/src/bin/uart_buffered_split.rs @@ -31,7 +31,7 @@ async fn main(spawner: Spawner) { static RX_BUF: StaticCell<[u8; 16]> = StaticCell::new(); let rx_buf = &mut RX_BUF.init([0; 16])[..]; let uart = BufferedUart::new(uart, Irqs, tx_pin, rx_pin, tx_buf, rx_buf, Config::default()); - let (rx, mut tx) = uart.split(); + let (mut tx, rx) = uart.split(); unwrap!(spawner.spawn(reader(rx))); -- cgit From b2d8d7f009877ad288a563643f3e983eaecafc58 Mon Sep 17 00:00:00 2001 From: rafael Date: Sat, 27 Jul 2024 14:48:42 +0200 Subject: add example to rp: orchestrate multiple tasks --- examples/rp/src/bin/orchestrate_tasks.rs | 267 +++++++++++++++++++++++++++++++ 1 file changed, 267 insertions(+) create mode 100644 examples/rp/src/bin/orchestrate_tasks.rs (limited to 'examples') diff --git a/examples/rp/src/bin/orchestrate_tasks.rs b/examples/rp/src/bin/orchestrate_tasks.rs new file mode 100644 index 000000000..b9282e273 --- /dev/null +++ b/examples/rp/src/bin/orchestrate_tasks.rs @@ -0,0 +1,267 @@ +//! This example demonstrates some approaches to communicate between tasks in order to orchestrate the state of the system. +//! +//! We demonstrate how to: +//! - use a channel to send messages between tasks, in this case here in order to have one task control the state of the system. +//! - use a signal to terminate a task. +//! - use command channels to send commands to another task. +//! - use different ways to receive messages, from a straightforwar awaiting on one channel to a more complex awaiting on multiple channels. +//! +//! There are more patterns to orchestrate tasks, this is just one example. +//! +//! We will use these tasks to generate example "state information": +//! - a task that generates random numbers in intervals of 60s +//! - a task that generates random numbers in intervals of 30s +//! - a task that generates random numbers in intervals of 90s +//! - a task that notifies about being attached/disattached from usb power +//! - a task that measures vsys voltage in intervals of 30s + +#![no_std] +#![no_main] + +use assign_resources::assign_resources; +use defmt::*; +use embassy_executor::Spawner; +use embassy_futures::select::{select, Either}; +use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler}; +use embassy_rp::bind_interrupts; +use embassy_rp::clocks::RoscRng; +use embassy_rp::gpio::{Input, Pull}; +use embassy_rp::peripherals; +use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; +use embassy_sync::{channel, signal}; +use embassy_time::{Duration, Timer}; +use rand::RngCore; +use {defmt_rtt as _, panic_probe as _}; + +// This is just some preparation, see example `assign_resources.rs` for more information on this. We prep the rresources that we will be using in different tasks. +// **Note**: This will not work with a board that has a wifi chip, because the wifi chip uses pins 24 and 29 for its own purposes. A way around this in software +// is not trivial, at least if you intend to use wifi, too. Workaround is to wire from vsys and vbus pins to appropriate pins on the board through a voltage divider. Then use those pins. +// For this example it will not matter much, the concept of what we are showing remains valid. +assign_resources! { + vsys: Vsys { + adc: ADC, + pin_29: PIN_29, + }, + vbus: Vbus { + pin_24: PIN_24, + }, +} + +bind_interrupts!(struct Irqs { + ADC_IRQ_FIFO => InterruptHandler; +}); + +/// This is the type of Events that we will send from the worker tasks to the orchestrating task. +enum Events { + UsbPowered(bool), + VsysVoltage(f32), + FirstRandomSeed(u32), + SecondRandomSeed(u32), + ThirdRandomSeed(u32), +} + +/// This is the type of Commands that we will send from the orchestrating task to the worker tasks. +/// Note that we are lazy here and only have one command, you might want to have more. +enum Commands { + /// This command will stop the appropriate worker task + Stop, +} + +/// This is the state of the system, we will use this to orchestrate the system. This is a simple example, in a real world application this would be more complex. +#[derive(Default, Debug, Clone, Format)] +struct State { + usb_powered: bool, + vsys_voltage: f32, + first_random_seed: u32, + second_random_seed: u32, + third_random_seed: u32, + times_we_got_first_random_seed: u8, + maximum_times_we_want_first_random_seed: u8, +} + +impl State { + fn new() -> Self { + Self { + usb_powered: false, + vsys_voltage: 0.0, + first_random_seed: 0, + second_random_seed: 0, + third_random_seed: 0, + times_we_got_first_random_seed: 0, + maximum_times_we_want_first_random_seed: 3, + } + } +} + +/// Channel for the events that we want the orchestrator to react to, all state events are of the type Enum Events. +/// We use a channel with an arbitrary size of 10, the precise size of the queue depends on your use case. This depends on how many events we +/// expect to be generated in a given time frame and how fast the orchestrator can react to them. And then if we rather want the senders to wait for +/// new slots in the queue or if we want the orchestrator to have a backlog of events to process. In this case here we expect to always be enough slots +/// in the queue, so the worker tasks can in all nominal cases send their events and continue with their work without waiting. +/// For the events we - in this case here - do not want to loose any events, so a channel is a good choice. See embassy_sync docs for other options. +static EVENT_CHANNEL: channel::Channel = channel::Channel::new(); + +/// Signal for stopping the first random signal task. We use a signal here, because we need no queue. It is suffiient to have one signal active. +static STOP_FIRST_RANDOM_SIGNAL: signal::Signal = signal::Signal::new(); + +// And now we can put all this into use + +/// This is the main task, that will not do very much besides spawning the other tasks. This is a design choice, you could do the +/// orchestrating here. This is to show that we do not need a main loop here, the system will run indefinitely as long as at least one task is running. +#[embassy_executor::main] +async fn main(spawner: Spawner) { + // initialize the peripherals + let p = embassy_rp::init(Default::default()); + // split the resources, for convenience - see above + let r = split_resources! {p}; + + // spawn the tasks + spawner.spawn(orchestrate(spawner)).unwrap(); + spawner.spawn(random_30s(spawner)).unwrap(); + spawner.spawn(random_60s(spawner)).unwrap(); + spawner.spawn(random_90s(spawner)).unwrap(); + spawner.spawn(usb_power(spawner, r.vbus)).unwrap(); + spawner.spawn(vsys_voltage(spawner, r.vsys)).unwrap(); +} + +/// This is the task handling the system state and orchestrating the other tasks. WEe can regard this as the "main loop" of the system. +#[embassy_executor::task] +async fn orchestrate(_spawner: Spawner) { + let mut state = State::new(); + + // we need to have a receiver for the events + let receiver = EVENT_CHANNEL.receiver(); + + loop { + // we await on the receiver, this will block until a new event is available + // as an alternative to this, we could also await on multiple channels, this would block until at least one of the channels has an event + // see the embassy_futures docs: https://docs.embassy.dev/embassy-futures/git/default/select/index.html + // The task random_30s does a select, if you want to have a look at that. + // Another reason to use select may also be that we want to have a timeout, so we can react to the absence of events within a time frame. + // We keep it simple here. + let event = receiver.receive().await; + + // react to the events + match event { + Events::UsbPowered(usb_powered) => { + // update the state and/or react to the event here + state.usb_powered = usb_powered; + info!("Usb powered: {}", usb_powered); + } + Events::VsysVoltage(voltage) => { + // update the state and/or react to the event here + state.vsys_voltage = voltage; + info!("Vsys voltage: {}", voltage); + } + Events::FirstRandomSeed(seed) => { + // update the state and/or react to the event here + state.first_random_seed = seed; + // here we change some meta state, we count how many times we got the first random seed + state.times_we_got_first_random_seed += 1; + info!( + "First random seed: {}, and that was iteration {} of receiving this.", + seed, &state.times_we_got_first_random_seed + ); + } + Events::SecondRandomSeed(seed) => { + // update the state and/or react to the event here + state.second_random_seed = seed; + info!("Second random seed: {}", seed); + } + Events::ThirdRandomSeed(seed) => { + // update the state and/or react to the event here + state.third_random_seed = seed; + info!("Third random seed: {}", seed); + } + } + // we now have an altered state + // there is a crate for detecting field changes on crates.io (https://crates.io/crates/fieldset) that might be useful here + // for now we just keep it simple + info!("State: {:?}", &state); + + // here we react to the state, in this case here we want to stop the first random seed task after we got it a defined number of times + if state.times_we_got_first_random_seed == state.maximum_times_we_want_first_random_seed { + info!("Stopping the first random signal task"); + // we send a command to the task + STOP_FIRST_RANDOM_SIGNAL.signal(Commands::Stop); + } + } +} + +/// This task will generate random numbers in intervals of 30s +/// The task will terminate after it has received a command signal to stop, see the orchestrate task for that. +#[embassy_executor::task] +async fn random_30s(_spawner: Spawner) { + let mut rng = RoscRng; + let sender = EVENT_CHANNEL.sender(); + loop { + // we either await on the timer or the signal, whichever comes first. + let futures = select(Timer::after(Duration::from_secs(30)), STOP_FIRST_RANDOM_SIGNAL.wait()).await; + match futures { + Either::First(_) => { + // we received are operating on the timer + info!("30s are up, generating random number"); + let random_number = rng.next_u32(); + sender.send(Events::FirstRandomSeed(random_number)).await; + } + Either::Second(_) => { + // we received the signal to stop + info!("Received signal to stop, goodbye!"); + break; + } + } + } +} + +/// This task will generate random numbers in intervals of 60s +#[embassy_executor::task] +async fn random_60s(_spawner: Spawner) { + let mut rng = RoscRng; + let sender = EVENT_CHANNEL.sender(); + loop { + Timer::after(Duration::from_secs(60)).await; + let random_number = rng.next_u32(); + sender.send(Events::SecondRandomSeed(random_number)).await; + } +} + +/// This task will generate random numbers in intervals of 90s +#[embassy_executor::task] +async fn random_90s(_spawner: Spawner) { + let mut rng = RoscRng; + let sender = EVENT_CHANNEL.sender(); + loop { + Timer::after(Duration::from_secs(90)).await; + let random_number = rng.next_u32(); + sender.send(Events::ThirdRandomSeed(random_number)).await; + } +} + +/// This task will notify if we are connected to usb power +#[embassy_executor::task] +pub async fn usb_power(_spawner: Spawner, r: Vbus) { + let mut vbus_in = Input::new(r.pin_24, Pull::None); + let sender = EVENT_CHANNEL.sender(); + loop { + sender.send(Events::UsbPowered(vbus_in.is_high())).await; + vbus_in.wait_for_any_edge().await; + } +} + +/// This task will measure the vsys voltage in intervals of 30s +#[embassy_executor::task] +pub async fn vsys_voltage(_spawner: Spawner, r: Vsys) { + let mut adc = Adc::new(r.adc, Irqs, Config::default()); + let vsys_in = r.pin_29; + let mut channel = Channel::new_pin(vsys_in, Pull::None); + let sender = EVENT_CHANNEL.sender(); + loop { + // read the adc value + let adc_value = adc.read(&mut channel).await.unwrap(); + // convert the adc value to voltage. + // 3.3 is the reference voltage, 3.0 is the factor for the inbuilt voltage divider and 4096 is the resolution of the adc + let voltage = (adc_value as f32) * 3.3 * 3.0 / 4096.0; + sender.send(Events::VsysVoltage(voltage)).await; + Timer::after(Duration::from_secs(30)).await; + } +} -- cgit From 97125e53cdf425a146c6552a25164cdfd6075fe7 Mon Sep 17 00:00:00 2001 From: rafael Date: Sat, 27 Jul 2024 14:54:02 +0200 Subject: add example to rp: orchestrate multiple tasks --- examples/rp/src/bin/orchestrate_tasks.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/orchestrate_tasks.rs b/examples/rp/src/bin/orchestrate_tasks.rs index b9282e273..1ef6b5fb6 100644 --- a/examples/rp/src/bin/orchestrate_tasks.rs +++ b/examples/rp/src/bin/orchestrate_tasks.rs @@ -23,10 +23,9 @@ use defmt::*; use embassy_executor::Spawner; use embassy_futures::select::{select, Either}; use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler}; -use embassy_rp::bind_interrupts; use embassy_rp::clocks::RoscRng; use embassy_rp::gpio::{Input, Pull}; -use embassy_rp::peripherals; +use embassy_rp::{bind_interrupts, peripherals}; use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; use embassy_sync::{channel, signal}; use embassy_time::{Duration, Timer}; -- cgit From 5d46b694ca60ee69d83eb2bd53f592b2c5b03d28 Mon Sep 17 00:00:00 2001 From: rafael Date: Sat, 27 Jul 2024 14:57:46 +0200 Subject: add example to rp: orchestrate multiple tasks --- examples/rp/src/bin/orchestrate_tasks.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp/src/bin/orchestrate_tasks.rs b/examples/rp/src/bin/orchestrate_tasks.rs index 1ef6b5fb6..b3c37de4c 100644 --- a/examples/rp/src/bin/orchestrate_tasks.rs +++ b/examples/rp/src/bin/orchestrate_tasks.rs @@ -4,7 +4,7 @@ //! - use a channel to send messages between tasks, in this case here in order to have one task control the state of the system. //! - use a signal to terminate a task. //! - use command channels to send commands to another task. -//! - use different ways to receive messages, from a straightforwar awaiting on one channel to a more complex awaiting on multiple channels. +//! - use different ways to receive messages, from a straightforwar awaiting on one channel to a more complex awaiting on multiple futures. //! //! There are more patterns to orchestrate tasks, this is just one example. //! -- cgit From e05e5d33f0ab832b2ea1c48674c99b41581118be Mon Sep 17 00:00:00 2001 From: rafael Date: Sun, 28 Jul 2024 00:19:54 +0200 Subject: review comments --- examples/rp/src/bin/orchestrate_tasks.rs | 66 ++++++++++++++++++++++++++++---- 1 file changed, 59 insertions(+), 7 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/orchestrate_tasks.rs b/examples/rp/src/bin/orchestrate_tasks.rs index b3c37de4c..0e21d5833 100644 --- a/examples/rp/src/bin/orchestrate_tasks.rs +++ b/examples/rp/src/bin/orchestrate_tasks.rs @@ -14,6 +14,7 @@ //! - a task that generates random numbers in intervals of 90s //! - a task that notifies about being attached/disattached from usb power //! - a task that measures vsys voltage in intervals of 30s +//! - a task that consumes the state information and reacts to it #![no_std] #![no_main] @@ -57,6 +58,7 @@ enum Events { FirstRandomSeed(u32), SecondRandomSeed(u32), ThirdRandomSeed(u32), + ResetFirstRandomSeed, } /// This is the type of Commands that we will send from the orchestrating task to the worker tasks. @@ -103,6 +105,11 @@ static EVENT_CHANNEL: channel::Channel = ch /// Signal for stopping the first random signal task. We use a signal here, because we need no queue. It is suffiient to have one signal active. static STOP_FIRST_RANDOM_SIGNAL: signal::Signal = signal::Signal::new(); +/// Channel for the state that we want the consumer task to react to. We use a channel here, because we want to have a queue of state changes, although +/// we want the queue to be of size 1, because we want to finish rwacting to the state change before the next one comes in. This is just a design choice +/// and depends on your use case. +static CONSUMER_CHANNEL: channel::Channel = channel::Channel::new(); + // And now we can put all this into use /// This is the main task, that will not do very much besides spawning the other tasks. This is a design choice, you could do the @@ -116,11 +123,11 @@ async fn main(spawner: Spawner) { // spawn the tasks spawner.spawn(orchestrate(spawner)).unwrap(); - spawner.spawn(random_30s(spawner)).unwrap(); spawner.spawn(random_60s(spawner)).unwrap(); spawner.spawn(random_90s(spawner)).unwrap(); spawner.spawn(usb_power(spawner, r.vbus)).unwrap(); spawner.spawn(vsys_voltage(spawner, r.vsys)).unwrap(); + spawner.spawn(consumer(spawner)).unwrap(); } /// This is the task handling the system state and orchestrating the other tasks. WEe can regard this as the "main loop" of the system. @@ -131,6 +138,9 @@ async fn orchestrate(_spawner: Spawner) { // we need to have a receiver for the events let receiver = EVENT_CHANNEL.receiver(); + // and we need a sender for the consumer task + let state_sender = CONSUMER_CHANNEL.sender(); + loop { // we await on the receiver, this will block until a new event is available // as an alternative to this, we could also await on multiple channels, this would block until at least one of the channels has an event @@ -172,23 +182,65 @@ async fn orchestrate(_spawner: Spawner) { state.third_random_seed = seed; info!("Third random seed: {}", seed); } + Events::ResetFirstRandomSeed => { + // update the state and/or react to the event here + state.times_we_got_first_random_seed = 0; + state.first_random_seed = 0; + info!("Resetting the first random seed counter"); + } } // we now have an altered state // there is a crate for detecting field changes on crates.io (https://crates.io/crates/fieldset) that might be useful here // for now we just keep it simple - info!("State: {:?}", &state); - // here we react to the state, in this case here we want to stop the first random seed task after we got it a defined number of times - if state.times_we_got_first_random_seed == state.maximum_times_we_want_first_random_seed { - info!("Stopping the first random signal task"); - // we send a command to the task - STOP_FIRST_RANDOM_SIGNAL.signal(Commands::Stop); + // we send the state to the consumer task + // since the channel has a size of 1, this will block until the consumer task has received the state, which is what we want here in this example + // **Note:** It is bad design to send too much data between tasks, with no clear definition of what "too much" is. In this example we send the + // whole state, in a real world application you might want to send only the data, that is relevant to the consumer task AND only when it has changed. + // We keep it simple here. + state_sender.send(state.clone()).await; + } +} + +/// This task will consume the state information and react to it. This is a simple example, in a real world application this would be more complex +/// and we could have multiple consumer tasks, each reacting to different parts of the state. +#[embassy_executor::task] +async fn consumer(spawner: Spawner) { + // we need to have a receiver for the state + let receiver = CONSUMER_CHANNEL.receiver(); + let sender = EVENT_CHANNEL.sender(); + loop { + // we await on the receiver, this will block until a new state is available + let state = receiver.receive().await; + // react to the state, in this case here we just log it + info!("The consumer has reveived this state: {:?}", &state); + + // here we react to the state, in this case here we want to start or stop the first random signal task depending on the state of the system + match state.times_we_got_first_random_seed { + max if max == state.maximum_times_we_want_first_random_seed => { + info!("Stopping the first random signal task"); + // we send a command to the task + STOP_FIRST_RANDOM_SIGNAL.signal(Commands::Stop); + // we notify the orchestrator that we have sent the command + sender.send(Events::ResetFirstRandomSeed).await; + } + 0 => { + // we start the task, which presents us with an interesting problem, because we may return here before the task has started + // here we just try and log if the task has started, in a real world application you might want to handle this more gracefully + info!("Starting the first random signal task"); + match spawner.spawn(random_30s(spawner)) { + Ok(_) => info!("Successfully spawned random_30s task"), + Err(e) => info!("Failed to spawn random_30s task: {:?}", e), + } + } + _ => {} } } } /// This task will generate random numbers in intervals of 30s /// The task will terminate after it has received a command signal to stop, see the orchestrate task for that. +/// Note that we are not spawning this task from main, as we will show how such a task can be spawned and closed dynamically. #[embassy_executor::task] async fn random_30s(_spawner: Spawner) { let mut rng = RoscRng; -- cgit From ec53b9187da70213f184e9ac2206cdf4b2316a89 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Wed, 31 Jul 2024 18:16:04 +0100 Subject: Fix bootloader-rp's bootloader memory region overflow The bootloader region (`FLASH`) mentioned below overflows into the `BOOTLOADER_STATE` region by `0x100` bytes ``` 0x10000100 + 24K = 0x10006100 ``` https://github.com/embassy-rs/embassy/blob/32adddff9c7fc223853ada7e9ab5b7e06014a47c/examples/boot/bootloader/rp/memory.x#L3-L8 --- examples/boot/bootloader/rp/memory.x | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/boot/bootloader/rp/memory.x b/examples/boot/bootloader/rp/memory.x index c3b54976e..88b5bbb15 100644 --- a/examples/boot/bootloader/rp/memory.x +++ b/examples/boot/bootloader/rp/memory.x @@ -2,7 +2,7 @@ MEMORY { /* NOTE 1 K = 1 KiBi = 1024 bytes */ BOOT2 : ORIGIN = 0x10000000, LENGTH = 0x100 - FLASH : ORIGIN = 0x10000100, LENGTH = 24K + FLASH : ORIGIN = 0x10000100, LENGTH = 24K - 0x100 BOOTLOADER_STATE : ORIGIN = 0x10006000, LENGTH = 4K ACTIVE : ORIGIN = 0x10007000, LENGTH = 512K DFU : ORIGIN = 0x10087000, LENGTH = 516K -- cgit From 5767c003ccccfa489648df1e902da5dd3b37e708 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Fri, 2 Aug 2024 19:14:43 +0200 Subject: Prepare release of embassy-embedded-hal 0.2.0 --- examples/boot/application/nrf/Cargo.toml | 2 +- examples/boot/application/rp/Cargo.toml | 2 +- examples/boot/application/stm32f3/Cargo.toml | 2 +- examples/boot/application/stm32f7/Cargo.toml | 2 +- examples/boot/application/stm32h7/Cargo.toml | 2 +- examples/boot/application/stm32l0/Cargo.toml | 2 +- examples/boot/application/stm32l1/Cargo.toml | 2 +- examples/boot/application/stm32l4/Cargo.toml | 2 +- examples/boot/application/stm32wb-dfu/Cargo.toml | 2 +- examples/boot/application/stm32wl/Cargo.toml | 2 +- examples/rp/Cargo.toml | 2 +- examples/stm32h7/Cargo.toml | 2 +- examples/stm32h735/Cargo.toml | 2 +- examples/stm32l4/Cargo.toml | 2 +- examples/stm32wl/Cargo.toml | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml index dbbe0fddc..bc9968ffc 100644 --- a/examples/boot/application/nrf/Cargo.toml +++ b/examples/boot/application/nrf/Cargo.toml @@ -11,7 +11,7 @@ embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features embassy-nrf = { version = "0.1.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } embassy-boot = { version = "0.2.0", path = "../../../../embassy-boot", features = [] } embassy-boot-nrf = { version = "0.2.0", path = "../../../../embassy-boot-nrf", features = [] } -embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = { version = "0.3", optional = true } defmt-rtt = { version = "0.4", optional = true } diff --git a/examples/boot/application/rp/Cargo.toml b/examples/boot/application/rp/Cargo.toml index d4341e8f6..de96b73a5 100644 --- a/examples/boot/application/rp/Cargo.toml +++ b/examples/boot/application/rp/Cargo.toml @@ -10,7 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", f embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [] } embassy-rp = { version = "0.1.0", path = "../../../../embassy-rp", features = ["time-driver", ] } embassy-boot-rp = { version = "0.2.0", path = "../../../../embassy-boot-rp", features = [] } -embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/boot/application/stm32f3/Cargo.toml b/examples/boot/application/stm32f3/Cargo.toml index c203ffc9f..1916ceb8d 100644 --- a/examples/boot/application/stm32f3/Cargo.toml +++ b/examples/boot/application/stm32f3/Cargo.toml @@ -10,7 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", f embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32f303re", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32" } -embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = { version = "0.3", optional = true } defmt-rtt = { version = "0.4", optional = true } diff --git a/examples/boot/application/stm32f7/Cargo.toml b/examples/boot/application/stm32f7/Cargo.toml index ed13eab65..de37a6250 100644 --- a/examples/boot/application/stm32f7/Cargo.toml +++ b/examples/boot/application/stm32f7/Cargo.toml @@ -10,7 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", f embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32f767zi", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } -embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = { version = "0.3", optional = true } defmt-rtt = { version = "0.4", optional = true } diff --git a/examples/boot/application/stm32h7/Cargo.toml b/examples/boot/application/stm32h7/Cargo.toml index f25e9815d..95edd50ce 100644 --- a/examples/boot/application/stm32h7/Cargo.toml +++ b/examples/boot/application/stm32h7/Cargo.toml @@ -10,7 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", f embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32h743zi", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } -embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = { version = "0.3", optional = true } defmt-rtt = { version = "0.4", optional = true } diff --git a/examples/boot/application/stm32l0/Cargo.toml b/examples/boot/application/stm32l0/Cargo.toml index c1a47dfe4..03dab6358 100644 --- a/examples/boot/application/stm32l0/Cargo.toml +++ b/examples/boot/application/stm32l0/Cargo.toml @@ -10,7 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", f embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l072cz", "time-driver-any", "exti", "memory-x"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } -embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = { version = "0.3", optional = true } defmt-rtt = { version = "0.4", optional = true } diff --git a/examples/boot/application/stm32l1/Cargo.toml b/examples/boot/application/stm32l1/Cargo.toml index 1e83d3113..b7196b173 100644 --- a/examples/boot/application/stm32l1/Cargo.toml +++ b/examples/boot/application/stm32l1/Cargo.toml @@ -10,7 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", f embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l151cb-a", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } -embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = { version = "0.3", optional = true } defmt-rtt = { version = "0.4", optional = true } diff --git a/examples/boot/application/stm32l4/Cargo.toml b/examples/boot/application/stm32l4/Cargo.toml index bca292681..447d1695d 100644 --- a/examples/boot/application/stm32l4/Cargo.toml +++ b/examples/boot/application/stm32l4/Cargo.toml @@ -10,7 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", f embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l475vg", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } -embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = { version = "0.3", optional = true } defmt-rtt = { version = "0.4", optional = true } diff --git a/examples/boot/application/stm32wb-dfu/Cargo.toml b/examples/boot/application/stm32wb-dfu/Cargo.toml index 0484e6ceb..824262b69 100644 --- a/examples/boot/application/stm32wb-dfu/Cargo.toml +++ b/examples/boot/application/stm32wb-dfu/Cargo.toml @@ -10,7 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", f embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } -embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } embassy-usb = { version = "0.2.0", path = "../../../../embassy-usb" } embassy-usb-dfu = { version = "0.1.0", path = "../../../../embassy-usb-dfu", features = ["application", "cortex-m"] } diff --git a/examples/boot/application/stm32wl/Cargo.toml b/examples/boot/application/stm32wl/Cargo.toml index b785a1968..a894ca42b 100644 --- a/examples/boot/application/stm32wl/Cargo.toml +++ b/examples/boot/application/stm32wl/Cargo.toml @@ -10,7 +10,7 @@ embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", f embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wl55jc-cm4", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } -embassy-embedded-hal = { version = "0.1.0", path = "../../../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = { version = "0.3", optional = true } defmt-rtt = { version = "0.4", optional = true } diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 604112546..09fc3bc12 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] -embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal", features = ["defmt"] } +embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal", features = ["defmt"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 78343b74f..d1a974029 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32h743bi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } diff --git a/examples/stm32h735/Cargo.toml b/examples/stm32h735/Cargo.toml index fc21cc894..c5ef0354f 100644 --- a/examples/stm32h735/Cargo.toml +++ b/examples/stm32h735/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h735ig", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml index de2b2bd4d..949cb588a 100644 --- a/examples/stm32l4/Cargo.toml +++ b/examples/stm32l4/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } -embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net-adin1110 = { version = "0.2.0", path = "../../embassy-net-adin1110" } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "tcp", "dhcpv4", "medium-ethernet"] } diff --git a/examples/stm32wl/Cargo.toml b/examples/stm32wl/Cargo.toml index 3ea7d0cbe..c5eee8668 100644 --- a/examples/stm32wl/Cargo.toml +++ b/examples/stm32wl/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [" embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } +embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } defmt = "0.3" defmt-rtt = "0.4" -- cgit From 44282b18faf77b7ff2fa521eb7995fa46ca16e01 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Fri, 2 Aug 2024 19:20:26 +0200 Subject: Prepare embassy-time release --- examples/boot/application/nrf/Cargo.toml | 2 +- examples/boot/application/rp/Cargo.toml | 2 +- examples/boot/application/stm32f3/Cargo.toml | 2 +- examples/boot/application/stm32f7/Cargo.toml | 2 +- examples/boot/application/stm32h7/Cargo.toml | 2 +- examples/boot/application/stm32l0/Cargo.toml | 2 +- examples/boot/application/stm32l1/Cargo.toml | 2 +- examples/boot/application/stm32l4/Cargo.toml | 2 +- examples/boot/application/stm32wb-dfu/Cargo.toml | 2 +- examples/boot/application/stm32wl/Cargo.toml | 2 +- examples/nrf-rtos-trace/Cargo.toml | 2 +- examples/nrf51/Cargo.toml | 2 +- examples/nrf52810/Cargo.toml | 2 +- examples/nrf52840-rtic/Cargo.toml | 2 +- examples/nrf52840/Cargo.toml | 2 +- examples/nrf5340/Cargo.toml | 2 +- examples/nrf9151/ns/Cargo.toml | 2 +- examples/nrf9151/s/Cargo.toml | 2 +- examples/nrf9160/Cargo.toml | 2 +- examples/rp/Cargo.toml | 2 +- examples/std/Cargo.toml | 2 +- examples/stm32c0/Cargo.toml | 2 +- examples/stm32f0/Cargo.toml | 2 +- examples/stm32f1/Cargo.toml | 2 +- examples/stm32f2/Cargo.toml | 2 +- examples/stm32f3/Cargo.toml | 2 +- examples/stm32f334/Cargo.toml | 2 +- examples/stm32f4/Cargo.toml | 2 +- examples/stm32f469/Cargo.toml | 2 +- examples/stm32f7/Cargo.toml | 2 +- examples/stm32g0/Cargo.toml | 2 +- examples/stm32g4/Cargo.toml | 2 +- examples/stm32h5/Cargo.toml | 2 +- examples/stm32h7/Cargo.toml | 2 +- examples/stm32h735/Cargo.toml | 2 +- examples/stm32h7rs/Cargo.toml | 2 +- examples/stm32l0/Cargo.toml | 2 +- examples/stm32l1/Cargo.toml | 2 +- examples/stm32l4/Cargo.toml | 2 +- examples/stm32l5/Cargo.toml | 2 +- examples/stm32u0/Cargo.toml | 2 +- examples/stm32u5/Cargo.toml | 2 +- examples/stm32wb/Cargo.toml | 2 +- examples/stm32wba/Cargo.toml | 2 +- examples/stm32wl/Cargo.toml | 2 +- examples/wasm/Cargo.toml | 2 +- 46 files changed, 46 insertions(+), 46 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml index bc9968ffc..814714fcf 100644 --- a/examples/boot/application/nrf/Cargo.toml +++ b/examples/boot/application/nrf/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } -embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [] } +embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [] } embassy-nrf = { version = "0.1.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } embassy-boot = { version = "0.2.0", path = "../../../../embassy-boot", features = [] } embassy-boot-nrf = { version = "0.2.0", path = "../../../../embassy-boot-nrf", features = [] } diff --git a/examples/boot/application/rp/Cargo.toml b/examples/boot/application/rp/Cargo.toml index de96b73a5..071483cfc 100644 --- a/examples/boot/application/rp/Cargo.toml +++ b/examples/boot/application/rp/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } -embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [] } +embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [] } embassy-rp = { version = "0.1.0", path = "../../../../embassy-rp", features = ["time-driver", ] } embassy-boot-rp = { version = "0.2.0", path = "../../../../embassy-boot-rp", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32f3/Cargo.toml b/examples/boot/application/stm32f3/Cargo.toml index 1916ceb8d..7c67f4280 100644 --- a/examples/boot/application/stm32f3/Cargo.toml +++ b/examples/boot/application/stm32f3/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32f303re", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32" } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32f7/Cargo.toml b/examples/boot/application/stm32f7/Cargo.toml index de37a6250..6b0f3fcbe 100644 --- a/examples/boot/application/stm32f7/Cargo.toml +++ b/examples/boot/application/stm32f7/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32f767zi", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32h7/Cargo.toml b/examples/boot/application/stm32h7/Cargo.toml index 95edd50ce..f011707e6 100644 --- a/examples/boot/application/stm32h7/Cargo.toml +++ b/examples/boot/application/stm32h7/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32h743zi", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32l0/Cargo.toml b/examples/boot/application/stm32l0/Cargo.toml index 03dab6358..2961db04a 100644 --- a/examples/boot/application/stm32l0/Cargo.toml +++ b/examples/boot/application/stm32l0/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l072cz", "time-driver-any", "exti", "memory-x"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32l1/Cargo.toml b/examples/boot/application/stm32l1/Cargo.toml index b7196b173..b0b759c4d 100644 --- a/examples/boot/application/stm32l1/Cargo.toml +++ b/examples/boot/application/stm32l1/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l151cb-a", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32l4/Cargo.toml b/examples/boot/application/stm32l4/Cargo.toml index 447d1695d..ef05d2856 100644 --- a/examples/boot/application/stm32l4/Cargo.toml +++ b/examples/boot/application/stm32l4/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l475vg", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32wb-dfu/Cargo.toml b/examples/boot/application/stm32wb-dfu/Cargo.toml index 824262b69..82653102c 100644 --- a/examples/boot/application/stm32wb-dfu/Cargo.toml +++ b/examples/boot/application/stm32wb-dfu/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/application/stm32wl/Cargo.toml b/examples/boot/application/stm32wl/Cargo.toml index a894ca42b..b49af4501 100644 --- a/examples/boot/application/stm32wl/Cargo.toml +++ b/examples/boot/application/stm32wl/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wl55jc-cm4", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/nrf-rtos-trace/Cargo.toml b/examples/nrf-rtos-trace/Cargo.toml index 70a89bb30..d87f089f3 100644 --- a/examples/nrf-rtos-trace/Cargo.toml +++ b/examples/nrf-rtos-trace/Cargo.toml @@ -17,7 +17,7 @@ log = [ [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "rtos-trace", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time" } +embassy-time = { version = "0.3.2", path = "../../embassy-time" } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac"] } cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } diff --git a/examples/nrf51/Cargo.toml b/examples/nrf51/Cargo.toml index c52256d8e..b77308fbc 100644 --- a/examples/nrf51/Cargo.toml +++ b/examples/nrf51/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf51", "gpiote", "time-driver-rtc1", "unstable-pac", "time", "rt"] } defmt = "0.3" diff --git a/examples/nrf52810/Cargo.toml b/examples/nrf52810/Cargo.toml index 2031b253f..84532f282 100644 --- a/examples/nrf52810/Cargo.toml +++ b/examples/nrf52810/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" diff --git a/examples/nrf52840-rtic/Cargo.toml b/examples/nrf52840-rtic/Cargo.toml index 731cee843..f6e314d0d 100644 --- a/examples/nrf52840-rtic/Cargo.toml +++ b/examples/nrf52840-rtic/Cargo.toml @@ -9,7 +9,7 @@ rtic = { version = "2", features = ["thumbv7-backend"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = [ "defmt", "defmt-timestamp-uptime", "generic-queue"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = [ "defmt", "defmt-timestamp-uptime", "generic-queue"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = [ "defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index ff90d13af..b300a2f41 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index aeed39b3d..2760b5f70 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/nrf9151/ns/Cargo.toml b/examples/nrf9151/ns/Cargo.toml index d73f17e87..e6184f155 100644 --- a/examples/nrf9151/ns/Cargo.toml +++ b/examples/nrf9151/ns/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.2", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" diff --git a/examples/nrf9151/s/Cargo.toml b/examples/nrf9151/s/Cargo.toml index 164f9c94e..37133f1ca 100644 --- a/examples/nrf9151/s/Cargo.toml +++ b/examples/nrf9151/s/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.2", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" diff --git a/examples/nrf9160/Cargo.toml b/examples/nrf9160/Cargo.toml index 2ff692b24..d8a80af79 100644 --- a/examples/nrf9160/Cargo.toml +++ b/examples/nrf9160/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf9160-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 09fc3bc12..6563e947b 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal", features = ["defmt"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns"] } diff --git a/examples/std/Cargo.toml b/examples/std/Cargo.toml index 58ea894f3..07b1ad6b0 100644 --- a/examples/std/Cargo.toml +++ b/examples/std/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["log"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-std", "executor-thread", "log", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["log", "std", ] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["log", "std", ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features=[ "std", "log", "medium-ethernet", "medium-ip", "tcp", "udp", "dns", "dhcpv4", "proto-ipv6"] } embassy-net-tuntap = { version = "0.1.0", path = "../../embassy-net-tuntap" } embassy-net-ppp = { version = "0.1.0", path = "../../embassy-net-ppp", features = ["log"]} diff --git a/examples/stm32c0/Cargo.toml b/examples/stm32c0/Cargo.toml index 331046a80..534b2d496 100644 --- a/examples/stm32c0/Cargo.toml +++ b/examples/stm32c0/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32c031c6", "memory-x", "unstable-pac", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32f0/Cargo.toml b/examples/stm32f0/Cargo.toml index 15fb55ca7..e91f5e202 100644 --- a/examples/stm32f0/Cargo.toml +++ b/examples/stm32f0/Cargo.toml @@ -14,7 +14,7 @@ defmt-rtt = "0.4" panic-probe = { version = "0.3", features = ["print-defmt"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } static_cell = "2" portable-atomic = { version = "1.5", features = ["unsafe-assume-single-core"] } diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml index 38b615795..904bb5134 100644 --- a/examples/stm32f1/Cargo.toml +++ b/examples/stm32f1/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f103c8", "unstable-pac", "memory-x", "time-driver-any" ] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f2/Cargo.toml b/examples/stm32f2/Cargo.toml index ec9b54920..3892761cb 100644 --- a/examples/stm32f2/Cargo.toml +++ b/examples/stm32f2/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f207zg", "unstable-pac", "memory-x", "time-driver-any", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml index 62c0fed16..2bfe61a6b 100644 --- a/examples/stm32f3/Cargo.toml +++ b/examples/stm32f3/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f303ze", "unstable-pac", "memory-x", "time-driver-any", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f334/Cargo.toml b/examples/stm32f334/Cargo.toml index 84c44a7b7..65b43a697 100644 --- a/examples/stm32f334/Cargo.toml +++ b/examples/stm32f334/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f334r8", "unstable-pac", "memory-x", "time-driver-any", "exti"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index dbfaecb5e..75971a1f2 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt" ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } diff --git a/examples/stm32f469/Cargo.toml b/examples/stm32f469/Cargo.toml index 634f13f4e..fa60ef76c 100644 --- a/examples/stm32f469/Cargo.toml +++ b/examples/stm32f469/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Specific examples only for stm32f469 embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f469ni", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index 7fc7d6f42..cd08f484e 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f777zi", "memory-x", "unstable-pac", "time-driver-any", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embedded-io-async = { version = "0.6.1" } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml index b9d710ca7..f1d6ed511 100644 --- a/examples/stm32g0/Cargo.toml +++ b/examples/stm32g0/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32g0b1re", "memory-x", "unstable-pac", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index 8837ca52e..8b29133fb 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32g491re", "memory-x", "unstable-pac", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } usbd-hid = "0.8.1" diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml index 59d3a9759..99db06c8d 100644 --- a/examples/stm32h5/Cargo.toml +++ b/examples/stm32h5/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h563zi", "memory-x", "time-driver-any", "exti", "unstable-pac", "low-power"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index d1a974029..7ecbb4768 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [" embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32h735/Cargo.toml b/examples/stm32h735/Cargo.toml index c5ef0354f..c273f87a1 100644 --- a/examples/stm32h735/Cargo.toml +++ b/examples/stm32h735/Cargo.toml @@ -9,7 +9,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [" embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32h7rs/Cargo.toml b/examples/stm32h7rs/Cargo.toml index 13d33320f..efd1c53cb 100644 --- a/examples/stm32h7rs/Cargo.toml +++ b/examples/stm32h7rs/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7s3l8", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32l0/Cargo.toml b/examples/stm32l0/Cargo.toml index 5b0519ac4..e07245478 100644 --- a/examples/stm32l0/Cargo.toml +++ b/examples/stm32l0/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32l072cz", "unstable-pac", "time-driver-any", "exti", "memory-x"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml index 9e4ceac6a..48cbc3648 100644 --- a/examples/stm32l1/Cargo.toml +++ b/examples/stm32l1/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml index 949cb588a..ef140b7ca 100644 --- a/examples/stm32l4/Cargo.toml +++ b/examples/stm32l4/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l4s5qi", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net-adin1110 = { version = "0.2.0", path = "../../embassy-net-adin1110" } diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml index e32714cc6..06435342f 100644 --- a/examples/stm32l5/Cargo.toml +++ b/examples/stm32l5/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l552ze", "time-driver-any", "exti", "memory-x", "low-power"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml index afeb4dc34..a06ac4cc9 100644 --- a/examples/stm32u0/Cargo.toml +++ b/examples/stm32u0/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32u083rc", "memory-x", "unstable-pac", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml index d0134b972..c4d87af4c 100644 --- a/examples/stm32u5/Cargo.toml +++ b/examples/stm32u5/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "unstable-pac", "stm32u585ai", "time-driver-any", "memory-x" ] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32wb/Cargo.toml b/examples/stm32wb/Cargo.toml index c3a11b14b..72fe6810d 100644 --- a/examples/stm32wb/Cargo.toml +++ b/examples/stm32wb/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-stm32-wpan = { version = "0.1.0", path = "../../embassy-stm32-wpan", features = ["defmt", "stm32wb55rg"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true } defmt = "0.3" diff --git a/examples/stm32wba/Cargo.toml b/examples/stm32wba/Cargo.toml index dc788e15b..443aa7225 100644 --- a/examples/stm32wba/Cargo.toml +++ b/examples/stm32wba/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba52cg", "time-driver-any", "memory-x", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true } defmt = "0.3" diff --git a/examples/stm32wl/Cargo.toml b/examples/stm32wl/Cargo.toml index c5eee8668..e96b8af5e 100644 --- a/examples/stm32wl/Cargo.toml +++ b/examples/stm32wl/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32wl55jc-cm4", "time-driver-any", "memory-x", "unstable-pac", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } defmt = "0.3" diff --git a/examples/wasm/Cargo.toml b/examples/wasm/Cargo.toml index 9d7acc175..ced1cc79b 100644 --- a/examples/wasm/Cargo.toml +++ b/examples/wasm/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["cdylib"] [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["log"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-wasm", "executor-thread", "log", "integrated-timers"] } -embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["log", "wasm", ] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["log", "wasm", ] } wasm-logger = "0.2.0" wasm-bindgen = "0.2" -- cgit From 2f3b3335e12f4c3aa988078d46cb6a3597277bd7 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Fri, 2 Aug 2024 19:25:35 +0200 Subject: Prepare for embassy-nrf release --- examples/boot/application/nrf/Cargo.toml | 2 +- examples/nrf-rtos-trace/Cargo.toml | 2 +- examples/nrf51/Cargo.toml | 2 +- examples/nrf52810/Cargo.toml | 2 +- examples/nrf52840-rtic/Cargo.toml | 2 +- examples/nrf52840/Cargo.toml | 2 +- examples/nrf5340/Cargo.toml | 2 +- examples/nrf9151/ns/Cargo.toml | 2 +- examples/nrf9151/s/Cargo.toml | 2 +- examples/nrf9160/Cargo.toml | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml index 814714fcf..d4d2bddec 100644 --- a/examples/boot/application/nrf/Cargo.toml +++ b/examples/boot/application/nrf/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [] } -embassy-nrf = { version = "0.1.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } +embassy-nrf = { version = "0.2.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } embassy-boot = { version = "0.2.0", path = "../../../../embassy-boot", features = [] } embassy-boot-nrf = { version = "0.2.0", path = "../../../../embassy-boot-nrf", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/nrf-rtos-trace/Cargo.toml b/examples/nrf-rtos-trace/Cargo.toml index d87f089f3..2a38d0466 100644 --- a/examples/nrf-rtos-trace/Cargo.toml +++ b/examples/nrf-rtos-trace/Cargo.toml @@ -18,7 +18,7 @@ log = [ embassy-sync = { version = "0.6.0", path = "../../embassy-sync" } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "rtos-trace", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time" } -embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac"] } +embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac"] } cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } cortex-m-rt = "0.7.0" diff --git a/examples/nrf51/Cargo.toml b/examples/nrf51/Cargo.toml index b77308fbc..5fdd217d8 100644 --- a/examples/nrf51/Cargo.toml +++ b/examples/nrf51/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf51", "gpiote", "time-driver-rtc1", "unstable-pac", "time", "rt"] } +embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf51", "gpiote", "time-driver-rtc1", "unstable-pac", "time", "rt"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/nrf52810/Cargo.toml b/examples/nrf52810/Cargo.toml index 84532f282..12d14bb1b 100644 --- a/examples/nrf52810/Cargo.toml +++ b/examples/nrf52810/Cargo.toml @@ -9,7 +9,7 @@ embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } +embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/nrf52840-rtic/Cargo.toml b/examples/nrf52840-rtic/Cargo.toml index f6e314d0d..7fae7aefc 100644 --- a/examples/nrf52840-rtic/Cargo.toml +++ b/examples/nrf52840-rtic/Cargo.toml @@ -10,7 +10,7 @@ rtic = { version = "2", features = ["thumbv7-backend"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = [ "defmt", "defmt-timestamp-uptime", "generic-queue"] } -embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = [ "defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } +embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = [ "defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index b300a2f41..6c4488370 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml @@ -9,7 +9,7 @@ embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } +embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embedded-io = { version = "0.6.0", features = ["defmt-03"] } diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index 2760b5f70..91509671f 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml @@ -9,7 +9,7 @@ embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] } +embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } embedded-io-async = { version = "0.6.1" } diff --git a/examples/nrf9151/ns/Cargo.toml b/examples/nrf9151/ns/Cargo.toml index e6184f155..2f08601a5 100644 --- a/examples/nrf9151/ns/Cargo.toml +++ b/examples/nrf9151/ns/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-nrf = { version = "0.1.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } +embassy-nrf = { version = "0.2.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/nrf9151/s/Cargo.toml b/examples/nrf9151/s/Cargo.toml index 37133f1ca..60406fb2a 100644 --- a/examples/nrf9151/s/Cargo.toml +++ b/examples/nrf9151/s/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-nrf = { version = "0.1.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } +embassy-nrf = { version = "0.2.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" defmt-rtt = "0.4" diff --git a/examples/nrf9160/Cargo.toml b/examples/nrf9160/Cargo.toml index d8a80af79..2878d9c02 100644 --- a/examples/nrf9160/Cargo.toml +++ b/examples/nrf9160/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf9160-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } +embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf9160-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } defmt = "0.3" defmt-rtt = "0.4" -- cgit From 61bda59d83b02b64a8a61807c949bec9990135c2 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Fri, 2 Aug 2024 21:47:05 +0200 Subject: Prepare to release embassy-usb --- examples/boot/application/stm32wb-dfu/Cargo.toml | 2 +- examples/boot/bootloader/stm32wb-dfu/Cargo.toml | 2 +- examples/nrf52840/Cargo.toml | 2 +- examples/nrf5340/Cargo.toml | 2 +- examples/rp/Cargo.toml | 2 +- examples/stm32f1/Cargo.toml | 2 +- examples/stm32f3/Cargo.toml | 2 +- examples/stm32f334/Cargo.toml | 2 +- examples/stm32f4/Cargo.toml | 2 +- examples/stm32f7/Cargo.toml | 2 +- examples/stm32g0/Cargo.toml | 2 +- examples/stm32g4/Cargo.toml | 2 +- examples/stm32h5/Cargo.toml | 2 +- examples/stm32h7/Cargo.toml | 2 +- examples/stm32h7rs/Cargo.toml | 2 +- examples/stm32l1/Cargo.toml | 2 +- examples/stm32l4/Cargo.toml | 2 +- examples/stm32l5/Cargo.toml | 2 +- examples/stm32u0/Cargo.toml | 2 +- examples/stm32u5/Cargo.toml | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/stm32wb-dfu/Cargo.toml b/examples/boot/application/stm32wb-dfu/Cargo.toml index 82653102c..6be678302 100644 --- a/examples/boot/application/stm32wb-dfu/Cargo.toml +++ b/examples/boot/application/stm32wb-dfu/Cargo.toml @@ -11,7 +11,7 @@ embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } -embassy-usb = { version = "0.2.0", path = "../../../../embassy-usb" } +embassy-usb = { version = "0.3.0", path = "../../../../embassy-usb" } embassy-usb-dfu = { version = "0.1.0", path = "../../../../embassy-usb-dfu", features = ["application", "cortex-m"] } defmt = { version = "0.3", optional = true } diff --git a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml index 9950ed7b6..050b672ce 100644 --- a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml +++ b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml @@ -18,7 +18,7 @@ embedded-storage = "0.3.1" embedded-storage-async = "0.4.0" cfg-if = "1.0.0" embassy-usb-dfu = { version = "0.1.0", path = "../../../../embassy-usb-dfu", features = ["dfu", "cortex-m"] } -embassy-usb = { version = "0.2.0", path = "../../../../embassy-usb", default-features = false } +embassy-usb = { version = "0.3.0", path = "../../../../embassy-usb", default-features = false } embassy-futures = { version = "0.1.1", path = "../../../../embassy-futures" } [features] diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index 6c4488370..857365d8d 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml @@ -11,7 +11,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embedded-io = { version = "0.6.0", features = ["defmt-03"] } embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } embassy-net-esp-hosted = { version = "0.1.0", path = "../../embassy-net-esp-hosted", features = ["defmt"] } diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index 91509671f..e7e67428c 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml @@ -11,7 +11,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embedded-io-async = { version = "0.6.1" } defmt = "0.3" diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 6563e947b..2ce05b703 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -11,7 +11,7 @@ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns"] } embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml index 904bb5134..bd4df1c5c 100644 --- a/examples/stm32f1/Cargo.toml +++ b/examples/stm32f1/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml index 2bfe61a6b..fd6243591 100644 --- a/examples/stm32f3/Cargo.toml +++ b/examples/stm32f3/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32f334/Cargo.toml b/examples/stm32f334/Cargo.toml index 65b43a697..cb0527bb2 100644 --- a/examples/stm32f334/Cargo.toml +++ b/examples/stm32f334/Cargo.toml @@ -9,7 +9,7 @@ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f334r8", "unstable-pac", "memory-x", "time-driver-any", "exti"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 75971a1f2..89fe6263e 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [" embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt" ] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt" ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index cd08f484e..ffd0773a3 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml @@ -12,7 +12,7 @@ embassy-executor = { version = "0.5.0", path = "../../embassy-executor", feature embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embedded-io-async = { version = "0.6.1" } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml index f1d6ed511..3615ebfe6 100644 --- a/examples/stm32g0/Cargo.toml +++ b/examples/stm32g0/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index 8b29133fb..b9be103e5 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } usbd-hid = "0.8.1" diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml index 99db06c8d..c38085f41 100644 --- a/examples/stm32h5/Cargo.toml +++ b/examples/stm32h5/Cargo.toml @@ -11,7 +11,7 @@ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 7ecbb4768..9a5a1bc0e 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -12,7 +12,7 @@ embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32h7rs/Cargo.toml b/examples/stm32h7rs/Cargo.toml index efd1c53cb..dedf325c9 100644 --- a/examples/stm32h7rs/Cargo.toml +++ b/examples/stm32h7rs/Cargo.toml @@ -11,7 +11,7 @@ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml index 48cbc3648..b62a8aa7c 100644 --- a/examples/stm32l1/Cargo.toml +++ b/examples/stm32l1/Cargo.toml @@ -9,7 +9,7 @@ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml index ef140b7ca..5db9aed0a 100644 --- a/examples/stm32l4/Cargo.toml +++ b/examples/stm32l4/Cargo.toml @@ -11,7 +11,7 @@ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["de embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net-adin1110 = { version = "0.2.0", path = "../../embassy-net-adin1110" } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "tcp", "dhcpv4", "medium-ethernet"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml index 06435342f..c530a1215 100644 --- a/examples/stm32l5/Cargo.toml +++ b/examples/stm32l5/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } usbd-hid = "0.8.1" diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml index a06ac4cc9..4644a8727 100644 --- a/examples/stm32u0/Cargo.toml +++ b/examples/stm32u0/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml index c4d87af4c..2be6862d9 100644 --- a/examples/stm32u5/Cargo.toml +++ b/examples/stm32u5/Cargo.toml @@ -10,7 +10,7 @@ embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [" embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" -- cgit From 37d7b0cd06b7a5d952d2e7de173b10ab32d96c5a Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Fri, 2 Aug 2024 21:50:18 +0200 Subject: prepare release embassy-executor --- examples/boot/application/nrf/Cargo.toml | 2 +- examples/boot/application/rp/Cargo.toml | 2 +- examples/boot/application/stm32f3/Cargo.toml | 2 +- examples/boot/application/stm32f7/Cargo.toml | 2 +- examples/boot/application/stm32h7/Cargo.toml | 2 +- examples/boot/application/stm32l0/Cargo.toml | 2 +- examples/boot/application/stm32l1/Cargo.toml | 2 +- examples/boot/application/stm32l4/Cargo.toml | 2 +- examples/boot/application/stm32wb-dfu/Cargo.toml | 2 +- examples/boot/application/stm32wl/Cargo.toml | 2 +- examples/nrf-rtos-trace/Cargo.toml | 2 +- examples/nrf51/Cargo.toml | 2 +- examples/nrf52810/Cargo.toml | 2 +- examples/nrf52840/Cargo.toml | 2 +- examples/nrf5340/Cargo.toml | 2 +- examples/nrf9151/ns/Cargo.toml | 2 +- examples/nrf9151/s/Cargo.toml | 2 +- examples/nrf9160/Cargo.toml | 2 +- examples/rp/Cargo.toml | 2 +- examples/std/Cargo.toml | 2 +- examples/stm32c0/Cargo.toml | 2 +- examples/stm32f0/Cargo.toml | 2 +- examples/stm32f1/Cargo.toml | 2 +- examples/stm32f2/Cargo.toml | 2 +- examples/stm32f3/Cargo.toml | 2 +- examples/stm32f334/Cargo.toml | 2 +- examples/stm32f4/Cargo.toml | 2 +- examples/stm32f469/Cargo.toml | 2 +- examples/stm32f7/Cargo.toml | 2 +- examples/stm32g0/Cargo.toml | 2 +- examples/stm32g4/Cargo.toml | 2 +- examples/stm32h5/Cargo.toml | 2 +- examples/stm32h7/Cargo.toml | 2 +- examples/stm32h735/Cargo.toml | 2 +- examples/stm32h7rs/Cargo.toml | 2 +- examples/stm32l0/Cargo.toml | 2 +- examples/stm32l1/Cargo.toml | 2 +- examples/stm32l4/Cargo.toml | 2 +- examples/stm32l5/Cargo.toml | 2 +- examples/stm32u0/Cargo.toml | 2 +- examples/stm32u5/Cargo.toml | 2 +- examples/stm32wb/Cargo.toml | 2 +- examples/stm32wba/Cargo.toml | 2 +- examples/stm32wl/Cargo.toml | 2 +- examples/wasm/Cargo.toml | 2 +- 45 files changed, 45 insertions(+), 45 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml index d4d2bddec..8dee81cf9 100644 --- a/examples/boot/application/nrf/Cargo.toml +++ b/examples/boot/application/nrf/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } +embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [] } embassy-nrf = { version = "0.2.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } embassy-boot = { version = "0.2.0", path = "../../../../embassy-boot", features = [] } diff --git a/examples/boot/application/rp/Cargo.toml b/examples/boot/application/rp/Cargo.toml index 071483cfc..01d6436eb 100644 --- a/examples/boot/application/rp/Cargo.toml +++ b/examples/boot/application/rp/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } +embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [] } embassy-rp = { version = "0.1.0", path = "../../../../embassy-rp", features = ["time-driver", ] } embassy-boot-rp = { version = "0.2.0", path = "../../../../embassy-boot-rp", features = [] } diff --git a/examples/boot/application/stm32f3/Cargo.toml b/examples/boot/application/stm32f3/Cargo.toml index 7c67f4280..1c2934298 100644 --- a/examples/boot/application/stm32f3/Cargo.toml +++ b/examples/boot/application/stm32f3/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32f303re", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32" } diff --git a/examples/boot/application/stm32f7/Cargo.toml b/examples/boot/application/stm32f7/Cargo.toml index 6b0f3fcbe..09e34c7df 100644 --- a/examples/boot/application/stm32f7/Cargo.toml +++ b/examples/boot/application/stm32f7/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32f767zi", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } diff --git a/examples/boot/application/stm32h7/Cargo.toml b/examples/boot/application/stm32h7/Cargo.toml index f011707e6..5e7f4d5e7 100644 --- a/examples/boot/application/stm32h7/Cargo.toml +++ b/examples/boot/application/stm32h7/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32h743zi", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } diff --git a/examples/boot/application/stm32l0/Cargo.toml b/examples/boot/application/stm32l0/Cargo.toml index 2961db04a..60fdcfafb 100644 --- a/examples/boot/application/stm32l0/Cargo.toml +++ b/examples/boot/application/stm32l0/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l072cz", "time-driver-any", "exti", "memory-x"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } diff --git a/examples/boot/application/stm32l1/Cargo.toml b/examples/boot/application/stm32l1/Cargo.toml index b0b759c4d..fe3ab2c04 100644 --- a/examples/boot/application/stm32l1/Cargo.toml +++ b/examples/boot/application/stm32l1/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l151cb-a", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } diff --git a/examples/boot/application/stm32l4/Cargo.toml b/examples/boot/application/stm32l4/Cargo.toml index ef05d2856..169856358 100644 --- a/examples/boot/application/stm32l4/Cargo.toml +++ b/examples/boot/application/stm32l4/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32l475vg", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } diff --git a/examples/boot/application/stm32wb-dfu/Cargo.toml b/examples/boot/application/stm32wb-dfu/Cargo.toml index 6be678302..7cef8fe0d 100644 --- a/examples/boot/application/stm32wb-dfu/Cargo.toml +++ b/examples/boot/application/stm32wb-dfu/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wb55rg", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } diff --git a/examples/boot/application/stm32wl/Cargo.toml b/examples/boot/application/stm32wl/Cargo.toml index b49af4501..860a835a9 100644 --- a/examples/boot/application/stm32wl/Cargo.toml +++ b/examples/boot/application/stm32wl/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [ "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../../../embassy-stm32", features = ["stm32wl55jc-cm4", "time-driver-any", "exti"] } embassy-boot-stm32 = { version = "0.2.0", path = "../../../../embassy-boot-stm32", features = [] } diff --git a/examples/nrf-rtos-trace/Cargo.toml b/examples/nrf-rtos-trace/Cargo.toml index 2a38d0466..98a678815 100644 --- a/examples/nrf-rtos-trace/Cargo.toml +++ b/examples/nrf-rtos-trace/Cargo.toml @@ -16,7 +16,7 @@ log = [ [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync" } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "rtos-trace", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "rtos-trace", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time" } embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac"] } diff --git a/examples/nrf51/Cargo.toml b/examples/nrf51/Cargo.toml index 5fdd217d8..93a19bea7 100644 --- a/examples/nrf51/Cargo.toml +++ b/examples/nrf51/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf51", "gpiote", "time-driver-rtc1", "unstable-pac", "time", "rt"] } diff --git a/examples/nrf52810/Cargo.toml b/examples/nrf52810/Cargo.toml index 12d14bb1b..0e3e81c3f 100644 --- a/examples/nrf52810/Cargo.toml +++ b/examples/nrf52810/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-8192", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf52810", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml index 857365d8d..17fa6234d 100644 --- a/examples/nrf52840/Cargo.toml +++ b/examples/nrf52840/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml index e7e67428c..0da85be07 100644 --- a/examples/nrf5340/Cargo.toml +++ b/examples/nrf5340/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf5340-app-s", "time-driver-rtc1", "gpiote", "unstable-pac"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } diff --git a/examples/nrf9151/ns/Cargo.toml b/examples/nrf9151/ns/Cargo.toml index 2f08601a5..17fe27b67 100644 --- a/examples/nrf9151/ns/Cargo.toml +++ b/examples/nrf9151/ns/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-executor = { version = "0.5.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.2.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-ns", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } diff --git a/examples/nrf9151/s/Cargo.toml b/examples/nrf9151/s/Cargo.toml index 60406fb2a..7253fc4be 100644 --- a/examples/nrf9151/s/Cargo.toml +++ b/examples/nrf9151/s/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-executor = { version = "0.5.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.2.0", path = "../../../embassy-nrf", features = ["defmt", "nrf9120-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } diff --git a/examples/nrf9160/Cargo.toml b/examples/nrf9160/Cargo.toml index 2878d9c02..c30b54ebd 100644 --- a/examples/nrf9160/Cargo.toml +++ b/examples/nrf9160/Cargo.toml @@ -5,7 +5,7 @@ version = "0.1.0" license = "MIT OR Apache-2.0" [dependencies] -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf9160-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 2ce05b703..0e8fe9308 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal", features = ["defmt"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/std/Cargo.toml b/examples/std/Cargo.toml index 07b1ad6b0..87491b1d2 100644 --- a/examples/std/Cargo.toml +++ b/examples/std/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["log"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-std", "executor-thread", "log", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-std", "executor-thread", "log", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["log", "std", ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features=[ "std", "log", "medium-ethernet", "medium-ip", "tcp", "udp", "dns", "dhcpv4", "proto-ipv6"] } embassy-net-tuntap = { version = "0.1.0", path = "../../embassy-net-tuntap" } diff --git a/examples/stm32c0/Cargo.toml b/examples/stm32c0/Cargo.toml index 534b2d496..9102467eb 100644 --- a/examples/stm32c0/Cargo.toml +++ b/examples/stm32c0/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32c031c6 to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32c031c6", "memory-x", "unstable-pac", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" diff --git a/examples/stm32f0/Cargo.toml b/examples/stm32f0/Cargo.toml index e91f5e202..724efdaff 100644 --- a/examples/stm32f0/Cargo.toml +++ b/examples/stm32f0/Cargo.toml @@ -13,7 +13,7 @@ defmt = "0.3" defmt-rtt = "0.4" panic-probe = { version = "0.3", features = ["print-defmt"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } static_cell = "2" portable-atomic = { version = "1.5", features = ["unsafe-assume-single-core"] } diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml index bd4df1c5c..0084651a3 100644 --- a/examples/stm32f1/Cargo.toml +++ b/examples/stm32f1/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32f103c8 to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f103c8", "unstable-pac", "memory-x", "time-driver-any" ] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f2/Cargo.toml b/examples/stm32f2/Cargo.toml index 3892761cb..60eb0eb93 100644 --- a/examples/stm32f2/Cargo.toml +++ b/examples/stm32f2/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32f207zg to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f207zg", "unstable-pac", "memory-x", "time-driver-any", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml index fd6243591..7fda410d9 100644 --- a/examples/stm32f3/Cargo.toml +++ b/examples/stm32f3/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32f303ze to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f303ze", "unstable-pac", "memory-x", "time-driver-any", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32f334/Cargo.toml b/examples/stm32f334/Cargo.toml index cb0527bb2..1cc0a97da 100644 --- a/examples/stm32f334/Cargo.toml +++ b/examples/stm32f334/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32f334r8", "unstable-pac", "memory-x", "time-driver-any", "exti"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 89fe6263e..b85361596 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32f429zi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt" ] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } diff --git a/examples/stm32f469/Cargo.toml b/examples/stm32f469/Cargo.toml index fa60ef76c..6a5bd0b29 100644 --- a/examples/stm32f469/Cargo.toml +++ b/examples/stm32f469/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] # Specific examples only for stm32f469 embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f469ni", "unstable-pac", "memory-x", "time-driver-any", "exti", "chrono"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index ffd0773a3..8c591ebd2 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32f777zi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f777zi", "memory-x", "unstable-pac", "time-driver-any", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } embedded-io-async = { version = "0.6.1" } diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml index 3615ebfe6..a50074ce0 100644 --- a/examples/stm32g0/Cargo.toml +++ b/examples/stm32g0/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32g0b1re to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32g0b1re", "memory-x", "unstable-pac", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index b9be103e5..2768147a1 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32g491re to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32g491re", "memory-x", "unstable-pac", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml index c38085f41..30b1d2be9 100644 --- a/examples/stm32h5/Cargo.toml +++ b/examples/stm32h5/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32h563zi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h563zi", "memory-x", "time-driver-any", "exti", "unstable-pac", "low-power"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 9a5a1bc0e..13fce7dc7 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32h735/Cargo.toml b/examples/stm32h735/Cargo.toml index c273f87a1..93e9575b6 100644 --- a/examples/stm32h735/Cargo.toml +++ b/examples/stm32h735/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h735ig", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32h7rs/Cargo.toml b/examples/stm32h7rs/Cargo.toml index dedf325c9..f97dfd722 100644 --- a/examples/stm32h7rs/Cargo.toml +++ b/examples/stm32h7rs/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32h743bi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7s3l8", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32l0/Cargo.toml b/examples/stm32l0/Cargo.toml index e07245478..2577f19e0 100644 --- a/examples/stm32l0/Cargo.toml +++ b/examples/stm32l0/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32l072cz to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32l072cz", "unstable-pac", "time-driver-any", "exti", "memory-x"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } defmt = "0.3" diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml index b62a8aa7c..062044f32 100644 --- a/examples/stm32l1/Cargo.toml +++ b/examples/stm32l1/Cargo.toml @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml index 5db9aed0a..c5478b17b 100644 --- a/examples/stm32l4/Cargo.toml +++ b/examples/stm32l4/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32l4s5vi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l4s5qi", "memory-x", "time-driver-any", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768", ] } embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml index c530a1215..16c184de2 100644 --- a/examples/stm32l5/Cargo.toml +++ b/examples/stm32l5/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32l552ze to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "unstable-pac", "stm32l552ze", "time-driver-any", "exti", "memory-x", "low-power"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet"] } diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml index 4644a8727..2e890cdb5 100644 --- a/examples/stm32u0/Cargo.toml +++ b/examples/stm32u0/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32u083rc to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "time-driver-any", "stm32u083rc", "memory-x", "unstable-pac", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", default-features = false, features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml index 2be6862d9..20d64c6f7 100644 --- a/examples/stm32u5/Cargo.toml +++ b/examples/stm32u5/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32u585ai to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "unstable-pac", "stm32u585ai", "time-driver-any", "memory-x" ] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } diff --git a/examples/stm32wb/Cargo.toml b/examples/stm32wb/Cargo.toml index 72fe6810d..1e1a0efe2 100644 --- a/examples/stm32wb/Cargo.toml +++ b/examples/stm32wb/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wb55rg", "time-driver-any", "memory-x", "exti"] } embassy-stm32-wpan = { version = "0.1.0", path = "../../embassy-stm32-wpan", features = ["defmt", "stm32wb55rg"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true } diff --git a/examples/stm32wba/Cargo.toml b/examples/stm32wba/Cargo.toml index 443aa7225..401281c0b 100644 --- a/examples/stm32wba/Cargo.toml +++ b/examples/stm32wba/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba52cg", "time-driver-any", "memory-x", "exti"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "udp", "proto-ipv6", "medium-ieee802154", ], optional=true } diff --git a/examples/stm32wl/Cargo.toml b/examples/stm32wl/Cargo.toml index e96b8af5e..46af5218c 100644 --- a/examples/stm32wl/Cargo.toml +++ b/examples/stm32wl/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" # Change stm32wl55jc-cm4 to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32wl55jc-cm4", "time-driver-any", "memory-x", "unstable-pac", "exti", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-4096", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } diff --git a/examples/wasm/Cargo.toml b/examples/wasm/Cargo.toml index ced1cc79b..9bd37550c 100644 --- a/examples/wasm/Cargo.toml +++ b/examples/wasm/Cargo.toml @@ -9,7 +9,7 @@ crate-type = ["cdylib"] [dependencies] embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["log"] } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["arch-wasm", "executor-thread", "log", "integrated-timers"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["arch-wasm", "executor-thread", "log", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["log", "wasm", ] } wasm-logger = "0.2.0" -- cgit From 1588fbc256fcd6444609dbd8049e810410974cb0 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Fri, 2 Aug 2024 21:54:46 +0200 Subject: Prepare to release embassy-boot --- examples/boot/application/nrf/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml index 8dee81cf9..c106b2956 100644 --- a/examples/boot/application/nrf/Cargo.toml +++ b/examples/boot/application/nrf/Cargo.toml @@ -9,7 +9,7 @@ embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [] } embassy-nrf = { version = "0.2.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } -embassy-boot = { version = "0.2.0", path = "../../../../embassy-boot", features = [] } +embassy-boot = { version = "0.3.0", path = "../../../../embassy-boot", features = [] } embassy-boot-nrf = { version = "0.2.0", path = "../../../../embassy-boot-nrf", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } -- cgit From ec9a07d14362370c733843bb00a2980d73fb1737 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Fri, 2 Aug 2024 21:55:40 +0200 Subject: Prepare to release embassy-boot-nrf --- examples/boot/application/nrf/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml index c106b2956..93e49faef 100644 --- a/examples/boot/application/nrf/Cargo.toml +++ b/examples/boot/application/nrf/Cargo.toml @@ -10,7 +10,7 @@ embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", f embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [] } embassy-nrf = { version = "0.2.0", path = "../../../../embassy-nrf", features = ["time-driver-rtc1", "gpiote", ] } embassy-boot = { version = "0.3.0", path = "../../../../embassy-boot", features = [] } -embassy-boot-nrf = { version = "0.2.0", path = "../../../../embassy-boot-nrf", features = [] } +embassy-boot-nrf = { version = "0.3.0", path = "../../../../embassy-boot-nrf", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = { version = "0.3", optional = true } -- cgit From f60530279145d10974383cd6aacc49b8146061f6 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Fri, 2 Aug 2024 22:06:39 +0200 Subject: Prepare to release embassy-rp --- examples/boot/application/rp/Cargo.toml | 2 +- examples/rp/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/rp/Cargo.toml b/examples/boot/application/rp/Cargo.toml index 01d6436eb..8b4cafd4e 100644 --- a/examples/boot/application/rp/Cargo.toml +++ b/examples/boot/application/rp/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [] } -embassy-rp = { version = "0.1.0", path = "../../../../embassy-rp", features = ["time-driver", ] } +embassy-rp = { version = "0.2.0", path = "../../../../embassy-rp", features = ["time-driver", ] } embassy-boot-rp = { version = "0.2.0", path = "../../../../embassy-boot-rp", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 0e8fe9308..5ed51a5c0 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -10,7 +10,7 @@ embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal", embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } +embassy-rp = { version = "0.2.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns"] } embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } -- cgit From 187093e1475165a11f7fd8fc98494d33d339aa5c Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Fri, 2 Aug 2024 22:07:54 +0200 Subject: Prepare to release embassy-boot-rp --- examples/boot/application/rp/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/boot/application/rp/Cargo.toml b/examples/boot/application/rp/Cargo.toml index 8b4cafd4e..c109c0732 100644 --- a/examples/boot/application/rp/Cargo.toml +++ b/examples/boot/application/rp/Cargo.toml @@ -9,7 +9,7 @@ embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [] } embassy-rp = { version = "0.2.0", path = "../../../../embassy-rp", features = ["time-driver", ] } -embassy-boot-rp = { version = "0.2.0", path = "../../../../embassy-boot-rp", features = [] } +embassy-boot-rp = { version = "0.3.0", path = "../../../../embassy-boot-rp", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } defmt = "0.3" -- cgit From 2a7fe16ceb53aca38f73ac01a923ea445654673c Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Mon, 5 Aug 2024 11:18:16 +0200 Subject: Improve shared data placement, require less atomic support and use unsafecell for the clocks --- examples/stm32h755cm4/memory.x | 1 + examples/stm32h755cm4/src/bin/blinky.rs | 2 +- examples/stm32h755cm7/memory.x | 1 + examples/stm32h755cm7/src/bin/blinky.rs | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/stm32h755cm4/memory.x b/examples/stm32h755cm4/memory.x index 538bac586..7d60354e3 100644 --- a/examples/stm32h755cm4/memory.x +++ b/examples/stm32h755cm4/memory.x @@ -9,6 +9,7 @@ SECTIONS { .ram_d3 : { + *(.ram_d3.shared_data) *(.ram_d3) } > RAM_D3 } \ No newline at end of file diff --git a/examples/stm32h755cm4/src/bin/blinky.rs b/examples/stm32h755cm4/src/bin/blinky.rs index f750c5db6..b5c547839 100644 --- a/examples/stm32h755cm4/src/bin/blinky.rs +++ b/examples/stm32h755cm4/src/bin/blinky.rs @@ -10,7 +10,7 @@ use embassy_stm32::SharedData; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -#[link_section = ".ram_d3"] +#[link_section = ".ram_d3.shared_data"] static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); #[embassy_executor::main] diff --git a/examples/stm32h755cm7/memory.x b/examples/stm32h755cm7/memory.x index ab2afc216..ef884796a 100644 --- a/examples/stm32h755cm7/memory.x +++ b/examples/stm32h755cm7/memory.x @@ -9,6 +9,7 @@ SECTIONS { .ram_d3 : { + *(.ram_d3.shared_data) *(.ram_d3) } > RAM_D3 } \ No newline at end of file diff --git a/examples/stm32h755cm7/src/bin/blinky.rs b/examples/stm32h755cm7/src/bin/blinky.rs index f76a136aa..94d2226c0 100644 --- a/examples/stm32h755cm7/src/bin/blinky.rs +++ b/examples/stm32h755cm7/src/bin/blinky.rs @@ -10,7 +10,7 @@ use embassy_stm32::SharedData; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -#[link_section = ".ram_d3"] +#[link_section = ".ram_d3.shared_data"] static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); #[embassy_executor::main] -- cgit From 90427ee231f7c58ca92100817668cd6f16843ebb Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Mon, 5 Aug 2024 12:10:45 +0200 Subject: Fix WL boot example --- examples/boot/application/stm32wl/memory.x | 11 ++++++++++- examples/boot/application/stm32wl/src/bin/a.rs | 8 +++++++- examples/boot/application/stm32wl/src/bin/b.rs | 8 +++++++- 3 files changed, 24 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/stm32wl/memory.x b/examples/boot/application/stm32wl/memory.x index e1d4e7fa8..9adf19f0e 100644 --- a/examples/boot/application/stm32wl/memory.x +++ b/examples/boot/application/stm32wl/memory.x @@ -5,7 +5,8 @@ MEMORY BOOTLOADER_STATE : ORIGIN = 0x08006000, LENGTH = 4K FLASH : ORIGIN = 0x08008000, LENGTH = 64K DFU : ORIGIN = 0x08018000, LENGTH = 68K - RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 32K - 1K + SHARED_RAM (rwx) : ORIGIN = 0x20007C00, LENGTH = 1K } __bootloader_state_start = ORIGIN(BOOTLOADER_STATE) - ORIGIN(BOOTLOADER); @@ -13,3 +14,11 @@ __bootloader_state_end = ORIGIN(BOOTLOADER_STATE) + LENGTH(BOOTLOADER_STATE) - O __bootloader_dfu_start = ORIGIN(DFU) - ORIGIN(BOOTLOADER); __bootloader_dfu_end = ORIGIN(DFU) + LENGTH(DFU) - ORIGIN(BOOTLOADER); + +SECTIONS +{ + .shared_data : + { + *(.shared_data) + } > SHARED_RAM +} \ No newline at end of file diff --git a/examples/boot/application/stm32wl/src/bin/a.rs b/examples/boot/application/stm32wl/src/bin/a.rs index 9f4f0b238..127de0237 100644 --- a/examples/boot/application/stm32wl/src/bin/a.rs +++ b/examples/boot/application/stm32wl/src/bin/a.rs @@ -1,6 +1,8 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + #[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_boot_stm32::{AlignedBuffer, FirmwareUpdater, FirmwareUpdaterConfig}; @@ -9,6 +11,7 @@ use embassy_executor::Spawner; use embassy_stm32::exti::ExtiInput; use embassy_stm32::flash::{Flash, WRITE_SIZE}; use embassy_stm32::gpio::{Level, Output, Pull, Speed}; +use embassy_stm32::SharedData; use embassy_sync::mutex::Mutex; use panic_reset as _; @@ -17,9 +20,12 @@ static APP_B: &[u8] = &[0, 1, 2, 3]; #[cfg(not(feature = "skip-include"))] static APP_B: &[u8] = include_bytes!("../../b.bin"); +#[link_section = ".shared_data"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + #[embassy_executor::main] async fn main(_spawner: Spawner) { - let p = embassy_stm32::init(Default::default()); + let p = embassy_stm32::init_primary(Default::default(), &SHARED_DATA); let flash = Flash::new_blocking(p.FLASH); let flash = Mutex::new(BlockingAsync::new(flash)); diff --git a/examples/boot/application/stm32wl/src/bin/b.rs b/examples/boot/application/stm32wl/src/bin/b.rs index e954d8b91..768dadf8b 100644 --- a/examples/boot/application/stm32wl/src/bin/b.rs +++ b/examples/boot/application/stm32wl/src/bin/b.rs @@ -1,16 +1,22 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + #[cfg(feature = "defmt")] use defmt_rtt::*; use embassy_executor::Spawner; use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::SharedData; use embassy_time::Timer; use panic_reset as _; +#[link_section = ".shared_data"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + #[embassy_executor::main] async fn main(_spawner: Spawner) { - let p = embassy_stm32::init(Default::default()); + let p = embassy_stm32::init_primary(Default::default(), &SHARED_DATA); let mut led = Output::new(p.PB15, Level::High, Speed::Low); loop { -- cgit From 9b8848936f3035f11b16746d31bf055428263656 Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Mon, 5 Aug 2024 14:16:11 +0200 Subject: Update new examples to new releases --- examples/stm32h755cm4/Cargo.toml | 6 +++--- examples/stm32h755cm7/Cargo.toml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/stm32h755cm4/Cargo.toml b/examples/stm32h755cm4/Cargo.toml index c366bc3d2..9d2fb9060 100644 --- a/examples/stm32h755cm4/Cargo.toml +++ b/examples/stm32h755cm4/Cargo.toml @@ -8,11 +8,11 @@ license = "MIT OR Apache-2.0" # Change stm32h755zi-cm4 to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm4", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" diff --git a/examples/stm32h755cm7/Cargo.toml b/examples/stm32h755cm7/Cargo.toml index a97a8a5c5..ab088fd33 100644 --- a/examples/stm32h755cm7/Cargo.toml +++ b/examples/stm32h755cm7/Cargo.toml @@ -8,11 +8,11 @@ license = "MIT OR Apache-2.0" # Change stm32h743bi to your chip name, if necessary. embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h755zi-cm7", "time-driver-tim3", "exti", "memory-x", "unstable-pac", "chrono"] } embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } -embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } -embassy-executor = { version = "0.5.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal" } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.1", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", "proto-ipv6", "dns"] } -embassy-usb = { version = "0.2.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } defmt = "0.3" -- cgit From dc77601e9f6f78dc7681e427a66ba8314c96e535 Mon Sep 17 00:00:00 2001 From: 9names <60134748+9names@users.noreply.github.com> Date: Mon, 5 Aug 2024 21:15:35 +1000 Subject: Update rp examples to cyw43 0.2 and cyw43-pio 0.2 --- examples/rp/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 5ed51a5c0..4945f4bd2 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -16,8 +16,8 @@ embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defm embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-usb-logger = { version = "0.2.0", path = "../../embassy-usb-logger" } -cyw43 = { version = "0.1.0", path = "../../cyw43", features = ["defmt", "firmware-logs"] } -cyw43-pio = { version = "0.1.0", path = "../../cyw43-pio", features = ["defmt", "overclock"] } +cyw43 = { version = "0.2.0", path = "../../cyw43", features = ["defmt", "firmware-logs"] } +cyw43-pio = { version = "0.2.0", path = "../../cyw43-pio", features = ["defmt", "overclock"] } defmt = "0.3" defmt-rtt = "0.4" -- cgit From 5884576b88e7ec7e26ec1c9b9f61e253cb0e5ea6 Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Mon, 5 Aug 2024 14:43:57 +0200 Subject: Updated WL examples to use new API --- examples/boot/application/stm32wl/memory.x | 4 ++-- examples/stm32wl/memory.x | 15 +++++++++++++++ examples/stm32wl/src/bin/blinky.rs | 12 ++++++++++-- examples/stm32wl/src/bin/button.rs | 9 +++++++-- examples/stm32wl/src/bin/button_exti.rs | 9 +++++++-- examples/stm32wl/src/bin/flash.rs | 9 +++++++-- examples/stm32wl/src/bin/random.rs | 9 +++++++-- examples/stm32wl/src/bin/rtc.rs | 9 +++++++-- examples/stm32wl/src/bin/uart_async.rs | 9 +++++++-- 9 files changed, 69 insertions(+), 16 deletions(-) create mode 100644 examples/stm32wl/memory.x (limited to 'examples') diff --git a/examples/boot/application/stm32wl/memory.x b/examples/boot/application/stm32wl/memory.x index 9adf19f0e..5af1723f5 100644 --- a/examples/boot/application/stm32wl/memory.x +++ b/examples/boot/application/stm32wl/memory.x @@ -5,8 +5,8 @@ MEMORY BOOTLOADER_STATE : ORIGIN = 0x08006000, LENGTH = 4K FLASH : ORIGIN = 0x08008000, LENGTH = 64K DFU : ORIGIN = 0x08018000, LENGTH = 68K - RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 32K - 1K - SHARED_RAM (rwx) : ORIGIN = 0x20007C00, LENGTH = 1K + SHARED_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64 + RAM (rwx) : ORIGIN = 0x20000040, LENGTH = 32K - 64 } __bootloader_state_start = ORIGIN(BOOTLOADER_STATE) - ORIGIN(BOOTLOADER); diff --git a/examples/stm32wl/memory.x b/examples/stm32wl/memory.x new file mode 100644 index 000000000..0298caa4b --- /dev/null +++ b/examples/stm32wl/memory.x @@ -0,0 +1,15 @@ +MEMORY +{ + /* NOTE 1 K = 1 KiBi = 1024 bytes */ + FLASH : ORIGIN = 0x08000000, LENGTH = 256K + SHARED_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64 + RAM (rwx) : ORIGIN = 0x20000040, LENGTH = 64K - 64 +} + +SECTIONS +{ + .shared_data : + { + *(.shared_data) + } > SHARED_RAM +} \ No newline at end of file diff --git a/examples/stm32wl/src/bin/blinky.rs b/examples/stm32wl/src/bin/blinky.rs index 347bd093f..048ce9175 100644 --- a/examples/stm32wl/src/bin/blinky.rs +++ b/examples/stm32wl/src/bin/blinky.rs @@ -1,15 +1,23 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::{ + gpio::{Level, Output, Speed}, + SharedData, +}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; +#[link_section = ".shared_data"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + #[embassy_executor::main] async fn main(_spawner: Spawner) { - let p = embassy_stm32::init(Default::default()); + let p = embassy_stm32::init_primary(Default::default(), &SHARED_DATA); info!("Hello World!"); let mut led = Output::new(p.PB15, Level::High, Speed::Low); diff --git a/examples/stm32wl/src/bin/button.rs b/examples/stm32wl/src/bin/button.rs index eccd211e2..92884da1f 100644 --- a/examples/stm32wl/src/bin/button.rs +++ b/examples/stm32wl/src/bin/button.rs @@ -1,16 +1,21 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + use cortex_m_rt::entry; use defmt::*; -use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; +use embassy_stm32::{gpio::{Input, Level, Output, Pull, Speed}, SharedData}; use {defmt_rtt as _, panic_probe as _}; +#[link_section = ".shared_data"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + #[entry] fn main() -> ! { info!("Hello World!"); - let p = embassy_stm32::init(Default::default()); + let p = embassy_stm32::init_primary(Default::default(), &SHARED_DATA); let button = Input::new(p.PA0, Pull::Up); let mut led1 = Output::new(p.PB15, Level::High, Speed::Low); diff --git a/examples/stm32wl/src/bin/button_exti.rs b/examples/stm32wl/src/bin/button_exti.rs index 27d5330bd..d1e443bf8 100644 --- a/examples/stm32wl/src/bin/button_exti.rs +++ b/examples/stm32wl/src/bin/button_exti.rs @@ -1,15 +1,20 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::exti::ExtiInput; use embassy_stm32::gpio::Pull; +use embassy_stm32::{exti::ExtiInput, SharedData}; use {defmt_rtt as _, panic_probe as _}; +#[link_section = ".shared_data"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + #[embassy_executor::main] async fn main(_spawner: Spawner) { - let p = embassy_stm32::init(Default::default()); + let p = embassy_stm32::init_primary(Default::default(), &SHARED_DATA); info!("Hello World!"); let mut button = ExtiInput::new(p.PA0, p.EXTI0, Pull::Up); diff --git a/examples/stm32wl/src/bin/flash.rs b/examples/stm32wl/src/bin/flash.rs index 0b7417c01..e7d90dc19 100644 --- a/examples/stm32wl/src/bin/flash.rs +++ b/examples/stm32wl/src/bin/flash.rs @@ -1,14 +1,19 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + use defmt::{info, unwrap}; use embassy_executor::Spawner; -use embassy_stm32::flash::Flash; +use embassy_stm32::{flash::Flash, SharedData}; use {defmt_rtt as _, panic_probe as _}; +#[link_section = ".shared_data"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + #[embassy_executor::main] async fn main(_spawner: Spawner) { - let p = embassy_stm32::init(Default::default()); + let p = embassy_stm32::init_primary(Default::default(), &SHARED_DATA); info!("Hello Flash!"); const ADDR: u32 = 0x36000; diff --git a/examples/stm32wl/src/bin/random.rs b/examples/stm32wl/src/bin/random.rs index 8e9fe02b2..df2ed0054 100644 --- a/examples/stm32wl/src/bin/random.rs +++ b/examples/stm32wl/src/bin/random.rs @@ -1,17 +1,22 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + use defmt::*; use embassy_executor::Spawner; use embassy_stm32::rng::{self, Rng}; use embassy_stm32::time::Hertz; -use embassy_stm32::{bind_interrupts, peripherals}; +use embassy_stm32::{bind_interrupts, peripherals, SharedData}; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs{ RNG => rng::InterruptHandler; }); +#[link_section = ".shared_data"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = embassy_stm32::Config::default(); @@ -32,7 +37,7 @@ async fn main(_spawner: Spawner) { divr: Some(PllRDiv::DIV2), // sysclk 48Mhz clock (32 / 2 * 6 / 2) }); } - let p = embassy_stm32::init(config); + let p = embassy_stm32::init_primary(config, &SHARED_DATA); info!("Hello World!"); diff --git a/examples/stm32wl/src/bin/rtc.rs b/examples/stm32wl/src/bin/rtc.rs index cf7d6d220..69a9ddc4c 100644 --- a/examples/stm32wl/src/bin/rtc.rs +++ b/examples/stm32wl/src/bin/rtc.rs @@ -1,15 +1,20 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + use chrono::{NaiveDate, NaiveDateTime}; use defmt::*; use embassy_executor::Spawner; use embassy_stm32::rtc::{Rtc, RtcConfig}; use embassy_stm32::time::Hertz; -use embassy_stm32::Config; +use embassy_stm32::{Config, SharedData}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; +#[link_section = ".shared_data"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = Config::default(); @@ -31,7 +36,7 @@ async fn main(_spawner: Spawner) { divr: Some(PllRDiv::DIV2), // sysclk 48Mhz clock (32 / 2 * 6 / 2) }); } - let p = embassy_stm32::init(config); + let p = embassy_stm32::init_primary(config, &SHARED_DATA); info!("Hello World!"); let now = NaiveDate::from_ymd_opt(2020, 5, 15) diff --git a/examples/stm32wl/src/bin/uart_async.rs b/examples/stm32wl/src/bin/uart_async.rs index 3637243a0..ece9b9201 100644 --- a/examples/stm32wl/src/bin/uart_async.rs +++ b/examples/stm32wl/src/bin/uart_async.rs @@ -1,10 +1,12 @@ #![no_std] #![no_main] +use core::mem::MaybeUninit; + use defmt::*; use embassy_executor::Spawner; use embassy_stm32::usart::{Config, InterruptHandler, Uart}; -use embassy_stm32::{bind_interrupts, peripherals}; +use embassy_stm32::{bind_interrupts, peripherals, SharedData}; use {defmt_rtt as _, panic_probe as _}; bind_interrupts!(struct Irqs{ @@ -12,6 +14,9 @@ bind_interrupts!(struct Irqs{ LPUART1 => InterruptHandler; }); +#[link_section = ".shared_data"] +static SHARED_DATA: MaybeUninit = MaybeUninit::uninit(); + /* Pass Incoming data from LPUART1 to USART1 Example is written for the LoRa-E5 mini v1.0, @@ -21,7 +26,7 @@ but can be surely changed for your needs. async fn main(_spawner: Spawner) { let mut config = embassy_stm32::Config::default(); config.rcc.sys = embassy_stm32::rcc::Sysclk::HSE; - let p = embassy_stm32::init(config); + let p = embassy_stm32::init_primary(config, &SHARED_DATA); defmt::info!("Starting system"); -- cgit From 3cd20814501d03852a3c30facbd204dffcf048db Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Mon, 5 Aug 2024 15:07:51 +0200 Subject: Fix tests --- examples/stm32wl/src/bin/button.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32wl/src/bin/button.rs b/examples/stm32wl/src/bin/button.rs index 92884da1f..e7f44b437 100644 --- a/examples/stm32wl/src/bin/button.rs +++ b/examples/stm32wl/src/bin/button.rs @@ -5,7 +5,10 @@ use core::mem::MaybeUninit; use cortex_m_rt::entry; use defmt::*; -use embassy_stm32::{gpio::{Input, Level, Output, Pull, Speed}, SharedData}; +use embassy_stm32::{ + gpio::{Input, Level, Output, Pull, Speed}, + SharedData, +}; use {defmt_rtt as _, panic_probe as _}; #[link_section = ".shared_data"] -- cgit From e322732fdba282f4150a186aed606b88714921fe Mon Sep 17 00:00:00 2001 From: Dion Dokter Date: Mon, 5 Aug 2024 15:13:11 +0200 Subject: Add H7 dual core to common and run fmt --- examples/stm32wl/src/bin/blinky.rs | 6 ++---- examples/stm32wl/src/bin/button.rs | 6 ++---- examples/stm32wl/src/bin/button_exti.rs | 3 ++- examples/stm32wl/src/bin/flash.rs | 3 ++- 4 files changed, 8 insertions(+), 10 deletions(-) (limited to 'examples') diff --git a/examples/stm32wl/src/bin/blinky.rs b/examples/stm32wl/src/bin/blinky.rs index 048ce9175..ce7d0ec58 100644 --- a/examples/stm32wl/src/bin/blinky.rs +++ b/examples/stm32wl/src/bin/blinky.rs @@ -5,10 +5,8 @@ use core::mem::MaybeUninit; use defmt::*; use embassy_executor::Spawner; -use embassy_stm32::{ - gpio::{Level, Output, Speed}, - SharedData, -}; +use embassy_stm32::gpio::{Level, Output, Speed}; +use embassy_stm32::SharedData; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; diff --git a/examples/stm32wl/src/bin/button.rs b/examples/stm32wl/src/bin/button.rs index e7f44b437..8b5204479 100644 --- a/examples/stm32wl/src/bin/button.rs +++ b/examples/stm32wl/src/bin/button.rs @@ -5,10 +5,8 @@ use core::mem::MaybeUninit; use cortex_m_rt::entry; use defmt::*; -use embassy_stm32::{ - gpio::{Input, Level, Output, Pull, Speed}, - SharedData, -}; +use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; +use embassy_stm32::SharedData; use {defmt_rtt as _, panic_probe as _}; #[link_section = ".shared_data"] diff --git a/examples/stm32wl/src/bin/button_exti.rs b/examples/stm32wl/src/bin/button_exti.rs index d1e443bf8..8dd1a6a5e 100644 --- a/examples/stm32wl/src/bin/button_exti.rs +++ b/examples/stm32wl/src/bin/button_exti.rs @@ -5,8 +5,9 @@ use core::mem::MaybeUninit; use defmt::*; use embassy_executor::Spawner; +use embassy_stm32::exti::ExtiInput; use embassy_stm32::gpio::Pull; -use embassy_stm32::{exti::ExtiInput, SharedData}; +use embassy_stm32::SharedData; use {defmt_rtt as _, panic_probe as _}; #[link_section = ".shared_data"] diff --git a/examples/stm32wl/src/bin/flash.rs b/examples/stm32wl/src/bin/flash.rs index e7d90dc19..147f5d293 100644 --- a/examples/stm32wl/src/bin/flash.rs +++ b/examples/stm32wl/src/bin/flash.rs @@ -5,7 +5,8 @@ use core::mem::MaybeUninit; use defmt::{info, unwrap}; use embassy_executor::Spawner; -use embassy_stm32::{flash::Flash, SharedData}; +use embassy_stm32::flash::Flash; +use embassy_stm32::SharedData; use {defmt_rtt as _, panic_probe as _}; #[link_section = ".shared_data"] -- cgit From 4f7ac1946a43379306aa432961fb97bba1139a6e Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 5 Aug 2024 20:58:04 +0200 Subject: cyw43: add Bluetooth support. Co-Authored-By: Brandon Ros --- examples/rp/Cargo.toml | 17 +++- examples/rp/src/bin/bluetooth.rs | 148 ++++++++++++++++++++++++++++++ examples/rp/src/bin/wifi_ap_tcp_server.rs | 4 +- examples/rp/src/bin/wifi_blinky.rs | 4 +- examples/rp/src/bin/wifi_scan.rs | 4 +- examples/rp/src/bin/wifi_tcp_server.rs | 8 +- examples/rp/src/bin/wifi_webrequest.rs | 4 +- 7 files changed, 175 insertions(+), 14 deletions(-) create mode 100644 examples/rp/src/bin/bluetooth.rs (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 4945f4bd2..2884ca85a 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -16,8 +16,8 @@ embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defm embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } embassy-usb-logger = { version = "0.2.0", path = "../../embassy-usb-logger" } -cyw43 = { version = "0.2.0", path = "../../cyw43", features = ["defmt", "firmware-logs"] } -cyw43-pio = { version = "0.2.0", path = "../../cyw43-pio", features = ["defmt", "overclock"] } +cyw43 = { version = "0.2.0", path = "../../cyw43", features = ["defmt", "firmware-logs", "bluetooth"] } +cyw43-pio = { version = "0.2.0", path = "../../cyw43-pio", features = ["defmt"] } defmt = "0.3" defmt-rtt = "0.4" @@ -59,9 +59,22 @@ pio = "0.2.1" rand = { version = "0.8.5", default-features = false } embedded-sdmmc = "0.7.0" +bt-hci = { version = "0.1.0", default-features = false, features = ["defmt"] } +trouble-host = { version = "0.1.0", features = ["defmt", "gatt"] } + [profile.release] debug = 2 [profile.dev] lto = true opt-level = "z" + +[patch.crates-io] +trouble-host = { git = "https://github.com/embassy-rs/trouble.git", rev = "4b8c0f499b34e46ca23a56e2d1640ede371722cf" } +bt-hci = { git = "https://github.com/alexmoon/bt-hci.git", rev = "b9cd5954f6bd89b535cad9c418e9fdf12812d7c3" } +embassy-executor = { path = "../../embassy-executor" } +embassy-sync = { path = "../../embassy-sync" } +embassy-futures = { path = "../../embassy-futures" } +embassy-time = { path = "../../embassy-time" } +embassy-time-driver = { path = "../../embassy-time-driver" } +embassy-embedded-hal = { path = "../../embassy-embedded-hal" } diff --git a/examples/rp/src/bin/bluetooth.rs b/examples/rp/src/bin/bluetooth.rs new file mode 100644 index 000000000..901521b60 --- /dev/null +++ b/examples/rp/src/bin/bluetooth.rs @@ -0,0 +1,148 @@ +//! This example test the RP Pico W on board LED. +//! +//! It does not work with the RP Pico board. See blinky.rs. + +#![no_std] +#![no_main] + +use bt_hci::controller::ExternalController; +use cyw43_pio::PioSpi; +use defmt::*; +use embassy_executor::Spawner; +use embassy_futures::join::join3; +use embassy_rp::bind_interrupts; +use embassy_rp::gpio::{Level, Output}; +use embassy_rp::peripherals::{DMA_CH0, PIO0}; +use embassy_rp::pio::{InterruptHandler, Pio}; +use embassy_sync::blocking_mutex::raw::NoopRawMutex; +use embassy_time::{Duration, Timer}; +use static_cell::StaticCell; +use trouble_host::advertise::{AdStructure, Advertisement, BR_EDR_NOT_SUPPORTED, LE_GENERAL_DISCOVERABLE}; +use trouble_host::attribute::{AttributeTable, CharacteristicProp, Service, Uuid}; +use trouble_host::gatt::GattEvent; +use trouble_host::{Address, BleHost, BleHostResources, PacketQos}; +use {defmt_rtt as _, embassy_time as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +#[embassy_executor::task] +async fn cyw43_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { + runner.run().await +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let fw = include_bytes!("../../../../cyw43-firmware/43439A0.bin"); + let clm = include_bytes!("../../../../cyw43-firmware/43439A0_clm.bin"); + let btfw = include_bytes!("../../../../cyw43-firmware/43439A0_btfw.bin"); + + // To make flashing faster for development, you may want to flash the firmwares independently + // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: + // probe-rs download 43439A0.bin --format bin --chip RP2040 --base-address 0x10100000 + // probe-rs download 43439A0_clm.bin --format bin --chip RP2040 --base-address 0x10140000 + //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 224190) }; + //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; + + let pwr = Output::new(p.PIN_23, Level::Low); + let cs = Output::new(p.PIN_25, Level::High); + let mut pio = Pio::new(p.PIO0, Irqs); + let spi = PioSpi::new(&mut pio.common, pio.sm0, pio.irq0, cs, p.PIN_24, p.PIN_29, p.DMA_CH0); + + static STATE: StaticCell = StaticCell::new(); + let state = STATE.init(cyw43::State::new()); + let (_net_device, bt_device, mut control, runner) = cyw43::new_with_bluetooth(state, pwr, spi, fw, btfw).await; + unwrap!(spawner.spawn(cyw43_task(runner))); + control.init(clm).await; + + let controller: ExternalController<_, 10> = ExternalController::new(bt_device); + static HOST_RESOURCES: StaticCell> = StaticCell::new(); + let host_resources = HOST_RESOURCES.init(BleHostResources::new(PacketQos::None)); + + let mut ble: BleHost<'_, _> = BleHost::new(controller, host_resources); + + ble.set_random_address(Address::random([0xff, 0x9f, 0x1a, 0x05, 0xe4, 0xff])); + let mut table: AttributeTable<'_, NoopRawMutex, 10> = AttributeTable::new(); + + // Generic Access Service (mandatory) + let id = b"Pico W Bluetooth"; + let appearance = [0x80, 0x07]; + let mut bat_level = [0; 1]; + let handle = { + let mut svc = table.add_service(Service::new(0x1800)); + let _ = svc.add_characteristic_ro(0x2a00, id); + let _ = svc.add_characteristic_ro(0x2a01, &appearance[..]); + svc.build(); + + // Generic attribute service (mandatory) + table.add_service(Service::new(0x1801)); + + // Battery service + let mut svc = table.add_service(Service::new(0x180f)); + + svc.add_characteristic( + 0x2a19, + &[CharacteristicProp::Read, CharacteristicProp::Notify], + &mut bat_level, + ) + .build() + }; + + let mut adv_data = [0; 31]; + AdStructure::encode_slice( + &[ + AdStructure::Flags(LE_GENERAL_DISCOVERABLE | BR_EDR_NOT_SUPPORTED), + AdStructure::ServiceUuids16(&[Uuid::Uuid16([0x0f, 0x18])]), + AdStructure::CompleteLocalName(b"Pico W Bluetooth"), + ], + &mut adv_data[..], + ) + .unwrap(); + + let server = ble.gatt_server(&table); + + info!("Starting advertising and GATT service"); + let _ = join3( + ble.run(), + async { + loop { + match server.next().await { + Ok(GattEvent::Write { handle, connection: _ }) => { + let _ = table.get(handle, |value| { + info!("Write event. Value written: {:?}", value); + }); + } + Ok(GattEvent::Read { .. }) => { + info!("Read event"); + } + Err(e) => { + error!("Error processing GATT events: {:?}", e); + } + } + } + }, + async { + let mut advertiser = ble + .advertise( + &Default::default(), + Advertisement::ConnectableScannableUndirected { + adv_data: &adv_data[..], + scan_data: &[], + }, + ) + .await + .unwrap(); + let conn = advertiser.accept().await.unwrap(); + // Keep connection alive + let mut tick: u8 = 0; + loop { + Timer::after(Duration::from_secs(10)).await; + tick += 1; + server.notify(handle, &conn, &[tick]).await.unwrap(); + } + }, + ) + .await; +} diff --git a/examples/rp/src/bin/wifi_ap_tcp_server.rs b/examples/rp/src/bin/wifi_ap_tcp_server.rs index 4fc2690e3..b5fbd8e36 100644 --- a/examples/rp/src/bin/wifi_ap_tcp_server.rs +++ b/examples/rp/src/bin/wifi_ap_tcp_server.rs @@ -28,7 +28,7 @@ bind_interrupts!(struct Irqs { }); #[embassy_executor::task] -async fn wifi_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { +async fn cyw43_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { runner.run().await } @@ -62,7 +62,7 @@ async fn main(spawner: Spawner) { static STATE: StaticCell = StaticCell::new(); let state = STATE.init(cyw43::State::new()); let (net_device, mut control, runner) = cyw43::new(state, pwr, spi, fw).await; - unwrap!(spawner.spawn(wifi_task(runner))); + unwrap!(spawner.spawn(cyw43_task(runner))); control.init(clm).await; control diff --git a/examples/rp/src/bin/wifi_blinky.rs b/examples/rp/src/bin/wifi_blinky.rs index 471349639..04a61bbd5 100644 --- a/examples/rp/src/bin/wifi_blinky.rs +++ b/examples/rp/src/bin/wifi_blinky.rs @@ -21,7 +21,7 @@ bind_interrupts!(struct Irqs { }); #[embassy_executor::task] -async fn wifi_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { +async fn cyw43_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { runner.run().await } @@ -46,7 +46,7 @@ async fn main(spawner: Spawner) { static STATE: StaticCell = StaticCell::new(); let state = STATE.init(cyw43::State::new()); let (_net_device, mut control, runner) = cyw43::new(state, pwr, spi, fw).await; - unwrap!(spawner.spawn(wifi_task(runner))); + unwrap!(spawner.spawn(cyw43_task(runner))); control.init(clm).await; control diff --git a/examples/rp/src/bin/wifi_scan.rs b/examples/rp/src/bin/wifi_scan.rs index 5f4c848a2..ab3529112 100644 --- a/examples/rp/src/bin/wifi_scan.rs +++ b/examples/rp/src/bin/wifi_scan.rs @@ -23,7 +23,7 @@ bind_interrupts!(struct Irqs { }); #[embassy_executor::task] -async fn wifi_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { +async fn cyw43_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { runner.run().await } @@ -56,7 +56,7 @@ async fn main(spawner: Spawner) { static STATE: StaticCell = StaticCell::new(); let state = STATE.init(cyw43::State::new()); let (_net_device, mut control, runner) = cyw43::new(state, pwr, spi, fw).await; - unwrap!(spawner.spawn(wifi_task(runner))); + unwrap!(spawner.spawn(cyw43_task(runner))); control.init(clm).await; control diff --git a/examples/rp/src/bin/wifi_tcp_server.rs b/examples/rp/src/bin/wifi_tcp_server.rs index 5575df677..87487cbe8 100644 --- a/examples/rp/src/bin/wifi_tcp_server.rs +++ b/examples/rp/src/bin/wifi_tcp_server.rs @@ -27,11 +27,11 @@ bind_interrupts!(struct Irqs { PIO0_IRQ_0 => InterruptHandler; }); -const WIFI_NETWORK: &str = "EmbassyTest"; -const WIFI_PASSWORD: &str = "V8YxhKt5CdIAJFud"; +const WIFI_NETWORK: &str = "LadronDeWifi"; +const WIFI_PASSWORD: &str = "MBfcaedHmyRFE4kaQ1O5SsY8"; #[embassy_executor::task] -async fn wifi_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { +async fn cyw43_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { runner.run().await } @@ -65,7 +65,7 @@ async fn main(spawner: Spawner) { static STATE: StaticCell = StaticCell::new(); let state = STATE.init(cyw43::State::new()); let (net_device, mut control, runner) = cyw43::new(state, pwr, spi, fw).await; - unwrap!(spawner.spawn(wifi_task(runner))); + unwrap!(spawner.spawn(cyw43_task(runner))); control.init(clm).await; control diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs index 70b6f0949..e32be6e45 100644 --- a/examples/rp/src/bin/wifi_webrequest.rs +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -34,7 +34,7 @@ const WIFI_NETWORK: &str = "ssid"; // change to your network SSID const WIFI_PASSWORD: &str = "pwd"; // change to your network password #[embassy_executor::task] -async fn wifi_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { +async fn cyw43_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH0>>) -> ! { runner.run().await } @@ -67,7 +67,7 @@ async fn main(spawner: Spawner) { static STATE: StaticCell = StaticCell::new(); let state = STATE.init(cyw43::State::new()); let (net_device, mut control, runner) = cyw43::new(state, pwr, spi, fw).await; - unwrap!(spawner.spawn(wifi_task(runner))); + unwrap!(spawner.spawn(cyw43_task(runner))); control.init(clm).await; control -- cgit From 3f045ede48c35af298e0b8f158cbf34e8bdd0d72 Mon Sep 17 00:00:00 2001 From: Niels Becker Date: Tue, 6 Aug 2024 20:08:26 +0200 Subject: Rename package for embassy-stm32h755cm4-example --- examples/stm32h755cm4/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32h755cm4/Cargo.toml b/examples/stm32h755cm4/Cargo.toml index 9d2fb9060..7a42fbdaa 100644 --- a/examples/stm32h755cm4/Cargo.toml +++ b/examples/stm32h755cm4/Cargo.toml @@ -1,6 +1,6 @@ [package] edition = "2021" -name = "embassy-stm32h7-examples" +name = "embassy-stm32h755cm4-examples" version = "0.1.0" license = "MIT OR Apache-2.0" -- cgit From 207048ff38fef29a00e7ae9a020973c43acffa8a Mon Sep 17 00:00:00 2001 From: Niels Becker Date: Tue, 6 Aug 2024 20:10:46 +0200 Subject: Rename package for embassy-stm32h755cm7-example --- examples/stm32h755cm7/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32h755cm7/Cargo.toml b/examples/stm32h755cm7/Cargo.toml index ab088fd33..4f0f69c3f 100644 --- a/examples/stm32h755cm7/Cargo.toml +++ b/examples/stm32h755cm7/Cargo.toml @@ -1,6 +1,6 @@ [package] edition = "2021" -name = "embassy-stm32h7-examples" +name = "embassy-stm32h755cm7-examples" version = "0.1.0" license = "MIT OR Apache-2.0" -- cgit From 59cb1531c91386cec8d7b209630b6b4d9eb7fd7c Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 5 Aug 2024 21:38:30 +0200 Subject: examples: ensure at least 3 sockets to avoid running out (DHCP, DNS, the user's) --- examples/nrf52840/src/bin/ethernet_enc28j60.rs | 9 ++------- examples/nrf52840/src/bin/usb_ethernet.rs | 2 +- examples/nrf52840/src/bin/wifi_esp_hosted.rs | 9 ++------- examples/rp/src/bin/ethernet_w5500_multisocket.rs | 2 +- examples/rp/src/bin/ethernet_w5500_tcp_client.rs | 4 ++-- examples/rp/src/bin/ethernet_w5500_tcp_server.rs | 4 ++-- examples/rp/src/bin/ethernet_w5500_udp.rs | 4 ++-- examples/rp/src/bin/usb_ethernet.rs | 9 ++------- examples/rp/src/bin/wifi_ap_tcp_server.rs | 4 ++-- examples/rp/src/bin/wifi_tcp_server.rs | 4 ++-- examples/rp/src/bin/wifi_webrequest.rs | 2 +- examples/std/src/bin/net.rs | 7 +------ examples/std/src/bin/net_dns.rs | 7 +------ examples/std/src/bin/net_ppp.rs | 2 +- examples/std/src/bin/net_udp.rs | 7 +------ examples/std/src/bin/tcp_accept.rs | 7 +------ examples/stm32f4/src/bin/eth.rs | 9 ++------- examples/stm32f4/src/bin/eth_w5500.rs | 9 ++------- examples/stm32f4/src/bin/usb_ethernet.rs | 9 ++------- examples/stm32f7/src/bin/eth.rs | 9 ++------- examples/stm32h5/src/bin/eth.rs | 9 ++------- examples/stm32h7/src/bin/eth.rs | 7 +------ examples/stm32h7/src/bin/eth_client.rs | 7 +------ examples/stm32h7/src/bin/eth_client_mii.rs | 7 +------ examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 9 ++------- examples/stm32l5/src/bin/usb_ethernet.rs | 9 ++------- 26 files changed, 41 insertions(+), 126 deletions(-) (limited to 'examples') diff --git a/examples/nrf52840/src/bin/ethernet_enc28j60.rs b/examples/nrf52840/src/bin/ethernet_enc28j60.rs index 279f32edc..94cf09c88 100644 --- a/examples/nrf52840/src/bin/ethernet_enc28j60.rs +++ b/examples/nrf52840/src/bin/ethernet_enc28j60.rs @@ -66,16 +66,11 @@ async fn main(spawner: Spawner) { let seed = u64::from_le_bytes(seed); // Init network stack - static RESOURCES: StaticCell> = StaticCell::new(); + static RESOURCES: StaticCell> = StaticCell::new(); static STACK: StaticCell< Stack, Output<'static>, Delay>, Output<'static>>>, > = StaticCell::new(); - let stack = STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + let stack = STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); unwrap!(spawner.spawn(net_task(stack))); diff --git a/examples/nrf52840/src/bin/usb_ethernet.rs b/examples/nrf52840/src/bin/usb_ethernet.rs index a7e5c2668..e56b215e3 100644 --- a/examples/nrf52840/src/bin/usb_ethernet.rs +++ b/examples/nrf52840/src/bin/usb_ethernet.rs @@ -115,7 +115,7 @@ async fn main(spawner: Spawner) { let seed = u64::from_le_bytes(seed); // Init network stack - static RESOURCES: StaticCell> = StaticCell::new(); + static RESOURCES: StaticCell> = StaticCell::new(); static STACK: StaticCell>> = StaticCell::new(); let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); diff --git a/examples/nrf52840/src/bin/wifi_esp_hosted.rs b/examples/nrf52840/src/bin/wifi_esp_hosted.rs index 00bd50081..a3b69a99b 100644 --- a/examples/nrf52840/src/bin/wifi_esp_hosted.rs +++ b/examples/nrf52840/src/bin/wifi_esp_hosted.rs @@ -89,14 +89,9 @@ async fn main(spawner: Spawner) { let seed = u64::from_le_bytes(seed); // Init network stack - static RESOURCES: StaticCell> = StaticCell::new(); + static RESOURCES: StaticCell> = StaticCell::new(); static STACK: StaticCell>> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); unwrap!(spawner.spawn(net_task(stack))); diff --git a/examples/rp/src/bin/ethernet_w5500_multisocket.rs b/examples/rp/src/bin/ethernet_w5500_multisocket.rs index def26b53d..aaa035a72 100644 --- a/examples/rp/src/bin/ethernet_w5500_multisocket.rs +++ b/examples/rp/src/bin/ethernet_w5500_multisocket.rs @@ -76,7 +76,7 @@ async fn main(spawner: Spawner) { let stack = &*STACK.init(Stack::new( device, embassy_net::Config::dhcpv4(Default::default()), - RESOURCES.init(StackResources::<3>::new()), + RESOURCES.init(StackResources::new()), seed, )); diff --git a/examples/rp/src/bin/ethernet_w5500_tcp_client.rs b/examples/rp/src/bin/ethernet_w5500_tcp_client.rs index 6c4a78361..8e96a114c 100644 --- a/examples/rp/src/bin/ethernet_w5500_tcp_client.rs +++ b/examples/rp/src/bin/ethernet_w5500_tcp_client.rs @@ -75,11 +75,11 @@ async fn main(spawner: Spawner) { // Init network stack static STACK: StaticCell>> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); + static RESOURCES: StaticCell> = StaticCell::new(); let stack = &*STACK.init(Stack::new( device, embassy_net::Config::dhcpv4(Default::default()), - RESOURCES.init(StackResources::<2>::new()), + RESOURCES.init(StackResources::new()), seed, )); diff --git a/examples/rp/src/bin/ethernet_w5500_tcp_server.rs b/examples/rp/src/bin/ethernet_w5500_tcp_server.rs index 30a3a7463..40736bf3c 100644 --- a/examples/rp/src/bin/ethernet_w5500_tcp_server.rs +++ b/examples/rp/src/bin/ethernet_w5500_tcp_server.rs @@ -74,11 +74,11 @@ async fn main(spawner: Spawner) { // Init network stack static STACK: StaticCell>> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); + static RESOURCES: StaticCell> = StaticCell::new(); let stack = &*STACK.init(Stack::new( device, embassy_net::Config::dhcpv4(Default::default()), - RESOURCES.init(StackResources::<2>::new()), + RESOURCES.init(StackResources::new()), seed, )); diff --git a/examples/rp/src/bin/ethernet_w5500_udp.rs b/examples/rp/src/bin/ethernet_w5500_udp.rs index 1613ed887..c79f01538 100644 --- a/examples/rp/src/bin/ethernet_w5500_udp.rs +++ b/examples/rp/src/bin/ethernet_w5500_udp.rs @@ -72,11 +72,11 @@ async fn main(spawner: Spawner) { // Init network stack static STACK: StaticCell>> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); + static RESOURCES: StaticCell> = StaticCell::new(); let stack = &*STACK.init(Stack::new( device, embassy_net::Config::dhcpv4(Default::default()), - RESOURCES.init(StackResources::<2>::new()), + RESOURCES.init(StackResources::new()), seed, )); diff --git a/examples/rp/src/bin/usb_ethernet.rs b/examples/rp/src/bin/usb_ethernet.rs index 22dc88d28..03c510f37 100644 --- a/examples/rp/src/bin/usb_ethernet.rs +++ b/examples/rp/src/bin/usb_ethernet.rs @@ -109,13 +109,8 @@ async fn main(spawner: Spawner) { // Init network stack static STACK: StaticCell>> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + static RESOURCES: StaticCell> = StaticCell::new(); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); unwrap!(spawner.spawn(net_task(stack))); diff --git a/examples/rp/src/bin/wifi_ap_tcp_server.rs b/examples/rp/src/bin/wifi_ap_tcp_server.rs index 4fc2690e3..11978adf1 100644 --- a/examples/rp/src/bin/wifi_ap_tcp_server.rs +++ b/examples/rp/src/bin/wifi_ap_tcp_server.rs @@ -81,11 +81,11 @@ async fn main(spawner: Spawner) { // Init network stack static STACK: StaticCell>> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); + static RESOURCES: StaticCell> = StaticCell::new(); let stack = &*STACK.init(Stack::new( net_device, config, - RESOURCES.init(StackResources::<2>::new()), + RESOURCES.init(StackResources::new()), seed, )); diff --git a/examples/rp/src/bin/wifi_tcp_server.rs b/examples/rp/src/bin/wifi_tcp_server.rs index 5575df677..f77932202 100644 --- a/examples/rp/src/bin/wifi_tcp_server.rs +++ b/examples/rp/src/bin/wifi_tcp_server.rs @@ -84,11 +84,11 @@ async fn main(spawner: Spawner) { // Init network stack static STACK: StaticCell>> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); + static RESOURCES: StaticCell> = StaticCell::new(); let stack = &*STACK.init(Stack::new( net_device, config, - RESOURCES.init(StackResources::<2>::new()), + RESOURCES.init(StackResources::new()), seed, )); diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs index 70b6f0949..1a716d1a8 100644 --- a/examples/rp/src/bin/wifi_webrequest.rs +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -91,7 +91,7 @@ async fn main(spawner: Spawner) { let stack = &*STACK.init(Stack::new( net_device, config, - RESOURCES.init(StackResources::<5>::new()), + RESOURCES.init(StackResources::new()), seed, )); diff --git a/examples/std/src/bin/net.rs b/examples/std/src/bin/net.rs index 59813d8cb..310e7264d 100644 --- a/examples/std/src/bin/net.rs +++ b/examples/std/src/bin/net.rs @@ -52,12 +52,7 @@ async fn main_task(spawner: Spawner) { // Init network stack static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<3>::new()), - seed, - )); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task spawner.spawn(net_task(stack)).unwrap(); diff --git a/examples/std/src/bin/net_dns.rs b/examples/std/src/bin/net_dns.rs index 3b6a3de37..c9615ef35 100644 --- a/examples/std/src/bin/net_dns.rs +++ b/examples/std/src/bin/net_dns.rs @@ -51,12 +51,7 @@ async fn main_task(spawner: Spawner) { // Init network stack static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack: &Stack<_> = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<3>::new()), - seed, - )); + let stack: &Stack<_> = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task spawner.spawn(net_task(stack)).unwrap(); diff --git a/examples/std/src/bin/net_ppp.rs b/examples/std/src/bin/net_ppp.rs index 9ec0ea91f..c5c27c4a3 100644 --- a/examples/std/src/bin/net_ppp.rs +++ b/examples/std/src/bin/net_ppp.rs @@ -102,7 +102,7 @@ async fn main_task(spawner: Spawner) { let stack = &*STACK.init(Stack::new( device, Config::default(), // don't configure IP yet - RESOURCES.init(StackResources::<3>::new()), + RESOURCES.init(StackResources::new()), seed, )); diff --git a/examples/std/src/bin/net_udp.rs b/examples/std/src/bin/net_udp.rs index bee91990d..b2ba4915a 100644 --- a/examples/std/src/bin/net_udp.rs +++ b/examples/std/src/bin/net_udp.rs @@ -50,12 +50,7 @@ async fn main_task(spawner: Spawner) { // Init network stack static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<3>::new()), - seed, - )); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task spawner.spawn(net_task(stack)).unwrap(); diff --git a/examples/std/src/bin/tcp_accept.rs b/examples/std/src/bin/tcp_accept.rs index e8b6eaa6c..39b29a449 100644 --- a/examples/std/src/bin/tcp_accept.rs +++ b/examples/std/src/bin/tcp_accept.rs @@ -64,12 +64,7 @@ async fn main_task(spawner: Spawner) { // Init network stack static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<3>::new()), - seed, - )); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task spawner.spawn(net_task(stack)).unwrap(); diff --git a/examples/stm32f4/src/bin/eth.rs b/examples/stm32f4/src/bin/eth.rs index 648c45bbd..9388c64bf 100644 --- a/examples/stm32f4/src/bin/eth.rs +++ b/examples/stm32f4/src/bin/eth.rs @@ -89,13 +89,8 @@ async fn main(spawner: Spawner) -> ! { // Init network stack static STACK: StaticCell> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + static RESOURCES: StaticCell> = StaticCell::new(); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task unwrap!(spawner.spawn(net_task(stack))); diff --git a/examples/stm32f4/src/bin/eth_w5500.rs b/examples/stm32f4/src/bin/eth_w5500.rs index 3c770a873..5c3c6c3ba 100644 --- a/examples/stm32f4/src/bin/eth_w5500.rs +++ b/examples/stm32f4/src/bin/eth_w5500.rs @@ -93,13 +93,8 @@ async fn main(spawner: Spawner) -> ! { //}); static STACK: StaticCell> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + static RESOURCES: StaticCell> = StaticCell::new(); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task unwrap!(spawner.spawn(net_task(stack))); diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs index b398c35da..94e51c338 100644 --- a/examples/stm32f4/src/bin/usb_ethernet.rs +++ b/examples/stm32f4/src/bin/usb_ethernet.rs @@ -145,13 +145,8 @@ async fn main(spawner: Spawner) { // Init network stack static STACK: StaticCell>> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + static RESOURCES: StaticCell> = StaticCell::new(); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); unwrap!(spawner.spawn(net_task(stack))); diff --git a/examples/stm32f7/src/bin/eth.rs b/examples/stm32f7/src/bin/eth.rs index 41e2a6061..2fd10c8fb 100644 --- a/examples/stm32f7/src/bin/eth.rs +++ b/examples/stm32f7/src/bin/eth.rs @@ -90,13 +90,8 @@ async fn main(spawner: Spawner) -> ! { // Init network stack static STACK: StaticCell> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + static RESOURCES: StaticCell> = StaticCell::new(); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task unwrap!(spawner.spawn(net_task(stack))); diff --git a/examples/stm32h5/src/bin/eth.rs b/examples/stm32h5/src/bin/eth.rs index 2370656e6..65cfad8c9 100644 --- a/examples/stm32h5/src/bin/eth.rs +++ b/examples/stm32h5/src/bin/eth.rs @@ -93,13 +93,8 @@ async fn main(spawner: Spawner) -> ! { // Init network stack static STACK: StaticCell> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + static RESOURCES: StaticCell> = StaticCell::new(); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task unwrap!(spawner.spawn(net_task(&stack))); diff --git a/examples/stm32h7/src/bin/eth.rs b/examples/stm32h7/src/bin/eth.rs index 7c7964ecd..b2f8ed91e 100644 --- a/examples/stm32h7/src/bin/eth.rs +++ b/examples/stm32h7/src/bin/eth.rs @@ -93,12 +93,7 @@ async fn main(spawner: Spawner) -> ! { // Init network stack static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<3>::new()), - seed, - )); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task unwrap!(spawner.spawn(net_task(&stack))); diff --git a/examples/stm32h7/src/bin/eth_client.rs b/examples/stm32h7/src/bin/eth_client.rs index 0639fb99f..274c24ab1 100644 --- a/examples/stm32h7/src/bin/eth_client.rs +++ b/examples/stm32h7/src/bin/eth_client.rs @@ -93,12 +93,7 @@ async fn main(spawner: Spawner) -> ! { // Init network stack static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<3>::new()), - seed, - )); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task unwrap!(spawner.spawn(net_task(stack))); diff --git a/examples/stm32h7/src/bin/eth_client_mii.rs b/examples/stm32h7/src/bin/eth_client_mii.rs index 9a52e8d3b..aa6544f41 100644 --- a/examples/stm32h7/src/bin/eth_client_mii.rs +++ b/examples/stm32h7/src/bin/eth_client_mii.rs @@ -99,12 +99,7 @@ async fn main(spawner: Spawner) -> ! { // Init network stack static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<3>::new()), - seed, - )); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); // Launch network task unwrap!(spawner.spawn(net_task(stack))); diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index 33149144c..bd633cecb 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs @@ -207,13 +207,8 @@ async fn main(spawner: Spawner) { // Init network stack static STACK: StaticCell>> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - ip_cfg, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + static RESOURCES: StaticCell> = StaticCell::new(); + let stack = &*STACK.init(Stack::new(device, ip_cfg, RESOURCES.init(StackResources::new()), seed)); // Launch network task unwrap!(spawner.spawn(net_task(stack))); diff --git a/examples/stm32l5/src/bin/usb_ethernet.rs b/examples/stm32l5/src/bin/usb_ethernet.rs index 7f73fd677..d02bac91d 100644 --- a/examples/stm32l5/src/bin/usb_ethernet.rs +++ b/examples/stm32l5/src/bin/usb_ethernet.rs @@ -122,13 +122,8 @@ async fn main(spawner: Spawner) { // Init network stack static STACK: StaticCell>> = StaticCell::new(); - static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + static RESOURCES: StaticCell> = StaticCell::new(); + let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); unwrap!(spawner.spawn(net_task(stack))); -- cgit From ad4df1c1adaec95d32b9729945fa234a988ea2f1 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 9 Aug 2024 01:05:10 +0200 Subject: cyw43: make sure to yield if doing busy-polling for interrupts. --- examples/rp/Cargo.toml | 3 +++ 1 file changed, 3 insertions(+) (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 2884ca85a..031f68253 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -64,8 +64,11 @@ trouble-host = { version = "0.1.0", features = ["defmt", "gatt"] } [profile.release] debug = 2 +lto = true +opt-level = 'z' [profile.dev] +debug = 2 lto = true opt-level = "z" -- cgit From b185e02a42ad751ec6c31ffa6a1b87503f15489d Mon Sep 17 00:00:00 2001 From: Caleb Jamison Date: Wed, 7 Aug 2024 23:20:26 -0400 Subject: Initial rp235x support Examples have been run, but there is not yet a test suite. --- examples/rp/Cargo.toml | 4 +- examples/rp23/.cargo/config.toml | 9 + examples/rp23/Cargo.toml | 80 +++++++ examples/rp23/assets/ferris.raw | Bin 0 -> 11008 bytes examples/rp23/build.rs | 35 +++ examples/rp23/memory.x | 74 ++++++ examples/rp23/src/bin/adc.rs | 64 ++++++ examples/rp23/src/bin/adc_dma.rs | 70 ++++++ examples/rp23/src/bin/assign_resources.rs | 95 ++++++++ examples/rp23/src/bin/blinky.rs | 44 ++++ examples/rp23/src/bin/blinky_two_channels.rs | 66 ++++++ examples/rp23/src/bin/blinky_two_tasks.rs | 65 ++++++ examples/rp23/src/bin/button.rs | 44 ++++ examples/rp23/src/bin/debounce.rs | 96 ++++++++ examples/rp23/src/bin/flash.rs | 150 ++++++++++++ examples/rp23/src/bin/gpio_async.rs | 56 +++++ examples/rp23/src/bin/gpout.rs | 53 +++++ examples/rp23/src/bin/i2c_async.rs | 126 ++++++++++ examples/rp23/src/bin/i2c_async_embassy.rs | 101 +++++++++ examples/rp23/src/bin/i2c_blocking.rs | 90 ++++++++ examples/rp23/src/bin/i2c_slave.rs | 132 +++++++++++ examples/rp23/src/bin/interrupt.rs | 110 +++++++++ examples/rp23/src/bin/multicore.rs | 82 +++++++ examples/rp23/src/bin/multiprio.rs | 161 +++++++++++++ examples/rp23/src/bin/pio_async.rs | 146 ++++++++++++ examples/rp23/src/bin/pio_dma.rs | 99 ++++++++ examples/rp23/src/bin/pio_hd44780.rs | 256 +++++++++++++++++++++ examples/rp23/src/bin/pio_i2s.rs | 141 ++++++++++++ examples/rp23/src/bin/pio_pwm.rs | 134 +++++++++++ examples/rp23/src/bin/pio_rotary_encoder.rs | 96 ++++++++ examples/rp23/src/bin/pio_servo.rs | 224 ++++++++++++++++++ examples/rp23/src/bin/pio_stepper.rs | 184 +++++++++++++++ examples/rp23/src/bin/pio_ws2812.rs | 177 +++++++++++++++ examples/rp23/src/bin/pwm.rs | 45 ++++ examples/rp23/src/bin/pwm_input.rs | 42 ++++ examples/rp23/src/bin/rosc.rs | 47 ++++ examples/rp23/src/bin/shared_bus.rs | 131 +++++++++++ examples/rp23/src/bin/sharing.rs | 166 ++++++++++++++ examples/rp23/src/bin/spi.rs | 62 +++++ examples/rp23/src/bin/spi_async.rs | 47 ++++ examples/rp23/src/bin/spi_display.rs | 328 +++++++++++++++++++++++++++ examples/rp23/src/bin/spi_sdmmc.rs | 99 ++++++++ examples/rp23/src/bin/uart.rs | 40 ++++ examples/rp23/src/bin/uart_buffered_split.rs | 74 ++++++ examples/rp23/src/bin/uart_r503.rs | 174 ++++++++++++++ examples/rp23/src/bin/uart_unidir.rs | 66 ++++++ examples/rp23/src/bin/usb_webusb.rs | 171 ++++++++++++++ examples/rp23/src/bin/watchdog.rs | 67 ++++++ examples/rp23/src/bin/zerocopy.rs | 110 +++++++++ 49 files changed, 4931 insertions(+), 2 deletions(-) create mode 100644 examples/rp23/.cargo/config.toml create mode 100644 examples/rp23/Cargo.toml create mode 100644 examples/rp23/assets/ferris.raw create mode 100644 examples/rp23/build.rs create mode 100644 examples/rp23/memory.x create mode 100644 examples/rp23/src/bin/adc.rs create mode 100644 examples/rp23/src/bin/adc_dma.rs create mode 100644 examples/rp23/src/bin/assign_resources.rs create mode 100644 examples/rp23/src/bin/blinky.rs create mode 100644 examples/rp23/src/bin/blinky_two_channels.rs create mode 100644 examples/rp23/src/bin/blinky_two_tasks.rs create mode 100644 examples/rp23/src/bin/button.rs create mode 100644 examples/rp23/src/bin/debounce.rs create mode 100644 examples/rp23/src/bin/flash.rs create mode 100644 examples/rp23/src/bin/gpio_async.rs create mode 100644 examples/rp23/src/bin/gpout.rs create mode 100644 examples/rp23/src/bin/i2c_async.rs create mode 100644 examples/rp23/src/bin/i2c_async_embassy.rs create mode 100644 examples/rp23/src/bin/i2c_blocking.rs create mode 100644 examples/rp23/src/bin/i2c_slave.rs create mode 100644 examples/rp23/src/bin/interrupt.rs create mode 100644 examples/rp23/src/bin/multicore.rs create mode 100644 examples/rp23/src/bin/multiprio.rs create mode 100644 examples/rp23/src/bin/pio_async.rs create mode 100644 examples/rp23/src/bin/pio_dma.rs create mode 100644 examples/rp23/src/bin/pio_hd44780.rs create mode 100644 examples/rp23/src/bin/pio_i2s.rs create mode 100644 examples/rp23/src/bin/pio_pwm.rs create mode 100644 examples/rp23/src/bin/pio_rotary_encoder.rs create mode 100644 examples/rp23/src/bin/pio_servo.rs create mode 100644 examples/rp23/src/bin/pio_stepper.rs create mode 100644 examples/rp23/src/bin/pio_ws2812.rs create mode 100644 examples/rp23/src/bin/pwm.rs create mode 100644 examples/rp23/src/bin/pwm_input.rs create mode 100644 examples/rp23/src/bin/rosc.rs create mode 100644 examples/rp23/src/bin/shared_bus.rs create mode 100644 examples/rp23/src/bin/sharing.rs create mode 100644 examples/rp23/src/bin/spi.rs create mode 100644 examples/rp23/src/bin/spi_async.rs create mode 100644 examples/rp23/src/bin/spi_display.rs create mode 100644 examples/rp23/src/bin/spi_sdmmc.rs create mode 100644 examples/rp23/src/bin/uart.rs create mode 100644 examples/rp23/src/bin/uart_buffered_split.rs create mode 100644 examples/rp23/src/bin/uart_r503.rs create mode 100644 examples/rp23/src/bin/uart_unidir.rs create mode 100644 examples/rp23/src/bin/usb_webusb.rs create mode 100644 examples/rp23/src/bin/watchdog.rs create mode 100644 examples/rp23/src/bin/zerocopy.rs (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 2884ca85a..500425315 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -10,7 +10,7 @@ embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal", embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-rp = { version = "0.2.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } +embassy-rp = { version = "0.2.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp2040"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns"] } embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } @@ -51,7 +51,7 @@ embedded-hal-async = "1.0" embedded-hal-bus = { version = "0.1", features = ["async"] } embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } embedded-storage = { version = "0.3" } -static_cell = "2" +static_cell = "2.1" portable-atomic = { version = "1.5", features = ["critical-section"] } log = "0.4" pio-proc = "0.2" diff --git a/examples/rp23/.cargo/config.toml b/examples/rp23/.cargo/config.toml new file mode 100644 index 000000000..f77e004dc --- /dev/null +++ b/examples/rp23/.cargo/config.toml @@ -0,0 +1,9 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +#runner = "probe-rs run --chip RP2040" +runner = "elf2uf2-rs -d" + +[build] +target = "thumbv8m.main-none-eabihf" + +[env] +DEFMT_LOG = "debug" diff --git a/examples/rp23/Cargo.toml b/examples/rp23/Cargo.toml new file mode 100644 index 000000000..89947ae46 --- /dev/null +++ b/examples/rp23/Cargo.toml @@ -0,0 +1,80 @@ +[package] +edition = "2021" +name = "embassy-rp2350-examples" +version = "0.1.0" +license = "MIT OR Apache-2.0" + + +[dependencies] +embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal", features = ["defmt"] } +embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } +embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-rp = { version = "0.2.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp235xa", "binary-info", "rt-235x", "boot2-none"] } +embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } +embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns"] } +embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } +embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } +embassy-usb-logger = { version = "0.2.0", path = "../../embassy-usb-logger" } +cyw43 = { version = "0.2.0", path = "../../cyw43", features = ["defmt", "firmware-logs", "bluetooth"] } +cyw43-pio = { version = "0.2.0", path = "../../cyw43-pio", features = ["defmt"] } + +defmt = "0.3" +defmt-rtt = "0.4" +fixed = "1.23.1" +fixed-macro = "1.2" + +# for web request example +reqwless = { version = "0.12.0", features = ["defmt",]} +serde = { version = "1.0.203", default-features = false, features = ["derive"] } +serde-json-core = "0.5.1" + +# for assign resources example +assign-resources = { git = "https://github.com/adamgreig/assign-resources", rev = "94ad10e2729afdf0fd5a77cd12e68409a982f58a" } + +#cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } +cortex-m = { version = "0.7.6", features = ["inline-asm"] } +cortex-m-rt = "0.7.0" +critical-section = "1.1" +panic-probe = { version = "0.3", features = ["print-defmt"] } +display-interface-spi = "0.4.1" +embedded-graphics = "0.7.1" +st7789 = "0.6.1" +display-interface = "0.4.1" +byte-slice-cast = { version = "1.2.0", default-features = false } +smart-leds = "0.3.0" +heapless = "0.8" +usbd-hid = "0.8.1" + +embedded-hal-1 = { package = "embedded-hal", version = "1.0" } +embedded-hal-async = "1.0" +embedded-hal-bus = { version = "0.1", features = ["async"] } +embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } +embedded-storage = { version = "0.3" } +static_cell = "2.1" +portable-atomic = { version = "1.5", features = ["critical-section"] } +log = "0.4" +pio-proc = "0.2" +pio = "0.2.1" +rand = { version = "0.8.5", default-features = false } +embedded-sdmmc = "0.7.0" + +bt-hci = { version = "0.1.0", default-features = false, features = ["defmt"] } +trouble-host = { version = "0.1.0", features = ["defmt", "gatt"] } + +[profile.release] +debug = 2 + +[profile.dev] +lto = true +opt-level = "z" + +[patch.crates-io] +trouble-host = { git = "https://github.com/embassy-rs/trouble.git", rev = "4b8c0f499b34e46ca23a56e2d1640ede371722cf" } +bt-hci = { git = "https://github.com/alexmoon/bt-hci.git", rev = "b9cd5954f6bd89b535cad9c418e9fdf12812d7c3" } +embassy-executor = { path = "../../embassy-executor" } +embassy-sync = { path = "../../embassy-sync" } +embassy-futures = { path = "../../embassy-futures" } +embassy-time = { path = "../../embassy-time" } +embassy-time-driver = { path = "../../embassy-time-driver" } +embassy-embedded-hal = { path = "../../embassy-embedded-hal" } diff --git a/examples/rp23/assets/ferris.raw b/examples/rp23/assets/ferris.raw new file mode 100644 index 000000000..9733889c5 Binary files /dev/null and b/examples/rp23/assets/ferris.raw differ diff --git a/examples/rp23/build.rs b/examples/rp23/build.rs new file mode 100644 index 000000000..30691aa97 --- /dev/null +++ b/examples/rp23/build.rs @@ -0,0 +1,35 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory -- wherever `Cargo.toml` is. However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! updating `memory.x` ensures a rebuild of the application with the +//! new memory settings. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); + + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/examples/rp23/memory.x b/examples/rp23/memory.x new file mode 100644 index 000000000..777492062 --- /dev/null +++ b/examples/rp23/memory.x @@ -0,0 +1,74 @@ +MEMORY { + /* + * The RP2350 has either external or internal flash. + * + * 2 MiB is a safe default here, although a Pico 2 has 4 MiB. + */ + FLASH : ORIGIN = 0x10000000, LENGTH = 2048K + /* + * RAM consists of 8 banks, SRAM0-SRAM7, with a striped mapping. + * This is usually good for performance, as it distributes load on + * those banks evenly. + */ + RAM : ORIGIN = 0x20000000, LENGTH = 512K + /* + * RAM banks 8 and 9 use a direct mapping. They can be used to have + * memory areas dedicated for some specific job, improving predictability + * of access times. + * Example: Separate stacks for core0 and core1. + */ + SRAM4 : ORIGIN = 0x20080000, LENGTH = 4K + SRAM5 : ORIGIN = 0x20081000, LENGTH = 4K +} + +SECTIONS { + /* ### Boot ROM info + * + * Goes after .vector_table, to keep it in the first 4K of flash + * where the Boot ROM (and picotool) can find it + */ + .start_block : ALIGN(4) + { + __start_block_addr = .; + KEEP(*(.start_block)); + } > FLASH + +} INSERT AFTER .vector_table; + +/* move .text to start /after/ the boot info */ +_stext = ADDR(.start_block) + SIZEOF(.start_block); + +SECTIONS { + /* ### Picotool 'Binary Info' Entries + * + * Picotool looks through this block (as we have pointers to it in our + * header) to find interesting information. + */ + .bi_entries : ALIGN(4) + { + /* We put this in the header */ + __bi_entries_start = .; + /* Here are the entries */ + KEEP(*(.bi_entries)); + /* Keep this block a nice round size */ + . = ALIGN(4); + /* We put this in the header */ + __bi_entries_end = .; + } > FLASH +} INSERT AFTER .text; + +SECTIONS { + /* ### Boot ROM extra info + * + * Goes after everything in our program, so it can contain a signature. + */ + .end_block : ALIGN(4) + { + __end_block_addr = .; + KEEP(*(.end_block)); + } > FLASH + +} INSERT AFTER .uninit; + +PROVIDE(start_to_end = __end_block_addr - __start_block_addr); +PROVIDE(end_to_start = __start_block_addr - __end_block_addr); diff --git a/examples/rp23/src/bin/adc.rs b/examples/rp23/src/bin/adc.rs new file mode 100644 index 000000000..a1a94ca47 --- /dev/null +++ b/examples/rp23/src/bin/adc.rs @@ -0,0 +1,64 @@ +//! This example test the ADC (Analog to Digital Conversion) of the RS2040 pin 26, 27 and 28. +//! It also reads the temperature sensor in the chip. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler}; +use embassy_rp::bind_interrupts; +use embassy_rp::gpio::Pull; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + ADC_IRQ_FIFO => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let mut adc = Adc::new(p.ADC, Irqs, Config::default()); + + let mut p26 = Channel::new_pin(p.PIN_26, Pull::None); + let mut p27 = Channel::new_pin(p.PIN_27, Pull::None); + let mut p28 = Channel::new_pin(p.PIN_28, Pull::None); + let mut ts = Channel::new_temp_sensor(p.ADC_TEMP_SENSOR); + + loop { + let level = adc.read(&mut p26).await.unwrap(); + info!("Pin 26 ADC: {}", level); + let level = adc.read(&mut p27).await.unwrap(); + info!("Pin 27 ADC: {}", level); + let level = adc.read(&mut p28).await.unwrap(); + info!("Pin 28 ADC: {}", level); + let temp = adc.read(&mut ts).await.unwrap(); + info!("Temp: {} degrees", convert_to_celsius(temp)); + Timer::after_secs(1).await; + } +} + +fn convert_to_celsius(raw_temp: u16) -> f32 { + // According to chapter 4.9.5. Temperature Sensor in RP2040 datasheet + let temp = 27.0 - (raw_temp as f32 * 3.3 / 4096.0 - 0.706) / 0.001721; + let sign = if temp < 0.0 { -1.0 } else { 1.0 }; + let rounded_temp_x10: i16 = ((temp * 10.0) + 0.5 * sign) as i16; + (rounded_temp_x10 as f32) / 10.0 +} diff --git a/examples/rp23/src/bin/adc_dma.rs b/examples/rp23/src/bin/adc_dma.rs new file mode 100644 index 000000000..887c8500a --- /dev/null +++ b/examples/rp23/src/bin/adc_dma.rs @@ -0,0 +1,70 @@ +//! This example shows how to use the RP2040 ADC with DMA, both single- and multichannel reads. +//! For multichannel, the samples are interleaved in the buffer: +//! `[ch1, ch2, ch3, ch4, ch1, ch2, ch3, ch4, ...]` +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler}; +use embassy_rp::bind_interrupts; +use embassy_rp::gpio::Pull; +use embassy_time::{Duration, Ticker}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + ADC_IRQ_FIFO => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Here we go!"); + + let mut adc = Adc::new(p.ADC, Irqs, Config::default()); + let mut dma = p.DMA_CH0; + let mut pin = Channel::new_pin(p.PIN_26, Pull::Up); + let mut pins = [ + Channel::new_pin(p.PIN_27, Pull::Down), + Channel::new_pin(p.PIN_28, Pull::None), + Channel::new_pin(p.PIN_29, Pull::Up), + Channel::new_temp_sensor(p.ADC_TEMP_SENSOR), + ]; + + const BLOCK_SIZE: usize = 100; + const NUM_CHANNELS: usize = 4; + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + // Read 100 samples from a single channel + let mut buf = [0_u16; BLOCK_SIZE]; + let div = 479; // 100kHz sample rate (48Mhz / 100kHz - 1) + adc.read_many(&mut pin, &mut buf, div, &mut dma).await.unwrap(); + info!("single: {:?} ...etc", buf[..8]); + + // Read 100 samples from 4 channels interleaved + let mut buf = [0_u16; { BLOCK_SIZE * NUM_CHANNELS }]; + let div = 119; // 100kHz sample rate (48Mhz / 100kHz * 4ch - 1) + adc.read_many_multichannel(&mut pins, &mut buf, div, &mut dma) + .await + .unwrap(); + info!("multi: {:?} ...etc", buf[..NUM_CHANNELS * 2]); + + ticker.next().await; + } +} diff --git a/examples/rp23/src/bin/assign_resources.rs b/examples/rp23/src/bin/assign_resources.rs new file mode 100644 index 000000000..8aea2f35d --- /dev/null +++ b/examples/rp23/src/bin/assign_resources.rs @@ -0,0 +1,95 @@ +//! This example demonstrates how to assign resources to multiple tasks by splitting up the peripherals. +//! It is not about sharing the same resources between tasks, see sharing.rs for that or head to https://embassy.dev/book/#_sharing_peripherals_between_tasks) +//! Of course splitting up resources and sharing resources can be combined, yet this example is only about splitting up resources. +//! +//! There are basically two ways we demonstrate here: +//! 1) Assigning resources to a task by passing parts of the peripherals +//! 2) Assigning resources to a task by passing a struct with the split up peripherals, using the assign-resources macro +//! +//! using four LEDs on Pins 10, 11, 20 and 21 + +#![no_std] +#![no_main] + +use assign_resources::assign_resources; +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::gpio::{Level, Output}; +use embassy_rp::peripherals::{self, PIN_20, PIN_21}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + // initialize the peripherals + let p = embassy_rp::init(Default::default()); + + // 1) Assigning a resource to a task by passing parts of the peripherals. + spawner + .spawn(double_blinky_manually_assigned(spawner, p.PIN_20, p.PIN_21)) + .unwrap(); + + // 2) Using the assign-resources macro to assign resources to a task. + // we perform the split, see further below for the definition of the resources struct + let r = split_resources!(p); + // and then we can use them + spawner.spawn(double_blinky_macro_assigned(spawner, r.leds)).unwrap(); +} + +// 1) Assigning a resource to a task by passing parts of the peripherals. +#[embassy_executor::task] +async fn double_blinky_manually_assigned(_spawner: Spawner, pin_20: PIN_20, pin_21: PIN_21) { + let mut led_20 = Output::new(pin_20, Level::Low); + let mut led_21 = Output::new(pin_21, Level::High); + + loop { + info!("toggling leds"); + led_20.toggle(); + led_21.toggle(); + Timer::after_secs(1).await; + } +} + +// 2) Using the assign-resources macro to assign resources to a task. +// first we define the resources we want to assign to the task using the assign_resources! macro +// basically this will split up the peripherals struct into smaller structs, that we define here +// naming is up to you, make sure your future self understands what you did here +assign_resources! { + leds: Leds{ + led_10: PIN_10, + led_11: PIN_11, + } + // add more resources to more structs if needed, for example defining one struct for each task +} +// this could be done in another file and imported here, but for the sake of simplicity we do it here +// see https://github.com/adamgreig/assign-resources for more information + +// 2) Using the split resources in a task +#[embassy_executor::task] +async fn double_blinky_macro_assigned(_spawner: Spawner, r: Leds) { + let mut led_10 = Output::new(r.led_10, Level::Low); + let mut led_11 = Output::new(r.led_11, Level::High); + + loop { + info!("toggling leds"); + led_10.toggle(); + led_11.toggle(); + Timer::after_secs(1).await; + } +} diff --git a/examples/rp23/src/bin/blinky.rs b/examples/rp23/src/bin/blinky.rs new file mode 100644 index 000000000..1e3a52085 --- /dev/null +++ b/examples/rp23/src/bin/blinky.rs @@ -0,0 +1,44 @@ +//! This example test the RP Pico on board LED. +//! +//! It does not work with the RP Pico W board. See wifi_blinky.rs. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::gpio; +use embassy_time::Timer; +use gpio::{Level, Output}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let mut led = Output::new(p.PIN_2, Level::Low); + + loop { + info!("led on!"); + led.set_high(); + Timer::after_millis(250).await; + + info!("led off!"); + led.set_low(); + Timer::after_millis(250).await; + } +} diff --git a/examples/rp23/src/bin/blinky_two_channels.rs b/examples/rp23/src/bin/blinky_two_channels.rs new file mode 100644 index 000000000..aae0283cf --- /dev/null +++ b/examples/rp23/src/bin/blinky_two_channels.rs @@ -0,0 +1,66 @@ +#![no_std] +#![no_main] +/// This example demonstrates how to access a given pin from more than one embassy task +/// The on-board LED is toggled by two tasks with slightly different periods, leading to the +/// apparent duty cycle of the LED increasing, then decreasing, linearly. The phenomenon is similar +/// to interference and the 'beats' you can hear if you play two frequencies close to one another +/// [Link explaining it](https://www.physicsclassroom.com/class/sound/Lesson-3/Interference-and-Beats) +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::gpio; +use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; +use embassy_sync::channel::{Channel, Sender}; +use embassy_time::{Duration, Ticker}; +use gpio::{AnyPin, Level, Output}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +enum LedState { + Toggle, +} +static CHANNEL: Channel = Channel::new(); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let mut led = Output::new(AnyPin::from(p.PIN_25), Level::High); + + let dt = 100 * 1_000_000; + let k = 1.003; + + unwrap!(spawner.spawn(toggle_led(CHANNEL.sender(), Duration::from_nanos(dt)))); + unwrap!(spawner.spawn(toggle_led( + CHANNEL.sender(), + Duration::from_nanos((dt as f64 * k) as u64) + ))); + + loop { + match CHANNEL.receive().await { + LedState::Toggle => led.toggle(), + } + } +} + +#[embassy_executor::task(pool_size = 2)] +async fn toggle_led(control: Sender<'static, ThreadModeRawMutex, LedState, 64>, delay: Duration) { + let mut ticker = Ticker::every(delay); + loop { + control.send(LedState::Toggle).await; + ticker.next().await; + } +} diff --git a/examples/rp23/src/bin/blinky_two_tasks.rs b/examples/rp23/src/bin/blinky_two_tasks.rs new file mode 100644 index 000000000..aeabb238f --- /dev/null +++ b/examples/rp23/src/bin/blinky_two_tasks.rs @@ -0,0 +1,65 @@ +#![no_std] +#![no_main] +/// This example demonstrates how to access a given pin from more than one embassy task +/// The on-board LED is toggled by two tasks with slightly different periods, leading to the +/// apparent duty cycle of the LED increasing, then decreasing, linearly. The phenomenon is similar +/// to interference and the 'beats' you can hear if you play two frequencies close to one another +/// [Link explaining it](https://www.physicsclassroom.com/class/sound/Lesson-3/Interference-and-Beats) +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::gpio; +use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; +use embassy_sync::mutex::Mutex; +use embassy_time::{Duration, Ticker}; +use gpio::{AnyPin, Level, Output}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +type LedType = Mutex>>; +static LED: LedType = Mutex::new(None); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + // set the content of the global LED reference to the real LED pin + let led = Output::new(AnyPin::from(p.PIN_25), Level::High); + // inner scope is so that once the mutex is written to, the MutexGuard is dropped, thus the + // Mutex is released + { + *(LED.lock().await) = Some(led); + } + let dt = 100 * 1_000_000; + let k = 1.003; + + unwrap!(spawner.spawn(toggle_led(&LED, Duration::from_nanos(dt)))); + unwrap!(spawner.spawn(toggle_led(&LED, Duration::from_nanos((dt as f64 * k) as u64)))); +} + +#[embassy_executor::task(pool_size = 2)] +async fn toggle_led(led: &'static LedType, delay: Duration) { + let mut ticker = Ticker::every(delay); + loop { + { + let mut led_unlocked = led.lock().await; + if let Some(pin_ref) = led_unlocked.as_mut() { + pin_ref.toggle(); + } + } + ticker.next().await; + } +} diff --git a/examples/rp23/src/bin/button.rs b/examples/rp23/src/bin/button.rs new file mode 100644 index 000000000..2a78a19db --- /dev/null +++ b/examples/rp23/src/bin/button.rs @@ -0,0 +1,44 @@ +//! This example uses the RP Pico on board LED to test input pin 28. This is not the button on the board. +//! +//! It does not work with the RP Pico W board. Use wifi_blinky.rs and add input pin. + +#![no_std] +#![no_main] + +use embassy_executor::Spawner; +use embassy_rp::gpio::{Input, Level, Output, Pull}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let mut led = Output::new(p.PIN_25, Level::Low); + + // Use PIN_28, Pin34 on J0 for RP Pico, as a input. + // You need to add your own button. + let button = Input::new(p.PIN_28, Pull::Up); + + loop { + if button.is_high() { + led.set_high(); + } else { + led.set_low(); + } + } +} diff --git a/examples/rp23/src/bin/debounce.rs b/examples/rp23/src/bin/debounce.rs new file mode 100644 index 000000000..0e3b5cb54 --- /dev/null +++ b/examples/rp23/src/bin/debounce.rs @@ -0,0 +1,96 @@ +//! This example shows the ease of debouncing a button with async rust. +//! Hook up a button or switch between pin 9 and ground. + +#![no_std] +#![no_main] + +use defmt::info; +use embassy_executor::Spawner; +use embassy_rp::gpio::{Input, Level, Pull}; +use embassy_time::{with_deadline, Duration, Instant, Timer}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +pub struct Debouncer<'a> { + input: Input<'a>, + debounce: Duration, +} + +impl<'a> Debouncer<'a> { + pub fn new(input: Input<'a>, debounce: Duration) -> Self { + Self { input, debounce } + } + + pub async fn debounce(&mut self) -> Level { + loop { + let l1 = self.input.get_level(); + + self.input.wait_for_any_edge().await; + + Timer::after(self.debounce).await; + + let l2 = self.input.get_level(); + if l1 != l2 { + break l2; + } + } + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let mut btn = Debouncer::new(Input::new(p.PIN_9, Pull::Up), Duration::from_millis(20)); + + info!("Debounce Demo"); + + loop { + // button pressed + btn.debounce().await; + let start = Instant::now(); + info!("Button Press"); + + match with_deadline(start + Duration::from_secs(1), btn.debounce()).await { + // Button Released < 1s + Ok(_) => { + info!("Button pressed for: {}ms", start.elapsed().as_millis()); + continue; + } + // button held for > 1s + Err(_) => { + info!("Button Held"); + } + } + + match with_deadline(start + Duration::from_secs(5), btn.debounce()).await { + // Button released <5s + Ok(_) => { + info!("Button pressed for: {}ms", start.elapsed().as_millis()); + continue; + } + // button held for > >5s + Err(_) => { + info!("Button Long Held"); + } + } + + // wait for button release before handling another press + btn.debounce().await; + info!("Button pressed for: {}ms", start.elapsed().as_millis()); + } +} diff --git a/examples/rp23/src/bin/flash.rs b/examples/rp23/src/bin/flash.rs new file mode 100644 index 000000000..42620ca93 --- /dev/null +++ b/examples/rp23/src/bin/flash.rs @@ -0,0 +1,150 @@ +//! This example test the flash connected to the RP2040 chip. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::flash::{Async, ERASE_SIZE, FLASH_BASE}; +use embassy_rp::peripherals::FLASH; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +const ADDR_OFFSET: u32 = 0x100000; +const FLASH_SIZE: usize = 2 * 1024 * 1024; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Hello World!"); + + // add some delay to give an attached debug probe time to parse the + // defmt RTT header. Reading that header might touch flash memory, which + // interferes with flash write operations. + // https://github.com/knurling-rs/defmt/pull/683 + Timer::after_millis(10).await; + + let mut flash = embassy_rp::flash::Flash::<_, Async, FLASH_SIZE>::new(p.FLASH, p.DMA_CH0); + + // Get JEDEC id + let jedec = flash.blocking_jedec_id().unwrap(); + info!("jedec id: 0x{:x}", jedec); + + // Get unique id + let mut uid = [0; 8]; + flash.blocking_unique_id(&mut uid).unwrap(); + info!("unique id: {:?}", uid); + + erase_write_sector(&mut flash, 0x00); + + multiwrite_bytes(&mut flash, ERASE_SIZE as u32); + + background_read(&mut flash, (ERASE_SIZE * 2) as u32).await; + + loop {} +} + +fn multiwrite_bytes(flash: &mut embassy_rp::flash::Flash<'_, FLASH, Async, FLASH_SIZE>, offset: u32) { + info!(">>>> [multiwrite_bytes]"); + let mut read_buf = [0u8; ERASE_SIZE]; + defmt::unwrap!(flash.blocking_read(ADDR_OFFSET + offset, &mut read_buf)); + + info!("Addr of flash block is {:x}", ADDR_OFFSET + offset + FLASH_BASE as u32); + info!("Contents start with {=[u8]}", read_buf[0..4]); + + defmt::unwrap!(flash.blocking_erase(ADDR_OFFSET + offset, ADDR_OFFSET + offset + ERASE_SIZE as u32)); + + defmt::unwrap!(flash.blocking_read(ADDR_OFFSET + offset, &mut read_buf)); + info!("Contents after erase starts with {=[u8]}", read_buf[0..4]); + if read_buf.iter().any(|x| *x != 0xFF) { + defmt::panic!("unexpected"); + } + + defmt::unwrap!(flash.blocking_write(ADDR_OFFSET + offset, &[0x01])); + defmt::unwrap!(flash.blocking_write(ADDR_OFFSET + offset + 1, &[0x02])); + defmt::unwrap!(flash.blocking_write(ADDR_OFFSET + offset + 2, &[0x03])); + defmt::unwrap!(flash.blocking_write(ADDR_OFFSET + offset + 3, &[0x04])); + + defmt::unwrap!(flash.blocking_read(ADDR_OFFSET + offset, &mut read_buf)); + info!("Contents after write starts with {=[u8]}", read_buf[0..4]); + if &read_buf[0..4] != &[0x01, 0x02, 0x03, 0x04] { + defmt::panic!("unexpected"); + } +} + +fn erase_write_sector(flash: &mut embassy_rp::flash::Flash<'_, FLASH, Async, FLASH_SIZE>, offset: u32) { + info!(">>>> [erase_write_sector]"); + let mut buf = [0u8; ERASE_SIZE]; + defmt::unwrap!(flash.blocking_read(ADDR_OFFSET + offset, &mut buf)); + + info!("Addr of flash block is {:x}", ADDR_OFFSET + offset + FLASH_BASE as u32); + info!("Contents start with {=[u8]}", buf[0..4]); + + defmt::unwrap!(flash.blocking_erase(ADDR_OFFSET + offset, ADDR_OFFSET + offset + ERASE_SIZE as u32)); + + defmt::unwrap!(flash.blocking_read(ADDR_OFFSET + offset, &mut buf)); + info!("Contents after erase starts with {=[u8]}", buf[0..4]); + if buf.iter().any(|x| *x != 0xFF) { + defmt::panic!("unexpected"); + } + + for b in buf.iter_mut() { + *b = 0xDA; + } + + defmt::unwrap!(flash.blocking_write(ADDR_OFFSET + offset, &buf)); + + defmt::unwrap!(flash.blocking_read(ADDR_OFFSET + offset, &mut buf)); + info!("Contents after write starts with {=[u8]}", buf[0..4]); + if buf.iter().any(|x| *x != 0xDA) { + defmt::panic!("unexpected"); + } +} + +async fn background_read(flash: &mut embassy_rp::flash::Flash<'_, FLASH, Async, FLASH_SIZE>, offset: u32) { + info!(">>>> [background_read]"); + + let mut buf = [0u32; 8]; + defmt::unwrap!(flash.background_read(ADDR_OFFSET + offset, &mut buf)).await; + + info!("Addr of flash block is {:x}", ADDR_OFFSET + offset + FLASH_BASE as u32); + info!("Contents start with {=u32:x}", buf[0]); + + defmt::unwrap!(flash.blocking_erase(ADDR_OFFSET + offset, ADDR_OFFSET + offset + ERASE_SIZE as u32)); + + defmt::unwrap!(flash.background_read(ADDR_OFFSET + offset, &mut buf)).await; + info!("Contents after erase starts with {=u32:x}", buf[0]); + if buf.iter().any(|x| *x != 0xFFFFFFFF) { + defmt::panic!("unexpected"); + } + + for b in buf.iter_mut() { + *b = 0xDABA1234; + } + + defmt::unwrap!(flash.blocking_write(ADDR_OFFSET + offset, unsafe { + core::slice::from_raw_parts(buf.as_ptr() as *const u8, buf.len() * 4) + })); + + defmt::unwrap!(flash.background_read(ADDR_OFFSET + offset, &mut buf)).await; + info!("Contents after write starts with {=u32:x}", buf[0]); + if buf.iter().any(|x| *x != 0xDABA1234) { + defmt::panic!("unexpected"); + } +} diff --git a/examples/rp23/src/bin/gpio_async.rs b/examples/rp23/src/bin/gpio_async.rs new file mode 100644 index 000000000..360932d62 --- /dev/null +++ b/examples/rp23/src/bin/gpio_async.rs @@ -0,0 +1,56 @@ +//! This example shows how async gpio can be used with a RP2040. +//! +//! The LED on the RP Pico W board is connected differently. See wifi_blinky.rs. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::gpio; +use embassy_time::Timer; +use gpio::{Input, Level, Output, Pull}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +/// It requires an external signal to be manually triggered on PIN 16. For +/// example, this could be accomplished using an external power source with a +/// button so that it is possible to toggle the signal from low to high. +/// +/// This example will begin with turning on the LED on the board and wait for a +/// high signal on PIN 16. Once the high event/signal occurs the program will +/// continue and turn off the LED, and then wait for 2 seconds before completing +/// the loop and starting over again. +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let mut led = Output::new(p.PIN_25, Level::Low); + let mut async_input = Input::new(p.PIN_16, Pull::None); + + loop { + info!("wait_for_high. Turn on LED"); + led.set_high(); + + async_input.wait_for_high().await; + + info!("done wait_for_high. Turn off LED"); + led.set_low(); + + Timer::after_secs(2).await; + } +} diff --git a/examples/rp23/src/bin/gpout.rs b/examples/rp23/src/bin/gpout.rs new file mode 100644 index 000000000..8d1e4d05f --- /dev/null +++ b/examples/rp23/src/bin/gpout.rs @@ -0,0 +1,53 @@ +//! This example shows how GPOUT (General purpose clock outputs) can toggle a output pin. +//! +//! The LED on the RP Pico W board is connected differently. Add a LED and resistor to another pin. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::clocks; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + let gpout3 = clocks::Gpout::new(p.PIN_25); + gpout3.set_div(1000, 0); + gpout3.enable(); + + loop { + gpout3.set_src(clocks::GpoutSrc::Sys); + info!( + "Pin 25 is now outputing CLK_SYS/1000, should be toggling at {}", + gpout3.get_freq() + ); + Timer::after_secs(2).await; + + gpout3.set_src(clocks::GpoutSrc::Ref); + info!( + "Pin 25 is now outputing CLK_REF/1000, should be toggling at {}", + gpout3.get_freq() + ); + Timer::after_secs(2).await; + } +} diff --git a/examples/rp23/src/bin/i2c_async.rs b/examples/rp23/src/bin/i2c_async.rs new file mode 100644 index 000000000..64f103849 --- /dev/null +++ b/examples/rp23/src/bin/i2c_async.rs @@ -0,0 +1,126 @@ +//! This example shows how to communicate asynchronous using i2c with external chips. +//! +//! Example written for the [`MCP23017 16-Bit I2C I/O Expander with Serial Interface`] chip. +//! (https://www.microchip.com/en-us/product/mcp23017) + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::i2c::{self, Config, InterruptHandler}; +use embassy_rp::peripherals::I2C1; +use embassy_time::Timer; +use embedded_hal_async::i2c::I2c; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + I2C1_IRQ => InterruptHandler; +}); + +#[allow(dead_code)] +mod mcp23017 { + pub const ADDR: u8 = 0x20; // default addr + + macro_rules! mcpregs { + ($($name:ident : $val:expr),* $(,)?) => { + $( + pub const $name: u8 = $val; + )* + + pub fn regname(reg: u8) -> &'static str { + match reg { + $( + $val => stringify!($name), + )* + _ => panic!("bad reg"), + } + } + } + } + + // These are correct for IOCON.BANK=0 + mcpregs! { + IODIRA: 0x00, + IPOLA: 0x02, + GPINTENA: 0x04, + DEFVALA: 0x06, + INTCONA: 0x08, + IOCONA: 0x0A, + GPPUA: 0x0C, + INTFA: 0x0E, + INTCAPA: 0x10, + GPIOA: 0x12, + OLATA: 0x14, + IODIRB: 0x01, + IPOLB: 0x03, + GPINTENB: 0x05, + DEFVALB: 0x07, + INTCONB: 0x09, + IOCONB: 0x0B, + GPPUB: 0x0D, + INTFB: 0x0F, + INTCAPB: 0x11, + GPIOB: 0x13, + OLATB: 0x15, + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + let sda = p.PIN_14; + let scl = p.PIN_15; + + info!("set up i2c "); + let mut i2c = i2c::I2c::new_async(p.I2C1, scl, sda, Irqs, Config::default()); + + use mcp23017::*; + + info!("init mcp23017 config for IxpandO"); + // init - a outputs, b inputs + i2c.write(ADDR, &[IODIRA, 0x00]).await.unwrap(); + i2c.write(ADDR, &[IODIRB, 0xff]).await.unwrap(); + i2c.write(ADDR, &[GPPUB, 0xff]).await.unwrap(); // pullups + + let mut val = 1; + loop { + let mut portb = [0]; + + i2c.write_read(mcp23017::ADDR, &[GPIOB], &mut portb).await.unwrap(); + info!("portb = {:02x}", portb[0]); + i2c.write(mcp23017::ADDR, &[GPIOA, val | portb[0]]).await.unwrap(); + val = val.rotate_left(1); + + // get a register dump + info!("getting register dump"); + let mut regs = [0; 22]; + i2c.write_read(ADDR, &[0], &mut regs).await.unwrap(); + // always get the regdump but only display it if portb'0 is set + if portb[0] & 1 != 0 { + for (idx, reg) in regs.into_iter().enumerate() { + info!("{} => {:02x}", regname(idx as u8), reg); + } + } + + Timer::after_millis(100).await; + } +} diff --git a/examples/rp23/src/bin/i2c_async_embassy.rs b/examples/rp23/src/bin/i2c_async_embassy.rs new file mode 100644 index 000000000..4b14ec6f6 --- /dev/null +++ b/examples/rp23/src/bin/i2c_async_embassy.rs @@ -0,0 +1,101 @@ +//! This example shows how to communicate asynchronous using i2c with external chip. +//! +//! It's using embassy's functions directly instead of traits from embedded_hal_async::i2c::I2c. +//! While most of i2c devices are addressed using 7 bits, an extension allows 10 bits too. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_rp::i2c::InterruptHandler; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +// Our anonymous hypotetical temperature sensor could be: +// a 12-bit sensor, with 100ms startup time, range of -40*C - 125*C, and precision 0.25*C +// It requires no configuration or calibration, works with all i2c bus speeds, +// never stretches clock or does anything complicated. Replies with one u16. +// It requires only one write to take it out of suspend mode, and stays on. +// Often result would be just on 12 bits, but here we'll simplify it to 16. + +enum UncomplicatedSensorId { + A(UncomplicatedSensorU8), + B(UncomplicatedSensorU16), +} +enum UncomplicatedSensorU8 { + First = 0x48, +} +enum UncomplicatedSensorU16 { + Other = 0x0049, +} + +impl Into for UncomplicatedSensorU16 { + fn into(self) -> u16 { + self as u16 + } +} +impl Into for UncomplicatedSensorU8 { + fn into(self) -> u16 { + 0x48 + } +} +impl From for u16 { + fn from(t: UncomplicatedSensorId) -> Self { + match t { + UncomplicatedSensorId::A(x) => x.into(), + UncomplicatedSensorId::B(x) => x.into(), + } + } +} + +embassy_rp::bind_interrupts!(struct Irqs { + I2C1_IRQ => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_task_spawner: embassy_executor::Spawner) { + let p = embassy_rp::init(Default::default()); + let sda = p.PIN_14; + let scl = p.PIN_15; + let config = embassy_rp::i2c::Config::default(); + let mut bus = embassy_rp::i2c::I2c::new_async(p.I2C1, scl, sda, Irqs, config); + + const WAKEYWAKEY: u16 = 0xBABE; + let mut result: [u8; 2] = [0, 0]; + // wait for sensors to initialize + embassy_time::Timer::after(embassy_time::Duration::from_millis(100)).await; + + let _res_1 = bus + .write_async(UncomplicatedSensorU8::First, WAKEYWAKEY.to_be_bytes()) + .await; + let _res_2 = bus + .write_async(UncomplicatedSensorU16::Other, WAKEYWAKEY.to_be_bytes()) + .await; + + loop { + let s1 = UncomplicatedSensorId::A(UncomplicatedSensorU8::First); + let s2 = UncomplicatedSensorId::B(UncomplicatedSensorU16::Other); + let sensors = [s1, s2]; + for sensor in sensors { + if bus.read_async(sensor, &mut result).await.is_ok() { + info!("Result {}", u16::from_be_bytes(result.into())); + } + } + embassy_time::Timer::after(embassy_time::Duration::from_millis(200)).await; + } +} diff --git a/examples/rp23/src/bin/i2c_blocking.rs b/examples/rp23/src/bin/i2c_blocking.rs new file mode 100644 index 000000000..d2cccf09b --- /dev/null +++ b/examples/rp23/src/bin/i2c_blocking.rs @@ -0,0 +1,90 @@ +//! This example shows how to communicate using i2c with external chips. +//! +//! Example written for the [`MCP23017 16-Bit I2C I/O Expander with Serial Interface`] chip. +//! (https://www.microchip.com/en-us/product/mcp23017) + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::i2c::{self, Config}; +use embassy_time::Timer; +use embedded_hal_1::i2c::I2c; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[allow(dead_code)] +mod mcp23017 { + pub const ADDR: u8 = 0x20; // default addr + + pub const IODIRA: u8 = 0x00; + pub const IPOLA: u8 = 0x02; + pub const GPINTENA: u8 = 0x04; + pub const DEFVALA: u8 = 0x06; + pub const INTCONA: u8 = 0x08; + pub const IOCONA: u8 = 0x0A; + pub const GPPUA: u8 = 0x0C; + pub const INTFA: u8 = 0x0E; + pub const INTCAPA: u8 = 0x10; + pub const GPIOA: u8 = 0x12; + pub const OLATA: u8 = 0x14; + pub const IODIRB: u8 = 0x01; + pub const IPOLB: u8 = 0x03; + pub const GPINTENB: u8 = 0x05; + pub const DEFVALB: u8 = 0x07; + pub const INTCONB: u8 = 0x09; + pub const IOCONB: u8 = 0x0B; + pub const GPPUB: u8 = 0x0D; + pub const INTFB: u8 = 0x0F; + pub const INTCAPB: u8 = 0x11; + pub const GPIOB: u8 = 0x13; + pub const OLATB: u8 = 0x15; +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + let sda = p.PIN_14; + let scl = p.PIN_15; + + info!("set up i2c "); + let mut i2c = i2c::I2c::new_blocking(p.I2C1, scl, sda, Config::default()); + + use mcp23017::*; + + info!("init mcp23017 config for IxpandO"); + // init - a outputs, b inputs + i2c.write(ADDR, &[IODIRA, 0x00]).unwrap(); + i2c.write(ADDR, &[IODIRB, 0xff]).unwrap(); + i2c.write(ADDR, &[GPPUB, 0xff]).unwrap(); // pullups + + let mut val = 0xaa; + loop { + let mut portb = [0]; + + i2c.write(mcp23017::ADDR, &[GPIOA, val]).unwrap(); + i2c.write_read(mcp23017::ADDR, &[GPIOB], &mut portb).unwrap(); + + info!("portb = {:02x}", portb[0]); + val = !val; + + Timer::after_secs(1).await; + } +} diff --git a/examples/rp23/src/bin/i2c_slave.rs b/examples/rp23/src/bin/i2c_slave.rs new file mode 100644 index 000000000..4bf407bcc --- /dev/null +++ b/examples/rp23/src/bin/i2c_slave.rs @@ -0,0 +1,132 @@ +//! This example shows how to use the 2040 as an i2c slave. +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::peripherals::{I2C0, I2C1}; +use embassy_rp::{bind_interrupts, i2c, i2c_slave}; +use embassy_time::Timer; +use embedded_hal_async::i2c::I2c; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::{block::ImageDef}; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + +bind_interrupts!(struct Irqs { + I2C0_IRQ => i2c::InterruptHandler; + I2C1_IRQ => i2c::InterruptHandler; +}); + +const DEV_ADDR: u8 = 0x42; + +#[embassy_executor::task] +async fn device_task(mut dev: i2c_slave::I2cSlave<'static, I2C1>) -> ! { + info!("Device start"); + + let mut state = 0; + + loop { + let mut buf = [0u8; 128]; + match dev.listen(&mut buf).await { + Ok(i2c_slave::Command::GeneralCall(len)) => info!("Device received general call write: {}", buf[..len]), + Ok(i2c_slave::Command::Read) => loop { + match dev.respond_to_read(&[state]).await { + Ok(x) => match x { + i2c_slave::ReadStatus::Done => break, + i2c_slave::ReadStatus::NeedMoreBytes => (), + i2c_slave::ReadStatus::LeftoverBytes(x) => { + info!("tried to write {} extra bytes", x); + break; + } + }, + Err(e) => error!("error while responding {}", e), + } + }, + Ok(i2c_slave::Command::Write(len)) => info!("Device received write: {}", buf[..len]), + Ok(i2c_slave::Command::WriteRead(len)) => { + info!("device received write read: {:x}", buf[..len]); + match buf[0] { + // Set the state + 0xC2 => { + state = buf[1]; + match dev.respond_and_fill(&[state], 0x00).await { + Ok(read_status) => info!("response read status {}", read_status), + Err(e) => error!("error while responding {}", e), + } + } + // Reset State + 0xC8 => { + state = 0; + match dev.respond_and_fill(&[state], 0x00).await { + Ok(read_status) => info!("response read status {}", read_status), + Err(e) => error!("error while responding {}", e), + } + } + x => error!("Invalid Write Read {:x}", x), + } + } + Err(e) => error!("{}", e), + } + } +} + +#[embassy_executor::task] +async fn controller_task(mut con: i2c::I2c<'static, I2C0, i2c::Async>) { + info!("Controller start"); + + loop { + let mut resp_buff = [0u8; 2]; + for i in 0..10 { + match con.write_read(DEV_ADDR, &[0xC2, i], &mut resp_buff).await { + Ok(_) => info!("write_read response: {}", resp_buff), + Err(e) => error!("Error writing {}", e), + } + + Timer::after_millis(100).await; + } + match con.read(DEV_ADDR, &mut resp_buff).await { + Ok(_) => info!("read response: {}", resp_buff), + Err(e) => error!("Error writing {}", e), + } + match con.write_read(DEV_ADDR, &[0xC8], &mut resp_buff).await { + Ok(_) => info!("write_read response: {}", resp_buff), + Err(e) => error!("Error writing {}", e), + } + Timer::after_millis(100).await; + } +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Hello World!"); + + let d_sda = p.PIN_3; + let d_scl = p.PIN_2; + let mut config = i2c_slave::Config::default(); + config.addr = DEV_ADDR as u16; + let device = i2c_slave::I2cSlave::new(p.I2C1, d_sda, d_scl, Irqs, config); + + unwrap!(spawner.spawn(device_task(device))); + + let c_sda = p.PIN_1; + let c_scl = p.PIN_0; + let mut config = i2c::Config::default(); + config.frequency = 1_000_000; + let controller = i2c::I2c::new_async(p.I2C0, c_sda, c_scl, Irqs, config); + + unwrap!(spawner.spawn(controller_task(controller))); +} diff --git a/examples/rp23/src/bin/interrupt.rs b/examples/rp23/src/bin/interrupt.rs new file mode 100644 index 000000000..f46117f95 --- /dev/null +++ b/examples/rp23/src/bin/interrupt.rs @@ -0,0 +1,110 @@ +//! This example shows how you can use raw interrupt handlers alongside embassy. +//! The example also showcases some of the options available for sharing resources/data. +//! +//! In the example, an ADC reading is triggered every time the PWM wraps around. +//! The sample data is sent down a channel, to be processed inside a low priority task. +//! The processed data is then used to adjust the PWM duty cycle, once every second. + +#![no_std] +#![no_main] + +use core::cell::{Cell, RefCell}; + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::adc::{self, Adc, Blocking}; +use embassy_rp::gpio::Pull; +use embassy_rp::interrupt; +use embassy_rp::pwm::{Config, Pwm}; +use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; +use embassy_sync::blocking_mutex::Mutex; +use embassy_sync::channel::Channel; +use embassy_time::{Duration, Ticker}; +use portable_atomic::{AtomicU32, Ordering}; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +static COUNTER: AtomicU32 = AtomicU32::new(0); +static PWM: Mutex>> = Mutex::new(RefCell::new(None)); +static ADC: Mutex, adc::Channel)>>> = + Mutex::new(RefCell::new(None)); +static ADC_VALUES: Channel = Channel::new(); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + embassy_rp::pac::SIO.spinlock(31).write_value(1); + let p = embassy_rp::init(Default::default()); + + let adc = Adc::new_blocking(p.ADC, Default::default()); + let p26 = adc::Channel::new_pin(p.PIN_26, Pull::None); + ADC.lock(|a| a.borrow_mut().replace((adc, p26))); + + let pwm = Pwm::new_output_b(p.PWM_SLICE4, p.PIN_25, Default::default()); + PWM.lock(|p| p.borrow_mut().replace(pwm)); + + // Enable the interrupt for pwm slice 4 + embassy_rp::pac::PWM.irq0_inte().modify(|w| w.set_ch4(true)); + unsafe { + cortex_m::peripheral::NVIC::unmask(interrupt::PWM_IRQ_WRAP_0); + } + + // Tasks require their resources to have 'static lifetime + // No Mutex needed when sharing within the same executor/prio level + static AVG: StaticCell> = StaticCell::new(); + let avg = AVG.init(Default::default()); + spawner.must_spawn(processing(avg)); + + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + ticker.next().await; + let freq = COUNTER.swap(0, Ordering::Relaxed); + info!("pwm freq: {:?} Hz", freq); + info!("adc average: {:?}", avg.get()); + + // Update the pwm duty cycle, based on the averaged adc reading + let mut config = Config::default(); + config.compare_b = ((avg.get() as f32 / 4095.0) * config.top as f32) as _; + PWM.lock(|p| p.borrow_mut().as_mut().unwrap().set_config(&config)); + } +} + +#[embassy_executor::task] +async fn processing(avg: &'static Cell) { + let mut buffer: heapless::HistoryBuffer = Default::default(); + loop { + let val = ADC_VALUES.receive().await; + buffer.write(val); + let sum: u32 = buffer.iter().map(|x| *x as u32).sum(); + avg.set(sum / buffer.len() as u32); + } +} + +#[interrupt] +fn PWM_IRQ_WRAP_0() { + critical_section::with(|cs| { + let mut adc = ADC.borrow(cs).borrow_mut(); + let (adc, p26) = adc.as_mut().unwrap(); + let val = adc.blocking_read(p26).unwrap(); + ADC_VALUES.try_send(val).ok(); + + // Clear the interrupt, so we don't immediately re-enter this irq handler + PWM.borrow(cs).borrow_mut().as_mut().unwrap().clear_wrapped(); + }); + COUNTER.fetch_add(1, Ordering::Relaxed); +} diff --git a/examples/rp23/src/bin/multicore.rs b/examples/rp23/src/bin/multicore.rs new file mode 100644 index 000000000..0b20ecaae --- /dev/null +++ b/examples/rp23/src/bin/multicore.rs @@ -0,0 +1,82 @@ +//! This example shows how to send messages between the two cores in the RP2040 chip. +//! +//! The LED on the RP Pico W board is connected differently. See wifi_blinky.rs. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Executor; +use embassy_rp::gpio::{Level, Output}; +use embassy_rp::multicore::{spawn_core1, Stack}; +use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; +use embassy_sync::channel::Channel; +use embassy_time::Timer; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +static mut CORE1_STACK: Stack<4096> = Stack::new(); +static EXECUTOR0: StaticCell = StaticCell::new(); +static EXECUTOR1: StaticCell = StaticCell::new(); +static CHANNEL: Channel = Channel::new(); + +enum LedState { + On, + Off, +} + +#[cortex_m_rt::entry] +fn main() -> ! { + let p = embassy_rp::init(Default::default()); + let led = Output::new(p.PIN_25, Level::Low); + + spawn_core1( + p.CORE1, + unsafe { &mut *core::ptr::addr_of_mut!(CORE1_STACK) }, + move || { + let executor1 = EXECUTOR1.init(Executor::new()); + executor1.run(|spawner| unwrap!(spawner.spawn(core1_task(led)))); + }, + ); + + let executor0 = EXECUTOR0.init(Executor::new()); + executor0.run(|spawner| unwrap!(spawner.spawn(core0_task()))); +} + +#[embassy_executor::task] +async fn core0_task() { + info!("Hello from core 0"); + loop { + CHANNEL.send(LedState::On).await; + Timer::after_millis(100).await; + CHANNEL.send(LedState::Off).await; + Timer::after_millis(400).await; + } +} + +#[embassy_executor::task] +async fn core1_task(mut led: Output<'static>) { + info!("Hello from core 1"); + loop { + match CHANNEL.receive().await { + LedState::On => led.set_high(), + LedState::Off => led.set_low(), + } + } +} diff --git a/examples/rp23/src/bin/multiprio.rs b/examples/rp23/src/bin/multiprio.rs new file mode 100644 index 000000000..52c801973 --- /dev/null +++ b/examples/rp23/src/bin/multiprio.rs @@ -0,0 +1,161 @@ +//! This example showcases how to create multiple Executor instances to run tasks at +//! different priority levels. +//! +//! Low priority executor runs in thread mode (not interrupt), and uses `sev` for signaling +//! there's work in the queue, and `wfe` for waiting for work. +//! +//! Medium and high priority executors run in two interrupts with different priorities. +//! Signaling work is done by pending the interrupt. No "waiting" needs to be done explicitly, since +//! when there's work the interrupt will trigger and run the executor. +//! +//! Sample output below. Note that high priority ticks can interrupt everything else, and +//! medium priority computations can interrupt low priority computations, making them to appear +//! to take significantly longer time. +//! +//! ```not_rust +//! [med] Starting long computation +//! [med] done in 992 ms +//! [high] tick! +//! [low] Starting long computation +//! [med] Starting long computation +//! [high] tick! +//! [high] tick! +//! [med] done in 993 ms +//! [med] Starting long computation +//! [high] tick! +//! [high] tick! +//! [med] done in 993 ms +//! [low] done in 3972 ms +//! [med] Starting long computation +//! [high] tick! +//! [high] tick! +//! [med] done in 993 ms +//! ``` +//! +//! For comparison, try changing the code so all 3 tasks get spawned on the low priority executor. +//! You will get an output like the following. Note that no computation is ever interrupted. +//! +//! ```not_rust +//! [high] tick! +//! [med] Starting long computation +//! [med] done in 496 ms +//! [low] Starting long computation +//! [low] done in 992 ms +//! [med] Starting long computation +//! [med] done in 496 ms +//! [high] tick! +//! [low] Starting long computation +//! [low] done in 992 ms +//! [high] tick! +//! [med] Starting long computation +//! [med] done in 496 ms +//! [high] tick! +//! ``` +//! + +#![no_std] +#![no_main] + +use cortex_m_rt::entry; +use defmt::{info, unwrap}; +use embassy_executor::{Executor, InterruptExecutor}; +use embassy_rp::interrupt; +use embassy_rp::interrupt::{InterruptExt, Priority}; +use embassy_time::{Instant, Timer, TICK_HZ}; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[embassy_executor::task] +async fn run_high() { + loop { + info!(" [high] tick!"); + Timer::after_ticks(673740).await; + } +} + +#[embassy_executor::task] +async fn run_med() { + loop { + let start = Instant::now(); + info!(" [med] Starting long computation"); + + // Spin-wait to simulate a long CPU computation + embassy_time::block_for(embassy_time::Duration::from_secs(1)); // ~1 second + + let end = Instant::now(); + let ms = end.duration_since(start).as_ticks() * 1000 / TICK_HZ; + info!(" [med] done in {} ms", ms); + + Timer::after_ticks(53421).await; + } +} + +#[embassy_executor::task] +async fn run_low() { + loop { + let start = Instant::now(); + info!("[low] Starting long computation"); + + // Spin-wait to simulate a long CPU computation + embassy_time::block_for(embassy_time::Duration::from_secs(2)); // ~2 seconds + + let end = Instant::now(); + let ms = end.duration_since(start).as_ticks() * 1000 / TICK_HZ; + info!("[low] done in {} ms", ms); + + Timer::after_ticks(82983).await; + } +} + +static EXECUTOR_HIGH: InterruptExecutor = InterruptExecutor::new(); +static EXECUTOR_MED: InterruptExecutor = InterruptExecutor::new(); +static EXECUTOR_LOW: StaticCell = StaticCell::new(); + +#[interrupt] +unsafe fn SWI_IRQ_1() { + EXECUTOR_HIGH.on_interrupt() +} + +#[interrupt] +unsafe fn SWI_IRQ_0() { + EXECUTOR_MED.on_interrupt() +} + +#[entry] +fn main() -> ! { + info!("Hello World!"); + + let _p = embassy_rp::init(Default::default()); + + // High-priority executor: SWI_IRQ_1, priority level 2 + interrupt::SWI_IRQ_1.set_priority(Priority::P2); + let spawner = EXECUTOR_HIGH.start(interrupt::SWI_IRQ_1); + unwrap!(spawner.spawn(run_high())); + + // Medium-priority executor: SWI_IRQ_0, priority level 3 + interrupt::SWI_IRQ_0.set_priority(Priority::P3); + let spawner = EXECUTOR_MED.start(interrupt::SWI_IRQ_0); + unwrap!(spawner.spawn(run_med())); + + // Low priority executor: runs in thread mode, using WFE/SEV + let executor = EXECUTOR_LOW.init(Executor::new()); + executor.run(|spawner| { + unwrap!(spawner.spawn(run_low())); + }); +} diff --git a/examples/rp23/src/bin/pio_async.rs b/examples/rp23/src/bin/pio_async.rs new file mode 100644 index 000000000..f3a48bbce --- /dev/null +++ b/examples/rp23/src/bin/pio_async.rs @@ -0,0 +1,146 @@ +//! This example shows powerful PIO module in the RP2040 chip. + +#![no_std] +#![no_main] +use defmt::info; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{Common, Config, InterruptHandler, Irq, Pio, PioPin, ShiftDirection, StateMachine}; +use fixed::traits::ToFixed; +use fixed_macro::types::U56F8; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +fn setup_pio_task_sm0<'a>(pio: &mut Common<'a, PIO0>, sm: &mut StateMachine<'a, PIO0, 0>, pin: impl PioPin) { + // Setup sm0 + + // Send data serially to pin + let prg = pio_proc::pio_asm!( + ".origin 16", + "set pindirs, 1", + ".wrap_target", + "out pins,1 [19]", + ".wrap", + ); + + let mut cfg = Config::default(); + cfg.use_program(&pio.load_program(&prg.program), &[]); + let out_pin = pio.make_pio_pin(pin); + cfg.set_out_pins(&[&out_pin]); + cfg.set_set_pins(&[&out_pin]); + cfg.clock_divider = (U56F8!(125_000_000) / 20 / 200).to_fixed(); + cfg.shift_out.auto_fill = true; + sm.set_config(&cfg); +} + +#[embassy_executor::task] +async fn pio_task_sm0(mut sm: StateMachine<'static, PIO0, 0>) { + sm.set_enable(true); + + let mut v = 0x0f0caffa; + loop { + sm.tx().wait_push(v).await; + v ^= 0xffff; + info!("Pushed {:032b} to FIFO", v); + } +} + +fn setup_pio_task_sm1<'a>(pio: &mut Common<'a, PIO0>, sm: &mut StateMachine<'a, PIO0, 1>) { + // Setupm sm1 + + // Read 0b10101 repeatedly until ISR is full + let prg = pio_proc::pio_asm!( + // + ".origin 8", + "set x, 0x15", + ".wrap_target", + "in x, 5 [31]", + ".wrap", + ); + + let mut cfg = Config::default(); + cfg.use_program(&pio.load_program(&prg.program), &[]); + cfg.clock_divider = (U56F8!(125_000_000) / 2000).to_fixed(); + cfg.shift_in.auto_fill = true; + cfg.shift_in.direction = ShiftDirection::Right; + sm.set_config(&cfg); +} + +#[embassy_executor::task] +async fn pio_task_sm1(mut sm: StateMachine<'static, PIO0, 1>) { + sm.set_enable(true); + loop { + let rx = sm.rx().wait_pull().await; + info!("Pulled {:032b} from FIFO", rx); + } +} + +fn setup_pio_task_sm2<'a>(pio: &mut Common<'a, PIO0>, sm: &mut StateMachine<'a, PIO0, 2>) { + // Setup sm2 + + // Repeatedly trigger IRQ 3 + let prg = pio_proc::pio_asm!( + ".origin 0", + ".wrap_target", + "set x,10", + "delay:", + "jmp x-- delay [15]", + "irq 3 [15]", + ".wrap", + ); + let mut cfg = Config::default(); + cfg.use_program(&pio.load_program(&prg.program), &[]); + cfg.clock_divider = (U56F8!(125_000_000) / 2000).to_fixed(); + sm.set_config(&cfg); +} + +#[embassy_executor::task] +async fn pio_task_sm2(mut irq: Irq<'static, PIO0, 3>, mut sm: StateMachine<'static, PIO0, 2>) { + sm.set_enable(true); + loop { + irq.wait().await; + info!("IRQ trigged"); + } +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let pio = p.PIO0; + + let Pio { + mut common, + irq3, + mut sm0, + mut sm1, + mut sm2, + .. + } = Pio::new(pio, Irqs); + + setup_pio_task_sm0(&mut common, &mut sm0, p.PIN_0); + setup_pio_task_sm1(&mut common, &mut sm1); + setup_pio_task_sm2(&mut common, &mut sm2); + spawner.spawn(pio_task_sm0(sm0)).unwrap(); + spawner.spawn(pio_task_sm1(sm1)).unwrap(); + spawner.spawn(pio_task_sm2(irq3, sm2)).unwrap(); +} diff --git a/examples/rp23/src/bin/pio_dma.rs b/examples/rp23/src/bin/pio_dma.rs new file mode 100644 index 000000000..d5a831d09 --- /dev/null +++ b/examples/rp23/src/bin/pio_dma.rs @@ -0,0 +1,99 @@ +//! This example shows powerful PIO module in the RP2040 chip. + +#![no_std] +#![no_main] +use defmt::info; +use embassy_executor::Spawner; +use embassy_futures::join::join; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{Config, InterruptHandler, Pio, ShiftConfig, ShiftDirection}; +use embassy_rp::{bind_interrupts, Peripheral}; +use fixed::traits::ToFixed; +use fixed_macro::types::U56F8; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +fn swap_nibbles(v: u32) -> u32 { + let v = (v & 0x0f0f_0f0f) << 4 | (v & 0xf0f0_f0f0) >> 4; + let v = (v & 0x00ff_00ff) << 8 | (v & 0xff00_ff00) >> 8; + (v & 0x0000_ffff) << 16 | (v & 0xffff_0000) >> 16 +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let pio = p.PIO0; + let Pio { + mut common, + sm0: mut sm, + .. + } = Pio::new(pio, Irqs); + + let prg = pio_proc::pio_asm!( + ".origin 0", + "set pindirs,1", + ".wrap_target", + "set y,7", + "loop:", + "out x,4", + "in x,4", + "jmp y--, loop", + ".wrap", + ); + + let mut cfg = Config::default(); + cfg.use_program(&common.load_program(&prg.program), &[]); + cfg.clock_divider = (U56F8!(125_000_000) / U56F8!(10_000)).to_fixed(); + cfg.shift_in = ShiftConfig { + auto_fill: true, + threshold: 32, + direction: ShiftDirection::Left, + }; + cfg.shift_out = ShiftConfig { + auto_fill: true, + threshold: 32, + direction: ShiftDirection::Right, + }; + + sm.set_config(&cfg); + sm.set_enable(true); + + let mut dma_out_ref = p.DMA_CH0.into_ref(); + let mut dma_in_ref = p.DMA_CH1.into_ref(); + let mut dout = [0x12345678u32; 29]; + for i in 1..dout.len() { + dout[i] = (dout[i - 1] & 0x0fff_ffff) * 13 + 7; + } + let mut din = [0u32; 29]; + loop { + let (rx, tx) = sm.rx_tx(); + join( + tx.dma_push(dma_out_ref.reborrow(), &dout), + rx.dma_pull(dma_in_ref.reborrow(), &mut din), + ) + .await; + for i in 0..din.len() { + assert_eq!(din[i], swap_nibbles(dout[i])); + } + info!("Swapped {} words", dout.len()); + } +} diff --git a/examples/rp23/src/bin/pio_hd44780.rs b/examples/rp23/src/bin/pio_hd44780.rs new file mode 100644 index 000000000..f601bbc66 --- /dev/null +++ b/examples/rp23/src/bin/pio_hd44780.rs @@ -0,0 +1,256 @@ +//! This example shows powerful PIO module in the RP2040 chip to communicate with a HD44780 display. +//! See (https://www.sparkfun.com/datasheets/LCD/HD44780.pdf) + +#![no_std] +#![no_main] + +use core::fmt::Write; + +use embassy_executor::Spawner; +use embassy_rp::dma::{AnyChannel, Channel}; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{ + Config, Direction, FifoJoin, InterruptHandler, Pio, PioPin, ShiftConfig, ShiftDirection, StateMachine, +}; +use embassy_rp::pwm::{self, Pwm}; +use embassy_rp::{bind_interrupts, into_ref, Peripheral, PeripheralRef}; +use embassy_time::{Instant, Timer}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(pub struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + // this test assumes a 2x16 HD44780 display attached as follow: + // rs = PIN0 + // rw = PIN1 + // e = PIN2 + // db4 = PIN3 + // db5 = PIN4 + // db6 = PIN5 + // db7 = PIN6 + // additionally a pwm signal for a bias voltage charge pump is provided on pin 15, + // allowing direct connection of the display to the RP2040 without level shifters. + let p = embassy_rp::init(Default::default()); + + let _pwm = Pwm::new_output_b(p.PWM_SLICE7, p.PIN_15, { + let mut c = pwm::Config::default(); + c.divider = 125.into(); + c.top = 100; + c.compare_b = 50; + c + }); + + let mut hd = HD44780::new( + p.PIO0, Irqs, p.DMA_CH3, p.PIN_0, p.PIN_1, p.PIN_2, p.PIN_3, p.PIN_4, p.PIN_5, p.PIN_6, + ) + .await; + + loop { + struct Buf([u8; N], usize); + impl Write for Buf { + fn write_str(&mut self, s: &str) -> Result<(), core::fmt::Error> { + for b in s.as_bytes() { + if self.1 >= N { + return Err(core::fmt::Error); + } + self.0[self.1] = *b; + self.1 += 1; + } + Ok(()) + } + } + let mut buf = Buf([0; 16], 0); + write!(buf, "up {}s", Instant::now().as_micros() as f32 / 1e6).unwrap(); + hd.add_line(&buf.0[0..buf.1]).await; + Timer::after_secs(1).await; + } +} + +pub struct HD44780<'l> { + dma: PeripheralRef<'l, AnyChannel>, + sm: StateMachine<'l, PIO0, 0>, + + buf: [u8; 40], +} + +impl<'l> HD44780<'l> { + pub async fn new( + pio: impl Peripheral

+ 'l, + irq: Irqs, + dma: impl Peripheral

+ 'l, + rs: impl PioPin, + rw: impl PioPin, + e: impl PioPin, + db4: impl PioPin, + db5: impl PioPin, + db6: impl PioPin, + db7: impl PioPin, + ) -> HD44780<'l> { + into_ref!(dma); + + let Pio { + mut common, + mut irq0, + mut sm0, + .. + } = Pio::new(pio, irq); + + // takes command words ( <0:4>) + let prg = pio_proc::pio_asm!( + r#" + .side_set 1 opt + .origin 20 + + loop: + out x, 24 + delay: + jmp x--, delay + out pins, 4 side 1 + out null, 4 side 0 + jmp !osre, loop + irq 0 + "#, + ); + + let rs = common.make_pio_pin(rs); + let rw = common.make_pio_pin(rw); + let e = common.make_pio_pin(e); + let db4 = common.make_pio_pin(db4); + let db5 = common.make_pio_pin(db5); + let db6 = common.make_pio_pin(db6); + let db7 = common.make_pio_pin(db7); + + sm0.set_pin_dirs(Direction::Out, &[&rs, &rw, &e, &db4, &db5, &db6, &db7]); + + let mut cfg = Config::default(); + cfg.use_program(&common.load_program(&prg.program), &[&e]); + cfg.clock_divider = 125u8.into(); + cfg.set_out_pins(&[&db4, &db5, &db6, &db7]); + cfg.shift_out = ShiftConfig { + auto_fill: true, + direction: ShiftDirection::Left, + threshold: 32, + }; + cfg.fifo_join = FifoJoin::TxOnly; + sm0.set_config(&cfg); + + sm0.set_enable(true); + // init to 8 bit thrice + sm0.tx().push((50000 << 8) | 0x30); + sm0.tx().push((5000 << 8) | 0x30); + sm0.tx().push((200 << 8) | 0x30); + // init 4 bit + sm0.tx().push((200 << 8) | 0x20); + // set font and lines + sm0.tx().push((50 << 8) | 0x20); + sm0.tx().push(0b1100_0000); + + irq0.wait().await; + sm0.set_enable(false); + + // takes command sequences ( , data...) + // many side sets are only there to free up a delay bit! + let prg = pio_proc::pio_asm!( + r#" + .origin 27 + .side_set 1 + + .wrap_target + pull side 0 + out x 1 side 0 ; !rs + out y 7 side 0 ; #data - 1 + + ; rs/rw to e: >= 60ns + ; e high time: >= 500ns + ; e low time: >= 500ns + ; read data valid after e falling: ~5ns + ; write data hold after e falling: ~10ns + + loop: + pull side 0 + jmp !x data side 0 + command: + set pins 0b00 side 0 + jmp shift side 0 + data: + set pins 0b01 side 0 + shift: + out pins 4 side 1 [9] + nop side 0 [9] + out pins 4 side 1 [9] + mov osr null side 0 [7] + out pindirs 4 side 0 + set pins 0b10 side 0 + busy: + nop side 1 [9] + jmp pin more side 0 [9] + mov osr ~osr side 1 [9] + nop side 0 [4] + out pindirs 4 side 0 + jmp y-- loop side 0 + .wrap + more: + nop side 1 [9] + jmp busy side 0 [9] + "# + ); + + let mut cfg = Config::default(); + cfg.use_program(&common.load_program(&prg.program), &[&e]); + cfg.clock_divider = 8u8.into(); // ~64ns/insn + cfg.set_jmp_pin(&db7); + cfg.set_set_pins(&[&rs, &rw]); + cfg.set_out_pins(&[&db4, &db5, &db6, &db7]); + cfg.shift_out.direction = ShiftDirection::Left; + cfg.fifo_join = FifoJoin::TxOnly; + sm0.set_config(&cfg); + + sm0.set_enable(true); + + // display on and cursor on and blinking, reset display + sm0.tx().dma_push(dma.reborrow(), &[0x81u8, 0x0f, 1]).await; + + Self { + dma: dma.map_into(), + sm: sm0, + buf: [0x20; 40], + } + } + + pub async fn add_line(&mut self, s: &[u8]) { + // move cursor to 0:0, prepare 16 characters + self.buf[..3].copy_from_slice(&[0x80, 0x80, 15]); + // move line 2 up + self.buf.copy_within(22..38, 3); + // move cursor to 1:0, prepare 16 characters + self.buf[19..22].copy_from_slice(&[0x80, 0xc0, 15]); + // file line 2 with spaces + self.buf[22..38].fill(0x20); + // copy input line + let len = s.len().min(16); + self.buf[22..22 + len].copy_from_slice(&s[0..len]); + // set cursor to 1:15 + self.buf[38..].copy_from_slice(&[0x80, 0xcf]); + + self.sm.tx().dma_push(self.dma.reborrow(), &self.buf).await; + } +} diff --git a/examples/rp23/src/bin/pio_i2s.rs b/examples/rp23/src/bin/pio_i2s.rs new file mode 100644 index 000000000..b12b050e6 --- /dev/null +++ b/examples/rp23/src/bin/pio_i2s.rs @@ -0,0 +1,141 @@ +//! This example shows generating audio and sending it to a connected i2s DAC using the PIO +//! module of the RP2040. +//! +//! Connect the i2s DAC as follows: +//! bclk : GPIO 18 +//! lrc : GPIO 19 +//! din : GPIO 20 +//! Then hold down the boot select button to trigger a rising triangle waveform. + +#![no_std] +#![no_main] + +use core::mem; + +use embassy_executor::Spawner; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{Config, FifoJoin, InterruptHandler, Pio, ShiftConfig, ShiftDirection}; +use embassy_rp::{bind_interrupts, Peripheral}; +use fixed::traits::ToFixed; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +const SAMPLE_RATE: u32 = 48_000; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + // Setup pio state machine for i2s output + let mut pio = Pio::new(p.PIO0, Irqs); + + #[rustfmt::skip] + let pio_program = pio_proc::pio_asm!( + ".side_set 2", + " set x, 14 side 0b01", // side 0bWB - W = Word Clock, B = Bit Clock + "left_data:", + " out pins, 1 side 0b00", + " jmp x-- left_data side 0b01", + " out pins 1 side 0b10", + " set x, 14 side 0b11", + "right_data:", + " out pins 1 side 0b10", + " jmp x-- right_data side 0b11", + " out pins 1 side 0b00", + ); + + let bit_clock_pin = p.PIN_18; + let left_right_clock_pin = p.PIN_19; + let data_pin = p.PIN_20; + + let data_pin = pio.common.make_pio_pin(data_pin); + let bit_clock_pin = pio.common.make_pio_pin(bit_clock_pin); + let left_right_clock_pin = pio.common.make_pio_pin(left_right_clock_pin); + + let cfg = { + let mut cfg = Config::default(); + cfg.use_program( + &pio.common.load_program(&pio_program.program), + &[&bit_clock_pin, &left_right_clock_pin], + ); + cfg.set_out_pins(&[&data_pin]); + const BIT_DEPTH: u32 = 16; + const CHANNELS: u32 = 2; + let clock_frequency = SAMPLE_RATE * BIT_DEPTH * CHANNELS; + cfg.clock_divider = (125_000_000. / clock_frequency as f64 / 2.).to_fixed(); + cfg.shift_out = ShiftConfig { + threshold: 32, + direction: ShiftDirection::Left, + auto_fill: true, + }; + // join fifos to have twice the time to start the next dma transfer + cfg.fifo_join = FifoJoin::TxOnly; + cfg + }; + pio.sm0.set_config(&cfg); + pio.sm0.set_pin_dirs( + embassy_rp::pio::Direction::Out, + &[&data_pin, &left_right_clock_pin, &bit_clock_pin], + ); + + // create two audio buffers (back and front) which will take turns being + // filled with new audio data and being sent to the pio fifo using dma + const BUFFER_SIZE: usize = 960; + static DMA_BUFFER: StaticCell<[u32; BUFFER_SIZE * 2]> = StaticCell::new(); + let dma_buffer = DMA_BUFFER.init_with(|| [0u32; BUFFER_SIZE * 2]); + let (mut back_buffer, mut front_buffer) = dma_buffer.split_at_mut(BUFFER_SIZE); + + // start pio state machine + pio.sm0.set_enable(true); + let tx = pio.sm0.tx(); + let mut dma_ref = p.DMA_CH0.into_ref(); + + let mut fade_value: i32 = 0; + let mut phase: i32 = 0; + + loop { + // trigger transfer of front buffer data to the pio fifo + // but don't await the returned future, yet + let dma_future = tx.dma_push(dma_ref.reborrow(), front_buffer); + + // fade in audio + let fade_target = i32::MAX; + + // fill back buffer with fresh audio samples before awaiting the dma future + for s in back_buffer.iter_mut() { + // exponential approach of fade_value => fade_target + fade_value += (fade_target - fade_value) >> 14; + // generate triangle wave with amplitude and frequency based on fade value + phase = (phase + (fade_value >> 22)) & 0xffff; + let triangle_sample = (phase as i16 as i32).abs() - 16384; + let sample = (triangle_sample * (fade_value >> 15)) >> 16; + // duplicate mono sample into lower and upper half of dma word + *s = (sample as u16 as u32) * 0x10001; + } + + // now await the dma future. once the dma finishes, the next buffer needs to be queued + // within DMA_DEPTH / SAMPLE_RATE = 8 / 48000 seconds = 166us + dma_future.await; + mem::swap(&mut back_buffer, &mut front_buffer); + } +} diff --git a/examples/rp23/src/bin/pio_pwm.rs b/examples/rp23/src/bin/pio_pwm.rs new file mode 100644 index 000000000..c8e834eae --- /dev/null +++ b/examples/rp23/src/bin/pio_pwm.rs @@ -0,0 +1,134 @@ +//! This example shows how to create a pwm using the PIO module in the RP2040 chip. + +#![no_std] +#![no_main] +use core::time::Duration; + +use embassy_executor::Spawner; +use embassy_rp::gpio::Level; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Pio, PioPin, StateMachine}; +use embassy_rp::{bind_interrupts, clocks}; +use embassy_time::Timer; +use pio::InstructionOperands; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +const REFRESH_INTERVAL: u64 = 20000; + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +pub fn to_pio_cycles(duration: Duration) -> u32 { + (clocks::clk_sys_freq() / 1_000_000) / 3 * duration.as_micros() as u32 // parentheses are required to prevent overflow +} + +pub struct PwmPio<'d, T: Instance, const SM: usize> { + sm: StateMachine<'d, T, SM>, +} + +impl<'d, T: Instance, const SM: usize> PwmPio<'d, T, SM> { + pub fn new(pio: &mut Common<'d, T>, mut sm: StateMachine<'d, T, SM>, pin: impl PioPin) -> Self { + let prg = pio_proc::pio_asm!( + ".side_set 1 opt" + "pull noblock side 0" + "mov x, osr" + "mov y, isr" + "countloop:" + "jmp x!=y noset" + "jmp skip side 1" + "noset:" + "nop" + "skip:" + "jmp y-- countloop" + ); + + pio.load_program(&prg.program); + let pin = pio.make_pio_pin(pin); + sm.set_pins(Level::High, &[&pin]); + sm.set_pin_dirs(Direction::Out, &[&pin]); + + let mut cfg = Config::default(); + cfg.use_program(&pio.load_program(&prg.program), &[&pin]); + + sm.set_config(&cfg); + + Self { sm } + } + + pub fn start(&mut self) { + self.sm.set_enable(true); + } + + pub fn stop(&mut self) { + self.sm.set_enable(false); + } + + pub fn set_period(&mut self, duration: Duration) { + let is_enabled = self.sm.is_enabled(); + while !self.sm.tx().empty() {} // Make sure that the queue is empty + self.sm.set_enable(false); + self.sm.tx().push(to_pio_cycles(duration)); + unsafe { + self.sm.exec_instr( + InstructionOperands::PULL { + if_empty: false, + block: false, + } + .encode(), + ); + self.sm.exec_instr( + InstructionOperands::OUT { + destination: ::pio::OutDestination::ISR, + bit_count: 32, + } + .encode(), + ); + }; + if is_enabled { + self.sm.set_enable(true) // Enable if previously enabled + } + } + + pub fn set_level(&mut self, level: u32) { + self.sm.tx().push(level); + } + + pub fn write(&mut self, duration: Duration) { + self.set_level(to_pio_cycles(duration)); + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let Pio { mut common, sm0, .. } = Pio::new(p.PIO0, Irqs); + + // Note that PIN_25 is the led pin on the Pico + let mut pwm_pio = PwmPio::new(&mut common, sm0, p.PIN_25); + pwm_pio.set_period(Duration::from_micros(REFRESH_INTERVAL)); + pwm_pio.start(); + + let mut duration = 0; + loop { + duration = (duration + 1) % 1000; + pwm_pio.write(Duration::from_micros(duration)); + Timer::after_millis(1).await; + } +} diff --git a/examples/rp23/src/bin/pio_rotary_encoder.rs b/examples/rp23/src/bin/pio_rotary_encoder.rs new file mode 100644 index 000000000..971b55c9e --- /dev/null +++ b/examples/rp23/src/bin/pio_rotary_encoder.rs @@ -0,0 +1,96 @@ +//! This example shows how to use the PIO module in the RP2040 to read a quadrature rotary encoder. + +#![no_std] +#![no_main] + +use defmt::info; +use embassy_executor::Spawner; +use embassy_rp::gpio::Pull; +use embassy_rp::peripherals::PIO0; +use embassy_rp::{bind_interrupts, pio}; +use fixed::traits::ToFixed; +use pio::{Common, Config, FifoJoin, Instance, InterruptHandler, Pio, PioPin, ShiftDirection, StateMachine}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +pub struct PioEncoder<'d, T: Instance, const SM: usize> { + sm: StateMachine<'d, T, SM>, +} + +impl<'d, T: Instance, const SM: usize> PioEncoder<'d, T, SM> { + pub fn new( + pio: &mut Common<'d, T>, + mut sm: StateMachine<'d, T, SM>, + pin_a: impl PioPin, + pin_b: impl PioPin, + ) -> Self { + let mut pin_a = pio.make_pio_pin(pin_a); + let mut pin_b = pio.make_pio_pin(pin_b); + pin_a.set_pull(Pull::Up); + pin_b.set_pull(Pull::Up); + sm.set_pin_dirs(pio::Direction::In, &[&pin_a, &pin_b]); + + let prg = pio_proc::pio_asm!("wait 1 pin 1", "wait 0 pin 1", "in pins, 2", "push",); + + let mut cfg = Config::default(); + cfg.set_in_pins(&[&pin_a, &pin_b]); + cfg.fifo_join = FifoJoin::RxOnly; + cfg.shift_in.direction = ShiftDirection::Left; + cfg.clock_divider = 10_000.to_fixed(); + cfg.use_program(&pio.load_program(&prg.program), &[]); + sm.set_config(&cfg); + sm.set_enable(true); + Self { sm } + } + + pub async fn read(&mut self) -> Direction { + loop { + match self.sm.rx().wait_pull().await { + 0 => return Direction::CounterClockwise, + 1 => return Direction::Clockwise, + _ => {} + } + } + } +} + +pub enum Direction { + Clockwise, + CounterClockwise, +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let Pio { mut common, sm0, .. } = Pio::new(p.PIO0, Irqs); + + let mut encoder = PioEncoder::new(&mut common, sm0, p.PIN_4, p.PIN_5); + + let mut count = 0; + loop { + info!("Count: {}", count); + count += match encoder.read().await { + Direction::Clockwise => 1, + Direction::CounterClockwise => -1, + }; + } +} diff --git a/examples/rp23/src/bin/pio_servo.rs b/examples/rp23/src/bin/pio_servo.rs new file mode 100644 index 000000000..67e52019a --- /dev/null +++ b/examples/rp23/src/bin/pio_servo.rs @@ -0,0 +1,224 @@ +//! This example shows how to create a pwm using the PIO module in the RP2040 chip. + +#![no_std] +#![no_main] +use core::time::Duration; + +use embassy_executor::Spawner; +use embassy_rp::gpio::Level; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Pio, PioPin, StateMachine}; +use embassy_rp::{bind_interrupts, clocks}; +use embassy_time::Timer; +use pio::InstructionOperands; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +const DEFAULT_MIN_PULSE_WIDTH: u64 = 1000; // uncalibrated default, the shortest duty cycle sent to a servo +const DEFAULT_MAX_PULSE_WIDTH: u64 = 2000; // uncalibrated default, the longest duty cycle sent to a servo +const DEFAULT_MAX_DEGREE_ROTATION: u64 = 160; // 160 degrees is typical +const REFRESH_INTERVAL: u64 = 20000; // The period of each cycle + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +pub fn to_pio_cycles(duration: Duration) -> u32 { + (clocks::clk_sys_freq() / 1_000_000) / 3 * duration.as_micros() as u32 // parentheses are required to prevent overflow +} + +pub struct PwmPio<'d, T: Instance, const SM: usize> { + sm: StateMachine<'d, T, SM>, +} + +impl<'d, T: Instance, const SM: usize> PwmPio<'d, T, SM> { + pub fn new(pio: &mut Common<'d, T>, mut sm: StateMachine<'d, T, SM>, pin: impl PioPin) -> Self { + let prg = pio_proc::pio_asm!( + ".side_set 1 opt" + "pull noblock side 0" + "mov x, osr" + "mov y, isr" + "countloop:" + "jmp x!=y noset" + "jmp skip side 1" + "noset:" + "nop" + "skip:" + "jmp y-- countloop" + ); + + pio.load_program(&prg.program); + let pin = pio.make_pio_pin(pin); + sm.set_pins(Level::High, &[&pin]); + sm.set_pin_dirs(Direction::Out, &[&pin]); + + let mut cfg = Config::default(); + cfg.use_program(&pio.load_program(&prg.program), &[&pin]); + + sm.set_config(&cfg); + + Self { sm } + } + + pub fn start(&mut self) { + self.sm.set_enable(true); + } + + pub fn stop(&mut self) { + self.sm.set_enable(false); + } + + pub fn set_period(&mut self, duration: Duration) { + let is_enabled = self.sm.is_enabled(); + while !self.sm.tx().empty() {} // Make sure that the queue is empty + self.sm.set_enable(false); + self.sm.tx().push(to_pio_cycles(duration)); + unsafe { + self.sm.exec_instr( + InstructionOperands::PULL { + if_empty: false, + block: false, + } + .encode(), + ); + self.sm.exec_instr( + InstructionOperands::OUT { + destination: ::pio::OutDestination::ISR, + bit_count: 32, + } + .encode(), + ); + }; + if is_enabled { + self.sm.set_enable(true) // Enable if previously enabled + } + } + + pub fn set_level(&mut self, level: u32) { + self.sm.tx().push(level); + } + + pub fn write(&mut self, duration: Duration) { + self.set_level(to_pio_cycles(duration)); + } +} + +pub struct ServoBuilder<'d, T: Instance, const SM: usize> { + pwm: PwmPio<'d, T, SM>, + period: Duration, + min_pulse_width: Duration, + max_pulse_width: Duration, + max_degree_rotation: u64, +} + +impl<'d, T: Instance, const SM: usize> ServoBuilder<'d, T, SM> { + pub fn new(pwm: PwmPio<'d, T, SM>) -> Self { + Self { + pwm, + period: Duration::from_micros(REFRESH_INTERVAL), + min_pulse_width: Duration::from_micros(DEFAULT_MIN_PULSE_WIDTH), + max_pulse_width: Duration::from_micros(DEFAULT_MAX_PULSE_WIDTH), + max_degree_rotation: DEFAULT_MAX_DEGREE_ROTATION, + } + } + + pub fn set_period(mut self, duration: Duration) -> Self { + self.period = duration; + self + } + + pub fn set_min_pulse_width(mut self, duration: Duration) -> Self { + self.min_pulse_width = duration; + self + } + + pub fn set_max_pulse_width(mut self, duration: Duration) -> Self { + self.max_pulse_width = duration; + self + } + + pub fn set_max_degree_rotation(mut self, degree: u64) -> Self { + self.max_degree_rotation = degree; + self + } + + pub fn build(mut self) -> Servo<'d, T, SM> { + self.pwm.set_period(self.period); + Servo { + pwm: self.pwm, + min_pulse_width: self.min_pulse_width, + max_pulse_width: self.max_pulse_width, + max_degree_rotation: self.max_degree_rotation, + } + } +} + +pub struct Servo<'d, T: Instance, const SM: usize> { + pwm: PwmPio<'d, T, SM>, + min_pulse_width: Duration, + max_pulse_width: Duration, + max_degree_rotation: u64, +} + +impl<'d, T: Instance, const SM: usize> Servo<'d, T, SM> { + pub fn start(&mut self) { + self.pwm.start(); + } + + pub fn stop(&mut self) { + self.pwm.stop(); + } + + pub fn write_time(&mut self, duration: Duration) { + self.pwm.write(duration); + } + + pub fn rotate(&mut self, degree: u64) { + let degree_per_nano_second = (self.max_pulse_width.as_nanos() as u64 - self.min_pulse_width.as_nanos() as u64) + / self.max_degree_rotation; + let mut duration = + Duration::from_nanos(degree * degree_per_nano_second + self.min_pulse_width.as_nanos() as u64); + if self.max_pulse_width < duration { + duration = self.max_pulse_width; + } + + self.pwm.write(duration); + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let Pio { mut common, sm0, .. } = Pio::new(p.PIO0, Irqs); + + let pwm_pio = PwmPio::new(&mut common, sm0, p.PIN_1); + let mut servo = ServoBuilder::new(pwm_pio) + .set_max_degree_rotation(120) // Example of adjusting values for MG996R servo + .set_min_pulse_width(Duration::from_micros(350)) // This value was detemined by a rough experiment. + .set_max_pulse_width(Duration::from_micros(2600)) // Along with this value. + .build(); + + servo.start(); + + let mut degree = 0; + loop { + degree = (degree + 1) % 120; + servo.rotate(degree); + Timer::after_millis(50).await; + } +} diff --git a/examples/rp23/src/bin/pio_stepper.rs b/examples/rp23/src/bin/pio_stepper.rs new file mode 100644 index 000000000..9cbf0bd92 --- /dev/null +++ b/examples/rp23/src/bin/pio_stepper.rs @@ -0,0 +1,184 @@ +//! This example shows how to use the PIO module in the RP2040 to implement a stepper motor driver +//! for a 5-wire stepper such as the 28BYJ-48. You can halt an ongoing rotation by dropping the future. + +#![no_std] +#![no_main] +use core::mem::{self, MaybeUninit}; + +use defmt::info; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Irq, Pio, PioPin, StateMachine}; +use embassy_time::{with_timeout, Duration, Timer}; +use fixed::traits::ToFixed; +use fixed::types::extra::U8; +use fixed::FixedU32; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +pub struct PioStepper<'d, T: Instance, const SM: usize> { + irq: Irq<'d, T, SM>, + sm: StateMachine<'d, T, SM>, +} + +impl<'d, T: Instance, const SM: usize> PioStepper<'d, T, SM> { + pub fn new( + pio: &mut Common<'d, T>, + mut sm: StateMachine<'d, T, SM>, + irq: Irq<'d, T, SM>, + pin0: impl PioPin, + pin1: impl PioPin, + pin2: impl PioPin, + pin3: impl PioPin, + ) -> Self { + let prg = pio_proc::pio_asm!( + "pull block", + "mov x, osr", + "pull block", + "mov y, osr", + "jmp !x end", + "loop:", + "jmp !osre step", + "mov osr, y", + "step:", + "out pins, 4 [31]" + "jmp x-- loop", + "end:", + "irq 0 rel" + ); + let pin0 = pio.make_pio_pin(pin0); + let pin1 = pio.make_pio_pin(pin1); + let pin2 = pio.make_pio_pin(pin2); + let pin3 = pio.make_pio_pin(pin3); + sm.set_pin_dirs(Direction::Out, &[&pin0, &pin1, &pin2, &pin3]); + let mut cfg = Config::default(); + cfg.set_out_pins(&[&pin0, &pin1, &pin2, &pin3]); + cfg.clock_divider = (125_000_000 / (100 * 136)).to_fixed(); + cfg.use_program(&pio.load_program(&prg.program), &[]); + sm.set_config(&cfg); + sm.set_enable(true); + Self { irq, sm } + } + + // Set pulse frequency + pub fn set_frequency(&mut self, freq: u32) { + let clock_divider: FixedU32 = (125_000_000 / (freq * 136)).to_fixed(); + assert!(clock_divider <= 65536, "clkdiv must be <= 65536"); + assert!(clock_divider >= 1, "clkdiv must be >= 1"); + self.sm.set_clock_divider(clock_divider); + self.sm.clkdiv_restart(); + } + + // Full step, one phase + pub async fn step(&mut self, steps: i32) { + if steps > 0 { + self.run(steps, 0b1000_0100_0010_0001_1000_0100_0010_0001).await + } else { + self.run(-steps, 0b0001_0010_0100_1000_0001_0010_0100_1000).await + } + } + + // Full step, two phase + pub async fn step2(&mut self, steps: i32) { + if steps > 0 { + self.run(steps, 0b1001_1100_0110_0011_1001_1100_0110_0011).await + } else { + self.run(-steps, 0b0011_0110_1100_1001_0011_0110_1100_1001).await + } + } + + // Half step + pub async fn step_half(&mut self, steps: i32) { + if steps > 0 { + self.run(steps, 0b1001_1000_1100_0100_0110_0010_0011_0001).await + } else { + self.run(-steps, 0b0001_0011_0010_0110_0100_1100_1000_1001).await + } + } + + async fn run(&mut self, steps: i32, pattern: u32) { + self.sm.tx().wait_push(steps as u32).await; + self.sm.tx().wait_push(pattern).await; + let drop = OnDrop::new(|| { + self.sm.clear_fifos(); + unsafe { + self.sm.exec_instr( + pio::InstructionOperands::JMP { + address: 0, + condition: pio::JmpCondition::Always, + } + .encode(), + ); + } + }); + self.irq.wait().await; + drop.defuse(); + } +} + +struct OnDrop { + f: MaybeUninit, +} + +impl OnDrop { + pub fn new(f: F) -> Self { + Self { f: MaybeUninit::new(f) } + } + + pub fn defuse(self) { + mem::forget(self) + } +} + +impl Drop for OnDrop { + fn drop(&mut self) { + unsafe { self.f.as_ptr().read()() } + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let Pio { + mut common, irq0, sm0, .. + } = Pio::new(p.PIO0, Irqs); + + let mut stepper = PioStepper::new(&mut common, sm0, irq0, p.PIN_4, p.PIN_5, p.PIN_6, p.PIN_7); + stepper.set_frequency(120); + loop { + info!("CW full steps"); + stepper.step(1000).await; + + info!("CCW full steps, drop after 1 sec"); + if let Err(_) = with_timeout(Duration::from_secs(1), stepper.step(i32::MIN)).await { + info!("Time's up!"); + Timer::after(Duration::from_secs(1)).await; + } + + info!("CW half steps"); + stepper.step_half(1000).await; + + info!("CCW half steps"); + stepper.step_half(-1000).await; + } +} diff --git a/examples/rp23/src/bin/pio_ws2812.rs b/examples/rp23/src/bin/pio_ws2812.rs new file mode 100644 index 000000000..2e62a3d97 --- /dev/null +++ b/examples/rp23/src/bin/pio_ws2812.rs @@ -0,0 +1,177 @@ +//! This example shows powerful PIO module in the RP2040 chip to communicate with WS2812 LED modules. +//! See (https://www.sparkfun.com/categories/tags/ws2812) + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::dma::{AnyChannel, Channel}; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{ + Common, Config, FifoJoin, Instance, InterruptHandler, Pio, PioPin, ShiftConfig, ShiftDirection, StateMachine, +}; +use embassy_rp::{bind_interrupts, clocks, into_ref, Peripheral, PeripheralRef}; +use embassy_time::{Duration, Ticker, Timer}; +use fixed::types::U24F8; +use fixed_macro::fixed; +use smart_leds::RGB8; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +pub struct Ws2812<'d, P: Instance, const S: usize, const N: usize> { + dma: PeripheralRef<'d, AnyChannel>, + sm: StateMachine<'d, P, S>, +} + +impl<'d, P: Instance, const S: usize, const N: usize> Ws2812<'d, P, S, N> { + pub fn new( + pio: &mut Common<'d, P>, + mut sm: StateMachine<'d, P, S>, + dma: impl Peripheral

+ 'd, + pin: impl PioPin, + ) -> Self { + into_ref!(dma); + + // Setup sm0 + + // prepare the PIO program + let side_set = pio::SideSet::new(false, 1, false); + let mut a: pio::Assembler<32> = pio::Assembler::new_with_side_set(side_set); + + const T1: u8 = 2; // start bit + const T2: u8 = 5; // data bit + const T3: u8 = 3; // stop bit + const CYCLES_PER_BIT: u32 = (T1 + T2 + T3) as u32; + + let mut wrap_target = a.label(); + let mut wrap_source = a.label(); + let mut do_zero = a.label(); + a.set_with_side_set(pio::SetDestination::PINDIRS, 1, 0); + a.bind(&mut wrap_target); + // Do stop bit + a.out_with_delay_and_side_set(pio::OutDestination::X, 1, T3 - 1, 0); + // Do start bit + a.jmp_with_delay_and_side_set(pio::JmpCondition::XIsZero, &mut do_zero, T1 - 1, 1); + // Do data bit = 1 + a.jmp_with_delay_and_side_set(pio::JmpCondition::Always, &mut wrap_target, T2 - 1, 1); + a.bind(&mut do_zero); + // Do data bit = 0 + a.nop_with_delay_and_side_set(T2 - 1, 0); + a.bind(&mut wrap_source); + + let prg = a.assemble_with_wrap(wrap_source, wrap_target); + let mut cfg = Config::default(); + + // Pin config + let out_pin = pio.make_pio_pin(pin); + cfg.set_out_pins(&[&out_pin]); + cfg.set_set_pins(&[&out_pin]); + + cfg.use_program(&pio.load_program(&prg), &[&out_pin]); + + // Clock config, measured in kHz to avoid overflows + // TODO CLOCK_FREQ should come from embassy_rp + let clock_freq = U24F8::from_num(clocks::clk_sys_freq() / 1000); + let ws2812_freq = fixed!(800: U24F8); + let bit_freq = ws2812_freq * CYCLES_PER_BIT; + cfg.clock_divider = clock_freq / bit_freq; + + // FIFO config + cfg.fifo_join = FifoJoin::TxOnly; + cfg.shift_out = ShiftConfig { + auto_fill: true, + threshold: 24, + direction: ShiftDirection::Left, + }; + + sm.set_config(&cfg); + sm.set_enable(true); + + Self { + dma: dma.map_into(), + sm, + } + } + + pub async fn write(&mut self, colors: &[RGB8; N]) { + // Precompute the word bytes from the colors + let mut words = [0u32; N]; + for i in 0..N { + let word = (u32::from(colors[i].g) << 24) | (u32::from(colors[i].r) << 16) | (u32::from(colors[i].b) << 8); + words[i] = word; + } + + // DMA transfer + self.sm.tx().dma_push(self.dma.reborrow(), &words).await; + + Timer::after_micros(55).await; + } +} + +/// Input a value 0 to 255 to get a color value +/// The colours are a transition r - g - b - back to r. +fn wheel(mut wheel_pos: u8) -> RGB8 { + wheel_pos = 255 - wheel_pos; + if wheel_pos < 85 { + return (255 - wheel_pos * 3, 0, wheel_pos * 3).into(); + } + if wheel_pos < 170 { + wheel_pos -= 85; + return (0, wheel_pos * 3, 255 - wheel_pos * 3).into(); + } + wheel_pos -= 170; + (wheel_pos * 3, 255 - wheel_pos * 3, 0).into() +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + info!("Start"); + let p = embassy_rp::init(Default::default()); + + let Pio { mut common, sm0, .. } = Pio::new(p.PIO0, Irqs); + + // This is the number of leds in the string. Helpfully, the sparkfun thing plus and adafruit + // feather boards for the 2040 both have one built in. + const NUM_LEDS: usize = 1; + let mut data = [RGB8::default(); NUM_LEDS]; + + // Common neopixel pins: + // Thing plus: 8 + // Adafruit Feather: 16; Adafruit Feather+RFM95: 4 + let mut ws2812 = Ws2812::new(&mut common, sm0, p.DMA_CH0, p.PIN_16); + + // Loop forever making RGB values and pushing them out to the WS2812. + let mut ticker = Ticker::every(Duration::from_millis(10)); + loop { + for j in 0..(256 * 5) { + debug!("New Colors:"); + for i in 0..NUM_LEDS { + data[i] = wheel((((i * 256) as u16 / NUM_LEDS as u16 + j as u16) & 255) as u8); + debug!("R: {} G: {} B: {}", data[i].r, data[i].g, data[i].b); + } + ws2812.write(&data).await; + + ticker.next().await; + } + } +} diff --git a/examples/rp23/src/bin/pwm.rs b/examples/rp23/src/bin/pwm.rs new file mode 100644 index 000000000..ab38a03bb --- /dev/null +++ b/examples/rp23/src/bin/pwm.rs @@ -0,0 +1,45 @@ +//! This example shows how to use PWM (Pulse Width Modulation) in the RP2040 chip. +//! +//! The LED on the RP Pico W board is connected differently. Add a LED and resistor to another pin. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::pwm::{Config, Pwm}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + let mut c: Config = Default::default(); + c.top = 0x8000; + c.compare_b = 8; + let mut pwm = Pwm::new_output_b(p.PWM_SLICE4, p.PIN_25, c.clone()); + + loop { + info!("current LED duty cycle: {}/32768", c.compare_b); + Timer::after_secs(1).await; + c.compare_b = c.compare_b.rotate_left(4); + pwm.set_config(&c); + } +} diff --git a/examples/rp23/src/bin/pwm_input.rs b/examples/rp23/src/bin/pwm_input.rs new file mode 100644 index 000000000..fcb561cfd --- /dev/null +++ b/examples/rp23/src/bin/pwm_input.rs @@ -0,0 +1,42 @@ +//! This example shows how to use the PWM module to measure the frequency of an input signal. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::gpio::Pull; +use embassy_rp::pwm::{Config, InputMode, Pwm}; +use embassy_time::{Duration, Ticker}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + let cfg: Config = Default::default(); + let pwm = Pwm::new_input(p.PWM_SLICE2, p.PIN_5, Pull::None, InputMode::RisingEdge, cfg); + + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + info!("Input frequency: {} Hz", pwm.counter()); + pwm.set_counter(0); + ticker.next().await; + } +} diff --git a/examples/rp23/src/bin/rosc.rs b/examples/rp23/src/bin/rosc.rs new file mode 100644 index 000000000..051b4710f --- /dev/null +++ b/examples/rp23/src/bin/rosc.rs @@ -0,0 +1,47 @@ +//! This example test the RP Pico on board LED. +//! +//! It does not work with the RP Pico W board. See wifi_blinky.rs. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::{clocks, gpio}; +use embassy_time::Timer; +use gpio::{Level, Output}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let mut config = embassy_rp::config::Config::default(); + config.clocks = clocks::ClockConfig::rosc(); + let p = embassy_rp::init(config); + let mut led = Output::new(p.PIN_25, Level::Low); + + loop { + info!("led on!"); + led.set_high(); + Timer::after_secs(1).await; + + info!("led off!"); + led.set_low(); + Timer::after_secs(1).await; + } +} diff --git a/examples/rp23/src/bin/shared_bus.rs b/examples/rp23/src/bin/shared_bus.rs new file mode 100644 index 000000000..e3213cd91 --- /dev/null +++ b/examples/rp23/src/bin/shared_bus.rs @@ -0,0 +1,131 @@ +//! This example shows how to share (async) I2C and SPI buses between multiple devices. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_embedded_hal::shared_bus::asynch::i2c::I2cDevice; +use embassy_embedded_hal::shared_bus::asynch::spi::SpiDevice; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::gpio::{AnyPin, Level, Output}; +use embassy_rp::i2c::{self, I2c, InterruptHandler}; +use embassy_rp::peripherals::{I2C1, SPI1}; +use embassy_rp::spi::{self, Spi}; +use embassy_sync::blocking_mutex::raw::NoopRawMutex; +use embassy_sync::mutex::Mutex; +use embassy_time::Timer; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +type Spi1Bus = Mutex>; +type I2c1Bus = Mutex>; + +bind_interrupts!(struct Irqs { + I2C1_IRQ => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Here we go!"); + + // Shared I2C bus + let i2c = I2c::new_async(p.I2C1, p.PIN_15, p.PIN_14, Irqs, i2c::Config::default()); + static I2C_BUS: StaticCell = StaticCell::new(); + let i2c_bus = I2C_BUS.init(Mutex::new(i2c)); + + spawner.must_spawn(i2c_task_a(i2c_bus)); + spawner.must_spawn(i2c_task_b(i2c_bus)); + + // Shared SPI bus + let spi_cfg = spi::Config::default(); + let spi = Spi::new(p.SPI1, p.PIN_10, p.PIN_11, p.PIN_12, p.DMA_CH0, p.DMA_CH1, spi_cfg); + static SPI_BUS: StaticCell = StaticCell::new(); + let spi_bus = SPI_BUS.init(Mutex::new(spi)); + + // Chip select pins for the SPI devices + let cs_a = Output::new(AnyPin::from(p.PIN_0), Level::High); + let cs_b = Output::new(AnyPin::from(p.PIN_1), Level::High); + + spawner.must_spawn(spi_task_a(spi_bus, cs_a)); + spawner.must_spawn(spi_task_b(spi_bus, cs_b)); +} + +#[embassy_executor::task] +async fn i2c_task_a(i2c_bus: &'static I2c1Bus) { + let i2c_dev = I2cDevice::new(i2c_bus); + let _sensor = DummyI2cDeviceDriver::new(i2c_dev, 0xC0); + loop { + info!("i2c task A"); + Timer::after_secs(1).await; + } +} + +#[embassy_executor::task] +async fn i2c_task_b(i2c_bus: &'static I2c1Bus) { + let i2c_dev = I2cDevice::new(i2c_bus); + let _sensor = DummyI2cDeviceDriver::new(i2c_dev, 0xDE); + loop { + info!("i2c task B"); + Timer::after_secs(1).await; + } +} + +#[embassy_executor::task] +async fn spi_task_a(spi_bus: &'static Spi1Bus, cs: Output<'static>) { + let spi_dev = SpiDevice::new(spi_bus, cs); + let _sensor = DummySpiDeviceDriver::new(spi_dev); + loop { + info!("spi task A"); + Timer::after_secs(1).await; + } +} + +#[embassy_executor::task] +async fn spi_task_b(spi_bus: &'static Spi1Bus, cs: Output<'static>) { + let spi_dev = SpiDevice::new(spi_bus, cs); + let _sensor = DummySpiDeviceDriver::new(spi_dev); + loop { + info!("spi task B"); + Timer::after_secs(1).await; + } +} + +// Dummy I2C device driver, using `embedded-hal-async` +struct DummyI2cDeviceDriver { + _i2c: I2C, +} + +impl DummyI2cDeviceDriver { + fn new(i2c_dev: I2C, _address: u8) -> Self { + Self { _i2c: i2c_dev } + } +} + +// Dummy SPI device driver, using `embedded-hal-async` +struct DummySpiDeviceDriver { + _spi: SPI, +} + +impl DummySpiDeviceDriver { + fn new(spi_dev: SPI) -> Self { + Self { _spi: spi_dev } + } +} diff --git a/examples/rp23/src/bin/sharing.rs b/examples/rp23/src/bin/sharing.rs new file mode 100644 index 000000000..10f064947 --- /dev/null +++ b/examples/rp23/src/bin/sharing.rs @@ -0,0 +1,166 @@ +//! This example shows some common strategies for sharing resources between tasks. +//! +//! We demonstrate five different ways of sharing, covering different use cases: +//! - Atomics: This method is used for simple values, such as bool and u8..u32 +//! - Blocking Mutex: This is used for sharing non-async things, using Cell/RefCell for interior mutability. +//! - Async Mutex: This is used for sharing async resources, where you need to hold the lock across await points. +//! The async Mutex has interior mutability built-in, so no RefCell is needed. +//! - Cell: For sharing Copy types between tasks running on the same executor. +//! - RefCell: When you want &mut access to a value shared between tasks running on the same executor. +//! +//! More information: https://embassy.dev/book/#_sharing_peripherals_between_tasks + +#![no_std] +#![no_main] + +use core::cell::{Cell, RefCell}; +use core::sync::atomic::{AtomicU32, Ordering}; + +use cortex_m_rt::entry; +use defmt::info; +use embassy_executor::{Executor, InterruptExecutor}; +use embassy_rp::clocks::RoscRng; +use embassy_rp::interrupt::{Priority, InterruptExt}; +use embassy_rp::peripherals::UART0; +use embassy_rp::uart::{self, InterruptHandler, UartTx}; +use embassy_rp::{bind_interrupts, interrupt}; +use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; +use embassy_sync::{blocking_mutex, mutex}; +use embassy_time::{Duration, Ticker}; +use rand::RngCore; +use static_cell::{ConstStaticCell, StaticCell}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +type UartAsyncMutex = mutex::Mutex>; + +struct MyType { + inner: u32, +} + +static EXECUTOR_HI: InterruptExecutor = InterruptExecutor::new(); +static EXECUTOR_LOW: StaticCell = StaticCell::new(); + +// Use Atomics for simple values +static ATOMIC: AtomicU32 = AtomicU32::new(0); + +// Use blocking Mutex with Cell/RefCell for sharing non-async things +static MUTEX_BLOCKING: blocking_mutex::Mutex> = + blocking_mutex::Mutex::new(RefCell::new(MyType { inner: 0 })); + +bind_interrupts!(struct Irqs { + UART0_IRQ => InterruptHandler; +}); + +#[interrupt] +unsafe fn SWI_IRQ_0() { + EXECUTOR_HI.on_interrupt() +} + +#[entry] +fn main() -> ! { + let p = embassy_rp::init(Default::default()); + info!("Here we go!"); + + let uart = UartTx::new(p.UART0, p.PIN_0, p.DMA_CH0, uart::Config::default()); + // Use the async Mutex for sharing async things (built-in interior mutability) + static UART: StaticCell = StaticCell::new(); + let uart = UART.init(mutex::Mutex::new(uart)); + + // High-priority executor: runs in interrupt mode + interrupt::SWI_IRQ_0.set_priority(Priority::P3); + let spawner = EXECUTOR_HI.start(interrupt::SWI_IRQ_0); + spawner.must_spawn(task_a(uart)); + + // Low priority executor: runs in thread mode + let executor = EXECUTOR_LOW.init(Executor::new()); + executor.run(|spawner| { + // No Mutex needed when sharing between tasks running on the same executor + + // Use Cell for Copy-types + static CELL: ConstStaticCell> = ConstStaticCell::new(Cell::new([0; 4])); + let cell = CELL.take(); + + // Use RefCell for &mut access + static REF_CELL: ConstStaticCell> = ConstStaticCell::new(RefCell::new(MyType { inner: 0 })); + let ref_cell = REF_CELL.take(); + + spawner.must_spawn(task_b(uart, cell, ref_cell)); + spawner.must_spawn(task_c(cell, ref_cell)); + }); +} + +#[embassy_executor::task] +async fn task_a(uart: &'static UartAsyncMutex) { + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + let random = RoscRng.next_u32(); + + { + let mut uart = uart.lock().await; + uart.write(b"task a").await.unwrap(); + // The uart lock is released when it goes out of scope + } + + ATOMIC.store(random, Ordering::Relaxed); + + MUTEX_BLOCKING.lock(|x| x.borrow_mut().inner = random); + + ticker.next().await; + } +} + +#[embassy_executor::task] +async fn task_b(uart: &'static UartAsyncMutex, cell: &'static Cell<[u8; 4]>, ref_cell: &'static RefCell) { + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + let random = RoscRng.next_u32(); + + uart.lock().await.write(b"task b").await.unwrap(); + + cell.set(random.to_be_bytes()); + + ref_cell.borrow_mut().inner = random; + + ticker.next().await; + } +} + +#[embassy_executor::task] +async fn task_c(cell: &'static Cell<[u8; 4]>, ref_cell: &'static RefCell) { + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + info!("======================="); + + let atomic_val = ATOMIC.load(Ordering::Relaxed); + info!("atomic: {}", atomic_val); + + MUTEX_BLOCKING.lock(|x| { + let val = x.borrow().inner; + info!("blocking mutex: {}", val); + }); + + let cell_val = cell.get(); + info!("cell: {:?}", cell_val); + + let ref_cell_val = ref_cell.borrow().inner; + info!("ref_cell: {:?}", ref_cell_val); + + ticker.next().await; + } +} diff --git a/examples/rp23/src/bin/spi.rs b/examples/rp23/src/bin/spi.rs new file mode 100644 index 000000000..bcf356188 --- /dev/null +++ b/examples/rp23/src/bin/spi.rs @@ -0,0 +1,62 @@ +//! This example shows how to use SPI (Serial Peripheral Interface) in the RP2040 chip. +//! +//! Example for resistive touch sensor in Waveshare Pico-ResTouch + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::spi::Spi; +use embassy_rp::{gpio, spi}; +use gpio::{Level, Output}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Hello World!"); + + // Example for resistive touch sensor in Waveshare Pico-ResTouch + + let miso = p.PIN_12; + let mosi = p.PIN_11; + let clk = p.PIN_10; + let touch_cs = p.PIN_16; + + // create SPI + let mut config = spi::Config::default(); + config.frequency = 2_000_000; + let mut spi = Spi::new_blocking(p.SPI1, clk, mosi, miso, config); + + // Configure CS + let mut cs = Output::new(touch_cs, Level::Low); + + loop { + cs.set_low(); + let mut buf = [0x90, 0x00, 0x00, 0xd0, 0x00, 0x00]; + spi.blocking_transfer_in_place(&mut buf).unwrap(); + cs.set_high(); + + let x = (buf[1] as u32) << 5 | (buf[2] as u32) >> 3; + let y = (buf[4] as u32) << 5 | (buf[5] as u32) >> 3; + + info!("touch: {=u32} {=u32}", x, y); + } +} diff --git a/examples/rp23/src/bin/spi_async.rs b/examples/rp23/src/bin/spi_async.rs new file mode 100644 index 000000000..7a43995d2 --- /dev/null +++ b/examples/rp23/src/bin/spi_async.rs @@ -0,0 +1,47 @@ +//! This example shows how to use SPI (Serial Peripheral Interface) in the RP2040 chip. +//! No specific hardware is specified in this example. If you connect pin 11 and 12 you should get the same data back. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::spi::{Config, Spi}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Hello World!"); + + let miso = p.PIN_12; + let mosi = p.PIN_11; + let clk = p.PIN_10; + + let mut spi = Spi::new(p.SPI1, clk, mosi, miso, p.DMA_CH0, p.DMA_CH1, Config::default()); + + loop { + let tx_buf = [1_u8, 2, 3, 4, 5, 6]; + let mut rx_buf = [0_u8; 6]; + spi.transfer(&mut rx_buf, &tx_buf).await.unwrap(); + info!("{:?}", rx_buf); + Timer::after_secs(1).await; + } +} diff --git a/examples/rp23/src/bin/spi_display.rs b/examples/rp23/src/bin/spi_display.rs new file mode 100644 index 000000000..25368bb94 --- /dev/null +++ b/examples/rp23/src/bin/spi_display.rs @@ -0,0 +1,328 @@ +//! This example shows how to use SPI (Serial Peripheral Interface) in the RP2040 chip. +//! +//! Example written for a display using the ST7789 chip. Possibly the Waveshare Pico-ResTouch +//! (https://www.waveshare.com/wiki/Pico-ResTouch-LCD-2.8) + +#![no_std] +#![no_main] + +use core::cell::RefCell; + +use defmt::*; +use embassy_embedded_hal::shared_bus::blocking::spi::SpiDeviceWithConfig; +use embassy_executor::Spawner; +use embassy_rp::gpio::{Level, Output}; +use embassy_rp::spi; +use embassy_rp::spi::{Blocking, Spi}; +use embassy_sync::blocking_mutex::raw::NoopRawMutex; +use embassy_sync::blocking_mutex::Mutex; +use embassy_time::Delay; +use embedded_graphics::image::{Image, ImageRawLE}; +use embedded_graphics::mono_font::ascii::FONT_10X20; +use embedded_graphics::mono_font::MonoTextStyle; +use embedded_graphics::pixelcolor::Rgb565; +use embedded_graphics::prelude::*; +use embedded_graphics::primitives::{PrimitiveStyleBuilder, Rectangle}; +use embedded_graphics::text::Text; +use st7789::{Orientation, ST7789}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +use crate::my_display_interface::SPIDeviceInterface; +use crate::touch::Touch; + +const DISPLAY_FREQ: u32 = 64_000_000; +const TOUCH_FREQ: u32 = 200_000; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Hello World!"); + + let bl = p.PIN_13; + let rst = p.PIN_15; + let display_cs = p.PIN_9; + let dcx = p.PIN_8; + let miso = p.PIN_12; + let mosi = p.PIN_11; + let clk = p.PIN_10; + let touch_cs = p.PIN_16; + //let touch_irq = p.PIN_17; + + // create SPI + let mut display_config = spi::Config::default(); + display_config.frequency = DISPLAY_FREQ; + display_config.phase = spi::Phase::CaptureOnSecondTransition; + display_config.polarity = spi::Polarity::IdleHigh; + let mut touch_config = spi::Config::default(); + touch_config.frequency = TOUCH_FREQ; + touch_config.phase = spi::Phase::CaptureOnSecondTransition; + touch_config.polarity = spi::Polarity::IdleHigh; + + let spi: Spi<'_, _, Blocking> = Spi::new_blocking(p.SPI1, clk, mosi, miso, touch_config.clone()); + let spi_bus: Mutex = Mutex::new(RefCell::new(spi)); + + let display_spi = SpiDeviceWithConfig::new(&spi_bus, Output::new(display_cs, Level::High), display_config); + let touch_spi = SpiDeviceWithConfig::new(&spi_bus, Output::new(touch_cs, Level::High), touch_config); + + let mut touch = Touch::new(touch_spi); + + let dcx = Output::new(dcx, Level::Low); + let rst = Output::new(rst, Level::Low); + // dcx: 0 = command, 1 = data + + // Enable LCD backlight + let _bl = Output::new(bl, Level::High); + + // display interface abstraction from SPI and DC + let di = SPIDeviceInterface::new(display_spi, dcx); + + // create driver + let mut display = ST7789::new(di, rst, 240, 320); + + // initialize + display.init(&mut Delay).unwrap(); + + // set default orientation + display.set_orientation(Orientation::Landscape).unwrap(); + + display.clear(Rgb565::BLACK).unwrap(); + + let raw_image_data = ImageRawLE::new(include_bytes!("../../assets/ferris.raw"), 86); + let ferris = Image::new(&raw_image_data, Point::new(34, 68)); + + // Display the image + ferris.draw(&mut display).unwrap(); + + let style = MonoTextStyle::new(&FONT_10X20, Rgb565::GREEN); + Text::new( + "Hello embedded_graphics \n + embassy + RP2040!", + Point::new(20, 200), + style, + ) + .draw(&mut display) + .unwrap(); + + loop { + if let Some((x, y)) = touch.read() { + let style = PrimitiveStyleBuilder::new().fill_color(Rgb565::BLUE).build(); + + Rectangle::new(Point::new(x - 1, y - 1), Size::new(3, 3)) + .into_styled(style) + .draw(&mut display) + .unwrap(); + } + } +} + +/// Driver for the XPT2046 resistive touchscreen sensor +mod touch { + use embedded_hal_1::spi::{Operation, SpiDevice}; + + struct Calibration { + x1: i32, + x2: i32, + y1: i32, + y2: i32, + sx: i32, + sy: i32, + } + + const CALIBRATION: Calibration = Calibration { + x1: 3880, + x2: 340, + y1: 262, + y2: 3850, + sx: 320, + sy: 240, + }; + + pub struct Touch { + spi: SPI, + } + + impl Touch + where + SPI: SpiDevice, + { + pub fn new(spi: SPI) -> Self { + Self { spi } + } + + pub fn read(&mut self) -> Option<(i32, i32)> { + let mut x = [0; 2]; + let mut y = [0; 2]; + self.spi + .transaction(&mut [ + Operation::Write(&[0x90]), + Operation::Read(&mut x), + Operation::Write(&[0xd0]), + Operation::Read(&mut y), + ]) + .unwrap(); + + let x = (u16::from_be_bytes(x) >> 3) as i32; + let y = (u16::from_be_bytes(y) >> 3) as i32; + + let cal = &CALIBRATION; + + let x = ((x - cal.x1) * cal.sx / (cal.x2 - cal.x1)).clamp(0, cal.sx); + let y = ((y - cal.y1) * cal.sy / (cal.y2 - cal.y1)).clamp(0, cal.sy); + if x == 0 && y == 0 { + None + } else { + Some((x, y)) + } + } + } +} + +mod my_display_interface { + use display_interface::{DataFormat, DisplayError, WriteOnlyDataCommand}; + use embedded_hal_1::digital::OutputPin; + use embedded_hal_1::spi::SpiDevice; + + /// SPI display interface. + /// + /// This combines the SPI peripheral and a data/command pin + pub struct SPIDeviceInterface { + spi: SPI, + dc: DC, + } + + impl SPIDeviceInterface + where + SPI: SpiDevice, + DC: OutputPin, + { + /// Create new SPI interface for communciation with a display driver + pub fn new(spi: SPI, dc: DC) -> Self { + Self { spi, dc } + } + } + + impl WriteOnlyDataCommand for SPIDeviceInterface + where + SPI: SpiDevice, + DC: OutputPin, + { + fn send_commands(&mut self, cmds: DataFormat<'_>) -> Result<(), DisplayError> { + // 1 = data, 0 = command + self.dc.set_low().map_err(|_| DisplayError::DCError)?; + + send_u8(&mut self.spi, cmds).map_err(|_| DisplayError::BusWriteError)?; + Ok(()) + } + + fn send_data(&mut self, buf: DataFormat<'_>) -> Result<(), DisplayError> { + // 1 = data, 0 = command + self.dc.set_high().map_err(|_| DisplayError::DCError)?; + + send_u8(&mut self.spi, buf).map_err(|_| DisplayError::BusWriteError)?; + Ok(()) + } + } + + fn send_u8(spi: &mut T, words: DataFormat<'_>) -> Result<(), T::Error> { + match words { + DataFormat::U8(slice) => spi.write(slice), + DataFormat::U16(slice) => { + use byte_slice_cast::*; + spi.write(slice.as_byte_slice()) + } + DataFormat::U16LE(slice) => { + use byte_slice_cast::*; + for v in slice.as_mut() { + *v = v.to_le(); + } + spi.write(slice.as_byte_slice()) + } + DataFormat::U16BE(slice) => { + use byte_slice_cast::*; + for v in slice.as_mut() { + *v = v.to_be(); + } + spi.write(slice.as_byte_slice()) + } + DataFormat::U8Iter(iter) => { + let mut buf = [0; 32]; + let mut i = 0; + + for v in iter.into_iter() { + buf[i] = v; + i += 1; + + if i == buf.len() { + spi.write(&buf)?; + i = 0; + } + } + + if i > 0 { + spi.write(&buf[..i])?; + } + + Ok(()) + } + DataFormat::U16LEIter(iter) => { + use byte_slice_cast::*; + let mut buf = [0; 32]; + let mut i = 0; + + for v in iter.map(u16::to_le) { + buf[i] = v; + i += 1; + + if i == buf.len() { + spi.write(&buf.as_byte_slice())?; + i = 0; + } + } + + if i > 0 { + spi.write(&buf[..i].as_byte_slice())?; + } + + Ok(()) + } + DataFormat::U16BEIter(iter) => { + use byte_slice_cast::*; + let mut buf = [0; 64]; + let mut i = 0; + let len = buf.len(); + + for v in iter.map(u16::to_be) { + buf[i] = v; + i += 1; + + if i == len { + spi.write(&buf.as_byte_slice())?; + i = 0; + } + } + + if i > 0 { + spi.write(&buf[..i].as_byte_slice())?; + } + + Ok(()) + } + _ => unimplemented!(), + } + } +} diff --git a/examples/rp23/src/bin/spi_sdmmc.rs b/examples/rp23/src/bin/spi_sdmmc.rs new file mode 100644 index 000000000..992215b0d --- /dev/null +++ b/examples/rp23/src/bin/spi_sdmmc.rs @@ -0,0 +1,99 @@ +//! This example shows how to use `embedded-sdmmc` with the RP2040 chip, over SPI. +//! +//! The example will attempt to read a file `MY_FILE.TXT` from the root directory +//! of the SD card and print its contents. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_embedded_hal::SetConfig; +use embassy_executor::Spawner; +use embassy_rp::spi::Spi; +use embassy_rp::{gpio, spi}; +use embedded_hal_bus::spi::ExclusiveDevice; +use embedded_sdmmc::sdcard::{DummyCsPin, SdCard}; +use gpio::{Level, Output}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +struct DummyTimesource(); + +impl embedded_sdmmc::TimeSource for DummyTimesource { + fn get_timestamp(&self) -> embedded_sdmmc::Timestamp { + embedded_sdmmc::Timestamp { + year_since_1970: 0, + zero_indexed_month: 0, + zero_indexed_day: 0, + hours: 0, + minutes: 0, + seconds: 0, + } + } +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + embassy_rp::pac::SIO.spinlock(31).write_value(1); + let p = embassy_rp::init(Default::default()); + + // SPI clock needs to be running at <= 400kHz during initialization + let mut config = spi::Config::default(); + config.frequency = 400_000; + let spi = Spi::new_blocking(p.SPI1, p.PIN_10, p.PIN_11, p.PIN_12, config); + // Use a dummy cs pin here, for embedded-hal SpiDevice compatibility reasons + let spi_dev = ExclusiveDevice::new_no_delay(spi, DummyCsPin); + // Real cs pin + let cs = Output::new(p.PIN_16, Level::High); + + let sdcard = SdCard::new(spi_dev, cs, embassy_time::Delay); + info!("Card size is {} bytes", sdcard.num_bytes().unwrap()); + + // Now that the card is initialized, the SPI clock can go faster + let mut config = spi::Config::default(); + config.frequency = 16_000_000; + sdcard.spi(|dev| dev.bus_mut().set_config(&config)).ok(); + + // Now let's look for volumes (also known as partitions) on our block device. + // To do this we need a Volume Manager. It will take ownership of the block device. + let mut volume_mgr = embedded_sdmmc::VolumeManager::new(sdcard, DummyTimesource()); + + // Try and access Volume 0 (i.e. the first partition). + // The volume object holds information about the filesystem on that volume. + let mut volume0 = volume_mgr.open_volume(embedded_sdmmc::VolumeIdx(0)).unwrap(); + info!("Volume 0: {:?}", defmt::Debug2Format(&volume0)); + + // Open the root directory (mutably borrows from the volume). + let mut root_dir = volume0.open_root_dir().unwrap(); + + // Open a file called "MY_FILE.TXT" in the root directory + // This mutably borrows the directory. + let mut my_file = root_dir + .open_file_in_dir("MY_FILE.TXT", embedded_sdmmc::Mode::ReadOnly) + .unwrap(); + + // Print the contents of the file + while !my_file.is_eof() { + let mut buf = [0u8; 32]; + if let Ok(n) = my_file.read(&mut buf) { + info!("{:a}", buf[..n]); + } + } + + loop {} +} diff --git a/examples/rp23/src/bin/uart.rs b/examples/rp23/src/bin/uart.rs new file mode 100644 index 000000000..7b82fa350 --- /dev/null +++ b/examples/rp23/src/bin/uart.rs @@ -0,0 +1,40 @@ +//! This example shows how to use UART (Universal asynchronous receiver-transmitter) in the RP2040 chip. +//! +//! No specific hardware is specified in this example. Only output on pin 0 is tested. +//! The Raspberry Pi Debug Probe (https://www.raspberrypi.com/products/debug-probe/) could be used +//! with its UART port. + +#![no_std] +#![no_main] + +use embassy_executor::Spawner; +use embassy_rp::uart; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let config = uart::Config::default(); + let mut uart = uart::Uart::new_blocking(p.UART1, p.PIN_4, p.PIN_5, config); + uart.blocking_write("Hello World!\r\n".as_bytes()).unwrap(); + + loop { + uart.blocking_write("hello there!\r\n".as_bytes()).unwrap(); + cortex_m::asm::delay(1_000_000); + } +} diff --git a/examples/rp23/src/bin/uart_buffered_split.rs b/examples/rp23/src/bin/uart_buffered_split.rs new file mode 100644 index 000000000..f7acdade9 --- /dev/null +++ b/examples/rp23/src/bin/uart_buffered_split.rs @@ -0,0 +1,74 @@ +//! This example shows how to use UART (Universal asynchronous receiver-transmitter) in the RP2040 chip. +//! +//! No specific hardware is specified in this example. If you connect pin 0 and 1 you should get the same data back. +//! The Raspberry Pi Debug Probe (https://www.raspberrypi.com/products/debug-probe/) could be used +//! with its UART port. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::peripherals::UART0; +use embassy_rp::uart::{BufferedInterruptHandler, BufferedUart, BufferedUartRx, Config}; +use embassy_time::Timer; +use embedded_io_async::{Read, Write}; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + UART0_IRQ => BufferedInterruptHandler; +}); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let (tx_pin, rx_pin, uart) = (p.PIN_0, p.PIN_1, p.UART0); + + static TX_BUF: StaticCell<[u8; 16]> = StaticCell::new(); + let tx_buf = &mut TX_BUF.init([0; 16])[..]; + static RX_BUF: StaticCell<[u8; 16]> = StaticCell::new(); + let rx_buf = &mut RX_BUF.init([0; 16])[..]; + let uart = BufferedUart::new(uart, Irqs, tx_pin, rx_pin, tx_buf, rx_buf, Config::default()); + let (mut tx, rx) = uart.split(); + + unwrap!(spawner.spawn(reader(rx))); + + info!("Writing..."); + loop { + let data = [ + 1u8, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, + ]; + info!("TX {:?}", data); + tx.write_all(&data).await.unwrap(); + Timer::after_secs(1).await; + } +} + +#[embassy_executor::task] +async fn reader(mut rx: BufferedUartRx<'static, UART0>) { + info!("Reading..."); + loop { + let mut buf = [0; 31]; + rx.read_exact(&mut buf).await.unwrap(); + info!("RX {:?}", buf); + } +} diff --git a/examples/rp23/src/bin/uart_r503.rs b/examples/rp23/src/bin/uart_r503.rs new file mode 100644 index 000000000..69f6dbbff --- /dev/null +++ b/examples/rp23/src/bin/uart_r503.rs @@ -0,0 +1,174 @@ +#![no_std] +#![no_main] + +use defmt::{debug, error, info}; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::peripherals::UART0; +use embassy_rp::uart::{Config, DataBits, InterruptHandler as UARTInterruptHandler, Parity, StopBits, Uart}; +use embassy_time::{with_timeout, Duration, Timer}; +use heapless::Vec; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(pub struct Irqs { + UART0_IRQ => UARTInterruptHandler; +}); + +const START: u16 = 0xEF01; +const ADDRESS: u32 = 0xFFFFFFFF; + +// ================================================================================ + +// Data package format +// Name Length Description +// ========================================================================================================== +// Start 2 bytes Fixed value of 0xEF01; High byte transferred first. +// Address 4 bytes Default value is 0xFFFFFFFF, which can be modified by command. +// High byte transferred first and at wrong adder value, module +// will reject to transfer. +// PID 1 byte 01H Command packet; +// 02H Data packet; Data packet shall not appear alone in executing +// processs, must follow command packet or acknowledge packet. +// 07H Acknowledge packet; +// 08H End of Data packet. +// LENGTH 2 bytes Refers to the length of package content (command packets and data packets) +// plus the length of Checksum (2 bytes). Unit is byte. Max length is 256 bytes. +// And high byte is transferred first. +// DATA - It can be commands, data, command’s parameters, acknowledge result, etc. +// (fingerprint character value, template are all deemed as data); +// SUM 2 bytes The arithmetic sum of package identifier, package length and all package +// contens. Overflowing bits are omitted. high byte is transferred first. + +// ================================================================================ + +// Checksum is calculated on 'length (2 bytes) + data (??)'. +fn compute_checksum(buf: Vec) -> u16 { + let mut checksum = 0u16; + + let check_end = buf.len(); + let checked_bytes = &buf[6..check_end]; + for byte in checked_bytes { + checksum += (*byte) as u16; + } + return checksum; +} + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + info!("Start"); + + let p = embassy_rp::init(Default::default()); + + // Initialize the fingerprint scanner. + let mut config = Config::default(); + config.baudrate = 57600; + config.stop_bits = StopBits::STOP1; + config.data_bits = DataBits::DataBits8; + config.parity = Parity::ParityNone; + + let (uart, tx_pin, tx_dma, rx_pin, rx_dma) = (p.UART0, p.PIN_16, p.DMA_CH0, p.PIN_17, p.DMA_CH1); + let uart = Uart::new(uart, tx_pin, rx_pin, Irqs, tx_dma, rx_dma, config); + let (mut tx, mut rx) = uart.split(); + + let mut vec_buf: Vec = heapless::Vec::new(); + let mut data: Vec = heapless::Vec::new(); + + let mut speeds: Vec = heapless::Vec::new(); + let _ = speeds.push(0xC8); // Slow + let _ = speeds.push(0x20); // Medium + let _ = speeds.push(0x02); // Fast + + // Cycle through the three colours Red, Blue and Purple forever. + loop { + for colour in 1..=3 { + for speed in &speeds { + // Set the data first, because the length is dependent on that. + // However, we write the length bits before we do the data. + data.clear(); + let _ = data.push(0x01); // ctrl=Breathing light + let _ = data.push(*speed); + let _ = data.push(colour as u8); // colour=Red, Blue, Purple + let _ = data.push(0x00); // times=Infinite + + // Clear buffers + vec_buf.clear(); + + // START + let _ = vec_buf.extend_from_slice(&START.to_be_bytes()[..]); + + // ADDRESS + let _ = vec_buf.extend_from_slice(&ADDRESS.to_be_bytes()[..]); + + // PID + let _ = vec_buf.extend_from_slice(&[0x01]); + + // LENGTH + let len: u16 = (1 + data.len() + 2).try_into().unwrap(); + let _ = vec_buf.extend_from_slice(&len.to_be_bytes()[..]); + + // COMMAND + let _ = vec_buf.push(0x35); // Command: AuraLedConfig + + // DATA + let _ = vec_buf.extend_from_slice(&data); + + // SUM + let chk = compute_checksum(vec_buf.clone()); + let _ = vec_buf.extend_from_slice(&chk.to_be_bytes()[..]); + + // ===== + + // Send command buffer. + let data_write: [u8; 16] = vec_buf.clone().into_array().unwrap(); + debug!(" write='{:?}'", data_write[..]); + match tx.write(&data_write).await { + Ok(..) => info!("Write successful."), + Err(e) => error!("Write error: {:?}", e), + } + + // ===== + + // Read command buffer. + let mut read_buf: [u8; 1] = [0; 1]; // Can only read one byte at a time! + let mut data_read: Vec = heapless::Vec::new(); // Save buffer. + + info!("Attempting read."); + loop { + // Some commands, like `Img2Tz()` needs longer, but we hard-code this to 200ms + // for this command. + match with_timeout(Duration::from_millis(200), rx.read(&mut read_buf)).await { + Ok(..) => { + // Extract and save read byte. + debug!(" r='{=u8:#04x}H' ({:03}D)", read_buf[0], read_buf[0]); + let _ = data_read.push(read_buf[0]).unwrap(); + } + Err(..) => break, // TimeoutError -> Ignore. + } + } + info!("Read successful"); + debug!(" read='{:?}'", data_read[..]); + + Timer::after_secs(3).await; + info!("Changing speed."); + } + + info!("Changing colour."); + } + } +} diff --git a/examples/rp23/src/bin/uart_unidir.rs b/examples/rp23/src/bin/uart_unidir.rs new file mode 100644 index 000000000..4d3163285 --- /dev/null +++ b/examples/rp23/src/bin/uart_unidir.rs @@ -0,0 +1,66 @@ +//! This example shows how to use UART (Universal asynchronous receiver-transmitter) in the RP2040 chip. +//! +//! Test TX-only and RX-only on two different UARTs. You need to connect GPIO0 to GPIO5 for +//! this to work +//! The Raspberry Pi Debug Probe (https://www.raspberrypi.com/products/debug-probe/) could be used +//! with its UART port. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::peripherals::UART1; +use embassy_rp::uart::{Async, Config, InterruptHandler, UartRx, UartTx}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + UART1_IRQ => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + let mut uart_tx = UartTx::new(p.UART0, p.PIN_0, p.DMA_CH0, Config::default()); + let uart_rx = UartRx::new(p.UART1, p.PIN_5, Irqs, p.DMA_CH1, Config::default()); + + unwrap!(spawner.spawn(reader(uart_rx))); + + info!("Writing..."); + loop { + let data = [1u8, 2, 3, 4, 5, 6, 7, 8]; + info!("TX {:?}", data); + uart_tx.write(&data).await.unwrap(); + Timer::after_secs(1).await; + } +} + +#[embassy_executor::task] +async fn reader(mut rx: UartRx<'static, UART1, Async>) { + info!("Reading..."); + loop { + // read a total of 4 transmissions (32 / 8) and then print the result + let mut buf = [0; 32]; + rx.read(&mut buf).await.unwrap(); + info!("RX {:?}", buf); + } +} diff --git a/examples/rp23/src/bin/usb_webusb.rs b/examples/rp23/src/bin/usb_webusb.rs new file mode 100644 index 000000000..c9cab45c1 --- /dev/null +++ b/examples/rp23/src/bin/usb_webusb.rs @@ -0,0 +1,171 @@ +//! This example shows how to use USB (Universal Serial Bus) in the RP2040 chip. +//! +//! This creates a WebUSB capable device that echoes data back to the host. +//! +//! To test this in the browser (ideally host this on localhost:8080, to test the landing page +//! feature): +//! ```js +//! (async () => { +//! const device = await navigator.usb.requestDevice({ filters: [{ vendorId: 0xf569 }] }); +//! await device.open(); +//! await device.claimInterface(1); +//! device.transferIn(1, 64).then(data => console.log(data)); +//! await device.transferOut(1, new Uint8Array([1,2,3])); +//! })(); +//! ``` + +#![no_std] +#![no_main] + +use defmt::info; +use embassy_executor::Spawner; +use embassy_futures::join::join; +use embassy_rp::bind_interrupts; +use embassy_rp::peripherals::USB; +use embassy_rp::usb::{Driver as UsbDriver, InterruptHandler}; +use embassy_usb::class::web_usb::{Config as WebUsbConfig, State, Url, WebUsb}; +use embassy_usb::driver::{Driver, Endpoint, EndpointIn, EndpointOut}; +use embassy_usb::msos::{self, windows_version}; +use embassy_usb::{Builder, Config}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +bind_interrupts!(struct Irqs { + USBCTRL_IRQ => InterruptHandler; +}); + +// This is a randomly generated GUID to allow clients on Windows to find our device +const DEVICE_INTERFACE_GUIDS: &[&str] = &["{AFB9A6FB-30BA-44BC-9232-806CFC875321}"]; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + // Create the driver, from the HAL. + let driver = UsbDriver::new(p.USB, Irqs); + + // Create embassy-usb Config + let mut config = Config::new(0xf569, 0x0001); + config.manufacturer = Some("Embassy"); + config.product = Some("WebUSB example"); + config.serial_number = Some("12345678"); + config.max_power = 100; + config.max_packet_size_0 = 64; + + // Required for windows compatibility. + // https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_CDC_ACM_IAD.html#help + config.device_class = 0xff; + config.device_sub_class = 0x00; + config.device_protocol = 0x00; + + // Create embassy-usb DeviceBuilder using the driver and config. + // It needs some buffers for building the descriptors. + let mut config_descriptor = [0; 256]; + let mut bos_descriptor = [0; 256]; + let mut control_buf = [0; 64]; + let mut msos_descriptor = [0; 256]; + + let webusb_config = WebUsbConfig { + max_packet_size: 64, + vendor_code: 1, + // If defined, shows a landing page which the device manufacturer would like the user to visit in order to control their device. Suggest the user to navigate to this URL when the device is connected. + landing_url: Some(Url::new("http://localhost:8080")), + }; + + let mut state = State::new(); + + let mut builder = Builder::new( + driver, + config, + &mut config_descriptor, + &mut bos_descriptor, + &mut msos_descriptor, + &mut control_buf, + ); + + // Add the Microsoft OS Descriptor (MSOS/MOD) descriptor. + // We tell Windows that this entire device is compatible with the "WINUSB" feature, + // which causes it to use the built-in WinUSB driver automatically, which in turn + // can be used by libusb/rusb software without needing a custom driver or INF file. + // In principle you might want to call msos_feature() just on a specific function, + // if your device also has other functions that still use standard class drivers. + builder.msos_descriptor(windows_version::WIN8_1, 0); + builder.msos_feature(msos::CompatibleIdFeatureDescriptor::new("WINUSB", "")); + builder.msos_feature(msos::RegistryPropertyFeatureDescriptor::new( + "DeviceInterfaceGUIDs", + msos::PropertyData::RegMultiSz(DEVICE_INTERFACE_GUIDS), + )); + + // Create classes on the builder (WebUSB just needs some setup, but doesn't return anything) + WebUsb::configure(&mut builder, &mut state, &webusb_config); + // Create some USB bulk endpoints for testing. + let mut endpoints = WebEndpoints::new(&mut builder, &webusb_config); + + // Build the builder. + let mut usb = builder.build(); + + // Run the USB device. + let usb_fut = usb.run(); + + // Do some WebUSB transfers. + let webusb_fut = async { + loop { + endpoints.wait_connected().await; + info!("Connected"); + endpoints.echo().await; + } + }; + + // Run everything concurrently. + // If we had made everything `'static` above instead, we could do this using separate tasks instead. + join(usb_fut, webusb_fut).await; +} + +struct WebEndpoints<'d, D: Driver<'d>> { + write_ep: D::EndpointIn, + read_ep: D::EndpointOut, +} + +impl<'d, D: Driver<'d>> WebEndpoints<'d, D> { + fn new(builder: &mut Builder<'d, D>, config: &'d WebUsbConfig<'d>) -> Self { + let mut func = builder.function(0xff, 0x00, 0x00); + let mut iface = func.interface(); + let mut alt = iface.alt_setting(0xff, 0x00, 0x00, None); + + let write_ep = alt.endpoint_bulk_in(config.max_packet_size); + let read_ep = alt.endpoint_bulk_out(config.max_packet_size); + + WebEndpoints { write_ep, read_ep } + } + + // Wait until the device's endpoints are enabled. + async fn wait_connected(&mut self) { + self.read_ep.wait_enabled().await + } + + // Echo data back to the host. + async fn echo(&mut self) { + let mut buf = [0; 64]; + loop { + let n = self.read_ep.read(&mut buf).await.unwrap(); + let data = &buf[..n]; + info!("Data read: {:x}", data); + self.write_ep.write(data).await.unwrap(); + } + } +} diff --git a/examples/rp23/src/bin/watchdog.rs b/examples/rp23/src/bin/watchdog.rs new file mode 100644 index 000000000..8cc723150 --- /dev/null +++ b/examples/rp23/src/bin/watchdog.rs @@ -0,0 +1,67 @@ +//! This example shows how to use Watchdog in the RP2040 chip. +//! +//! It does not work with the RP Pico W board. See wifi_blinky.rs or connect external LED and resistor. + +#![no_std] +#![no_main] + +use defmt::info; +use embassy_executor::Spawner; +use embassy_rp::gpio; +use embassy_rp::watchdog::*; +use embassy_time::{Duration, Timer}; +use gpio::{Level, Output}; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Hello world!"); + + let mut watchdog = Watchdog::new(p.WATCHDOG); + let mut led = Output::new(p.PIN_25, Level::Low); + + // Set the LED high for 2 seconds so we know when we're about to start the watchdog + led.set_high(); + Timer::after_secs(2).await; + + // Set to watchdog to reset if it's not fed within 1.05 seconds, and start it + watchdog.start(Duration::from_millis(1_050)); + info!("Started the watchdog timer"); + + // Blink once a second for 5 seconds, feed the watchdog timer once a second to avoid a reset + for _ in 1..=5 { + led.set_low(); + Timer::after_millis(500).await; + led.set_high(); + Timer::after_millis(500).await; + info!("Feeding watchdog"); + watchdog.feed(); + } + + info!("Stopped feeding, device will reset in 1.05 seconds"); + // Blink 10 times per second, not feeding the watchdog. + // The processor should reset in 1.05 seconds. + loop { + led.set_low(); + Timer::after_millis(100).await; + led.set_high(); + Timer::after_millis(100).await; + } +} diff --git a/examples/rp23/src/bin/zerocopy.rs b/examples/rp23/src/bin/zerocopy.rs new file mode 100644 index 000000000..e379d9c00 --- /dev/null +++ b/examples/rp23/src/bin/zerocopy.rs @@ -0,0 +1,110 @@ +//! This example shows how to use `zerocopy_channel` from `embassy_sync` for +//! sending large values between two tasks without copying. +//! The example also shows how to use the RP2040 ADC with DMA. +#![no_std] +#![no_main] + +use core::sync::atomic::{AtomicU16, Ordering}; + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::adc::{self, Adc, Async, Config, InterruptHandler}; +use embassy_rp::bind_interrupts; +use embassy_rp::gpio::Pull; +use embassy_rp::peripherals::DMA_CH0; +use embassy_sync::blocking_mutex::raw::NoopRawMutex; +use embassy_sync::zerocopy_channel::{Channel, Receiver, Sender}; +use embassy_time::{Duration, Ticker, Timer}; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; +use embassy_rp::block::ImageDef; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info_rp_cargo_bin_name!(), + embassy_rp::binary_info_rp_cargo_version!(), + embassy_rp::binary_info_rp_program_description!(c"Blinky"), + embassy_rp::binary_info_rp_program_build_attribute!(), +]; + + +type SampleBuffer = [u16; 512]; + +bind_interrupts!(struct Irqs { + ADC_IRQ_FIFO => InterruptHandler; +}); + +const BLOCK_SIZE: usize = 512; +const NUM_BLOCKS: usize = 2; +static MAX: AtomicU16 = AtomicU16::new(0); + +struct AdcParts { + adc: Adc<'static, Async>, + pin: adc::Channel<'static>, + dma: DMA_CH0, +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + info!("Here we go!"); + + let adc_parts = AdcParts { + adc: Adc::new(p.ADC, Irqs, Config::default()), + pin: adc::Channel::new_pin(p.PIN_29, Pull::None), + dma: p.DMA_CH0, + }; + + static BUF: StaticCell<[SampleBuffer; NUM_BLOCKS]> = StaticCell::new(); + let buf = BUF.init([[0; BLOCK_SIZE]; NUM_BLOCKS]); + + static CHANNEL: StaticCell> = StaticCell::new(); + let channel = CHANNEL.init(Channel::new(buf)); + let (sender, receiver) = channel.split(); + + spawner.must_spawn(consumer(receiver)); + spawner.must_spawn(producer(sender, adc_parts)); + + let mut ticker = Ticker::every(Duration::from_secs(1)); + loop { + ticker.next().await; + let max = MAX.load(Ordering::Relaxed); + info!("latest block's max value: {:?}", max); + } +} + +#[embassy_executor::task] +async fn producer(mut sender: Sender<'static, NoopRawMutex, SampleBuffer>, mut adc: AdcParts) { + loop { + // Obtain a free buffer from the channel + let buf = sender.send().await; + + // Fill it with data + adc.adc.read_many(&mut adc.pin, buf, 1, &mut adc.dma).await.unwrap(); + + // Notify the channel that the buffer is now ready to be received + sender.send_done(); + } +} + +#[embassy_executor::task] +async fn consumer(mut receiver: Receiver<'static, NoopRawMutex, SampleBuffer>) { + loop { + // Receive a buffer from the channel + let buf = receiver.receive().await; + + // Simulate using the data, while the producer is filling up the next buffer + Timer::after_micros(1000).await; + let max = buf.iter().max().unwrap(); + MAX.store(*max, Ordering::Relaxed); + + // Notify the channel that the buffer is now ready to be reused + receiver.receive_done(); + } +} -- cgit From 6f03c40516b49104b33a51f6e189a7fc812c1068 Mon Sep 17 00:00:00 2001 From: Caleb Jamison Date: Thu, 8 Aug 2024 21:54:21 -0400 Subject: cargo fmt --- examples/rp23/src/bin/adc.rs | 3 +-- examples/rp23/src/bin/adc_dma.rs | 3 +-- examples/rp23/src/bin/assign_resources.rs | 3 +-- examples/rp23/src/bin/blinky.rs | 2 +- examples/rp23/src/bin/blinky_two_channels.rs | 3 +-- examples/rp23/src/bin/blinky_two_tasks.rs | 3 +-- examples/rp23/src/bin/button.rs | 3 +-- examples/rp23/src/bin/debounce.rs | 3 +-- examples/rp23/src/bin/flash.rs | 3 +-- examples/rp23/src/bin/gpio_async.rs | 3 +-- examples/rp23/src/bin/gpout.rs | 3 +-- examples/rp23/src/bin/i2c_async.rs | 3 +-- examples/rp23/src/bin/i2c_async_embassy.rs | 3 +-- examples/rp23/src/bin/i2c_blocking.rs | 3 +-- examples/rp23/src/bin/i2c_slave.rs | 2 +- examples/rp23/src/bin/interrupt.rs | 3 +-- examples/rp23/src/bin/multicore.rs | 3 +-- examples/rp23/src/bin/multiprio.rs | 3 +-- examples/rp23/src/bin/pio_async.rs | 3 +-- examples/rp23/src/bin/pio_dma.rs | 3 +-- examples/rp23/src/bin/pio_hd44780.rs | 3 +-- examples/rp23/src/bin/pio_i2s.rs | 3 +-- examples/rp23/src/bin/pio_pwm.rs | 3 +-- examples/rp23/src/bin/pio_rotary_encoder.rs | 3 +-- examples/rp23/src/bin/pio_servo.rs | 3 +-- examples/rp23/src/bin/pio_stepper.rs | 3 +-- examples/rp23/src/bin/pio_ws2812.rs | 3 +-- examples/rp23/src/bin/pwm.rs | 3 +-- examples/rp23/src/bin/pwm_input.rs | 3 +-- examples/rp23/src/bin/rosc.rs | 3 +-- examples/rp23/src/bin/shared_bus.rs | 3 +-- examples/rp23/src/bin/sharing.rs | 5 ++--- examples/rp23/src/bin/spi.rs | 3 +-- examples/rp23/src/bin/spi_async.rs | 3 +-- examples/rp23/src/bin/spi_display.rs | 3 +-- examples/rp23/src/bin/spi_sdmmc.rs | 3 +-- examples/rp23/src/bin/uart.rs | 2 +- examples/rp23/src/bin/uart_buffered_split.rs | 3 +-- examples/rp23/src/bin/uart_r503.rs | 3 +-- examples/rp23/src/bin/uart_unidir.rs | 3 +-- examples/rp23/src/bin/usb_webusb.rs | 3 +-- examples/rp23/src/bin/watchdog.rs | 3 +-- examples/rp23/src/bin/zerocopy.rs | 3 +-- 43 files changed, 44 insertions(+), 84 deletions(-) (limited to 'examples') diff --git a/examples/rp23/src/bin/adc.rs b/examples/rp23/src/bin/adc.rs index a1a94ca47..19872607e 100644 --- a/examples/rp23/src/bin/adc.rs +++ b/examples/rp23/src/bin/adc.rs @@ -8,10 +8,10 @@ use defmt::*; use embassy_executor::Spawner; use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler}; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::Pull; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { ADC_IRQ_FIFO => InterruptHandler; }); diff --git a/examples/rp23/src/bin/adc_dma.rs b/examples/rp23/src/bin/adc_dma.rs index 887c8500a..d538ddaa2 100644 --- a/examples/rp23/src/bin/adc_dma.rs +++ b/examples/rp23/src/bin/adc_dma.rs @@ -8,10 +8,10 @@ use defmt::*; use embassy_executor::Spawner; use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler}; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::Pull; use embassy_time::{Duration, Ticker}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { ADC_IRQ_FIFO => InterruptHandler; }); diff --git a/examples/rp23/src/bin/assign_resources.rs b/examples/rp23/src/bin/assign_resources.rs index 8aea2f35d..923c13514 100644 --- a/examples/rp23/src/bin/assign_resources.rs +++ b/examples/rp23/src/bin/assign_resources.rs @@ -14,11 +14,11 @@ use assign_resources::assign_resources; use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::{Level, Output}; use embassy_rp::peripherals::{self, PIN_20, PIN_21}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -34,7 +34,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[embassy_executor::main] async fn main(spawner: Spawner) { // initialize the peripherals diff --git a/examples/rp23/src/bin/blinky.rs b/examples/rp23/src/bin/blinky.rs index 1e3a52085..02bdf9b3d 100644 --- a/examples/rp23/src/bin/blinky.rs +++ b/examples/rp23/src/bin/blinky.rs @@ -7,11 +7,11 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio; use embassy_time::Timer; use gpio::{Level, Output}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] diff --git a/examples/rp23/src/bin/blinky_two_channels.rs b/examples/rp23/src/bin/blinky_two_channels.rs index aae0283cf..4d7dc89fa 100644 --- a/examples/rp23/src/bin/blinky_two_channels.rs +++ b/examples/rp23/src/bin/blinky_two_channels.rs @@ -7,13 +7,13 @@ /// [Link explaining it](https://www.physicsclassroom.com/class/sound/Lesson-3/Interference-and-Beats) use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio; use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; use embassy_sync::channel::{Channel, Sender}; use embassy_time::{Duration, Ticker}; use gpio::{AnyPin, Level, Output}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -29,7 +29,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - enum LedState { Toggle, } diff --git a/examples/rp23/src/bin/blinky_two_tasks.rs b/examples/rp23/src/bin/blinky_two_tasks.rs index aeabb238f..24b960242 100644 --- a/examples/rp23/src/bin/blinky_two_tasks.rs +++ b/examples/rp23/src/bin/blinky_two_tasks.rs @@ -7,13 +7,13 @@ /// [Link explaining it](https://www.physicsclassroom.com/class/sound/Lesson-3/Interference-and-Beats) use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio; use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex; use embassy_sync::mutex::Mutex; use embassy_time::{Duration, Ticker}; use gpio::{AnyPin, Level, Output}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -29,7 +29,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - type LedType = Mutex>>; static LED: LedType = Mutex::new(None); diff --git a/examples/rp23/src/bin/button.rs b/examples/rp23/src/bin/button.rs index 2a78a19db..0a0559397 100644 --- a/examples/rp23/src/bin/button.rs +++ b/examples/rp23/src/bin/button.rs @@ -6,9 +6,9 @@ #![no_main] use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::{Input, Level, Output, Pull}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -24,7 +24,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); diff --git a/examples/rp23/src/bin/debounce.rs b/examples/rp23/src/bin/debounce.rs index 0e3b5cb54..e82e71f61 100644 --- a/examples/rp23/src/bin/debounce.rs +++ b/examples/rp23/src/bin/debounce.rs @@ -6,10 +6,10 @@ use defmt::info; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::{Input, Level, Pull}; use embassy_time::{with_deadline, Duration, Instant, Timer}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - pub struct Debouncer<'a> { input: Input<'a>, debounce: Duration, diff --git a/examples/rp23/src/bin/flash.rs b/examples/rp23/src/bin/flash.rs index 42620ca93..2917dda0b 100644 --- a/examples/rp23/src/bin/flash.rs +++ b/examples/rp23/src/bin/flash.rs @@ -5,11 +5,11 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::flash::{Async, ERASE_SIZE, FLASH_BASE}; use embassy_rp::peripherals::FLASH; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - const ADDR_OFFSET: u32 = 0x100000; const FLASH_SIZE: usize = 2 * 1024 * 1024; diff --git a/examples/rp23/src/bin/gpio_async.rs b/examples/rp23/src/bin/gpio_async.rs index 360932d62..1618f7c8b 100644 --- a/examples/rp23/src/bin/gpio_async.rs +++ b/examples/rp23/src/bin/gpio_async.rs @@ -7,11 +7,11 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio; use embassy_time::Timer; use gpio::{Input, Level, Output, Pull}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - /// It requires an external signal to be manually triggered on PIN 16. For /// example, this could be accomplished using an external power source with a /// button so that it is possible to toggle the signal from low to high. diff --git a/examples/rp23/src/bin/gpout.rs b/examples/rp23/src/bin/gpout.rs index 8d1e4d05f..b15963f02 100644 --- a/examples/rp23/src/bin/gpout.rs +++ b/examples/rp23/src/bin/gpout.rs @@ -7,10 +7,10 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::clocks; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -26,7 +26,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); diff --git a/examples/rp23/src/bin/i2c_async.rs b/examples/rp23/src/bin/i2c_async.rs index 64f103849..2528fe1d2 100644 --- a/examples/rp23/src/bin/i2c_async.rs +++ b/examples/rp23/src/bin/i2c_async.rs @@ -9,12 +9,12 @@ use defmt::*; use embassy_executor::Spawner; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::i2c::{self, Config, InterruptHandler}; use embassy_rp::peripherals::I2C1; use embassy_time::Timer; use embedded_hal_async::i2c::I2c; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -30,7 +30,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { I2C1_IRQ => InterruptHandler; }); diff --git a/examples/rp23/src/bin/i2c_async_embassy.rs b/examples/rp23/src/bin/i2c_async_embassy.rs index 4b14ec6f6..461b1d171 100644 --- a/examples/rp23/src/bin/i2c_async_embassy.rs +++ b/examples/rp23/src/bin/i2c_async_embassy.rs @@ -7,9 +7,9 @@ #![no_main] use defmt::*; +use embassy_rp::block::ImageDef; use embassy_rp::i2c::InterruptHandler; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - // Our anonymous hypotetical temperature sensor could be: // a 12-bit sensor, with 100ms startup time, range of -40*C - 125*C, and precision 0.25*C // It requires no configuration or calibration, works with all i2c bus speeds, diff --git a/examples/rp23/src/bin/i2c_blocking.rs b/examples/rp23/src/bin/i2c_blocking.rs index d2cccf09b..6d36d1890 100644 --- a/examples/rp23/src/bin/i2c_blocking.rs +++ b/examples/rp23/src/bin/i2c_blocking.rs @@ -8,11 +8,11 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::i2c::{self, Config}; use embassy_time::Timer; use embedded_hal_1::i2c::I2c; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -28,7 +28,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[allow(dead_code)] mod mcp23017 { pub const ADDR: u8 = 0x20; // default addr diff --git a/examples/rp23/src/bin/i2c_slave.rs b/examples/rp23/src/bin/i2c_slave.rs index 4bf407bcc..1f3408cf3 100644 --- a/examples/rp23/src/bin/i2c_slave.rs +++ b/examples/rp23/src/bin/i2c_slave.rs @@ -4,12 +4,12 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::peripherals::{I2C0, I2C1}; use embassy_rp::{bind_interrupts, i2c, i2c_slave}; use embassy_time::Timer; use embedded_hal_async::i2c::I2c; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::{block::ImageDef}; #[link_section = ".start_block"] #[used] diff --git a/examples/rp23/src/bin/interrupt.rs b/examples/rp23/src/bin/interrupt.rs index f46117f95..6184b1bd7 100644 --- a/examples/rp23/src/bin/interrupt.rs +++ b/examples/rp23/src/bin/interrupt.rs @@ -13,6 +13,7 @@ use core::cell::{Cell, RefCell}; use defmt::*; use embassy_executor::Spawner; use embassy_rp::adc::{self, Adc, Blocking}; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::Pull; use embassy_rp::interrupt; use embassy_rp::pwm::{Config, Pwm}; @@ -23,7 +24,6 @@ use embassy_time::{Duration, Ticker}; use portable_atomic::{AtomicU32, Ordering}; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -39,7 +39,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - static COUNTER: AtomicU32 = AtomicU32::new(0); static PWM: Mutex>> = Mutex::new(RefCell::new(None)); static ADC: Mutex, adc::Channel)>>> = diff --git a/examples/rp23/src/bin/multicore.rs b/examples/rp23/src/bin/multicore.rs index 0b20ecaae..8649143e1 100644 --- a/examples/rp23/src/bin/multicore.rs +++ b/examples/rp23/src/bin/multicore.rs @@ -7,6 +7,7 @@ use defmt::*; use embassy_executor::Executor; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::{Level, Output}; use embassy_rp::multicore::{spawn_core1, Stack}; use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; @@ -14,7 +15,6 @@ use embassy_sync::channel::Channel; use embassy_time::Timer; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -30,7 +30,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - static mut CORE1_STACK: Stack<4096> = Stack::new(); static EXECUTOR0: StaticCell = StaticCell::new(); static EXECUTOR1: StaticCell = StaticCell::new(); diff --git a/examples/rp23/src/bin/multiprio.rs b/examples/rp23/src/bin/multiprio.rs index 52c801973..7590fb431 100644 --- a/examples/rp23/src/bin/multiprio.rs +++ b/examples/rp23/src/bin/multiprio.rs @@ -59,12 +59,12 @@ use cortex_m_rt::entry; use defmt::{info, unwrap}; use embassy_executor::{Executor, InterruptExecutor}; +use embassy_rp::block::ImageDef; use embassy_rp::interrupt; use embassy_rp::interrupt::{InterruptExt, Priority}; use embassy_time::{Instant, Timer, TICK_HZ}; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -80,7 +80,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[embassy_executor::task] async fn run_high() { loop { diff --git a/examples/rp23/src/bin/pio_async.rs b/examples/rp23/src/bin/pio_async.rs index f3a48bbce..005708bc2 100644 --- a/examples/rp23/src/bin/pio_async.rs +++ b/examples/rp23/src/bin/pio_async.rs @@ -5,12 +5,12 @@ use defmt::info; use embassy_executor::Spawner; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::peripherals::PIO0; use embassy_rp::pio::{Common, Config, InterruptHandler, Irq, Pio, PioPin, ShiftDirection, StateMachine}; use fixed::traits::ToFixed; use fixed_macro::types::U56F8; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -26,7 +26,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { PIO0_IRQ_0 => InterruptHandler; }); diff --git a/examples/rp23/src/bin/pio_dma.rs b/examples/rp23/src/bin/pio_dma.rs index d5a831d09..48fd9123f 100644 --- a/examples/rp23/src/bin/pio_dma.rs +++ b/examples/rp23/src/bin/pio_dma.rs @@ -5,13 +5,13 @@ use defmt::info; use embassy_executor::Spawner; use embassy_futures::join::join; +use embassy_rp::block::ImageDef; use embassy_rp::peripherals::PIO0; use embassy_rp::pio::{Config, InterruptHandler, Pio, ShiftConfig, ShiftDirection}; use embassy_rp::{bind_interrupts, Peripheral}; use fixed::traits::ToFixed; use fixed_macro::types::U56F8; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { PIO0_IRQ_0 => InterruptHandler; }); diff --git a/examples/rp23/src/bin/pio_hd44780.rs b/examples/rp23/src/bin/pio_hd44780.rs index f601bbc66..fc658267d 100644 --- a/examples/rp23/src/bin/pio_hd44780.rs +++ b/examples/rp23/src/bin/pio_hd44780.rs @@ -7,6 +7,7 @@ use core::fmt::Write; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::dma::{AnyChannel, Channel}; use embassy_rp::peripherals::PIO0; use embassy_rp::pio::{ @@ -16,7 +17,6 @@ use embassy_rp::pwm::{self, Pwm}; use embassy_rp::{bind_interrupts, into_ref, Peripheral, PeripheralRef}; use embassy_time::{Instant, Timer}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -32,7 +32,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(pub struct Irqs { PIO0_IRQ_0 => InterruptHandler; }); diff --git a/examples/rp23/src/bin/pio_i2s.rs b/examples/rp23/src/bin/pio_i2s.rs index b12b050e6..5a3bde759 100644 --- a/examples/rp23/src/bin/pio_i2s.rs +++ b/examples/rp23/src/bin/pio_i2s.rs @@ -13,13 +13,13 @@ use core::mem; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::peripherals::PIO0; use embassy_rp::pio::{Config, FifoJoin, InterruptHandler, Pio, ShiftConfig, ShiftDirection}; use embassy_rp::{bind_interrupts, Peripheral}; use fixed::traits::ToFixed; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -35,7 +35,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { PIO0_IRQ_0 => InterruptHandler; }); diff --git a/examples/rp23/src/bin/pio_pwm.rs b/examples/rp23/src/bin/pio_pwm.rs index c8e834eae..7c5eefc45 100644 --- a/examples/rp23/src/bin/pio_pwm.rs +++ b/examples/rp23/src/bin/pio_pwm.rs @@ -5,6 +5,7 @@ use core::time::Duration; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::Level; use embassy_rp::peripherals::PIO0; use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Pio, PioPin, StateMachine}; @@ -12,7 +13,6 @@ use embassy_rp::{bind_interrupts, clocks}; use embassy_time::Timer; use pio::InstructionOperands; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -28,7 +28,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - const REFRESH_INTERVAL: u64 = 20000; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/pio_rotary_encoder.rs b/examples/rp23/src/bin/pio_rotary_encoder.rs index 971b55c9e..287992a83 100644 --- a/examples/rp23/src/bin/pio_rotary_encoder.rs +++ b/examples/rp23/src/bin/pio_rotary_encoder.rs @@ -5,13 +5,13 @@ use defmt::info; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::Pull; use embassy_rp::peripherals::PIO0; use embassy_rp::{bind_interrupts, pio}; use fixed::traits::ToFixed; use pio::{Common, Config, FifoJoin, Instance, InterruptHandler, Pio, PioPin, ShiftDirection, StateMachine}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { PIO0_IRQ_0 => InterruptHandler; }); diff --git a/examples/rp23/src/bin/pio_servo.rs b/examples/rp23/src/bin/pio_servo.rs index 67e52019a..1dec86927 100644 --- a/examples/rp23/src/bin/pio_servo.rs +++ b/examples/rp23/src/bin/pio_servo.rs @@ -5,6 +5,7 @@ use core::time::Duration; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::Level; use embassy_rp::peripherals::PIO0; use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Pio, PioPin, StateMachine}; @@ -12,7 +13,6 @@ use embassy_rp::{bind_interrupts, clocks}; use embassy_time::Timer; use pio::InstructionOperands; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -28,7 +28,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - const DEFAULT_MIN_PULSE_WIDTH: u64 = 1000; // uncalibrated default, the shortest duty cycle sent to a servo const DEFAULT_MAX_PULSE_WIDTH: u64 = 2000; // uncalibrated default, the longest duty cycle sent to a servo const DEFAULT_MAX_DEGREE_ROTATION: u64 = 160; // 160 degrees is typical diff --git a/examples/rp23/src/bin/pio_stepper.rs b/examples/rp23/src/bin/pio_stepper.rs index 9cbf0bd92..8b52dc37a 100644 --- a/examples/rp23/src/bin/pio_stepper.rs +++ b/examples/rp23/src/bin/pio_stepper.rs @@ -8,6 +8,7 @@ use core::mem::{self, MaybeUninit}; use defmt::info; use embassy_executor::Spawner; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::peripherals::PIO0; use embassy_rp::pio::{Common, Config, Direction, Instance, InterruptHandler, Irq, Pio, PioPin, StateMachine}; use embassy_time::{with_timeout, Duration, Timer}; @@ -15,7 +16,6 @@ use fixed::traits::ToFixed; use fixed::types::extra::U8; use fixed::FixedU32; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -31,7 +31,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { PIO0_IRQ_0 => InterruptHandler; }); diff --git a/examples/rp23/src/bin/pio_ws2812.rs b/examples/rp23/src/bin/pio_ws2812.rs index 2e62a3d97..99d9cf7e6 100644 --- a/examples/rp23/src/bin/pio_ws2812.rs +++ b/examples/rp23/src/bin/pio_ws2812.rs @@ -6,6 +6,7 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::dma::{AnyChannel, Channel}; use embassy_rp::peripherals::PIO0; use embassy_rp::pio::{ @@ -17,7 +18,6 @@ use fixed::types::U24F8; use fixed_macro::fixed; use smart_leds::RGB8; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -33,7 +33,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { PIO0_IRQ_0 => InterruptHandler; }); diff --git a/examples/rp23/src/bin/pwm.rs b/examples/rp23/src/bin/pwm.rs index ab38a03bb..4cd3b3eb4 100644 --- a/examples/rp23/src/bin/pwm.rs +++ b/examples/rp23/src/bin/pwm.rs @@ -7,10 +7,10 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::pwm::{Config, Pwm}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -26,7 +26,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); diff --git a/examples/rp23/src/bin/pwm_input.rs b/examples/rp23/src/bin/pwm_input.rs index fcb561cfd..b75d04963 100644 --- a/examples/rp23/src/bin/pwm_input.rs +++ b/examples/rp23/src/bin/pwm_input.rs @@ -5,11 +5,11 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::Pull; use embassy_rp::pwm::{Config, InputMode, Pwm}; use embassy_time::{Duration, Ticker}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); diff --git a/examples/rp23/src/bin/rosc.rs b/examples/rp23/src/bin/rosc.rs index 051b4710f..28c778f51 100644 --- a/examples/rp23/src/bin/rosc.rs +++ b/examples/rp23/src/bin/rosc.rs @@ -7,11 +7,11 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::{clocks, gpio}; use embassy_time::Timer; use gpio::{Level, Output}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[embassy_executor::main] async fn main(_spawner: Spawner) { let mut config = embassy_rp::config::Config::default(); diff --git a/examples/rp23/src/bin/shared_bus.rs b/examples/rp23/src/bin/shared_bus.rs index e3213cd91..00e65f80d 100644 --- a/examples/rp23/src/bin/shared_bus.rs +++ b/examples/rp23/src/bin/shared_bus.rs @@ -8,6 +8,7 @@ use embassy_embedded_hal::shared_bus::asynch::i2c::I2cDevice; use embassy_embedded_hal::shared_bus::asynch::spi::SpiDevice; use embassy_executor::Spawner; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::{AnyPin, Level, Output}; use embassy_rp::i2c::{self, I2c, InterruptHandler}; use embassy_rp::peripherals::{I2C1, SPI1}; @@ -17,7 +18,6 @@ use embassy_sync::mutex::Mutex; use embassy_time::Timer; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -33,7 +33,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - type Spi1Bus = Mutex>; type I2c1Bus = Mutex>; diff --git a/examples/rp23/src/bin/sharing.rs b/examples/rp23/src/bin/sharing.rs index 10f064947..b5ef08147 100644 --- a/examples/rp23/src/bin/sharing.rs +++ b/examples/rp23/src/bin/sharing.rs @@ -19,8 +19,9 @@ use core::sync::atomic::{AtomicU32, Ordering}; use cortex_m_rt::entry; use defmt::info; use embassy_executor::{Executor, InterruptExecutor}; +use embassy_rp::block::ImageDef; use embassy_rp::clocks::RoscRng; -use embassy_rp::interrupt::{Priority, InterruptExt}; +use embassy_rp::interrupt::{InterruptExt, Priority}; use embassy_rp::peripherals::UART0; use embassy_rp::uart::{self, InterruptHandler, UartTx}; use embassy_rp::{bind_interrupts, interrupt}; @@ -30,7 +31,6 @@ use embassy_time::{Duration, Ticker}; use rand::RngCore; use static_cell::{ConstStaticCell, StaticCell}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -46,7 +46,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - type UartAsyncMutex = mutex::Mutex>; struct MyType { diff --git a/examples/rp23/src/bin/spi.rs b/examples/rp23/src/bin/spi.rs index bcf356188..98aa7622c 100644 --- a/examples/rp23/src/bin/spi.rs +++ b/examples/rp23/src/bin/spi.rs @@ -7,11 +7,11 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::spi::Spi; use embassy_rp::{gpio, spi}; use gpio::{Level, Output}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -27,7 +27,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); diff --git a/examples/rp23/src/bin/spi_async.rs b/examples/rp23/src/bin/spi_async.rs index 7a43995d2..71eaa5c05 100644 --- a/examples/rp23/src/bin/spi_async.rs +++ b/examples/rp23/src/bin/spi_async.rs @@ -6,10 +6,10 @@ use defmt::*; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::spi::{Config, Spi}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); diff --git a/examples/rp23/src/bin/spi_display.rs b/examples/rp23/src/bin/spi_display.rs index 25368bb94..2441b1186 100644 --- a/examples/rp23/src/bin/spi_display.rs +++ b/examples/rp23/src/bin/spi_display.rs @@ -11,6 +11,7 @@ use core::cell::RefCell; use defmt::*; use embassy_embedded_hal::shared_bus::blocking::spi::SpiDeviceWithConfig; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::{Level, Output}; use embassy_rp::spi; use embassy_rp::spi::{Blocking, Spi}; @@ -26,7 +27,6 @@ use embedded_graphics::primitives::{PrimitiveStyleBuilder, Rectangle}; use embedded_graphics::text::Text; use st7789::{Orientation, ST7789}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -42,7 +42,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - use crate::my_display_interface::SPIDeviceInterface; use crate::touch::Touch; diff --git a/examples/rp23/src/bin/spi_sdmmc.rs b/examples/rp23/src/bin/spi_sdmmc.rs index 992215b0d..d7af77a30 100644 --- a/examples/rp23/src/bin/spi_sdmmc.rs +++ b/examples/rp23/src/bin/spi_sdmmc.rs @@ -9,13 +9,13 @@ use defmt::*; use embassy_embedded_hal::SetConfig; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::spi::Spi; use embassy_rp::{gpio, spi}; use embedded_hal_bus::spi::ExclusiveDevice; use embedded_sdmmc::sdcard::{DummyCsPin, SdCard}; use gpio::{Level, Output}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -31,7 +31,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - struct DummyTimesource(); impl embedded_sdmmc::TimeSource for DummyTimesource { diff --git a/examples/rp23/src/bin/uart.rs b/examples/rp23/src/bin/uart.rs index 7b82fa350..ae00f36dc 100644 --- a/examples/rp23/src/bin/uart.rs +++ b/examples/rp23/src/bin/uart.rs @@ -8,9 +8,9 @@ #![no_main] use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::uart; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] diff --git a/examples/rp23/src/bin/uart_buffered_split.rs b/examples/rp23/src/bin/uart_buffered_split.rs index f7acdade9..2b14520d5 100644 --- a/examples/rp23/src/bin/uart_buffered_split.rs +++ b/examples/rp23/src/bin/uart_buffered_split.rs @@ -10,13 +10,13 @@ use defmt::*; use embassy_executor::Spawner; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::peripherals::UART0; use embassy_rp::uart::{BufferedInterruptHandler, BufferedUart, BufferedUartRx, Config}; use embassy_time::Timer; use embedded_io_async::{Read, Write}; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -32,7 +32,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { UART0_IRQ => BufferedInterruptHandler; }); diff --git a/examples/rp23/src/bin/uart_r503.rs b/examples/rp23/src/bin/uart_r503.rs index 69f6dbbff..39a17d305 100644 --- a/examples/rp23/src/bin/uart_r503.rs +++ b/examples/rp23/src/bin/uart_r503.rs @@ -4,12 +4,12 @@ use defmt::{debug, error, info}; use embassy_executor::Spawner; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::peripherals::UART0; use embassy_rp::uart::{Config, DataBits, InterruptHandler as UARTInterruptHandler, Parity, StopBits, Uart}; use embassy_time::{with_timeout, Duration, Timer}; use heapless::Vec; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -25,7 +25,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(pub struct Irqs { UART0_IRQ => UARTInterruptHandler; }); diff --git a/examples/rp23/src/bin/uart_unidir.rs b/examples/rp23/src/bin/uart_unidir.rs index 4d3163285..38210a8d0 100644 --- a/examples/rp23/src/bin/uart_unidir.rs +++ b/examples/rp23/src/bin/uart_unidir.rs @@ -11,11 +11,11 @@ use defmt::*; use embassy_executor::Spawner; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::peripherals::UART1; use embassy_rp::uart::{Async, Config, InterruptHandler, UartRx, UartTx}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -31,7 +31,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { UART1_IRQ => InterruptHandler; }); diff --git a/examples/rp23/src/bin/usb_webusb.rs b/examples/rp23/src/bin/usb_webusb.rs index c9cab45c1..f4ecde30e 100644 --- a/examples/rp23/src/bin/usb_webusb.rs +++ b/examples/rp23/src/bin/usb_webusb.rs @@ -21,6 +21,7 @@ use defmt::info; use embassy_executor::Spawner; use embassy_futures::join::join; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::peripherals::USB; use embassy_rp::usb::{Driver as UsbDriver, InterruptHandler}; use embassy_usb::class::web_usb::{Config as WebUsbConfig, State, Url, WebUsb}; @@ -28,7 +29,6 @@ use embassy_usb::driver::{Driver, Endpoint, EndpointIn, EndpointOut}; use embassy_usb::msos::{self, windows_version}; use embassy_usb::{Builder, Config}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -44,7 +44,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - bind_interrupts!(struct Irqs { USBCTRL_IRQ => InterruptHandler; }); diff --git a/examples/rp23/src/bin/watchdog.rs b/examples/rp23/src/bin/watchdog.rs index 8cc723150..3ac457219 100644 --- a/examples/rp23/src/bin/watchdog.rs +++ b/examples/rp23/src/bin/watchdog.rs @@ -7,12 +7,12 @@ use defmt::info; use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; use embassy_rp::gpio; use embassy_rp::watchdog::*; use embassy_time::{Duration, Timer}; use gpio::{Level, Output}; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -28,7 +28,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_rp::init(Default::default()); diff --git a/examples/rp23/src/bin/zerocopy.rs b/examples/rp23/src/bin/zerocopy.rs index e379d9c00..d04e1bf2a 100644 --- a/examples/rp23/src/bin/zerocopy.rs +++ b/examples/rp23/src/bin/zerocopy.rs @@ -10,6 +10,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_rp::adc::{self, Adc, Async, Config, InterruptHandler}; use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; use embassy_rp::gpio::Pull; use embassy_rp::peripherals::DMA_CH0; use embassy_sync::blocking_mutex::raw::NoopRawMutex; @@ -17,7 +18,6 @@ use embassy_sync::zerocopy_channel::{Channel, Receiver, Sender}; use embassy_time::{Duration, Ticker, Timer}; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; -use embassy_rp::block::ImageDef; #[link_section = ".start_block"] #[used] @@ -33,7 +33,6 @@ pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info_rp_program_build_attribute!(), ]; - type SampleBuffer = [u16; 512]; bind_interrupts!(struct Irqs { -- cgit From e5d8d8b18e80244275458c38b3dc13a5b9d72a9f Mon Sep 17 00:00:00 2001 From: Caleb Jamison Date: Fri, 9 Aug 2024 12:31:29 -0400 Subject: Switch to single pac --- examples/rp23/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/rp23/Cargo.toml b/examples/rp23/Cargo.toml index 89947ae46..8f8d6ff10 100644 --- a/examples/rp23/Cargo.toml +++ b/examples/rp23/Cargo.toml @@ -10,7 +10,7 @@ embassy-embedded-hal = { version = "0.2.0", path = "../../embassy-embedded-hal", embassy-sync = { version = "0.6.0", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } -embassy-rp = { version = "0.2.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp235xa", "binary-info", "rt-235x", "boot2-none"] } +embassy-rp = { version = "0.2.0", path = "../../embassy-rp", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl", "rp235xa", "binary-info"] } embassy-usb = { version = "0.3.0", path = "../../embassy-usb", features = ["defmt"] } embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "udp", "raw", "dhcpv4", "medium-ethernet", "dns"] } embassy-net-wiznet = { version = "0.1.0", path = "../../embassy-net-wiznet", features = ["defmt"] } -- cgit From 9dc4375f185d5098d9b61116bb5c5279e7298222 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 12 Aug 2024 00:02:15 +0200 Subject: rp: update PAC, fix CI. --- examples/boot/application/rp/Cargo.toml | 2 +- examples/boot/bootloader/rp/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/rp/Cargo.toml b/examples/boot/application/rp/Cargo.toml index c109c0732..8bb8afdfe 100644 --- a/examples/boot/application/rp/Cargo.toml +++ b/examples/boot/application/rp/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-executor = { version = "0.6.0", path = "../../../../embassy-executor", features = ["task-arena-size-16384", "arch-cortex-m", "executor-thread", "integrated-timers", "arch-cortex-m", "executor-thread"] } embassy-time = { version = "0.3.2", path = "../../../../embassy-time", features = [] } -embassy-rp = { version = "0.2.0", path = "../../../../embassy-rp", features = ["time-driver", ] } +embassy-rp = { version = "0.2.0", path = "../../../../embassy-rp", features = ["time-driver", "rp2040"] } embassy-boot-rp = { version = "0.3.0", path = "../../../../embassy-boot-rp", features = [] } embassy-embedded-hal = { version = "0.2.0", path = "../../../../embassy-embedded-hal" } diff --git a/examples/boot/bootloader/rp/Cargo.toml b/examples/boot/bootloader/rp/Cargo.toml index c15c980ca..9df396e5e 100644 --- a/examples/boot/bootloader/rp/Cargo.toml +++ b/examples/boot/bootloader/rp/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT OR Apache-2.0" defmt = { version = "0.3", optional = true } defmt-rtt = { version = "0.4", optional = true } -embassy-rp = { path = "../../../../embassy-rp", features = [] } +embassy-rp = { path = "../../../../embassy-rp", features = ["rp2040"] } embassy-boot-rp = { path = "../../../../embassy-boot-rp" } embassy-sync = { version = "0.6.0", path = "../../../../embassy-sync" } embassy-time = { path = "../../../../embassy-time", features = [] } -- cgit From 2b7e76efe9916170cba69da964d53c19a246ae45 Mon Sep 17 00:00:00 2001 From: Alexandros Liarokapis Date: Sat, 17 Aug 2024 00:26:33 +0300 Subject: Fix dma nvic issues on dual core lines This commit addresses #3256 by disabling dma NVIC interrupt enablement at startup. Instead, per-channel NVIC interrupt enablement is now done with the rest of the dma channel configuration. This ensures that each core will only handle the interrupts of the DMA channels that it uses. --- examples/boot/application/stm32wl/memory.x | 6 +++--- examples/stm32wl/memory.x | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/boot/application/stm32wl/memory.x b/examples/boot/application/stm32wl/memory.x index 5af1723f5..20109e37e 100644 --- a/examples/boot/application/stm32wl/memory.x +++ b/examples/boot/application/stm32wl/memory.x @@ -5,8 +5,8 @@ MEMORY BOOTLOADER_STATE : ORIGIN = 0x08006000, LENGTH = 4K FLASH : ORIGIN = 0x08008000, LENGTH = 64K DFU : ORIGIN = 0x08018000, LENGTH = 68K - SHARED_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64 - RAM (rwx) : ORIGIN = 0x20000040, LENGTH = 32K - 64 + SHARED_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128 + RAM (rwx) : ORIGIN = 0x20000080, LENGTH = 32K - 128 } __bootloader_state_start = ORIGIN(BOOTLOADER_STATE) - ORIGIN(BOOTLOADER); @@ -21,4 +21,4 @@ SECTIONS { *(.shared_data) } > SHARED_RAM -} \ No newline at end of file +} diff --git a/examples/stm32wl/memory.x b/examples/stm32wl/memory.x index 0298caa4b..4590867a8 100644 --- a/examples/stm32wl/memory.x +++ b/examples/stm32wl/memory.x @@ -2,8 +2,8 @@ MEMORY { /* NOTE 1 K = 1 KiBi = 1024 bytes */ FLASH : ORIGIN = 0x08000000, LENGTH = 256K - SHARED_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64 - RAM (rwx) : ORIGIN = 0x20000040, LENGTH = 64K - 64 + SHARED_RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128 + RAM (rwx) : ORIGIN = 0x20000080, LENGTH = 64K - 128 } SECTIONS @@ -12,4 +12,4 @@ SECTIONS { *(.shared_data) } > SHARED_RAM -} \ No newline at end of file +} -- cgit From eab3a57263d52eed517ee0fb9ccb307196664ee6 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Sat, 17 Aug 2024 21:56:14 +0200 Subject: rp: use the rp-binary-info crate for binary info. --- examples/rp23/src/bin/adc.rs | 8 ++++---- examples/rp23/src/bin/adc_dma.rs | 8 ++++---- examples/rp23/src/bin/assign_resources.rs | 8 ++++---- examples/rp23/src/bin/blinky.rs | 8 ++++---- examples/rp23/src/bin/blinky_two_channels.rs | 8 ++++---- examples/rp23/src/bin/blinky_two_tasks.rs | 8 ++++---- examples/rp23/src/bin/button.rs | 8 ++++---- examples/rp23/src/bin/debounce.rs | 8 ++++---- examples/rp23/src/bin/flash.rs | 8 ++++---- examples/rp23/src/bin/gpio_async.rs | 8 ++++---- examples/rp23/src/bin/gpout.rs | 8 ++++---- examples/rp23/src/bin/i2c_async.rs | 8 ++++---- examples/rp23/src/bin/i2c_async_embassy.rs | 8 ++++---- examples/rp23/src/bin/i2c_blocking.rs | 8 ++++---- examples/rp23/src/bin/i2c_slave.rs | 8 ++++---- examples/rp23/src/bin/interrupt.rs | 8 ++++---- examples/rp23/src/bin/multicore.rs | 8 ++++---- examples/rp23/src/bin/multiprio.rs | 8 ++++---- examples/rp23/src/bin/pio_async.rs | 8 ++++---- examples/rp23/src/bin/pio_dma.rs | 8 ++++---- examples/rp23/src/bin/pio_hd44780.rs | 8 ++++---- examples/rp23/src/bin/pio_i2s.rs | 8 ++++---- examples/rp23/src/bin/pio_pwm.rs | 8 ++++---- examples/rp23/src/bin/pio_rotary_encoder.rs | 8 ++++---- examples/rp23/src/bin/pio_servo.rs | 8 ++++---- examples/rp23/src/bin/pio_stepper.rs | 8 ++++---- examples/rp23/src/bin/pio_ws2812.rs | 8 ++++---- examples/rp23/src/bin/pwm.rs | 8 ++++---- examples/rp23/src/bin/pwm_input.rs | 8 ++++---- examples/rp23/src/bin/rosc.rs | 8 ++++---- examples/rp23/src/bin/shared_bus.rs | 8 ++++---- examples/rp23/src/bin/sharing.rs | 8 ++++---- examples/rp23/src/bin/spi.rs | 8 ++++---- examples/rp23/src/bin/spi_async.rs | 8 ++++---- examples/rp23/src/bin/spi_display.rs | 8 ++++---- examples/rp23/src/bin/spi_sdmmc.rs | 8 ++++---- examples/rp23/src/bin/uart.rs | 8 ++++---- examples/rp23/src/bin/uart_buffered_split.rs | 8 ++++---- examples/rp23/src/bin/uart_r503.rs | 8 ++++---- examples/rp23/src/bin/uart_unidir.rs | 8 ++++---- examples/rp23/src/bin/usb_webusb.rs | 8 ++++---- examples/rp23/src/bin/watchdog.rs | 8 ++++---- examples/rp23/src/bin/zerocopy.rs | 8 ++++---- 43 files changed, 172 insertions(+), 172 deletions(-) (limited to 'examples') diff --git a/examples/rp23/src/bin/adc.rs b/examples/rp23/src/bin/adc.rs index 19872607e..d1f053d39 100644 --- a/examples/rp23/src/bin/adc.rs +++ b/examples/rp23/src/bin/adc.rs @@ -21,10 +21,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/adc_dma.rs b/examples/rp23/src/bin/adc_dma.rs index d538ddaa2..5046e5530 100644 --- a/examples/rp23/src/bin/adc_dma.rs +++ b/examples/rp23/src/bin/adc_dma.rs @@ -21,10 +21,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/assign_resources.rs b/examples/rp23/src/bin/assign_resources.rs index 923c13514..2f9783917 100644 --- a/examples/rp23/src/bin/assign_resources.rs +++ b/examples/rp23/src/bin/assign_resources.rs @@ -28,10 +28,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/blinky.rs b/examples/rp23/src/bin/blinky.rs index 02bdf9b3d..9e45679c8 100644 --- a/examples/rp23/src/bin/blinky.rs +++ b/examples/rp23/src/bin/blinky.rs @@ -21,10 +21,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/blinky_two_channels.rs b/examples/rp23/src/bin/blinky_two_channels.rs index 4d7dc89fa..87fc58bbc 100644 --- a/examples/rp23/src/bin/blinky_two_channels.rs +++ b/examples/rp23/src/bin/blinky_two_channels.rs @@ -23,10 +23,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; enum LedState { diff --git a/examples/rp23/src/bin/blinky_two_tasks.rs b/examples/rp23/src/bin/blinky_two_tasks.rs index 24b960242..40236c53b 100644 --- a/examples/rp23/src/bin/blinky_two_tasks.rs +++ b/examples/rp23/src/bin/blinky_two_tasks.rs @@ -23,10 +23,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; type LedType = Mutex>>; diff --git a/examples/rp23/src/bin/button.rs b/examples/rp23/src/bin/button.rs index 0a0559397..fb067a370 100644 --- a/examples/rp23/src/bin/button.rs +++ b/examples/rp23/src/bin/button.rs @@ -18,10 +18,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/debounce.rs b/examples/rp23/src/bin/debounce.rs index e82e71f61..e672521ec 100644 --- a/examples/rp23/src/bin/debounce.rs +++ b/examples/rp23/src/bin/debounce.rs @@ -19,10 +19,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; pub struct Debouncer<'a> { diff --git a/examples/rp23/src/bin/flash.rs b/examples/rp23/src/bin/flash.rs index 2917dda0b..811561f26 100644 --- a/examples/rp23/src/bin/flash.rs +++ b/examples/rp23/src/bin/flash.rs @@ -19,10 +19,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; const ADDR_OFFSET: u32 = 0x100000; diff --git a/examples/rp23/src/bin/gpio_async.rs b/examples/rp23/src/bin/gpio_async.rs index 1618f7c8b..ff12367bf 100644 --- a/examples/rp23/src/bin/gpio_async.rs +++ b/examples/rp23/src/bin/gpio_async.rs @@ -21,10 +21,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; /// It requires an external signal to be manually triggered on PIN 16. For diff --git a/examples/rp23/src/bin/gpout.rs b/examples/rp23/src/bin/gpout.rs index b15963f02..d2ee55197 100644 --- a/examples/rp23/src/bin/gpout.rs +++ b/examples/rp23/src/bin/gpout.rs @@ -20,10 +20,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/i2c_async.rs b/examples/rp23/src/bin/i2c_async.rs index 2528fe1d2..c8d918b56 100644 --- a/examples/rp23/src/bin/i2c_async.rs +++ b/examples/rp23/src/bin/i2c_async.rs @@ -24,10 +24,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/i2c_async_embassy.rs b/examples/rp23/src/bin/i2c_async_embassy.rs index 461b1d171..cce0abcde 100644 --- a/examples/rp23/src/bin/i2c_async_embassy.rs +++ b/examples/rp23/src/bin/i2c_async_embassy.rs @@ -19,10 +19,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; // Our anonymous hypotetical temperature sensor could be: diff --git a/examples/rp23/src/bin/i2c_blocking.rs b/examples/rp23/src/bin/i2c_blocking.rs index 6d36d1890..85c33bf0d 100644 --- a/examples/rp23/src/bin/i2c_blocking.rs +++ b/examples/rp23/src/bin/i2c_blocking.rs @@ -22,10 +22,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[allow(dead_code)] diff --git a/examples/rp23/src/bin/i2c_slave.rs b/examples/rp23/src/bin/i2c_slave.rs index 1f3408cf3..fb5f3cda1 100644 --- a/examples/rp23/src/bin/i2c_slave.rs +++ b/examples/rp23/src/bin/i2c_slave.rs @@ -19,10 +19,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/interrupt.rs b/examples/rp23/src/bin/interrupt.rs index 6184b1bd7..ee3d9bfe7 100644 --- a/examples/rp23/src/bin/interrupt.rs +++ b/examples/rp23/src/bin/interrupt.rs @@ -33,10 +33,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; static COUNTER: AtomicU32 = AtomicU32::new(0); diff --git a/examples/rp23/src/bin/multicore.rs b/examples/rp23/src/bin/multicore.rs index 8649143e1..9ab43d7a5 100644 --- a/examples/rp23/src/bin/multicore.rs +++ b/examples/rp23/src/bin/multicore.rs @@ -24,10 +24,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; static mut CORE1_STACK: Stack<4096> = Stack::new(); diff --git a/examples/rp23/src/bin/multiprio.rs b/examples/rp23/src/bin/multiprio.rs index 7590fb431..27cd3656e 100644 --- a/examples/rp23/src/bin/multiprio.rs +++ b/examples/rp23/src/bin/multiprio.rs @@ -74,10 +74,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::task] diff --git a/examples/rp23/src/bin/pio_async.rs b/examples/rp23/src/bin/pio_async.rs index 005708bc2..231afc80e 100644 --- a/examples/rp23/src/bin/pio_async.rs +++ b/examples/rp23/src/bin/pio_async.rs @@ -20,10 +20,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/pio_dma.rs b/examples/rp23/src/bin/pio_dma.rs index 48fd9123f..60fbcb83a 100644 --- a/examples/rp23/src/bin/pio_dma.rs +++ b/examples/rp23/src/bin/pio_dma.rs @@ -21,10 +21,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/pio_hd44780.rs b/examples/rp23/src/bin/pio_hd44780.rs index fc658267d..92aa858f9 100644 --- a/examples/rp23/src/bin/pio_hd44780.rs +++ b/examples/rp23/src/bin/pio_hd44780.rs @@ -26,10 +26,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(pub struct Irqs { diff --git a/examples/rp23/src/bin/pio_i2s.rs b/examples/rp23/src/bin/pio_i2s.rs index 5a3bde759..d6d2d0ade 100644 --- a/examples/rp23/src/bin/pio_i2s.rs +++ b/examples/rp23/src/bin/pio_i2s.rs @@ -29,10 +29,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/pio_pwm.rs b/examples/rp23/src/bin/pio_pwm.rs index 7c5eefc45..587f91ac3 100644 --- a/examples/rp23/src/bin/pio_pwm.rs +++ b/examples/rp23/src/bin/pio_pwm.rs @@ -22,10 +22,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; const REFRESH_INTERVAL: u64 = 20000; diff --git a/examples/rp23/src/bin/pio_rotary_encoder.rs b/examples/rp23/src/bin/pio_rotary_encoder.rs index 287992a83..c147351e8 100644 --- a/examples/rp23/src/bin/pio_rotary_encoder.rs +++ b/examples/rp23/src/bin/pio_rotary_encoder.rs @@ -21,10 +21,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/pio_servo.rs b/examples/rp23/src/bin/pio_servo.rs index 1dec86927..5e8714178 100644 --- a/examples/rp23/src/bin/pio_servo.rs +++ b/examples/rp23/src/bin/pio_servo.rs @@ -22,10 +22,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; const DEFAULT_MIN_PULSE_WIDTH: u64 = 1000; // uncalibrated default, the shortest duty cycle sent to a servo diff --git a/examples/rp23/src/bin/pio_stepper.rs b/examples/rp23/src/bin/pio_stepper.rs index 8b52dc37a..24785443b 100644 --- a/examples/rp23/src/bin/pio_stepper.rs +++ b/examples/rp23/src/bin/pio_stepper.rs @@ -25,10 +25,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/pio_ws2812.rs b/examples/rp23/src/bin/pio_ws2812.rs index 99d9cf7e6..00fe5e396 100644 --- a/examples/rp23/src/bin/pio_ws2812.rs +++ b/examples/rp23/src/bin/pio_ws2812.rs @@ -27,10 +27,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/pwm.rs b/examples/rp23/src/bin/pwm.rs index 4cd3b3eb4..bfc2c6f67 100644 --- a/examples/rp23/src/bin/pwm.rs +++ b/examples/rp23/src/bin/pwm.rs @@ -20,10 +20,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/pwm_input.rs b/examples/rp23/src/bin/pwm_input.rs index b75d04963..b65f2778b 100644 --- a/examples/rp23/src/bin/pwm_input.rs +++ b/examples/rp23/src/bin/pwm_input.rs @@ -19,10 +19,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/rosc.rs b/examples/rp23/src/bin/rosc.rs index 28c778f51..f65b236b1 100644 --- a/examples/rp23/src/bin/rosc.rs +++ b/examples/rp23/src/bin/rosc.rs @@ -21,10 +21,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/shared_bus.rs b/examples/rp23/src/bin/shared_bus.rs index 00e65f80d..b3fde13e3 100644 --- a/examples/rp23/src/bin/shared_bus.rs +++ b/examples/rp23/src/bin/shared_bus.rs @@ -27,10 +27,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; type Spi1Bus = Mutex>; diff --git a/examples/rp23/src/bin/sharing.rs b/examples/rp23/src/bin/sharing.rs index b5ef08147..4a3301cfd 100644 --- a/examples/rp23/src/bin/sharing.rs +++ b/examples/rp23/src/bin/sharing.rs @@ -40,10 +40,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; type UartAsyncMutex = mutex::Mutex>; diff --git a/examples/rp23/src/bin/spi.rs b/examples/rp23/src/bin/spi.rs index 98aa7622c..924873e60 100644 --- a/examples/rp23/src/bin/spi.rs +++ b/examples/rp23/src/bin/spi.rs @@ -21,10 +21,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/spi_async.rs b/examples/rp23/src/bin/spi_async.rs index 71eaa5c05..4a74f991c 100644 --- a/examples/rp23/src/bin/spi_async.rs +++ b/examples/rp23/src/bin/spi_async.rs @@ -19,10 +19,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/spi_display.rs b/examples/rp23/src/bin/spi_display.rs index 2441b1186..71dd84658 100644 --- a/examples/rp23/src/bin/spi_display.rs +++ b/examples/rp23/src/bin/spi_display.rs @@ -36,10 +36,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; use crate::my_display_interface::SPIDeviceInterface; diff --git a/examples/rp23/src/bin/spi_sdmmc.rs b/examples/rp23/src/bin/spi_sdmmc.rs index d7af77a30..dabf41ab8 100644 --- a/examples/rp23/src/bin/spi_sdmmc.rs +++ b/examples/rp23/src/bin/spi_sdmmc.rs @@ -25,10 +25,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; struct DummyTimesource(); diff --git a/examples/rp23/src/bin/uart.rs b/examples/rp23/src/bin/uart.rs index ae00f36dc..0ffe0b293 100644 --- a/examples/rp23/src/bin/uart.rs +++ b/examples/rp23/src/bin/uart.rs @@ -20,10 +20,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/uart_buffered_split.rs b/examples/rp23/src/bin/uart_buffered_split.rs index 2b14520d5..4e69a20c4 100644 --- a/examples/rp23/src/bin/uart_buffered_split.rs +++ b/examples/rp23/src/bin/uart_buffered_split.rs @@ -26,10 +26,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/uart_r503.rs b/examples/rp23/src/bin/uart_r503.rs index 39a17d305..5ac8839e3 100644 --- a/examples/rp23/src/bin/uart_r503.rs +++ b/examples/rp23/src/bin/uart_r503.rs @@ -19,10 +19,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(pub struct Irqs { diff --git a/examples/rp23/src/bin/uart_unidir.rs b/examples/rp23/src/bin/uart_unidir.rs index 38210a8d0..988e44a79 100644 --- a/examples/rp23/src/bin/uart_unidir.rs +++ b/examples/rp23/src/bin/uart_unidir.rs @@ -25,10 +25,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/usb_webusb.rs b/examples/rp23/src/bin/usb_webusb.rs index f4ecde30e..3ade2226b 100644 --- a/examples/rp23/src/bin/usb_webusb.rs +++ b/examples/rp23/src/bin/usb_webusb.rs @@ -38,10 +38,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; bind_interrupts!(struct Irqs { diff --git a/examples/rp23/src/bin/watchdog.rs b/examples/rp23/src/bin/watchdog.rs index 3ac457219..a901c1164 100644 --- a/examples/rp23/src/bin/watchdog.rs +++ b/examples/rp23/src/bin/watchdog.rs @@ -22,10 +22,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; #[embassy_executor::main] diff --git a/examples/rp23/src/bin/zerocopy.rs b/examples/rp23/src/bin/zerocopy.rs index d04e1bf2a..86fca6f12 100644 --- a/examples/rp23/src/bin/zerocopy.rs +++ b/examples/rp23/src/bin/zerocopy.rs @@ -27,10 +27,10 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); #[link_section = ".bi_entries"] #[used] pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ - embassy_rp::binary_info_rp_cargo_bin_name!(), - embassy_rp::binary_info_rp_cargo_version!(), - embassy_rp::binary_info_rp_program_description!(c"Blinky"), - embassy_rp::binary_info_rp_program_build_attribute!(), + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), ]; type SampleBuffer = [u16; 512]; -- cgit From 1b0661ebb17fca93d11891a1c488005d3d644784 Mon Sep 17 00:00:00 2001 From: Sjoerd Simons Date: Sun, 18 Aug 2024 21:06:13 +0200 Subject: [UCPD] Add support for non-SOP packets Allow capturing (and distinguishing) non-SOP packets as well. The default configuration will just configure SOP packets. For ease of use the default receive function signature is unchanged as for PD sinks (which is likely the common usage) just SOP is enough so no need to differentiate. --- examples/stm32g4/src/bin/usb_c_pd.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32g4/src/bin/usb_c_pd.rs b/examples/stm32g4/src/bin/usb_c_pd.rs index 7caea634f..2e87d3931 100644 --- a/examples/stm32g4/src/bin/usb_c_pd.rs +++ b/examples/stm32g4/src/bin/usb_c_pd.rs @@ -55,7 +55,7 @@ async fn main(_spawner: Spawner) { info!("Hello World!"); - let mut ucpd = Ucpd::new(p.UCPD1, Irqs {}, p.PB6, p.PB4); + let mut ucpd = Ucpd::new(p.UCPD1, Irqs {}, p.PB6, p.PB4, Default::default()); ucpd.cc_phy().set_pull(CcPull::Sink); info!("Waiting for USB connection..."); -- cgit From 160e1c38ceab0ae8876c2bf5f12438edd4d9b018 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 21 Jun 2024 20:19:54 +0200 Subject: Add embassy-net-nrf91. --- examples/nrf9160/.cargo/config.toml | 3 +- examples/nrf9160/Cargo.toml | 5 + examples/nrf9160/memory.x | 8 +- examples/nrf9160/src/bin/modem_tcp_client.rs | 250 +++++++++++++++++++++++++++ 4 files changed, 263 insertions(+), 3 deletions(-) create mode 100644 examples/nrf9160/src/bin/modem_tcp_client.rs (limited to 'examples') diff --git a/examples/nrf9160/.cargo/config.toml b/examples/nrf9160/.cargo/config.toml index f64c63966..6072b8595 100644 --- a/examples/nrf9160/.cargo/config.toml +++ b/examples/nrf9160/.cargo/config.toml @@ -1,5 +1,6 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] -runner = "probe-rs run --chip nRF9160_xxAA" +# runner = "probe-rs run --chip nRF9160_xxAA" +runner = [ "probe-rs", "run", "--chip=nRF9160_xxAA", "--always-print-stacktrace", "--log-format={t} {[{L}]%bold} {s} {{c} {ff}:{l:1}%dimmed}" ] [build] target = "thumbv8m.main-none-eabihf" diff --git a/examples/nrf9160/Cargo.toml b/examples/nrf9160/Cargo.toml index c30b54ebd..fc24e99d2 100644 --- a/examples/nrf9160/Cargo.toml +++ b/examples/nrf9160/Cargo.toml @@ -8,6 +8,8 @@ license = "MIT OR Apache-2.0" embassy-executor = { version = "0.6.0", path = "../../embassy-executor", features = ["task-arena-size-32768", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } embassy-time = { version = "0.3.2", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime"] } embassy-nrf = { version = "0.2.0", path = "../../embassy-nrf", features = ["defmt", "nrf9160-s", "time-driver-rtc1", "gpiote", "unstable-pac", "time"] } +embassy-net-nrf91 = { version = "0.1.0", path = "../../embassy-net-nrf91", features = ["defmt"] } +embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defmt", "tcp", "proto-ipv4", "medium-ip"] } defmt = "0.3" defmt-rtt = "0.4" @@ -15,6 +17,9 @@ defmt-rtt = "0.4" cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } cortex-m-rt = "0.7.0" panic-probe = { version = "0.3", features = ["print-defmt"] } +static_cell = { version = "2" } +embedded-io = "0.6.1" +embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } [profile.release] debug = 2 diff --git a/examples/nrf9160/memory.x b/examples/nrf9160/memory.x index 4c7d4ebf0..e33498773 100644 --- a/examples/nrf9160/memory.x +++ b/examples/nrf9160/memory.x @@ -1,5 +1,9 @@ MEMORY { - FLASH : ORIGIN = 0x00000000, LENGTH = 1024K - RAM : ORIGIN = 0x20018000, LENGTH = 160K + FLASH : ORIGIN = 0x00000000, LENGTH = 1024K + RAM : ORIGIN = 0x20010000, LENGTH = 192K + IPC : ORIGIN = 0x20000000, LENGTH = 64K } + +PROVIDE(__start_ipc = ORIGIN(IPC)); +PROVIDE(__end_ipc = ORIGIN(IPC) + LENGTH(IPC)); diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs new file mode 100644 index 000000000..b1dac18a1 --- /dev/null +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -0,0 +1,250 @@ +#![no_std] +#![no_main] + +use core::mem::MaybeUninit; +use core::ptr::addr_of_mut; +use core::str::FromStr; +use core::{slice, str}; + +use defmt::{assert, *}; +use embassy_executor::Spawner; +use embassy_net::{Ipv4Address, Ipv4Cidr, Stack, StackResources}; +use embassy_net_nrf91::{Runner, State}; +use embassy_nrf::buffered_uarte::{self, BufferedUarteTx}; +use embassy_nrf::gpio::{AnyPin, Level, Output, OutputDrive, Pin}; +use embassy_nrf::uarte::Baudrate; +use embassy_nrf::{bind_interrupts, interrupt, peripherals, uarte}; +use embassy_time::{Duration, Timer}; +use embedded_io_async::Write; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +#[interrupt] +fn IPC() { + embassy_net_nrf91::on_ipc_irq(); +} + +bind_interrupts!(struct Irqs { + UARTE0_SPIM0_SPIS0_TWIM0_TWIS0 => buffered_uarte::InterruptHandler; +}); + +// embassy-net-nrf91 only supports blocking trace write for now. +// We don't want to block packet processing with slow uart writes, so +// we make an adapter that writes whatever fits in the buffer and drops +// data if it's full. +struct TraceWriter(BufferedUarteTx<'static, peripherals::SERIAL0>); + +impl embedded_io::ErrorType for TraceWriter { + type Error = core::convert::Infallible; +} + +impl embedded_io::Write for TraceWriter { + fn write(&mut self, buf: &[u8]) -> Result { + let _ = self.0.try_write(buf); + Ok(buf.len()) + } + fn flush(&mut self) -> Result<(), Self::Error> { + Ok(()) + } +} + +#[embassy_executor::task] +async fn modem_task(runner: Runner<'static, TraceWriter>) -> ! { + runner.run().await +} + +#[embassy_executor::task] +async fn net_task(stack: &'static Stack>) -> ! { + stack.run().await +} + +#[embassy_executor::task] +async fn blink_task(pin: AnyPin) { + let mut led = Output::new(pin, Level::Low, OutputDrive::Standard); + loop { + led.set_high(); + Timer::after_millis(100).await; + led.set_low(); + Timer::after_millis(100).await; + } +} + +extern "C" { + static __start_ipc: u8; + static __end_ipc: u8; +} + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_nrf::init(Default::default()); + + info!("Hello World!"); + + unwrap!(spawner.spawn(blink_task(p.P0_02.degrade()))); + + let ipc_mem = unsafe { + let ipc_start = &__start_ipc as *const u8 as *mut MaybeUninit; + let ipc_end = &__end_ipc as *const u8 as *mut MaybeUninit; + let ipc_len = ipc_end.offset_from(ipc_start) as usize; + slice::from_raw_parts_mut(ipc_start, ipc_len) + }; + + static mut TRACE_BUF: [u8; 4096] = [0u8; 4096]; + let mut config = uarte::Config::default(); + config.baudrate = Baudrate::BAUD1M; + let trace_writer = TraceWriter(BufferedUarteTx::new( + //let trace_uart = BufferedUarteTx::new( + unsafe { peripherals::SERIAL0::steal() }, + Irqs, + unsafe { peripherals::P0_01::steal() }, + //unsafe { peripherals::P0_14::steal() }, + config, + unsafe { &mut *addr_of_mut!(TRACE_BUF) }, + )); + + static STATE: StaticCell = StaticCell::new(); + let (device, control, runner) = embassy_net_nrf91::new(STATE.init(State::new()), ipc_mem, trace_writer).await; + unwrap!(spawner.spawn(modem_task(runner))); + + let config = embassy_net::Config::default(); + + // Generate "random" seed. nRF91 has no RNG, TODO figure out something... + let seed = 123456; + + // Init network stack + static RESOURCES: StaticCell> = StaticCell::new(); + static STACK: StaticCell>> = StaticCell::new(); + let stack = &*STACK.init(Stack::new( + device, + config, + RESOURCES.init(StackResources::<2>::new()), + seed, + )); + + unwrap!(spawner.spawn(net_task(stack))); + + control.wait_init().await; + info!("INIT OK"); + + let mut buf = [0u8; 256]; + + let n = control.at_command(b"AT+CFUN?", &mut buf).await; + info!("AT resp: '{}'", unsafe { str::from_utf8_unchecked(&buf[..n]) }); + + let n = control + .at_command(b"AT+CGDCONT=0,\"IP\",\"iot.nat.es\"", &mut buf) + .await; + info!("AT resp: '{}'", unsafe { str::from_utf8_unchecked(&buf[..n]) }); + let n = control + .at_command(b"AT+CGAUTH=0,1,\"orange\",\"orange\"", &mut buf) + .await; + info!("AT resp: '{}'", unsafe { str::from_utf8_unchecked(&buf[..n]) }); + + let n = control.at_command(b"AT+CFUN=1", &mut buf).await; + info!("AT resp: '{}'", unsafe { str::from_utf8_unchecked(&buf[..n]) }); + + info!("waiting for attach..."); + loop { + Timer::after_millis(500).await; + let n = control.at_command(b"AT+CGATT?", &mut buf).await; + let mut res = &buf[..n]; + pop_prefix(&mut res, b"+CGATT: "); + let res = split_field(&mut res); + info!("AT resp field: '{}'", unsafe { str::from_utf8_unchecked(res) }); + if res == b"1" { + break; + } + } + + let n = control.at_command(b"AT+CGPADDR=0", &mut buf).await; + let mut res = &buf[..n]; + pop_prefix(&mut res, b"+CGPADDR: 0,"); + let ip = split_field(&mut res); + let ip = Ipv4Address::from_str(unsafe { str::from_utf8_unchecked(ip) }).unwrap(); + info!("IP: '{}'", ip); + + info!("============== OPENING SOCKET"); + control.open_raw_socket().await; + + stack.set_config_v4(embassy_net::ConfigV4::Static(embassy_net::StaticConfigV4 { + address: Ipv4Cidr::new(ip, 32), + gateway: None, + dns_servers: Default::default(), + })); + + let mut rx_buffer = [0; 4096]; + let mut tx_buffer = [0; 4096]; + loop { + let mut socket = embassy_net::tcp::TcpSocket::new(stack, &mut rx_buffer, &mut tx_buffer); + socket.set_timeout(Some(Duration::from_secs(10))); + + info!("Connecting..."); + let host_addr = embassy_net::Ipv4Address::from_str("83.51.182.206").unwrap(); + if let Err(e) = socket.connect((host_addr, 8000)).await { + warn!("connect error: {:?}", e); + continue; + } + info!("Connected to {:?}", socket.remote_endpoint()); + + let msg = b"Hello world!\n"; + loop { + if let Err(e) = socket.write_all(msg).await { + warn!("write error: {:?}", e); + break; + } + info!("txd: {}", core::str::from_utf8(msg).unwrap()); + Timer::after_secs(1).await; + } + } +} + +fn is_whitespace(char: u8) -> bool { + match char { + b'\r' | b'\n' | b' ' => true, + _ => false, + } +} + +fn is_separator(char: u8) -> bool { + match char { + b',' | b'\r' | b'\n' | b' ' => true, + _ => false, + } +} + +fn split_field<'a>(data: &mut &'a [u8]) -> &'a [u8] { + while !data.is_empty() && is_whitespace(data[0]) { + *data = &data[1..]; + } + + if data.is_empty() { + return &[]; + } + + if data[0] == b'"' { + let data2 = &data[1..]; + let end = data2.iter().position(|&x| x == b'"').unwrap_or(data2.len()); + let field = &data2[..end]; + let mut rest = &data2[data2.len().min(end + 1)..]; + if rest.first() == Some(&b'\"') { + rest = &rest[1..]; + } + while !rest.is_empty() && is_separator(rest[0]) { + rest = &rest[1..]; + } + *data = rest; + field + } else { + let end = data.iter().position(|&x| is_separator(x)).unwrap_or(data.len()); + let field = &data[0..end]; + let rest = &data[data.len().min(end + 1)..]; + *data = rest; + field + } +} + +fn pop_prefix(data: &mut &[u8], prefix: &[u8]) { + assert!(data.len() >= prefix.len()); + assert!(&data[..prefix.len()] == prefix); + *data = &data[prefix.len()..]; +} -- cgit From c9ad897d4a6f1c66d77372fd27ec135e0c798f65 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Wed, 21 Aug 2024 18:12:59 +0200 Subject: Use released bt-hci crate --- examples/rp/Cargo.toml | 1 - examples/rp23/Cargo.toml | 1 - 2 files changed, 2 deletions(-) (limited to 'examples') diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 83d5792b6..04b4c6317 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml @@ -74,7 +74,6 @@ opt-level = "z" [patch.crates-io] trouble-host = { git = "https://github.com/embassy-rs/trouble.git", rev = "4b8c0f499b34e46ca23a56e2d1640ede371722cf" } -bt-hci = { git = "https://github.com/alexmoon/bt-hci.git", rev = "b9cd5954f6bd89b535cad9c418e9fdf12812d7c3" } embassy-executor = { path = "../../embassy-executor" } embassy-sync = { path = "../../embassy-sync" } embassy-futures = { path = "../../embassy-futures" } diff --git a/examples/rp23/Cargo.toml b/examples/rp23/Cargo.toml index 8f8d6ff10..087f6fd69 100644 --- a/examples/rp23/Cargo.toml +++ b/examples/rp23/Cargo.toml @@ -71,7 +71,6 @@ opt-level = "z" [patch.crates-io] trouble-host = { git = "https://github.com/embassy-rs/trouble.git", rev = "4b8c0f499b34e46ca23a56e2d1640ede371722cf" } -bt-hci = { git = "https://github.com/alexmoon/bt-hci.git", rev = "b9cd5954f6bd89b535cad9c418e9fdf12812d7c3" } embassy-executor = { path = "../../embassy-executor" } embassy-sync = { path = "../../embassy-sync" } embassy-futures = { path = "../../embassy-futures" } -- cgit From d4ab9fc247731e5f8ede4bb60a8c3c63136e1e6d Mon Sep 17 00:00:00 2001 From: James Bowes Date: Mon, 26 Aug 2024 10:33:13 -0300 Subject: chore: Remove unused keyboard code from rp mouse example The usb mouse example included code copied from the keyboard example to set up a button, which is not used in the mouse example. Remove it, to make the example clearer. --- examples/rp/src/bin/usb_hid_mouse.rs | 7 ------- 1 file changed, 7 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/usb_hid_mouse.rs b/examples/rp/src/bin/usb_hid_mouse.rs index cce344fb0..5ee650910 100644 --- a/examples/rp/src/bin/usb_hid_mouse.rs +++ b/examples/rp/src/bin/usb_hid_mouse.rs @@ -8,7 +8,6 @@ use embassy_executor::Spawner; use embassy_futures::join::join; use embassy_rp::bind_interrupts; use embassy_rp::clocks::RoscRng; -use embassy_rp::gpio::{Input, Pull}; use embassy_rp::peripherals::USB; use embassy_rp::usb::{Driver, InterruptHandler}; use embassy_time::Timer; @@ -75,12 +74,6 @@ async fn main(_spawner: Spawner) { // Run the USB device. let usb_fut = usb.run(); - // Set up the signal pin that will be used to trigger the keyboard. - let mut signal_pin = Input::new(p.PIN_16, Pull::None); - - // Enable the schmitt trigger to slightly debounce. - signal_pin.set_schmitt(true); - let (reader, mut writer) = hid.split(); // Do stuff with the class! -- cgit From 9347571fea243719826ff21b250bc0dff7f51fa5 Mon Sep 17 00:00:00 2001 From: Pedro Ferreira Date: Mon, 26 Aug 2024 20:28:30 +0200 Subject: rp: add example code to flash bluetooth fw (#3290) --- examples/rp/src/bin/bluetooth.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'examples') diff --git a/examples/rp/src/bin/bluetooth.rs b/examples/rp/src/bin/bluetooth.rs index 901521b60..7524e7929 100644 --- a/examples/rp/src/bin/bluetooth.rs +++ b/examples/rp/src/bin/bluetooth.rs @@ -43,8 +43,10 @@ async fn main(spawner: Spawner) { // at hardcoded addresses, instead of baking them into the program with `include_bytes!`: // probe-rs download 43439A0.bin --format bin --chip RP2040 --base-address 0x10100000 // probe-rs download 43439A0_clm.bin --format bin --chip RP2040 --base-address 0x10140000 + // probe-rs download 43439A0_btfw.bin --format bin --chip RP2040 --base-address 0x10141400 //let fw = unsafe { core::slice::from_raw_parts(0x10100000 as *const u8, 224190) }; //let clm = unsafe { core::slice::from_raw_parts(0x10140000 as *const u8, 4752) }; + //let btfw = unsafe { core::slice::from_raw_parts(0x10141400 as *const u8, 6164) }; let pwr = Output::new(p.PIN_23, Level::Low); let cs = Output::new(p.PIN_25, Level::High); -- cgit From 372270a9b962196ede9c60a705cc3138ba592fec Mon Sep 17 00:00:00 2001 From: Caleb Jamison Date: Tue, 27 Aug 2024 13:19:07 -0400 Subject: rp235x flash support. The 2350 doesn't have a boot2 like the 2040, but it does have the concept of a xip setup function that could be customized. By default the bootrom searches for the attached flash chip and provides an xip setup func at the base of the bootram. That bootram is not executable, so it still needs to be copied to ram like boot2 would be. Currently does not use inline assembly. Also switch to picotool, as elf2uf2 has not been patched to support the 2350. --- examples/rp23/.cargo/config.toml | 3 ++- examples/rp23/src/bin/flash.rs | 15 +++------------ 2 files changed, 5 insertions(+), 13 deletions(-) (limited to 'examples') diff --git a/examples/rp23/.cargo/config.toml b/examples/rp23/.cargo/config.toml index f77e004dc..9a92b1ce2 100644 --- a/examples/rp23/.cargo/config.toml +++ b/examples/rp23/.cargo/config.toml @@ -1,6 +1,7 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] #runner = "probe-rs run --chip RP2040" -runner = "elf2uf2-rs -d" +#runner = "elf2uf2-rs -d" +runner = "picotool load -u -v -x -t elf" [build] target = "thumbv8m.main-none-eabihf" diff --git a/examples/rp23/src/bin/flash.rs b/examples/rp23/src/bin/flash.rs index 811561f26..84011e394 100644 --- a/examples/rp23/src/bin/flash.rs +++ b/examples/rp23/src/bin/flash.rs @@ -21,7 +21,7 @@ pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ embassy_rp::binary_info::rp_program_name!(c"example"), embassy_rp::binary_info::rp_cargo_version!(), - embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_description!(c"Flash"), embassy_rp::binary_info::rp_program_build_attribute!(), ]; @@ -41,22 +41,13 @@ async fn main(_spawner: Spawner) { let mut flash = embassy_rp::flash::Flash::<_, Async, FLASH_SIZE>::new(p.FLASH, p.DMA_CH0); - // Get JEDEC id - let jedec = flash.blocking_jedec_id().unwrap(); - info!("jedec id: 0x{:x}", jedec); - - // Get unique id - let mut uid = [0; 8]; - flash.blocking_unique_id(&mut uid).unwrap(); - info!("unique id: {:?}", uid); - erase_write_sector(&mut flash, 0x00); multiwrite_bytes(&mut flash, ERASE_SIZE as u32); background_read(&mut flash, (ERASE_SIZE * 2) as u32).await; - loop {} + info!("Flash Works!"); } fn multiwrite_bytes(flash: &mut embassy_rp::flash::Flash<'_, FLASH, Async, FLASH_SIZE>, offset: u32) { @@ -82,7 +73,7 @@ fn multiwrite_bytes(flash: &mut embassy_rp::flash::Flash<'_, FLASH, Async, FLASH defmt::unwrap!(flash.blocking_read(ADDR_OFFSET + offset, &mut read_buf)); info!("Contents after write starts with {=[u8]}", read_buf[0..4]); - if &read_buf[0..4] != &[0x01, 0x02, 0x03, 0x04] { + if read_buf[0..4] != [0x01, 0x02, 0x03, 0x04] { defmt::panic!("unexpected"); } } -- cgit From 0434798439b9037a4fa5f30165879292e388f042 Mon Sep 17 00:00:00 2001 From: Caleb Jamison Date: Thu, 29 Aug 2024 12:28:23 -0400 Subject: Import otp from rp-hal, helper fns for chipid and randid Again, credit to @thejpster for doing the hard part and figuring out the otp. --- examples/rp23/src/bin/otp.rs | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 examples/rp23/src/bin/otp.rs (limited to 'examples') diff --git a/examples/rp23/src/bin/otp.rs b/examples/rp23/src/bin/otp.rs new file mode 100644 index 000000000..c4d79c6ea --- /dev/null +++ b/examples/rp23/src/bin/otp.rs @@ -0,0 +1,46 @@ +//! This example shows reading the OTP constants on the RP235x. + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::block::ImageDef; +use embassy_rp::otp; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info::rp_program_name!(c"OTP Read Example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"OTP Read Example"), + embassy_rp::binary_info::rp_program_build_attribute!(), +]; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let _ = embassy_rp::init(Default::default()); + // + // add some delay to give an attached debug probe time to parse the + // defmt RTT header. Reading that header might touch flash memory, which + // interferes with flash write operations. + // https://github.com/knurling-rs/defmt/pull/683 + Timer::after_millis(10).await; + + let unique_id = unwrap!(otp::get_unique_id()); + info!("Unique id:{:X}", unique_id); + + let private_rand = unwrap!(otp::get_private_random_number()); + info!("Private Rand:{:X}", private_rand); + + loop { + Timer::after_secs(1).await; + } +} -- cgit From 4c07c356e44020d39bc27d44d24272ad369426c3 Mon Sep 17 00:00:00 2001 From: Caleb Jamison Date: Thu, 29 Aug 2024 21:35:57 -0400 Subject: Fixup: forgot to rename fn in example --- examples/rp23/src/bin/otp.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/rp23/src/bin/otp.rs b/examples/rp23/src/bin/otp.rs index c4d79c6ea..106e514ca 100644 --- a/examples/rp23/src/bin/otp.rs +++ b/examples/rp23/src/bin/otp.rs @@ -34,8 +34,8 @@ async fn main(_spawner: Spawner) { // https://github.com/knurling-rs/defmt/pull/683 Timer::after_millis(10).await; - let unique_id = unwrap!(otp::get_unique_id()); - info!("Unique id:{:X}", unique_id); + let chip_id = unwrap!(otp::get_chipid()); + info!("Unique id:{:X}", chip_id); let private_rand = unwrap!(otp::get_private_random_number()); info!("Private Rand:{:X}", private_rand); -- cgit From b277f42c9d681ce3c929858adffcefbdb7adabef Mon Sep 17 00:00:00 2001 From: Adrian Friedli Date: Mon, 2 Sep 2024 22:07:49 +0200 Subject: nrf52840: fix naming of LED states in examples (#3304) The LEDs on the nrf52840 DK are active low. --- examples/nrf52840/src/bin/channel.rs | 4 ++-- examples/nrf52840/src/bin/channel_sender_receiver.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/nrf52840/src/bin/channel.rs b/examples/nrf52840/src/bin/channel.rs index 7fcea9dbd..e06ba1c73 100644 --- a/examples/nrf52840/src/bin/channel.rs +++ b/examples/nrf52840/src/bin/channel.rs @@ -35,8 +35,8 @@ async fn main(spawner: Spawner) { loop { match CHANNEL.receive().await { - LedState::On => led.set_high(), - LedState::Off => led.set_low(), + LedState::On => led.set_low(), + LedState::Off => led.set_high(), } } } diff --git a/examples/nrf52840/src/bin/channel_sender_receiver.rs b/examples/nrf52840/src/bin/channel_sender_receiver.rs index 3095a04ec..29f70f91c 100644 --- a/examples/nrf52840/src/bin/channel_sender_receiver.rs +++ b/examples/nrf52840/src/bin/channel_sender_receiver.rs @@ -33,8 +33,8 @@ async fn recv_task(led: AnyPin, receiver: Receiver<'static, NoopRawMutex, LedSta loop { match receiver.receive().await { - LedState::On => led.set_high(), - LedState::Off => led.set_low(), + LedState::On => led.set_low(), + LedState::Off => led.set_high(), } } } -- cgit From a6db8678eb5a7c9ebcf6449799b4ff525fe52d5f Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Wed, 4 Sep 2024 11:04:36 +0200 Subject: Add utility for setting configuration for a context --- examples/nrf9160/src/bin/modem_tcp_client.rs | 64 ++++++++++------------------ 1 file changed, 22 insertions(+), 42 deletions(-) (limited to 'examples') diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs index b1dac18a1..817ad17c7 100644 --- a/examples/nrf9160/src/bin/modem_tcp_client.rs +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -2,14 +2,15 @@ #![no_main] use core::mem::MaybeUninit; +use core::net::IpAddr; use core::ptr::addr_of_mut; use core::str::FromStr; use core::{slice, str}; -use defmt::{assert, *}; +use defmt::{assert, info, warn, unwrap}; use embassy_executor::Spawner; use embassy_net::{Ipv4Address, Ipv4Cidr, Stack, StackResources}; -use embassy_net_nrf91::{Runner, State}; +use embassy_net_nrf91::{Runner, State, context}; use embassy_nrf::buffered_uarte::{self, BufferedUarteTx}; use embassy_nrf::gpio::{AnyPin, Level, Output, OutputDrive, Pin}; use embassy_nrf::uarte::Baudrate; @@ -63,9 +64,9 @@ async fn blink_task(pin: AnyPin) { let mut led = Output::new(pin, Level::Low, OutputDrive::Standard); loop { led.set_high(); - Timer::after_millis(100).await; + Timer::after_millis(1000).await; led.set_low(); - Timer::after_millis(100).await; + Timer::after_millis(1000).await; } } @@ -123,51 +124,30 @@ async fn main(spawner: Spawner) { unwrap!(spawner.spawn(net_task(stack))); - control.wait_init().await; - info!("INIT OK"); + let control = context::Control::new(control, 0).await; - let mut buf = [0u8; 256]; - - let n = control.at_command(b"AT+CFUN?", &mut buf).await; - info!("AT resp: '{}'", unsafe { str::from_utf8_unchecked(&buf[..n]) }); - - let n = control - .at_command(b"AT+CGDCONT=0,\"IP\",\"iot.nat.es\"", &mut buf) - .await; - info!("AT resp: '{}'", unsafe { str::from_utf8_unchecked(&buf[..n]) }); - let n = control - .at_command(b"AT+CGAUTH=0,1,\"orange\",\"orange\"", &mut buf) - .await; - info!("AT resp: '{}'", unsafe { str::from_utf8_unchecked(&buf[..n]) }); - - let n = control.at_command(b"AT+CFUN=1", &mut buf).await; - info!("AT resp: '{}'", unsafe { str::from_utf8_unchecked(&buf[..n]) }); + unwrap!(control.configure(context::Config { + gateway: "iot.nat.es", + auth_prot: context::AuthProt::Pap, + auth: Some(("orange", "orange")), + }).await); info!("waiting for attach..."); - loop { - Timer::after_millis(500).await; - let n = control.at_command(b"AT+CGATT?", &mut buf).await; - let mut res = &buf[..n]; - pop_prefix(&mut res, b"+CGATT: "); - let res = split_field(&mut res); - info!("AT resp field: '{}'", unsafe { str::from_utf8_unchecked(res) }); - if res == b"1" { - break; - } - } - let n = control.at_command(b"AT+CGPADDR=0", &mut buf).await; - let mut res = &buf[..n]; - pop_prefix(&mut res, b"+CGPADDR: 0,"); - let ip = split_field(&mut res); - let ip = Ipv4Address::from_str(unsafe { str::from_utf8_unchecked(ip) }).unwrap(); - info!("IP: '{}'", ip); + let mut status = unwrap!(control.status().await); + while !status.attached && status.ip.is_none() { + Timer::after_millis(1000).await; + status = unwrap!(control.status().await); + info!("STATUS: {:?}", status); + } - info!("============== OPENING SOCKET"); - control.open_raw_socket().await; + let Some(IpAddr::V4(addr)) = status.ip else { + panic!("Unexpected IP address"); + }; + let addr = Ipv4Address(addr.octets()); stack.set_config_v4(embassy_net::ConfigV4::Static(embassy_net::StaticConfigV4 { - address: Ipv4Cidr::new(ip, 32), + address: Ipv4Cidr::new(addr, 32), gateway: None, dns_servers: Default::default(), })); -- cgit From b76b7ca9f5d64e83f7f69a6f7d97ba605ab2af7f Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Wed, 4 Sep 2024 12:58:33 +0200 Subject: Use at-commands crate and support DNS * Use at-commands for building and parsing AT commands which has better error handling. * Retrieve DNS servers * Retrieve gateway * Update example to configure embassy-net with retrieved parameters. --- examples/nrf9160/Cargo.toml | 1 + examples/nrf9160/src/bin/modem_tcp_client.rs | 78 ++++++++-------------------- 2 files changed, 22 insertions(+), 57 deletions(-) (limited to 'examples') diff --git a/examples/nrf9160/Cargo.toml b/examples/nrf9160/Cargo.toml index fc24e99d2..9aeb99317 100644 --- a/examples/nrf9160/Cargo.toml +++ b/examples/nrf9160/Cargo.toml @@ -14,6 +14,7 @@ embassy-net = { version = "0.4.0", path = "../../embassy-net", features = ["defm defmt = "0.3" defmt-rtt = "0.4" +heapless = "0.8" cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } cortex-m-rt = "0.7.0" panic-probe = { version = "0.3", features = ["print-defmt"] } diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs index 817ad17c7..f80861693 100644 --- a/examples/nrf9160/src/bin/modem_tcp_client.rs +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -5,9 +5,10 @@ use core::mem::MaybeUninit; use core::net::IpAddr; use core::ptr::addr_of_mut; use core::str::FromStr; -use core::{slice, str}; +use core::slice; use defmt::{assert, info, warn, unwrap}; +use heapless::Vec; use embassy_executor::Spawner; use embassy_net::{Ipv4Address, Ipv4Cidr, Stack, StackResources}; use embassy_net_nrf91::{Runner, State, context}; @@ -146,10 +147,23 @@ async fn main(spawner: Spawner) { }; let addr = Ipv4Address(addr.octets()); + let gateway = if let Some(IpAddr::V4(addr)) = status.gateway { + Some(Ipv4Address(addr.octets())) + } else { + None + }; + + let mut dns_servers = Vec::new(); + for dns in status.dns { + if let IpAddr::V4(ip) = dns { + unwrap!(dns_servers.push(Ipv4Address(ip.octets()))); + } + } + stack.set_config_v4(embassy_net::ConfigV4::Static(embassy_net::StaticConfigV4 { address: Ipv4Cidr::new(addr, 32), - gateway: None, - dns_servers: Default::default(), + gateway, + dns_servers, })); let mut rx_buffer = [0; 4096]; @@ -159,15 +173,16 @@ async fn main(spawner: Spawner) { socket.set_timeout(Some(Duration::from_secs(10))); info!("Connecting..."); - let host_addr = embassy_net::Ipv4Address::from_str("83.51.182.206").unwrap(); - if let Err(e) = socket.connect((host_addr, 8000)).await { + let host_addr = embassy_net::Ipv4Address::from_str("45.79.112.203").unwrap(); + if let Err(e) = socket.connect((host_addr, 4242)).await { warn!("connect error: {:?}", e); + Timer::after_secs(1).await; continue; } info!("Connected to {:?}", socket.remote_endpoint()); let msg = b"Hello world!\n"; - loop { + for _ in 0..10 { if let Err(e) = socket.write_all(msg).await { warn!("write error: {:?}", e); break; @@ -177,54 +192,3 @@ async fn main(spawner: Spawner) { } } } - -fn is_whitespace(char: u8) -> bool { - match char { - b'\r' | b'\n' | b' ' => true, - _ => false, - } -} - -fn is_separator(char: u8) -> bool { - match char { - b',' | b'\r' | b'\n' | b' ' => true, - _ => false, - } -} - -fn split_field<'a>(data: &mut &'a [u8]) -> &'a [u8] { - while !data.is_empty() && is_whitespace(data[0]) { - *data = &data[1..]; - } - - if data.is_empty() { - return &[]; - } - - if data[0] == b'"' { - let data2 = &data[1..]; - let end = data2.iter().position(|&x| x == b'"').unwrap_or(data2.len()); - let field = &data2[..end]; - let mut rest = &data2[data2.len().min(end + 1)..]; - if rest.first() == Some(&b'\"') { - rest = &rest[1..]; - } - while !rest.is_empty() && is_separator(rest[0]) { - rest = &rest[1..]; - } - *data = rest; - field - } else { - let end = data.iter().position(|&x| is_separator(x)).unwrap_or(data.len()); - let field = &data[0..end]; - let rest = &data[data.len().min(end + 1)..]; - *data = rest; - field - } -} - -fn pop_prefix(data: &mut &[u8], prefix: &[u8]) { - assert!(data.len() >= prefix.len()); - assert!(&data[..prefix.len()] == prefix); - *data = &data[prefix.len()..]; -} -- cgit From 5e27a3e64f46340e50bc6f61e6ef5a89e9f077ab Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Wed, 4 Sep 2024 13:09:27 +0200 Subject: Document public API and fix warnings --- examples/nrf9160/src/bin/modem_tcp_client.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs index f80861693..55ab2a707 100644 --- a/examples/nrf9160/src/bin/modem_tcp_client.rs +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -7,7 +7,7 @@ use core::ptr::addr_of_mut; use core::str::FromStr; use core::slice; -use defmt::{assert, info, warn, unwrap}; +use defmt::{info, warn, unwrap}; use heapless::Vec; use embassy_executor::Spawner; use embassy_net::{Ipv4Address, Ipv4Cidr, Stack, StackResources}; @@ -93,7 +93,7 @@ async fn main(spawner: Spawner) { static mut TRACE_BUF: [u8; 4096] = [0u8; 4096]; let mut config = uarte::Config::default(); - config.baudrate = Baudrate::BAUD1M; + config.baudrate = Baudrate::BAUD115200; let trace_writer = TraceWriter(BufferedUarteTx::new( //let trace_uart = BufferedUarteTx::new( unsafe { peripherals::SERIAL0::steal() }, @@ -128,7 +128,7 @@ async fn main(spawner: Spawner) { let control = context::Control::new(control, 0).await; unwrap!(control.configure(context::Config { - gateway: "iot.nat.es", + apn: "iot.nat.es", auth_prot: context::AuthProt::Pap, auth: Some(("orange", "orange")), }).await); -- cgit From b4221d75b87664485977d37df28f7319143411fc Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Wed, 4 Sep 2024 14:09:17 +0200 Subject: Make tracing optional and use dedicated task --- examples/nrf9160/src/bin/modem_tcp_client.rs | 58 +++++++++++++--------------- 1 file changed, 27 insertions(+), 31 deletions(-) (limited to 'examples') diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs index 55ab2a707..c65e6e153 100644 --- a/examples/nrf9160/src/bin/modem_tcp_client.rs +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -4,20 +4,20 @@ use core::mem::MaybeUninit; use core::net::IpAddr; use core::ptr::addr_of_mut; -use core::str::FromStr; use core::slice; +use core::str::FromStr; -use defmt::{info, warn, unwrap}; -use heapless::Vec; +use defmt::{info, unwrap, warn}; use embassy_executor::Spawner; use embassy_net::{Ipv4Address, Ipv4Cidr, Stack, StackResources}; -use embassy_net_nrf91::{Runner, State, context}; +use embassy_net_nrf91::{context, Runner, State, TraceBuffer, TraceReader}; use embassy_nrf::buffered_uarte::{self, BufferedUarteTx}; use embassy_nrf::gpio::{AnyPin, Level, Output, OutputDrive, Pin}; use embassy_nrf::uarte::Baudrate; use embassy_nrf::{bind_interrupts, interrupt, peripherals, uarte}; use embassy_time::{Duration, Timer}; use embedded_io_async::Write; +use heapless::Vec; use static_cell::StaticCell; use {defmt_rtt as _, panic_probe as _}; @@ -30,28 +30,17 @@ bind_interrupts!(struct Irqs { UARTE0_SPIM0_SPIS0_TWIM0_TWIS0 => buffered_uarte::InterruptHandler; }); -// embassy-net-nrf91 only supports blocking trace write for now. -// We don't want to block packet processing with slow uart writes, so -// we make an adapter that writes whatever fits in the buffer and drops -// data if it's full. -struct TraceWriter(BufferedUarteTx<'static, peripherals::SERIAL0>); - -impl embedded_io::ErrorType for TraceWriter { - type Error = core::convert::Infallible; -} - -impl embedded_io::Write for TraceWriter { - fn write(&mut self, buf: &[u8]) -> Result { - let _ = self.0.try_write(buf); - Ok(buf.len()) - } - fn flush(&mut self) -> Result<(), Self::Error> { - Ok(()) +#[embassy_executor::task] +async fn trace_task(mut uart: BufferedUarteTx<'static, peripherals::SERIAL0>, reader: TraceReader<'static>) -> ! { + let mut rx = [0u8; 1024]; + loop { + let n = reader.read(&mut rx[..]).await; + unwrap!(uart.write_all(&rx[..n]).await); } } #[embassy_executor::task] -async fn modem_task(runner: Runner<'static, TraceWriter>) -> ! { +async fn modem_task(runner: Runner<'static>) -> ! { runner.run().await } @@ -93,8 +82,8 @@ async fn main(spawner: Spawner) { static mut TRACE_BUF: [u8; 4096] = [0u8; 4096]; let mut config = uarte::Config::default(); - config.baudrate = Baudrate::BAUD115200; - let trace_writer = TraceWriter(BufferedUarteTx::new( + config.baudrate = Baudrate::BAUD1M; + let uart = BufferedUarteTx::new( //let trace_uart = BufferedUarteTx::new( unsafe { peripherals::SERIAL0::steal() }, Irqs, @@ -102,11 +91,14 @@ async fn main(spawner: Spawner) { //unsafe { peripherals::P0_14::steal() }, config, unsafe { &mut *addr_of_mut!(TRACE_BUF) }, - )); + ); static STATE: StaticCell = StaticCell::new(); - let (device, control, runner) = embassy_net_nrf91::new(STATE.init(State::new()), ipc_mem, trace_writer).await; + static TRACE: StaticCell = StaticCell::new(); + let (device, control, runner, tracer) = + embassy_net_nrf91::new_with_trace(STATE.init(State::new()), ipc_mem, TRACE.init(TraceBuffer::new())).await; unwrap!(spawner.spawn(modem_task(runner))); + unwrap!(spawner.spawn(trace_task(uart, tracer))); let config = embassy_net::Config::default(); @@ -127,11 +119,15 @@ async fn main(spawner: Spawner) { let control = context::Control::new(control, 0).await; - unwrap!(control.configure(context::Config { - apn: "iot.nat.es", - auth_prot: context::AuthProt::Pap, - auth: Some(("orange", "orange")), - }).await); + unwrap!( + control + .configure(context::Config { + apn: "iot.nat.es", + auth_prot: context::AuthProt::Pap, + auth: Some(("orange", "orange")), + }) + .await + ); info!("waiting for attach..."); -- cgit From 372e45dabc0cfd3eb495e902665bb752a67aa804 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Wed, 4 Sep 2024 18:47:26 +0200 Subject: Add context run task --- examples/nrf9160/src/bin/modem_tcp_client.rs | 93 +++++++++++++++------------- 1 file changed, 50 insertions(+), 43 deletions(-) (limited to 'examples') diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs index c65e6e153..a6f42eb3b 100644 --- a/examples/nrf9160/src/bin/modem_tcp_client.rs +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -49,6 +49,43 @@ async fn net_task(stack: &'static Stack>) stack.run().await } +#[embassy_executor::task] +async fn control_task( + control: &'static context::Control<'static>, + config: context::Config<'static>, + stack: &'static Stack>, +) { + unwrap!( + control + .run(&config, |status| { + let Some(IpAddr::V4(addr)) = status.ip else { + panic!("Unexpected IP address"); + }; + let addr = Ipv4Address(addr.octets()); + + let gateway = if let Some(IpAddr::V4(addr)) = status.gateway { + Some(Ipv4Address(addr.octets())) + } else { + None + }; + + let mut dns_servers = Vec::new(); + for dns in status.dns.iter() { + if let IpAddr::V4(ip) = dns { + unwrap!(dns_servers.push(Ipv4Address(ip.octets()))); + } + } + + stack.set_config_v4(embassy_net::ConfigV4::Static(embassy_net::StaticConfigV4 { + address: Ipv4Cidr::new(addr, 32), + gateway, + dns_servers, + })); + }) + .await + ); +} + #[embassy_executor::task] async fn blink_task(pin: AnyPin) { let mut led = Output::new(pin, Level::Low, OutputDrive::Standard); @@ -117,50 +154,20 @@ async fn main(spawner: Spawner) { unwrap!(spawner.spawn(net_task(stack))); - let control = context::Control::new(control, 0).await; + static CONTROL: StaticCell> = StaticCell::new(); + let control = CONTROL.init(context::Control::new(control, 0).await); - unwrap!( - control - .configure(context::Config { - apn: "iot.nat.es", - auth_prot: context::AuthProt::Pap, - auth: Some(("orange", "orange")), - }) - .await - ); + unwrap!(spawner.spawn(control_task( + control, + context::Config { + apn: "iot.nat.es", + auth_prot: context::AuthProt::Pap, + auth: Some(("orange", "orange")), + }, + stack + ))); - info!("waiting for attach..."); - - let mut status = unwrap!(control.status().await); - while !status.attached && status.ip.is_none() { - Timer::after_millis(1000).await; - status = unwrap!(control.status().await); - info!("STATUS: {:?}", status); - } - - let Some(IpAddr::V4(addr)) = status.ip else { - panic!("Unexpected IP address"); - }; - let addr = Ipv4Address(addr.octets()); - - let gateway = if let Some(IpAddr::V4(addr)) = status.gateway { - Some(Ipv4Address(addr.octets())) - } else { - None - }; - - let mut dns_servers = Vec::new(); - for dns in status.dns { - if let IpAddr::V4(ip) = dns { - unwrap!(dns_servers.push(Ipv4Address(ip.octets()))); - } - } - - stack.set_config_v4(embassy_net::ConfigV4::Static(embassy_net::StaticConfigV4 { - address: Ipv4Cidr::new(addr, 32), - gateway, - dns_servers, - })); + stack.wait_config_up().await; let mut rx_buffer = [0; 4096]; let mut tx_buffer = [0; 4096]; @@ -172,7 +179,7 @@ async fn main(spawner: Spawner) { let host_addr = embassy_net::Ipv4Address::from_str("45.79.112.203").unwrap(); if let Err(e) = socket.connect((host_addr, 4242)).await { warn!("connect error: {:?}", e); - Timer::after_secs(1).await; + Timer::after_secs(10).await; continue; } info!("Connected to {:?}", socket.remote_endpoint()); -- cgit From ccfa6264b0ad258625f2dd667ba8e6eaca1cfdc3 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Wed, 4 Sep 2024 19:31:55 +0200 Subject: Add closing if raw socket to handle re-attach --- examples/nrf9160/src/bin/modem_tcp_client.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'examples') diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs index a6f42eb3b..fb14b746f 100644 --- a/examples/nrf9160/src/bin/modem_tcp_client.rs +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -193,5 +193,7 @@ async fn main(spawner: Spawner) { info!("txd: {}", core::str::from_utf8(msg).unwrap()); Timer::after_secs(1).await; } + // Test auto-attach + unwrap!(control.detach().await); } } -- cgit From 836e8add1bcb09c476a3aa3d7a416a15b8c21e6a Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Thu, 5 Sep 2024 10:02:45 +0200 Subject: Mintor fixes after testing re-attach --- examples/nrf9160/src/bin/modem_tcp_client.rs | 54 +++++++++++++++------------- 1 file changed, 29 insertions(+), 25 deletions(-) (limited to 'examples') diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs index fb14b746f..b7d56802d 100644 --- a/examples/nrf9160/src/bin/modem_tcp_client.rs +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -10,6 +10,7 @@ use core::str::FromStr; use defmt::{info, unwrap, warn}; use embassy_executor::Spawner; use embassy_net::{Ipv4Address, Ipv4Cidr, Stack, StackResources}; +use embassy_net_nrf91::context::Status; use embassy_net_nrf91::{context, Runner, State, TraceBuffer, TraceReader}; use embassy_nrf::buffered_uarte::{self, BufferedUarteTx}; use embassy_nrf::gpio::{AnyPin, Level, Output, OutputDrive, Pin}; @@ -58,34 +59,38 @@ async fn control_task( unwrap!( control .run(&config, |status| { - let Some(IpAddr::V4(addr)) = status.ip else { - panic!("Unexpected IP address"); - }; - let addr = Ipv4Address(addr.octets()); - - let gateway = if let Some(IpAddr::V4(addr)) = status.gateway { - Some(Ipv4Address(addr.octets())) - } else { - None - }; - - let mut dns_servers = Vec::new(); - for dns in status.dns.iter() { - if let IpAddr::V4(ip) = dns { - unwrap!(dns_servers.push(Ipv4Address(ip.octets()))); - } - } - - stack.set_config_v4(embassy_net::ConfigV4::Static(embassy_net::StaticConfigV4 { - address: Ipv4Cidr::new(addr, 32), - gateway, - dns_servers, - })); + stack.set_config_v4(status_to_config(status)); }) .await ); } +fn status_to_config(status: &Status) -> embassy_net::ConfigV4 { + let Some(IpAddr::V4(addr)) = status.ip else { + panic!("Unexpected IP address"); + }; + let addr = Ipv4Address(addr.octets()); + + let gateway = if let Some(IpAddr::V4(addr)) = status.gateway { + Some(Ipv4Address(addr.octets())) + } else { + None + }; + + let mut dns_servers = Vec::new(); + for dns in status.dns.iter() { + if let IpAddr::V4(ip) = dns { + unwrap!(dns_servers.push(Ipv4Address(ip.octets()))); + } + } + + embassy_net::ConfigV4::Static(embassy_net::StaticConfigV4 { + address: Ipv4Cidr::new(addr, 32), + gateway, + dns_servers, + }) +} + #[embassy_executor::task] async fn blink_task(pin: AnyPin) { let mut led = Output::new(pin, Level::Low, OutputDrive::Standard); @@ -193,7 +198,6 @@ async fn main(spawner: Spawner) { info!("txd: {}", core::str::from_utf8(msg).unwrap()); Timer::after_secs(1).await; } - // Test auto-attach - unwrap!(control.detach().await); + Timer::after_secs(4).await; } } -- cgit From 5d0ed246400b1e7973c1fe870dba977ab7186a21 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Thu, 5 Sep 2024 10:31:51 +0200 Subject: Move configure out of run --- examples/nrf9160/src/bin/modem_tcp_client.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs index b7d56802d..7d78eba0a 100644 --- a/examples/nrf9160/src/bin/modem_tcp_client.rs +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -56,9 +56,10 @@ async fn control_task( config: context::Config<'static>, stack: &'static Stack>, ) { + unwrap!(control.configure(&config).await); unwrap!( control - .run(&config, |status| { + .run(|status| { stack.set_config_v4(status_to_config(status)); }) .await -- cgit From db00f3f5ecbf7f9a8acb340556b8fc6b156736fa Mon Sep 17 00:00:00 2001 From: Samuel Maier Date: Thu, 5 Sep 2024 11:45:49 +0200 Subject: Enable critical-section/std on wasm Without that feature one will find import errors on opening the webpage, that are hard to debug. The feature was indirectly enabled in the wasm example, however the reason wasn't documented and thus it was easy to miss. --- examples/wasm/Cargo.toml | 1 - 1 file changed, 1 deletion(-) (limited to 'examples') diff --git a/examples/wasm/Cargo.toml b/examples/wasm/Cargo.toml index 9bd37550c..75de079b7 100644 --- a/examples/wasm/Cargo.toml +++ b/examples/wasm/Cargo.toml @@ -16,7 +16,6 @@ wasm-logger = "0.2.0" wasm-bindgen = "0.2" web-sys = { version = "0.3", features = ["Document", "Element", "HtmlElement", "Node", "Window" ] } log = "0.4.11" -critical-section = { version = "1.1", features = ["std"] } [profile.release] debug = 2 -- cgit From 1b1db2401bfdfe6f813fb7738529749e4ec80882 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Fri, 6 Sep 2024 11:22:07 +0200 Subject: Use byte slice for config --- examples/nrf9160/src/bin/modem_tcp_client.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs index 7d78eba0a..5335b6b51 100644 --- a/examples/nrf9160/src/bin/modem_tcp_client.rs +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -166,9 +166,9 @@ async fn main(spawner: Spawner) { unwrap!(spawner.spawn(control_task( control, context::Config { - apn: "iot.nat.es", + apn: b"iot.nat.es", auth_prot: context::AuthProt::Pap, - auth: Some(("orange", "orange")), + auth: Some((b"orange", b"orange")), }, stack ))); -- cgit From b9a1aaea5b89bd5689796bdfa4227353ee8a452b Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 9 Sep 2024 01:09:15 +0200 Subject: cyw43: add support for WPA3 and more extensive security options. --- examples/rp/src/bin/wifi_tcp_server.rs | 7 +++++-- examples/rp/src/bin/wifi_webrequest.rs | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/rp/src/bin/wifi_tcp_server.rs b/examples/rp/src/bin/wifi_tcp_server.rs index 61eeb82f7..b2950d98a 100644 --- a/examples/rp/src/bin/wifi_tcp_server.rs +++ b/examples/rp/src/bin/wifi_tcp_server.rs @@ -7,6 +7,7 @@ use core::str::from_utf8; +use cyw43::JoinOptions; use cyw43_pio::PioSpi; use defmt::*; use embassy_executor::Spawner; @@ -95,8 +96,10 @@ async fn main(spawner: Spawner) { unwrap!(spawner.spawn(net_task(stack))); loop { - //control.join_open(WIFI_NETWORK).await; - match control.join_wpa2(WIFI_NETWORK, WIFI_PASSWORD).await { + match control + .join(WIFI_NETWORK, JoinOptions::new(WIFI_PASSWORD.as_bytes())) + .await + { Ok(_) => break, Err(err) => { info!("join failed with status={}", err.status); diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs index 889371241..b43be8905 100644 --- a/examples/rp/src/bin/wifi_webrequest.rs +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -7,6 +7,7 @@ use core::str::from_utf8; +use cyw43::JoinOptions; use cyw43_pio::PioSpi; use defmt::*; use embassy_executor::Spawner; @@ -98,8 +99,10 @@ async fn main(spawner: Spawner) { unwrap!(spawner.spawn(net_task(stack))); loop { - //match control.join_open(WIFI_NETWORK).await { // for open networks - match control.join_wpa2(WIFI_NETWORK, WIFI_PASSWORD).await { + match control + .join(WIFI_NETWORK, JoinOptions::new(WIFI_PASSWORD.as_bytes())) + .await + { Ok(_) => break, Err(err) => { info!("join failed with status={}", err.status); -- cgit From be0d9775e3bcc3c1bd1448e357d7c6cd67b68991 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Wed, 11 Sep 2024 22:06:26 +0200 Subject: net: refactor to simplify lifetimes/generics. --- examples/nrf52840/src/bin/ethernet_enc28j60.rs | 14 ++++++-------- examples/nrf52840/src/bin/usb_ethernet.rs | 11 +++++------ examples/nrf52840/src/bin/wifi_esp_hosted.rs | 11 +++++------ examples/nrf9160/src/bin/modem_tcp_client.rs | 16 +++++----------- examples/rp/src/bin/ethernet_w5500_multisocket.rs | 19 +++++++++---------- examples/rp/src/bin/ethernet_w5500_tcp_client.rs | 13 ++++++------- examples/rp/src/bin/ethernet_w5500_tcp_server.rs | 13 ++++++------- examples/rp/src/bin/ethernet_w5500_udp.rs | 13 ++++++------- examples/rp/src/bin/usb_ethernet.rs | 11 +++++------ examples/rp/src/bin/wifi_ap_tcp_server.rs | 18 ++++++------------ examples/rp/src/bin/wifi_scan.rs | 5 ++--- examples/rp/src/bin/wifi_tcp_server.rs | 18 ++++++------------ examples/rp/src/bin/wifi_webrequest.rs | 18 ++++++------------ examples/std/src/bin/net.rs | 11 +++++------ examples/std/src/bin/net_dns.rs | 11 +++++------ examples/std/src/bin/net_ppp.rs | 17 ++++++----------- examples/std/src/bin/net_udp.rs | 11 +++++------ examples/std/src/bin/tcp_accept.rs | 11 +++++------ examples/stm32f4/src/bin/eth.rs | 13 ++++++------- examples/stm32f4/src/bin/eth_w5500.rs | 11 +++++------ examples/stm32f4/src/bin/usb_ethernet.rs | 11 +++++------ examples/stm32f7/src/bin/eth.rs | 13 ++++++------- examples/stm32h5/src/bin/eth.rs | 13 ++++++------- examples/stm32h7/src/bin/eth.rs | 13 ++++++------- examples/stm32h7/src/bin/eth_client.rs | 13 ++++++------- examples/stm32h7/src/bin/eth_client_mii.rs | 13 ++++++------- examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 11 +++++------ examples/stm32l5/src/bin/usb_ethernet.rs | 11 +++++------ 28 files changed, 155 insertions(+), 208 deletions(-) (limited to 'examples') diff --git a/examples/nrf52840/src/bin/ethernet_enc28j60.rs b/examples/nrf52840/src/bin/ethernet_enc28j60.rs index 94cf09c88..0946492fe 100644 --- a/examples/nrf52840/src/bin/ethernet_enc28j60.rs +++ b/examples/nrf52840/src/bin/ethernet_enc28j60.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Stack, StackResources}; +use embassy_net::StackResources; use embassy_net_enc28j60::Enc28j60; use embassy_nrf::gpio::{Level, Output, OutputDrive}; use embassy_nrf::rng::Rng; @@ -23,11 +23,12 @@ bind_interrupts!(struct Irqs { #[embassy_executor::task] async fn net_task( - stack: &'static Stack< + mut runner: embassy_net::Runner< + 'static, Enc28j60, Output<'static>, Delay>, Output<'static>>, >, ) -> ! { - stack.run().await + runner.run().await } #[embassy_executor::main] @@ -67,12 +68,9 @@ async fn main(spawner: Spawner) { // Init network stack static RESOURCES: StaticCell> = StaticCell::new(); - static STACK: StaticCell< - Stack, Output<'static>, Delay>, Output<'static>>>, - > = StaticCell::new(); - let stack = STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // And now we can use it! diff --git a/examples/nrf52840/src/bin/usb_ethernet.rs b/examples/nrf52840/src/bin/usb_ethernet.rs index e56b215e3..b07adac1f 100644 --- a/examples/nrf52840/src/bin/usb_ethernet.rs +++ b/examples/nrf52840/src/bin/usb_ethernet.rs @@ -6,7 +6,7 @@ use core::mem; use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Stack, StackResources}; +use embassy_net::StackResources; use embassy_nrf::rng::Rng; use embassy_nrf::usb::vbus_detect::HardwareVbusDetect; use embassy_nrf::usb::Driver; @@ -39,8 +39,8 @@ async fn usb_ncm_task(class: Runner<'static, MyDriver, MTU>) -> ! { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static, MTU>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -116,10 +116,9 @@ async fn main(spawner: Spawner) { // Init network stack static RESOURCES: StaticCell> = StaticCell::new(); - static STACK: StaticCell>> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // And now we can use it! diff --git a/examples/nrf52840/src/bin/wifi_esp_hosted.rs b/examples/nrf52840/src/bin/wifi_esp_hosted.rs index a3b69a99b..26eaf485e 100644 --- a/examples/nrf52840/src/bin/wifi_esp_hosted.rs +++ b/examples/nrf52840/src/bin/wifi_esp_hosted.rs @@ -4,7 +4,7 @@ use defmt::{info, unwrap, warn}; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Stack, StackResources}; +use embassy_net::StackResources; use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; use embassy_nrf::rng::Rng; use embassy_nrf::spim::{self, Spim}; @@ -36,8 +36,8 @@ async fn wifi_task( } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, hosted::NetDriver<'static>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -90,10 +90,9 @@ async fn main(spawner: Spawner) { // Init network stack static RESOURCES: StaticCell> = StaticCell::new(); - static STACK: StaticCell>> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // And now we can use it! diff --git a/examples/nrf9160/src/bin/modem_tcp_client.rs b/examples/nrf9160/src/bin/modem_tcp_client.rs index 5335b6b51..929883884 100644 --- a/examples/nrf9160/src/bin/modem_tcp_client.rs +++ b/examples/nrf9160/src/bin/modem_tcp_client.rs @@ -46,15 +46,15 @@ async fn modem_task(runner: Runner<'static>) -> ! { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, embassy_net_nrf91::NetDriver<'static>>) -> ! { + runner.run().await } #[embassy_executor::task] async fn control_task( control: &'static context::Control<'static>, config: context::Config<'static>, - stack: &'static Stack>, + stack: Stack<'static>, ) { unwrap!(control.configure(&config).await); unwrap!( @@ -150,15 +150,9 @@ async fn main(spawner: Spawner) { // Init network stack static RESOURCES: StaticCell> = StaticCell::new(); - static STACK: StaticCell>> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - device, - config, - RESOURCES.init(StackResources::<2>::new()), - seed, - )); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::<2>::new()), seed); - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); static CONTROL: StaticCell> = StaticCell::new(); let control = CONTROL.init(context::Control::new(control, 0).await); diff --git a/examples/rp/src/bin/ethernet_w5500_multisocket.rs b/examples/rp/src/bin/ethernet_w5500_multisocket.rs index aaa035a72..12003adbe 100644 --- a/examples/rp/src/bin/ethernet_w5500_multisocket.rs +++ b/examples/rp/src/bin/ethernet_w5500_multisocket.rs @@ -36,8 +36,8 @@ async fn ethernet_task( } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -71,17 +71,16 @@ async fn main(spawner: Spawner) { let seed = rng.next_u64(); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( + let (stack, runner) = embassy_net::new( device, embassy_net::Config::dhcpv4(Default::default()), RESOURCES.init(StackResources::new()), seed, - )); + ); // Launch network task - unwrap!(spawner.spawn(net_task(&stack))); + unwrap!(spawner.spawn(net_task(runner))); info!("Waiting for DHCP..."); let cfg = wait_for_config(stack).await; @@ -89,12 +88,12 @@ async fn main(spawner: Spawner) { info!("IP address: {:?}", local_addr); // Create two sockets listening to the same port, to handle simultaneous connections - unwrap!(spawner.spawn(listen_task(&stack, 0, 1234))); - unwrap!(spawner.spawn(listen_task(&stack, 1, 1234))); + unwrap!(spawner.spawn(listen_task(stack, 0, 1234))); + unwrap!(spawner.spawn(listen_task(stack, 1, 1234))); } #[embassy_executor::task(pool_size = 2)] -async fn listen_task(stack: &'static Stack>, id: u8, port: u16) { +async fn listen_task(stack: Stack<'static>, id: u8, port: u16) { let mut rx_buffer = [0; 4096]; let mut tx_buffer = [0; 4096]; let mut buf = [0; 4096]; @@ -131,7 +130,7 @@ async fn listen_task(stack: &'static Stack>, id: u8, port: u16) } } -async fn wait_for_config(stack: &'static Stack>) -> embassy_net::StaticConfigV4 { +async fn wait_for_config(stack: Stack<'static>) -> embassy_net::StaticConfigV4 { loop { if let Some(config) = stack.config_v4() { return config.clone(); diff --git a/examples/rp/src/bin/ethernet_w5500_tcp_client.rs b/examples/rp/src/bin/ethernet_w5500_tcp_client.rs index 8e96a114c..d66a43a88 100644 --- a/examples/rp/src/bin/ethernet_w5500_tcp_client.rs +++ b/examples/rp/src/bin/ethernet_w5500_tcp_client.rs @@ -38,8 +38,8 @@ async fn ethernet_task( } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -74,17 +74,16 @@ async fn main(spawner: Spawner) { let seed = rng.next_u64(); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( + let (stack, runner) = embassy_net::new( device, embassy_net::Config::dhcpv4(Default::default()), RESOURCES.init(StackResources::new()), seed, - )); + ); // Launch network task - unwrap!(spawner.spawn(net_task(&stack))); + unwrap!(spawner.spawn(net_task(runner))); info!("Waiting for DHCP..."); let cfg = wait_for_config(stack).await; @@ -119,7 +118,7 @@ async fn main(spawner: Spawner) { } } -async fn wait_for_config(stack: &'static Stack>) -> embassy_net::StaticConfigV4 { +async fn wait_for_config(stack: Stack<'static>) -> embassy_net::StaticConfigV4 { loop { if let Some(config) = stack.config_v4() { return config.clone(); diff --git a/examples/rp/src/bin/ethernet_w5500_tcp_server.rs b/examples/rp/src/bin/ethernet_w5500_tcp_server.rs index 40736bf3c..97d9bd4c9 100644 --- a/examples/rp/src/bin/ethernet_w5500_tcp_server.rs +++ b/examples/rp/src/bin/ethernet_w5500_tcp_server.rs @@ -37,8 +37,8 @@ async fn ethernet_task( } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -73,17 +73,16 @@ async fn main(spawner: Spawner) { let seed = rng.next_u64(); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( + let (stack, runner) = embassy_net::new( device, embassy_net::Config::dhcpv4(Default::default()), RESOURCES.init(StackResources::new()), seed, - )); + ); // Launch network task - unwrap!(spawner.spawn(net_task(&stack))); + unwrap!(spawner.spawn(net_task(runner))); info!("Waiting for DHCP..."); let cfg = wait_for_config(stack).await; @@ -128,7 +127,7 @@ async fn main(spawner: Spawner) { } } -async fn wait_for_config(stack: &'static Stack>) -> embassy_net::StaticConfigV4 { +async fn wait_for_config(stack: Stack<'static>) -> embassy_net::StaticConfigV4 { loop { if let Some(config) = stack.config_v4() { return config.clone(); diff --git a/examples/rp/src/bin/ethernet_w5500_udp.rs b/examples/rp/src/bin/ethernet_w5500_udp.rs index c79f01538..b1b5f9758 100644 --- a/examples/rp/src/bin/ethernet_w5500_udp.rs +++ b/examples/rp/src/bin/ethernet_w5500_udp.rs @@ -36,8 +36,8 @@ async fn ethernet_task( } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -71,17 +71,16 @@ async fn main(spawner: Spawner) { let seed = rng.next_u64(); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( + let (stack, runner) = embassy_net::new( device, embassy_net::Config::dhcpv4(Default::default()), RESOURCES.init(StackResources::new()), seed, - )); + ); // Launch network task - unwrap!(spawner.spawn(net_task(&stack))); + unwrap!(spawner.spawn(net_task(runner))); info!("Waiting for DHCP..."); let cfg = wait_for_config(stack).await; @@ -108,7 +107,7 @@ async fn main(spawner: Spawner) { } } -async fn wait_for_config(stack: &'static Stack>) -> embassy_net::StaticConfigV4 { +async fn wait_for_config(stack: Stack<'static>) -> embassy_net::StaticConfigV4 { loop { if let Some(config) = stack.config_v4() { return config.clone(); diff --git a/examples/rp/src/bin/usb_ethernet.rs b/examples/rp/src/bin/usb_ethernet.rs index 03c510f37..9a15125d4 100644 --- a/examples/rp/src/bin/usb_ethernet.rs +++ b/examples/rp/src/bin/usb_ethernet.rs @@ -8,7 +8,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Stack, StackResources}; +use embassy_net::StackResources; use embassy_rp::clocks::RoscRng; use embassy_rp::peripherals::USB; use embassy_rp::usb::{Driver, InterruptHandler}; @@ -40,8 +40,8 @@ async fn usb_ncm_task(class: Runner<'static, MyDriver, MTU>) -> ! { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static, MTU>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -108,11 +108,10 @@ async fn main(spawner: Spawner) { let seed = rng.next_u64(); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // And now we can use it! diff --git a/examples/rp/src/bin/wifi_ap_tcp_server.rs b/examples/rp/src/bin/wifi_ap_tcp_server.rs index 00f404a9b..4c9651433 100644 --- a/examples/rp/src/bin/wifi_ap_tcp_server.rs +++ b/examples/rp/src/bin/wifi_ap_tcp_server.rs @@ -11,7 +11,7 @@ use cyw43_pio::PioSpi; use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Config, Stack, StackResources}; +use embassy_net::{Config, StackResources}; use embassy_rp::bind_interrupts; use embassy_rp::clocks::RoscRng; use embassy_rp::gpio::{Level, Output}; @@ -33,8 +33,8 @@ async fn cyw43_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'stat } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, cyw43::NetDriver<'static>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -80,16 +80,10 @@ async fn main(spawner: Spawner) { let seed = rng.next_u64(); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - net_device, - config, - RESOURCES.init(StackResources::new()), - seed, - )); - - unwrap!(spawner.spawn(net_task(stack))); + let (stack, runner) = embassy_net::new(net_device, config, RESOURCES.init(StackResources::new()), seed); + + unwrap!(spawner.spawn(net_task(runner))); //control.start_ap_open("cyw43", 5).await; control.start_ap_wpa2("cyw43", "password", 5).await; diff --git a/examples/rp/src/bin/wifi_scan.rs b/examples/rp/src/bin/wifi_scan.rs index ab3529112..434f0074c 100644 --- a/examples/rp/src/bin/wifi_scan.rs +++ b/examples/rp/src/bin/wifi_scan.rs @@ -10,7 +10,6 @@ use core::str; use cyw43_pio::PioSpi; use defmt::*; use embassy_executor::Spawner; -use embassy_net::Stack; use embassy_rp::bind_interrupts; use embassy_rp::gpio::{Level, Output}; use embassy_rp::peripherals::{DMA_CH0, PIO0}; @@ -28,8 +27,8 @@ async fn cyw43_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'stat } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, cyw43::NetDriver<'static>>) -> ! { + runner.run().await } #[embassy_executor::main] diff --git a/examples/rp/src/bin/wifi_tcp_server.rs b/examples/rp/src/bin/wifi_tcp_server.rs index b2950d98a..7bf546e01 100644 --- a/examples/rp/src/bin/wifi_tcp_server.rs +++ b/examples/rp/src/bin/wifi_tcp_server.rs @@ -12,7 +12,7 @@ use cyw43_pio::PioSpi; use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Config, Stack, StackResources}; +use embassy_net::{Config, StackResources}; use embassy_rp::bind_interrupts; use embassy_rp::clocks::RoscRng; use embassy_rp::gpio::{Level, Output}; @@ -37,8 +37,8 @@ async fn cyw43_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'stat } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, cyw43::NetDriver<'static>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -84,16 +84,10 @@ async fn main(spawner: Spawner) { let seed = rng.next_u64(); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - net_device, - config, - RESOURCES.init(StackResources::new()), - seed, - )); - - unwrap!(spawner.spawn(net_task(stack))); + let (stack, runner) = embassy_net::new(net_device, config, RESOURCES.init(StackResources::new()), seed); + + unwrap!(spawner.spawn(net_task(runner))); loop { match control diff --git a/examples/rp/src/bin/wifi_webrequest.rs b/examples/rp/src/bin/wifi_webrequest.rs index b43be8905..1ae909917 100644 --- a/examples/rp/src/bin/wifi_webrequest.rs +++ b/examples/rp/src/bin/wifi_webrequest.rs @@ -13,7 +13,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::dns::DnsSocket; use embassy_net::tcp::client::{TcpClient, TcpClientState}; -use embassy_net::{Config, Stack, StackResources}; +use embassy_net::{Config, StackResources}; use embassy_rp::bind_interrupts; use embassy_rp::clocks::RoscRng; use embassy_rp::gpio::{Level, Output}; @@ -40,8 +40,8 @@ async fn cyw43_task(runner: cyw43::Runner<'static, Output<'static>, PioSpi<'stat } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, cyw43::NetDriver<'static>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -87,16 +87,10 @@ async fn main(spawner: Spawner) { let seed = rng.next_u64(); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( - net_device, - config, - RESOURCES.init(StackResources::new()), - seed, - )); - - unwrap!(spawner.spawn(net_task(stack))); + let (stack, runner) = embassy_net::new(net_device, config, RESOURCES.init(StackResources::new()), seed); + + unwrap!(spawner.spawn(net_task(runner))); loop { match control diff --git a/examples/std/src/bin/net.rs b/examples/std/src/bin/net.rs index 310e7264d..cefa5448c 100644 --- a/examples/std/src/bin/net.rs +++ b/examples/std/src/bin/net.rs @@ -1,7 +1,7 @@ use clap::Parser; use embassy_executor::{Executor, Spawner}; use embassy_net::tcp::TcpSocket; -use embassy_net::{Config, Ipv4Address, Ipv4Cidr, Stack, StackResources}; +use embassy_net::{Config, Ipv4Address, Ipv4Cidr, StackResources}; use embassy_net_tuntap::TunTapDevice; use embassy_time::Duration; use embedded_io_async::Write; @@ -22,8 +22,8 @@ struct Opts { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, TunTapDevice>) -> ! { + runner.run().await } #[embassy_executor::task] @@ -50,12 +50,11 @@ async fn main_task(spawner: Spawner) { let seed = u64::from_le_bytes(seed); // Init network stack - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - spawner.spawn(net_task(stack)).unwrap(); + spawner.spawn(net_task(runner)).unwrap(); // Then we can use it! let mut rx_buffer = [0; 4096]; diff --git a/examples/std/src/bin/net_dns.rs b/examples/std/src/bin/net_dns.rs index c9615ef35..a42c5dbb7 100644 --- a/examples/std/src/bin/net_dns.rs +++ b/examples/std/src/bin/net_dns.rs @@ -1,7 +1,7 @@ use clap::Parser; use embassy_executor::{Executor, Spawner}; use embassy_net::dns::DnsQueryType; -use embassy_net::{Config, Ipv4Address, Ipv4Cidr, Stack, StackResources}; +use embassy_net::{Config, Ipv4Address, Ipv4Cidr, StackResources}; use embassy_net_tuntap::TunTapDevice; use heapless::Vec; use log::*; @@ -20,8 +20,8 @@ struct Opts { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, TunTapDevice>) -> ! { + runner.run().await } #[embassy_executor::task] @@ -49,12 +49,11 @@ async fn main_task(spawner: Spawner) { let seed = u64::from_le_bytes(seed); // Init network stack - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack: &Stack<_> = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - spawner.spawn(net_task(stack)).unwrap(); + spawner.spawn(net_task(runner)).unwrap(); let host = "example.com"; info!("querying host {:?}...", host); diff --git a/examples/std/src/bin/net_ppp.rs b/examples/std/src/bin/net_ppp.rs index c5c27c4a3..7d0f1327f 100644 --- a/examples/std/src/bin/net_ppp.rs +++ b/examples/std/src/bin/net_ppp.rs @@ -37,16 +37,12 @@ struct Opts { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, embassy_net_ppp::Device<'static>>) -> ! { + runner.run().await } #[embassy_executor::task] -async fn ppp_task( - stack: &'static Stack>, - mut runner: Runner<'static>, - port: SerialPort, -) -> ! { +async fn ppp_task(stack: Stack<'static>, mut runner: Runner<'static>, port: SerialPort) -> ! { let port = Async::new(port).unwrap(); let port = BufReader::new(port); let port = adapter::FromFutures::new(port); @@ -97,17 +93,16 @@ async fn main_task(spawner: Spawner) { let seed = u64::from_le_bytes(seed); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new( + let (stack, net_runner) = embassy_net::new( device, Config::default(), // don't configure IP yet RESOURCES.init(StackResources::new()), seed, - )); + ); // Launch network task - spawner.spawn(net_task(stack)).unwrap(); + spawner.spawn(net_task(net_runner)).unwrap(); spawner.spawn(ppp_task(stack, runner, port)).unwrap(); // Then we can use it! diff --git a/examples/std/src/bin/net_udp.rs b/examples/std/src/bin/net_udp.rs index b2ba4915a..02d4d3efb 100644 --- a/examples/std/src/bin/net_udp.rs +++ b/examples/std/src/bin/net_udp.rs @@ -1,7 +1,7 @@ use clap::Parser; use embassy_executor::{Executor, Spawner}; use embassy_net::udp::{PacketMetadata, UdpSocket}; -use embassy_net::{Config, Ipv4Address, Ipv4Cidr, Stack, StackResources}; +use embassy_net::{Config, Ipv4Address, Ipv4Cidr, StackResources}; use embassy_net_tuntap::TunTapDevice; use heapless::Vec; use log::*; @@ -20,8 +20,8 @@ struct Opts { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, TunTapDevice>) -> ! { + runner.run().await } #[embassy_executor::task] @@ -48,12 +48,11 @@ async fn main_task(spawner: Spawner) { let seed = u64::from_le_bytes(seed); // Init network stack - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - spawner.spawn(net_task(stack)).unwrap(); + spawner.spawn(net_task(runner)).unwrap(); // Then we can use it! let mut rx_meta = [PacketMetadata::EMPTY; 16]; diff --git a/examples/std/src/bin/tcp_accept.rs b/examples/std/src/bin/tcp_accept.rs index 39b29a449..5d36b739d 100644 --- a/examples/std/src/bin/tcp_accept.rs +++ b/examples/std/src/bin/tcp_accept.rs @@ -3,7 +3,7 @@ use core::fmt::Write as _; use clap::Parser; use embassy_executor::{Executor, Spawner}; use embassy_net::tcp::TcpSocket; -use embassy_net::{Config, Ipv4Address, Ipv4Cidr, Stack, StackResources}; +use embassy_net::{Config, Ipv4Address, Ipv4Cidr, StackResources}; use embassy_net_tuntap::TunTapDevice; use embassy_time::{Duration, Timer}; use embedded_io_async::Write as _; @@ -24,8 +24,8 @@ struct Opts { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, TunTapDevice>) -> ! { + runner.run().await } #[derive(Default)] @@ -62,12 +62,11 @@ async fn main_task(spawner: Spawner) { let seed = u64::from_le_bytes(seed); // Init network stack - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - spawner.spawn(net_task(stack)).unwrap(); + spawner.spawn(net_task(runner)).unwrap(); // Then we can use it! let mut rx_buffer = [0; 4096]; diff --git a/examples/stm32f4/src/bin/eth.rs b/examples/stm32f4/src/bin/eth.rs index 9388c64bf..baed96449 100644 --- a/examples/stm32f4/src/bin/eth.rs +++ b/examples/stm32f4/src/bin/eth.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Ipv4Address, Stack, StackResources}; +use embassy_net::{Ipv4Address, StackResources}; use embassy_stm32::eth::generic_smi::GenericSMI; use embassy_stm32::eth::{Ethernet, PacketQueue}; use embassy_stm32::peripherals::ETH; @@ -24,8 +24,8 @@ bind_interrupts!(struct Irqs { type Device = Ethernet<'static, ETH, GenericSMI>; #[embassy_executor::task] -async fn net_task(stack: &'static Stack) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -88,12 +88,11 @@ async fn main(spawner: Spawner) -> ! { //}); // Init network stack - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // Ensure DHCP configuration is up before trying connect stack.wait_config_up().await; @@ -105,7 +104,7 @@ async fn main(spawner: Spawner) -> ! { let mut tx_buffer = [0; 4096]; loop { - let mut socket = TcpSocket::new(&stack, &mut rx_buffer, &mut tx_buffer); + let mut socket = TcpSocket::new(stack, &mut rx_buffer, &mut tx_buffer); socket.set_timeout(Some(embassy_time::Duration::from_secs(10))); diff --git a/examples/stm32f4/src/bin/eth_w5500.rs b/examples/stm32f4/src/bin/eth_w5500.rs index 5c3c6c3ba..6e6bef08c 100644 --- a/examples/stm32f4/src/bin/eth_w5500.rs +++ b/examples/stm32f4/src/bin/eth_w5500.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Ipv4Address, Stack, StackResources}; +use embassy_net::{Ipv4Address, StackResources}; use embassy_net_wiznet::chip::W5500; use embassy_net_wiznet::{Device, Runner, State}; use embassy_stm32::exti::ExtiInput; @@ -31,8 +31,8 @@ async fn ethernet_task(runner: Runner<'static, W5500, EthernetSPI, ExtiInput<'st } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -92,12 +92,11 @@ async fn main(spawner: Spawner) -> ! { // gateway: Some(Ipv4Address::new(10, 42, 0, 1)), //}); - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // Ensure DHCP configuration is up before trying connect stack.wait_config_up().await; diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs index 94e51c338..a9504ec04 100644 --- a/examples/stm32f4/src/bin/usb_ethernet.rs +++ b/examples/stm32f4/src/bin/usb_ethernet.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Stack, StackResources}; +use embassy_net::StackResources; use embassy_stm32::rng::{self, Rng}; use embassy_stm32::time::Hertz; use embassy_stm32::usb::Driver; @@ -31,8 +31,8 @@ async fn usb_ncm_task(class: Runner<'static, UsbDriver, MTU>) -> ! { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static, MTU>>) -> ! { + runner.run().await } bind_interrupts!(struct Irqs { @@ -144,11 +144,10 @@ async fn main(spawner: Spawner) { let seed = u64::from_le_bytes(seed); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // And now we can use it! diff --git a/examples/stm32f7/src/bin/eth.rs b/examples/stm32f7/src/bin/eth.rs index 2fd10c8fb..1f1eadf37 100644 --- a/examples/stm32f7/src/bin/eth.rs +++ b/examples/stm32f7/src/bin/eth.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Ipv4Address, Stack, StackResources}; +use embassy_net::{Ipv4Address, StackResources}; use embassy_stm32::eth::generic_smi::GenericSMI; use embassy_stm32::eth::{Ethernet, PacketQueue}; use embassy_stm32::peripherals::ETH; @@ -25,8 +25,8 @@ bind_interrupts!(struct Irqs { type Device = Ethernet<'static, ETH, GenericSMI>; #[embassy_executor::task] -async fn net_task(stack: &'static Stack) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -89,12 +89,11 @@ async fn main(spawner: Spawner) -> ! { //}); // Init network stack - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // Ensure DHCP configuration is up before trying connect stack.wait_config_up().await; @@ -106,7 +105,7 @@ async fn main(spawner: Spawner) -> ! { let mut tx_buffer = [0; 4096]; loop { - let mut socket = TcpSocket::new(&stack, &mut rx_buffer, &mut tx_buffer); + let mut socket = TcpSocket::new(stack, &mut rx_buffer, &mut tx_buffer); socket.set_timeout(Some(embassy_time::Duration::from_secs(10))); diff --git a/examples/stm32h5/src/bin/eth.rs b/examples/stm32h5/src/bin/eth.rs index 65cfad8c9..eee1632f5 100644 --- a/examples/stm32h5/src/bin/eth.rs +++ b/examples/stm32h5/src/bin/eth.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Ipv4Address, Stack, StackResources}; +use embassy_net::{Ipv4Address, StackResources}; use embassy_stm32::eth::generic_smi::GenericSMI; use embassy_stm32::eth::{Ethernet, PacketQueue}; use embassy_stm32::peripherals::ETH; @@ -28,8 +28,8 @@ bind_interrupts!(struct Irqs { type Device = Ethernet<'static, ETH, GenericSMI>; #[embassy_executor::task] -async fn net_task(stack: &'static Stack) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -92,12 +92,11 @@ async fn main(spawner: Spawner) -> ! { //}); // Init network stack - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - unwrap!(spawner.spawn(net_task(&stack))); + unwrap!(spawner.spawn(net_task(runner))); // Ensure DHCP configuration is up before trying connect stack.wait_config_up().await; @@ -109,7 +108,7 @@ async fn main(spawner: Spawner) -> ! { let mut tx_buffer = [0; 1024]; loop { - let mut socket = TcpSocket::new(&stack, &mut rx_buffer, &mut tx_buffer); + let mut socket = TcpSocket::new(stack, &mut rx_buffer, &mut tx_buffer); socket.set_timeout(Some(embassy_time::Duration::from_secs(10))); diff --git a/examples/stm32h7/src/bin/eth.rs b/examples/stm32h7/src/bin/eth.rs index b2f8ed91e..ec3f2c000 100644 --- a/examples/stm32h7/src/bin/eth.rs +++ b/examples/stm32h7/src/bin/eth.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Ipv4Address, Stack, StackResources}; +use embassy_net::{Ipv4Address, StackResources}; use embassy_stm32::eth::generic_smi::GenericSMI; use embassy_stm32::eth::{Ethernet, PacketQueue}; use embassy_stm32::peripherals::ETH; @@ -24,8 +24,8 @@ bind_interrupts!(struct Irqs { type Device = Ethernet<'static, ETH, GenericSMI>; #[embassy_executor::task] -async fn net_task(stack: &'static Stack) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -91,12 +91,11 @@ async fn main(spawner: Spawner) -> ! { //}); // Init network stack - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - unwrap!(spawner.spawn(net_task(&stack))); + unwrap!(spawner.spawn(net_task(runner))); // Ensure DHCP configuration is up before trying connect stack.wait_config_up().await; @@ -108,7 +107,7 @@ async fn main(spawner: Spawner) -> ! { let mut tx_buffer = [0; 1024]; loop { - let mut socket = TcpSocket::new(&stack, &mut rx_buffer, &mut tx_buffer); + let mut socket = TcpSocket::new(stack, &mut rx_buffer, &mut tx_buffer); socket.set_timeout(Some(embassy_time::Duration::from_secs(10))); diff --git a/examples/stm32h7/src/bin/eth_client.rs b/examples/stm32h7/src/bin/eth_client.rs index 274c24ab1..24983ca85 100644 --- a/examples/stm32h7/src/bin/eth_client.rs +++ b/examples/stm32h7/src/bin/eth_client.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::client::{TcpClient, TcpClientState}; -use embassy_net::{Stack, StackResources}; +use embassy_net::StackResources; use embassy_stm32::eth::generic_smi::GenericSMI; use embassy_stm32::eth::{Ethernet, PacketQueue}; use embassy_stm32::peripherals::ETH; @@ -25,8 +25,8 @@ bind_interrupts!(struct Irqs { type Device = Ethernet<'static, ETH, GenericSMI>; #[embassy_executor::task] -async fn net_task(stack: &'static Stack) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -91,12 +91,11 @@ async fn main(spawner: Spawner) -> ! { //}); // Init network stack - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // Ensure DHCP configuration is up before trying connect stack.wait_config_up().await; @@ -104,7 +103,7 @@ async fn main(spawner: Spawner) -> ! { info!("Network task initialized"); let state: TcpClientState<1, 1024, 1024> = TcpClientState::new(); - let client = TcpClient::new(&stack, &state); + let client = TcpClient::new(stack, &state); loop { // You need to start a server on the host machine, for example: `nc -l 8000` diff --git a/examples/stm32h7/src/bin/eth_client_mii.rs b/examples/stm32h7/src/bin/eth_client_mii.rs index aa6544f41..768d85993 100644 --- a/examples/stm32h7/src/bin/eth_client_mii.rs +++ b/examples/stm32h7/src/bin/eth_client_mii.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::client::{TcpClient, TcpClientState}; -use embassy_net::{Stack, StackResources}; +use embassy_net::StackResources; use embassy_stm32::eth::generic_smi::GenericSMI; use embassy_stm32::eth::{Ethernet, PacketQueue}; use embassy_stm32::peripherals::ETH; @@ -25,8 +25,8 @@ bind_interrupts!(struct Irqs { type Device = Ethernet<'static, ETH, GenericSMI>; #[embassy_executor::task] -async fn net_task(stack: &'static Stack) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -97,12 +97,11 @@ async fn main(spawner: Spawner) -> ! { //}); // Init network stack - static STACK: StaticCell> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); // Launch network task - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // Ensure DHCP configuration is up before trying connect stack.wait_config_up().await; @@ -110,7 +109,7 @@ async fn main(spawner: Spawner) -> ! { info!("Network task initialized"); let state: TcpClientState<1, 1024, 1024> = TcpClientState::new(); - let client = TcpClient::new(&stack, &state); + let client = TcpClient::new(stack, &state); loop { // You need to start a server on the host machine, for example: `nc -l 8000` diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index bd633cecb..be4270ada 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs @@ -206,12 +206,11 @@ async fn main(spawner: Spawner) { }; // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, ip_cfg, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, ip_cfg, RESOURCES.init(StackResources::new()), seed); // Launch network task - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); let cfg = wait_for_config(stack).await; let local_addr = cfg.address.address(); @@ -274,7 +273,7 @@ async fn main(spawner: Spawner) { } } -async fn wait_for_config(stack: &'static Stack>) -> embassy_net::StaticConfigV4 { +async fn wait_for_config(stack: Stack<'static>) -> embassy_net::StaticConfigV4 { loop { if let Some(config) = stack.config_v4() { return config; @@ -323,8 +322,8 @@ async fn ethernet_task(runner: Runner<'static, SpeSpiCs, SpeInt, SpeRst>) -> ! { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static>>) -> ! { + runner.run().await } // same panicking *behavior* as `panic-probe` but doesn't print a panic message diff --git a/examples/stm32l5/src/bin/usb_ethernet.rs b/examples/stm32l5/src/bin/usb_ethernet.rs index d02bac91d..095d50c73 100644 --- a/examples/stm32l5/src/bin/usb_ethernet.rs +++ b/examples/stm32l5/src/bin/usb_ethernet.rs @@ -4,7 +4,7 @@ use defmt::*; use embassy_executor::Spawner; use embassy_net::tcp::TcpSocket; -use embassy_net::{Stack, StackResources}; +use embassy_net::StackResources; use embassy_stm32::rng::Rng; use embassy_stm32::usb::Driver; use embassy_stm32::{bind_interrupts, peripherals, rng, usb, Config}; @@ -36,8 +36,8 @@ async fn usb_ncm_task(class: Runner<'static, MyDriver, MTU>) -> ! { } #[embassy_executor::task] -async fn net_task(stack: &'static Stack>) -> ! { - stack.run().await +async fn net_task(mut runner: embassy_net::Runner<'static, Device<'static, MTU>>) -> ! { + runner.run().await } #[embassy_executor::main] @@ -121,11 +121,10 @@ async fn main(spawner: Spawner) { let seed = rng.next_u64(); // Init network stack - static STACK: StaticCell>> = StaticCell::new(); static RESOURCES: StaticCell> = StaticCell::new(); - let stack = &*STACK.init(Stack::new(device, config, RESOURCES.init(StackResources::new()), seed)); + let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); - unwrap!(spawner.spawn(net_task(stack))); + unwrap!(spawner.spawn(net_task(runner))); // And now we can use it! -- cgit From 0bfc98a3e526075ad14517589e4879d14f50ad12 Mon Sep 17 00:00:00 2001 From: kalkyl Date: Tue, 17 Sep 2024 19:41:58 +0200 Subject: rp: Add PIO example for one-wire temperature sensor --- examples/rp/src/bin/pio_onewire.rs | 155 +++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 examples/rp/src/bin/pio_onewire.rs (limited to 'examples') diff --git a/examples/rp/src/bin/pio_onewire.rs b/examples/rp/src/bin/pio_onewire.rs new file mode 100644 index 000000000..5076101ec --- /dev/null +++ b/examples/rp/src/bin/pio_onewire.rs @@ -0,0 +1,155 @@ +//! This example shows how you can use PIO to read a `DS18B20` one-wire temperature sensor. + +#![no_std] +#![no_main] +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::peripherals::PIO0; +use embassy_rp::pio::{self, Common, Config, InterruptHandler, Pio, PioPin, ShiftConfig, ShiftDirection, StateMachine}; +use embassy_time::Timer; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let mut pio = Pio::new(p.PIO0, Irqs); + let mut sensor = Ds18b20::new(&mut pio.common, pio.sm0, p.PIN_2); + + loop { + sensor.start().await; // Start a new measurement + Timer::after_secs(1).await; // Allow 1s for the measurement to finish + match sensor.temperature().await { + Ok(temp) => info!("temp = {:?} deg C", temp), + _ => error!("sensor error"), + } + Timer::after_secs(1).await; + } +} + +/// DS18B20 temperature sensor driver +pub struct Ds18b20<'d, PIO: pio::Instance, const SM: usize> { + sm: StateMachine<'d, PIO, SM>, +} + +impl<'d, PIO: pio::Instance, const SM: usize> Ds18b20<'d, PIO, SM> { + /// Create a new instance the driver + pub fn new(common: &mut Common<'d, PIO>, mut sm: StateMachine<'d, PIO, SM>, pin: impl PioPin) -> Self { + let prg = pio_proc::pio_asm!( + r#" + .wrap_target + again: + pull block + mov x, osr + jmp !x, read + write: + set pindirs, 1 + set pins, 0 + loop1: + jmp x--,loop1 + set pindirs, 0 [31] + wait 1 pin 0 [31] + pull block + mov x, osr + bytes1: + pull block + set y, 7 + set pindirs, 1 + bit1: + set pins, 0 [1] + out pins,1 [31] + set pins, 1 [20] + jmp y--,bit1 + jmp x--,bytes1 + set pindirs, 0 [31] + jmp again + read: + pull block + mov x, osr + bytes2: + set y, 7 + bit2: + set pindirs, 1 + set pins, 0 [1] + set pindirs, 0 [5] + in pins,1 [10] + jmp y--,bit2 + jmp x--,bytes2 + .wrap + "#, + ); + + let pin = common.make_pio_pin(pin); + let mut cfg = Config::default(); + cfg.use_program(&common.load_program(&prg.program), &[]); + cfg.set_out_pins(&[&pin]); + cfg.set_in_pins(&[&pin]); + cfg.set_set_pins(&[&pin]); + cfg.shift_in = ShiftConfig { + auto_fill: true, + direction: ShiftDirection::Right, + threshold: 8, + }; + cfg.clock_divider = 255_u8.into(); + sm.set_config(&cfg); + sm.set_enable(true); + Self { sm } + } + + /// Write bytes over the wire + async fn write_bytes(&mut self, bytes: &[u8]) { + self.sm.tx().wait_push(250).await; + self.sm.tx().wait_push(bytes.len() as u32 - 1).await; + for b in bytes { + self.sm.tx().wait_push(*b as u32).await; + } + } + + /// Read bytes from the wire + async fn read_bytes(&mut self, bytes: &mut [u8]) { + self.sm.tx().wait_push(0).await; + self.sm.tx().wait_push(bytes.len() as u32 - 1).await; + for b in bytes.iter_mut() { + *b = (self.sm.rx().wait_pull().await >> 24) as u8; + } + } + + /// Calculate CRC8 of the data + fn crc8(data: &[u8]) -> u8 { + let mut temp; + let mut data_byte; + let mut crc = 0; + for b in data { + data_byte = *b; + for _ in 0..8 { + temp = (crc ^ data_byte) & 0x01; + crc >>= 1; + if temp != 0 { + crc ^= 0x8C; + } + data_byte >>= 1; + } + } + crc + } + + /// Start a new measurement. Allow at least 1000ms before getting `temperature`. + pub async fn start(&mut self) { + self.write_bytes(&[0xCC, 0x44]).await; + } + + /// Read the temperature. Ensure >1000ms has passed since `start` before calling this. + pub async fn temperature(&mut self) -> Result { + self.write_bytes(&[0xCC, 0xBE]).await; + let mut data = [0; 9]; + self.read_bytes(&mut data).await; + match Self::crc8(&data) == 0 { + true => Ok(((data[1] as u32) << 8 | data[0] as u32) as f32 / 16.), + false => Err(()), + } + } +} -- cgit From 2bc49763c6c36026feeaf681078d06106b73e0b0 Mon Sep 17 00:00:00 2001 From: Ugljesa Jovanovic Date: Sat, 14 Sep 2024 14:57:10 +0200 Subject: TRNG support for 235x --- examples/rp23/src/bin/trng.rs | 64 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 examples/rp23/src/bin/trng.rs (limited to 'examples') diff --git a/examples/rp23/src/bin/trng.rs b/examples/rp23/src/bin/trng.rs new file mode 100644 index 000000000..e146baa2e --- /dev/null +++ b/examples/rp23/src/bin/trng.rs @@ -0,0 +1,64 @@ +//! This example shows TRNG usage + +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_rp::bind_interrupts; +use embassy_rp::block::ImageDef; +use embassy_rp::gpio::{Level, Output}; +use embassy_rp::peripherals::TRNG; +use embassy_rp::trng::Trng; +use embassy_time::Timer; +use rand::RngCore; +use {defmt_rtt as _, panic_probe as _}; + +#[link_section = ".start_block"] +#[used] +pub static IMAGE_DEF: ImageDef = ImageDef::secure_exe(); + +// Program metadata for `picotool info` +#[link_section = ".bi_entries"] +#[used] +pub static PICOTOOL_ENTRIES: [embassy_rp::binary_info::EntryAddr; 4] = [ + embassy_rp::binary_info::rp_program_name!(c"example"), + embassy_rp::binary_info::rp_cargo_version!(), + embassy_rp::binary_info::rp_program_description!(c"Blinky"), + embassy_rp::binary_info::rp_program_build_attribute!(), +]; + +bind_interrupts!(struct Irqs { + TRNG_IRQ => embassy_rp::trng::InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let peripherals = embassy_rp::init(Default::default()); + + // Initialize the TRNG with default configuration + let mut trng = Trng::new(peripherals.TRNG, Irqs, embassy_rp::trng::Config::default()); + // A buffer to collect random bytes in. + let mut randomness = [0u8; 58]; + + let mut led = Output::new(peripherals.PIN_25, Level::Low); + + loop { + trng.fill_bytes(&mut randomness).await; + info!("Random bytes async {}", &randomness); + trng.blocking_fill_bytes(&mut randomness); + info!("Random bytes blocking {}", &randomness); + let random_u32 = trng.next_u32(); + let random_u64 = trng.next_u64(); + info!("Random u32 {} u64 {}", random_u32, random_u64); + // Random number of blinks between 0 and 31 + let blinks = random_u32 % 32; + for _ in 0..blinks { + led.set_high(); + Timer::after_millis(20).await; + led.set_low(); + Timer::after_millis(20).await; + } + Timer::after_millis(1000).await; + } +} -- cgit From df23a77bfc3c8b5d8ab6adbd12842fa4cfe3675d Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Thu, 19 Sep 2024 09:15:35 +0200 Subject: Add led to example to demonstrate revert state detection --- examples/boot/application/nrf/src/bin/a.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'examples') diff --git a/examples/boot/application/nrf/src/bin/a.rs b/examples/boot/application/nrf/src/bin/a.rs index 851a3d721..60cf3cd1a 100644 --- a/examples/boot/application/nrf/src/bin/a.rs +++ b/examples/boot/application/nrf/src/bin/a.rs @@ -8,6 +8,7 @@ use embassy_executor::Spawner; use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; use embassy_nrf::nvmc::Nvmc; use embassy_nrf::wdt::{self, Watchdog}; +use embassy_boot::State; use embassy_sync::mutex::Mutex; use panic_reset as _; @@ -22,6 +23,7 @@ async fn main(_spawner: Spawner) { let mut button = Input::new(p.P0_11, Pull::Up); let mut led = Output::new(p.P0_13, Level::Low, OutputDrive::Standard); + let mut led_reverted = Output::new(p.P0_14, Level::High, OutputDrive::Standard); //let mut led = Output::new(p.P1_10, Level::Low, OutputDrive::Standard); //let mut button = Input::new(p.P1_02, Pull::Up); @@ -53,6 +55,13 @@ async fn main(_spawner: Spawner) { let config = FirmwareUpdaterConfig::from_linkerfile(&nvmc, &nvmc); let mut magic = [0; 4]; let mut updater = FirmwareUpdater::new(config, &mut magic); + let state = updater.get_state().await.unwrap(); + if state == State::Revert { + led_reverted.set_low(); + } else { + led_reverted.set_high(); + } + loop { led.set_low(); button.wait_for_any_edge().await; -- cgit From 4e1efd93fd4dc8dd692daf419d901ae22413e091 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Thu, 19 Sep 2024 09:15:55 +0200 Subject: Fix defmt support for example boot app --- examples/boot/application/nrf/build.rs | 3 +++ examples/boot/application/nrf/src/bin/a.rs | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/boot/application/nrf/build.rs b/examples/boot/application/nrf/build.rs index cd1a264c4..e1da69328 100644 --- a/examples/boot/application/nrf/build.rs +++ b/examples/boot/application/nrf/build.rs @@ -31,4 +31,7 @@ fn main() { println!("cargo:rustc-link-arg-bins=--nmagic"); println!("cargo:rustc-link-arg-bins=-Tlink.x"); + if env::var("CARGO_FEATURE_DEFMT").is_ok() { + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); + } } diff --git a/examples/boot/application/nrf/src/bin/a.rs b/examples/boot/application/nrf/src/bin/a.rs index 60cf3cd1a..2c1d1a7bb 100644 --- a/examples/boot/application/nrf/src/bin/a.rs +++ b/examples/boot/application/nrf/src/bin/a.rs @@ -2,13 +2,15 @@ #![no_main] #![macro_use] +#[cfg(feature = "defmt")] +use defmt_rtt as _; +use embassy_boot::State; use embassy_boot_nrf::{FirmwareUpdater, FirmwareUpdaterConfig}; use embassy_embedded_hal::adapter::BlockingAsync; use embassy_executor::Spawner; use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; use embassy_nrf::nvmc::Nvmc; use embassy_nrf::wdt::{self, Watchdog}; -use embassy_boot::State; use embassy_sync::mutex::Mutex; use panic_reset as _; -- cgit From 5ea934d4ba6f0bc0e5e47b16f17dd8e881b528a3 Mon Sep 17 00:00:00 2001 From: Gerhard de Clercq Date: Fri, 20 Sep 2024 09:57:31 +0200 Subject: embassy_stm32/eth: support compliance testing This change adds the possibility to perform compliance testing with STM32 systems by directly exposing SMI when needed. Users can then use this to configure PHY registers for test modes. --- examples/stm32f4/src/bin/eth_compliance_test.rs | 77 +++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 examples/stm32f4/src/bin/eth_compliance_test.rs (limited to 'examples') diff --git a/examples/stm32f4/src/bin/eth_compliance_test.rs b/examples/stm32f4/src/bin/eth_compliance_test.rs new file mode 100644 index 000000000..5946fed79 --- /dev/null +++ b/examples/stm32f4/src/bin/eth_compliance_test.rs @@ -0,0 +1,77 @@ +#![no_std] +#![no_main] + +use defmt::*; +use embassy_executor::Spawner; +use embassy_stm32::eth::generic_smi::GenericSMI; +use embassy_stm32::eth::{Ethernet, PacketQueue, StationManagement}; +use embassy_stm32::time::Hertz; +use embassy_stm32::{bind_interrupts, eth, peripherals, rng, Config}; +use embassy_time::Timer; +use static_cell::StaticCell; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + ETH => eth::InterruptHandler; + HASH_RNG => rng::InterruptHandler; +}); + +#[embassy_executor::main] +async fn main(_spawner: Spawner) -> ! { + let mut config = Config::default(); + { + use embassy_stm32::rcc::*; + config.rcc.hse = Some(Hse { + freq: Hertz(8_000_000), + mode: HseMode::Bypass, + }); + config.rcc.pll_src = PllSource::HSE; + config.rcc.pll = Some(Pll { + prediv: PllPreDiv::DIV4, + mul: PllMul::MUL180, + divp: Some(PllPDiv::DIV2), // 8mhz / 4 * 180 / 2 = 180Mhz. + divq: None, + divr: None, + }); + config.rcc.ahb_pre = AHBPrescaler::DIV1; + config.rcc.apb1_pre = APBPrescaler::DIV4; + config.rcc.apb2_pre = APBPrescaler::DIV2; + config.rcc.sys = Sysclk::PLL1_P; + } + let p = embassy_stm32::init(config); + + info!("Hello Compliance World!"); + + let mac_addr = [0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF]; + + const PHY_ADDR: u8 = 0; + static PACKETS: StaticCell> = StaticCell::new(); + let mut device = Ethernet::new( + PACKETS.init(PacketQueue::<4, 4>::new()), + p.ETH, + Irqs, + p.PA1, + p.PA2, + p.PC1, + p.PA7, + p.PC4, + p.PC5, + p.PG13, + p.PB13, + p.PG11, + GenericSMI::new(PHY_ADDR), + mac_addr, + ); + + let sm = unsafe { device.station_management() }; + + // Just an example. Exact register settings depend on the specific PHY and test. + sm.smi_write(PHY_ADDR, 0, 0x2100); + sm.smi_write(PHY_ADDR, 11, 0xA000); + + // NB: Remember to reset the PHY after testing before starting the networking stack + + loop { + Timer::after_secs(1).await; + } +} -- cgit From 2f60d78ea318f51ff59868c348b77cf880012198 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sun, 15 Sep 2024 02:44:16 +0200 Subject: Add OTG_HS support for STM32H7R/S --- examples/stm32h7rs/src/bin/usb_serial.rs | 139 +++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 examples/stm32h7rs/src/bin/usb_serial.rs (limited to 'examples') diff --git a/examples/stm32h7rs/src/bin/usb_serial.rs b/examples/stm32h7rs/src/bin/usb_serial.rs new file mode 100644 index 000000000..5a234e898 --- /dev/null +++ b/examples/stm32h7rs/src/bin/usb_serial.rs @@ -0,0 +1,139 @@ +#![no_std] +#![no_main] + +use defmt::{panic, *}; +use embassy_executor::Spawner; +use embassy_futures::join::join; +use embassy_stm32::time::Hertz; +use embassy_stm32::usb::{Driver, Instance}; +use embassy_stm32::{bind_interrupts, peripherals, usb, Config}; +use embassy_usb::class::cdc_acm::{CdcAcmClass, State}; +use embassy_usb::driver::EndpointError; +use embassy_usb::Builder; +use {defmt_rtt as _, panic_probe as _}; + +bind_interrupts!(struct Irqs { + OTG_HS => usb::InterruptHandler; +}); + +// If you are trying this and your USB device doesn't connect, the most +// common issues are the RCC config and vbus_detection +// +// See https://embassy.dev/book/#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure +// for more information. +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + info!("Hello World!"); + + let mut config = Config::default(); + + { + use embassy_stm32::rcc::*; + config.rcc.hse = Some(Hse { + freq: Hertz(24_000_000), + mode: HseMode::Oscillator, + }); + config.rcc.pll1 = Some(Pll { + source: PllSource::HSE, + prediv: PllPreDiv::DIV12, + mul: PllMul::MUL300, + divp: Some(PllDiv::DIV1), //600 MHz + divq: Some(PllDiv::DIV2), // 300 MHz + divr: Some(PllDiv::DIV2), // 300 MHz + }); + config.rcc.sys = Sysclk::PLL1_P; // 600 MHz + config.rcc.ahb_pre = AHBPrescaler::DIV2; // 300 MHz + config.rcc.apb1_pre = APBPrescaler::DIV2; // 150 MHz + config.rcc.apb2_pre = APBPrescaler::DIV2; // 150 MHz + config.rcc.apb4_pre = APBPrescaler::DIV2; // 150 MHz + config.rcc.apb5_pre = APBPrescaler::DIV2; // 150 MHz + config.rcc.voltage_scale = VoltageScale::HIGH; + } + + let p = embassy_stm32::init(config); + + // Create the driver, from the HAL. + let mut ep_out_buffer = [0u8; 256]; + let mut config = embassy_stm32::usb::Config::default(); + + // Do not enable vbus_detection. This is a safe default that works in all boards. + // However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need + // to enable vbus_detection to comply with the USB spec. If you enable it, the board + // has to support it or USB won't work at all. See docs on `vbus_detection` for details. + config.vbus_detection = false; + + let driver = Driver::new_hs(p.USB_OTG_HS, Irqs, p.PM6, p.PM5, &mut ep_out_buffer, config); + + // Create embassy-usb Config + let mut config = embassy_usb::Config::new(0xc0de, 0xcafe); + config.manufacturer = Some("Embassy"); + config.product = Some("USB-serial example"); + config.serial_number = Some("12345678"); + // Required for windows compatibility. + // https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_CDC_ACM_IAD.html#help + config.device_class = 0xEF; + config.device_sub_class = 0x02; + config.device_protocol = 0x01; + config.composite_with_iads = true; + + // Create embassy-usb DeviceBuilder using the driver and config. + // It needs some buffers for building the descriptors. + let mut config_descriptor = [0; 256]; + let mut bos_descriptor = [0; 256]; + let mut control_buf = [0; 64]; + + let mut state = State::new(); + + let mut builder = Builder::new( + driver, + config, + &mut config_descriptor, + &mut bos_descriptor, + &mut [], // no msos descriptors + &mut control_buf, + ); + + // Create classes on the builder. + let mut class = CdcAcmClass::new(&mut builder, &mut state, 64); + + // Build the builder. + let mut usb = builder.build(); + + // Run the USB device. + let usb_fut = usb.run(); + + // Do stuff with the class! + let echo_fut = async { + loop { + class.wait_connection().await; + info!("Connected"); + let _ = echo(&mut class).await; + info!("Disconnected"); + } + }; + + // Run everything concurrently. + // If we had made everything `'static` above instead, we could do this using separate tasks instead. + join(usb_fut, echo_fut).await; +} + +struct Disconnected {} + +impl From for Disconnected { + fn from(val: EndpointError) -> Self { + match val { + EndpointError::BufferOverflow => panic!("Buffer overflow"), + EndpointError::Disabled => Disconnected {}, + } + } +} + +async fn echo<'d, T: Instance + 'd>(class: &mut CdcAcmClass<'d, Driver<'d, T>>) -> Result<(), Disconnected> { + let mut buf = [0; 64]; + loop { + let n = class.read_packet(&mut buf).await?; + let data = &buf[..n]; + info!("data: {:x}", data); + class.write_packet(data).await?; + } +} -- cgit From 6d9af8304cf88dbfa3713acfef4d89ba3a95c2d8 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sun, 15 Sep 2024 20:09:42 +0200 Subject: Add USBPHYC clock configuration for H7RS series --- examples/stm32h7rs/src/bin/usb_serial.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'examples') diff --git a/examples/stm32h7rs/src/bin/usb_serial.rs b/examples/stm32h7rs/src/bin/usb_serial.rs index 5a234e898..6773f7843 100644 --- a/examples/stm32h7rs/src/bin/usb_serial.rs +++ b/examples/stm32h7rs/src/bin/usb_serial.rs @@ -48,6 +48,7 @@ async fn main(_spawner: Spawner) { config.rcc.apb4_pre = APBPrescaler::DIV2; // 150 MHz config.rcc.apb5_pre = APBPrescaler::DIV2; // 150 MHz config.rcc.voltage_scale = VoltageScale::HIGH; + config.rcc.mux.usbphycsel = mux::Usbphycsel::HSE; } let p = embassy_stm32::init(config); -- cgit